orbit/js
Brian Fertig 8fd94ce48c Combat SFX layer: seven distinct event voices, shared across both contexts
- js/combat/CombatSfx.js (new): ONE event→voice map + playback path for
  both contexts, using ONLY existing data/sfx.json files:
    fire=scan · impact=ui_click · shield=solar_buzz · hull=mining_split
    kill=thunder_01..04 (one at random) · down=deconstruct ·
    respawn=discovery
  plus combatSfxEnemyHit() (shield/hull decision in one place: a hit
  that breaks through to the hull plays both — the shield-pop read),
  loadCombatSfx() for the range's preload (the main game already loads
  all of sfx.json), and a capped dev log on window.__COMBAT_SFX__ so
  the wiring is verifiable headless (no audio manager) in both.
- js/combat/CombatScene.js: fire/enemy-fire/wall-clip/ram/lance/kill/
  down/respawn sites call the shared path; the player-hit voices
  (impact + shield/hull from applyDamage) funnel through damagePlayer.
- js/combat/CombatSystem.js: the same seven call sites, identical
  wiring (no per-context copies).
- dev/combat.test.mjs: sfx block — seven events mapped, voices exist in
  data/sfx.json, pairwise distinct, vol scaling, thunder pick, the
  shield/hull decision, the dev log, the master switch (0 failures).
- dev/combat.sfxcheck.mjs (new): CDP check that drives real events in
  /combat AND index.html?combat and asserts all seven events pass
  through the shared path — PASS in both.
2026-09-16 00:47:45 -06:00
..
build
…
combat Combat SFX layer: seven distinct event voices, shared across both contexts 2026-09-16 00:47:45 -06:00
comms
…
config
…
dev
…
economy Implement economy model v2: one world, one good with daily batch stock 2026-09-14 18:22:21 -06:00
entities
…
galaxy
…
mining
…
quests
…
reputation
…
research Add Cargo research category with quest and build-completion gates 2026-09-14 19:13:56 -06:00
save Implement economy model v2: one world, one good with daily batch stock 2026-09-14 18:22:21 -06:00
scan
…
scenes Integrate combat into the main game with auto-fire and a combat bar 2026-09-15 22:03:07 -06:00
tether
…
ui Integrate combat into the main game with auto-fire and a combat bar 2026-09-15 22:03:07 -06:00
utils Add combat sandbox: standalone arena to tune combat before it ships 2026-09-15 20:54:33 -06:00
vendor
…
vignettes
…
visuals
…
main.js Integrate combat into the main game with auto-fire and a combat bar 2026-09-15 22:03:07 -06:00