festifun/plan/status
type-two 175ab0f772 M15: moment FX (lane F) + status file
 toggle: fx.update(tGlobal) (already called each frame by main.js) tracks
the previous tGlobal and fires on marker crossings in play AND scrub;
backward jumps and >2s forward jumps just reset the tracker. pyro/confetti ->
~1s additive particle burst at the event's resolved anchor (mapped by the
backend's label convention, stage-centroid fallback); bass_drop -> point
cloud/splat scale pulse for ~a beat (60/tempo via GET /api/beats, else 0.5s),
exact scale restored. Scene access only via scene3d.addObject/removeObject.
Hot path: 6 preallocated burst slots (160 particles each), zero per-frame
allocation, whole body behind a breaker so a throw can never kill the app
loop (it disables FX instead).

Live-verified: pyro fired at t=10.00 in play, confetti on scrub crossing 17.0,
no retro-fire on backward jump, pulse 1.16x -> exact 1.0 restore, worst-case
frame body 0.101 ms CPU (~330x inside the 30fps budget), clean toggle-off
(plan/status/lane-F.md).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-17 17:54:11 +10:00
..
deploy.md Deploy-ready: path-prefix hosting (digalot.fyi/festifun) + deploy artifacts 2026-07-16 13:20:36 +10:00
foundation2.md foundation2 (phase 5a): contracts, stubs, hooks & UI wiring for lanes E/F/G 2026-07-17 17:31:08 +10:00
foundation.md status: foundation merged to main (M0 + M3 + frozen contracts) 2026-07-16 00:46:41 +10:00
integration.md Integration (M8 + M9): annotation→3D, camera paths, README, v0.1.0 2026-07-16 09:59:51 +10:00
lane-A.md lane A status: M1 complete, ready_to_merge (isolated worktree) 2026-07-16 01:15:23 +10:00
lane-B.md Lane B (M2 + M8 geometry): COLMAP reconstruction, geometry math, graceful degradation 2026-07-16 08:40:46 +10:00
lane-C.md Lane C (M4+M5+M6 + timeline): synchronized viewer frontend 2026-07-16 08:45:51 +10:00
lane-D.md lane D: status -> merged (M7 done, 5c2d7c6; review findings fixed) 2026-07-16 08:38:47 +10:00
lane-F.md M15: moment FX (lane F) + status file 2026-07-17 17:54:11 +10:00
phase4.md Phase 4 polish: anchor supersede + delete, docs/ideas, field-test scaffolding 2026-07-16 12:15:35 +10:00
TEMPLATE.md Add coordination loop: run order (DIRECTIVES.md), per-agent status protocol 2026-07-16 00:08:54 +10:00