Commit Graph

206 Commits

Author SHA1 Message Date
fireshaper 102c5bba91 Step 10C.1: map art manifest and content sprite keys
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-03 19:02:57 -04:00
fireshaper 23b40a4324 CR-003: record change request and decisions
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-03 18:58:49 -04:00
fireshaper f7698166bb Step 10B.10: CR-002 plan amendments, GDD update and regression
CI / check (push) Successful in 3m13s Details
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-03 15:16:18 -04:00
fireshaper 3a3bb84c29 Step 10B.9: bays as HQs in the Market, Locations and map
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-03 15:12:46 -04:00
fireshaper 2ba6721200 Step 10B.8: deadhead any idle ship to a discovered location
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-03 15:10:31 -04:00
fireshaper 962c0601c8 Step 10B.7: Contracts screen by location with idle-ship badges
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-03 15:08:48 -04:00
fireshaper 61781aa790 Step 10B.6: deliver bought ships to a chosen bay
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-03 15:01:11 -04:00
fireshaper 924151d1a8 Step 10B.5: prove ships no longer strand without a bay
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-03 14:55:51 -04:00
fireshaper a5803d31f5 Step 10B.4: serve contract boards for any discovered location
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-03 14:51:54 -04:00
fireshaper b3d4975111 Step 10B.3: key contract boards by location
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-03 14:49:05 -04:00
fireshaper 553983590e Step 10B.2: deadhead to any discovered location
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-03 14:46:30 -04:00
fireshaper dff2c576cf Step 10B.1: generate contract boards for any location
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-03 14:41:56 -04:00
fireshaper ea37ce8ced CR-002: record change request and decisions
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-03 14:39:31 -04:00
fireshaper c36d1edf55 Give every contract board jobs for each ship size
CI / check (push) Successful in 2m46s Details
Bay contract mass now comes from per-ship-size bands, and the first
contract in each band is a no-skill Standard job to a discovered
location, so a new player with only a Courier always has work.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-03 12:22:02 -04:00
fireshaper 9b7b51b455 Fix playtest issues: explain dispatch problems, tutorial hint
CI / check (push) Failing after 47s Details
The dispatch sheet now names the job and lists every problem with
numbers, HQ explains when one more run back to Earth is needed, and an
onboarding test race is fixed.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-03 12:05:18 -04:00
fireshaper 7e122dcee7 Step 10A.18: apply CR-001 plan amendments
CI / check (push) Successful in 2m49s Details
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-03 11:38:38 -04:00
fireshaper f2f719415d Step 10A.17: list ready goals in the away summary
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-03 11:35:27 -04:00
fireshaper 28cb919c05 Step 10A.16: lock undiscovered locations and show reachability
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-03 11:31:35 -04:00
fireshaper afdd41635e Step 10A.15: show onboarding goals on HQ
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-03 11:30:19 -04:00
fireshaper 6b46400f0a Step 10A.14: show the loan on HQ
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-03 11:29:16 -04:00
fireshaper 53b637521c Step 10A.13: add the deal dialog
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-03 11:27:01 -04:00
fireshaper c53910b6e3 Step 10A.12: show the tutorial tradeoff and scripted contracts
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-03 11:25:52 -04:00
fireshaper 0488a84db4 Step 10A.11: send new players straight to the contracts
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-03 11:22:56 -04:00
fireshaper c2278c6ec8 Step 10A.10: add onboarding goals to the server
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-03 11:21:21 -04:00
fireshaper 45ab0f3339 Step 10A.9: apply loan repayment and add paying down the loan
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-03 11:17:42 -04:00
fireshaper 63e52ea4aa Step 10A.8: add accepting the deal
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-03 11:15:20 -04:00
fireshaper 64fb944e8d Step 10A.7: switch the server to tutorial flow v2
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-03 11:12:53 -04:00
fireshaper aea768bebf Step 10A.6: add loan, tutorial run and goal schema and routes
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-03 11:04:57 -04:00
fireshaper b3ed6ef71d Step 10A.5: add onboarding goal evaluation
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-03 10:59:25 -04:00
fireshaper 401914e76b Step 10A.4: add loan repayment to resolution
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-03 10:57:08 -04:00
fireshaper dd0b26813f Step 10A.3: add tutorial board v2
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-03 10:54:44 -04:00
fireshaper 957c54cc2c Step 10A.2: add cargo handling time to travel time
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-03 10:50:15 -04:00
fireshaper bfda781601 Step 10A.1: add loaner ship, tutorial and loan config, goals
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-03 10:47:52 -04:00
fireshaper b1dde3696f CR-001: record change request and decisions
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-03 10:42:06 -04:00
fireshaper a28fe5c5cb Step 10.3: add map interactions
CI / check (push) Successful in 2m25s Details
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-03 07:12:05 -04:00
fireshaper ebbc97bea5 Step 10.2: draw ships on the map
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-03 07:08:14 -04:00
fireshaper 29290de478 Step 10.1: add PixiJS system map
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-03 07:06:55 -04:00
fireshaper ff136377f4 Step 9.10: add empty and error states
CI / check (push) Successful in 3m3s Details
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-03 02:20:34 -04:00
fireshaper ea0d023b97 Step 9.9: add locations screen
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-03 02:17:32 -04:00
fireshaper 78fb6e7d69 Step 9.8: add market screen
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-03 02:16:33 -04:00
fireshaper c9e3c9c15d Step 9.7: add pilots screen
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-03 02:15:38 -04:00
fireshaper 9ef45fec79 Step 9.6: add fleet screen
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-03 02:14:16 -04:00
fireshaper 7101b26abf Step 9.5: add dispatch flow
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-03 02:13:05 -04:00
fireshaper ea31eeab59 Step 9.4: add bay contract boards
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-03 02:11:33 -04:00
fireshaper 8f7444b7ec Step 9.3: add tutorial contract board
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-03 02:09:52 -04:00
fireshaper b1ddb1154b Step 9.2: add "while you were away" summary
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-03 02:08:43 -04:00
fireshaper 1eb96beb22 Step 9.1: add HQ screen
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-03 02:07:45 -04:00
fireshaper b5ce59d8fd Step 8.5: add player state store with arrival refetch
CI / check (push) Successful in 1m54s Details
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-03 01:57:59 -04:00
fireshaper 6a6e20d30f Step 8.4: add guest onboarding
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-03 01:54:25 -04:00
fireshaper ba25066105 Step 8.3: add server-synced clock
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-03 01:52:42 -04:00
fireshaper 5558296b77 Step 8.2: add typed API client
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-03 01:51:29 -04:00
fireshaper acf550c901 Step 8.1: add Vite + React client shell
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-03 01:50:26 -04:00
fireshaper e58e99c156 Step 7.3: add expired contract cleanup job
CI / check (push) Successful in 1m35s Details
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-03 01:41:00 -04:00
fireshaper 11f3bb1897 Step 7.2: add arrival resolution job and test clock offset
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-03 01:37:55 -04:00
fireshaper 9847a7ae18 Step 7.1: add pg-boss job queue
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-03 01:34:21 -04:00
fireshaper 0044e355f1 Step 6.14: test concurrency and money safety
CI / check (push) Successful in 1m30s Details
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-03 01:26:54 -04:00
fireshaper 66ed680602 Step 6.13: add acknowledging summaries
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-03 01:24:38 -04:00
fireshaper 6796eb0ea9 Step 6.12: add spending skill points
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-03 01:23:14 -04:00
fireshaper 55a21029f0 Step 6.11: add reposition dispatch
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-03 01:21:49 -04:00
fireshaper c26983a00e Step 6.10: add contract dispatch
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-03 01:20:10 -04:00
fireshaper 4536569957 Step 6.9: add bay contract board endpoint
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-03 01:17:04 -04:00
fireshaper f31d036f08 Step 6.8: add hiring and assigning pilots
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-03 01:15:38 -04:00
fireshaper badbac1890 Step 6.7: end the tutorial automatically
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-03 01:11:24 -04:00
fireshaper 6a5a22a43d Step 6.6: add leasing a bay
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-03 01:09:35 -04:00
fireshaper a25fb3b5c5 Step 6.5: add buying a ship
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-03 01:08:28 -04:00
fireshaper 6d31ed8d3c Step 6.4: add tutorial dispatch
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-03 01:07:09 -04:00
fireshaper 18f8a5ac86 Step 6.3: add tutorial board endpoint
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-03 01:04:58 -04:00
fireshaper 2a8f788ce8 Step 6.2: test full player state
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-03 01:03:09 -04:00
fireshaper 906fb275d7 Step 6.1: resolve arrived dispatches on read
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-03 01:02:32 -04:00
fireshaper 7b26d57c4d Step 5.6: validate requests and responses from the route catalog
CI / check (push) Successful in 1m1s Details
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-02 21:47:00 -04:00
fireshaper 768c893130 Step 5.5: add guest accounts
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-02 21:45:12 -04:00
fireshaper bcae75d822 Step 5.4: add test database harness
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-02 21:41:00 -04:00
fireshaper 5754b7ca25 Step 5.3: add database schema and migrations
CI / check (push) Successful in 1m9s Details
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-02 21:38:30 -04:00
fireshaper c809e10d7e Step 5.2: add server time endpoint
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-02 21:35:52 -04:00
fireshaper af849feea7 Step 5.1: add Fastify skeleton
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-02 21:35:06 -04:00
fireshaper 439c35ae35 Step 4.2: add API route catalog
CI / check (push) Successful in 40s Details
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-02 20:51:45 -04:00
fireshaper f95acd06ba Step 4.1: define API data shapes
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-02 20:50:48 -04:00
fireshaper f33a9155cc Step 3.18: define sim public API and add coverage
CI / check (push) Successful in 38s Details
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-02 18:51:49 -04:00
fireshaper 50b038047f Step 3.17: add dispatch resolution
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-02 18:50:58 -04:00
fireshaper a685235e90 Step 3.16: add XP and leveling
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-02 18:50:14 -04:00
fireshaper 1472dc6786 Step 3.15: add in-flight position and progress
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-02 18:49:46 -04:00
fireshaper 039df0ac5b Step 3.14: add reposition dispatch
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-02 18:49:14 -04:00
fireshaper e3967c10e4 Step 3.13: add dispatch record creation
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-02 18:48:11 -04:00
fireshaper 1e3b45b529 Step 3.12: add dispatch validation
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-02 18:47:24 -04:00
fireshaper dfd76ba9bc Step 3.11: add pilot eligibility
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-02 18:46:15 -04:00
fireshaper 0a0a43a54e Step 3.10: add tutorial contract board
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-02 18:45:48 -04:00
fireshaper b7a40aa490 Step 3.9: add contract board generation
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-02 18:45:01 -04:00
fireshaper cbcc981b6d Step 3.8: add contract model and payout
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-02 18:44:02 -04:00
fireshaper 0e5faab454 Step 3.7: add range and landing eligibility
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-02 18:43:25 -04:00
fireshaper ace0d8502d Step 3.6: add fuel cost
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-02 18:42:47 -04:00
fireshaper 36bdbf3af0 Step 3.5: add travel time
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-02 18:42:27 -04:00
fireshaper ccd571fdd0 Step 3.4: add route distance
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-02 18:42:02 -04:00
fireshaper 301c0934e1 Step 3.3: add location positions
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-02 18:41:39 -04:00
fireshaper 79c63c13b7 Step 3.2: add seeded random number generator
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-02 18:40:49 -04:00
fireshaper f44789878e Step 3.1: add game clock conversion
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-02 18:40:19 -04:00
fireshaper 241e2613f4 Step 2.6: export a single content bundle
CI / check (push) Successful in 24s Details
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-02 17:47:44 -04:00
fireshaper 2c211524d3 Step 2.5: add the default game config
Rescales money values so tutorial runs pay meaningful amounts, and moves
the game epoch from .env.example into GameConfig.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-02 17:47:15 -04:00
fireshaper 6804a7120c Step 2.4: add cargo types and skills
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-02 17:43:32 -04:00
fireshaper 10ded07ea6 Step 2.3: add the three ship models
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-02 17:42:52 -04:00
fireshaper 24d9942336 Step 2.2: add the five locations
Also fixes Prettier formatting in DECISIONS.md from Step 2.1.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-02 17:42:07 -04:00
fireshaper 8ff2df976e Step 2.1: define content schemas
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-02 17:41:05 -04:00
fireshaper 87c17699c2 Step 1.5: add local Postgres via Docker Compose
CI / check (push) Successful in 22s Details
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-02 17:35:56 -04:00
fireshaper dd5565db21 Step 1.4: update progress
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-02 17:35:01 -04:00
fireshaper 0b49a325c5 Step 1.3: add Vitest test runner
Root config runs each workspace package as a Vitest project. Adds a
trivial passing test in packages/sim.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-02 17:29:56 -04:00
fireshaper afa8eb7b8f Step 1.2: add ESLint and Prettier
Shared root config. sim and content forbid Math.random, Date.now and
argument-less new Date() to keep them pure.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-02 17:29:26 -04:00
fireshaper 66308e7cdc Step 1.1: create pnpm monorepo
pnpm workspace with apps/web, apps/server, packages/sim, packages/schema
and packages/content, each extending a strict tsconfig.base.json.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-02 17:28:27 -04:00