A cut between two videos flashed white: the sprite switched on had
no picture yet, because its player only opened then or had been
dropped meanwhile. A driven video now waits muted at its time while
its sprite is off, in the editor and in a run.
- A disabled sprite with Video clock Driven asks for its player
without drawing it. A Free video still opens when shown.
- A run's draw list keeps disabled driven sprites, marked as off.
Before, collectWorldItems dropped every disabled object, so the
game view never held a player for them.
- VideoLibrary.wear() counts as asking. The sweeper dropped a held
player after 2 to 4 s and it was loading again at the cut.
- The speed of the asked time is read over a window that grows to
500 ms. Over 100 ms one 1/60 s step more or less read as 17 % off,
the playback rate jumped and the sound dropped out.
- A stream feeds every packet it has loaded to the decoder at once
and waits once. One round trip per 20 ms packet let the decoder
fall behind on a busy main thread, which made e2e 34 flaky in CI.
Tests:
- Unit streaming, video-library, video-follow: green, 4 new
- e2e 34 + 66 (atx): ALL PASSED, stream skipped 0, 66m new
- e2e 66 (atx), two runs: ALL PASSED, 25 checks, 66n new
- Gate (atx): CHECK EXIT 0, 297 files, 4557 tests
- Counter-checks: without the draw list fix 66n finds no player,
without the wear() fix and with the old speed reading the new
unit tests turn red
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>