Commit Graph

275 Commits

Author SHA1 Message Date
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 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 920f88b34d Step 1.4: ignore in-workspace pnpm store in CI
CI / check (push) Successful in 22s Details
The Gitea runner places the pnpm store inside the workspace, so
prettier --check failed on its files.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-02 17:34: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