CR-021 §6: plan 0.3, 0.5 and 12.1, CR-001 goals note, CR-014 Step 14.6
(the event-queue catch-up) and CR-019 (pilots choose from completable
boards). Full suite and e2e pass.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
An away scenario in the balance simulator: hired pilots fly Independent
for 8 hours and earn a median 56% of active play with the same fleet
(target 40-80%), never below the spending floor or stranded (CR-021).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
A 'Yours for' chip in the first-look window, a 'Catching up on your
fleet' indicator for slow catch-ups, and a per-pilot logbook with company
totals on the away sheet (CR-021).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Buy the Dispatch Office on the Bridge; set hired pilots Independent,
see what they're doing and edit their orders on Pilots; the spending
floor in Settings; an Independent badge on Fleet (CR-021).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
CR-020 and Phase 20 went to the Bridge dashboard, recorded first in
another session. Independent Pilots is CR-021 (decisions 0.5.122-0.5.130);
its Steps 20.1-20.5 commits are Steps 21.1-21.5.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The dispatch sheet tells the engine which contract the player has open;
Independent pilots leave it alone, and the loop runs their decisions
while the app is open (decision 0.5.122).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Commands and the resolution loop replay arrivals and Independent
pilots' decisions in time order, at most 7 days, in chunks with
progress; the same time always gives the same save (decision 0.5.125).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Commands to buy the Dispatch Office, set a pilot's mode and orders, and
set the spending floor; save version 5 starts every pilot on Manual
(decisions 0.5.118-0.5.120).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Pure functions for Independent pilots: the jobs they may take, profit
per hour, fuel bought only for the leg above the spending floor, and the
chosen action (decisions 0.5.120-0.5.124).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
GameConfig.independentPilots: Dispatch Office price, first-look window,
turnaround, empty periods before heading home, catch-up cap and spending
floor (CR-020).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
CR-019 §6 amendments (plan 0.5.52, 0.5.53, 3.9, 9.4, 12.1; CR-002,
CR-006, CR-007). The balance player reads boards for the qualifying
fleet; e2e 12.6 learns Heavy Cargo before a Heavy job is offered.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Contract cards drop the Too heavy and Too slow badges; an empty board
says no job fits the fleet, with the refresh countdown (decision 0.5.114).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Location boards are generated for the qualifying fleet and store it;
reads hide jobs it can no longer complete. Save version 4 drops stored
boards (decisions 0.5.115, 0.5.117).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
With a fleet, boards keep only candidates some pair can complete, up to
the board size or 200 attempts (decision 0.5.114). The balance player
keeps enough cash to refuel landed ships before buying one.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
permanentFailure, completability and qualifyingFleet: a job is
completable when some qualifying ship-and-pilot pair passes every
permanent check (decisions 0.5.114-0.5.116).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
CR-018 §6: plan 0.5.94, 0.5.96, 0.5.97 and 12.1, CR-015 §3, D5, Steps
15.4 and 15.6, CR-013 Step 10M.3 amended. The e2e flying helper refuels
before each trip now that ships are on Manual.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
A Fleet card warns Low fuel when the tank can't fly the ship's longest
leg to a discovered place; the fuel sheet lists Manual first as the
default (decisions 0.5.112, 0.5.113).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
New ships (deal or Market) come full on Manual refueling; save version
3 puts every existing ship on Manual. The balance simulator refuels only
when a job needs it (decisions 0.5.111, 0.5.112).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Base fuel price 10 -> 5 cr/fu. No route is above 25% of the median
fitting payout but the Clipper's Mars -> Earth; the first purchase
window is now 30-95 min (user decisions, 0.5.110).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
For every purchasable ship and route it can fly, the leg's fuel at the
origin's price against the median payout of fitting contracts; the
balance script prints the table (decision 0.5.110).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
CR-017 §6: plan 0.5.30, CR-001 (story, 0.5.22, Steps 10A.1, 10A.3,
10A.7, 10A.8) and CR-011 Step 10H.4 amended. Full suite and balance
targets pass.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
A one-time tip after the deal and the notification permission prompt,
listing each pilot's unspent skill points, with Go to Pilots and Later
(decision 0.5.109). The engine client exposes the pending permission
prompt as ApiClient.notificationPrompt().
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The Pilots tab badge shows the total unspent skill points across all
pilots, hidden at zero (decision 0.5.109).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Tests the five-run deal: not after four runs, available after the fifth
at the Moon, both pilots and ships at Earth after accepting, and an
older save with four runs done needing one more. No save migration is
needed since the deal is worked out from the run count.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Tutorial runs earn their XP times the tutorial XP multiplier. At 2x
the five cheapest runs make exactly the 100 XP for level 1, so the
avatar always has a skill point at the deal.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Five tutorial runs before the deal and a tutorial XP multiplier of 2.
The deal no longer waits for the loaner to be back at Earth, since five
runs end at the Moon; accepting it still puts the avatar at Earth.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Applies CR-016's amendments to the implementation plan (eight
locations, the deferred list, content, map art, goods, fuel and balance
notes) and documents the belt and label planning. Phase 16 is complete.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Io and Europa sit at fixed screen offsets around Jupiter and Venus at
its place. Crowded label families fold into the parent's label with a
"+N" marker (the Jupiter system below zoom 2.5); tapping it or zooming
in shows all three. The haze strip is finer and repeats so it doesn't
streak when zoomed in. The discovery browser test waits for a Mars
first contact now that Venus competes for the slot.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Scatters 220 rocks from the six sliced images across the belt with a
seeded generator (denser in the middle, mostly small, varied rotation
and brightness), keeps them clear of Ceres at every zoom, and draws them
in one non-interactive container. Review screenshots added.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Draws the asteroid belt's haze as a ring mesh between 314M and 494M km
on the map's compressed scale: a strip drawn in code (or belt-haze.png
when provided) wrapped around the ring, static, non-interactive, above
the orbit rings and below routes and bodies. Review screenshots added.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The art script slices belt-asteroids.png into its six separate rocks
(connected regions of visible pixels, each cut out on its own) and
exports them at 64 and 128 px; an optional belt-haze.png strip is
supported. The source images are only read.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Older saves open with the three new places undiscovered and nothing
else changed (the save lists only discovered places, so no migration is
needed), Earth boards offer first contacts to Venus, and delivering one
discovers Venus and opens its board with Venus goods.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Every cell of the CR-015 reach table and the CR-016 additions holds with
the existing tanks, so no content changes: the step adds one test per
new cell, the Bulk Hauler's 900M km minimum, and the Courier's
Jupiter-system loop.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Venus Cloud City, Io Sulfur Works and Europa Ice Station join the map
(fixed positions, Io and Europa riding with Jupiter), with their
fuel prices, range factors, shippers and sprites. Each makes a
Standard good so boards work there. The first-purchase balance window
widens to 45-95 minutes (user decision).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Applies CR-015's amendments to the implementation plan (deferred list,
decisions, content, sim, client and phase notes). The balance check now
also confirms no simulated ship ever needs emergency fuel while the
player has credits on Auto top-up. Phase 15 is complete.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The map places every body once and moves only flights; orbit rings
stay as decoration. Reach wording loses its dates: "From Earth: Moon,
Mars", "Out of range (...)", and the Market's "Other dates" line is
gone.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Ship cards show a fuel gauge and refuel policy, with a Fuel sheet to
fill or buy an amount, switch policy, and order emergency fuel when it
is offered. The dispatch sheet and deadhead picker show fuel needed,
on board and left after, price fuel at the tank's average, and offer
"Refuel here first". Locations show fuel prices with the cheapest
marked, and delivery summaries list Auto top-ups.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Refuel a ship where it is (fill or an amount, at the local price),
switch its refuel policy, and order emergency fuel when the sim offers
it (fuel at 2.5x the local price, cost added to the loan). The save
fields and migration landed in Step 15.4.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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>
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>
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>
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>
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>