Live preview (JavaScript)
The loop is played live in your browser from the validated loop table (the same data the reference render below was made from); the badge on the player is its self-test (seam + motion probes). The pre-rendered reference follows.
Weapon-FX (preview layer)
Schüsse auf den echten TDF-Kadenz-Rastern. Projektile fliegen die TDF-Physik (velocity/acceleration) ab der COB-Mündung; guidance/turnrate sind eine dokumentierte Vorschau-Näherung (gerade Flugbahn). Strahlen 120 ms, Explosionen = Vorschau-Blitze skaliert nach areaofeffect — die Original-Frame-Sets stehen im TDF (explosionart). Sounds: soundstart/soundhit aus dem Archiv.
COR_GOL: ballistic (v=250, range=400, aoe=64, reload=1500 ms) · CORE_LIGHTLASER: beam (v=800, range=360, aoe=8, reload=520 ms) · ARMSMART_TORPEDO: guided (v=100, range=375, aoe=16, reload=2300 ms)
COB-exact: timeline 1:1 from corcrab.cob (gait + aim/fire (COB VM), disassembled with _cob_dis.py). StateChg staged-deploy family: 2 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

COB timeline (CORCRAB.COB)
- 0.00–0.00 s — Rest pose (the seam pose — both window ends settle here)
- 0.00–0.94 s — Walk() — one full stride cycle (compiled slides; form-(c) legs run past the sleep clock)
- 0.94–1.43 s — Activatescr — the compiled staged deploy (reset snaps, then the leg/body stages settle into the firing stance)
- 1.43–6.75 s — AimPrimary + 4 x FirePrimary (COR_GOL, 1500 ms) — at the COB aim speeds, shots on that weapon's reload grid
- 6.75–8.12 s — AimSecondary + 2 x FireSecondary (CORE_LIGHTLASER, 520 ms) — at the COB aim speeds, shots on that weapon's reload grid
- 8.12–19.05 s — AimTertiary + 2 x FireTertiary (ARMSMART_TORPEDO, 2300 ms) — at the COB aim speeds, shots on that weapon's reload grid
- 19.05–19.05 s — Close: Aim(0, 0) calls the engine would send next — back to the rest aim (engine pacing sleeps stay out)
- 19.05–19.75 s — Deactivatescr — the compiled staged fold back to the rest stance
- 19.75–20.69 s — Walk() again, then settle — the loop restarts seam-clean from the rest pose
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).