orbit/dev
Brian Fertig ff557f87ba Fix jumpgate activation bug and add NAV chart diagnostics
- `_applyResearchEffects` now receives the node id explicitly instead of
  reading `node.id`, which is undefined (the id is the key in the tree's
  `nodes` map, not a field on the object) — this was silently skipping
  `activateGates` so researched jumpgates stayed dark
- Add `systemIdOfGatesNode()` as the pure inverse of `systemNodeId()` for
  the gates node, with round-trip tests
- Reconcile gate activation in `_onEnterSystem()`: if the gates tech is
  already unlocked, re-run `_activateSystemJumpgates` (idempotent) so a
  missed activation self-heals on the next entry/jump/reload
- Make `_activateSystemJumpgates` idempotent by tracking fresh keys and
  early-returning when everything is already online
- Add `navPoints()` and `navChart()` to SystemCategory.js as pure,
  testable cores for the jumpgate unlock condition (discovered/missing
  split over all NAV points)
- Add `js/dev/NavDiag.js` with `orbitNav()` / `orbitNavBrief()` console
  commands that print the live NAV chart and which objects are still
  undiscovered, installed by `main.js` on every page load
- Update `data/landing.json` to reference the correct gasgiant surface/shop
  videos for slot 03
- Add tests for `navPoints`, `navChart`, and `systemIdOfGatesNode`
- Document the activation wiring bug, the `orbitNav()` diagnostic, and the
  new pure functions in PROJECT_NOTES.md
2026-09-06 17:41:29 -06:00
..
asteroids.test.mjs Galaxy refactor: 200 systems, object-composition, dormant gates, frame diversity 2026-09-06 13:06:29 -06:00
build-check.html
…
build-check.mjs
…
builds.test.mjs
…
cdp-eval.mjs
…
cdp-firefox.mjs
…
cdp-shot.mjs
…
cdpshot.mjs
…
clickout-test.html
…
clickout-test.mjs
…
comms-click.html
…
comms-click.mjs Decouple comms panel from fly-to and add double-click clip skip 2026-09-06 15:08:32 -06:00
comms-shot.html
…
comms-shot.mjs
…
container-probe.html Decouple comms panel from fly-to and add double-click clip skip 2026-09-06 15:08:32 -06:00
container-probe.mjs Decouple comms panel from fly-to and add double-click clip skip 2026-09-06 15:08:32 -06:00
decode.test.mjs
…
discovery.test.mjs Galaxy refactor: 200 systems, object-composition, dormant gates, frame diversity 2026-09-06 13:06:29 -06:00
frames.test.mjs Galaxy refactor: 200 systems, object-composition, dormant gates, frame diversity 2026-09-06 13:06:29 -06:00
galaxy.test.mjs Galaxy refactor: 200 systems, object-composition, dormant gates, frame diversity 2026-09-06 13:06:29 -06:00
hold-restore.html Decouple comms panel from fly-to and add double-click clip skip 2026-09-06 15:08:32 -06:00
hold-restore.mjs Decouple comms panel from fly-to and add double-click clip skip 2026-09-06 15:08:32 -06:00
jump-travel.test.mjs Implement gate jump travel between systems 2026-09-06 16:37:48 -06:00
jumpgate.test.mjs Add per-system research category that unlocks jump gates 2026-09-06 15:56:38 -06:00
jumps.test.mjs Galaxy refactor: 200 systems, object-composition, dormant gates, frame diversity 2026-09-06 13:06:29 -06:00
landing-click.html
…
landing-click.mjs
…
mineral-hud.test.mjs
…
mining-test.html
…
mining-test.mjs
…
mining.test.mjs
…
music.test.mjs
…
phaser-loader.mjs
…
phaser-stub.mjs
…
planet.test.mjs
…
popup-shot.html
…
popup-shot.mjs
…
probe-imports.html Decouple comms panel from fly-to and add double-click clip skip 2026-09-06 15:08:32 -06:00
reputation.test.mjs
…
research-builds.test.mjs Add per-system research category that unlocks jump gates 2026-09-06 15:56:38 -06:00
research-shot.html
…
research-shot.mjs
…
saves-ui-test.html
…
saves-ui-test.mjs Decouple comms panel from fly-to and add double-click clip skip 2026-09-06 15:08:32 -06:00
saves.test.mjs
…
scan-test.html
…
scan-test.mjs
…
scan.test.mjs
…
scene-restart-probe.html Decouple comms panel from fly-to and add double-click clip skip 2026-09-06 15:08:32 -06:00
scene-restart-probe.mjs Decouple comms panel from fly-to and add double-click clip skip 2026-09-06 15:08:32 -06:00
server.mjs
…
sfx.test.mjs
…
ship-behavior.test.mjs
…
shot-firefox.mjs
…
signal-compass-flow.html
…
signal-compass-flow.mjs
…
signal-compass.test.mjs
…
smoke-game.mjs
…
starfield.test.mjs
…
surface-flow.mjs
…
surface-hud-shot.html
…
surface-hud-shot.mjs
…
surface-hud.html
…
surface-hud.mjs
…
surface-shot.html
…
surface-shot.mjs
…
surface-skip.html Decouple comms panel from fly-to and add double-click clip skip 2026-09-06 15:08:32 -06:00
surface-skip.mjs Decouple comms panel from fly-to and add double-click clip skip 2026-09-06 15:08:32 -06:00
surface-test.html
…
system-category.test.mjs Fix jumpgate activation bug and add NAV chart diagnostics 2026-09-06 17:41:29 -06:00
system-hud.test.mjs
…
test-game.html
…
tether-flow.html
…
tether-flow.mjs
…
tether.test.mjs Cap tether progression at level 3 and remove tether_l4 research node 2026-09-06 15:20:31 -06:00
wdshot.mjs
…
world-names.test.mjs
…
zorder-test.html
…
zorder-test.mjs
…