Commit Graph

273 Commits

Author SHA1 Message Date
fireshaper 0a1ca1d3ea Step 15.2: sim: static positions and distances
CI / check (push) Successful in 5m44s Details
Positions, distances, range checks, trip times, fuel and the no-strand
rule no longer take a time argument; the 48-hour no-strand margin goes
with it. Tests now check that a route's pay, trip time and fuel are the
same whenever it is offered or flown.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-10 00:54:57 -04:00
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 23b3d7ec97 Record CR-015: fixed map and fuel tanks (Phase 15)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-10 00:30:40 -04:00
fireshaper 13eb058052 Step 14.12: plan amendments and regression
CI / check (push) Successful in 5m52s Details
Applies CR-014's amendments to the implementation plan (server phases
superseded, client and end-to-end steps amended, Phase 13 replaced by
static hosting) and adds its table for translating later change
requests as plan section 0.6. Rewrites tech-stack.md for the
local-first stack. Phase 14 is complete.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-09 23:56:38 -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 f77f786408 Step 14.8: company creation on the device
CI / check (push) Successful in 7m44s Details
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-09 20:25:59 -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 fcc3047af8 Step 14.4: mutation queue and tab lock
CI / check (push) Successful in 7m24s Details
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-09 19:19:03 -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 8ffd408290 CR-014: record the local-first change request
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-09 19:09:22 -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 ec8971a16a DECISIONS: clarify backup retention wording
CI / check (push) Successful in 7m15s Details
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-06 17:54:04 -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 9d72cace13 Raise base pay for every cargo class by 50%
CI / check (push) Successful in 7m31s Details
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-06 16:29:47 -04:00
fireshaper 1c115a7465 Step 12.6: end-to-end: pilot progression
CI / check (push) Successful in 7m4s Details
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-05 19:37:16 -04:00
fireshaper 5e8b5b45e4 Step 12.5: end-to-end: discovery
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-05 19:37:16 -04:00
fireshaper 2dbbe23332 Step 12.4: end-to-end: offline progress
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-05 19:37:16 -04:00
fireshaper e3ac95f23f Step 12.3: end-to-end: tutorial to first ship
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-05 19:37:15 -04:00
fireshaper 1909eddfb2 Step 12.2: tutorial economy check on measured numbers
CI / check (push) Successful in 6m14s Details
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-05 19:23:44 -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 feb84aecaa Step 11.1: installable PWA
CI / check (push) Successful in 6m11s Details
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-05 17:53:56 -04:00
fireshaper 6b56af7d1e Lower Earth launch cost to 2.1 so both deal ships can fly at once
CI / check (push) Successful in 5m26s Details
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-05 13:41:16 -04:00
fireshaper 60069b14f6 Step 10M.5: CR-013 plan amendments and regression
CI / check (push) Successful in 5m10s Details
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-05 12:02:57 -04:00
fireshaper f78b488baa Step 10M.4: deal modal lists the Clipper and the veteran
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-05 11:57:45 -04:00
fireshaper 256fb7c464 Step 10M.3: the deal hands over the veteran's Clipper
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-05 11:53:50 -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 b8ff9ba47a Step 10M.1: veteran skill and deal loan from content
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-05 11:34:23 -04:00
fireshaper 038f09bb50 CR-013: record the veteran's Clipper change request
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-05 11:26:22 -04:00
fireshaper f7cb312ea1 Step 10L.11: CR-012 plan amendments and regression
CI / check (push) Successful in 7m27s Details
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-05 03:24:02 -04:00
fireshaper 264a933703 Step 10L.10: Lighter and Clipper art
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-05 02:04:41 -04:00
fireshaper 05e7fbc535 Step 10L.9: stranding reason in the dispatch sheet and deadhead picker
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-05 01:57:12 -04:00
fireshaper 0658c9984d Step 10L.8: map reachability per origin
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-05 01:52:44 -04:00
fireshaper 750ce54b7d Step 10L.7: Market shows roles and reach
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-05 01:48:09 -04:00
fireshaper 6bd358b52d Step 10L.6: would-strand on the server, buying the new ships
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-05 01:43:03 -04:00
fireshaper 8d8df71ba9 Step 10L.5: upgrade caps for the new lineup
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-05 01:38:50 -04:00
fireshaper 776a890757 Step 10L.4: reach table tuning
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-05 01:32:01 -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 0a0189b3e7 Step 10L.2: effective range from origin
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-05 01:18:50 -04:00
fireshaper faa23d2945 Step 10L.1: range factors, Lighter and Clipper
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-05 01:11:05 -04:00
fireshaper e1ce7ee7d0 CR-012: record lighter, clipper and per-leg range change request
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-05 00:59:33 -04:00
fireshaper cab0a1cb81 Step 10K.12: CR-011 plan amendments and regression
CI / check (push) Successful in 4m59s Details
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-05 00:11:48 -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 106d44d384 Step 10K.9: backup and restore screens
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-04 23:49:55 -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 29653e2fdc Step 10K.7: rename and start-over flows in Settings
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-04 23:36:35 -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 bc29c515eb Step 10K.4: reset map view and show tips again
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-04 23:21:39 -04:00
fireshaper 621eecb737 Fix the header on phones: credits and clock no longer overlap
CI / check (push) Successful in 4m37s Details
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-04 23:17:41 -04:00
fireshaper 754242dde6 Step 10K.3: clock, countdown and reduced-motion settings applied everywhere
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-04 23:11:34 -04:00
fireshaper 74cc29c8e3 Step 10K.2: settings screen behind a header gear
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-04 23:01:02 -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 5813fce556 CR-011: record settings screen and company backup change request
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-04 22:53:11 -04:00
fireshaper fcdefb911f Step 10J.7: CR-010 plan amendments and regression
CI / check (push) Successful in 4m28s Details
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-04 22:27:38 -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 8cafa50027 Step 10J.5: the veteran in the deal modal and on the Pilots screen
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-04 22:14:16 -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 8acc81bc10 Step 10J.3: goal 4 becomes flying a contract with the veteran
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-04 21:35:20 -04:00
fireshaper cb54165c90 Step 10J.2: profit-share pilot pay in resolution
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-04 21:28:56 -04:00
fireshaper e0742fff76 Step 10J.1: pilot profit share config and the veteran pilot
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-04 21:22:21 -04:00
fireshaper 727b0c02da CR-010: record veteran pilot and profit-share pay change request
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-04 21:18:20 -04:00
fireshaper 5a2efe5da6 Step 10I.9: CR-009 plan amendments and regression
CI / check (push) Successful in 4m9s Details
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-04 19:47:45 -04:00
fireshaper 3bf8bc4eaa Step 10I.8: shop news in the away summary and on HQ
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-04 19:43:13 -04:00
fireshaper b5f2801076 Step 10I.7: effective ship stats across the client
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-04 19:38:51 -04:00
fireshaper e205194758 Step 10I.6: upgrade shop on the Fleet screen
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-04 19:34:31 -04:00
fireshaper f81a8e41ef Step 10I.5: start upgrades on the server
CI / check (push) Successful in 4m50s Details
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-04 19:31:37 -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 0338d5fdbe Step 10I.3: upgrade validation, cost and the ship-in-shop check
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-04 19:17:42 -04:00
fireshaper 92520dbc4f Step 10I.2: effective ship stats in the sim
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-04 19:13:11 -04:00
fireshaper 0a7e9d97c8 Step 10I.1: ship upgrade content
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-04 19:08:59 -04:00
fireshaper bf166c1deb CR-009: record ship upgrades change request and decisions
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-04 19:03:36 -04:00
fireshaper 4acf346005 Fit jobs pick from all goods that fit; no undersized heavy lots
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-04 18:20:56 -04:00
fireshaper 394fc1b0db CR-008: boards that feel fresh (Phase 10H) plan
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-04 17:56:36 -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 46dd3777c9 Step 10G.5: tutorial contracts carry named goods
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-04 17:07:54 -04:00
fireshaper bdd5fd8509 CR-007: cargo goods, Priority and shippers (Phase 10G) plan
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-04 16:49:14 -04:00
fireshaper 540690590c Logbook: show deadheads as an empty flight with fuel, not +0 cr
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-04 12:36:15 -04:00
fireshaper 215f380e80 Step 10F.3: boards fit the player's fleet
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-04 12:17:08 -04:00
fireshaper bd2d2df14d Step 10F.1: highlight jobs too heavy for your ships
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-04 12:15:04 -04:00
fireshaper 81e71e8436 Config: 10-minute board period and 10-hour rest
CI / check (push) Successful in 4m25s Details
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-04 00:13:49 -04:00
fireshaper f4ddf1dc04 Step 10E.9: CR-005 plan amendments, regression and review screenshots
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-03 22:55:43 -04:00
fireshaper 6d5ea7cb48 Step 10E.6: fleet and market with ship art
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-03 22:45:23 -04:00
fireshaper 939ee45943 Step 10E.5: contracts, tutorial board and dispatch sheet
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-03 22:42:25 -04:00
fireshaper a69ffcc434 Step 10E.4: HQ dashboard
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-03 22:37:28 -04:00
fireshaper 1daed1d251 Step 10E.3: HUD header, icon navigation and attention badges
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-03 22:32:38 -04:00
fireshaper 526ca138fc Step 10E.2: UI kit
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-03 22:27:36 -04:00
fireshaper 45eafb2503 Step 10E.1: fonts, theme tokens and space backdrop
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-03 22:24:29 -04:00
fireshaper 7d8eb3fcfe Step 10D.10: CR-004 plan amendments and regression
CI / check (push) Successful in 3m34s Details
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-03 22:14:04 -04:00
fireshaper 9939cd3eed Step 10D.9: rest in the away summary and on HQ
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-03 22:10:48 -04:00
fireshaper ea561b4d74 Step 10D.8: board refresh countdown and the nothing-here prompt
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-03 22:08:43 -04:00