- 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. |
||
|---|---|---|
| .. | ||
| Color.js | ||
| Decode.js | ||
| NameGenerator.js | ||
| Rng.js | ||
| Textures.js | ||
| Theme.js | ||