Videos: a recording leaves out the wait for a video (#417)

The pages follow the last round of fixes for the first frames of a
composition's video.

- Videos: a followed player starts at 1x until its first reading.
- Videos: a recording takes no frame while the game view leaves a
  video sprite out, so Start recording after Play composition
  begins with the composition's first picture.
- Compositions: the clock also waits while a clip seeks to its
  start, and a recording takes no frame meanwhile.
- Development: 2038 editor checks, as in the README.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
adminandClaude Opus 5.5 committed 2026-10-12 11:38:38 +02:00
1 parent 1da70eb960
commit 440c0e4428
3 files changed
+14 -5

No files matched your search

+5 -3
@@ -120,9 +120,11 @@ it picks the placement, its items cannot be picked one by one there.
- **Videos are opened ahead.** The video of an item that begins within the next second is opened
before, held at its first picture, unseen, so a cut from one video to the next shows no empty
frame. With Loop the items at the start are opened near the end. The tab does the same.
- **It waits for its videos.** While the game view leaves out a video of one of its live items
because the picture is not there yet, the composition's clock stands, for at most 3 s at a time.
The rest of the game runs on. The Composition tab holds its playhead the same way.
- **It waits for its videos.** While the game view does not show a video of one of its live items
because the picture is not there yet — the player still loads, or, for a clip that starts later,
still seeks to it — the composition's clock stands, for at most 3 s at a time.
The rest of the game runs on. The Composition tab holds its playhead the same way. A recording
takes no frame meanwhile (see [Videos](Videos#recording-the-game-view)).
- **The editor run plays none** (*Run in editor*): it writes into the saved project, and the items
would stay there. `Play composition` says so in the log there.
+1 -1
@@ -21,7 +21,7 @@ php tests/php/releases.test.php # the release stor
php tests/php/files.test.php # uploaded files in a folder per account (#344), the same way
php tests/php/videos.test.php # the video store, its queue and the worker (#402), with the
# real ffmpeg: the CI image and game-maker-video have it
node tools/seed-e2e.mjs && node tools/e2e.mjs # 2036 editor checks, screenshots in /tmp/gm-e2e-*.png
node tools/seed-e2e.mjs && node tools/e2e.mjs # 2038 editor checks, screenshots in /tmp/gm-e2e-*.png
GM_STEPS=20 node tools/e2e.mjs # or 1-12, or 6,20 — a subset while working on one step
./e2e.sh start [GM_STEPS] # the same run detached, see below
./e2e.sh status # live progress, or the last run's result
+8 -1
@@ -127,7 +127,9 @@ shader's parameters. Or one sprite whose Texture is keyed from clip to clip.
- **The speed is read over up to 0.5 s:** a game steps its time in 1/60 s, and over a shorter
window one step more or less read as 17 % off, so the video was nudged and fell quiet in turn.
The first reading comes after 0.1 s, a time that stands for 0.1 s stands, and a start is
measured from where the time began to move.
measured from where the time began to move. Until that first reading a start plays at 1x: held
and sought frame by frame, the first pictures of a cut stuck and were then skipped. A step faster
than 4x is a jump, not a start.
- **Heard** only at about 1x (0.9x to 1.1x); a still, scrubbing, slow and fast motion are quiet.
- **Exact while it runs live in the browser**, as far as Chrome keeps up: a picture that comes too
late leaves the one before it on screen. To have a cut as a file, record the game view while it
@@ -171,6 +173,11 @@ Two action nodes record what the game view shows, with what the master plays (#4
- **It goes on** through `Load scene` and `Restart game`. The editor's pause holds it and leaves the
paused time out; a game that pauses itself is still seen, so that is recorded. Another tab in
front of the Game tab does not stop it. Ending the run (Esc, `Stop game`) saves it.
- **It leaves out the wait for a video.** While the game view leaves a video sprite out because its
picture is not there yet, no frame is taken, the recorded time stands and the sound of that
time is left out too, for at most 3 s at a time. A `Start recording` right after
`Play composition` therefore begins with the composition's first picture, not with the empty
frames while its video loads.
- **One at a time:** a second `Start recording` while one records is ignored and says so in the
log, and so does a `Stop recording` with none. In the editor run (*Run in editor*) the nodes only
write to the log.