orbit/data
Brian Fertig 54fbf4091c Rebuild in-system layout around tether discovery + the edge margin
- data/tether.json: new edgeMargin (512 px) — a no-man's-land band around
  every tether rim where NO object sits: discoverable objects are clearly
  inside a tether region (d ≤ radius − edgeMargin) or clearly outside
  (d ≥ radius + edgeMargin), never at the edge (the 'scan doesn't find it
  at the boundary' case)
- SystemGenerator.layoutSystem: the regular N-gon ring (chords put 2- and
  3-object systems past level 2, spread 4-/5-object systems too thin) is
  replaced by a compact ARC at one orbital radius — consecutive objects a
  level-1 tether apart (≤ L1 − edgeMargin — a level-1 chain walks the
  whole system), every other pair off both tether rims (the level-2
  graph is connected — level 2 DEFINITELY discovers; level 3 never
  required); minSpacing now bounds star/home-world→object only,
  neighborMin (2048) is the planet↔planet floor; the step angle is a
  deterministic scan (safe-α) landing the gap near a seeded target
- home world IS a tether anchor: its orbital radius caps at
  L2 − edgeMargin (9728 px); its objects sit 6400–9728 (level-2 zone by
  design — the bootstrap tether), chained to each other at level 1
- gates: anchorMaxDistance 4990 → 4608 (= L1 − edgeMargin) so no gate
  sits at the level-1 rim either (still < 5000, Rule 1); candidate
  ordering is now side > rim-bands > facing tier > order
- Tether.contains: 1 px rim tolerance (a center exactly on the boundary
  counts as inside — float safety on top of the layout margin)
- asteroid placement tetherMargin 96 → 512 (aligned with edgeMargin)
- dev/system-layout.test.mjs (new): level-1 chain, level-2 connectivity,
  edge margin, orbital band, same-seed determinism — 90-system galaxies,
  all green; discovery/jumps/audit tests + PROJECT_NOTES follow the rules
2026-09-10 18:53:30 -06:00
..
research
…
actionbar.json
…
asteroids.json Rebuild in-system layout around tether discovery + the edge margin 2026-09-10 18:53:30 -06:00
builds.json Auto-install level-1 tether on first landing of any world 2026-09-09 13:11:38 -06:00
comms.json Add system-complete comm and audioPool random clip support 2026-09-09 22:20:30 -06:00
galaxy.json
…
game.json
…
gates.json Rebuild in-system layout around tether discovery + the edge margin 2026-09-10 18:53:30 -06:00
landing.json Update landing video for lava 1 2026-09-09 22:20:53 -06:00
manifest.json
…
map.json Auto-install level-1 tether on first landing of any world 2026-09-09 13:11:38 -06:00
menu.json
…
mineralhud.json
…
music.json Add system effect SFX, per-context music volumes, and storm teardown 2026-09-09 15:40:26 -06:00
naming.json
…
planets.json Rebuild in-system layout around tether discovery + the edge margin 2026-09-10 18:53:30 -06:00
quests.json
…
reputation.json
…
research.json
…
save.json
…
scan.json
…
settlements.json
…
sfx.json Add system effect SFX, per-context music volumes, and storm teardown 2026-09-09 15:40:26 -06:00
ship.json
…
signalCompass.json
…
stations.json
…
systems.json
…
tether.json Rebuild in-system layout around tether discovery + the edge margin 2026-09-10 18:53:30 -06:00
theme.json
…