arthur/docs
Your Name d029908f0b A held cel is a one-frame symbol that loops
Holding a drawing and looping a one-frame symbol are the same picture, and the
second is a case the model already carries, so the first is a special case
kept for nothing. Speed 0 goes; a cel becomes a one-frame symbol with
`:end :loop` and a span. Looping and span are already properties of the
instance and `:frames` already belongs to the symbol, so nothing moves — a
mode is deleted. Two spellings of looping collapse to one, `:time :loop?`
giving way to `:playback :end :loop`, and `extend-hold` collapses into
`resize-out`, since it exists only to refuse anything that is not frozen
before editing a span.

What it buys is one rule where there were three refusals. `nest/inside` has no
invertible clock for a hold, for `:end :hold`, or for a loop, so
shift-to-reparent refuses all three — which is most of what anybody would drag
onto. Resolving the move with the destination's map at the CURRENT frame
covers every one: a loop is affine within the period the frame falls in, a
one-frame loop is that rule with a period of one — which lands exactly where
the nesting notes argued it should from first principles — and `:end :hold` is
affine in the played part and frozen in the tail.

The trap is written down beside it, because it would be found the hard way:
`audio-tracks` expands a loop into one walk per period, and is saved today
only by the `(pos? speed)` guard that a held cel fails. Make every drawing a
loop and a drawing held for 120 frames becomes 120 walks emitting any nested
sound 120 times. An audibility precheck has to land in the same change.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-10-01 16:31:06 -04:00
..
animation-model.md The face owns its placement, not the take that holds it 2026-10-01 01:25:37 -04:00
architecture.md grand unification of time 2026-10-01 01:47:08 -04:00
correction-authoring-plan.md Unify cel editing in the timeline 2026-10-01 14:37:59 -04:00
design.md Brows: traced ring, quantised raise 2026-09-24 18:11:25 -04:00
frame-selection.md The snap is per group, and the slot interval has to reach it 2026-10-01 10:21:35 -04:00
lane-handoff.md The timeline opens the whole document 2026-10-01 16:13:02 -04:00
lane-is-a-view-plan.md A held cel is a one-frame symbol that loops 2026-10-01 16:31:06 -04:00
lane-model.md A lane is a generic row of symbol clips 2026-10-01 15:13:07 -04:00
lane-nesting-notes.md The timeline opens the whole document 2026-10-01 16:13:02 -04:00
multi-face-representation.md An occurrence is a node, with a clock of its own 2026-09-30 15:20:23 -04:00
port-plan.md The face owns its placement, not the take that holds it 2026-10-01 01:25:37 -04:00
time.md The snap reads back into the slot's own gap, per pose group 2026-10-01 11:34:43 -04:00
timing-handoff.md Symbols, not timelines; no symbol is special 2026-09-29 12:46:42 -04:00
timing-model.md grand unification of time 2026-10-01 01:47:08 -04:00