COB-exact: timeline 1:1 from corhp.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 / 670.00 s
COB timeline (CORHP.COB)
- 0.00–0.40 s — Closed rest pose (3DO zero point)
- 0.40–0.80 s — activatescr stage 1: door1 z-turn 0.0°→-90.0°, door2 z-turn 0.0°→90.0°
- 0.80–1.20 s — activatescr stage 2: door1 y-move 0.00 elmo→-4.50 elmo, door2 y-move 0.00 elmo→-4.50 elmo
- 1.20–1.60 s — activatescr stage 3: platform1 y-move 0.00 elmo→7.50 elmo, platform2 y-move 0.00 elmo→7.50 elmo
- 1.60–2.02 s — activatescr stage 4: nano2 y-turn 0.0°→-90.0°, nano1 y-turn 0.0°→-90.0°
- 3.22–3.62 s — deactivatescr stage 1: nano2 y-turn -90.0°→0.0°, nano1 y-turn -90.0°→0.0°
- 3.62–4.02 s — deactivatescr stage 2: platform1 y-move 7.50 elmo→0.00 elmo, platform2 y-move 7.50 elmo→0.00 elmo
- 4.02–4.42 s — deactivatescr stage 3: door1 y-move -4.50 elmo→0.00 elmo, door2 y-move -4.50 elmo→0.00 elmo
- 4.42–4.84 s — deactivatescr stage 4: door1 z-turn -90.0°→0.0°, door2 z-turn 90.0°→0.0°
- 4.84–5.44 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).