The rows of the animation timeline stood in the order they were keyed.
With several objects and properties the list was hard to read, and a
value could only be changed by picking a key and using the inspector.
The Play button also kept saying Pause after scrubbing had paused.
- Each object gets a header row with its name, indented by depth. The
groups follow the scene hierarchy, the root first. Rows whose object
is missing go to the end.
- Under an object the rows follow the order in which it lists its
properties: X, Y, Z, then the order of the inspector. Only the view
is sorted, the animation itself is unchanged and there is no undo
step. After a move in the hierarchy the order is right by itself.
- The row head shows the same field as the inspector with the value at
the playhead. Without keys it shows the value of the object, for a
relative row the offset.
- A change in that field sets or changes the key at the playhead,
selects it and is one undo step. A running playback pauses first.
- The Play/Pause button follows every change of the playing state, so
scrubbing that pauses shows Play again.
Tests:
- Unit animation + timeline-view: 100 passed, 3 new.
- e2e 25 on melektaus-atx: ALL PASSED, 34 checks, 3 new (groups,
order and values at frame 4, a typed 55 becomes a selected key on
frame 4, Play then a click on the ruler shows Play and pauses).
- Gate on melektaus-atx: exit 0, 297 files, 4561 tests.
- tsc, eslint, Prettier clean.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
To play a clip at its real speed the user had to know its length,
work out the last whole frame by hand and then scroll far to the
right to set the end key. The timeline now does the sum, and it
zooms out far enough to see a long clip in one piece.
- The context menu of a Video time row gets "Video at 1x to its end
from frame N". It keys the playhead with the row's value there and
the last whole frame before the clip ends with the matching time.
- The start key turns linear and keys in between are removed. The
whole run is one undo step (KeyStraightRunCommand).
- The clip is the one the sprite wears at the playhead, also when
the texture is keyed in the same animation (rowVideoAt).
- The entry is greyed out for relative rows, without a video, while
the length is unknown, or when the playhead is already at the end.
- The status line names the result, e.g. "frame 572 shows 57.2 s of
57.27 s".
- The timeline zooms out to 0.02 px per frame instead of 4 px. The
ruler labels follow a 1-2-5 step without an upper limit.
Tests:
- Unit video-clock + timeline-view: 27 tests green, 8 new
- e2e 66 (atx, alone): ALL PASSED, 23 checks, 66l new
- Gate (atx): CHECK EXIT 0, 297 files, 4553 tests
- Counter-check: the command keeping the keys in between turns
exactly the command test red
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>