orbit/js
Brian Fertig 70f4954c69 Wire research→build unlocks and add first tether-l2 build entry
- Define the two-sided unlock contract: research nodes declare `unlocks.builds`/`unlocks.research`, builds declare `requires` as "category/node id" (authoritative gate); ResearchModel exposes `unlocksOf`, `buildDefs`, `unlockIssues`, `buildIssues`
- Add `tether-l2` build entry (planet/station targets, credits+minerals cost, level-2 tether effect) and link it from `exploration/tether_l2`
- Show an UNLOCKS line in the research dossier so the console surfaces what a tech opens
- Extend dev/research-builds.test.mjs to validate both sides of the gate and the new model helpers
- Update data/builds.json, research.json, exploration.json `_comment`s and PROJECT_NOTES to document the contract
2026-09-05 15:15:08 -06:00
..
config
…
entities
…
galaxy
…
mining
…
reputation
…
research Wire research→build unlocks and add first tether-l2 build entry 2026-09-05 15:15:08 -06:00
save Add research console with Exploration tech tree and save persistence 2026-09-05 14:59:27 -06:00
scan
…
scenes Add research console with Exploration tech tree and save persistence 2026-09-05 14:59:27 -06:00
tether
…
ui Wire research→build unlocks and add first tether-l2 build entry 2026-09-05 15:15:08 -06:00
utils
…
vendor
…
visuals
…
main.js
…