Choreography

ScoreCH-017×017

Sequence04 movements

EngineANIME.JS / V4

Punch-card choreography consoleSystem ready

289 dot ensemble

I

Assemble

time stagger · center-out grid

0 ABS
II

Cross

value stagger · x/y axis

LABEL
III

Canon

overlap · staggered entries

+= / -=
IV

Release

roll call · final unison

< / <<

Position register / live score grammar

ABS0 → exact timeline origin
REL+=220 / -=120 → offset the last edge
EDGE< previous end / << previous start
LBL“III · CANON” → named cue position

Conductor transport / master score

Reduced motion · final stateReady to conduct
01 Assemble
02 Cross
03 Canon
04 Release
00:00.000/00:00.000

Space play/pause   seek ±250ms   R restart   HomeEnd score limits

Exhibit A

Canon / delayed imitation

<previous end
<<previous start
-=260260 ms overlap

CANON: one motif, three entrances. Only the timeline position operator changes: <, <<, or -=260.

Exhibit B

Roll Call / value order

ROLL CALL: 01—17 enter as separate timeline children. stagger(45, { start: 'IV · RELEASE-=100' }) supplies each child’s timeline position—not its delay.

01 / TIME + GRIDdelay: stagger(16,
{ grid: [17,17],
from: 'center' })

289 cues radiate from one central count.

02 / VALUE + AXIStranslateX: stagger([-9,9],
{ grid, axis: 'x' })

A property receives distributed values, not delays.

03 / POSITIONstagger(85,
{ start: 'III · CANON-=120' })

The stagger function itself becomes a timeline position.

04 / LABELS + EDGES.label('IV · RELEASE','+=260')
.add(target, cue, '<<')

Named movements and edge shorthands lock the score.