Live preview (JavaScript)
The loop is played live in your browser from the validated loop table (the same data the reference render below was made from); the badge on the player is its self-test (seam + motion probes). The pre-rendered reference follows.
COB-exact: timeline 1:1 from ARMAUP.cob (activatescr/deactivatescr, disassembled with _cob_dis.py). StateChg staged-deploy family: 4 open stages, then the compiled close order — not a reversed activate. Fire/hit/death/smoke scripts are engine-driven or firing-only and not part of this loop.
Animation

PNG frames

Frame 0 / 2930.00 s
COB timeline (ARMAUP.COB)
- 0.00–0.40 s — Closed rest pose (3DO zero point)
- 0.40–2.90 s — Activatescr stage 1: roof1 z-move 0.00 elmo→-3.00 elmo, roof2 x-move 0.00 elmo→3.00 elmo, roof3 z-move 0.00 elmo→-3.00 elmo, roof4 x-move 0.00 elmo→-3.00 elmo …
- 2.90–4.90 s — Activatescr stage 2: TLcorner z-move 0.00 elmo→-10.00 elmo, TLcorner x-move 0.00 elmo→10.00 elmo, TRcorner z-move 0.00 elmo→-10.00 elmo, TRcorner x-move 0.00 elmo→-10.00 elmo …
- 4.90–5.65 s — Activatescr stage 3: nanobase1 y-turn 0.0°→-45.0°, nanobase2 y-turn 0.0°→-45.0°, nanobase3 y-turn 0.0°→-45.0°, nanobase4 y-turn 0.0°→-45.0° …
- 5.65–9.90 s — Activatescr stage 4: arm1a y-move -2.00 elmo→0.00 elmo, arm1b y-move -2.00 elmo→0.00 elmo, arm2a y-move -2.00 elmo→0.00 elmo, arm2b y-move -2.00 elmo→0.00 elmo …
- 11.10–14.85 s — Deactivatescr stage 1: arm1b z-turn 45.0°→0.0°, arm2b x-turn -45.0°→0.0°, arm3b x-turn 45.0°→0.0°, arm4b z-turn -45.0°→0.0° …
- 14.85–16.10 s — Deactivatescr stage 2: arm1a y-move 0.00 elmo→-2.00 elmo, arm1b y-move 0.00 elmo→-2.00 elmo, arm2a y-move 0.00 elmo→-2.00 elmo, arm2b y-move 0.00 elmo→-2.00 elmo …
- 16.10–16.85 s — Deactivatescr stage 3: nanobase1 y-turn -45.0°→0.0°, nanobase2 y-turn -45.0°→0.0°, nanobase3 y-turn -45.0°→0.0°, nanobase4 y-turn -45.0°→0.0° …
- 16.85–18.85 s — Deactivatescr stage 4: TLcorner z-move -10.00 elmo→0.00 elmo, TLcorner x-move 10.00 elmo→0.00 elmo, TRcorner z-move -10.00 elmo→0.00 elmo, TRcorner x-move -10.00 elmo→0.00 elmo …
- 18.85–22.85 s — Deactivatescr stage 5: roof1 z-move -3.00 elmo→0.00 elmo, roof2 x-move 3.00 elmo→0.00 elmo, roof3 z-move -3.00 elmo→0.00 elmo, roof4 x-move -3.00 elmo→0.00 elmo …
- 22.85–23.45 s — closed again — loop restarts (fire/hit/death scripts are engine-driven, not in this loop)
Every stage duration equals its COB sleep exactly; values are raw COB units (turns: BAM 65536 = 360°, moves: elmo × 163840). Renderer conversions follow the proven family conventions (_cob_anim.py).