- Introduce QuestState ledger (granted/claimed ids) persisted via SaveData, with safe fromJSON validation that drops unknown ids and enforces claimed ⊆ granted - Define the starter quest "Start Your Journey" in data/quests.json with four live checks: research node, lifetime asteroid mining, home tether level, and discovered world count - Add totalMined counter tracked on each ore event to support the mining requirement independently of cargo hold - Build QuestWindow (full-screen console at depth 80) with video feed, category tabs (Main Story live, Side Quests standby), quest list, detail plate with checklist and CLAIM REWARD action - Wire QUESTS slot into both flight and surface command decks right of SHIP; SurfaceScene delegates snapshot/claim to the sleeping GameScene while rendering its own console notes - Grant starter quest on first boot with delayed toast; announce "QUEST READY" once per quest when all checks complete - Update research-builds tests for seven-slot deck layout; add dev/quests.test.mjs covering data contract, ledger behavior, save round-trip, and deck slot placement |
||
|---|---|---|
| .. | ||
| asteroids.test.mjs | ||
| 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 | ||
| comms-shot.html | ||
| comms-shot.mjs | ||
| compass-far.html | ||
| compass-far.mjs | ||
| contact.test.mjs | ||
| container-probe.html | ||
| container-probe.mjs | ||
| decode.test.mjs | ||
| dialog-shot.html | ||
| dialog-shot.mjs | ||
| discovery.test.mjs | ||
| exit-gate-shot.html | ||
| exit-gate-shot.mjs | ||
| frames.test.mjs | ||
| galaxy-labels.test.mjs | ||
| galaxy-map.test.mjs | ||
| galaxy.test.mjs | ||
| gate-comms.html | ||
| gate-comms.mjs | ||
| hold-restore.html | ||
| hold-restore.mjs | ||
| jump-travel.test.mjs | ||
| jumpgate.test.mjs | ||
| jumps.test.mjs | ||
| landing-click.html | ||
| landing-click.mjs | ||
| map-click.html | ||
| map-click.mjs | ||
| map-shot.html | ||
| map-shot.mjs | ||
| menu-intro-test.html | ||
| menu-intro-test.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 | ||
| quests.test.mjs | ||
| reputation.test.mjs | ||
| research-builds.test.mjs | ||
| research-shot.html | ||
| research-shot.mjs | ||
| route-shot.html | ||
| route-shot.mjs | ||
| route.test.mjs | ||
| saves-ui-test.html | ||
| saves-ui-test.mjs | ||
| saves.test.mjs | ||
| scan-test.html | ||
| scan-test.mjs | ||
| scan.test.mjs | ||
| scene-restart-probe.html | ||
| scene-restart-probe.mjs | ||
| 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 | ||
| star-art.test.mjs | ||
| starfield.test.mjs | ||
| station-frames.test.mjs | ||
| station-shot.html | ||
| station-shot.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 | ||
| surface-skip.mjs | ||
| surface-test.html | ||
| system-category.test.mjs | ||
| system-chart.test.mjs | ||
| system-hud.test.mjs | ||
| test-game.html | ||
| tether-flow.html | ||
| tether-flow.mjs | ||
| tether-newworld.html | ||
| tether-newworld.mjs | ||
| tether.test.mjs | ||
| wdshot.mjs | ||
| world-names.test.mjs | ||
| zorder-test.html | ||
| zorder-test.mjs | ||