orbit/js
Brian Fertig fbd0e56f1f Extract shared decode scramble and apply it to the system dossier HUD
- New `js/utils/Decode.js` with a pure `ScrambleDecode` class plus
  `DECODE_CHARS`, `DECODE_DURATION`, and a per-line `decodeDur()` helper,
  so one effect serves both scenes.
- MenuScene now delegates its seed scramble to the shared utility instead
  of inlining the reveal math and alphabet.
- GameScene's system dossier types itself in on arrival: each line starts
  empty and decodes left-to-right, staggered top-to-bottom, with the
  timeline anchored on the first update frame; state self-clears once all
  lines settle so `update()` pays nothing afterward.
- Add Node dev tests for the shared effect contract (`dev/decode.test.mjs`)
  and for the real GameScene dossier decode against actual galaxy/report
  data with a stubbed scene (`dev/system-hud.test.mjs`).
- Document both new test commands in the README and update the planets
  PSD asset.
2026-09-04 09:52:05 -06:00
..
config
entities
galaxy Fix asteroid rock overlap and add distinct compass color for clusters 2026-09-04 08:45:28 -06:00
scenes Extract shared decode scramble and apply it to the system dossier HUD 2026-09-04 09:52:05 -06:00
tether
ui Simplify action bar slots to label-only buttons 2026-09-04 09:12:03 -06:00
utils Extract shared decode scramble and apply it to the system dossier HUD 2026-09-04 09:52:05 -06:00
vendor
visuals
main.js