monsterplex/src/util
Brian Fertig 6229f9529b Refactor level select into campaign map with auto-layout
Replace the flat level-grid level select screen with a campaign-based
map view. Levels are grouped into themed campaigns (e.g. "Sunny Suburbs",
"Dusk Junction") each with its own background art and node positions
rendered along a Catmull-Rom spline ribbon.

Key changes:
- Introduce CAMPAIGNS array in src/data/levels/index.js with helpers for
  campaign/level lookup.
- Add src/data/levels/positioning.js for auto-layout S-curve generation
  and Catmull-Rom spline sampling.
- Rewrite LevelSelectScene.js to render per-campaign maps with animated
  node entrance, idle pulse on the current level, hover states,
  tool-tips for locked levels, and ← → / P keyboard navigation.
- Remove the now-unused LevelCompleteScene; scores now record progress
  and return directly to the map via LevelScoreScene.
- Add map assets (campaign backgrounds, node/flag/tag sprites) and
  manifest entries with a documented 960x540 centered-canvas convention.
- Add src/util/mapArt.js for shared map geometry constants and scaling.
2026-08-21 12:41:49 -06:00
..
assetManifest.js Refactor level select into campaign map with auto-layout 2026-08-21 12:41:49 -06:00
formatTime.js feat: add LevelScoreScene with end-of-level tally and kid HUD portraits 2026-08-20 12:22:59 -06:00
kidFallSound.js feat: add finish line visual and kid fall voice lines 2026-08-20 11:00:31 -06:00
mapArt.js Refactor level select into campaign map with auto-layout 2026-08-21 12:41:49 -06:00
music.js
placeholderTextures.js
progress.js
ui.js
voiceLine.js