Long animations with many objects fill the timeline with rows. A group per object can now fold away, and its header row still shows where the group has keys, so they stay reachable while folded. - A click on an object header or its triangle folds the group. The groups of the objects below it fold along. - Which groups fold along follows the real parent in the hierarchy, not the indent. The root shows at the level of its children, so folding it hides only its own rows. - Every header shows a summary diamond on each frame where a row of the group or of a group below has a key. Click selects all those keys, drag moves them, Ctrl+drag duplicates, a band catches them and Delete removes them, each through the existing commands. - The fold state is a view of the session per animation. It is no undo step and is not saved. - Selecting a row without keys inside a folded group unfolds it, so a fresh row from + Row does not stay hidden. - The fold rules live in the new timelineFold.ts. keyAt became keysAt, which returns every key behind a summary diamond. Found on the way: the triangle moved the object name to x 22 while its rows stayed at x 20, left of the name (#408 check in e2e 25). Rows now sit one step behind the name, as in the hierarchy. Tests: - Unit animation + timeline-view 114/114, 6 new - 6 counter-checks, all red in the matching test - e2e 25 (atx) ALL PASSED, 41 checks, 4 new (25k) - Gate (atx) CHECK EXIT 0, 324 files, 5008 tests Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>