mirror of
https://github.com/OrcaSlicer/OrcaSlicer.git
synced 2026-10-14 19:31:14 +00:00
The animations crawled when left alone and raced while the mouse moved. They were timed by ImGui::GetTime(), and nothing in OrcaSlicer ever sets io.DeltaTime, so it keeps imgui's default of 1/60 per frame: imgui's clock counts frames, not seconds. On a canvas that renders only when something asks it to, that is not a clock. Playback now reads a steady_clock, so a frame is due when it is due whatever the canvas is doing. An animation also restarts when its tooltip opens again, not only when a different one opens: a gap in the frames it was drawn on is what that looks like from here. Tooltips now wait for the pointer to rest on a control for 0.45 s. The panel is dense and a tooltip lands on the model beside it, so with no wait a sweep from the top of the panel down to Bake flashed a dozen large panels over the scene. After one has just been up the wait drops to 0.1 s for 0.7 s, so reading several settings in a row stays quick - but not to zero, or that same sweep would flash again once one tooltip had been seen. A pointer resting on a control produces no events, so the wait asks for the frame it will appear on itself.