Files
Vance Ingalls 35d29e58b0 fix(slideshow): make slide holds deterministic (no auto-progress)
playTo() played the player and relied on being paused at holdAt = target + 0.2s
(~6 frames). If a timeupdate was coarse or missed, playback overran the hold —
sometimes into the next fragment/scene, the intermittent auto-progress.

Bound the repaint to a single frame instead: seek to the exact target, play, and
pause on the FIRST timeupdate at/after the target. timeupdate only fires from the
playback clock (never on seek), so the first tick is a genuine painted frame —
one tick forces a repaint but can't overrun. Pause before the change handlers so
no second tick advances the playhead.

Verified headless: slide holds with currentTime stable over 6s; every next
lands and holds (1→2 frag0→2 frag1→3), no drift. 106 player tests pass.
2026-06-19 11:02:59 -07:00
..
2026-06-19 00:35:41 -07:00
2026-06-19 00:35:41 -07:00
2026-06-19 00:35:41 -07:00
2026-06-19 00:35:41 -07:00
2026-06-16 13:16:09 -04:00