arthur/docs
Your Name 5ebe776ce4 A lane is a generic row of symbol clips
A lane was a drawing lane: the only thing that could go in one was a one-frame
held cel, and every other symbol instance stayed a permanent root row of its
own. Those are not two kinds of timing, they are one kind with two creation
policies. `lane/place-symbol` drops any library symbol in as a clip that plays
naturally at speed one, `lane/adopt` moves an instance that is already in the
document into a lane keeping its source, span, playback and corrections, and
`append-drawing`/`overwrite-drawing` keep being the policy that makes a new
empty symbol a one-frame hold. The child shape they produce is the same.

Both new commands claim their interval through `blank` before they write, so
the partition rule is unchanged and unduplicated: placing into occupied lane
time trims, removes or splits the incumbents, and a lane still never stores an
overlap. Real compositing overlap is another lane, where the order is explicit.

Creating a symbol with nothing aimed now makes a lane and a clip in it instead
of a loose root instance, and a pool drop prefers an explicitly targeted lane,
then the selected one, and makes a lane only when there is neither. That is
what stops the row-per-symbol growth coming back in through the drop path, and
it is why `add-lane` now takes a z in front of the existing root nodes and
calls what it makes a "lane" rather than "drawings".

The timeline learned the two gestures that a generic lane needs. A clip body
dragged over another lane's track previews there as a dashed block and lands
through `::adopt-in-lane`; the track is found with `elementsFromPoint` and its
selection read back off the element, because a pointer capture does not
retarget. A pool drop over an existing lane previews as a dashed clip inside
that lane instead of a temporary new row that appears and then vanishes --
which also needed the drag-leave check to be geometric, since inserting the
preview changes the element under the pointer and Chromium then reports a leave
with no related target. Lanes are renameable from their label, by double-click,
F2, or the pencil, through `::rename-node`.

`symbol/lane-cels` is `symbol/lane-clips`, and the vocabulary table in the
handoff now separates the two words it had merged: a clip is an instance in a
lane, and a cel is specifically the one-frame held source that drawing creation
makes. Keeping `cel` for the policy is what lets the lane stop being about
drawings at all.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-10-01 15:13:07 -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 A lane is a generic row of symbol clips 2026-10-01 15:13:07 -04:00
lane-model.md A lane is a generic row of symbol clips 2026-10-01 15:13:07 -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