Files
hyperframes/packages
Miguel Ángel 5fc8766731 fix(shader-transitions): a paused preview keeps the runtime's scene visibility (#4522)
* fix(shader-transitions): a paused preview keeps the runtime's scene visibility

After the transition prewarm, a paused preview showed a shader scene
outside its window (a scene with a background covered the film until the
next seek). The prewarm's seeks fired HyperShader's transition callbacks,
which showed both scenes, and its teardown restored a stale visibility
snapshot. The callbacks now skip while prewarming (the prewarm ends after
its restore seek), the snapshot no longer includes visibility, and the
settled state outside a transition only resets opacity.

* fix(shader-transitions): the native scene capture draws a hidden scene visible

The html-in-canvas capture copied the live scene with its inline styles and
ignored forceVisible, so a scene the runtime had hidden captured blank once
the prewarm stopped firing the transition callbacks. It now shows the copy
and its timed clips the way the html2canvas path does. The preview test hides
the scenes after the prewarm has taken its style snapshot, and the end
callback guard and a dead prewarming check are gone.

* test(shader-transitions): drop an unused scene and a timing note the markup does not set

* fix(shader-transitions): transitions leave scene visibility to the runtime

A transition now hides scenes outside its pair with opacity only, so a scene
without timing attributes is not left hidden after a seek that skips events.
The prewarm clears its flag in a finally, so a timeline callback that throws
during the restore seek no longer stops every later seek. The preview test
also checks that the prewarm ran.

* fix(shader-transitions): the prewarm finishes when a callback throws while it restores

A timeline callback that throws during the restore seek is warned about and
the prewarm goes on to repaint, resume and fire its ready event, the way a
failed capture already does.
2026-09-26 05:33:57 +00:00
..
2026-09-25 22:58:59 -04:00
2026-09-25 22:58:59 -04:00
2026-09-25 22:58:59 -04:00