From 440c0e442811395f4a4f82904741729eab9b7ab0 Mon Sep 17 00:00:00 2001 From: MelekTaus Date: Mon, 12 Oct 2026 11:38:38 +0200 Subject: [PATCH] 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 --- Compositions.md | 8 +++++--- Development.md | 2 +- Videos.md | 9 ++++++++- 3 files changed, 14 insertions(+), 5 deletions(-) diff --git a/Compositions.md b/Compositions.md index 69f6783..dd789ad 100644 --- a/Compositions.md +++ b/Compositions.md @@ -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. diff --git a/Development.md b/Development.md index 4f8d8d4..7a6a0e7 100644 --- a/Development.md +++ b/Development.md @@ -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 diff --git a/Videos.md b/Videos.md index 69d9734..902136a 100644 --- a/Videos.md +++ b/Videos.md @@ -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.