Repository navigation
Gameplay / AI
- Rebalance AI difficulty presets; Easy is now beatable by a casual player
(perception lag, aim error, hesitation, reaction delays, edge/hazard awareness) - Add headless balance harness (scripts/ai-balance.ts) with a CasualBot baseline
- Unify offline and online play on a single authoritative ArenaSim with a
SimEvent bus; Presentation layer consumes events for VFX/SFX/shake
Audio
- Rebuild SFX generator as a hybrid DSP kit (FM, filtered noise, ADSR, reverb,
soft clip) layered with CC0 recorded whoosh/thud/shatter/cloth/impact sources - Per-element shot/hit variants (arcane, ember, frost, gale, void, volt) with
round-robin variation and pitch/gain jitter; bus mixer with compressor - Add sfx manifest and CREDITS.md for recorded sources
Art / UI
- Process art to WebP with chroma-key baking (scripts/process-art.mjs)
- New shared theme, widgets, boon cards, HUD; restyle lobby and account screens
- Online player card now shows synced boon chips
Mobile
- Twin-stick touch controls (floating sticks + Shield/Dash) via Pointer Events
- Fighter-framing camera on phones, compact layouts for every screen,
safe-area insets, visualViewport sizing, landscape rotate overlay - PWA manifest, mobile meta tags, touchControls setting (auto/on/off)
Infra
- Add .nvmrc (Node 22), ignore .wrangler/, party server roster/slot fixes