COB-exact: timeline 1:1 from corvipe.cob (duty cycle (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 / 640.00 s
COB timeline (CORVIPE.COB)
- 0.40–0.93 s — activatescr(): opens the structure at its COB speeds
- 1.12–1.68 s — AimPrimary(8192, 3641): takes the shot angle
- 1.68–3.30 s — FirePrimary x2 at 0.7 s, then AimPrimary(0, 0) back
- 4.66–5.16 s — rest — the folded pose is the loop seam (pixel-verified)
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).