orbit/data
Brian Fertig 9ca0fa55a8 Add music system, UI SFX, and ship base stats
- New shared audio voices: js/utils/Sfx.js (playSfxOn/stopSfxOn/sfxPlayingOn)
  and js/utils/Music.js (loop voice + shuffle playlist), both with v4 guard
  rails (cache.audio.has, stopByKey, isPlaying) so missing assets never throw.
- data/music.json: menu loop, shuffled deep-space soundtrack for GameScene,
  and per-world surface loops keyed by planets.png frame; new mp3 assets in
  assets/music/.
- data/sfx.json: add ui_hover/ui_click/ui_window/ui_close/mining_loop and a
  dedicated scan track; wire UI components (buttons, panels, popups, save
  vault) to the shared voice via scene.playSfx seam.
- GameScene: start/stop the shuffle on create/shutdown, stop both soundtrack
  and mining hum on 'sleep' (landing launch+sleep) and resume on 'wake';
  mining hum loops while beam is live and stops quietly on 'stopped'.
- SurfaceScene: preload and loop the world's track from landing through
  takeoff; fix landing frame hand-off to pass sheetFrame instead of the
  texture Frame object.
- MenuScene: preload SFX + menu music, start the menu hum in create, stop it
  on the 'shutdown' event (v4 never calls shutdown() on transition).
- data/ship.json → stats: hullIntegrity/shields/cargoHold/mineralStorage,
  exposed as ship.stats for future combat/trading/mining systems.
- Tests: dev/sfx.test.mjs and dev/music.test.mjs cover the shared voices,
  guards, and data contracts; ship-behavior and system-hud tests extended
  for base stats and the mining hum lifecycle.
2026-09-05 10:10:18 -06:00
..
actionbar.json Add deep-scan sonar pulse replacing the Build action button 2026-09-05 00:29:17 -06:00
asteroids.json
…
builds.json
…
galaxy.json
…
game.json
…
landing.json Add upper-left surface HUD showing planet name, type, and tether level 2026-09-04 23:23:41 -06:00
manifest.json Add music system, UI SFX, and ship base stats 2026-09-05 10:10:18 -06:00
menu.json Add music system, UI SFX, and ship base stats 2026-09-05 10:10:18 -06:00
music.json Add music system, UI SFX, and ship base stats 2026-09-05 10:10:18 -06:00
naming.json
…
planets.json Add take-off clip to surface scene before resuming flight 2026-09-04 22:44:51 -06:00
reputation.json
…
research.json
…
save.json
…
scan.json Add deep-scan sonar pulse replacing the Build action button 2026-09-05 00:29:17 -06:00
settlements.json
…
sfx.json Add music system, UI SFX, and ship base stats 2026-09-05 10:10:18 -06:00
ship.json Add music system, UI SFX, and ship base stats 2026-09-05 10:10:18 -06:00
signalCompass.json Add signal compass UI for scan-revealed undiscovered objects 2026-09-05 00:29:49 -06:00
stations.json
…
systems.json
…
tether.json
…
theme.json
…