COB-exact: timeline 1:1 from armvp.cob (activatescr/deactivatescr, disassembled with _cob_dis.py). StateChg staged-deploy family: 5 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 / 890.00 s
COB timeline (ARMVP.COB)
- 0.00–0.40 s — Closed rest pose (3DO zero point)
- 0.40–1.17 s — activatescr stage 1: side1 z-turn 0.0°→-89.5°, side2 z-turn 0.0°→89.5°
- 1.17–1.59 s — activatescr stage 2: doo2 z-turn 0.0°→90.0°, door1 z-turn 0.0°→-90.4°
- 1.59–2.02 s — activatescr stage 3: doo2 x-move 0.00 elmo→-7.00 elmo, door1 x-move 0.00 elmo→7.10 elmo
- 2.02–2.45 s — activatescr stage 4: plate2 x-move 0.00 elmo→5.85 elmo, plate1 x-move 0.00 elmo→-6.50 elmo
- 2.45–2.90 s — activatescr stage 5: nano2 z-turn 0.0°→-37.3°, nano1 z-turn 0.0°→41.8°
- 4.10–4.52 s — deactivatescr stage 1: nano2 z-turn -37.3°→0.0°, nano1 z-turn 41.8°→0.0°
- 4.52–4.95 s — deactivatescr stage 2: plate2 x-move 5.85 elmo→0.00 elmo, plate1 x-move -6.50 elmo→0.00 elmo
- 4.95–5.37 s — deactivatescr stage 3: doo2 x-move -7.00 elmo→0.00 elmo, door1 x-move 7.10 elmo→0.00 elmo
- 5.37–5.80 s — deactivatescr stage 4: doo2 z-turn 90.0°→0.0°, door1 z-turn -90.4°→0.0°
- 5.80–6.56 s — deactivatescr stage 5: side1 z-turn -89.5°→0.0°, side2 z-turn 89.5°→0.0°
- 6.56–7.16 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).