orbit/js/ui
Brian Fertig 0d51184daa Readability layer: lock reticle, threat cues, off-screen arrows, kill feed, bar gauge flash
A shared readability layer (js/combat/CombatHud.js) for both combat
contexts — the training range and the main game's ?combat:

- Target/lock indicator: rotating brackets on the current target (the
  auto-fire target — one rule, one target, js/combat/Combat.js#pickTarget).
- Threat cues: pulsing markers above each live hostile.
- Off-screen arrows: edge arrows toward hostiles outside the camera
  (zoom-aware via a context-supplied worldToScreen).
- Kill feed: newest-first fading entries, top-right.
- Gauge flash: the combat bar's shields/hull gauge flashes on the hit
  it took (CombatBar.gaugeRect feeds the shared CombatHud.flash).

Pure rules stay in Combat.js (pickTarget, feedPush, offscreenArrow),
covered by dev/combat.test.mjs. The main game re-anchors the pack
around the ship once its start position settles (CombatSystem
.resyncAroundShip + a short settle window in GameScene), so the demo
pack sits in auto-fire range instead of kilometers off.

All combat rules tests pass (0 failures); CDP-verified in both
/combat and index.html?combat.
2026-09-16 02:02:55 -06:00
..
shop
…
ActionBar.js
…
BuildWindow.js Change cargo bay builds to cost credits + minerals 2026-09-14 19:27:55 -06:00
CombatBar.js Readability layer: lock reticle, threat cues, off-screen arrows, kill feed, bar gauge flash 2026-09-16 02:02:55 -06:00
CommsBox.js
…
CommsPanel.js
…
ConfirmOverlay.js
…
CreditsHud.js
…
CyberShape.js
…
DiscoveryCompass.js
…
ExploreBar.js
…
GalaxyView.js
…
GlitchText.js
…
MapWindow.js
…
MenuButton.js
…
MenuSubBar.js
…
MineralHud.js
…
MiningPopup.js
…
PerimeterShimmer.js
…
QuestTrackerHud.js
…
QuestWindow.js
…
ResearchWindow.js Add Cargo research category with quest and build-completion gates 2026-09-14 19:13:56 -06:00
SavePanel.js
…
ShimmerCue.js
…
SignalCompass.js
…
SlotCard.js
…
Toast.js
…
VignetteWindow.js
…