Alexander Whitestone
|
0408ceb5bc
|
feat: add effects modules — matrix rain, lightning, beam, runes, gravity, shockwave
CI / validate (pull_request) Successful in 6s
CI / auto-merge (pull_request) Successful in 10s
Phase 4 of app.js modularization. Extracts all visual effects into self-contained
ES modules under modules/effects/ following the init(scene,state,theme)/update(elapsed,delta)
contract defined in CLAUDE.md.
Modules created:
- matrix-rain.js — commit-density-driven 2D canvas rain (DATA-TETHERED AESTHETIC)
- lightning.js — floating crystals + lightning arcs (DATA-TETHERED AESTHETIC)
- energy-beam.js — Batcave terminal beam (DATA-TETHERED AESTHETIC)
- rune-ring.js — portal-tethered orbiting rune sprites (DATA-TETHERED AESTHETIC)
- gravity-zones.js — portal-position rising particle zones (DATA-TETHERED AESTHETIC)
- shockwave.js — shockwave ripple, fireworks, merge flash (DATA-TETHERED AESTHETIC)
All modules read data tethers from the state bus (state.zoneIntensity,
state.portals, state.activeAgentCount, state.commitHashes). No mocked data.
app.js unchanged — final wiring happens in Phase 5 slim-down.
Refs #423
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
2026-03-24 14:18:42 -04:00 |
|