Commit Graph

249 Commits

Author SHA1 Message Date
fireshaper 63192f9129 Step 15.5: sim: stranding and emergency fuel
CI / check (push) Has been cancelled Details
The no-strand rule now asks whether the ship could leave the
destination on a full tank where fuel is sold, or on what is left
after the leg where it isn't. Emergency fuel is offered to an idle
ship that can't reach anywhere when the player can't afford the
shortfall: the cheapest leg's fuel at 2.5x the local price.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-10 01:37:05 -04:00
fireshaper 276cdbe611 Step 15.4: sim: tank, burn, and refuel
CI / check (push) Has been cancelled Details
Ships carry fuel: a leg burns from the tank at departure (no credits),
dispatch needs the fuel on board (not-enough-fuel), a leg's fuel cost
is fuel burned x the tank's average price, and Auto top-up refills on
landing with what the credits cover. The save gains tank fields (save
version 2, migration fills every tank). Market ships arrive full; the
deal's ships come with a quarter tank to keep the balance targets.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-10 01:32:09 -04:00
fireshaper c627bb9954 Step 15.3: content: fuel
CI / check (push) Successful in 5m43s Details
Ships get a tank capacity and a burn rate instead of range and fuel
cost; locations get a fixed fuel price and a sellsFuel flag instead of
the launch cost multiplier. A leg burns burn rate x the economic
distance of (distance / origin factor), and reach is a full tank's
worth. Tanks are sized so every reach answer is unchanged.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-10 01:05:13 -04:00
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 974597b602 progress: restore the allowed-host note in the Step 14.0 inventory
CI / check (push) Has been cancelled Details
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-09 19:09:54 -04:00
fireshaper ba03d78051 Step 14.0: inventory of what the port preserves
CI / check (push) Has been cancelled Details
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-09 19:09:44 -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 2bbcaa4d05 Allow deadhead.belowland.com as a Vite dev and preview host
CI / check (push) Successful in 7m58s Details
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-06 16:54:57 -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