Commit Graph

99 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 bf19f498b8 Step 10H.2: each board contract pays its own market rate
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-04 18:02:31 -04:00
fireshaper 6e427e52f7 Step 10H.1: pay variance setting and five more early goods
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-04 17:59:25 -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 f8d2f538ca Step 10G.4: Priority contracts fail too-slow ships
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-04 17:04:55 -04:00
fireshaper 83d0b3900f Step 10G.3: goods, Priority and shippers in board generation
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-04 17:01:14 -04:00
fireshaper 13f5b04ffb Step 10G.2: contracts carry goods, shippers and Priority fields
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-04 16:59:00 -04:00
fireshaper 8a7b612bc7 Step 10G.1: goods catalog, shippers and Priority config
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-04 16:53:17 -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