COB-exact: timeline 1:1 from armspy.cob (activatescr/deactivatescr, disassembled with _cob_dis.py). StateChg staged-deploy family: 1 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 / 440.00 s
COB timeline (ARMSPY.COB)
- 0.00–0.40 s — Closed rest pose (3DO zero point)
- 0.40–1.19 s — activatescr stage 1: buttguard z-move 0.00 elmo→-1.15 elmo, hood z-move 0.00 elmo→1.65 elmo, buttguard x-turn 0.0°→-40.7°, hood x-turn 0.0°→41.4°
- 2.39–2.97 s — deactivatescr stage 1: buttguard z-move -1.15 elmo→0.00 elmo, hood z-move 1.65 elmo→0.00 elmo, buttguard x-turn -40.7°→0.0°, hood x-turn 41.4°→0.0°
- 2.97–3.57 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).