COB-exact: timeline 1:1 from corcv.cob (activatescr/deactivatescr, disassembled with _cob_dis.py). StateChg staged-deploy family: 3 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 / 670.00 s
COB timeline (CORCV.COB)
- 0.00–0.40 s — Closed rest pose (3DO zero point)
- 0.40–0.90 s — activatescr stage 1: door1 z-turn 0.0°→-95.0°, door2 z-turn 0.0°→95.0°
- 0.90–1.40 s — activatescr stage 2: door1 z-turn -95.0°→-191.6°, door2 z-turn 95.0°→192.8°
- 1.40–2.00 s — activatescr stage 3: stand y-move 0.00 elmo→3.05 elmo, gun y-move 0.00 elmo→0.70 elmo
- 3.20–3.78 s — deactivatescr stage 1: stand y-move 3.05 elmo→0.00 elmo, gun y-move 0.70 elmo→0.00 elmo
- 3.78–4.28 s — deactivatescr stage 2: door1 z-turn -191.6°→-95.6°, door2 z-turn 192.8°→95.8°
- 4.28–4.79 s — deactivatescr stage 3: door1 z-turn -95.6°→0.0°, door2 z-turn 95.8°→0.0°
- 4.79–5.38 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).