From b14b657f4b3852a9e51de23e6de28f98a56cdf71 Mon Sep 17 00:00:00 2001 From: MelekTaus Date: Sun, 11 Oct 2026 14:51:38 +0200 Subject: [PATCH] Videos, Animations: key a video to its end at 1x, zoom out more (#407) - Videos: the context menu entry "Video at 1x to its end from frame N" and what it keys. - Animations: the entry in the context menu, and the wheel zooms out to 50 frames a pixel. - Development: 2000 checks. Co-Authored-By: Claude Opus 5.5 --- Animations.md | 6 ++++-- Development.md | 2 +- Videos.md | 9 +++++++++ 3 files changed, 14 insertions(+), 3 deletions(-) diff --git a/Animations.md b/Animations.md index bbeb758..483b5c1 100644 --- a/Animations.md +++ b/Animations.md @@ -114,8 +114,10 @@ out. A pasted key replaces one on its frame. **Right-click** the timeline for *C *Insert frames…* and *Remove frames…*: both ask for a count and work at the playhead over every row — inserting moves every key from the playhead's frame on later, removing drops the keys in the removed frames and pulls the rest earlier. Each is one undo step. The same menu has -*Delete row* for the row under the pointer; right-clicking a row's header also picks that row. Click or drag the ruler to scrub. The wheel zooms the -frames about the pointer, `Shift`+wheel scrolls, the middle button (or `Shift`+drag) pans. Rows are not collapsed or reordered. +*Delete row* for the row under the pointer; right-clicking a row's header also picks that row. On a +*Video time* row it also offers to key the video at 1x to its end (see [Videos](Videos)). Click or drag the ruler to scrub. The wheel zooms the +frames about the pointer, from 48 pixels a frame out to 50 frames a pixel, so an hour at 30 fps +fits a screen (#407). `Shift`+wheel scrolls, the middle button (or `Shift`+drag) pans. Rows are not collapsed or reordered. **Play, stop, pause.** `Play animation` starts an animation on an object (both are ports: the object as any action takes it, the animation from an *Animation* literal, a list item tagged diff --git a/Development.md b/Development.md index 477f990..d925ae7 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 # 1999 editor checks, screenshots in /tmp/gm-e2e-*.png +node tools/seed-e2e.mjs && node tools/e2e.mjs # 2000 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 11c7ec6..4c3a9f6 100644 --- a/Videos.md +++ b/Videos.md @@ -97,6 +97,15 @@ What the keys on Video time do: | a flatter or a steeper line | slow motion or fast motion | | an easing or a curve | ramps | +**1x to the end without arithmetic.** Right-click the timeline on the Video time row and pick +*Video at 1x to its end from frame N* (#407). From the playhead, with the value the row has there +(0 on an empty row), it keys the last whole frame before the clip ends: a 57.27 s clip at 10 fps +from frame 0 ends on frame 572 at 57.2 s, the rest of a frame is left out. The first key turns +linear, keys between the two go, and it is one undo step. The clip is the one the sprite wears at +the playhead, a keyed Texture included. The entry is greyed out on a relative row, without a video, +while the video's length is not known yet, or when the playhead already stands at the end. A +notice names the frame, the time and the clip's length. + Past the end of its clip the time goes round with Loop and holds the last picture without; before 0 it shows the first one. A cut is then: clip A and clip B each on a sprite, **Enabled** keyed to switch between them, Video time keyed on each, texts above, transitions over Alpha, Color or a