orbit/data
Brian Fertig 8c52105412 Add discovery system with off-screen compass and in-world planet layout
- Discovery rule: ship within `discovery.distance` (540 px) of a world's edge discovers it once per system; state is pure, save-ready (`Discovery.toJSON/fromJSON`)
- Off-screen compass (`DiscoveryCompass`): themed screen-edge arrows with type/name chips point back at discovered worlds; geometry helpers (`edgeAnchor`, `circleInView`, `lerpAngle`) exported for Node tests
- Solar-system layout: `layoutSystemPlanets` places generated worlds in a deterministic annular band around the home world, enforcing edge-to-edge separation and per-class scale/tint from `data/planets.json`
- All system planets are solid to the ship (collision + click-clamp), not just home
- Rim ping + HUD toast on discovery (`celebrateDiscovery`)
- New planet class pools (rocky/gas/ice/lava) with frames, `classScale`, `classTint`, and `typeLabels`
- Smoke-game dev hooks: `?ship=x,y` and `?near=px` for screenshotting discovery/compass states
- Node test suite (`dev/discovery.test.mjs`) covering rule boundaries, per-system state, JSON round-trip, layout bounds/determinism, compass geometry, and class pools
2026-09-03 19:45:21 -06:00
..
galaxy.json
game.json Add discovery system with off-screen compass and in-world planet layout 2026-09-03 19:45:21 -06:00
manifest.json Add discovery system with off-screen compass and in-world planet layout 2026-09-03 19:45:21 -06:00
menu.json Main menu: cyberpunk UI overhaul + shared theme layer 2026-09-03 16:27:25 -06:00
naming.json
planets.json Add discovery system with off-screen compass and in-world planet layout 2026-09-03 19:45:21 -06:00
settlements.json
ship.json
systems.json
theme.json Remove cyberpunk overlay from game scene 2026-09-03 18:47:54 -06:00