Commit Graph

52 Commits

Author SHA1 Message Date
fireshaper d6bca5b1a2 Step 15.1: content: fixed positions
CI / check (push) Successful in 7m40s Details
Locations get fixed polar coordinates (the Moon as an offset from
Earth) and astronomy-engine is removed, so positions now come from
content. Ranges move into CR-015's reach bands for the fixed distances,
and the Lighter's price drops to 36,000 to keep the balance targets.
Date-sampled tests become yes/no.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-10 00:43:09 -04:00
fireshaper 0125af2086 Step 14.11: retire the server
CI / check (push) Successful in 6m6s Details
Removes apps/server (Fastify, Drizzle, pg-boss, Better Auth), the
development Postgres, the backup code routes, the web HTTP client and
the CI database service. Deployment is static hosting with Caddy. A
Playwright test checks that the production build loads only its own
files.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-09 23:50:05 -04:00
fireshaper 30aa4cd5bd Step 14.10: export and import save
CI / check (push) Successful in 7m40s Details
Export save turns the whole save into one code (gzip + base64url
behind a DEADHEAD1. prefix) to copy or share as a file; Import save
takes a pasted code or a file, migrates and validates it, and replaces
the company after confirmation. A bad code is refused and changes
nothing. These replace the backup code. Debug info now gives the save
id, save version and storage type.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-09 20:48:57 -04:00
fireshaper f53ed1657b Step 14.9: local notifications
CI / check (push) Successful in 7m46s Details
The engine derives the notification schedule from the save after every
saved change (arrivals, rest ending, upgrades; same-minute events
combined) and replaces the platform's schedule. Capacitor
LocalNotifications on iOS/Android, a no-op on the web. Permission is
asked after the deal; Settings has an On/Off toggle.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-09 20:35:15 -04:00
fireshaper 4c165b9b16 Step 14.7: the client runs the game on the device
CI / check (push) Has been cancelled Details
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-09 20:25:00 -04:00
fireshaper 29f64f1ac2 Step 14.6: resolution loop
CI / check (push) Successful in 8m6s Details
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-09 19:42:41 -04:00
fireshaper 9dd557f7c0 Step 14.5: port the game logic to engine commands
CI / check (push) Has been cancelled Details
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-09 19:38:25 -04:00
fireshaper b100e8664b Step 14.3: save storage with rotating backups
CI / check (push) Has been cancelled Details
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-09 19:16:39 -04:00
fireshaper c473580c56 Step 14.2: save document schema and migrations
CI / check (push) Has been cancelled Details
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-09 19:14:21 -04:00
fireshaper 6cdffa2a43 Step 14.1: engine package and device clock
CI / check (push) Has been cancelled Details
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-09 19:11:20 -04:00
fireshaper e3829bb8a1 Developer tools for pilots, ships and discovery
CI / check (push) Successful in 7m29s Details
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-08 21:47:08 -04:00
fireshaper bd89c4cb58 Step 13.3: nightly database backups
CI / check (push) Has been cancelled Details
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-06 17:53:54 -04:00
fireshaper c2f42b1541 Step 13.2: Caddy serves the app and proxies the API
CI / check (push) Has been cancelled Details
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-06 17:47:23 -04:00
fireshaper 5c9534036f Step 13.1: containerize the server
CI / check (push) Has been cancelled Details
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-06 17:41:14 -04:00
fireshaper c02126c908 Step 12.1: balance simulation, economic distance and reachable first contact
CI / check (push) Successful in 6m17s Details
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-05 19:16:32 -04:00
fireshaper 9b45a239a5 Step 11.2: offline shell behaviour
CI / check (push) Successful in 6m11s Details
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-05 18:13:31 -04:00
fireshaper 979a1ad1a8 Step 10M.2: goals for a Market purchase and a Priority delivery
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-05 11:43:38 -04:00
fireshaper 60e29f7b1d Step 10L.3: no-strand rule
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-05 01:27:41 -04:00
fireshaper c15b5ef74e Step 10K.11: developer tools in non-production builds
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-05 00:05:58 -04:00
fireshaper 5030341eb7 Step 10K.10: About section with version, build and debug info
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-05 00:00:37 -04:00
fireshaper 69cc5ff3a7 Step 10K.8: backup codes and restore on the server
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-04 23:44:52 -04:00
fireshaper 531bb77fea Step 10K.6: start a new company on the server
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-04 23:32:47 -04:00
fireshaper 5f202884af Step 10K.5: rename company, and seeded default names
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-04 23:28:11 -04:00
fireshaper c73c9a4116 Step 10K.1: device preferences store
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-04 22:57:11 -04:00
fireshaper f042555502 Step 10J.6: pilot share in the dispatch sheet and delivery summaries
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-04 22:23:17 -04:00
fireshaper 9eae5ae64d Step 10J.4: the veteran pilot comes with the deal
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-04 21:42:43 -04:00
fireshaper c352936a09 Step 10I.4: upgrade tables, API ship fields and the start upgrade route
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-04 19:25:42 -04:00
fireshaper 5be66372d7 Step 10G.6: goods in API summaries, too-slow code and backfill migration
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-04 17:12:51 -04:00
fireshaper 07704e6732 Step 10D.4: pilot duty columns, API fields and rest route
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-03 21:56:39 -04:00
fireshaper 1fa7441c9f Step 10C.9: pause the map when hidden, cap resolution, pack crowds
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-03 19:38:52 -04:00
fireshaper 09a89b2a74 Step 10C.7: locks, HQ markers and idle badges on the map
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-03 19:29:01 -04:00
fireshaper 5916cf8728 Step 10C.6: sprite bodies, orbits, labels and tap targets
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-03 19:25:01 -04:00
fireshaper db69e0b2b1 Step 10C.4: load map art with per-asset fallback
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-03 19:12:09 -04:00
fireshaper 5612788c94 Step 10C.3: map style config
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-03 19:08:45 -04:00
fireshaper f239f452e7 Step 10C.2: generate optimized map art with sharp
CI / check (push) Successful in 3m26s Details
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-03 19:07:40 -04:00
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 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 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 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 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 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 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 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 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 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 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 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