mirror of
https://github.com/heygen-com/hyperframes.git
synced 2026-10-30 17:27:09 +00:00
* fix(studio): restore the timeline overscan budget * test(studio): align window witnesses with the restored budget * fix(studio): publish the viewport when a zoom anchor lands * fix(studio): publish the viewport when a zoom-out ends at its laid-out scale An eased zoom-out that ends at the scale already laid out only moves the scroll position, so the timeline drew from the old position until the next scroll event. The zoom input now publishes that scroll through the same callback the zoom anchor uses. * fix(studio): a pan at the laid-out scale publishes its scroll before paint The same-scale ending of a zoom ran outside React, so its scroll publish rendered on the next task, after the browser painted the old window. It now flushes like the scale change beside it, and its test pans at the laid-out scale instead of changing it. * test(studio): a same-scale pan must render its scroll before paint Reads the render window outside act, so unwrapping the flush fails it, and records each published scroll at call time instead of reading the live element afterwards.