v0.2026-11-06

Survival buildings and money-need demolish

- Fixed: a survival building (farm, life support) is no longer refused for lacking idle workers while the need it makes is short on that body. Its crew comes from lower tiers, so waiting on idle workers never freed them, and AI colonies sat short on food with a farm refused. - Fixed: a critical goal protects only the buildings that serve it. Before, any critical goal on a body protected every building there from demolition, so money-short empires had nothing to demolish. - Fixed: money-need demolish now matches unfunded buildings by `fundingKey` (body::building). It compared bare building ids, which the funding ledger never emits, so no money-short empire ever offered a demolish.

v0.2026-11-05

Supplies reach your other systems

- Fixed: freighters and miners now weigh jobs in other systems by their real route. Before, any trip into another system counted as impossibly far, so claimed bodies in a second system never got the materials for their buildings. - Changed: trips inside a system now cost more through asteroid fields and nebulae, the same as the ships actually fly them. - Fixed: when money runs short, empires now scrap ships above the fleet size the brain actually plans. Before, this check read only the sizes a player sets by hand, so AI empires never scrapped anything.

v0.2026-11-04

A reloaded game plays the same, safer saves

- Fixed: right after you load a save, freighters no longer take the stock a colony keeps back for its own needs. For the first few ticks after a load they could empty the whole pile, so a reloaded game played differently from one that never stopped. - Changed: game messages and alerts read exactly as before but are stored as codes, so saves upgrade to a new version on load and old alerts are cleared once. - Fixed: saving to a full slot no longer deletes the old save before writing the new one. If the write fails (for example, browser storage is full), the old save is kept. - Fixed: if your newest save is damaged, the game now loads the one before it and tells you with an alert, instead of refusing to start. - Fixed: a file that is not a Frontier Command save (no version, a bad version, or no metadata) is now refused as "Not a Frontier Command save", instead of being loaded unchecked or crashing. - Changed: about a third faster on large empires. On a big save, 1,000 ticks now take about 27 seconds of CPU instead of 39, mostly from freight matching. - Fixed: if part of a screen fails to load (for example on a bad connection), it now says so and offers a Retry button instead of staying blank.

v0.2026-11-01

Freighters carry several materials, the full Catalogue

- Added: a freighter now carries several materials in one trip. At the source it also loads other materials the same destination is asking for (up to 4 extras, only from stock that source has available for export), and each one is delivered and paid against its own order. - Fixed: extra loads survive the whole trip. An extra's order is no longer deleted while it is on board, scrapping a ship frees all its bookings, and the brain counts extras as materials on the way. - Changed: the ship panel and the Economy cargo list name the order each material on board is carried for, including extra loads. - Fixed: the brain no longer queues a build whose material can't reach it. Material readiness now counts only stock at the build site, other bodies' spare above their keep-back, cargo on the way and real production. Before, it counted every pile, so a build waiting on polymers that sat behind another colony's keep-back looked 80% ready and waited forever. A material with no source at all now makes the build 0% ready. - Changed: the Catalogue lists every deposit on a body (no more "+N more"), and the System filter is a searchable list instead of one button per star. - Changed: new star systems get proper star names first (Aldebaran, Kapteyn's Star) and only fall back to catalogue numbers like "Gliese 1061" once every proper name is used. Systems you have already found keep their names. - Fixed: when growth, landing passengers and a new colony all change one planet's population in the same tick, every change now counts. Before, only the last one did, so colonists appeared from nothing and that tick's growth was lost. - Fixed: the "treasury is running out" alert no longer disappears and reappears every few ticks while buildings stay unfunded. - Changed: saves made before this version can no longer be loaded; the Saves screen says the save was made by an older version. - Fixed: you can no longer set a rival empire's ship's operating range or home port, send passengers into a system you have not discovered, or "claim" a body you already own (it now says "already claimed").

v0.2026-10-31

Freight by need, the runway money rule, miner tuning

- Changed: a colony's "keep a bit of everything" shelf order for a good it neither uses nor needs for a build is now low priority, instead of critical at double price. - Fixed: freighters now pick trips by what the destination needs: priority × amount moved ÷ trip time. A build waiting on 200 polymers is served before a big shelf order of goods nobody uses, and a colony order is filled from the source that delivers soonest instead of the biggest pile. - Changed: the homeworld no longer starts with deliberately poor iron. Home iron ore is now guaranteed at richness 0.5 or better with no size cap, like heavy metals and silicates. Existing saves keep their generated deposits. - Changed: the brain's money rule is now a runway. A build that would leave income below upkeep is allowed while the treasury still covers 5,000 ticks of the deficit after it. The old rule refused every such build, and since every game starts below upkeep, AI empires never built anything. - Balance: tax per person raised from 0.03 to 0.035 credits per tick. - Changed: GOVERN keeps a need's last offers after the need closes, marked "closed at tick X", until it leaves the board. - Changed: a colony at 95% or more of its housing with stability 49 or higher now builds or deepens housing first, ahead of its other goals, still within the runway, worker and copy limits. - Balance: miners weigh urgency more and distance less. Priority weights are critical 6, high 3, normal 2, low 1; both distance penalties use exponent 0.5. Filler mining jobs (standing orders) count half, and are charged the haul to your nearest colony, so a miner no longer sits on filler work while a colony is critically short. - Changed: "Extract here" now creates its own mining job on the flagged body, outside the 3 filler slots. Before, it only raised a job that already existed there.

v0.2026-10-29

The brain shows its working

- Fixed: the brain now prices a colony mine on the deposit it would actually dig. A Mine on a 10%-rich deposit was scored as if it were 100% rich, so the brain kept proposing more homeworld mines over a miner ship to a 99%-rich rock. - Changed: a miner-ship offer now counts the flight to the rock, and a mine and a miner ship can both answer one shortage. A mine covers only what it really makes, and the rest stays open for a ship. - Fixed: the Catalogue's resource filter shows only bodies whose deposits you have surveyed, and puts the filtered resource first in each row. - Changed: survey ships spread out. A body another of your survey ships is already heading to or surveying counts as further away, so three ships pick three bodies instead of queueing on the nearest one. A "survey here" flag still draws a ship first. - New: GOVERN shows how the brain chose. An empire need on the Goals tab opens to every offer it weighed (a mine here, a miner ship to a rock, a deepen) with distance, richness, amount left, output per tick, price, running cost, time to deliver and score, marked chosen, lost or refused with the reason. A proposal that answers a need shows its offer and links to the full list.

v0.2026-10-28

Faster ticks, freight lanes fixed

- The game runs about 1.8× faster on large saves (fewer route rebuilds per tick). - Fixed: a colony that holds an input, or has a surplus of it on another body it can lane to, is no longer refused as having no inputs. The Biosphere Farm is offered when its target body already holds the input or an own surplus can reach it. - Fixed: when a needed producer is locked behind a capital level, the brain now offers to deepen the capital, scored like every other offer. Quantum Crystals can now be queued once capital reaches level 3. - Fixed: removed the DEV console warning 'arrival missing bodyId' that printed for every fleet arrival at a system with no body target. - Fixed: a supply or demand lane whose signal is still live is no longer expired on the pass where creation refreshes it. At a fast-forward stride of 100 (longer than the 60-tick duration) every live lane was deleted and reposted every other pass, leaving gaps; save20261028 Terran 2 hydrocarbons now stays offered (contract-59760 open at +5,000 ticks, available 2,125). - Fixed: freight lanes count only freighters. A miner on a lane's supply no longer takes a freighter slot, and a freighter carrying toward a demand counts on the lane it loaded from (`originContractId`), not every lane into that demand. Two routes into one demand (Toxic 1 and Terran 2 into Terran 13) each get their own 3 slots, and a new `economyParameters.maxFreightersPerDemand` (5) caps the demand total. - Fixed: every brain cancel of its own queued order now writes one decision-log line naming the item, the body and the reason with numbers, e.g. "Biosphere Farm cancelled: 25 of 70 Structural Steel after 6001 ticks". Covers stale materials, credit-stuck, stale crew, the v58 reset and the stale claimed-body build.

v0.2026-10-27

The layered brain

- Every ship now has a running cost: 1/100,000 of its credit build price per tick (a Pickaxe pays about 2.2 cr/t). It shows on the ship panel and as a "Ships" line in the Empire window, and it counts in your credit income. - The brain now weighs every build by what it delivers against its price (compared with the money it has) and its running cost (compared with its income), and prefers what arrives sooner. It waits when the build budget can't pay, and it no longer adds upkeep that would push net income below 0 unless a colony is in crisis. Automated extractors are built only on large deposits where no workers are free for the crewed version; the old 5× price rule is gone. The colony seat no longer counts as a mine for every resource. - The brain now keeps four empire goals — Expand (settled bodies), Grow (population), Explore (surveyed bodies in reach), Industrialise (refined output) — each with a target that moves up once reached and never down. Its other goals sit under them. The empire-level review runs every 3,000 ticks, and a brain build order waits 6,000 ticks for its materials before it's cancelled (was 3,000). - Goals of the same priority now take turns: once one empire goal's build has won this cycle, the next pick goes to another. A stance now weights the builds serving its goals (an Expansionist empire favours what serves Expand). - The brain builds at most five copies of one building on a body (queued copies count); after that it deepens the ones standing. - Refineries are offered only when the empire already makes their inputs fast enough, or an open need for the input has work in hand; otherwise the brain logs "no inputs" and builds something else. - The brain now works out what the whole empire is short of (each raw or refined resource, sized per tick) and posts one need for it; one colony answers it with a producer at a time, and no other answers while that producer is still queued. Credits, data and energy are never needs. This replaces the old chain of produce goals. - Miners are now ordered against what the empire is actually short of: for each short raw resource the brain prices a miner ship on the best reachable deposit against a colony mine, and builds whichever scores higher (at most 4 ships per need). A colony that can staff its own mine keeps its deposit. Idle miners no longer count as needed. - The brain now watches for a short material (in the empire cycle, one cycle short with two held orders waiting). An active bottleneck holds that material against brain orders below its tier; the binding input and the best producer of it become its feeders at the bottleneck tier. The hold ends on supply covering demand, or after a timeout and cooldown. - The brain now pauses lower-tier buildings that draw an active bottleneck's binding input, freeing enough draw to cover the producer's shortfall, and resumes them once their own output stock runs low (under 1,000 ticks of cover). A player pause or resume always wins; under Ask the pause is a proposal. Queued orders' missing materials now count as demand, so a short material gets a need even before any order is held. - The brain starts over once on the v58 save update. Every goal and fleet floor it had set is cleared, and its orders that have not started yet are cancelled with a full refund. Orders already partly built keep going, and your own goals, floors and pauses stay as they were. - An automated extractor is now swapped for its crewed copy once the body has the idle workers to staff that copy and it costs less per unit. The brain builds the crewed one first, then clears the automated one, which needs a free plot or goes first when there is none. The swap survives a save and reload. - When money runs short (income below zero or treasury under the reserve), the empire now offers one clean-up per cycle, the one that saves the most credits: scrapping a ship it has held well above need for two cycles, demolishing an unfunded building that is not a survival building, or releasing an empty claim. Survey and explore ships are never scrapped, and a new game does not trigger any of this just because it starts with income below upkeep. - Freighters now follow the cargo the empire actually delivers, not the number of trade lanes it could form. A colony that has been receiving goods gets freighters sized to that flow and its round trip, so the AI stops building idle Transport Darts for routes that carry nothing. - Freighters are now sized to the cargo waiting on your trade routes, not to delivery history. A route's waiting cargo is the smaller of what its supply and demand still have unreserved, and its freighter need is that cargo over a round trip spread across a 10,000-tick horizon. Routes the reference freighter cannot reach count for nothing. - Survey and explorers now follow real work. Survey work is every in-reach body still to scan: an unsurveyed body costs its surface scan, and a surface-scanned body below the deep-scan cap costs the ticks to its next deep level, so deepening counts. Survey ships are that work over a 40,000-tick horizon, capped at 4 times the Exploration weight. Explorers come in a block of 2 times Exploration while any hex or door is unvisited, so the AI stops sending a fleet of explorers for every unvisited system. - Fixed: the Patch notes page opens again (it froze on a repeated version heading), and Settings lists the newest changelog entry first. - Fixed: GOVERN now says which brain made each choice. Every decision log row names its brain (Empire, Colony or Ship) above the ship or colony, and every proposal, open or in History, says whether the empire brain or a colony brain posted it. You can also search the log by brain. - Freight and passenger targets no longer read as 0 while you hold ships. Freighters are sized to all cargo still to move on your routes, reserved or not; routes a standard freighter cannot fly are timed by the -J freighter instead of being dropped; and a floor of 0.5 freighter per manned colony and 0.5 passenger per manned colony beyond the first applies, with each skipped route logged once.

v0.2026-10-26

Fast-forward does its full work

- Fixed: the +600 and +6000 buttons now do the full survey, loading and unloading work for the ticks they skip (before, +600 did a fifth of it and +6000 a hundredth). - A shipyard takes at most one waiting ship order beside each berth; the brain stops proposing more once the yard is full. - Power shows its real net rate again (e.g. +27/t), with no storage note. - God's view shows another empire's colony in full — buildings, stocks, construction, shipyard, population — read-only. - The decision log labels empire-brain decisions "Empire" instead of "Ship".

v0.2026-10-25

Stock on a body belongs to an empire

- Stock on a body now belongs to an empire: only that empire's ships can load it, ore your miner digs on a rock is yours, and every contract has one owning empire. Saves upgrade to version 57. - Your miners can no longer dig on a body another empire has claimed, and a manual mining order there says why. Each empire's stock on a body is offered for freight on its own. - Fixed: a colony no longer imports and exports the same resource at the same time. It exports only above its import line, and an offer on one side closes the other. - The brain no longer builds a crew-free building unless it holds 5× its price in credits and the materials on the body. Freighter target is now the larger of (miners ÷ 2) and (routes that can form ÷ 4), plus 0.5 per colony, with no rounding. - Fixed: the 5× price rule now covers only Automated buildings, so the brain can build housing again.

v0.2026-10-24

Logistics per empire, miners sized to the shortfall

- Logistics now lists only your own contracts, shortfalls and cargo, and other empires' shortage alerts no longer appear among yours. Shortage alerts name the colony, and the Proposals tab counts proposals only. - A colony's energy rate now shows what is actually stored; when storage is full it reads 0/t with "Storage full — X/t lost". - Miners are sized by how short a resource is, not one per resource, and a colony short of a raw resource it has a deposit for now asks for an extractor or a deeper one. A colony goal that cannot act no longer blocks the goals below it. - Brain buildings waiting on credits are cancelled and refunded after the usual wait, like those waiting on materials. - Colonies can hold one open proposal per goal, so a waiting proposal no longer hides others on the same world. Empires with no possible trade lane stop building freighters. - Standing fleet goals are labelled Standing instead of looking blocked, and Logistics shows how much a miner has dug while a freighter has yet to collect it. - Fixed: a mining dig's final tick no longer counts ore that never left the ground. - Fixed: a finished mining order now stays recorded as fulfilled instead of reopening and expiring.

v0.2026-10-23

What your empire sees, and God's view

- You now see only what your empire has found: other empires' systems, ships and activity stay hidden until you discover or detect them. The empire switcher lists only empires you have met. - Trade routes belong to one empire: only that empire's freighters work them. Saves upgrade on load. - A God view button in the top bar shows everything every empire can see — their systems, ships, planets, buildings, stockpiles, routes and contracts — read-only. Your own empire keeps every control. It switches off when you reload. - Another empire's colonies, ships, contracts and routes can no longer be given orders from your empire, even with God view on.

v0.2026-10-20.5

Groundwork for AI empires

- The game now runs two empires side by side in testing: each keeps its own explorers' targets, builds only its own ship designs, and never mines a rock another empire owns. AI empires are not in new games yet. - Ship designs now belong to one empire: each empire builds, edits and retires only its own, and a design name only has to be unique within your empire. - Switching to another empire and back now returns everything you changed there to automatic; that empire never waits for your approval. - A save made while you look at another empire still lists your own empire on the saves screen. - The top bar gains an empire switcher when more than one empire exists: it names the empire you are viewing, marks an AI view, and has a one-tap way back to your own. - The galaxy holds at most 100 systems. Once it is full, a jump point that has nothing to lead to is a dead end, and a new system is no longer made. - A first jump can lead to a system you already know: a door may link to a system already in the galaxy instead of making a new one. Linked systems are discovered and surveyed on arrival. - A jump point can turn out to be a dead end: it is marked "Dead end", ships will not take it, and the empire is told once. - New games now include one AI empire somewhere in the galaxy, found by exploring. - Groundwork: a newly found system can later be home to another empire. This is switched off for now. - Explorers now head through jump points nobody has opened yet, so the galaxy grows on its own. A Discover new systems setting turns this off per empire, fleet or ship. - The Discover new systems switch is in GOVERN → Fleet, in each fleet's settings and on each ship's Status tab. - New games start with a Survey Dart-J as well, so your empire and every AI empire can open new jump points from the start. - Every new game now starts the same way, so a game started from the Saves page gets its AI empire too. Each save keeps its own galaxy settings. - New games start from one Create new game page: choose AI empires, the most star systems and discovery settings. Settings → Game shows them during play and lets you change the ones that can change.

v0.2026-10-20.4

Reservations balance, darts take the job they can do

- Material a ship had reserved is now released when its job is dropped, expired or cannot be reached, and two deliveries to one contract in the same tick both count. Contracts no longer stay locked with material nobody is coming for. - A survey dart that cannot reach any exploration work now surveys, and one stuck where there is nothing to survey explores instead. Ships you or a fleet set by hand are never changed. - A finished extraction order no longer erases other ships' reservations on the same contract, and a ship with no survey or exploration work it can reach is named once in the decision log.

v0.2026-10-20.3

Explorers spread out, jump drive choice per job

- The home system no longer keeps 5 survey ships with nothing to do. Every discovered system now asks for survey ships for the bodies and deep scans it still has, plus explorers for its unvisited space (1 per 200 unvisited hexes, at least 1, at most 4, scaled by the brain's Exploration setting). - The brain splits survey ships by these counts. Explorers go to the system that is shortest of explorers, so every system with unexplored space gets searched at the same time. - If you set the survey/explore slider it still wins; GOVERN → Fleet shows what the brain wants and has a "Use brain's split" button. - Each ship job has a Mix / Jump only / No jump choice for the ships the brain builds. - While bodies still need surveying, the brain always keeps at least one survey ship surveying.

v0.2026-10-20.2

Miners spread out, Data in the top bar

- Mining ships no longer all crowd the homeworld. A standing order on a rock can no longer be taken over by a colony's request, and material reserved by no ship is released, so other deposits get offered again. - Two separate penalties now steer miners away from busy rocks: one when a colony building already extracts that resource there, one that grows with every ship already mining it. Both are set in tuning.json. - A miner can switch to a better resource on the same rock. - Distances to deposits in other systems are measured along the real route. - The top bar shows Data next to Credits and Population. Energy is a planet resource and stays on planet screens.

v0.2026-10-20.1

Colonies grow again, alerts clear themselves

- A food or water alarm that had already been solved could stay open forever and stop a colony from growing; it now closes as soon as the shortage is over, so the brain builds housing again. - Shortage, no-reserve and instability alerts disappear when the problem ends. Instability only warns below 50. - The brain no longer asks to "find" goods that only factories make. - An order on a claimed empty body whose materials never arrive is cancelled and refunded, like on a colony. - Contracts stuck as "partial" with material reserved by no ship are cleared. - A mining ship shows the rate it really delivers (after deposit richness), and a colony counts what ships mine on it as production. - A body short of 20 workers (was 50) now asks for colonists.

v0.2026-10-19.13

Always the latest version

The game now always loads from the server. The copy kept on your device is only used when you have no connection, and a new version takes over on the next load without asking. The "New version ready" toast is gone. Installing the game now works on the dev site.

v0.2026-10-19.12

Top bar fits on phones

On a phone the top bar is one line again, and credits, population and power no longer print on top of each other. It reads, left to right: pause, a speed button that opens the list of speeds, credits, population and power as short figures (324M, 168K, 69/t), and alerts. Tap any figure for the rest: the full figures with your credit rate, banked time and its controls, the galaxy/system switch, and the empire overview. Between phone and desktop widths the bar drops its galaxy/system switch (the map has the same one) so it fits on one line.

v0.2026-10-19.11

The game's own logo

The game icon is now an F drawn as jump lanes, ending on a cyan system. Installing the game shows screenshots of the system map and a colony.

v0.2026-10-19.10

New game icon, and the game installs

Frontier Command has its own icon: a hex of the star map with a jump lane reaching out to the next system. You can install the game from your browser to your home screen or desktop; it opens in its own window. Pinch zoom works again on phones.

v0.2026-10-19.9

Plays offline

The game works offline after your first visit. When a new version is ready, a message offers a Reload button; nothing changes until you press it.

v0.2026-10-19.8

Every table sorts

Every table in the game now sorts from its column headers — colonies, resources, deposits, cargo, contracts, trade routes, goals, budget and decisions included. Figures sort by their real amount, names alphabetically.

v0.2026-10-19.7

Sort a table by any column

Click a column header to sort a table; click again to reverse, a third time to restore the order. Numbers sort by their real value, so 900 sits below 4.5K.

v0.2026-10-19.6

Windows, menus and lists move

Windows, the sheet, right-click menus and the figure explanations now fade in with a short slide and fade out a little quicker. Messages slide in from the edge, and the rest close up smoothly when one goes. Table rows glide to their new places when a list re-sorts, but never just because a number changed. Moving between screens cross-fades. With reduced motion turned on in your system settings, all of it is instant. Closing a full window — an object's detail, the roll-ups, Settings, even with the Back button — and moving off the map's hover card now fade out too, instead of vanishing.

v0.2026-10-19.5

One map renderer

The old backup map renderer is gone; the map and the homepage film are drawn by one renderer, with its canvas mode covering browsers without WebGL. If a browser can run neither, the map area says so instead of staying blank. The `?map=canvas2d` address switch no longer exists.

v0.2026-10-19.4

The homepage film uses the game's map renderer

The homepage film is now drawn by the same renderer as the in-game map, so planets are shaded spheres, stars glow, and the galaxy has its starfield behind it. The story, timing and camera are unchanged.

v0.2026-10-19.3

The map without WebGL

Browsers without WebGL, or with slow software graphics, now draw the map with the same renderer as everyone else, in its canvas mode. It looks the same; only the slow shimmer of the background stars is gone there.

v0.2026-10-19.2

Economy map

A new ECONOMY button opens a map of the whole resource chain: what each resource is mined or made from, which buildings and ship modules make it, and what uses it. Every resource shows how much the empire holds, its net rate and how many deposits you know; every building shows how many stand, how many are held up and where. Point at anything to light its chain; open a resource to see its card. The map is built from the game data, so new resources and buildings appear on it by themselves.

v0.2026-10-19.1

Freight trips settle on what was actually loaded

A freighter's trip now counts as exactly what it loaded. When it took less than the contract had set aside, the rest is freed at once for other freighters instead of staying locked until the contract expired. When it took more, the source's contract records the full amount shipped.

v0.2026-10-18.6

Credits, data and energy are found by their job

The game no longer names credits, data or energy in its code. Each is found by the job it does — currency, research, power — set in the resource data, and the same goes for which worker tiers the brain treats as essential and for hull size order. Nothing plays differently.

v0.2026-10-18.5

Balance numbers moved to the data files (round 1)

Galaxy generation shares, ship power headroom and operation range, the game-speed ladder and the chokepoint share now live in the data files instead of the code. A new check fails the build when a number that changes how the game plays is written into game logic; numbers that are not balance (ranks, row budgets) must say so in a marked comment. Older code still holding such numbers is listed and can only shrink.

v0.2026-10-18.4

Needs are data

A colony's needs (food, water, medicine, consumer goods) and the stability ladder they climb now come from `needs.json`: each need's resource, whether it is for survival or comfort, and how far each comfort rung lets stability climb. Adding a need is a data edit plus its consumption rate. Fixed along the way: the brain's goal for the second comfort rung asked for "consumer-goods", which is not a resource, so it could never be met; it now asks for the resource the need actually uses. Saves upgrade to version 52 on load; nothing in them changes.

v0.2026-10-18.4

Resource ids generated from resources.json

- **🧬 One Source for Resource Ids:** `RESOURCE_IDS` is generated from `resources.json` into `src/lib/types/resourceIds.generated.ts`. Adding a resource is now: edit `resources.json`, run `npm run gen:resources`, commit both. `npm run check:resources` fails if they disagree (in `gates`, pre-commit, CI). - **🚧 Scan Gate (C31):** `noContentIdsInLogic.test.ts` fails on any resource, building or module id spelled as a string literal in simulation or domain code. Existing hits are on an explicit allowlist with reasons, so the list can only shrink.

v0.2026-10-18.3

More links to the resource card; fewer ids in code

Resource names in "Waits for …" lines (build list, deepen, shipyard) and in alerts now open the resource card. Find deposits opens the Catalogue already filtered on that resource, and Back keeps the filter. Import on the card is now a button: it sets this colony's import floor for that resource, the same as the reserve in the Resources table, and the card shows it. Behind the scenes, the treasury resources, the colony capital, the spaceport and energy are now read from the game data instead of being named in the code.

v0.2026-10-18.2

Click any resource to see how to get it

Resource names in the Resources table, the Flow tab, build and shipyard cost lists are now links. Each opens a card for that resource: what makes or extracts it, what this colony has and can build (with a Build here button, or the reason it can't), where else in the empire it is held or made and what freight is carrying, the best known deposits with Claim and Mark target, what it needs, what uses it (buildings and ships), and a two-step chain marked ✓ have, ! short, ✗ not built, ? no deposit known. Back returns to where you were. Which resources belong to the treasury is now read from the resource data instead of being written into the code.

v0.2026-10-18.1

Flow tab, and one answer to "how do I get this?"

The full colony view has a new Flow tab: what comes into the colony (mined here, arriving by freight, in stock), which buildings run or stop and why ("short of Water", "crew 40%"), and what goes out (used here, offered, loaded by freight, eaten by ships in the yard). Lines join each resource to the buildings it feeds; a missing supply is drawn dashed. The "What would fix it" line on a short resource now always says something. It names the building that makes it or the building or ship module that extracts it, and tells you when another of your colonies already holds it. The cost hints use the same answer, so the two no longer disagree. Short and draining resources are listed first. Everything is read from the game's data files, so a new building or recipe shows up without a code change.

v0.2026-10-17.4

Freighters respect your Export line

A freighter used to load everything at the source, up to its hold, even below the reserve you set. It now takes only what the colony can spare: stock above your "Export above" line, or above the automatic reserve when you set none, and never what the colony's own build orders need. Freighters still fill up when there is real surplus. A remote build site no longer receives thousands of units it did not ask for just because the source happened to hold them.

v0.2026-10-17.3

Empty claimed bodies: no ghost upkeep, reserves allowed, one Status row

A body whose last building was demolished, or whose claim was released, no longer keeps showing that building's upkeep (for example "Credits -75/t") in its Resources panel. The treasury was never charged; the figure was simply never cleared. A body you have claimed but nobody lives on now accepts a reserve, instead of saying "No owner". The Overview of an unused claim shows its Status once, not twice.

v0.2026-10-17.2

Long panel lines wrap instead of scrolling sideways

A long value in a panel row, such as a survey ship's "Last decision", now wraps onto a second line. Before, the label was squeezed to one letter per line and the panel scrolled sideways.

v0.2026-10-17.1

The brain stops building what nobody can staff

The brain no longer queues or deepens a building on a body that lacks the workers to run it. It needs idle workers covering at least half of the new building's crew, counting crew already promised to buildings in the queue. When it refuses, the decision log says why ("Steel Mill waits: needs 300 workers, 0 idle"). Buildings that need no crew, such as automated extractors and housing, are never held back, and neither is a settle target's capital. Your own build orders are never blocked. The share lives in tuning.json (`governance.buildStaffing.minIdleCrewShare`, 0.5). With workers no longer all tied up, ship crews get hired and the brain's colony ships now reach a new colony.

v0.2026-10-16.4

A ship takes a berth only when it can be built

A ship order still collecting materials no longer holds a shipyard berth. It stays in the queue while freight brings its materials, and takes a berth once it is fully supplied and the yard can give it at least 10% of its build crew. This applies to every ship order, yours and the brain's. The shipyard list says what each waiting order needs: "Waiting for materials", "Waiting for crew: X of N" or "Waiting for a berth". A brain ship order that gets no crew for 3,000 ticks is cancelled and refunded, like one stuck waiting for materials. Your own orders are never cancelled.

v0.2026-10-16.3

The brain notices when a factory makes too little

The brain used to treat a material as fully available as soon as any building in the empire made it, however slowly. A single small steel mill was enough for it to order ships needing hundreds of steel, and it never asked for more steel. It now counts only stock you hold plus what your colonies actually produce over the next 600 ticks. When that falls short, it posts a "produce" goal, and the inputs it is missing are asked for too.

v0.2026-10-16.2

Ships no longer hold the yard with nobody to build them

A queued ship that gets no workers now says so in the shipyard list ("Waiting for crew: 0 of 1,600") instead of looking ready. The brain only orders a ship when the yard would give it at least 10% of its build crew, so a hull it cannot build no longer blocks the berth for thousands of ticks. Ships you order yourself are never held back. The 10% lives in tuning.json (`governance.shipQueue.minCrewShare`).

v0.2026-10-16.1

Colony ships only when someone has somewhere to go

The brain no longer asks for a Cryo Dart while your empire has nowhere to send colonists. It wants passenger ships only for colonies that want colonists now: one with housing room and too few workers, such as a new capital standing empty, or one you marked as a destination. The old minimum of one passenger ship is gone. GOVERN → Fleet now reads "1 colony wants colonists" or "no colony wants colonists".

v0.2026-10-15.8

The front page, retold in plain words

The front page film is one continuous camera move from the homeworld out to the galaxy and back into one far explorer, with no jumps between scenes. Each moment has one plain sentence saying what the empire decided, such as "Claim Barren 7. No rock in reach is worth more." There are no log codes or coordinates any more. The hex grid stays visible while the whole system is on screen. Lanes between systems are solid when gated both ways and dashed otherwise, as in the game. The headline under the film now reads "You set the priorities. The empire does the rest."

v0.2026-10-15.7

One zoom from galaxy to planet

The game map now zooms in one continuous move from the whole galaxy down to a single hex, and back out. Drag, scroll, pinch, the arrow keys and + / − all work, and a Galaxy / System / Surface switch sits in the map inset. Zooming far enough into a system opens it, and zooming back out returns to the galaxy. Keep zooming into a body, or double-click it at Surface level, and its full-screen page opens. Jump links between systems are drawn as lanes: solid when both doors have a gate, dashed when a ship needs its own jump drive.

v0.2026-10-15.6

A more cinematic front page

The front page now opens on a large FRONTIER COMMAND title. Between scenes the camera zooms smoothly from the homeworld out to the whole system and then out to the galaxy, and the detail changes as it goes instead of cutting. The last scene follows one far explorer until its picture freezes on its last contact and breaks up to black. The four trial pages (/home1 to /home4) are gone.

v0.2026-10-15.5

Refreshing the game no longer lands on the front page

Refreshing /play, or opening a link straight into the game, used to show the front page instead. The same thing hid the /home1 and /home3 trial pages. Any address now opens the screen it names.

v0.2026-10-15.4

Four trial front pages

Four alternative front pages are up for comparison, each with the same Play, Save management and Patch notes buttons. /home1 runs a real new game on the page, and Play carries on with it. /home2 is a still, printed-style map plate of a real empire. /home3 follows one Transport Dart up close, from loading ore to losing contact past a jump point. /home4 is a galaxy you can pan and zoom freely, from whole galaxy down to a single hex. The main front page is unchanged.

v0.2026-10-15.3

The front page tells the whole story

The front page now runs a six-part sequence, each part driven by a decision the empire makes. It starts with a Pickaxe and a Mule working near the homeworld. It pulls back to the whole system as a body is claimed and new ships leave the yard, then shows the system busy with survey, mining and freight. An explorer goes through a jump point into a system nobody has charted, and the view pulls out to the galaxy and a network of linked systems. It ends with one far-out explorer losing contact. Play, Save management and Patch notes stay on screen throughout.

v0.2026-10-15.2

Finished buildings are never thrown away

A building checked for room a second time when it finished, and if that check disagreed it was discarded with a "No room" alert and nothing refunded. That could happen to a building finishing while the brain was deepening another one on a full body. A building's plot is now reserved when you queue it, and the finished building is always placed.

v0.2026-10-15.1

The brain waits before ordering ships

A ship order now keeps its shipyard berth even while it waits for materials, so a waiting order can block the yard. To avoid that, the brain only orders a ship when at least 90% of its materials are on hand, or when the rest will arrive within about 600 ticks from local production and cargo already on its way. Otherwise the decision log says what the ship is waiting for and roughly how long. Your own ship orders are not affected. Behind the scenes, nearly all copy-pasted code is gone: 93 duplicated blocks down to 3, and a check now stops new ones being added.

v0.2026-10-14.11

One reason, said the same way everywhere

A button that can't be pressed now gives the same reason the game gives when the action is refused, for building, deepening, claiming and ordering ships. Before, the panel and the action each checked on their own and could word it differently or disagree. Shipyard rows say exactly what they wait for ("Waits for 3 Iron, 2 Gold"), and the construction queue lists each cost line the same way as everywhere else.

v0.2026-10-14.10

Ships no longer take building plots

Queued ships were counted as using a building plot in some places, so the build menu could say a body was full while it had room, and deepening could be refused for "no room". Every plot check now uses the same count: ships never take a plot, and a queued deepen reserves exactly the extra plots it needs.

v0.2026-10-14.9

Small fixes

- The map's right-click menu now reads Claim, with the upkeep on the line under it, the same as the body panel. - The survey/explore slider in GOVERN → Fleet now stops exactly on its 67% default instead of jumping to 65%. - "brain: find X" next to that slider lists only the find goals that actually moved the split. - A failed ship order now says why it failed: the body is gone, it can't be reached, no deposit is known there, or the ship has no scanner. - When a material the brain needs is made from another material nobody makes, the brain now asks for that one too, up to three steps back.

v0.2026-10-14.8

Deepen first, tear down when it finishes

When the brain makes room to deepen a building on a full body, the copies it replaces now keep working until the deepened building is finished, and are torn down only then. Nothing is lost while it builds, and if the deepen is cancelled or can't be paid for, the copies stay. The construction queue shows which copies the order will replace.

v0.2026-10-14.7

Ships are scrapped at a colony

A ship can now only be scrapped while it is at one of your colonies. Away from one, its materials had nowhere to go and were lost. The Scrap button says so and stays off until the ship is home, and the brain no longer scraps ships in the field.

v0.2026-10-14.6

Refunds land where they belong; a full body can deepen

Tearing down a building now returns its materials to that body's stockpile. Only credits and data go to the treasury, the same as every other payment. Before, demolish refunds put steel and circuits in the treasury, where nothing could use them. A body packed with copies can now be deepened: the brain tears down just enough depth-1 copies to make room and queues the deepen in the same step. On Ask this is a single proposal.

v0.2026-10-14.5

The brain deepens, and clears out old copies

The brain can now choose to deepen a building instead of building another copy. Both options are weighed the same way: what they add, what they cost, what they cost to run, and how much room they take on a body that is filling up. Copies still win on an empty body; deepening wins as a body fills. Once a deepened building is finished and the body needs the room, the brain tears down the depth-1 copies it replaces, never more than it covers. On Ask it proposes the teardown, and on Manual it never touches your buildings. Deepen and teardown decisions show in the decision log.

v0.2026-10-14.4

Deep buildings pay off

Each order of magnitude a building is deepened now makes six times as much, and costs only four times as much to run: crew, build crew, credit upkeep and energy used. The price of each step stays ten times the last. One deep building now beats a row of copies on running cost and room, while copies stay cheaper and quicker to get. Existing saves change on load: deep buildings make more and need fewer workers. The brain now counts deepened housing at its real size.

v0.2026-10-14.3

Building actions fit the panel again

Opening a building no longer splits its details into narrow side-by-side columns. Each action is one full-width row with its button on the right, and the deepen price is listed under the Deepen row it belongs to.

v0.2026-10-14.2

A new front page

The front page now shows a star system running on its own. The camera starts on one Pickaxe mining one deposit and pulls back as the tick clock runs from 1 to 100,000, until the whole system is in view with surveyors, freighters and a claimed body. Play current game, Save management and Patch notes stay on screen the whole time. There is a pause button, and with reduced motion the page shows the finished system as a still picture. The three menu buttons are real links, so they open in a new tab with a middle-click.

v0.2026-10-14.1

Short buttons, a Shipyard filter and a Deposits view

Build, deepen, shipyard and claim buttons now carry a short word: Deepen, Build, Order, Claim, or Queue when the order would wait. What it waits for, or what a claim costs in upkeep, is a line under the row instead of part of the button, so the text beside it no longer gets squeezed. On a narrow screen the buttons move under their text. The Shipyard section has a Job selector (All by default) and a Jump-capable button that shows only -J designs. The Resources section has a RESOURCES | DEPOSITS switch. Deposits shows each deposit with what is left, its richness, and in the full view how much was found and the richness it started with. The save management page, the main menu and the patch notes now scroll, so a long list of saves is no longer cut off at the bottom of the window.

v0.2026-10-13.27

Proposal history no longer crashes

The Proposals tab no longer throws an error when the brain has asked for the same thing more than once. Each decision in History now shows as its own row.

v0.2026-10-13.26

The brain builds what it has the materials for

On Auto, the brain only queues a ship or building when it already holds at least 75% of the materials, a share you can change in the game settings. If the ship size you chose isn't ready, it builds the nearest ready size instead, and the next pick leans back toward your size. It sets goals to produce whatever is missing. A brain order still waiting for materials after 3,000 ticks is cancelled and refunded, which frees the yard. Your own orders are never affected.

v0.2026-10-13.25

Fleet targets count only work a ship can reach

Each job's target is now worked out separately for standard ships and jump (-J) ships. The number of -J ships is the work that only a ship with its own jump drive can reach. Work no ship can reach adds nothing to the target, and the Fleet tab shows it as "n unreachable".

v0.2026-10-13.24

The brain keeps the reserve floor

The brain never spends the treasury below the reserve floor, the upkeep of sixty ticks of your buildings. Before, a build or ship budget balance could be spent straight through the floor, so an empire short of credits could run its treasury to zero on brain orders. Now a balance is spendable only down to the floor, like the Reserve share. Player orders are unchanged. Upkeep can no longer overdraw the treasury by a rounding fraction. A colony at zero credits with income exactly matching upkeep used to show a sub-atomic deficit that the game then clamped; the charge is now bounded at the source.

v0.2026-10-13.23

Survey first at home, and producers for building materials

While your home system has bodies nobody has surveyed, the brain orders survey ships ahead of the other ship jobs. The brain also queues a producer for any material a building it wants needs, not only for ship designs. The decision log now says "brain goal" for the brain's own goals; "your flag" is kept for goals you set.

v0.2026-10-13.22

Proposal history, alerts that open their body, and targets you can see

The Proposals tab now lists every approved, rejected and expired proposal under History, newest first, in place of the bare rejected count. "Waiting on you" is now Alerts: nothing there needs a decision, and picking an alert about a body opens that body. An unclaimed body's panel shows its target, whether the brain set it or you did, with what it would build and the money saved against the cost; you can mark a body as a target, remove a target, or claim now. Targeted bodies carry two small sights either side on the system map. The Goals board lists the newest goals first.

v0.2026-10-13.21

Proposal history

Approved, rejected and expired proposals are kept, newest first, up to fifty. A rejected proposal is marked as such, so you can see what you turned down. Save version 51 adds this history; older saves load unchanged.

v0.2026-10-13.20

The treasury alert clears when the treasury recovers

"Treasury is running out" used to stay on screen after the buildings it named were funded again. It now follows the funding ladder every tick: it updates its count and clears the moment nothing is unfunded. There is one alert, not two.

v0.2026-10-13.19

Affordable targets take the open slots first

Outpost and settle targets that you can pay for now fill the open slots before costlier ones, however high they score. An affordable target can replace a costly one outright. A target keeps the same goal across cycles, so the board stops reshuffling.

v0.2026-10-13.18

The brain sends for missing materials

When the design the brain wants needs a material you neither hold enough of nor make, the brain now queues the producing facility on your best colony. For titanium that is a metallurgical lab. The request drops away once the material is held or made.

v0.2026-10-13.17

The decision log says why a ship is blocked

A ship line is written only when something was queued or proposed. A blocked job writes one line with its real reason: credits short, no buildable design, no yard, or rejected until a given tick. The old line blamed a survey order. Its block counter also clears once the job can build again. Brain goals no longer read as "your flag" in extraction reasons.

v0.2026-10-13.16

An expired proposal is no longer a refusal

A proposal that ran out of time used to block its own idea for thirty thousand ticks, as if you had rejected it. Expiry now only removes the proposal. A real rejection blocks the same idea for six thousand ticks. This is why the cryo dart and the pharmaceutical lab were stuck in playtest.

v0.2026-10-13.15

Saves held list stays current

Opening a slot's held saves now reads the list fresh, so a save you just made appears straight away. After you load, import or delete, the open list refreshes too. A new save no longer overwrites a kept save after you delete one from the middle of a slot.

v0.2026-10-13.14

Miners stop flipping between two rocks

A miner in transit is no longer re-judged from the spot it left, so it finishes the trip it started. A miner no longer switches to another contract on the rock it is already working, and a higher-priority contract only pulls it away when it is on a different rock. Both fleet and miner now use the same set of routes when they judge a job, so the same ship gets the same answer.

v0.2026-10-13.13

Survey and mining targets follow what is left to find

The survey target now counts every body you have not fully scanned, including ones you only glanced at, and it keeps a scout working a system until every hex is flown over. Your home system gets at least five scouts while it has unscanned bodies, and the survey job goes first in the queue until it is done. Mining and harvest targets count only ores a drill or scoop can work, where a deposit is known and no extractor of yours is already running it. Each such ore asks for one ship, with a minimum of one miner and one harvester.

v0.2026-10-13.12

Three times the starting credits

New games start with 450K credits in the treasury instead of 150K, so building can begin straight away. Existing saves are unchanged.

v0.2026-10-13.11

The brain no longer wedges its only shipyard on a hull it cannot build

The brain could order a hull whose materials no owned body held and nothing made. The hull then sat in the shipyard's only berth, waiting for a material that never came, and no freighter could be ordered while it held the berth. Outposts waited on freight that was never built. The brain now orders only hulls whose materials it can source, and it puts freight ahead of mines and harvesters when you have open demand and no idle freighter. A hull stuck on a material you cannot get for a long while is cancelled and refunded in full, freeing the berth. Hulls you ordered yourself are never cancelled.

v0.2026-10-13.10

The brain no longer claims a body it cannot supply

The brain used to claim an outpost or colony whose building needed materials the empire could not get, such as advanced polymers no owned body held and nothing made. The claim then sat with an order that could never finish. The brain now only claims a body when its building's materials are held across your bodies or made by a building you own. If the cheapest building cannot be supplied, it tries the next one, and a body with none is skipped until supply appears.

v0.2026-10-13.9

Goals tab controls, target progress and budget wording

The Goals tab now has an Add goal form: pick extract, produce, grow, find or a target, what it is for, where, and its priority. Open a goal to change its priority, close a goal of yours, or dismiss one of the brain's (keep goals offer priority only). A brain goal whose priority you set shows "priority: you". Targets show how close the brain is to affording them, for example "Target: Ceres — outpost 26K / 900K". The Budget section explains how income is split into shares, when unspent shares go back to Reserve, and the safety floor the brain keeps under Reserve.

v0.2026-10-13.8

Treasury no longer goes negative on building upkeep

When the treasury was low, building upkeep could push credits below zero for a few ticks before any building was switched off, and the overdraft was then quietly rounded back to zero, so part of the bill vanished. Buildings now shut down before the treasury runs out, so credits stop at zero and every charge is paid.

v0.2026-10-13.7

Goals you add, reprioritise, close, or dismiss

You can now add a goal yourself: extract, produce, grow, find, or an outpost target, with the priority you choose. You can set the priority of any goal, including the brain's: a goal you reprioritise keeps your priority, and the brain stops overriding it. You can close your own goals. You can dismiss a brain goal to stop the brain posting it again for a while; keep goals offer priority only.

v0.2026-10-13.6

Auto founds colonies on habitable bodies

On Auto the brain can now found colonies. It marks a habitable body as a settle target, and when it can afford a colony capital it claims the body and queues the capital together. Freighters bring the materials, the capital builds with nobody there, and cryo ships then bring colonists.

v0.2026-10-13.5

Fleet targets and ship size on the Fleet tab

GOVERN → Fleet now shows, for each job, the ships you have and the brain's target, split into standard and jump (-J) designs, with the ceiling in force. A Jump-capable toggle hides or shows the -J figures. A Ship size slider per job sets the mix from smallest only to largest only. Explore no longer has its own row: explorers count as survey ships.

v0.2026-10-13.4

Auto marks outpost targets and claims them when it can pay

On Auto the brain now marks the bodies it wants as targets on the Goals board: two by default, more with a higher Expansion setting. A target costs nothing. When the empire can afford the outpost, it claims the body and queues the extractor together, with the extractor's credits set aside so no claim upkeep is paid while materials arrive. In Ask mode the claim and the building come as one proposal: approve both, or reject both.

v0.2026-10-13.3

Auto sizes fleets to the work

On Auto the empire sizes each job's fleet to the work there is: miners per short resource, freighters per miner and colony, cryo ships per colony, survey ships per unsurveyed body. It builds one ship per job at a time while the Ships budget can pay, and builds jump variants only for work beyond a jump. Floors and ceilings you set still win.

v0.2026-10-13.2

Fleets tab and readable decision scores

FLEET now has Ships and Fleets tabs, and GOVERN → Fleet has a "Manage fleets →" link that opens the Fleets tab. In the decision log, the chosen option shows 100% and each rival shows how close it came as a percentage of the winner, instead of raw scores on different scales.

v0.2026-10-13.1

Auto spends part of the Reserve

On Auto the brain can now spend part of the Reserve above a safety floor (60 ticks of upkeep), split between buildings and ships by their shares. Your own orders still use the whole treasury.

v0.2026-10-12.10

Survey and explore split you can set

GOVERN → Fleet has a Survey / explore split. A slider sets the share of survey ships that survey known bodies; the rest explore. It also shows the share the brain is using right now, who set it, and how many ships are surveying and exploring. Reset returns the split to the stance default.

v0.2026-10-12.9

Auto splits survey ships between surveying and exploring

On Auto, the empire splits its survey ships between surveying known bodies and exploring for new ones. Two thirds survey by default. When a goal needs a resource nobody has found yet, it sends more of them exploring. Ships you set by hand are never moved.

v0.2026-10-12.8

A new starting fleet and single-role designs

New games start with a Mule, a Pickaxe and a Survey Dart. The design catalogue now has nine single-role designs: Survey Dart, Tick, Transport Dart, Cryo Dart, Pickaxe, Bellows, Mule, Ox and Seedling. Each one also comes in a jump variant marked -J, which carries its own jump drive. Existing saves keep their ships and designs.

v0.2026-10-12.7

Obsolete designs tucked away

Designs you mark obsolete are now hidden from the design list unless you press Show obsolete. The labels read OBSOLETE and RESTORE instead of RETIRED and RETIRE.

v0.2026-10-12.6

Refused jumps say why and free the ship

A queued jump refused at the door now says why, for example "Jump refused at system-1: No jump drive fitted, and no gate holds this point open." Before, it said the target may no longer exist. An automated ship refused at the door also drops its job, so it can be given work it can reach. Before, it stayed tied to a job it could not finish.

v0.2026-10-12.5

Driveless ships only go where gates hold the way back

Ships without a jump drive are only sent to another system when gates stand on both sides of every jump there and back. Before, a gate on the way out was enough, and a ship could be sent somewhere it could not get home from. A gate parked by hand counts too, not only one a brain or trade route put there. If the gate leaves while a ship is standing on the door, the order is dropped and the ship is free to be given work again. Before, it waited there forever.

v0.2026-10-12.4

Every save in a slot, listed and loadable

Each slot on the save screen now has a "Saves held" list showing every save it keeps: autosaves, session start, daily, weekly and manual. Any of them can be loaded, exported or deleted. Loading an older save copies it in as the slot's newest save, so the newer ones stay until the autosaves rotate.

v0.2026-10-12.3

Building orders waiting for freight are no longer dropped

An order that has waited a long time for materials to arrive keeps what it has already set aside and keeps taking new stock. Before, after a while it released its materials as if it were stuck, which undid the wait on remote bodies where freight is slow. Orders that cannot be paid for in credits are still released as before.

v0.2026-10-12.2

Outposts on empty worlds, and room to grow on dead rock

Automated buildings (solar array, mine, volatiles extractor, bio harvester, long range sensor array) no longer need a build crew, so they can be raised on a claimed body where nobody lives. Before, they could be queued there but never finished. A colony capital on an airless world now houses 200 people instead of 100: its own 100 operators plus 100 spare, enough to build the Sealed Habitat a dead world needs to grow.

v0.2026-10-12.1

Materials reach empty claimed bodies

A building queued on a claimed body with no buildings or people now gets its materials delivered by freight. Before, the order waited forever.

v0.2026-09-22.101

Clearer decision log and fleet sizes

The decision log no longer lists the chosen body among the options it beat, lists each rival body once, and shows the winner's score next to the choice. In Fleet size by job, a job with no floor now reads "no floor set" instead of "at floor".

v0.2026-09-22.100

Claims you can build on, and income that counts claim upkeep

A body you have claimed but not yet settled now shows its build sections, so you can queue an outpost there. The credits income in the header and the Empire window now subtracts the upkeep of unused claims, so it shows what the treasury actually gains each tick. The empire brain on Auto no longer claims a body until it can afford the outpost that would use it.

v0.2026-09-22.99

Name your empire

Starting a new empire from Save management now asks for an optional empire name. The slot list shows that name first, with the slot label beneath it.

v0.2026-09-22.98

Your build orders are no longer held back by the upkeep reserve

Before paying for a build, the game kept 600 ticks of building upkeep in the treasury. Early on that was more than the treasury ever held, so every build order — yours included — waited forever for credits. Your own orders now draw on whatever the treasury holds. The empire brain's orders still leave a reserve, now 60 ticks of upkeep, and still spend only their share.

v0.2026-09-22.97

Colonies stop queuing the same housing over and over

A colony growing its population on Auto queued another Habitation Dome every few hundred ticks while the first was still waiting, filling the queue with identical orders. It now counts housing already in the queue. A waiting order now says what it is actually short of — credits included — instead of always blaming materials, the queue shows one waiting count, and each waiting order has a single Cancel button.

v0.2026-09-22.96

Saves stay in their own slot; new main menu

Starting a new empire could overwrite the empire you had just been playing, and Load could keep reopening the newest game whichever slot you picked. A game now only ever saves into its own slot, autosaves are written as they happen rather than when the page closes, and Load opens the slot you chose. The front page now offers Play current game, Save management and Patch notes. Save management lists each slot with its ticks, credits, colonies, ships, population and discovered systems, and is where you load, start, export, import and delete empires. In the game, Settings keeps Save now and adds Save & exit to menu.

v0.2026-09-22.95

Refit ships to a newer design

A ship docked at one of your colonies with a shipyard can be refitted to another of your designs on the same hull. The ship panel's Refit section lists each design with the modules that change, the cost, the refund and the time; designs you can't refit to say why. A refit takes a ship-build slot, charges for the modules added, refunds half the price of the modules removed when it finishes, and takes time in proportion to how much of the ship changes. The ship takes no jobs or orders while it refits, can't be scrapped, and doesn't count toward fleet floors; cancelling it from the colony queue frees the ship. When a better design for a job exists on the same hull, the empire proposes a refit — it never starts one on its own.

v0.2026-09-22.94

Empire tab: stance axes, budget and score

GOVERN has a new Empire tab. Pick a stance preset, then adjust any of its ten axes in steps of 0.1; each says what it changes, shows whether the value comes from the preset or from you, and has a RESET once you change it. Research, military and aggression are greyed out because they do nothing yet. The budget lists how income is split between buildings, ships, research, military and reserve, how much each holds now, and lets you change any share; reserve is whatever the treasury holds beyond the other buckets. A plain score adds up population, colonies, unsettled claims, discovered systems, ships and treasury — it is for show only. The GOVERN header now sets the empire default for claiming, releasing claims and scrapping (Ask or Manual only). Claim, release and scrap proposals are worded with real names, such as "Claim Ceres — iron, water; upkeep 3/t". Your own ships can be scrapped from the ship panel: it shows the refund, asks you to press twice, and says in plain text why when a ship cannot be scrapped yet.

v0.2026-09-22.93

Scrap ships over a fleet ceiling

When a job has more ships than its ceiling — or more than its floor while money is short — the empire brain proposes scrapping its cheapest idle, empty ship. Scrapping is never automatic, even if a save says Auto: it waits for your approval. A scrapped ship is gone, its jobs are released, and you get back half its build cost — materials into the colony it is docked at, credits into the treasury.

v0.2026-09-22.92

The empire claims outposts and lets go of idle claims

The empire brain now looks for bodies worth claiming within reach of the capital: known deposits it could mine with an automated extractor, worth more (scaled by the Expansion axis) than the claim's upkeep. Under Ask it proposes one claim at a time; under Auto it claims and queues the outpost. Claims that sit unused past the idle limit are proposed for release, sooner when money runs short, and a "Treasury is running out" alert names how many buildings are unfunded. A claim you release is not claimed straight back. You can now set Auto, Ask or Manual for claiming and releasing; scrapping can never be set to Auto.

v0.2026-09-22.91

Income splits into shares

Income left after upkeep now splits into a build share and a ships share, and the rest stays in reserve; what a share has not spent returns to reserve every period. The empire brain only spends its share, so a colony building on its own waits with "build share empty" when that share runs dry. Your own orders and the proposals you approve are never held back by a share — they draw on it first and then on reserve.

v0.2026-09-22.90

Stance has ten adjustable axes

Each empire stance now exposes ten adjustable axes with clear effect descriptions; exploration also adjusts the stance floors for survey and explore ships.

v0.2026-09-22.89

The empire keeps enough ships for each job

Each job — mining, freight, survey and the rest — now has a floor, the number of ships the empire wants doing it; the stance sets a default and you can change it. A ceiling stops further builds for that job. When the empire is short, it picks the best-value design for the job unless you have pinned one, and if a clearly better design appears it suggests switching the pin. It then picks a yard that can actually build it. On Auto the ship is queued; on Ask you get a proposal. Ships it builds start on automatic, so they go to work on delivery.

v0.2026-09-22.88

Sectors group systems and can carry their own stance and authority

A sector groups systems so its colonies can share a stance or decision authority without changing the empire default. Sector lists also total the claim upkeep from owned colonies in those systems.

v0.2026-09-22.87

Fleets carry settings for their ships

A fleet can set home, range, job and automatic or manual mode for the ships in it. A ship's own setting still wins, and a fleet's job applies only to ships that can do it. Once the fleet screens land, the ship panel will say where each value comes from.

v0.2026-09-22.86

Mark systems as dangerous

A system can be marked Caution or No-go. Under Caution, automatic ships take no new work there and pass through only when there is no other way, but finish what they are doing. Under No-go, they never enter, and any already inside drop their job and head home, or to the nearest safe colony. Your own orders to a ship are never blocked.

v0.2026-09-22.85

Colonies that cannot make something go looking for it

When a colony has gone several checks unable to build anything that would make a resource it is short of, and the empire knows of no deposit of it anywhere, it posts a "Find water" step under its own goal and an alert says so. Surveyors then favour bodies whose kind usually holds that resource, without skipping the surface-before-depth order. The step closes itself once a deposit is found. On GOVERN ▸ Goals the step sits under the goal that needed it.

v0.2026-09-22.84

Flags weigh in rather than jump the queue

A flag on a rock or a body to survey now makes that job much more attractive instead of sending every ship there regardless. A ship will still take a far better or nearer job over a poor flagged one. A miner already at work switches to a flagged rock without waiting for it to beat its current job by the usual margin, though it still finishes its minimum stint first. Fixed: a miner that switched jobs used to keep mining the rock it had just left.

v0.2026-09-22.83

Approve or reject what your colonies suggest

What a colony wants to build now shows up under GOVERN ▸ Proposals. Each suggestion names the colony, the building, why it wants it, what it costs and how long it waits before lapsing, with APPROVE and REJECT beside it. Approving queues the build; rejecting puts it on the rejected count below the list. The goals a colony sets for itself appear on the Goals board marked "by brain", in plain words such as "Self-sufficient in water", and read "blocked" once the colony has gone several checks without finding anything it can build. The GOVERN header now holds the stance preset and the empire-wide setting for colony builds (Auto, Ask or Manual), and each colony's Overview can override it, or follow the empire setting again with EMPIRE.

v0.2026-09-22.82

Colonies move people on their own

A colony you have not marked as a source or destination now decides for itself. One with spare housing and jobs it cannot fill, and no shortage of its own, asks for colonists; one with more workers than its jobs and planned builds need offers them. A starving colony sends people away, idle workers first, but never so many that its farms, water and power go unstaffed. Your own source or destination setting always wins. If a starving colony has nowhere to send anyone, the decision log says so.

v0.2026-09-22.81

Colonies notice what they are short of

Every few minutes of game time each colony now checks itself. Short of food, water or energy, it sets itself a critical goal to become self-sufficient in it; held back by missing medicine or consumer goods, a goal to produce them; out of housing or room, a goal to grow. It then picks the building that best serves its most urgent goal. What happens next is up to you: by default it asks, and the suggestion waits in GOVERN ▸ Proposals for you to approve or reject. Set colony builds to Auto and it queues the build itself; set Manual and it only records the goal. A rejected or ignored suggestion is not made again for a while. Every choice, with the options it passed over, is in the decision log.

v0.2026-09-22.80

Waiting builds and claim costs on screen

A build you cannot afford yet now says what it is waiting for — "QUEUE — WAITS FOR 1,700 STRUCTURAL STEEL" — instead of being greyed out. The construction list splits into what is being built now and what is waiting for materials, with how much of each it has collected, whether it is next in line or stuck, and a button to cancel it. Stock set aside for a waiting build shows as reserved in the Resources table. An empty claim shows its upkeep and how it is worked out, with a button to release it, and the Empire overview totals what your unused claims cost.

v0.2026-09-22.79

Empty claims cost upkeep

A body you have claimed but not used — nothing built, nobody living there — now costs credits every tick, more the further it is from your capital and your nearest colony. Building anything on it, or settling it, stops the charge; a build still waiting for materials does not. Upkeep on claims is paid before buildings, so an empire that over-claims starts switching buildings off. You can now release a claim you no longer want; nothing is refunded, and anything a waiting build there had collected goes back to the pile.

v0.2026-09-22.78

Builds wait for their materials

A building, upgrade or ship you cannot afford yet is no longer refused. It joins the queue and waits, without taking a construction slot or berth, and collects what it needs as it arrives — first in line first, so two waiting builds never split one resource and stall each other. What it is still missing is ordered in automatically, and stock it is collecting is never exported. A build whose materials stop arriving is marked stuck and lets the next one in line use what it held. Cancelling a waiting build gives back everything it collected.

v0.2026-09-22.77

GOVERN

A new GOVERN entry on the command rail. **Goals** lists your empire's goals — for now the bodies you flagged for survey or mining — with who set each one, whether a ship is working on it, and a button to close it. **Proposals** is where things waiting on you now live; the Empire overlay's Attention tab moved here, and Empire opens on Alerts. **Decisions** shows why automation gave each ship its job: what it chose, the runners-up, and what decided it. Body and ship docks show the goals on that object and the ship's last decision.

v0.2026-09-22.76

Ships remember why they took a job

When automation gives a ship a survey, mining or exploration job, the empire now records what it chose, the runners-up it passed over with their scores, and what decided it. A miner that weighs switching jobs records the margin it kept or the switch it made. Each empire keeps its own record; it is saved with the game and will appear on the GOVERN screen.

v0.2026-09-22.75

Flags are now goals

Survey and extract flags on a body are now player goals on your empire's goal board. Nothing changes in play: a flagged body is surveyed or mined first, as before. This is the board the empire and colony brains will post into, and each empire — rivals included — keeps its own. Old saves convert their flags on load.

v0.2026-09-22.74

Survey progress is back on the body

The body's Resources section shows a scan in flight again — how many scanners are on it and how long is left — for surface and deep passes alike. It had only been visible from the ship. A body nobody has looked at says "Not surveyed" and how to fix that, instead of "nothing here". The collapsed Resources header again says how many piles are draining and which deposits are running out.

v0.2026-09-22.73

Claim worlds in systems you jumped to

Bodies in a system you reached by jumping could not be claimed: the button said "This system has not been surveyed yet" even though the catalogue showed them surveyed. Jumping into a system now counts as discovering it, and saves that already reached other systems are repaired on load. Unclaimed bodies also no longer show a column of red "0.00 EMPTY" — there is no stockpile there to run short of.

v0.2026-09-22.72

Rename a system

You can rename any system from the system map's title or from the catalogue. Names must be unique (capitals and accents don't count as different) and up to 40 characters. The new name shows everywhere at once: the map, the catalogue, the star, and the jump points leading there.

v0.2026-09-22.71

A system's name lives in one place

A star is now labelled with its system's name, and a jump point you have been through is labelled "Jump Point to" whatever is on the other side — on both sides of the door. Neither keeps its own copy, so renaming a system will show everywhere at once. Old saves drop the leftover "System-123-Star" names.

v0.2026-09-22.70

Real star names

Systems you discover by jumping are now named after real stars of the same kind — a red dwarf might be Proxima Centauri or Gliese 581, a giant Arcturus — instead of "System-12345". No two systems share a name. Systems you have already found keep the names they have. Star names come from the HYG Database v4.1 by David Nash (astronexus), CC BY-SA 4.0.

v0.2026-09-22.69

Type to find a ship's home

The Home picker on a ship is now a search box. Start typing and the list of systems narrows as you go — accents and capitals don't matter, so "belenos" finds Bélénos. Arrow keys and Enter pick, Esc puts it back. It never accepts a name that isn't in the list.

v0.2026-09-22.68

Home is a system

A ship's Home picker now lists every charted system — including ones where you own nothing — instead of only your own bodies. Pick a far system and the ship works there. Ships already anchored keep working where they did: each is homed in the system of its old home body, and ships that had no home get the system they're in. The picker can no longer show "Unanchored" for a ship that has a home.

v0.2026-09-22.67

A ship's home now decides where it works

A ship homed in another system used to keep working wherever it was parked: any job in the system it stood in was accepted before its home was even checked. Now the system it's in counts only if it's within range of home. Set an explorer's home to a distant system with range HERE and it goes there by itself. A ship with nothing to do in range stays where it is.

v0.2026-09-22.66

Ship range and home on two lines

The ship panel's range and home controls took four lines. They now take two: - **Range**: FLEET, HERE, 1, 3, and a box for any other number up to 99. Whichever is in effect is lit — the box lights up when you've typed a number no button names. - **Home**: a picker on the right, listing Unanchored first, then every body you own. The sentence repeating the range above the buttons is gone; the lit button says it.

v0.2026-09-22.65

See your priorities on the map

Hexes marked **Explore here first** now show on the system map as a dashed outline with a dot in the middle. Bodies flagged **Survey first** carry a small gold flag. Both show whether or not the COVER overlay is on.

v0.2026-09-22.64

Right-click a hex to explore it first

Right-clicking empty space in a system now always opens the game's menu. Before, with no ship selected, it opened the browser's instead. The menu offers **Explore here first**. Your explorers go to marked hexes before anything else, nearest first, and two scouts never chase the same mark. The mark disappears once any of your ships crosses that hex. Choose the hex again to **Clear explore priority**. With a ship selected you still get **Send here**, and the mark sits below it, so you never have to deselect a ship to place one. A hex that has already been explored, or lies outside the system, shows the item greyed with the reason. Marks are served by explorers already in that system; the item says so when there are none.

v0.2026-09-22.63

Tell a colony when to stop growing

Housing already stops a colony growing, but housing is something you build for other reasons. A colony can grow into its own food supply: more people eat more, which starves the farms of workers and water, which lowers stability, which lowers output again. Every colony now takes a growth limit, on the Population panel beside the growth it bounds. Set it and the colony stops there; clear it and housing is the only bound again. It never evicts anyone. A limit set below the people already living there stops new arrivals and does nothing else — migration is untouched. Both bounds apply and the lower wins, so a generous limit is not permission to exceed the housing that exists.

v0.2026-09-22.62

Luxuries are no longer eaten by colonies that cannot use them

Stability is a strict ladder: consumer goods do nothing at all until medicine is covered. A colony that could not see a doctor was still having its quantum crystals taken off the shelf every tick, buying nothing with them. It now pays only for the rungs it can reach. Medicine is always bought, because a partial rung now lifts the cap proportionally and so is worth paying for. Luxuries below an unmet medical rung are not bought at all, and accumulate until the doctor arrives. Food and water are never rationed this way. If a shortage could stop food being served, a starving colony would stop starving on paper the moment it ran out of something else. Stock levels are still reported for the rungs that go unbought, so a full warehouse reads as full rather than as 0%.

v0.2026-09-22.61

A comfort half-met is now half-paid-for

A colony with medicine for 70% of its people got exactly what a colony with none got: stability capped at 50. It consumed every dose it produced and bought nothing with them. 99% and 0% were the same outcome. Each comfort rung now spans its band. 70% of the medicine earns 70% of the way from 50 to 80. The ladder is unchanged — a luxury workshop still buys nothing on a world that cannot see a doctor, and partial medicine does not unlock luxury spending. Only the gap between "none" and "all" has stopped being a cliff. This turns out to have been doing real damage rather than merely being unfair. Running the shipped save 40,000 ticks, before and after: before population -42%, food stays starved, settles near 50 after population +1.9%, food recovered by tick 5,000, settles at 70 The cap was feeding the shortage that justified it. Stability pinned at 50 means morale x0.72, which means less output, which keeps the famine running, which holds stability at 50. Raising the ceiling to what the medicine actually earns lets production recover — and medicine itself climbs from 49% to 67%, because the pharmaceutical lab works better too. Caps are no longer round numbers, so the ceiling readout is formatted rather than printed raw.

v0.2026-09-22.60

Ship home and range are two rows, not five

Setting where a ship calls home took four lines of panel: a row telling you where home was, a picker of owned bodies, a button offering to make the body under the ship home, and a red one labelled "Cut loose" that said nothing about what it did. They are one picker now. It already listed every body the empire owns — so the body under the ship was always in it, and the button was a second route to an entry one line above. Unanchoring is the first entry, reading "Unanchored — range from wherever it is", which is what it does. Home can now be set while the ship is under way. It used to require parking in orbit first, so moving a ship's working area meant flying it there to say so. Range gained a box beside the rungs. The segments stop at the fleet default, so there was no way to say 7 at all — the control silently bounded a rule that accepts any whole number of jumps. The box takes up to 99 and refuses anything past it rather than quietly rounding it down to something you did not choose.

v0.2026-09-22.59

A colony living tick to tick now says so

Some colonies meet every need and still have nothing in the tank. Terran 10 reports its water demand fully met while the pile holds 0.06 and every drop produced is spent the moment it arrives; Terran 2 reports exactly the same number and is sitting on 320. The readout could not tell you which was which, because both are honestly "met". They now say. A need being served out of an empty pile raises a warning naming the resource and what is actually held, using the same threshold the resource table already uses to mark a pile EMPTY — so the two cannot disagree about what "nothing left" means. Deliberately a warning and not a crisis. Nobody is going without; the colony simply has no margin, and the next dip in production is felt the same tick. Putting that beside an actual famine would make both easier to ignore. Stability is untouched. The people are being served, and where a water shortage starves the farms it already reaches stability through food — charging it again as a water penalty would be counting one failure twice. Colonies with nobody on them stay quiet, which is less obvious than it sounds: a need nobody has reads as fully satisfied beside an empty pile, which is exactly the shape this warning looks for.

v0.2026-09-22.58

Ships you can tell apart, and stockpiles that say where they are going

SHIPS ON THE MAP NO LONGER ALL LOOK THE SAME. Four things are now readable at a glance, and they stack, so any combination of them reads: a ship's size is its tonnage, its shape is the job it is currently doing, it fades when idle and burns full when working, and a thin outer ring means the pipeline is flying it rather than you. The empire accent stays the base colour throughout. Size runs in four steps rather than a smooth scale, because the question is "which of these is the freighter", not "what is its exact mass". A shuttle and a heavy freighter are now unmistakable at any zoom. A STOCKPILE SAYS WHERE IT IS HEADING. A colony holding 500 of something under a ceiling of 400, and one holding 500 under a ceiling of 700, used to read identically — and only one of them has freight on the way. The stock figure now carries the bound it is moving toward, with an arrow for the direction, and only while something is actually working the lane. An arrow nobody is serving would be a promise the interface cannot keep. BANDS YOU SET ARE MARKED. Once entered, a band you chose and a band the colony worked out are the same pair of numbers, and only one of them stops following the colony as it grows. Yours now carries a dot. The import and export boxes are also whole numbers. They were seeded straight from the derived band, which lands on figures like 4021.4393337193655 — the right number for the ladder to reason with and an absurd one to hand someone typing into a text box. A SHIP'S HOME CAN BE SET FROM ANYWHERE. Home decides where a ship's range is measured from, and it could only be changed while parked at the body in question — so moving a ship's working area meant flying it there first. Any body you own can now be picked from the panel. "Cut loose", which explained nothing, is now "Unanchor" and says what it does: range measured from wherever the ship happens to be.

v0.2026-09-22.57

Water keeps digging, and steel says why it is slow

Two halves of the same complaint: the simulation was doing something large and not telling you, and in one place it was doing the wrong thing. WATER IS NO LONGER CUT BY MISERY. Morale scales what a colony produces — a fifth of normal at stability 0, half again at 100 — and food was already exempt, because starving a colony for being unhappy is a loop it cannot climb out of. Water was not exempt, and water is the other thing the stability ladder reads. So a thirsty colony dug less water, which made it thirstier. Worse, the food exemption never worked either: the farms are protected but they drink water, so the throttle reached food through its own supply line. The exemption now names the resource rather than the building, because one volatiles-extractor pulls water, hydrocarbons and rare gases and only the first of those keeps anybody alive. The same extractor now digs water at full rate and its hydrocarbons at whatever morale allows. On a colony at stability 43, water production rose from 0.670 to 0.892 a tick. EVERY RECIPE NOW ADMITS ITS MORALE. Extraction has always shown it — water says "morale x0.72" and you can see what your unhappiness costs. Recipes applied exactly the same multiplier and said nothing, so a foundry running at a fifth looked identical to one running flat out. Structural steel, polymers, nanites and rations were all being cut by the largest multiplier in the game with no mention of it anywhere on screen. They name it now, and stay quiet when it is not biting. Medicine and luxuries are deliberately still scaled by morale. They raise a ceiling rather than dragging you down, so they cannot spiral — and leaving them scaled is what makes fixing them worth the trouble.

v0.2026-09-22.56

The colony surface, rebuilt in one piece

Everything the colony can tell you and everything you can do to it, in one coherent set rather than layers from four different attempts stacked on top of each other. OVERVIEW is now a single section at the top, and it collapses like every other one. The four figures used to appear twice in two different formats, in a block that could not be closed and ate half the dock — unbearable on a phone. RESOURCES is its real name now, not "The Machine". Stockpile reserves are back: import below, export above, automatic or manual, on the row they belong to. So is the toggle that shows every tradeable resource, not only the ones this body already touches — you need it to set a reserve on something you have none of. Both were lost in the last rebuild and should not have been. CREDITS AND DATA are empire-wide. They have no pile on any one body, so they no longer claim to be EMPTY, no longer offer a reserve they cannot keep, and no longer suggest you survey a deposit to find more credits. THE CHAIN reads properly. One row per deposit instead of one per extractor working it. A consuming recipe now names the building doing the consuming, so "grow rations" reads as "Biosphere Farm — grow rations". The pile total stopped calling itself the net, which is why it used to say 0.00 directly beneath a column reading -0.72. POPULATION no longer contradicts the table above it. It was reporting water at 100% on a colony holding a fraction of a unit, because it measured what was served rather than what was wanted — and when you cannot get enough of something, what you consume equals what you produce. Both now read from one source, and it marks which need is holding stability down. AN UNCLAIMED ROCK is no longer dressed up as a colony. It used to report stability, claim every need was met, and advise you to review buildings that do not exist. It now shows what it is and what is under it, and nothing else. Fixed a crash that emptied the console: clicking a hex holding several ships of the same design.

v0.2026-09-22.55

The colony, end to end

Click a colony on the map to select it and open the dock. Double-click it, or press FULL VIEW in the dock, to get the whole thing. THE DOCK keeps everything it could already do and finally explains its numbers. Four figures across the top, each with its qualifier attached — stability with the ceiling it is heading for and what is holding it there, population with how much housing is left, energy spare or short, plots free — and one sentence saying why stability is where it is. Where Resources used to be there is now THE MACHINE: every resource on the body, what it nets and what is in the pile. Click any of them and the whole causal chain opens underneath — the seam and its richness, every extractor working it and at what efficiency, every claim draining it named separately, the shortfall, and what would fix it. That chain is where the real correction lives. The old panels showed what a colony MANAGED to consume, which sounds like the same thing as what it wanted and is not: when you cannot get enough of something, what you consume equals what you produce, so the number always looked balanced no matter how badly you were starved. A world could read 100% satisfied on water while holding a fraction of a unit. Now you see that the extractors make 0.67 a tick, your people want 0.59 and your farms want 0.80, and that the farms are the reason you have no water. THE FULL VIEW is new. It used to be the dock panel in a bigger box, which is why opening it told you nothing. It now splits by what you are trying to do: UNDERSTAND on the left — the machine at full width with ground, makes and draws all visible, the people, the world — and DECIDE on the right, carrying what is being built, what can be built, the shipyard and the contracts. Every section stands open at once, because at that width hiding things is the problem, not the solution. Contracts moved out of the dock and into the full view, where there is room for them.

v0.2026-09-22.54

A colony you can actually read

Colonies now have a full view, reached with FULL on the console. The old detail panel was barely bigger than the summary above it, so opening it told you nothing you did not already have. The centre of it is the machine table: one row per resource, reading left to right as ground, makes, draws, net, stock. A colony is a machine that turns ground and people into goods, and this is that machine on one screen instead of scattered across three collapsing sections. The DRAWS column is new information, not a rearrangement. The old panels showed what a colony MANAGED to consume, which sounds like the same thing and is not: when you cannot get enough of something, what you consume equals what you produce, so the number always looked balanced no matter how badly you were starved. A world could read 100% satisfied on water while holding a fraction of a unit. DRAWS shows what was actually wanted -- your people plus every workshop asking for it -- so a shortfall is finally visible as a shortfall. Above it, four figures with their qualifier attached: stability with the ceiling it is heading for, population with how much housing is left, energy spare or short, plots free. And one sentence saying why stability is where it is. A number on its own is a reading; a number with its limit beside it is a decision. Filter the table to what is moving or what is short. It opens showing everything, on purpose.

v0.2026-09-22.53

The game stops talking to itself every tick

Two simulation stages were writing a line to the browser console for every ship on every tick — position arithmetic from fleet movement, and dispatch entries from contract execution. That was meant to be development-only, but the switch it used is on during tests as well, and nobody had turned it off for people actually playing. A long session spent real time building strings nothing would ever read. It is off now, everywhere, unless asked for. Anyone chasing a movement or dispatch bug can still turn it on from the console and get the same detail, without reloading and losing the state they were watching. The warnings that matter are untouched: a ship running out of fuel before it arrives, or arriving somewhere with no destination recorded, still say so. Those are rare and they mean something is wrong.

v0.2026-09-22.52

One capital per world, and a ring that means something

You can no longer queue a second Colony Capital on a world that already has one. A colony's capital level is the deepest capital it has, so a second one was a wasted plot and wasted materials that changed no number in the game — and the build list was recommending exactly that as a fix for a shortage. The first capital is still bought, not granted; that part was deliberate. Colony markers on the map now mean what they look like. Every colony was drawn red, including one sitting steady at its ceiling, because any empty stockpile painted the whole world critical — and a mature colony always has something empty. Red now means the colony is actually losing ground; amber means it is held below what it could reach, and says by what.

v0.2026-09-22.51

No more "NaN" on screen

A figure the game genuinely cannot know now reads as a dash instead of the word "NaN". Loading an older save showed "Housing NaN" and "Plots 6 / NaN" on a colony screen, because those saves predate the body size field and the capacity is honestly unknown for them. This is not a number being hidden — it is reached only when the value is not a number at all. A live campaign producing one is still a defect, and the tests now check the underlying figures for every save rather than just the text on screen, so the friendlier display cannot cover a real fault.

v0.2026-09-22.50

The console opens on what you clicked

The console now opens on whatever you last selected on the map, instead of on its own guess. Click a hex, pick the ship standing in it, open the console — and it is that ship. That was the last broken link in the chain from the map down to one object's detail. The console reached from the rail also gains the SHIPS view. It had been running its own private copy of the colony picker and had quietly fallen a feature behind the one at its own address, which is what duplication looks like before anyone calls it a bug. There is one console now, shown in two places.

v0.2026-09-22.49

Ships explain themselves too

The console now has a SHIPS view beside COLONIES, and it answers the questions a ship actually raises. A ship under way says where it is heading and how long until it lands. "In transit" on its own was the label that made a four-thousand-tick crossing look like the game had hung. A working ship counts its progress, because at the smallest scanner's rate a first survey takes 2,400 ticks and a surveying ship was indistinguishable from one doing nothing. An idle ship now says *why* it is idle — out of fuel, hold full with nowhere to unload, or simply that nothing it can reach is asking for its kind of work. An idle ship with no explanation was the ship-shaped version of a colony sitting at zero stability with no cause anywhere on screen. A miner with no cargo hold says so, rather than drawing an empty bar at 0% and implying something is missing — the Pickaxe gave up its hold for a third drill on purpose. The job control distinguishes what you set from what the hull implies, and offers a way back to "whatever it is fitted for". Ships needing attention sort to the top of the list, so it answers "where do I look" rather than "what do I own".

v0.2026-09-22.48

Click a hex, see everything in it

Clicking a hex now lists everything standing in it, instead of only what happened to be under the cursor. The map has always resolved a click by asking what lies within a few pixels of the pointer, which fails a crowded hex in both directions. Zoomed out, it lumps together things a whole hex apart. And clicking the empty part of a hex that holds a moon and two freighters found nothing at all and simply cleared your selection — so the only way to reach a ship parked beside a planet was to hunt for the two or three pixels where it won the contest. One thing in the hex still selects on the first click. The list appears only when there is genuinely more than one thing there, so ordinary clicking is unchanged. Ships come first in the list. A docked ship sits just off its planet and is the smaller target, so the planet wins every pixel contest — the ship is the thing you had no other way to get to.

v0.2026-09-22.47

The map tells you which colony is dying

A colony in trouble is now ringed on the system map: amber when something is short, red with a second ring when something has run out. Until now, bodies arrived at the map carrying their position, their class, their size and their name — every fact about what a body *is* and nothing about how it is *doing*. Ships had carried their status as colour all along. So a colony could starve to zero stability with the cause computed on every tick, explained in full on its own screen, and no hint anywhere that you should go and look. Only the colonies in trouble are marked. A map that badges everything healthy teaches you to stop seeing badges, and healthy is the ordinary case. The ring uses the same amber and red as every other surface, so it means the same thing here as it does on the colony screen — and it is drawn even for a colony too far away to resolve in detail. Fog is about detail, not about whether your own people are starving.

v0.2026-09-22.46

A shortage now ends in a button

Every shortage in the colony console offers what would fix it, and shows what the colony is already building. Terran 10's water offers a volatiles extractor. Its consumer goods offer the luxury workshop that would make them, greyed out and saying why: it needs a capital at OoM 3. A blocked option still appears, because "you cannot yet" is an answer, and hiding it leaves a shortage looking unfixable. Options are ordered by how much they would actually help. The colony capital produces a trickle of nearly everything as a side effect, so the obvious ordering answered "water is short" with "build another capital" — 0.012 a tick against an extractor's 0.4. The thing built for the job now comes first. The reason a greyed-out option is greyed out is written on the row rather than hidden in a tooltip, because a touch screen has no hover and so had no way to ask. Underneath, the colony lists what it is working on, with progress. That shipped together with the buttons on purpose: queuing a structure on a screen that showed no queue would look exactly like pressing a dead button.

v0.2026-09-22.45

Every need opens its flow

A need in the colony console now opens into the chain behind it: what is in the ground, what is digging it, every gate holding those diggers back, what the colony makes, and who eats it. Terran 10's water reads as the story it actually is. There are 603.9K units under the colony and two extractors working them — at 72% of rate, because morale is short. That makes 0.670 a tick. The population wants 0.589 and the farms want 0.800, so the colony is short by 0.719. The farms are the bigger drinker, and nothing anywhere said so. Then the food chain says "held back — water short", and the loop closes: no water means throttled farms, throttled farms mean no food, no food means the morale that throttles the extractors. Three things were quietly wrong with these figures. A drain said how it was calculated instead of how much it took, so the two numbers that mattered were never on screen. A recipe held back by a shortage showed an internal identifier. And "net" compared what was made against what was actually handed out, which under a shortage is the same number — so a colony dying of thirst was drawn as perfectly balanced. Wanted and served are now both shown, and they only differ when it matters.

v0.2026-09-22.44

An empty pile says so

A resource could read 100% satisfied while the colony held almost none of it. Satisfaction answers "was the need met this tick", and it was — out of a pile one bad tick from gone. Terran 10 showed water at 100% on 0.06 units, beside a healthy-looking production figure, which is the row you scan past on your way to the red one. Then water collapses after you fix the food. Below five units a pile is now treated as gone. The meter reads EMPTY rather than a percentage it cannot support, draws empty rather than full, and counts as a critical shortage however well the tick happened to go. Every need also shows what is actually on the ground and whether it is growing or being spent. On Terran 10 that turns one reassuring green bar into the truth: no reserve of food, water, medicine or goods at all. Stability also stopped saying "Held at 50" while falling straight past it. It now says what it would climb to if the shortage were cleared, and names that number, because knowing 50 is the prize is what decides whether the repair is worth doing first.

v0.2026-09-22.43

The console is reachable

CONSOLE now sits in the command rail, between DESIGNS and SETTINGS. It opens over the map, so the old colony panel and the new dock are one keypress apart against the same colony in the same campaign — which is the comparison worth having, and the reason it overlays rather than replacing anything. It shipped last time as an address nobody could click. A surface you have to know the URL of is not reachable, and the rail was rebuilt around the rule that adding a destination is adding a row, so this is that row.

v0.2026-09-22.42

A colony that explains itself, at /play/console

The first surface of the interface rebuild. It sits at `/play/console`, alongside everything that exists today rather than replacing any of it, so nothing that works stops working while the rest is built. It shows one colony at a time and answers the question the old panel could not: why is this happening. A starving world says it is falling, how fast, which need is doing it, and what that need makes against what it draws. Then it says the part nothing has ever said — what the colony will be held at once the shortage is fixed. A world starving for food and short of medicine will stop falling and then stop at fifty, and knowing that before you act is the difference between one repair and two surprises. The colony list is ordered by what needs attention rather than by name. Colonies that are losing ground come first, worst first, and healthy ones recede. Every figure is the engine's own. The rate a colony is falling at is the rate the simulation applies, not a guess made by watching the number move, so it is right on the first frame after a save loads and stays right through a change that would break an extrapolation.

v0.2026-09-22.41

A ship can be told where home is, and a door can be walked through

Double-clicking a jump point now enters the system on the other side, the same way double-clicking a system on the galaxy map enters it. A door only leads somewhere once a ship has actually been through it — the far side does not exist until then. A door nobody has used says so rather than doing nothing, which is how you can tell an unexplored route from a misremembered click. Ships can also be given a home. The range control has always read "3 jumps from home" and there was no way anywhere to say where home was; a ship's home was wherever the shipyard that built it happened to be, permanently. Park a ship at a body and the panel offers to make that its home, which moves its whole working area with it. "Cut loose" gives up the anchor, and the ship then works from whatever system it is in.

v0.2026-09-22.40

Stability says why

The colony panel now explains the stability number instead of just showing it. It says whether stability is falling, climbing toward a ceiling, or held at one — and names what is holding it: hunger, thirst, no medicine, no consumer goods, or not enough power. A "Try:" line gives the way out. The needs are listed in the order they have to be fixed. Fixing a comfort higher up the list while something below it is short buys nothing, so the order on screen is the order to work through, and the rung the colony is stuck on is marked. Medicine now has a meter. It never did — three were listed by hand against four needs, and the missing one is the rung that caps most colonies.

v0.2026-09-22.39

Scouts move on to the next system

A scout that has finished sweeping its own system will now cross to one it has not, if it can make the jump and the system is within its range. It keeps the same habits when it arrives: nearest unheard ground first, then every hex it has not yet stood on. Patrolling ships are deliberately excluded. A picket is watching one place on purpose, and wandering off the moment things look quiet would undo the order.

v0.2026-09-22.38

Explored systems no longer slow the game down

Picking where to explore or patrol next got dramatically cheaper in a system that has already been swept — which is the state every well-travelled system ends up in. A single scout in a large finished system was costing most of a second of thinking every tick. It now costs a fraction of that, and patrolling ships were paying it forever because watching never finishes.

v0.2026-09-22.37

Set how far a ship may roam

The ship panel now shows where a ship calls home and how many jumps from it the automation may send it, and lets you change both. HERE keeps a ship in its own system. FLEET follows the fleet-wide setting. The numbered rungs allow that many jumps out from home. Range bounds where a ship may work, not how far it may travel — a ship out on a job may fly further to get back.

v0.2026-09-22.36

Trade lanes reach neighbouring systems

A colony short of something can now be supplied from another system, and haulers will fly the route. A lane only forms if some ship in your fleet could actually fly it. If nothing you own can make the jump, the lane is not offered at all — rather than forming, winning a hauler, and leaving it loaded at a door it cannot pass.

v0.2026-09-22.35

Scanners survey neighbouring systems

A scanner that has finished its own system will now cross to a neighbouring one, provided it can make the jump. The order of work is unchanged: everything gets a surface survey before anything gets a deep pass, and a body you flag still jumps the queue. Range only widens where a scanner may look, never what it prefers when it gets there.

v0.2026-09-22.34

Automation can send ships to other systems

A ship set to automatic will now take work in a neighbouring system, provided it can actually get there — under its own jump drive, or through a gate someone has parked open at the door. It travels the way you would send it by hand: fly to the jump point, cross, then carry on to the job. The whole journey shows in the ship's order queue, so you can see where it is going and how far along it is. Ships that cannot cross are not offered the work at all. They keep to their own system rather than accepting a job and stalling at a door. Each ship has a home and a range in jumps, and the range is measured from home — not from wherever the ship has drifted to. Set a ship's range to zero to keep it in one system.

v0.2026-09-22.33

Knowing which ships could work abroad

The game can now answer, for any ship and any distant body, whether that ship should be given work there: is the job within the ship's jump range of home, and can the ship actually pass every door along the way — under its own drive, or through a gate someone has parked open. Nothing asks the question yet. It is deliberately left disconnected, because switching it on before ships can fly the route would be worse than leaving it off: a miner would be assigned a rock in another system, hold the claim, and never be able to get there. That is the same way a cross-system trade lane recently loaded a freighter with cargo it could not deliver and left it sitting. It gets connected when ships can be given a journey in stages — fly to the door, jump, carry on — rather than a single trip they cannot make.

v0.2026-09-22.32

Ships remember where home is

Every ship now has a home body and an operating range in jumps. Nothing reads them yet. The home is the yard that built the ship. Existing ships are anchored to wherever they are docked, or to the place they set out from if they happen to be in flight — a ship does not get a new home simply by being sent somewhere. The range is measured from home and not from wherever the ship currently stands, which matters more than it sounds: a range measured from the ship follows the ship, so it could take work three jumps out and from there three jumps further, drifting without limit. Anchored, three jumps means a fixed region you can point at. Range defaults to three, and setting it to zero will confine a ship to its own system.

v0.2026-09-22.31

Groundwork for sending ships between systems

Three pieces of plumbing, none of them visible yet. The game can now work out which jump points a ship would have to pass through to reach another system, rather than only how many jumps away it is. It can ask whether a ship could use a door it is not currently standing on, which is what checking a route before departure requires. And it can measure a real distance across that route — out to the first door, across, and in to the destination — as one number in hexes. A jump itself costs no distance. It does not need to: the run out to the door is already the toll. On a real save the nearest door was ten hexes from the homeworld, and not one body in the neighbouring system came out closer than the average body at home.

v0.2026-09-22.30

Ships stop crossing interstellar space by accident

Freighters were flying between star systems without a jump drive, without a gate, and without going anywhere near a jump point. On a real save three of them had done it, each landing eight or nine hexes from the nearest door. Every system has its own coordinate grid, so a course plotted from one system to another was never a long journey — it was arithmetic on unrelated numbers, and on arrival the ship was simply relabelled as being somewhere else. Jump drives, gate stations and stabilisers were decorative for the entire automatic economy from the moment any door had been used. Courses into another system are now refused outright, and trade lanes are no longer offered between systems at all. A lane that cannot be flown is not harmless: a freighter would take it, load four and a half thousand units for it, and then sit holding them indefinitely. Reaching another system is a jump, and jumping is an order you give. Cross-system automation is coming and will restore these lanes — for ships that can actually make the crossing.

v0.2026-09-22.29

Shortage alerts say what is wrong and what to do

An industry alert used to read "Industry is running at 0%, held back by supplies." The simulation knew exactly which input had stalled the recipe — it uses that answer elsewhere to explain a slow output — and would not say it. The same alert now reads "held back by Hydrocarbons." Shortage alerts also carry a specific next step where one exists, so a colony with no consumer goods reads "Try: Build a Luxury Workshop" rather than the same generic sentence every shortage ended on. Where nothing is structurally blocking the resource, the alert stays quiet rather than inventing advice. Also fixed: any alert about something that is not a colony — a ship whose order failed, say — crashed the whole attention queue.

v0.2026-09-22.28

A colony can report more than one shortage

A colony could only ever show one economic alert. Each new shortage quietly overwrote the last, so whichever the simulation happened to reach last was the only one you saw. On a three-colony save that meant three alerts, all reading "Quantum Crystals shortage" — while the homeworld sat at 57% food and two colonies had no medicine at all. Every one of those numbers was being computed correctly and none of them could reach you. The same save now reports seven. Repeated reports of the *same* shortage still replace each other, so a worsening problem updates one line instead of stacking up a hundred.

v0.2026-09-22.27

Scouts stop chasing the same hex

Send three scouts out and two of them would regularly fly to the same square, because each picked the nearest unexplored ground without knowing where the others were headed. Arriving somewhere a moment after another ship teaches you nothing, so the third scout was largely wasted. They now steer around each other's destinations. Over the same forty thousand ticks on the same save that is 312 squares covered instead of 268. Surveying was measured for the same thing and deliberately left alone. Ships do pile onto one body, but a survey pools its progress, so five scanners on one rock really do finish it five times faster — and spreading them out completed exactly as many surveys while flying slightly further.

v0.2026-09-22.26

A resource you have none of explains itself

Open a resource on a body and, when something is genuinely stopping the empire getting hold of it, the panel now says what. "Build a Fuel Refinery." "Build a Gas Siphon." For a raw material it distinguishes the two answers that look alike and are not: nobody has surveyed a deposit, or no ship carries the tool to work one. The game had every one of these facts and volunteered none of them, so a demand could sit at critical for fifty thousand ticks looking like a transport problem when it needed a building. Nothing is said about a resource that is fine. A line that appears on everything is a line nobody reads.

v0.2026-09-22.25

The survey ETA counts only the scanners actually scanning

The previous entry fixed the scanner count and left a bigger problem standing. The body panel was working the figures out for itself rather than reading what the survey was really doing, and the two had come apart in two places: a scanner still flying to the rock was counted in the estimate, and a ship refitted mid-scan was credited with its new instruments rather than the ones it started with. The ETA is now whatever the scan is genuinely being advanced at, and a test watches a real survey run to make sure it stays that way — if the two ever disagree again, that fails rather than shipping.

v0.2026-09-22.24

A survey ship says how many scanners it brought

Fitting a second scanner to a survey ship has always doubled its rate. The body being surveyed never mentioned it: the line above the progress bar counted the ships on the job rather than the scanners aboard them, so a ship carrying two read as one — and the count is only printed above one, so it said nothing at all. The bar was moving at the right speed the whole time. Only the explanation beside it was wrong, which is the worst way for it to be wrong: the player had no reason to believe the second module did anything.

v0.2026-09-22.23

Speculative mining orders say how they rank

Housekeeping with no visible change. Mining jobs nobody asked for are ranked by how thin the empire's cover of each resource is, and anything nothing consumes counts as infinitely covered so it sorts last. Comparing two of those produced a value the sort was never meant to receive. It ranked correctly anyway, for three separate reasons that all happened to hold at once and none of which were written down. That is a bad way to be right, so the comparison now says what it means.

v0.2026-09-22.22

Miners can see the rock they are standing on

A mining ship finishes its order and is immediately asked what to do next. It was being asked at the one moment its own job had just been struck off the board and its replacement had not yet been written — so the rock under it was simply missing from the list, and it flew off to the next best thing. The job it had just left reappeared a tick later, worth nearly three times what it took. Over 100,000 ticks it happened every single time: nine handovers, nine departures, none staying. Now the board is refreshed before the ship is asked. It still leaves when somewhere else is genuinely worth more — that has not changed and should not. It simply gets to consider where it already is. In the same run it now stays ten times and still moves on seven, spending far less of its life in transit.

v0.2026-09-22.21

Deep scans read the world they are scanning

Every body rolls a luck number when the galaxy is made, and it decides how much that rock holds. Deep scans were supposed to use the same number and never received it, so every scan in the game rolled as though the world were exactly average. The effect was backwards: a barren rock got better odds underground than it deserved, and a rich one got worse. Deep scanning paid off best on your worst worlds. Rich worlds now reward deep scanning, and poor ones stay poor. Scan levels remain re-rolls of the same odds — that part is by design.

v0.2026-09-22.20

Jumping is an order like any other

Jumping had its own panel section, separate from the order queue every other instruction goes through. It is now an order: pick Jump through, and the ship crosses when it is standing on a found jump point with the means to use it. Because it is an order, it queues. Tell a ship to fly to the jump point and then jump, and it will do both in turn — where before you had to wait for it to arrive and press a button yourself. If the ship cannot go yet, the order waits rather than vanishing: fit a drive, or bring a gate stabiliser to the hex, and it goes.

v0.2026-09-22.19

Empty save slots offer Start

Every save slot claimed to hold a campaign, including the ones that never had. So all three offered Load, none offered to begin anything, and the only route to a second campaign was deleting a real one first. The seed field above them had nothing it could act on. An untouched slot now reads Empty slot and offers Start, which begins a campaign on the seed shown — rolled, typed, or random if you left it blank. Save, Export and Delete are greyed until there is something there.

v0.2026-09-22.18

The empire screen has tabs, and ALERTS goes to the alerts

The empire screen was one long scroll: figures, then three tables crammed into a two-column layout that could not hold three, then two more below. The event log came off worst — the widest table, with its own filter row, squeezed into half the width with nothing beside it. It is five views now, one at a time, and the row of tabs is itself the summary: each carries its own count, so you can see where the trouble is before you click. Clicking ALERTS in the header used to open the screen at the top with the alerts somewhere below the fold. It now opens on them. The view you are on is in the address, so a link to the alerts is a link to the alerts, and the back button walks the views.

v0.2026-09-22.17

"What's new" was showing you July

The box that appears after an update to tell you what changed has been reading the list backwards since it was written, so it announced the oldest entry on file rather than the newest one. It now shows the latest. It is also a proper dialog now. Tab used to walk straight out of it and into the game behind, and it could cover a window that was waiting on an answer from you. Neither happens any more. The little messages that appear bottom-right sat above everything, including those windows. They now sit below them, and read in the same type as the rest of the interface.

v0.2026-09-22.16

The lit one is the one you are on

The rail had it backwards. Sliding the mouse over a destination drew a line under it, while the destination you were actually looking at got a faint tint and no outline at all — so the strongest mark on the bar followed your cursor instead of your position. The rail had been cancelling the outline the buttons draw for themselves. It no longer does, and where you are now reads clearly even with the colour taken away.

v0.2026-09-22.15

The rail is a list

The six destinations across the top were written out one by one in the page, while the set of valid destination names lived somewhere else entirely. The two had already drifted: two names were declared that nothing could show, so a link to one of them loaded a valid-looking address and then a blank layer. Now there is one list. A stale link falls back to the map, which is what it was always supposed to do.

v0.2026-09-22.14

Banked time joins the rest of the bar

The banked-time figure and its gauge were the last thing in the header drawn by hand rather than assembled from the shared parts. It looked right because it copied the rules next to it — its own comment admitted as much — but a copy drifts the moment the original moves. No visible change. The gauge reads the same, spends the same, and now says what it is to a screen reader through the same component every other bar in the game uses.

v0.2026-09-22.13

One dial for time

The pause pair and the speed dial are now a single control. Stopped sits at the left end of it, held like any other setting, because stopped is a speed — the simulation always modelled it that way and only the header disagreed. The two controls could disagree, and did: pausing left the old speed lit, so a stopped game could show 8× as though it were running at eight times nothing. The bar is also two segments shorter, which is worth something on a narrow window.

v0.2026-09-22.12

One field for "is it running"

Pausing wrote two facts and resuming read a third. The speed field kept whatever it held when you paused, so a stopped game could sit there with 8× still lit, and starting again never cleared a paused speed at all. Nothing had written that value before, so the second half never fired. It was about to: the header's pause button and its speed dial are becoming one control, and the first thing that control does is write the speed you paused at. A save made that way would have reloaded into a game that reported itself running and never advanced a tick. Speed is now the single answer to what the simulation is doing.

v0.2026-09-22.11

Patrol

A second job for anything carrying sensors, and the first one the engine will never choose for you. Exploring looks for what it has never seen; patrolling goes back to whatever it looked at longest ago, because what a patrol watches for moves. Set it on the ship panel. A patrolling ship keeps circling and never reports itself finished — watching has no finished state — so it is off the economy until you say otherwise.

v0.2026-09-22.10

A sweep that finishes the job

An exploring ship used to stride by how far it could hear a jump point, which finds every door and leaves most of the system never flown over. Anything quieter than a door would have been passed straight by while the sweep reported itself done. It now listens first and walks second: once there is nothing left to hear, the ship goes and stands on every hex it has not yet been to. A large sensor still finds every door quickly — it just no longer stops there.

v0.2026-09-22.9

Jump points open anywhere

Every jump point in the game sat at exactly one distance from its star, one hex inside the edge of the system. Not roughly the rim — one ring, every system, every seed. They can now open anywhere a body is not, from beside the star to the far edge. A door is somewhere to find rather than somewhere to look.

v0.2026-09-22.8

Ships that go looking

Set a ship with a sensor to EXPLORE and it now sweeps its system on its own, flying to the nearest place nobody has listened from. Jump points are found by being heard, so until now the only way to find one was to fly a scout at it by hand. A better sensor sweeps faster, and by a lot: a ship hears a jump point from one hex away with a small navigation sensor, five with a medium, nine with a large, and it strides by what it can hear. Over three systems a small-sensor scout found two doors of six; a large-sensor scout found all six, visiting fewer hexes to do it.

v0.2026-09-22.7

A jump point you have not found leaves no trace

The map was drawing a dotted orbit ring at exactly the distance of every undiscovered jump point, and brightening exactly its hex. The icon was hidden and the catalogue said nothing, but the two marks gave the location away anyway — on the rim, where nothing else sits. Both are gone. A jump point now appears only once your sensors actually find it.

v0.2026-09-22.6

Tell a ship what it is for

The ship panel now says what each ship is for, worked out from the modules fitted to it — MINE 90%, PASSENGER 82%, FREIGHT 97% — and lets you change it. Press AUTO to hand the decision back to the fit. Only jobs the hull can actually do are offered, because the engine obeys what you set rather than second-guessing it. Jobs nothing dispatches yet — explore, build, gatekeep, military — are shown greyed and say so, rather than quietly parking the ship.

v0.2026-09-22.5

A ship does the job you set it to

What a ship is for is now worked out from the modules fitted to it, and the automation obeys it. Set a hull with a drill and a hold to haul, and it hauls — it is no longer offered mining work at all. Until now the job a ship got was decided by the order two blocks of code happened to run in. That is why a scanner kept being sent on cargo runs, and why a hull carrying a drill could never haul whatever you wanted from it.

v0.2026-09-22.4

The Role dropdown that asked and forgot

Designing a ship offered a Role field — SCOUT, PATROL, ESCORT, BATTLESHIP, SUPPORT — and nothing in the game ever read your answer. It could not describe half the fleet either: there was no entry for a freighter or a miner, so both were filed as "support". The dropdown is gone, along with a second dead labelling scheme that guessed a ship's job by looking for words like "miner" inside its hull name — rename a hull and it changed its mind. What a ship can do comes from the modules fitted to it, and that is where its role will be derived from.

v0.2026-09-22.3

The play button tells the truth again

Sweeping for other screens with the same fault as the toasts found one: the play/pause control in the HUD showed whatever the game was doing when the screen first loaded, and never changed afterwards however many times you paused. Pausing worked; only the button lied. A build check now refuses this whole class of mistake, so a screen that reads the game without listening for changes fails before it can ship. Nine unused functions in the same file went with it, several carrying the same fault in waiting.

v0.2026-09-22.2

Screen messages work again

The dismiss button on a toast did nothing, and the quieter half was worse: any message raised after the screen was up never appeared at all. Every "Jumped.", every queued order, every save error has gone unseen since the simulation moved off the Svelte proxy three weeks ago. The welcome message was the one exception, pushed early enough in boot to be caught on the first read — and then impossible to dismiss. Toasts now hold their own state instead of riding on canonical game state. They were never saved to disk, so nothing is lost, and they are reactive by construction: there is no counter left for a future change to forget.

v0.2026-09-22.1

Old saves are brought up to date, not silently broken

A campaign made by an April build loaded as current and then killed the map. It carried no hex grid, ships still holding pre-hex `{x, y}` coordinates, and a parts list — `ion-drive-mk1`, `civilian-transport-medium` — that the unified ship system replaced five months ago. Forty-nine migrations stood between that save and this one and none of them noticed. The new migration gives every body and ship a place on the grid, recovering it from the old orbital and pixel coordinates rather than dumping the system on its star. Moons return to their planets, jump points to the rim. A flight with no route is cancelled, so the ship simply goes idle and takes new work. Ships whose hull no longer exists are refitted from the template they were built from: a Mule is still a Mule, with a modern engine and hold. Saves made after the hex grid come through untouched, terrain and all.

v0.2026-09-19.3

One bad hex no longer blanks the map

Reported from play: the console filling with `[map] frame failed TypeError: can't access property "q", e is undefined`, once per frame, and nothing drawn at all. - **🗺️ The map survives its own data.** `hexToPixel` reads `.q` straight off its argument, so a single unusable entry in any hex collection threw — and the throw unwound the whole frame. One bad datum cost every body, every ship, the grid and the overlay. - **🔎 And now says where it came from.** The frame loop already caught the error; that is precisely why this was expensive to trace. It reported that a frame failed and nothing about what was in it. A skipped hex now names its collection and its system, once, not sixty times a second. - **⚠️ This is a guard, not a cure.** An unusable hex is a real defect upstream. Nothing in generation, save loading, ship movement or the sensor overlay reproduces one — 240 generated systems, four campaigns and 65,000 ticks are clean. The guard keeps the map usable and turns the next report into a location instead of a stack trace in minified code.

v0.2026-09-19.2

A jump point must be found

- **🔭 Your own exits are no longer handed to you.** Generation used to mark every jump point in the home system as already discovered. That line was older than the sensor rewrite and outlived it: detection is one law — a signature fades with every hex it crosses and is heard when it still clears the listener's floor — and a blanket grant was a second, contradictory answer to the same question. - **🪜 It also made the whole sensor ladder decorative.** In the one system that matters at turn one, every door was already known, so upgrading a capital, building a long-range array or flying a scout could not find you anything. There was nothing left to find. - **📏 Measured over 40 home systems:** doors sit 9 to 34 hexes from the homeworld, median 17. A starting capital hears 3. So a campaign now begins without knowing where its exits are — and a door that *does* spawn inside that reach is still known immediately, because a sensor heard it, not because generation said so. - **💾 Saves keep what they know.** Discovery is a ratchet: a door you have already found stays found.

v0.2026-09-18.14

Fabricators build where the ship is standing

- **🔧 A constructor with a fabricator can now build in place.** No colony, no population, no power grid — the yard flew there. This is the only way to put anything at a jump point on the rim of a system nobody has settled, which is exactly where jump points are. - **🏗 A new Gate Station hull, and the line between the two ways of building.** A fabricator may only build *structures*, and a structure is a hull with nowhere to mount an engine. That is a property of the hull, not of what you chose to fit — so it cannot be dodged by leaving the engine slot empty and plantng a freighter in deep space. Without the line a constructor would be a mobile shipyard and a planetary shipyard would be pointless. - **⚖️ Mobile gate versus planted gate.** A Platform carries a stabiliser somewhere and can take it away again: 380,000 credits. A Gate Station is planted and never moves: 180,000. Pick the cheaper one for a point you have already decided on. - **📋 The panel says why, every time.** "No fabricator fitted", "*X* has an engine mount, so it needs a planetary shipyard", "Not enough in the hold: structural-steel". The reasons come from the same predicate the action calls, so the panel cannot offer a build the action then refuses — and the shortfall names the right place, since telling you to load more *credits* would send you to the wrong screen entirely. - **🐌 Fabricators are slower than a proper yard, and the numbers say so.** A medium fabricator is worth one fully-staffed colony build crew; a large one is worth four. Measured against a real campaign, where a half-manned hauler build runs at 0.497 of a crew.

v0.2026-09-18.13

A gate is a ship standing on the door

- **🚪 Gates now work, and they work by being there.** A jump point used to carry a `gated` flag, set by an action nothing in the game ever called — so gates were a mechanism that existed and could never happen. A point is now gated when a platform carrying a Gate Stabiliser is parked on that exact hex, stationary, in that system. Fly the platform away and the door closes behind it. That is what makes a mobile gate mobile, and it means there is one mechanism rather than two that could disagree. - **🛣 Anyone may use your gate, including people who are not you.** Deliberate. A gate is a road, not a key — building one opens the point for every ship standing there, and a test pins that so it cannot be quietly tightened into an ownership check later. - **⚓ The ship's own drive always wins.** When a ship could cross either way it uses its own drive, because a drive is a capability it carries and a gate is someone else's platform that may not be there next time. A ship that could always get home should never start depending on one. - **🔎 Found while testing, not after shipping:** nothing proved the ship panel could actually *see* a gate. Cutting the panel's knowledge of nearby ships left every existing test green, which is precisely how jump traversal itself once sat unreachable for weeks. There is now a campaign-driven test that fails when the panel goes blind.

v0.2026-09-18.12

The gate stabiliser and the Platform

- **🌉 A gate is a module, not a building.** The Gate Stabiliser holds a jump point open for *everything standing in the same hex* — ships with no drive of their own, and ships that are not yours. That last part is deliberate: a gate is a road, not a key, so building one is a commitment rather than a free win. It passes 768,000 of mass against the best jump drive's 192,000, which is the reason to build one at all — a gate exists to move what cannot move itself. Unlike a drive, which is inert until it fires, a gate draws power continuously, so the hull carrying it needs a reactor chosen for the job. - **🛠 The Platform, a chassis with an XL bay.** The stabiliser is the first XL module in the game, and the Platform is the only hull with a bay big enough to take one. It is a general chassis rather than a gate tender: alongside the XL bay it carries two large and one medium utility bays, so a Platform that is not carrying a gate is still carrying something. The XL bay is a utility slot like any other, which means a gate costs the hull its largest bay — the same decision the jump drive forces, one size up. - **📐 No new rules were needed for any of this.** XL was already understood by the slot validator and the stat ladder; it had simply never been used. Every number on both the module and the hull is derived from its size and role rather than chosen, so the gate is expensive because it is enormous, not because somebody typed a big number.

v0.2026-09-18.11

Contract creation stops running every tick

- **⚡ 18% off every tick.** Contract creation was the second most expensive stage in the simulation and the only one of its kind still running every single tick — its two siblings, sensors and trade-route synthesis, have long run every thirty and every ten. It ran that way to kill a contract flicker, and that flicker has since been fixed by a different change: contracts now carry a lane identity and refresh in place rather than expiring and being minted afresh. So the every-tick run was buying nothing. Measured before changing it and again after: across twenty thousand ticks of a real campaign the open contracts, the trade routes, the tonnage mined, the stockpiles, the population and the treasury are all unchanged, and four fresh campaigns bootstrap identically. The only visible difference anywhere is that the first contract of a brand-new game appears on tick ten instead of tick one. - **🔍 A test that was measuring the wrong thing.** The guard meant to catch contract flicker added two unrelated quantities together — how long a new world takes to raise its first contract, and whether contracts vanish afterwards — and allowed five ticks of the sum. Only the second is flicker. As written it would have passed a game that lost every contract for four ticks at a time forever. It now measures the gap after the first contract appears and demands exactly zero, which is both what the name claims and a far tighter bound than the one it replaced.

v0.2026-09-18.10

Fast forward, and the clock bug it uncovered

- **⏩ Two fast-forward buttons.** `>600` runs ten minutes of game time at full fidelity in under a second; `>>6k` runs a hundred minutes in about half a second. They exist because 32× is bounded by the frame budget — it runs thirty-two ticks and waits for the next frame — so reaching an advanced campaign meant sitting and watching. These run the ticks in one burst and hand the world back when it has caught up. The coarse one runs every stage on a hundred-tick clock, which is honest arithmetic rather than a cheaper guess: each stage is given the span it stands for, so the same work happens in fewer, larger steps. What it costs is resolution. Events land on hundred-tick boundaries, so a delivery due at tick 1,050 happens at 1,100, and discrete random events — a deep scan striking a seam — fire on different ticks and so roll differently. It is a plausible campaign at that tick, not the campaign you would have reached by playing. Both are test controls and are labelled as such. - **🐞 The clock was lying to fifteen of seventeen stages.** Running a stage once every N ticks is supposed to hand it N ticks of time. It handed it one. Only `LocalEconomy` read the real span from a separate field; every other stage multiplies its rates by the clock, so raising any of their strides threw away work in exact proportion — at a hundred-tick stride a building reached a fifth of the progress it should have, a survey never finished, and all six gates stayed green because nothing compared the two clocks against each other. Both now agree. This changes nothing about how the game plays today, because no stage that currently strides reads the clock — the golden campaign is byte-identical — but it was a loaded gun for anyone who raised a stride to make the game faster.

v0.2026-09-18.9

You can actually jump now

- **🕹️ A Jump control on the ship panel.** `traverseJumpPoint` has worked, and been tested, and had no caller outside its own tests — everything about leaving the home system was built and none of it could be done. The ship panel now lists every jump point the ship's system has found, names where each one leads (or "Unexplored"), and either offers the jump or says plainly why it cannot: *"The ship is not at the jump point."* · *"No jump drive fitted, and this point has no gate."* · *"The jump drive lifts 8.0K; this ship masses 11.2K."* - **🧭 How to leave home.** Your home system has two jump points and you can see both from the start. Refit a ship with a jump drive in a utility slot, fly it out to the door — they sit on the rim, twelve to twenty hexes out — and jump.

v0.2026-09-18.8

Jump points work both ways

- **🚪 A jump point is a door, not a fuse.** Crossing one used to burn it: the point was flagged used, and the point created on the far side was *born* flagged, so nobody could come home and no second ship could follow. The flag now records only that the far side has been generated. Passage is decided fresh each time by whether the ship has a drive big enough, or the point has a gate. - **📍 You must actually be at the jump point.** Traversal checked that a ship was somewhere in the right system and nothing more, so a ship parked anywhere at all could jump from where it stood. - **🌟 You no longer arrive inside the star.** Ships emerged at the exact centre of the target system while every generated jump point sits out on the rim — two kinds of jump point disagreeing about where jump points live. A ship now arrives standing on the door it came out of, and that door is one of the new system's own jump points rather than a fabricated one bolted on beside them. - **⚠️ A fresh campaign cannot jump yet.** No starter ship carries a jump drive, and none begins parked at a jump point. Refit one and fly it out to the rim.

v0.2026-09-18.7

Warships can carry a jump drive (and got heavier for it)

- **⚔️ Frigate, destroyer and cruiser gain a utility slot.** They had none at all — built entirely from weapons, defence and the fittings that fly them — so a jump drive was not merely expensive for a warship, it was unfittable, and a fleet could never have followed its freighters out of the home system. Escorts take a medium slot, the cruiser a large one. One each: the slot is the price of jumping, and a spare would make it free. - **⚖️ Balance: those three hulls are now heavier, tougher and dearer.** Mass, structure, armour, build time and price all follow from a hull's slot layout, so a hull that gains capability gains weight and cost with it. Frigate 4,600 → 5,200 mass and 115K → 130K credits; destroyer 6,000 → 6,600 and 150K → 165K; cruiser 12,000 → 13,800 and 300K → 345K. - **🛩️ The fighter still cannot jump on its own.** Deliberate — a short-range interceptor that needs a gate, a carrier or a tender to leave the system.

v0.2026-09-18.6

The jump drive

- **🌌 Jump drives, in three sizes.** A jump drive is what lets a ship cross a jump point under its own power. It fits a **utility slot**, so it is a decision rather than a free capability: the slot could have been a cargo hold, a drill or a scanner. A Dart buys the galaxy with its cargo space and keeps its eyes; an Ox gives up a quarter of its capacity. Each size lifts a ceiling of mass — 12,000, 48,000 and 192,000 — weighed against the whole designed ship *excluding* cargo and passengers, so a fully loaded freighter can still get home. The ceilings sit well above anything buildable today on purpose: what later technology puts in a hull is not knowable now, and a ladder tuned exactly to the current catalogue would have to move every time the catalogue does. Mass is deliberately not what stops you; the slot is. The drive draws no power while cruising, being inert until it fires.

v0.2026-09-18.5

Automatic ships stay in their own system

- **🚀 Auto dispatch is confined to the ship's own system.** Miners, haulers and scanners chose work by jump radius — anything within three jumps was fair game. That rule was safe only by accident: no ship had ever traversed a jump point, so no jump point knew where it led, so every other system read as infinitely far away and the radius never actually admitted anything. The first traversal would have ended that for every automatic ship at once, and they would have flown straight to the new system by ordinary flight, with no jump point involved and no drive needed. This is the limitation it sounds like: **the automatic economy cannot use a newly discovered system at all.** A colony one jump away is invisible to your haulers, and everything there is yours to fly by hand until ships can be routed through a jump point properly.

v0.2026-09-18.4

Close orbits exist again, and jump points stop huddling

- **🪐 Fixed: three kinds of star could never hold a planet in close orbit.** Red dwarfs, white dwarfs and neutron stars declare their innermost zone as exactly hex 2, while placement refused to put a planet closer than hex 3 — so every world drawn into that zone failed and was thrown away. Not moved outward: lost. Red dwarfs alone gained 89 planets across 400 systems once the floor was corrected, and they are a third of the galaxy. The old coordinate fault had been hiding this, since a hex "at distance 2" used to arrive anywhere from 2 to 3 and some slipped through by luck. - **🌀 Jump points no longer huddle together.** Nothing kept one door clear of another, so a system could present four of them within a hex or two of each other — one doorstep with four handles, while the rest of the rim stayed empty. They now keep at least three hexes apart. This matters most in systems with no bodies at all, where the rule that keeps jump points clear of planets has nothing to act on.

v0.2026-09-18.3

Systems with no star, and systems with no worlds

- **☁️ Nebula shrouds.** A system with no star at all and nothing in it but cloud — six to fourteen of them, filling the whole radius. Cosmic plasma in quantity, and slow going: nebula terrain is the most expensive to cross in the game, so working one is a commitment rather than a detour. About one system in fifty. - **🪨 Dead systems.** A star with nothing left in close orbit: no worlds, no moons, just belts and comets. Rich in raw rock and useless for settling, so they function as connective tissue between the places worth having. About one system in twenty-five. - **⭐ Fixed: a system without a star still drew one.** The generator emitted a star whether or not the archetype had one — every system carried `star: { min: 1, max: 1 }` in its own config and nothing read it — and both map renderers drew one from the system's type rather than from a star actually being there. A starless system would have shown a phantom sun at its centre.

v0.2026-09-18.2

The star decides how big its system is

- **⭐ System size now comes from the star, not from a body count.** Radius used to be looked up from how many bodies a system happened to roll, so a crowded three-body system came out nearly as wide as a twenty-body one and the star in the middle had no say. Each archetype now names the sizes it can anchor — a neutron star is always small, a giant is always large or huge, a binary can be anything — and how full the system is follows from the size rather than setting it. - **⭐ Systems are smaller and quicker to cross.** Median radius falls from 38 hexes to 17, and a loaded freighter crosses the median system in about 3 hours instead of 6.3. Big systems still exist: a giant runs to 45 hexes and is a genuine logistical problem, which is what makes a fast hull or a well-placed colony worth having. - **⭐ A star keeps its habitable zone whatever size system it gets.** Where liquid water sits depends on how bright the star is, not on how much debris is in orbit — so a compact main-sequence system and a sprawling one have the same habitable band and differ only in how much lies beyond it. Only the outer and deep bands stretch. - **🪨 Asteroid belts form at the zone seams they should.** The inner band straddles the habitable/outer boundary, like our own belt sitting outside the habitable zone and inside Jupiter; the outer band is the deep zone, the Kuiper analogue. They were previously placed at fixed fractions of the grid, which put them wherever the grid happened to end. - **☁️ Nebulae keep to the outer and deep zones.** Nebula terrain is the most expensive to cross in the game, so a cloud sitting between you and your own habitable zone was a permanent tax on every routine haul. Keeping them outward also means cosmic plasma — and the late-game economy it gates — stays something you mount an expedition for.

v0.2026-09-18.1

Star systems are the size they say they are

- **🌌 Fixed: a system's radius was a suggestion, and 79% of systems broke it.** Bodies and jump points were placed by picking a distance and an angle and converting the pair to hex coordinates as if hexes were graph paper. They are not — hex distance is measured along three axes, so the same requested distance arrived up to **twice as far** pointing one way as another. Systems were not discs, they were blobs: stretched along one diagonal, squashed along the other. A system declaring a radius of 50 delivered bodies at 70. Measured over 300 systems, nothing is now outside its declared radius. - **🌌 Fixed: jump points scattered across the map instead of sitting on the rim.** Every jump point in a system is placed on the same ring, but the same fault meant one system returned four of them at 31, 55, 39 and 47 hexes — an inner one closer than some planets, an outer one 6 hours of flight away. They now arrive at one distance, as intended. - **🌌 Placement can reach the whole ring.** The old code offered twelve fixed compass directions per ring, out of the 180 positions that exist at distance 30, so bodies fell on a hidden twelve-spoke wheel. Every hex at the right distance is now a candidate.

v0.2026-09-17.7

A paused shipyard says so, instead of disappearing

- **🏗️ Fixed: pausing your only shipyard made the whole Shipyard panel vanish.** A paused yard offers no berths, which is correct — but the panel was listed only when a yard offered at least one, and that is the same test used for "this colony has no yard at all". Two different facts through one predicate, so the yard you had just switched off became invisible and there was nothing left to switch back on. You had to find it in the buildings list and remember that was the reason. The yard is now listed whenever you own one, with its real level, and reads **Paused — this yard is switched off**. - **🏗️ Fixed: the refusal blamed the berths, or the yard's level.** A paused yard reports both zero berths and zero depth, so the order button said *"Every berth is in use"* — your berths were empty — or *"Needs a level 1 yard"* when you were looking at a level 1 yard. Neither named the one thing that fixes it. Being paused now outranks every other reason.

v0.2026-09-17.6

Your scanner stops running freight

- **📡 Fixed: a ship with a survey scanner and a cargo hold took haulage jobs instead of surveying.** Reported from play about the Dart, which carries both. The cause was the order the dispatcher asks its questions in, not how it scores them: freight was offered first and survey last, and once a ship is claimed by one arm the later ones skip it. The freight arm's own guard protects *miners* from being poached and says nothing about scanners, and the Dart has no drills — so it fell straight through. Survey is now asked before freight. Nothing is starved by that, because the arm only claims a ship when there is actually something left to scan: a scanner in a fully-surveyed system, or one already at the deep-scan ceiling, still falls through and hauls. The instrument decides, never the hull — the same shuttle without a scanner is unaffected.

v0.2026-09-17.5

Emission is back on the hex readout, and the planet gets its line

- **📡 Fixed: a ship parked at one of your colonies erased that colony from the coverage overlay.** The marks are grouped by hex, so a docked fleet reads as one mark rather than a row each — but the grouping kept whichever source was read last instead of the loudest, and colonies are read before ships. Any shuttle sitting at a colony took over its mark: the colony's name, its verdict and its drawn position all went with it. A shouting planet appeared silent, and the line to it landed on the ship beside it instead. The loudest thing on a hex now wins its mark, and the quieter things sharing it are counted on it. - **📡 The readout answers both of its questions again, under two headings.** The emission half — what each of your own colonies and ships puts into the hex you are pointing at, after the distance has eaten it — was removed along with the instrument list it had been tangled up with. It is the half that tells you whether you are exposed somewhere, so removing it was a straight loss. It is back, grouped by place and capped at the three loudest with a line accounting for the rest, so it cannot grow with your fleet again. **DETECTION** and **EMISSION** are now labelled sections rather than one run of figures. - **📡 The distance is stated once, as a multiplier.** The card printed the distance as `×2.92` and then its own total as `0.25 ÷ 0.34 kept = 0.73` — and 2.92 is exactly 1 ÷ 0.34, so the same fact appeared twice in two spellings, each the reciprocal of the other. You had to notice that to read the card at all. It now multiplies throughout: ear floor, distance cost, threshold. The threshold sits inside the detection section that produces it, instead of below the emission list.

v0.2026-09-17.4

The map now shows which sensor, and where

- **📡 The other half of the readout cut: hovering a hex under COVER marks the things it concerns, on the map.** The rows that used to say "Nav Sensor (S)" nine times over are now marks in the places those sensors actually are, with a line back to the hex you are pointing at. Something loud enough to be picked up there is drawn filled; something too faint is drawn hollow and dashed rather than left out, because "I checked, and it is quiet" is an answer and a missing mark just looks like a broken overlay. A ring around a mark means an instrument standing there covers the hex. Four scouts docked at one colony are one mark labelled with a count, not four identical rows — which is the whole reason this belongs on a map and not in a list.

v0.2026-09-17.3

The sensor hex readout stops listing your fleet at you

- **📡 Fixed: the hover readout on the coverage overlay grew with the size of your empire and ran off the bottom of the screen.** It was measured in play at around 880 pixels tall. Two of its rows carried the answer — what your best ear here can hear, and what the distance to it costs — and the total those two produce is printed underneath them, so with thirteen more rows in between it was pushed off-screen entirely. You could not see the number the card exists to give you. The rest was two lists: every instrument that covers the hex, then everything of yours making noise near it. Nine rows read "Nav Sensor (S)" with no hint of which one or where, four of them carrying the same figure, and some of those figures meant the instrument hears nothing at all — a listener needing something a thousand times louder than your homeworld was still listed under "Also hears". Both lists are gone. Which instrument, and where, is a question about position, and the map is already on screen and already knows the answer.

v0.2026-09-17.2

Correction: colony noise marks were never adrift

- **📡 Correction to the note above.** It claimed the fix also moved colony marks, "a body drifts around its star within its hex, and its mark stayed pinned at the centre". Bodies do not drift. `resolveBodyPosition` takes the clock and ignores it, so a body sits at its hex centre, and the two ways of asking where it was returned the same pixel. The ship half was real and is unchanged — a ship genuinely is drawn along its course rather than at a hex centre. The colony half fixed nothing, because nothing was wrong with it.

v0.2026-09-17.1

The alert names the right lever

- **🩺 Fixed: a colony stuck at 50 stability for want of medicine was told to build housing.** No amount of housing moves that ceiling — only medicine does. The advice was confident, wrong, and repeated every tick. Behind it, the list of things a population needs was written out by hand in five separate places and three of them had only ever heard of three needs, so medical care could be billed for, drawn on the panel, and never named as a cause. There is one list now, and adding a sixth need is a compile error everywhere that has to know about it rather than a silent omission. Saves made before this carry the missing figure forward on load.

v0.2026-09-16.5

The coverage card answers both halves

- **📻 New: every hex now says what is arriving, not just what you could hear.** Hovering empty space used to report only your own hearing — it named your noise sources solely when you hovered the exact hex one stood on, so standing a single hex from a shouting homeworld reported nothing at all. Noise travels, and now the card says so: every source of yours in the system, what is left of it by the time it reaches this hex, and whether that clears the faintest thing your sensors register there. Sources too faint to be heard are shown struck through rather than hidden — "I checked, and it is quiet" is an answer. - **👂 Every ear that reaches a hex is listed, not only the best one.** Three instruments covering a hex and one instrument covering it looked identical before. They are not: one is redundancy, the other is a single point of failure. - **🔢 The arithmetic reads in the game's own units.** The card used to show a multiplier of `1.43`, which is `1 ÷ 0.7` and appears nowhere else in the game — you had to invert it in your head. It now divides by how much of the signal survives the journey, which is a figure the model actually uses. The distance is stated against the instrument it belongs to. - **📐 Fixed: the card was narrower than its own text.** Explanatory phrases were being rendered into a column sized for numbers, so they overflowed the grey panel. Prose now takes a full-width row of its own and wraps, and the card is sized by its contents up to a ceiling the viewport always wins against.

v0.2026-09-16.4

Noise marks follow the ship

- **📡 Fixed: on the coverage overlay, a ship's noise circle sat a hex or two away from the ship.** Not a stale reading — the two were drawn from different things. A ship glides along its course between hexes, but its noise mark was drawn at the centre of whichever hex it was counted as occupying, so the further through a crossing it got, the further behind it the circle sat. Marks now come from the same position as the ship itself and cannot separate. The shaded hexes are unchanged — hearing genuinely is per-hex; it is only the marks on your own things that follow the thing.

v0.2026-09-16.3

Medicine matters, and a comfort ladder

- **🩺 Fixed: medical nanites were charged for and never taken.** The population was billed for them every tick, the panel drew the drain, demand contracts were raised for them — and nothing ever took a single unit off the shelf. A hundred units sat untouched for 50,000 ticks while the interface insisted they were draining away. Two lists had to agree about what people consume and they had drifted, one holding four resources and the other three. They are now checked against each other, so a need that is billed is a need that is paid. - **⚖️ New: comfort is a ladder, not a switch.** A colony with food, water and power settles at 50 stability. Give it medicine and it climbs to 80. Give it luxuries as well and it reaches 100. The rungs are climbed in order — a luxury workshop on a world that cannot see a doctor buys nothing — so a pharma lab and a luxury workshop are two separate decisions with two separate supply chains rather than two names for the same tax. At 50 your buildings run at 80% and your population grows at a third of its potential, so the first rung is worth real output. - **📉 Comforts are missed faster than they are enjoyed.** Stability falls twice as fast as it recovers when a colony runs out of medicine or luxuries, and settles at whatever rung it still holds. Letting a supply line lapse costs more than the patience it takes to recover.

v0.2026-09-16.2

Small ships can take a job again

- **🚀 Fixed: a shuttle with cryopods sat idle forever.** Both worlds designated, both signals raised, a live route between them — and the ship never moved. Before committing a ship to a trip the game checks the load is worth the flight, but it was comparing every ship against the size of the smallest *cargo hold*. A small cryopod bay carries 31 people, well under that bar, so any ship whose entire capacity was smaller than one crate could never be sent anywhere at all. The check now asks whether the trip is worth *that ship's* time: a ship filling its hold is doing the best it can. Large freighters still refuse to cross a system for a rounding error.

v0.2026-09-16.1

Deepening a building works again

- **🏗️ Fixed: DEEPEN did nothing.** The cost list said you could afford it and the button did nothing at all — no queue entry, no message. The upgrade was checking your bill against the imperial treasury, which holds only credits and data, rather than against the materials sitting on the world doing the work. Your homeworld had the steel and polymers the whole time. Upgrades now pay the way everything else does: materials from the ground beneath them, credits from the treasury. - **🧹 Also:** new empires no longer start with a few thousand tonnes of steel and fuel locked in the treasury, where nothing could ever spend them. That stock always belonged on the homeworld, and it is already there.

v0.2026-09-15.4

The colonist control, in the population panel

- **👥 Where to set it.** The SOURCE / DESTINATION switch now sits in a world's Population panel, directly under the workforce figures — idle workers are what a source has to offer, and jobs asking for staff are what a destination needs filling. It shows how many people the world is currently offering or asking for, and if that number is zero it says why: a world with no housing has nowhere to put anyone, so build a habitat first.

v0.2026-09-15.3

Colonist transport runs itself

- **👥 New: designate a world SOURCE or DESTINATION and ships move settlers for you.** Mark a crowded world as a source of colonists and a thin one as a destination, and any ship with cryopods will start ferrying people between them — boarding, flying, and landing without a single manual order. Set a number by hand if you want to override how many; set zero to stop a flow entirely. A world with no designation does nothing, so nothing changes until you ask for it.

v0.2026-09-15.2

Colonists no longer vanish while disembarking

- **👥 Fixed: people disappeared mid-landing.** Passengers left the ship a few at a time but were only counted on the ground once the whole transfer finished. In between they existed nowhere — sixteen people a tick, unaccounted for. If anything interrupted the landing in that window, everyone still in transit was simply gone. Disembarking is now a single step: the pods empty at the exact moment the colony gains the arrivals, so nobody can be lost in the gap.

v0.2026-09-15.1

A ship that finished unloading takes work again

- **🚚 Fixed: a hauler could be retired by an empty hold.** Eligibility asked whether the cargo manifest had any lines on it, not whether any of them held anything. A ship that unloaded completely but kept a zero line on the manifest was passed over for every job, forever, with no indication why. It now asks how much is aboard. - **🧊 Groundwork: colonists can be shipped like freight.** Contracts, lanes and the priority flag now understand a cargo that is people, so a settlement run can use the same routing the economy already uses for ore. Loading and unloading them automatically comes next; carrying them by hand works as before.

v0.2026-09-14.7

The COVER readout shows its arithmetic

- **🧮 Detection explained as a chain:** The hover card stated a floor and a percentage with no referent, then converted both into a hull weight — a second unit to learn. It now shows the terms in order, the equation they land on, and one sentence of consequence, the same shape as the resource chain. - **🏷️ The listener and the emitter are named:** Every term says where it came from — which instrument is hearing, how far away it is, which of your ships is the loud one. On a hex holding a colony and three docked ships, that was the whole question. - **📐 It fits the card:** Qualifiers sat glued to their values with a separator, which is how a two-column grid ends up rendering a paragraph and overflowing.

v0.2026-09-14.6

See how far your own noise carries

- **📢 Noise rings on COVER:** The overlay drew a mark on each of your colonies and ships weighted by how loud they are, which told you that you were shouting somewhere and never who would hear it. Each source now carries a ring at the distance its noise still reaches, measured against your own best sensor — a foreign one is unknowable, so the honest statement is how far you would hear yourself. - **🔇 Cutting engines is visible:** A heavy freighter's ring shrinks by two hexes when it stops burning. Under the old model neither number existed — every contact stopped at the listener's wall regardless of how loud it was.

v0.2026-09-14.5

Loud things are heard further, and jump points are a close-range find

- **📡 Detection follows loudness:** A signature now decays as it travels, instead of being the same number in its own hex and twenty hexes away. Every sensor used to have a hard wall — measured, a contact eighty times louder was not heard one hex further. Cutting your engines now genuinely buys you hexes, and a colony can no longer hide. - **🔭 Jump points are found up close:** A jump point was detectable from nineteen hexes because distance cost it nothing. It is now a close-range contact — about 1.9 hexes from a bare capital, 9.7 from a fitted Nav Sensor L. Jump points you have already discovered stay discovered.

v0.2026-09-14.4

Find a contract by resource, body or system

The contract list takes a search term as well as a status filter, matching the resource, the body and the system it sits in.

v0.2026-09-14.3

An unowned body says why it cannot hold a target

The stockpile target control now appears only on a body you own. An unclaimed rock states the precondition instead of accepting a number that nothing could act on.

v0.2026-09-14.2

Stockpile targets can be typed, and every resource can be named

A target field no longer resets while you are using it. Asking to list everything a ship could carry now lists it, so you can set a floor on a resource this world holds none of.

v0.2026-09-14.1

A rock you have claimed can ask for a delivery

Claim a bare body, set a floor on the materials you want there, and freighters now bring them so you can build. The target could be typed before and nothing ever came.

v0.2026-09-13.18

Importing a save says what to do when every slot is full

Export and import already sat in Settings under Saves. Importing with all three slots occupied reported that the first slot was occupied, which was true and no use; it now says to delete one first.

v0.2026-09-13.17

Old saves load again

Loading a save checked its format and refused anything that was not the very latest, so adding a single field to the game put every save on disk out of reach. The conversion steps to bring an old save up to date already existed and had simply never been run on this path. They are now. Saves that genuinely cannot be read still offer to hand the file back rather than stranding you.

v0.2026-09-13.16

Set a target for something the world has none of

The Resources view lists what a world holds, makes, uses or has in the ground, which is the right default and no use at all when the thing you want to order is something it has never seen. A LISTING control now switches between what is here and everything a ship could carry, so a target can be set on a resource before the first unit of it ever arrives.

v0.2026-09-13.15

Set a world's stockpile targets by hand

Each resource on a world now shows the level it imports below, the level it exports above, and in plain words why that floor and not another. Switch a resource to MANUAL and you set both figures yourself: they are taken as given from that point, with nothing recalculating over them. Ask for a floor of zero and the world stops asking for that resource at all; set a ceiling of zero and it offers what it still holds for export. Switch back to AUTO and it works its own figures out again.

v0.2026-09-13.14

See everything the empire is holding, in one place

There was no way to find out what you had and where. The Logistics screen now lists every body's stock beside the empire total, filterable by resource or by world. The total includes the treasury, so credits and data appear even though they sit on no world at all.

v0.2026-09-13.13

A stockpile target you set by hand is the one that counts

Colonies work out their own stockpile targets, but a figure you set yourself now overrides that outright rather than competing with it. Say you want fifty thousand iron ore and fifty thousand is what gets ordered. Say you want none of something and the colony stops asking for it entirely, and offers what it still has for export.

v0.2026-09-13.12

Colonies keep a stocked shelf, not a bare one

A colony used to order only what it consumed and could not make itself, which meant a place with its own mine asked for ore only once it had run out, and asked for a handful. It also meant nothing could ever be ordered for the first time: a resource with no use yet was a resource nobody would ever import, and so the building that would have used it could never be built. Colonies now hold a target: a floor they import below, a ceiling they sell above, and a quiet band between. The floor accounts for what they get through, what they would need if their own production stopped, and what a settlement of their size keeps on the shelf regardless. On trial. It costs roughly a tenth of raw mining throughput on a measured campaign, in exchange for colonies that keep a real buffer and can bootstrap resources they have never used.

v0.2026-09-13.11

Speculative mining is no longer priced as a 9,999-hex haul

A mining job with nobody waiting for the ore banks it where it is dug, so there is no delivery run to pay for. The ranking charged one anyway, at the placeholder distance used when a destination cannot be measured, which made every such job look about seventy times worse than it was. Miners now weigh those jobs properly and spend more of their time in the ground.

v0.2026-09-13.10

Prospectors carry tools, not crates

The Prospector gave up one of its eight slots to a cargo hold it had no use for: a miner banks its ore on the ground where it digs, and a freighter comes for it. That slot now takes a third drill or scoop, and the Pickaxe and Bellows are fitted accordingly. Half again as much ore comes out of the ground, and the homeworld receives more than twice as much of it.

v0.2026-09-13.9

A finished mining job is closed, not left open

A miner that had dug what was asked for stopped, but the order itself stayed on the books at its original size -- so the next decision was made from numbers that had not moved since the first one was written, ignoring ore banked in the meantime and ore already on its way. Completed orders are now closed out and the ship handed back, so the next job is chosen from how things actually stand. Returning to the same rock is still a perfectly good answer.

v0.2026-09-13.8

Miners are given a job, not a whole rock

A mining contract used to be written for the entire remaining seam, so a miner had no way to finish one short of emptying the deposit, and nothing made it reconsider while it worked. Orders are now sized to what somebody actually wants, and a miner that completes one goes back to the pool to be given the next. The old ground-buffer rule -- stop once the pile reaches three of the miner's own cargo holds -- is gone with it.

v0.2026-09-13.7

Freighters collect the ore they flew out for

A freighter would reserve a load, fly to the rock, dock on the pile, and take none of it. A miner working the same rock reserved the whole deposit, and that promise to produce ore was being counted as though somebody were already carrying it away -- so the pile read as spoken for and the hold stayed empty. Ore now reaches the colony that asked for it.

v0.2026-09-13.6

The resource panel shows what a ship is mining

A mining ship was credited on the body panel for every resource its drills were rated for, not the one it was actually working. A resource nobody was mining therefore showed a rate with a stockpile that never moved. The panel now reports the ship's live operation.

v0.2026-09-13.5

A surveying ship is in orbit, and can be told to dock where it stands

Taking manual control of a scanner used to leave it adrift at the centre of the hex with the survey order greyed out, and ordering it to the body it was already sitting on did nothing at all. A surveying ship now orbits the body under its scanner, and "move to body" docks a ship that is already there.

v0.2026-09-13.4

Trade lanes keep their contract instead of re-minting it

The logistics screen flickered because a contract nobody had picked up expired after sixty ticks, and the identical demand was then written as a brand new contract. A lane is now identified by what it is -- resource, source, destination -- and stays put while it is still wanted. A contract that has been part-served can be offered a ship again, which it could not before.

v0.2026-09-13.3

A freighter is no longer sent after a cancelled job

A contract retired at the start of a tick was still visible to the assignment that ran later in the same tick, so a freighter could be committed to a job that was about to vanish. It then flew to the source with no authority to load and waited there. Assignment now ignores contracts already retired this tick.

v0.2026-09-13.2

Freighters wait for a load worth flying for

A freighter could be sent on a four-thousand-tick round trip to collect a twentieth of a unit of ore. It now waits until there is a real load — unless one trip clears the whole order, in which case a small delivery is still worth making.

v0.2026-09-13.1

Cost lines read price first

Build and shipyard cost lines now print the price before what you hold — `500 / 10`, not `10 / 500`. The pair used to follow the "3 / 10 done" progress idiom, which reads the wrong way for a cost: the first question a price answers is what it costs.

v0.2026-09-07.46

The event log is finally on screen

The simulation has been keeping a log of everything that happens — contracts settling, ships arriving and leaving, resources becoming wanted or spare — and nothing ever showed it. It now appears in the Empire screen, newest first, filterable by kind, and worded in plain English rather than internal ids.

v0.2026-09-07.45

Alerts say why, and what to do

The instability warning used to tell you a colony was "projected to fall below safe stability" — which is the alert repeating its own title. It now names the cause: which resource is short and how little is getting through, or that the colony cannot meet its power demand. Each alert carries suggested remedies alongside it.

v0.2026-09-07.44

The design screen survives two identical faults

Fitting one oversized module into two identical slots — a hauler has two of the same utility slot — produced two identical error messages, and the design screen crashed on them rather than showing the fault it was reporting. Both lines now appear, so fixing one slot still leaves the other visible.

v0.2026-09-07.43

Freighters no longer strand themselves

A freighter sent to a destination that no longer exists would load its hold, fail to depart, and then sit at the source forever — still holding the job, so no other ship was sent either. One vanished destination quietly cost a freighter, its cargo and the contract for the rest of the campaign. It now hands back the job it cannot do and goes looking for other work.

v0.2026-09-07.42

Building actions line up

The Deepen, Pause and Demolish buttons sat at different distances from the edge, because each row worked out its own column widths from its own text. They now share one grid, so the buttons line up however long the explanations are, and the pair stacks instead of squeezing on a narrow panel.

v0.2026-09-07.41

Deep scans show their progress

A survey in flight only reported progress during a body's first surface scan. Every deep pass after that ran silently — and a deep pass costs ten times the one before it, so it is exactly when you want to see that something is happening. The Resources view now shows the bar for any scan at any depth, and states how far the looking has got alongside the deposits it governs.

v0.2026-09-07.40

The coverage overlay shows its working

Hovering a hex in COVER used to report four disconnected figures, one of which was a bare decimal with nothing to compare it against. It now reads as a chain: which instrument is listening and how far off it is, how much signal survives the distance, the threshold it has to clear, and the quietest thing the hex can therefore hear — stated both as a signature and as a hull mass.

v0.2026-09-07.39

Something to build when you want to see further

The detection system shipped with exactly one structure that could sense: the capital, which every colony already has. There was no way to spend anything on hearing better. The Long Range Sensor Array fills that gap in both crewed and automated form — four times the capital's sensitivity and reach, buildable on bare rock, because the point is watching places you have not settled.

v0.2026-09-07.38

The map survives a lost graphics context

The map could freeze mid-session and never recover. When the browser dropped the graphics context — a routine driver hiccup — the canvas kept showing a stale frame while the game carried on updating behind it, so the sensor overlay stopped appearing and clicks stopped landing. It now recovers when the context comes back, and says so if it does not.

v0.2026-09-07.37

Systems are either barren or worth staying in

- **⭐ Belts, comets and nebulae now decide presence and quantity separately.** A system either has asteroid belts or it does not; when it does, twelve is as likely as one. Previously both were decided by the same two knobs, which could only ever produce a gentle hump — mostly one or two, a rich system essentially impossible. - **Roughly three times as much rubble, in far fewer systems.** Belts appear in 37% of systems (mean 2.3, up to 16 around a binary star); comets in 54% (mean 1.9). A prospecting run now finds either nothing or somewhere worth staying. - **⭐ Nebulae went from 4% of systems to 25%, and your home system always has one.** Cosmic-plasma is the only input to quantum crystals and the antimatter line, and at 4% most campaigns never saw a single cloud — a whole tier of content dark through no decision of yours. - **Stellar remnants are now worth crossing the galaxy for.** A neutron star is a supernova remnant: 84% carry nebulae, averaging 2.7. A white dwarf sheds a planetary nebula: 54%, and heavy belts. Both are miserable places to settle and the best places to mine.

v0.2026-09-07.36

The coverage overlay names what it is talking about

- **⭐ Hovering a hex under COVER names the instrument doing the hearing.** It reported "Hears down to 0.42" and "Signal left 60%" — two correct figures in units nothing else in the game is quoted in, with nothing saying which of your sensors was responsible. - **The floor is stated as a hull.** Signature appears on no screen you read; hulls are quoted in tonnes. A hex now says it detects a hull of 10,500 t or heavier, which compares directly against the ships in your yard. - **Emission is named too.** The overlay drew where you are loud and never what was making the noise. On a hex holding a colony and three docked ships, that was the whole question. Loudest source first.

v0.2026-09-07.35

Chains say which building, and how many

- **⭐ Producers are named with their depth.** A chain listing `Mine +0.150` and `Mine +0.750` could not tell you whether that was two buildings, one counted twice, or which to deepen. Rows now read `1x Mine OoM 1`. - **Identical buildings collapse into a count.** Three mines of the same depth and staffing are one row reading `3x Mine OoM 1` with what they come to together. A mine short of workers stays on its own row — that is the row naming what to go and fix. - **Richness is stated once.** The deposit row showed its current richness in the multiplier column and again in the detail, reading as two different facts. The detail now carries what the survey originally found, which the multiplier cannot tell you.

v0.2026-09-07.34

Build here says what a structure is for

- **⭐ Every structure states its inputs and outputs.** Selecting a micro-fabricator told you its price, its build time and its crew — every fact about what it costs and none about what it does. It now reads "2 Silicates + 1 Heavy Metals into 1 Silicon Circuits". Extractors name what they pull from the ground; housing and reactors stay silent, because the row above already says what those are for.

v0.2026-09-07.33

Scanners never run out of work

- **⭐ A finished system no longer strands your scanners.** Survey every body in a system and every Dart went idle forever, ignoring new orders. Survey work now climbs a ladder: unsurveyed first, then a first deep pass over everything, then a second, and so on. The only true stopping point is a body scanned as deep as it goes. - **SURVEY FIRST works on a body that is already surveyed.** It was silently ignored — the flag reorders candidates, and a surveyed body was never a candidate. It now sends a scanner for the next deep pass. A flag still cannot order something impossible: an undiscovered body, one out of range, or one already at the ceiling is refused rather than pinning the ship to it. - **Automation stops where you do.** The hand-issued order already refused a body scanned to the maximum depth; the automatic arm did not know about that limit.

v0.2026-09-07.32

Every resource explains itself

- **⭐ Refined goods say what makes them.** Clicking structural steel showed a number climbing at 0.03/t and the words "held here". A recipe's output recorded a *throttle* when an input ran short, so steel could say why it was slow but never what made it — and a colony in perfect balance got no explanation at all. The chain now names the foundry. - **One decomposition, every resource.** Extraction, credits, data, energy and refined goods each built their own explanation in their own shape, added one at a time as each was noticed missing. There is now a single ledger every producer reports to, so a resource that explains nothing is a failing test rather than the next bug report. - **Figures read the same throughout a chain.** The old sites used two, three and six decimal places, so one chain could mix all three.

v0.2026-09-07.31

One way to show a price

- **⭐ Actions sit under the thing you picked.** Build here and the Shipyard put their buttons at the foot of a list two dozen rows long, so the structure you selected and the button that builds it could not be on screen together. Both now open inline beneath the selected row, the way the Buildings list already did. - **Every cost line shows what you hold.** Covered resources printed only the price, so `Silicon Circuits 4.0K` left you unable to tell comfortable from down-to-the-last. Every line now reads holding against price, and short lines carry a mark that survives a greyscale screen. - **The price is stated once.** All three screens rendered the wallet as per-resource rows and then repeated the whole thing beneath as a wrapping string.

v0.2026-09-07.30

One clock

- **⏱ Durations stop printing raw floats.** A build queue read `19% · 5m 18.060000000000002s`. The span was split with `t % 60` and never rounded, so any fractional tick count leaked its float straight onto the screen. - **One duration formatter, not two.** A second one had grown up beside the first because the original stopped at minutes and rendered a four-hour time bank as "240m 0s". Both did the same job in the same unit, and nothing said which to call. There is now one, it reaches hours, and it always rounds down — a bank claiming "1h" at 59m59s is claiming time that is not there.

v0.2026-09-07.29

A shortage slows a tier, it does not stop half of it

- **⭐ The first ship you try to build now builds.** A Dart laid on the first tick of a new campaign sat at 0% reporting "stalled" and never moved. The homeworld asks 11,000 workers to operate and has 10,000 people, so the bottom of the ladder is always short — and the yard and the hull it was laying both sit at `military`. Claims of equal priority were filled in **alphabetical order of their internal id**, so `building-…-planetary-shipyard-8` took the last of the workforce and `construction-1` got none at all. Equal claims now take the same share of what is left. - **Priorities still decide between tiers.** A colony short of hands runs its farms and shuts the luxury workshop, exactly as before. The change is only among things of *equal* priority, where a shortage now slows both rather than stopping whichever one happened to sort later. - Buildings that need no workers are untouched — an automated extractor still runs at full rate through any labour shortage.

v0.2026-09-07.28

Mine here

- **⭐ You can now tell miners where to dig.** Miner assignment was entirely automatic — richness, demand, distance — so spotting a seam worth working in the catalogue left nothing to do about it. Every body with deposits now carries a **Mine here** flag that outranks the ranking. It reaches ships already at work, not just idle ones, because standing orders mean a miner is essentially never idle. A flagged rock also holds its miner against a richer unflagged one, so the instruction survives past the first re-evaluation. - Eligibility still applies: a flagged body that is unsurveyed, out of range, or carries nothing the ship can extract is passed over exactly as before.

v0.2026-09-07.27

How long the survey has left

- **⭐ A survey in progress now says how long it has to run.** The progress bar moved for no stated reason: the rate that drives it was reachable from the simulation and nowhere a screen could see. The body now states the time remaining at the combined rate of every scanner on the job — so sending a second ship visibly halves the wait instead of being an act of faith.

v0.2026-09-07.26

What the coverage wash is worth

- **⭐ The sensor overlay now states its figures.** COVER drew three computed numbers as one shade of blue: how much signal survived became an opacity, and the rest was discarded every frame. Hovering any hex while COVER is on now says the faintest signature that hex can hear, and how much of the sensor's reach is left there — so "is this worth a picket" is a number rather than a colour. Bodies and ships carry the same two rows, because they sit on hexes too.

v0.2026-09-07.25

Watching a survey happen

- **⭐ A survey in progress now shows on the body being surveyed.** Progress was legible on the ship and nowhere else, so the one screen where the result will appear gave no sign that anything was happening. The Resources view now carries the scan's progress bar, and names how many scanners are working it when more than one is — two ships halve the time, and a player who cannot see that has no reason to send the second.

v0.2026-09-07.24

A catalogue you can compare with

- **⭐ Deposits now show what is left and how good it still is.** The catalogue listed which resources a body carries and none of the three figures that decide whether it is worth going there. Each deposit now states what remains against what the survey found, and its richness now against its richness then — so a rich seam half worked out reads differently from a poor one that was always poor. Still survey-gated: an unsurveyed body shows nothing, because that is what a survey is for. - **🛠️ Fixed: the star had a blank Class.** A star has no ring class, so the column fell through to a dash for the one object in a system whose type decides everything about the rest of it. It shows its spectral class.

v0.2026-09-07.23

And where to get it

- **⭐ A short resource now says what produces it.** Knowing you are short of titanium alloys leaves you exactly as stuck as before unless something also tells you a metallurgical lab makes them — and nothing did. Every short line now names the buildings that can produce it, whether by digging it out of a deposit or making it from a recipe. Where two can, both are named: a manned extractor and its automated twin are a real choice, not a duplicate.

v0.2026-09-07.22

A price you can read

- **⭐ Every price now says what it wants and what you have.** A cost used to be one grey line, and a build you could not pay for was a disabled button with no explanation — the player was left to guess which of six resources refused it. The short lines are now marked, and each one states your holding against the price, so the gap is a number rather than a mystery. - **⭐ Refusals name the resource.** "The treasury does not cover the cost" became "Short of titanium alloys". A player who cannot build something is exactly the player who needs to know which line stopped it.

v0.2026-09-07.21

A starter stock of everything

- **⚖️ The homeworld now begins with a small holding of every material.** Ten of them started at nothing — titanium alloys, advanced polymers, isotopes and the rest — with no building on the world able to make a first unit. That is a dead end rather than a shortage: the ship or structure that needs them cannot be built, and the refinery that would produce them wants some to begin with. A hundred of each is enough to take the first step and not enough to skip the industry.

v0.2026-09-07.20

Builds are paid for from the body that builds them

- **🛠️ Fixed: no ship in the game could be built:** Build costs were checked against the empire treasury for every resource, but the treasury only ever receives credits and data — materials live on the body that holds them. A colony sitting on ten thousand tonnes of steel could not spend a gram of it, and the small seed of materials the treasury started with could only ever go down. Every ship design was blocked, and nothing said why. Materials now come off the body doing the building; credits and data still come from the empire. - **🛠️ Fixed: cancelling a build sent its materials somewhere nothing could reach:** A refund returned the whole cost to the treasury, including materials. They left the economy permanently. A refund now goes back to whichever pile paid.

v0.2026-09-07.19

Ships fly straight, and feel the terrain

- **🛠️ Fixed: ships zigzagged across the map:** A ship was drawn hopping from hex centre to hex centre. Its route is the straight line between two points, and the hexes it crosses sit alternately either side of that line — so joining their centres drew a staircase around the path instead of the path. On a straight north-south or east-west run the centres happen to line up and it looked correct, which is why it only showed itself on a diagonal trip. - **⭐ Bad terrain now visibly slows a ship down:** Crossing a nebula or an asteroid field has always cost extra time. You just could not see it — the ship glided across at the same apparent speed and simply arrived late. It now crawls through the expensive stretch and picks up again on clear ground.

v0.2026-09-07.18

A save too old to read is no longer a dead end

- **🛠️ Fixed: an unreadable save left no way out but browser devtools:** When a save predated a format change the game stopped at "Initialization Error" with a Retry button — and retrying re-read the same save and failed the same way. Settings, where export and delete live, sits behind a startup that never finished. The message told you to start a new game and gave you no way to start one. There is now a proper screen: it names which slot and how far behind it is, offers to download the save as a file, and starts a new campaign on a seed of your choosing. - **⭐ You can keep the save you cannot open:** Download hands back every byte without trying to read it, so it works precisely when nothing else does. A later build may be able to make sense of it. Nothing is deleted until you choose to start fresh.

v0.2026-09-07.17

Choose your galaxy

- **⭐ New campaigns take a seed:** A seed field sits with the save slots, with a Roll button beside it. Type one in and you get that exact galaxy; leave it blank and one is rolled for you. The same seed always generates the same galaxy, so a start worth keeping can be found again — and a broken one can be handed over as a bug report rather than described. - **⭐ Your current galaxy's seed is on screen:** It was always there and never shown, in a form nobody could read back — a thirteen-digit timestamp. Rolled seeds now look like `FC-7K2Q-9XRT`, with the character pairs that get misread left out of the alphabet.

v0.2026-09-07.16

Trade lanes hold still

- **🛠️ Fixed: a lane vanished from the table while a freighter was flying it:** A lane was dropped the moment its supply was fully reserved — which is exactly when a hauler picks it up — and reappeared once the contract re-opened. On a two-colony run the route table spent its time showing one lane where two were live, and rows came and went under the cursor. A lane a ship is working now stays listed for as long as the ship is on it.

v0.2026-09-07.15

Priority survives the route it was set on

- **🛠️ Fixed: a priority mark vanished within seconds of being set:** Priority was stored on the trade route, and routes are rebuilt constantly — a lane whose supply is fully reserved by a hauler stops being offered, the route is dropped, and a fresh one takes its place when the ship delivers. The mark went with it. Measured over 3,000 ticks, a priority set at the start was gone by the end. It is now held against the lane itself — where from, what, where to — so it lasts as long as you want it to. - **⭐ The two directions of a run are separate:** Mark the outbound and the return and a freighter works one each way, because priority decides which lanes matter and distance still decides which of them to do next. Marking the way back no longer quietly unmarks the way out.

v0.2026-09-07.14

Priority lanes

- **⭐ Mark a lane as priority:** Freighters are assigned by a ranking that scores distance and value, and it cannot see that you need one particular lane served before anything else. A flagged lane is now taken first whatever it scores, the same way a flagged body is surveyed first. The flag shows in the row rather than only once the lane is selected, so it can be scanned against the lanes beside it.

v0.2026-09-07.13

Trade lanes you can open yourself

- **🚚 Open a trade lane by hand:** The route table listed what the simulation had formed and offered nothing you could do about it. You can now open a lane between any supply contract and any demand contract, listed with what each one has spare or wants. Both ends are picked from contracts that already exist, so a lane can never describe a trade its own contracts do not support. - **✏️ Edit what a lane carries:** Selecting a route expands it in place. Quantity and freighter count start at the numbers the economy derived, so an untouched field is the automatic answer and typing over it is yours. Revert hands the field back and the lane follows the colony again. - **🛠️ Fixed: a hand-made route was inert from birth:** Creating a route left its supply contract unnamed, and freighter matching skips any route whose contracts it cannot resolve. Every route a player could have made would have sat there doing nothing. - **🛠️ Fixed: "Take over" never took:** Claiming a derived route set it to manual and the next route sweep set it straight back, about ten ticks later. Nothing in the interface called it, so nobody had seen it fail. - **🚢 One colony can be supplied from several sources:** A demand was matched to a single best source and the lane capped at whichever side ran out first. Ten rocks of iron feeding one colony produced one lane from the richest rock and left the other nine unworked — even though one rock could not cover the colony.

v0.2026-09-07.12

A new campaign starts clean

- **🛠️ Fixed: starting a new campaign inherited the last one's contracts:** Resetting the galaxy cleared colonies, ships, routes and alerts but never touched the contract layer — contracts, ship reservations, settlement history and trade routes all survived into the new game, every one of them pointing at a body or ship that no longer existed. A leftover reservation was the worst of it: routes count reserved ships against their freighter limit, so a single stale entry could close a trade route permanently with nothing on screen to say why nothing would haul it.

v0.2026-09-07.11

Coverage shows how well, not just whether

- **📡 The wash fades where your hearing fades:** Sensor coverage was a flat tint with a hard edge — a hex one step inside a sensor's range and a hex out in its fade looked identical. It now shades with falloff and extends through the fading band, so you can see where a contact would be picked up clearly and where it would barely register. That is the question you are actually asking when deciding where the next sensor goes. - **📶 You can see your own noise:** Detection weighs what a thing emits against what you can hear, and the overlay only ever showed the hearing half. Your colonies and ships now draw a ring weighted by how loud they are — a coasting shuttle is a hairline, a homeworld is heavy. Nothing hunts by this yet, but it is your own footprint and there was no way to see it at all. - **🛠️ Fixed: coverage counted other empires' sensors as yours:** The overlay gathered every colony and ship in the system regardless of who owned it, so a foreign capital would have contributed to your own coverage. Harmless with one empire in the galaxy, and wrong the moment there are two.

v0.2026-09-07.10

The catalogue knows what you have looked at

- **🔭 A Survey column:** The catalogue listed nine facts about every body and not whether you had surveyed it — so the one screen built for comparing rocks could not tell "we looked and there is nothing" from "we never looked". Each row now states its survey state, and counts the deep passes run on it, since every pass leaves a body at the same tier but costs ten times the last. - **📌 Flag from the list:** SURVEY FIRST now sits on each row, not just in the body panel. This is the screen where you compare sixty rocks and decide which three matter; flagging them one at a time through the dock meant sixty round trips. - **🗂️ Filter by survey state:** Needs survey, Surveyed, or Flagged. The first is your work queue, the last is everything you have already asked for.

v0.2026-09-07.9

Energy names its producers

- **⚡ Where the power comes from:** Selecting Energy on a body listed every building drawing on the grid and not one supplying it — a colony going dark could show you its victims but never its supply. Each producing building now contributes its own row, so you can see that the capital makes two and the solar array makes ten, rather than a single total with no explanation. - **👷 An idle producer says why it is idle:** A solar array nobody has the workers to man was contributing nothing, silently, next to a list of things it had failed to power. It now keeps its row and names staffing as the reason — the same treatment mines and refineries already got.

v0.2026-09-07.8

How much is down there, and how good is it

- **⛏️ Deposits state their size and their quality:** A resource row used to say "deposit 73% left" and stop there. That sentence describes a century of mining and an afternoon of it equally well, so it decided nothing. Rows now lead with the tonnage still in the ground, keep the percentage as context, and name the richness — which is the figure that actually sets how fast an extractor pulls it out. - **🔍 An unworked seam is no longer silent:** Selecting a resource nobody is mining showed only what sat in the warehouse, because the derivation was built from extractors and there were none. That was precisely the case where the numbers matter: "is a mine worth building here" is answered by how much is down there and how rich it is. Unworked deposits now get their own row, and a mined-out one says "exhausted" rather than leaving you to work it out from two figures. - **📉 Richness is shown against what the survey found:** A seam at 0.72 that started at 0.89 is tapering; one at 0.72 that started at 0.74 has barely been touched. Both now read as what they are.

v0.2026-09-07.7

Survey this one first

- **📌 Survey First:** Any body still awaiting a survey now carries a SURVEY FIRST button. Flagged bodies jump the queue: the next scanner with nothing better to do goes there instead of to whatever happened to be nearest. Clicking again puts it back in line. This is the one lever that redirects survey work without taking a ship off automatic and flying it by hand, and it is how you get the rock you actually care about scanned rather than the one that happens to be close. - **⚖️ A Request, Not An Override:** A flag beats distance, but not the rules. On a body already surveyed, or one outside your fleet's jump range, it is quietly ignored rather than honoured — because a flag outranks every other candidate, obeying an impossible one would pin the scanner to it forever instead of doing reachable work. Flags are also per-campaign: starting a new game clears them, since they name bodies from a galaxy that no longer exists.

v0.2026-09-07.6

Scanners survey on their own

- **🛰️ Survey Runs Itself:** A ship with a survey scanner and nothing better to do now flies to the nearest body the empire has discovered but never surveyed, and scans it. Before this, hand-issued orders were the *only* way anything got surveyed — the one starter carrying a scanner spawns in automatic mode, and automatic ships were never offered survey work, so the Dart could sit idle for an entire session while a dozen bodies around it stayed unknown. Since surveying is what ungates mining, the whole resource game was waiting on manual orders. - **🎯 Nearest First, And It Knows When To Stop:** Targets are ranked by distance, because before a survey an empire knows a body's class, size and quality and nothing about what is in its ground — there is no expected value to weigh, so the closest work is the honest choice. A body already surveyed is skipped rather than re-scanned forever, one nobody has discovered is left alone, and anything outside the fleet's jump range is refused by the same rule a mining assignment obeys. With nothing reachable left to survey the ship simply idles.

v0.2026-09-07.5

Rich worlds are rich all the way down

- **⛏️ A Body's Luck Now Reaches Its Depths:** Every body rolls a resource-abundance figure at generation that decides how many *kinds* of resource it holds. That figure shaped the surface but was quietly ignored underground, so a barren rock and a treasure world had identical deep-scan odds. It now applies at full strength to both, and a rich world is rich all the way down. - **📊 Abundance Is Visible:** A body's overview shows its abundance multiplier. Nothing else on screen carried it — a rich world that rolled badly looked exactly like a poor one — and it is the figure that tells you whether a deep scan is worth spending here or on the next rock. It affects presence only: how many kinds of resource a body has, never how rich or how large the seams are.

v0.2026-09-07.4

Two scanners, one job

- **🛰️ Survey Work Is Shared:** Survey progress now belongs to the body being scanned rather than to the ship doing the scanning, so two scanners on one rock genuinely finish in half the time. Before this each ship kept its own private counter and both rolled the identical findings, so the second ship's entire effort bought nothing at all — a wasted scanner that looked busy the whole time. - **💾 Progress Survives A Cancel:** Partial survey work now outlives the ship that started it. Recall a scanner half way through and send it back later, or swap a small scanner for a large one, and the accumulated progress is still there. It used to die with the operation, which is why re-issuing an order appeared to restart from nothing.

v0.2026-09-07.3

You can see what a ship is doing, and stop it

- **🔬 A Scan Counts Up:** A survey now shows its progress — `67 / 600`, a bar, and how long is left. On the smallest scanner a first pass takes 2,400 ticks, and with nothing on screen moving, a working scan was indistinguishable from a ship doing nothing. It was working the whole time; there was simply no way to tell. The same readout covers mining, loading, unloading and both passenger operations, since they all keep a count. Mining shows a bare total rather than a fraction, because it genuinely has no finish line — a miner digs until the hold or the seam gives out, and printing a denominator there would be inventing one. - **🛑 Cancel What A Ship Is Doing:** Any busy ship can now be told to stop, and it holds position rather than flying home. Before this, a hand-controlled ship had no cancel at all: the only lever was re-issuing the order, which reset the scan's progress to zero — so the single available action destroyed the work. Cancelling is deliberately not a recall; a ship that has stopped scanning is still in orbit and can be given something else to do from where it stands. - **🩺 A Busy Ship No Longer Reports Idle:** A surveying ship said "idle" in its own diagnostics panel, as did one boarding or disembarking passengers. Three of the six things a ship can be doing were missing from that readout, which is the other half of why survey was reported as broken — the ship was working and denying it.

v0.2026-09-07.2

Ships cross the ground they fly over

- **🚀 A Journey Is As Long As The Distance:** A scout sent thirty-three hexes across a system arrived in three hundred and forty-one ticks — against an arrival time it had itself correctly calculated as eleven thousand. Manual move orders recorded only where the ship started and where it was going, and since a ship arrives at the end of its recorded route, every hand-issued trip was one hex long however far it actually went. Orders now plot the whole route, so distance costs what distance should cost, and the ETA shown is the one the ship keeps. Automatic contract traffic was never affected — it plotted properly, which is why one ship would zig-zag across a system while another shot straight across it. Both now travel the same way. - **🧭 Straight Lines, Honestly Priced:** Ships fly straight at their destination and mark every hex they pass through. Nobody ever said you had to reach the dead centre of a hex to have been there. The previous route-finder stepped from hex centre to hex centre, which is what produced that staircase crawl on any diagonal — an artefact of how the path was searched rather than anything about flying. - **☄️ Rough Ground Slows You Down:** Nebulae, asteroid fields and dense space now cost real time to cross, paid on the way in and on the way out, since terrain slows a ship for as long as it is inside it. Ploughing through a single nebula hex costs about two extra hexes of travel. On clear ground the arithmetic is exactly what it always was, so nothing about ordinary travel has been re-tuned — this only bites where the map is genuinely difficult, and it makes a shortcut through a cloud a real decision instead of a free one. - **🗺 One Answer To "Where Is That Ship":** The map, the simulation and the ship's own readout now derive position from the same place. They had drifted, which is the honest explanation for ships appearing to jump: the map drew a smooth line between two bodies while the simulation walked a route, and a ship could be rendered nearly a full hex from where it actually was. - **📍 Travel Teaches You The Map:** The hexes a ship crosses are recorded as it crosses them, on the tick it crosses them rather than one sensor sweep later. Flying somewhere is how you learn what is on the way.

v0.2026-09-07.1

Time to watch it happen

- **⏱ A Button That Buys Banked Time:** Fast-forward is paid for out of banked time, and a brand-new campaign has none — so every speed above 1× quietly degraded to 1× on turn one. That is not a bug in the speed control, but it did mean the first hour of a fresh game ran at exactly one speed no matter which tier you pressed, and anything slow was impossible to observe. A test control beside the banked gauge now adds thirty minutes on demand. It is deliberately the quietest thing in the bar and says TEST CONTROL when you hover it, because it is a tool for watching the game work rather than something the game gave you. Clamped by the same four-hour ceiling as ordinary accrual, so it cannot be clicked into an infinite bank, and it leaves the accrual clock alone — granting is additive, and moving that clock would silently discard time you had already earned.

v0.2026-09-07

Being seen

- **📡 Loud Things Are Easier To Find:** Detection had the arithmetic backwards. A thing's signature — how much noise it makes — was treated as resistance, so the game compared your sensor's strength against it and reported a contact when strength won. That made a star, the loudest object in a system, the single hardest thing in the game to see, and a fully-built homeworld harder to find than a shuttle parked next to it. Signature is now a message: it travels outward, fades with distance, and a contact happens when what reaches you is still above the faintest thing your equipment can pick up. A busy colony announces itself from across the system. A cold rock does not. - **🔭 Sensing Is Something You Fit For:** Every ship used to detect at a strength decided by its hull's weight class, which meant a cargo freighter with nothing but pods aboard was a better sensor than a purpose-built scout. Only a fitted sensor module or a sensor-capable building can hear anything now, so a listening post is a thing you build and a scout earns its slot. The colony capital does have ears — modest ones, and they get sharper as it grows — so a new colony is never completely blind. Bolting on a second cheap sensor no longer extends your reach: the best instrument covering a spot is the one that hears, which is what the map circle has always drawn even when the numbers disagreed. - **🚀 Running Quiet:** A ship under power is far louder than one drifting, and a big drive is louder than a small one. Cutting the engine and coasting in roughly halves what a mid-sized hull gives away, which makes a quiet approach a real choice rather than a flavour note. A small craft stays quiet even with its drive lit — that, and not its hull, is what makes a scout a scout. - **🗺 What You Know And What You Can See:** These were one thing, recomputed from scratch every sweep, which meant a body's terrain technically expired — the only reason flying home did not erase your own map was a quirk of how the old records were merged forward. Ground you have surveyed is now permanent knowledge and stays yours. What is happening on that ground is live, and goes away when you stop watching: a colony you spotted is remembered as a place, but you will not keep reading its population from the far side of the galaxy. The map shows the difference, drawing remembered ground faintly and things you can see right now solidly. - **👁 Other People's Ships:** Nothing in the game had ever tracked whether you could see somebody else's ship. There was no field for it. There is one now, kept separately from what you know about places, because a ship is somewhere rather than something. And sharing a hex always works both ways whatever the instruments say — at zero distance you are looking out of the window, so nothing can creep up on a ship it is already sitting on top of. - **🔭 The Panel Says What You Do Not Know:** Gating extraction on survey was only half the job — a mine on an unsurveyed world produced nothing and nothing on screen said why. Every body now carries a Survey line: Unknown, Seen (terrain only), Surveyed, or Deep-scanned, with the consequence spelled out when the ground cannot be worked. The Resources view no longer lists deposits on a world nobody has prospected, because it was reading the truth of the rock rather than what your empire has actually found out — it now says "Not surveyed" and tells you to send a scanner, instead of inviting you to build an extractor that would produce nothing. A world you have merely seen from orbit reads as known on the map and still unworkable in the panel, which is the distinction the whole system rests on. - **🔧 The Survey Button Exists:** Correction to the entry below, caught before any of this reached you. Everything about surveying was built and wired — the order, the scanners, the ships, the knowledge they produce — except the one row in the order list that lets you actually ask for it. Six working layers and no way in. The order now appears where every other ship order does, and when it cannot be given it says which reason applies: no scanner aboard, already surveyed, or not parked at a world. - **🔬 Surveying A World:** A deposit's contents were simply known the moment you laid eyes on a rock, which made the whole galaxy an open book from turn one. Knowing what a body holds is now something you go and find out: dock a ship carrying a survey scanner, tell it to SURVEY, and it parks and scans until the surface gives up its secrets. Three scanner sizes, and a bigger one is genuinely four times faster rather than nominally better. The only cost is the ship's time — there is no bill to pay, because a survey ship that had to be resupplied would end up competing with your freighters for cargo runs. A ship with no scanner aboard refuses the job outright instead of sitting at the rock looking busy forever, and one still in flight keeps the order queued rather than throwing it away. The scout you start with has been refitted with a scanner in place of one of its two identical sensors, so surveying is something you can do from the first minute. - **🏠 You Know Your Own Neighbourhood, Not Your Whole System:** Starting knowledge now comes in two grades. You live in this system, so you know the lie of the land everywhere in it — every world is on your map from the first minute, with its class, size and quality. What you do not automatically know is what is buried on them. That is the homeworld and its nearest few neighbours only, on the reasoning that generations of settlement would have turned up whatever is close to hand. Everything further out is a world you can see and cannot yet dig: go and survey it. Honest note on tuning: this was first written as "the nearest few within ten hexes", and measuring it across six galaxies killed that version — depending on how the worlds happened to fall it surveyed anywhere from one world to eight, which is a dice roll rather than an opening position. Counting outward from home gives the same start every time. - **⛏️ You Cannot Mine What You Have Not Found:** Extraction now requires survey. A drill needs something to aim at, and until a world has been scanned there is nothing on the map to aim it at — so mines sit idle and miners are never dispatched there in the first place. This applies to your own colonies too: settling a world is not the same as having prospected it, and a colony planted on an unscanned rock produces nothing from its mines until a survey ship calls. Seeing a world is explicitly not the same as knowing what is under it. Ships are refused the job up front rather than being sent across the system to discover on arrival that there is nothing to dig, and a hand-issued mining order on an unsurveyed body is turned down immediately instead of quietly doing nothing. Your homeworld and its nearest neighbours start surveyed, so nothing about the opening is harder — but the frontier now has to be looked at before it can be worked. - **🌌 Finding The Exits:** A jump point is a fixed feature of a system: once found, it stays found. The cheapest sensor in the game can pick one up, deliberately — gating the way out of your first system behind a mid-game refit would have walled every campaign into the system it started in. - **🔬 Scanning Deeper:** A surveyed world is not a finished world. The SURVEY order now escalates: once a body's surface has given up its secrets, telling a scanner to survey it again digs for what the first pass missed. Each level costs ten times the one before — the first is a short detour, the third is most of a working day — so nothing arbitrary stops you, only whether it is still worth the ship's time. A deep pass rolls the world's own geology again at a fifth of the odds, so it can only ever turn up things that world could plausibly hold: a volcanic rock will not start yielding crops however deep you dig. Most passes find nothing, which is the point of the price. - **⛏️ A Deep Find Makes The Mine Young Again:** When a scan does turn something up, it is folded into what is already in the ground rather than listed beside it — a bigger, better seam instead of two competing entries. It is weighed against what the deposit reads *now*, not what it read when new, so scanning a half-spent mine is worth doing. And a find is never recorded as poorer than what you already have: paying ten times over can only improve a deposit, never dilute it. The taper resets, so a freshly scanned mine produces at full rate again. Every pass is kept on the record, including the original surface survey, so you can see what the world gave up and when. - **🛰 Seeing Your Own Coverage:** A COVER button on the system map shades the ground your sensors actually reach, and marks every hex one of your ships has physically crossed. Two halves of one question — what can I hear, and where have I been — and the second one has no other answer, since bumping into a jump point is how you find one. Off until you ask for it: a fresh empire has flown nowhere, so a permanent tint would grey out your own home system on turn one and contradict the fact that you live there. Honest note: the shading was noticeably too loud on first look, because a hex covered by your capital and three docked ships had its wash painted four times over. Four sensors do not hear a hex more than one does, so overlapping reach is now drawn once — the same "best instrument, never the sum" rule the reach numbers themselves follow.

v0.2026-09-06

Ships take orders again

- **🎯 Giving A Ship An Order:** The rebuilt interface could reorder and cancel a ship's order queue but had no way to put anything into it — the player could rearrange and delete orders they could never create. The ship panel now carries an order control: pick from the list of what this ship can be told to do, fill in what that choice asks for, and add it to the queue. Destinations are picked from the bodies in the ship's system rather than typed as coordinates. - **🎛️ Taking Manual Control:** Every starter ship is run by the contract pipeline, and a pipeline ship ignores player orders entirely — so until now there was no ship in a fresh campaign that could be given an order at all. There is now a switch for it, beside the queue it unlocks. Taking control stands the ship down first, so the contracts it was holding are released rather than left promised to a ship that is no longer working them. - **🚫 Orders That Cannot Be Given, And Why:** An order the ship cannot carry out stays on screen with the reason attached — not docked, empty hold, no cryopod berths, no deposit its tools can work — rather than vanishing. A control that disappears teaches nothing; a disabled one with a reason teaches the rule. - **🐛 Half-Filled Orders Made Impossible:** The simulation skips an incomplete order with a warning, so a form that could emit one produced a ship that silently did nothing. The order is now assembled in one place that refuses to build anything it cannot fully populate, and the confirm control stays off until it would succeed. Amounts are capped at what is actually there — the hold, the pile on the ground, or the berths. - **⚠️ Three Orders Held Back:** Move-to-hex, mine-deposit and found-colony are listed but not issuable, each with the reason. Move-to-hex wants a map click that does not exist yet. The other two are accepted by the simulation and then not carried out — a hand-issued mine order cancels itself on the next tick because it dispatches with no extraction rate, and found-colony does nothing at all. Colonising works by carrying colonists and disembarking them at an unclaimed body. - **🏗️ Construction Reachable Again:** New buildings can be ordered from a colony's Buildings panel — a build picker listing what this world can host, with the reason attached to anything it cannot. Demolish (with refund) and pause/resume now sit alongside upgrade on a selected building. - **🚀 Ship Orders Reachable Again:** Ships can be given orders — move, mine, load and unload cargo or passengers — and flipped between automatic contract work and manual control. Before this the queue could be reordered and cancelled but never filled. - **⛏️ Hand-Issued Mining Works Again:** Ordering a ship to work a deposit dispatched it with no extraction rate, so the simulation cancelled the order on the following tick and the ship fell idle as though it had never been told anything. A regression from an earlier rewrite; mining orders now carry the rate the ship's fitted tools actually give. - **🚧 Stalled Construction Explains Itself:** A queued building with no workers sat at 0% with no explanation — and a small colony that built a power plant before housing could stall there permanently, since the plant's operators outrank a build crew and there was no way to see that. Construction rows now name what is holding the labour and say that pausing it frees them, and report part-crewed work as the slower build it actually is. - **🏛️ The Capital Is Bought, Not Granted:** Founding a colony used to plant a free Colony Capital — the most valuable building in the game — for landing a single colonist, while building the same thing anywhere else cost materials and credits. Founding now hands over the claim and the people only, and the capital joins the build menu like everything else. A colony works without one: automated extractors need neither workers nor power, and on a habitable world a dome houses far more for less. What the capital uniquely buys is a foothold where open-air housing is refused. - **🚩 Claim a World Without Settling It:** Bodies can now be claimed outright — free, instant, and putting nothing on the ground. A claim is a statement of intent that makes the world yours to build on, so an automated mine can be the first thing that ever lands there. Building previously demanded that somebody already live on a world, which forced colonists onto rocks specifically designed to need none. - **🗺️ Claim Control and Honest World Status:** Worlds can be claimed from their own panel, and every place a world's status appears now tells the three states apart — settled, claimed but empty, and unclaimed — instead of collapsing the middle one into "nothing here". The build menu opens on a claimed world rather than demanding colonists land first. - **🔧 Building on a Newly Claimed World:** Ordering the first building on a claimed but empty world took the payment and then never started work — the construction stage still required somebody to already live there. Claimed worlds now build, which is what makes claiming one worth doing. - **🛠️ Four New Ship Designs:** Seedling carries a thousand colonists, Bellows scoops cosmic plasma from a nebula, Ox hauls eight thousand tonnes, and Tick mines from a colony with no shipyard at all. All four are available from the first tick as designs to build — the campaign still hands over only the original three hulls, so a colony ship costs a build like anything else. - **🛰️ Designing Your Own Ships:** Forty-five modules and ten hulls existed with no way to combine them, so the fleet was whatever designs shipped with the game. There is now a Designs screen: pick a hull, fill its mounts, and watch power, mass, speed, capacity, durability and cost move as you do. Each mount offers only what physically fits it, so a design that cannot be built is one you cannot accidentally save. - **🔒 A Design In Service Cannot Be Rewritten:** Once a design has ships flying or a hull on the slipway, editing it is replaced by saving it as a new version — with the count of what is holding it stated plainly. Editing in place would have changed what came off the slipway after you had paid for it, and would have renamed every ship ever built from that design, retroactively, since a ship's name is a live lookup of its design. Versions of one design stay grouped and numbered. - **🗑️ Retiring and Deleting:** A design nothing depends on can be deleted outright. One in service can be retired instead — it leaves the build list while its ships carry on unaffected — and retiring is reversible, which it previously was not. - **⚡ Underpowered Is Allowed, Nonsense Is Not:** A ship that cannot power everything it carries is a real trade and saves with a warning. A module in a mount that will not take it is refused. Previously neither was checked at all: an impossible design saved cleanly and failed at delivery, after payment, as a hull that could not be finished. - **💾 Two Save Managers Fighting Over One Store:** The game ran two independent save managers — one autosaving on the loop, one behind the settings screen — and neither could see what the other was doing. Saving from settings while an autosave was in flight put two writes on the same slot with nothing sequencing them. Worse, if one of them lost IndexedDB and fell back to local storage, it did so privately: from then on the two wrote your empire to two different places, no error, no sign. There is now one, shared. - **🔍 Two Screens Were Telling You To Do Impossible Things:** A body with nothing under its surface invited you to "send a ship with a survey module" — there is no survey module, no surveying, and no way to reveal a deposit that was not there when the galaxy was made. The catalogue was worse: it told you to send a ship into an unknown system to find what is in it. Chasing that one down turned up the real defect behind it — a ship on its own sees nothing at all, because only colonies and fleets carry sensors and the game never actually forms a fleet. So no ship has ever revealed anything, anywhere. Both screens now say what is true, and the sensor defect is on the board. - **🚀 Ships Are Now Where The Game Thinks They Are:** A ship with hundreds of ticks left to fly could appear at its destination. Three different pieces of code each had their own idea of where a ship in transit was: the simulation walked the hex path properly, the ship panel interpolated a straight line and reported half-hexes that do not exist, and the map drew a straight line between two orbiting planets in a completely different coordinate space. None of them agreed, and on any route that bends around something, the ship you were looking at was not the ship the game was moving. There is now one answer, and the map and panel both ask for it. Ships still glide smoothly between hexes — that part was worth keeping. - **📊 Every Contract Read 0% Filled, Including The Finished Ones:** A delivered contract sat in the list next to an untouched one, both showing 0%, with nothing to say which was which. Three screens each worked the percentage out their own way and all three were wrong. Two of them subtracted the reserved and unclaimed amounts from the total — but the game already guarantees those three numbers add up, so that sum was always exactly zero and the fill bar could never move off empty. The third divided by what was LEFT rather than what was ordered, so a contract with nothing left to deliver divided by zero and reported nothing done. There is now one calculation, the ship panel's delivered figure is real, and settled contracts are tucked behind a "show settled" control instead of crowding the live ones. - **🚚 Freighters No Longer Fly Away From The Ore At Their Feet:** Send a hauler somewhere by hand, switch automation back on, and it would leave — past a stockpile with ore in it — sit at home a while, then come back for the same cargo it had been parked on. The cause was that automatic routing asked what the ship was *docked at* rather than where it *was*, and any hand-issued move to a map position leaves a ship docked at nothing. Routing then looked up a body that does not exist, every candidate route came back at the same maximum distance, and the "how far is it" part of the decision quietly stopped meaning anything — so the freighter chose on paperwork alone and ignored being already there. It now measures from the ship's actual position, which a ship always has. - **🔬 The Production Panel Will Now Tell You Why:** "Iron is falling and I cannot work out why" meant opening the stockpile, then the deposits, then the buildings, and still finding no formula anywhere. The simulation had been recording the answer the whole time — the deposit's richness and how far it has been worked out, and every building contributing to the flow — writing it onto the body each tick, and handing it to the interface, where nothing had ever drawn it. Click a resource in the Production panel and the chain opens underneath: each factor named, what it does to the number, and whether you end up net positive or negative. - **⛏️ "Why Is This Only Producing A Third?" Now Has An Answer On Screen:** A mine running at 40% looked exactly like a mine running at full rate, only smaller — the reason was multiplied into the number and then unrecoverable. Short of workers, short of power, and a colony too miserable to work hard all produced the same silent reduction. Each is now named where it bites, and only when it bites: a fully staffed mine says nothing about staffing. Refineries do the same for their inputs — the simulation had always worked out exactly which ingredient was holding a recipe back and then discarded the answer before anyone could read it, so "industry is at 21%" was a question only the source code could answer. Steel production now says "iron-ore short" and shows by how much. - **🔔 Alerts Say Where, And Why:** A shortage alert read "Shortage on sysobj-seed-3-body-2" — an internal database key — followed by "Industry Output: 0%. Immediate action required", which named no cause and, for a colony running out of drinking water, talked about industry. Alerts now carry the place in the same "Body, System (hex)" form used everywhere else, name what is actually short, and say what to do about it. Colonists starving is described in terms of food; a stalled refinery names the ingredient it is waiting on. - **🎯 Crowded Hexes Are Now Clickable:** A planet with three moons and a freighter parked alongside it gave you whichever one happened to sit closest to where you clicked — the rest could not be selected at all, however carefully you aimed. Clicking a spot that holds several things now lists them so you can say which you meant. A spot holding one thing still selects on the first click, because being asked to pick from a list of one would tax every ordinary selection to serve the crowded case. - **🖱️ Right-Click The Map To Give Orders:** The map showed you the galaxy and took no instruction — every order went through a form in the dock, including "go there", which is a question about a place that you answered by picking a name out of a dropdown. Right-clicking now offers what can be done at that point: open a body or ship, claim an unclaimed rock, or send the selected ship to a body. Right-click empty space with a ship selected and it will fly to that hex — a destination you previously had no way to name at all, because nothing in the interface could point at a spot that was not already a body. - **👁️ Hover A Body Or Ship To Read It:** Inside a system, resting the pointer on something now tells you what it is — a body's class, claim status, quality and habitability; a ship's hull, what it is doing and where. Previously nothing inside a system responded to the pointer at all: the only way to find out what a dot was was to click it and read the dock, one object at a time. The readout is drawn from the same selectors the dock panels use, so the two cannot disagree about the same object. - **🔭 Double-Click A Body Or Ship To Open It Full-Screen:** The map had two levels — galaxy and system — and stopped there. Inspecting an object meant reading it in the narrow dock beside the map, and double-clicking inside a system did nothing at all. Double-click now opens the third level: the same sections, given the whole window. Arrow keys or the `←` `→` controls walk to the next body or ship in that system without going back to the map to find it, and the counter tells you where you are in the list. Escape or the close control returns you to the map with that object still docked. - **⚪ An Idle Ship Now Looks Idle:** Every one of your ships was the same filled blue dot whether it was mining, unloading, or sitting there with nothing to do — so a fleet read as a row of identical marks and the one ship waiting for orders was invisible among them. A ship with no job now draws as a hollow ring. Shape rather than colour, so it still reads with the sound off and the colour down: hollow means it is asking you for something, filled means it is busy, pointed means it is on its way. - **🌗 The Interface Has Depth Now:** Everything sat on one flat plane at one rhythm, so a headline figure and a table row felt equally important and the whole screen read as a spreadsheet. Surfaces now declare which way they face — buttons and open section headers catch the light, input fields and gauge tracks are recessed, and pressing a control swaps the two. Tables stripe and mark the selected row, stat rows connect label to value with a dotted leader, and the numbers that decide whether a panel is worth opening are finally set larger than the ones inside it. No colour changed: the five meanings hue is allowed to carry still carry exactly those, so the interface remains fully readable in greyscale. - **🏘️ Two Of The Same Building Can Be Told Apart:** Build a second habitation dome and the panel showed you two rows both reading "Habitation Dome" at the same level with the same plots and the same staffing — so selecting one and pressing Demolish was a guess about which one went. Duplicates are now numbered in the order you built them, and the number disappears again when a sibling is torn down. Building wide instead of deep stays a real choice: two domes and one twice-deep dome take the same two plots, but the pair costs a fifth as much and houses less, so wide is cheaper per head while deep is better per plot. - **🔬 Numbers That Explain Themselves:** The simulation has always known why every figure is what it is — which deposit, how rich it still is, which mines are staffed and how well, what morale is multiplying it by, which ship in orbit is contributing, which refinery is draining it — and the interface threw all of it away and printed the total. Asking "why is my iron ore going up?" meant opening four separate sections and doing the arithmetic yourself. Figures that carry a derivation now show a dotted underline, and hovering or focusing one lays out every term, the line of arithmetic that lands on the total, and one sentence on what to do about it. Reachable from the keyboard, not just the pointer. - **🏗 Buildings You Can Tell Apart:** Three habitation domes used to be three identical rows — same name, same depth, same plots, same staffing — so selecting one before pressing Demolish was a coin flip over which one went. They are now a single row reading `3 × Habitation Dome`, and every control names what it will do: Pause 1 of 3, and the row reports `2 working · 1 paused` afterwards. Deepening one splits it out into its own row, because depth is the one thing that genuinely differs between them — it changes the plots taken, the crew wanted and the output made, which is exactly the wide-versus-deep trade worth seeing. The controls now sit inside the row they belong to instead of in a bar beneath the list, so a selection can no longer scroll away from its own buttons. - **📊 One Place To Ask "Why Is This Moving?":** Deposits, Production and Stockpile were three separate sections holding three slices of one causal chain, so answering "why is my iron ore going up?" meant opening all three and doing the arithmetic yourself. They are now a single Resources view: select any resource and its full derivation opens beneath the row that prompted the question — the deposit and how depleted it is, each extractor and its rate, every gate that is actually holding those extractors back, the total, each drain, the net, and how many ticks a draining pile has left. A deposit sitting unmined shows up too, because "there is ore here and nothing is digging it" is a decision waiting to be made. - **⏱ Rates Read Per Tick:** Every rate in the interface said "per second". The tick is the game's clock, and one tick is one second only at 1× — so at 32× the numbers were telling you something false, and a value reading `0.02/s` sat directly under a column headed `NET / T`. Rates now read `/t` everywhere, matching the headings and the tick counter they are derived from. - **🔎 The Derivation Sits Under The Row You Asked About:** Selecting a resource used to print its breakdown at the very bottom of the section, so picking something near the top of the list meant scrolling to find the answer you had just asked for. It now unfolds directly beneath the row itself. Credits and Data grew derivations too — Credits shows your tax base against every building's upkeep, which is the clearest picture yet of where the money goes. And the chain's arithmetic now closes: a shortage like `morale ×0.80` is shown as a note on the building it is holding back, rather than as a separate multiplier that made the steps disagree with their own total. - **🛰️ Miners In Orbit Now Show Up On The Rock They Are Working:** A mining ship banks its ore into the body's own stockpile, but the body's Resources view described only its own buildings — so the pile climbed with no cause stated anywhere, and the net printed beneath it was wrong in a way you could sit and watch. Select the resource now and the ship is in the chain by name, with the deposit richness it is running at, and the net matches the rate the pile is actually moving. Verified against a live campaign: a stockpile gaining 48.25 units every 500 ticks against a stated 0.0965 per tick. - **⛏ A Miner Can Work The Ground It Is Standing On:** A colony short of iron ore while sitting on an iron deposit could not be helped by a ship in orbit — the rule that paired deposits with demand refused any pairing on the same body, so a homeworld wanting 3,800 units at critical priority had a mining ship idle above it for the entire run. That rule is gone, replaced by something that answers the real question: is this deposit already being worked? A deposit with a staffed mine on it takes a penalty, because a second extractor there drains the rock faster rather than raising empire output, while a fresh source of equal richness genuinely adds. Demolish the mine and the same body is judged as untapped again. An unstaffed mine counts as untapped too — it produces nothing, and that bare rock is exactly where a ship helps most. Measured on a dormant campaign: iron output rose 80%, and a ship that spent 20,000 ticks idle now spends 19,997 of them mining. - **🔁 Miners Reconsider The Job They Are On:** A mining ship took its first assignment and held it until the rock ran dry, because nothing in the game ever asked whether the job was still the right one. Three separate mechanisms looked at a working miner and all three asked a different question — is it stuck, has an idle ship stalled, does it need a job at all — and none of them asked whether something better had opened up. Miners now price their current job against every alternative on the same scale, and move if one is decisively better: not merely better, which would turn a ship into a courier that abandons a job, changes its mind mid-flight, and mines nothing. A job also cannot be reconsidered in its first few thousand ticks, so it gets long enough to be worth having taken. Honest note: on the two campaigns measured this changes nothing yet — a lone miner sitting on a huge iron deposit genuinely is doing the best available work, and it takes a second mining ship before the question has an interesting answer. - **🚚 Haulers Fly Full:** A freighter with a 4,500-unit hold would carry away only the amount a colony had asked for — leaving a 10,000-unit surplus sitting on the ground it had just flown across the system to reach. Travel is the expensive part: measured over 40,000 ticks, only four round trips fit, so every trip that leaves cargo behind is a trip largely wasted. A hauler now fills its hold from whatever the source genuinely has spare, and gets paid for the whole load rather than just the promised part. It will not strip a pile another inbound freighter has already claimed, so two ships heading for the same stockpile no longer race, and the second one no longer arrives to find an empty shelf. The knock-on is larger than the change itself: clearing the ground pile lets the mining ship keep working instead of stopping once the heap in front of it is full, and total material extracted roughly doubled across every campaign measured. - **⛏ Idle Miners Go Prospecting:** A mining ship only ever got work when some colony had already asked for the exact resource it could dig — so a second mining ship in a fresh campaign sat motionless for its entire life, parked beside twenty-one known deposits, contributing nothing. Deposits nobody has asked for now generate work of their own: an idle miner picks the resource your empire has the thinnest reserves of and goes to fill the warehouse against a rainy day. It prefers what you are genuinely short of, ignores anything no building of yours burns, and steps aside the moment a real order appears — a standing order sits at the bottom of the priority ladder by construction, so any actual demand outbids it. Measured across three campaigns: the second mining ship went from zero working ticks to 36,323 of 40,000, and no ship that already had a job lost a single tick to the change. - **📡 Scouts Can Actually See:** The map drew a sensor circle around your ships and that circle did nothing whatsoever — detection was built entirely from fleets, and nothing in the game creates a fleet, so the collection it read was permanently empty. A scout could sit on top of an unexplored moon for a whole campaign and reveal nothing, while the interface kept promising otherwise. Ships are now sensors in their own right, each seeing from wherever it actually is, so parking one out at the rim is what brings the rim into view. Lighter hulls make better scouts than heavy freighters, which is the numbers the game already had and never used. Fleets still exist as a way to group ships — grouping simply has nothing to do with what you can see. - **🌌 A Ship Can Go Through A Jump Point:** Travelling to a new system required a fleet, and since fleets are never created, the door was shut: every campaign was one system with two jump points leading nowhere. A ship flies through now, and the system on the far side is generated when the first one arrives, with a jump point linking back the way it came. A ship already under way cannot jump — it has to be somewhere before it can leave from there.

v0.2026-09-05.2

The map gets a GPU

- **🗺️ WebGL Map:** The map now draws through PixiJS where a GPU is available, and keeps the Canvas2D renderer as a fallback for machines that have none. The hex grid used to be roughly sixteen hundred stroked paths rebuilt sixty times a second for something that never changes; it is now a single cached mesh, which is where most of the cost went. - **🪐 Bodies Are Objects, Not Dots:** Every world gets a procedural surface generated from its own id, so it always looks like itself. Large bodies band like gas envelopes, small ones mottle like rock, and all of them are lit from the direction of their star — which is what makes an eight-pixel disc read as a sphere rather than a circle. - **☀️ The Star Is Alive:** Granulation, limb darkening and a corona that breathes on a ten-second cycle, drawn by a fragment shader. Slow enough to register as presence rather than as movement — a strategy map that shimmers is a map you stop being able to read. - **🌌 Orbit Rings And A Starfield:** Orbit rings had been written but never once drawn; the system view now shows them, which is most of what turns a scatter of dots into a system. The galaxy scale gets a three-plane parallax starfield, so panning across empty space finally reads as motion. - **🎨 The Map Obeys The Colour Rule:** Ship colours were four invented literals, one of which sat on the credits gold and told you a civilian hauler was about money. Body fills came straight from content as saturated cyan, green and yellow — twenty planet classes each claiming a hue. State and ownership now own the five licensed colours outright, and physical matter keeps its hue at a fraction of the saturation. - **🔍 Fog And Ownership Actually Draw:** Ownership shading, visibility fog and jump-point detection have all been in the galaxy renderer since it was written, and none of them was ever called. A system you hold now reads as held, and one you merely remember reads as remembered. - **🐛 Labels Had No Font:** Every label on the map asked for `var(--font-mono)` in a canvas font string, which is not legal and is rejected outright — so none of them has ever rendered in the font it claimed, at the size it claimed. Same defect had made the fog and the jump-point markers paint the wrong colour entirely. - **⚖️ Cost:** About 143 KB gzipped. The map is the game, so it is spent on the thing you spend the most time looking at. - **🐛 Free Instant Capital Fixed:** The colony capital had no build cost and no build time, because it is planted when a colony is founded and was never something you built. Harmless until upgrades became reachable — at which point the capital's whole five-level ladder, the thing that gates shipyards and reactors, could be climbed instantly for nothing. It now costs materials and time like everything else, and no building can complete in the tick it was queued.

v0.2026-09-05.1

New visual language

- **🎨 Command Deck Design Language:** The interface tokens are rebuilt around a dense, unornamented command deck. Colour is now licensed for exactly five meanings — selection, nominal, caution, critical, credits — and everything else is greyscale, which is what makes those five readable at a glance. Surfaces are stated in OKLCH so the tonal steps are perceptually even, borders are neutral, and all seven glow tokens are gone: depth is tonal, and focus is a border colour rather than a halo. - **🔤 Self-Hosted Type:** IBM Plex Mono for data and Barlow Semi Condensed for labels, bundled locally rather than fetched from a CDN so the game renders correctly offline. Latin subsets only — the full packages ship cyrillic, greek and vietnamese, tripling the payload for glyphs the game never draws. - **🔢 Tabular Numerals Everywhere:** Digits now occupy identical width, so columns no longer shimmer as values tick. - **🐛 Invalid Borders Fixed:** `--color-border` was referenced 46 times while defined nowhere, so those borders had never rendered. Type is also fixed empire-wide: Tailwind's default `--font-mono` was silently overriding the project's, leaving all 260 call sites on the system stack. - **🧱 Shared Component Set:** Panels, sections, tables, meters, chips, buttons and fields are now built once and shared, rather than reinvented on each screen. Every interface built from here composes from the same parts, so a table behaves like a table wherever it appears. - **📱 Touch Support:** Controls grow to a comfortable finger size on touchscreens and leave desktop density untouched, keyed on the input device rather than the window width — so a tablet gets big targets at any size, and a narrow desktop window does not. Dense tables scroll sideways within their panel instead of crushing their columns. - **🗺️ One Screen:** The interface is now a map with panels over it, replacing twenty-seven separate pages. A body or a ship opens beside the map, because the map is the context that makes its readings mean something; anything empire-wide takes the full screen. Nothing is more than one click from anything else. - **🔗 The Back Button Works:** What you are looking at is carried in the address, so history, bookmarks and reload all behave. A link to a colony opens that colony. - **⬆️ Building Upgrades Reachable:** The five-level depth ladder — the main progression axis of the economy — has worked in the simulation for some time with no way to reach it. It now has a control, alongside queue cancellation, ship order reordering, contract cancel and modify, and trade-route promotion.

v0.2026-09-05

Colonists survive the journey

- **👥 Passenger Transfer Fixed:** Boarding colonists are now removed from the colony they left, and arrivals join an existing colony instead of vanishing. Loading previously read the source population only to cap the load and never subtracted it, so every embarkation duplicated its passengers; delivering to an already-settled world dropped them entirely. Founding a new colony from a colonist delivery was unaffected and still works.

v0.2026-09-02.38

Colonies order like they know the trip takes time

- **📦 Colonies now order enough to last until the next delivery actually arrives.** Orders used to cover a fixed window regardless of how far away help was, so a colony would ask for about an eighth of what it would get through before a ship could reach it. Each colony now learns its own real resupply time from deliveries it has received, and orders against that. - **🚚 Small orders are rounded up to something worth shipping.** A freighter no longer flies a full round trip to deliver a token amount. - **⛏️ A colony no longer orders what it already produces for itself.** The homeworld had been advertising for iron-ore in perpetuity while mining plenty of its own.

v0.2026-09-02.37

Miners know when to stop

- **⛏️ A mining ship now finishes its job instead of working a rock forever.** Once enough ore is stacked up waiting for collection, the miner stops and becomes available for other work. Previously it kept digging until the deposit ran dry, banking far more than any fleet could carry away.

v0.2026-09-02.36

Mining rebalanced against mines

- **⛏️ Ship mining drills now extract at the same rate as the equivalent mine.** A medium drill matches a level-1 mine, a large drill roughly a level-2, and a small drill sits below both. Previously a single prospector out-mined hundreds of mines, so ore piled up faster than any fleet could carry it away.

v0.2026-09-02.35

Arriving cargo gets paid for

- **💰 Goods delivered without a live contract now credit whichever order is open at that destination.** Previously they were unloaded into the stockpile and nobody was paid — the colony got its supplies, but the delivery counted for nothing.

v0.2026-09-02.34

Deliveries survive the journey

- **🚚 A ship no longer loses its contract mid-flight.** The reservation deadline was a hard cut-off, so any delivery longer than the deadline lost its contract before arriving — the cargo turned up and was dumped, unpaid. The deadline is now a checkpoint: a ship that is still working keeps its job, and only one that has genuinely stopped loses it.

v0.2026-09-02.33

Deliveries are recorded

- **📦 A contract now records how much has actually been delivered against it.** The figure existed but was never updated, so a completed haul and an abandoned one looked identical — zero — on every screen and in every test.

v0.2026-09-02.32

Re-evaluate now

- **⚡ A new action forces the whole simulation to re-evaluate on the next tick.** Most decision-making is staggered for performance — colony economy runs every 5 ticks, sensors every 30 — so a change you make can take a while to show up. This runs everything immediately, once.

v0.2026-09-02.31

The homeworld is short of iron

- **⛏️ Iron ore is now scarce on the homeworld** — a small, poor deposit instead of a near-limitless one. The foundry runs down its supply, the colony starts wanting ore it cannot dig, and the freight economy finally has a reason to exist. - **🎛️ Guaranteed homeworld deposits can be capped, not just floored.** New `maxRichness` and `maxAmount` settings make a resource deliberately scarce.

v0.2026-09-02.30

The BUILD tab

- **🚢 You can now order ships.** A new BUILD tab on the Shipyard screen lists your yards, what each can build, and what is on the slipway. - **⏱️ The slipway shows real time remaining,** counted at the crew actually on the job — a half-crewed yard honestly reports twice as long. - **🛑 A hull nobody is working reads STALLED** instead of counting down to a finish that never comes. Add population or pause other construction to free up the labour. - **🚫 Orders you cannot place are disabled with the reason** — yard too shallow, every berth busy, or treasury short — rather than failing after you click.

v0.2026-09-02.29

The yard knows what it can build

- **📐 Designs are priced at the frame plus every module bolted to it,** using the same numbers the order is charged — so what the yard quotes is what you pay. - **🔒 A design your yard is too shallow for is shown greyed, not hidden.** Knowing a bigger hull needs a deeper yard is what makes deepening one worth paying for.

v0.2026-09-02.28

Ships actually arrive

- **🛰️ A finished hull now joins your fleet.** The last link was missing: the yard built the ship and the game had no route to put it anywhere. It now leaves the slipway fuelled, fitted and docked at the colony that built it.

v0.2026-09-02.27

Hulls advance on the slipway

- **🔨 An ordered hull now builds.** It advances at its own frame's build time, scaled by the crew that turned up — the same rule buildings follow. A hull has no order-of-magnitude, so a hull is a hull. - **📢 A hull that cannot be finished says so.** If its design is deleted or stops validating mid-build, the yard raises a warning instead of quietly losing a ship the player paid for.

v0.2026-09-02.26

Ships can be ordered

- **🚀 A colony with a shipyard can now order a ship.** The order takes a berth, charges the frame plus every module bolted to it, and joins the colony's build queue. - **🏭 Every hull needs a yard.** The bigger frames need a deeper one — a hull that asks for more than the yard can manage is refused rather than accepted and left stuck. - **📋 Nothing is delivered yet** — orders are placed, paid for and crewed, but the hull does not yet leave the slipway.

v0.2026-09-02.25

Shipyards get their own berths

- **🏗️ A ship under construction no longer steals a building's construction slot.** A yard's berths are its own capacity, so ordering a hull on a one-slot colony used to stop construction outright — and quietly advanced the hull as though it were a building. - **👷 Laying a hull hires a real crew,** sized from the frame's mass and drawn from the same people who work the farms. A hull sits at military priority: it loses to food, power and industry, and beats research and luxury. - **📋 Not yet orderable** — the yard has berths and the crew has a wage, but nothing can place the order until the build control lands.

v0.2026-09-02.24

Shield and armour bars

- **📊 Ship panels show shields and armour next to hull.** The pools were derived and stored but never displayed, so a Deflector was still invisible to the player who paid for it. Bars are omitted entirely on fits carrying neither, since an empty bar reads as destroyed rather than absent.

v0.2026-09-02.23

Armour and shields are real numbers

- **🛡️ Ships now carry armour and shield pools.** Plate and Deflectors declared armour, damage reduction, shield strength and regeneration, and nothing anywhere read a single one of those figures — they were mass and money spent on decoration. A ship's defences are now derived from what it carries, alongside hull. - **⚡ Deflectors cost power only under fire.** Carrying one is free; holding it up is expensive. The ship's combat power draw is now tracked separately from its cruising draw. - **🧱 Armour reduction compounds rather than adding.** Each plate turns away a share of what got past the last, so stacking them approaches immunity without ever reaching it. Two small plates block 27.75%, not 30%. - **🚢 A newly built ship leaves the yard at full strength.** It was being delivered at its bare frame's hitpoints against its reinforced maximum — visibly damaged before it had been anywhere.

v0.2026-09-02.22

Bulkheads actually reinforce the hull

- **🛠️ A fitted Bulkhead now adds hitpoints.** Hull strength came from the frame alone, so a Bulkhead cost mass, power and credits and reinforced nothing — an empty slot was better. Hauler with a medium and a small bulkhead: 171 hull becomes 296. - **📋 Armour and Deflectors are still inert**, and stay that way until combat exists. They have no pool to fill.

v0.2026-09-02.21

Dead worlds can be claimed

- **🪐 Every world on the ring can be settled.** Colonising used to require habitability above zero, which refused thirteen of the twenty classes outright — barren rock, ice, the gas giants, all of it. Two thirds of the galaxy could not be claimed, and the buildings meant for hostile ground existed for places nobody could reach. - **🌫️ A nebula still cannot.** It is a cloud with no surface to stand on, so ships scoop it and colonists stay home. - **🏗️ Habitability now decides how many people live somewhere, not whether you may go.** Bring a Sealed Habitat and automated extractors and a lifeless rock is a working mining outpost.

v0.2026-09-02.20

Automated Solar Array

- **☀️ Power for worlds with nobody to run a power station.** A manned Solar Array needs five hundred staff, and a dead-rock colony has a hundred — all of them already keeping the capital's lights on. The automated variant needs none, at ten times the materials and three times the upkeep. - **🏗️ Which is what lets a Sealed Habitat be switched on at all.** The habitat draws more power than a capital makes, and energy cannot be shipped in, so hostile worlds previously had no route to a real population.

v0.2026-09-02.19

Hostile worlds house fewer people

- **🏚️ A colony core shelters a skeleton crew on dead rock, not a full town.** The capital used to house its full complement anywhere, so five hundred people worked a mine at forty per cent on a paradise and on airless rock alike — habitability had no bearing on how useful a world was. It now scales with habitability down to a floor of twenty per cent. - **⛏️ Which makes automated extractors the only thing that works a dead world.** The capital's crew is exactly the staff the capital itself needs, so there is nobody spare for a manned mine until you pay for a Sealed Habitat. - **🌍 Homeworlds are pleasanter.** The minimum habitability for a starting world rose to 0.85, because the starter buildings have to house everyone who arrives with you.

v0.2026-09-02.18

Money in the bank now counts

- **💰 Savings keep the lights on.** Building upkeep was budgeted against your income alone, so an empire sitting on a million credits still shut buildings down when its tax take fell short. The treasury now pays running costs as well as construction — a young outpost on a dead rock can live off the homeworld's bank, which is the whole point of a shared purse. - **🌑 Buildings only shut down when you are genuinely broke.** Shedding still protects survival over research, and the treasury still never goes into debt.

v0.2026-09-02.17

Nothing in a recipe can be unobtainable

- **🔒 The game now refuses to start if a recipe needs something nothing produces.** Cosmic plasma sat in two recipes with no source anywhere in the galaxy for a long time, which quietly made the antimatter reactor and the top stability tier unreachable. Every check passed the whole time. That can no longer happen silently.

v0.2026-09-02.16

Clouds around dead stars

- **💀 Nebulae gather around stellar remnants.** Roughly one system in twenty holds a cloud, but they cluster hard around white dwarfs and neutron stars — a planetary nebula around one, a supernova remnant around the other. The neutron star was the rarest and emptiest system in the galaxy; now it is the one worth crossing it for. - **🌫️ Flying through a cloud costs you.** Nebula hexes have been priced at triple movement cost in the config since the hex grid shipped, with nothing ever marking a hex as nebula. Now something does. - **🎲 A cloud may turn out to be worth nothing.** Nebulae roll their contents like every other body, so a thin one holds no plasma at all — the same disappointment as an asteroid with no ore. Worth surveying before you send a fleet.

v0.2026-09-02.15

Nebulae

- **🌫️ Nebulae are places, not scenery.** A nebula is now a body like any other — it has a density, an extent, and cosmic plasma to be harvested. It is the only source of plasma in the galaxy, and a gas scoop is the only tool that can take it, so the late game has exactly one door rather than a rock that happens to need different gear. - **🚫 Nothing lives in a gas cloud.** Nebulae sit outside the ring of worlds entirely, so they are uninhabitable and cannot be settled — not by a special rule, but because there is no rung on the ladder for them. - **⛏️ Plasma deposits behave like every other deposit.** Same richness, same sizes, same slow decline as they empty. No exceptions.

v0.2026-09-02.14

Mining tools matter, and a long-standing yield bug

- **⛏️ The tool decides what you can mine.** A mining drill works rock and volatiles; a gas scoop works nebula plasma and nothing else. Their rates are identical, so the tool is the whole difference — and a ship is now only offered work its fitted modules can actually do, rather than any mining job going. - **🐛 Ship mining ignored deposit richness entirely.** Every ship-mined deposit ran as if freshly surveyed and never slowed as it emptied, while colony mines correctly yielded less over time. Ship yields now fall with a seam's richness like everything else — which means they are lower than before, honestly this time. - **🔧 One way to extract.** Colony buildings and ship modules now run through the same extraction path instead of two copies of the same formula. The bug above existed because the deposit taper was added to one copy and not the other.

v0.2026-09-02.13

Three ships to start with

- **🚢 Every campaign now begins with a freighter, a miner and a scout.** The Mule hauls on a Hauler frame, the Pickaxe mines on a Prospector, and the new Dart is a cheap fast shuttle for looking around. All three are built from the new hull and module catalogue, so what they can do comes from what is bolted into them rather than from being special. - **⚡ Starter ships are checked before they launch.** Their fits are now proven to power themselves, move, hold fuel, and do the job their name implies — a freighter that out-carries the miner, a miner that can actually mine, and a scout that outruns both.

v0.2026-09-02.12

Forty-five modules, and three kinds of tough

- **🔧 A module catalogue with real choices.** Reactors and engines come in genuinely different kinds rather than sizes of one thing: an RTG is feeble but needs nothing, a fusion plant packs more power per tonne for four times the price, and a chemical drive is cheap and thirsty where an ion drive sips fuel and a fusion torch trades double the thrust for double the power draw. A freighter and a warship now want different engines for real reasons. - **🛡️ Structure, armour and shields are three different things.** Structure is the hull itself. Armour is a second pool that also blunts incoming damage. Shields are a third that regenerates and draws power — but only while fighting, so a shield costs nothing on a quiet run. - **⚙️ Ships now pull on the whole refining chain.** Every module is built from steel, titanium, polymers or circuits depending on what it is, and fission reactors burn isotopes. Building a fleet is no longer just a steel problem.

v0.2026-09-02.11

Ten hulls, and a rule behind them

- **🚀 A hull catalogue across three shipyard tiers.** Shuttle, Fighter and Corvette need no shipyard at all — materials and a crew are enough. Prospector, Hauler, Frigate and Destroyer need a shipyard; Constructor, Heavy Freighter and Cruiser need a deeper one. A hull is a frame: what it becomes depends on what you fit into it, so one Prospector is a miner or a surveyor and one Hauler is a freighter or a colony ship. - **🏗️ Freighters are big and soft, warships are dense and hard.** Every hull's mass, toughness, build time and price now follow from its slot layout rather than being set by hand, with civilian and military frames deriving separately. A heavy freighter carries far more bulk than a cruiser of the same slot budget, and is slower and more fragile for it — cargo hulls want escorting.

v0.2026-09-02.10

Every campaign starts on a different world

- **🎲 Your homeworld varies again.** Guaranteeing a habitable start meant every campaign began on the same flawless planet — best quality and largest size its class allows. The starting world is now rolled within the range that still comfortably houses your people, so quality and size differ from campaign to campaign while remaining a world you can actually live on.

v0.2026-09-02.9

You always start on your own kind of world

- **🌍 The homeworld is now always your species' home class.** The starting world was whichever body the dice rolled first that cleared a low habitability bar, so campaigns could begin on a savannah at half habitability — a world that could not house the population arriving on it, could not staff the jobs its own starting buildings demanded, and could never grow. - **🏠 Your starting world can always house your starting population.** The habitability bar is now set so the worst world you can start on still has room for everyone, with space to grow. - **🐛 Fixed: a crowded home system could generate no homeworld at all.** When the game had to place a guaranteed habitable world, it tried a single location and gave up if something was already there — abandoning the rest of that system's asteroid belts and comets too.

v0.2026-09-02.50

Research becomes something you build for

- **🔬 Laboratories are now the source of research.** Population used to generate research simply by existing, at a rate that dwarfed any laboratory you could build — a homeworld produced sixty times more research for free than an entire research lab did. Passive generation is now negligible, and laboratories earn their output through their recipe like every other producer. - **🐛 Fixed: the interface promised twice the research it delivered.** Having a laboratory standing doubled a colony's projected research figure, but the simulation never applied that bonus. The mechanism has been removed rather than made real, because it multiplied passive research, which no longer exists in any meaningful quantity.

v0.2026-09-02.49

Colonies stop living on their opening balance

- **⚖️ Refineries now eat what extractors can actually dig.** A foundry wanted sixteen times more iron ore per tick than its mine produced, and got away with it by draining the stockpile every colony starts with — so the economy looked healthy right up until the reserves ran dry. Recipes are now scaled to match extraction, so one mine feeds one foundry indefinitely. - **🍞 The homeworld no longer starves.** People were eating more than the colony could grow, living off the pantry. Population now consumes at the same scale food is produced, leaving a small genuine surplus. - **🔋 Power and research keep their scale.** Reactors still produce the same energy per tick and laboratories the same data, because those are sized by what draws them, not by what comes out of the ground. Only the materials feeding them scale.

v0.2026-09-02.48

Spaceports go back to moving cargo

- **🏗️ The spaceport no longer speeds up construction.** It was granting a parallel build slot, which was never part of the design — spaceports already double loading and unloading speed and extend a colony's sensor reach, and building one to construct faster made no sense. Construction capacity now comes from your capital, and later from research.

v0.2026-09-02.47

A broke empire switches the lights off

- **💰 Buildings you cannot afford shut down instead of running for free:** When an empire's tax income no longer covers its buildings' running costs, the lowest-priority buildings switch off until the books balance. Farms and power stay lit while a luxury workshop goes dark, following the same priority ladder that already decides who gets scarce workers and power. - **🏛️ One purse, one ladder.** Funding is decided across the whole empire, not colony by colony, so a wealthy homeworld can carry a young outpost that could never pay its own way. That is what makes automated mines on lifeless rocks possible — and what makes wide expansion expensive. - **🏦 Your savings buy new things, not running costs.** Upkeep is paid out of income alone. A large treasury will not stop a shutdown, which keeps buildings from flickering on and off as the balance rises and falls, and means the empire can never fall into debt. - **🐛 Fixed: a building that went dark still sent a bill.** Credit upkeep was charged in full for buildings that had no power to run on, and unpowered buildings were skipped by the billing code entirely in a way that would have silently swallowed any future upkeep too.

v0.2026-09-02.46

Energy is stored on the body

- **🔋 Colonies now bank surplus power, up to what their buildings can hold:** Every energy building declares how much it can store — the capital 200, a solar array 1,000, a fusion reactor 10,000, an antimatter plant 100,000 — and storage deepens along the same order-of-magnitude curve as output. A colony in balance holds roughly a hundred ticks of reserve, enough to ride out a brownout and not enough to make power free. - **🐛 Fixed: a solar array's output went nowhere.** Energy was classified as a resource that exists only within a single tick, so the colony's surplus was discarded every tick and the power reserve the load-shedding code reads was permanently empty. Only reactor output, which arrives through a recipe, ever reached the stockpile. - **🐛 Fixed: the homeworld had an infinite free power supply.** New colonies are seeded with 1,000 energy, and because the energy delta was thrown away that seed never drained — a colony could run indefinitely on it with no generator standing. - **🔌 Energy is stored but not shipped.** No freighter hauls power between bodies; a colony's grid is the infrastructure its own buildings provide. Battery and power-transfer ships remain open for later.

v0.2026-09-02.45

Buildings cost credits to run

- **💰 Every building now charges credits every tick, and the charge is real:** Running costs come from an upkeep tier (`passive`, `basic`, `advanced`, `automated`, `strategic`) and scale with a building's order of magnitude, so deepening one is a standing commitment rather than a free efficiency win. A colony can only run about as many buildings as its population funds. - **💰 Build prices multiplied 300x:** Credits are now something you save for. A mine is affordable in minutes, an antimatter reactor takes a day of real time at 1x speed. Starting treasury raised to 150,000 to match. - **🐛 Fixed: credit upkeep was charged to nobody.** The cost was computed, shown in the UI, and drained from a pool that is always empty, because credits belong to the empire and never sit in a colony's stockpile. Buildings had been free to run. - **🐛 Fixed: colonies advertised freight contracts for credits and energy.** The contract market was posting deliveries for resources no ship can carry — a colony would ask for 50,000 credits to be hauled to it. Signals are now derived only for resources actually stored on a body.

v0.2026-09-02.44

The capital is a real gate

- **🏛️ Advanced buildings now require a developed capital:** A shipyard needs an Outstation, an antimatter reactor a Bastion. The requirement was written into every one of those buildings and enforced nowhere, so a day-one outpost could queue a planetary shipyard. Deepening a capital now buys access to what a colony can build, not just housing.

v0.2026-09-02.43

Construction needs builders

- **👷 Buildings rise at the speed of the crew you can spare:** Construction hired workers away from your farms and mines, but the building went up on schedule whether anyone turned up or not. A colony of a hundred people could raise something needing a thousand workers at full speed while every farm went dark paying for a crew that was never really there. Build progress now scales with the labour actually available. - **🏗️ A colony with nobody spare does not build:** Work stalls until people are free, rather than finishing for nothing.

v0.2026-09-02.42

The simulation runs twice as fast

- **⚡ Twice the speed for the same empire:** A ten-colony tick went from 15.5ms to 7.2ms, so the game sustains far higher speed multipliers before the main thread struggles. Banked time buys more game time than it used to. - **🔧 One place that decides how often things run:** Stage cadence is now a single `stride` table in the time config instead of three separate mechanisms hidden inside individual stages. Two of those turned out to be dead or doing nothing. - **🌾 Fixed a colony that would have starved while looking healthy:** A strided colony consumed five ticks of food and produced one, so a self-sufficient outpost slowly starved with every check passing. Recipe output now covers the whole span. - **📦 Fixed contracts sized five times too large:** Consumption is a rate, and it was briefly being handed to the contract system as a total — so a colony needing 1,157 units of something asked the galaxy for 5,788.

v0.2026-09-02.41

A met need now reads as met, and colonies actually grow

- **🧊 Fixed colonies frozen in place:** A fully supplied colony could read its own supply as very slightly short, drop into a shortage it wasn't in, and stop moving entirely — stability stuck wherever it happened to stand, for as long as the save lived, while the display rounded the number to a reassuring "100%". Four separate systems carried the same flaw. - **📈 Population grows on a human timescale:** A colony now fills from founding to capacity in about a day of game time. Previously it took roughly 3,900 days, so no colony ever grew into the housing built for it. - **💀 A starving, collapsing colony no longer grows:** Famine and unrest were multiplied together, and two penalties made a bonus — a colony with nothing to eat and nobody in charge gained people at half the healthy rate. The worse of the two conditions now decides. - **🩸 Decline is slower than growth:** A failing colony bleeds people fast enough to hurt but slow enough to rescue, rather than emptying exactly as fast as it filled. - **⏱️ Growth is stated as a doubling time:** The tuning value is now "an unconstrained colony doubles every 15,200 ticks" rather than an unreadable per-tick rate.

v0.2026-09-02.40

Comfort settles a colony, it does not just cap it

- **⚖️ The recovery cap pulls from both sides:** A colony with basic needs met but no luxuries now settles on its comfort level from above as well as below. Previously the cap gated improvement only, so an outpost founded on a lifeless rock kept the stability it launched with forever, however little it had to enjoy. - **🎯 Stability lands on its target instead of hunting around it:** The final step is shortened to exactly the remaining distance. A fixed step overshoots by a fraction and then reverses, which had stability alternating between two values indefinitely. - **🍽️ Famine is still famine:** A real food or water shortage takes a colony all the way down. Only comfort is bounded by the comfort level.

v0.2026-09-02.39

Colony mines run dry, and morale finally matters

- **⛏️ Colony extraction depletes the deposit:** A colony mine used to take ore out of the ground without the ground noticing — only ship mining decremented the seam. Every rule underneath it (finite amounts, the richness taper, mega-deposits) was inert for colonies. Mines now run their deposit dry and stop. - **🏛️ The capital is a closed life-support loop:** It no longer eats water and organics to feed its people; it recycles, producing exactly what its own population needs with a small margin. That is what lets a colony ship plant a foothold on a lifeless rock and have it survive. - **📉 Stability scales what a colony produces:** From a fifth of normal output at collapse, through four fifths at 50, to half again as much at 100. Previously stability moved correctly and changed nothing — a colony at 0 produced exactly as much as one at 100. - **🌾 Life support and food ignore morale:** A food shortage is what drives stability down, so letting morale cut food production would close a loop the colony could never escape. Farms and the capital keep running while the factories idle. - **👥 People leave a colony that has nothing to offer:** Population drains below 25 stability, holds steady there, and grows faster the better things get. The housing ceiling now gates arrivals only — it used to trap a dying colony at full population forever. - **🐢 Unrest builds and heals ten times slower:** A crisis takes hours rather than minutes to bite, and recovery is half the speed of the fall.

v0.2026-09-02

Deposit rarity, quantity and depletion

- **⛏️ Three abundance tiers per body class:** Every one of the 20 classes now says which resources are abundant, rare or a trace, instead of a flat "can carry" list. A Terran world holds all eight elements — oceans of water, some hydrocarbons, a trace of noble gas — the way Earth does. 117 entries, up from 49. - **🎲 Presence is rolled per body:** A class listing a resource says it is possible there, not that it is there. Most bodies hold one to three resources; roughly 1% hold six or more. One per-body abundance modifier correlates the rolls, which is what makes a genuinely resource-rich world possible at all. - **⚖️ Quantity is derived from richness, not rolled:** A rich seam is small and burns fast; a poor one is enormous and lasts for years. Independent rolls would eventually produce a deposit that was both, and one of those ends the resource game. Quantity also scales with body size, so an asteroid holds a fraction of a gas giant — but a whole belt is still worth going after. - **💎 Mega-deposits:** 5% of deposits roll below their tier's richness band, which the inverse curve turns into something enormous. Millions of units at a tenth of the yield. - **📉 Deposits now die visibly:** Richness holds through the first half of a deposit, then decays to a floor. Previously a seam extracted at full rate to the final unit and then stopped dead, so the only warning was production hitting zero. Total extractable is unchanged — this is pacing. - **🐌 Extraction slowed tenfold:** A typical abundant deposit now runs about two months on a single OoM-1 mine instead of under three hours.

v0.2026-09-02.8

Demolish, and two fields that were not decisions

- **🧨 Demolish refunds half:** Buildings could be removed but returned nothing, and `demolishRefundFraction` sat in config with no reader — so a misplaced building was permanent and its slot was spent forever. Tearing one down now returns the configured fraction of what it cost at the level it reached, and cancels any queued upgrade of it rather than paying for work that can no longer land. - **🗑️ `maxLevel` and `requiresSurface` deleted:** Both were identical across all 25 buildings. `maxLevel: 5` was 25 copies of `capacityConfig.oomMax`, which is already enforced, and `requiresSurface: true` was a flag that never varied — and "surface" means nothing now that every body is one kind of thing.

v0.2026-09-02.7

Building things takes people

- **👷 Construction competes for labour:** `workforceToBuild` had no reader at all, so raising a building was free — a colony could put up a luxury workshop while every farm stayed fully manned. A build crew is now hired at the priority of the thing being built, so a colony under labour pressure finishes what it needs and stalls what it merely wants. - **⏸️ Only jobs actually under way employ anybody:** A queue is a waiting list. Items beyond the colony's construction slots cost nothing until work starts on them. - **📐 Deeper upgrades need bigger crews:** For the same reason they take longer and cost more.

v0.2026-09-02.6

Parallel construction, upgrades take real time

- **🏗️ Colonies can build more than one thing at once:** `baseConstructionSlots` had sat in config with nothing reading it while the stage hard-coded `buildQueue[0]`. A colony now progresses one job per slot, and the capital and spaceport each grant one — so a homeworld runs three. - **⏳ Deeper upgrades take much longer:** Build time is now `buildTimeTicks × oomTimeFactor^(level-1)` with a factor of 8, carrying a three-minute order-of-magnitude-1 build to roughly a day at order 4. New builds are always level 1 and are unchanged. - **🎚️ Granted slots follow the slot curve:** Doubling per order of magnitude, the same curve building footprint uses. On the output curve an order-of-magnitude-5 capital would have handed a colony 625 concurrent build sites.

v0.2026-09-02.5

Energy shortage sheds load

- **🔌 Running out of energy now does something:** An energy deficit previously had no consequence at all — the stage worked out how much it could not cover and threw the number away. A colony short of power now sheds buildings from the bottom of the priority ladder. - **💡 A dark building draws nothing:** An unpowered building produces nothing *and* stops consuming, which is what lets the shed recover the deficit. Slowing recipes would have saved zero power, because energy is per-building upkeep — a slower foundry draws exactly as much as a busy one. - **🪜 Same ladder as workers:** Energy and workforce now share one allocator, so a struggling colony feeds itself and goes dark at the bottom instead of everything sagging together. Reorder `anchors.priorityOrder` and both follow.

v0.2026-09-02.4

Energy production plays by the same rules

- **⚡ Energy scales exponentially with depth:** Production was linear in level while consumption was exponential, so deepening a consumer cost 5× while deepening a producer gained only 2× — a 12.5× penalty at order of magnitude 5 that made the energy economy incomparable to everything it trades against. - **👷 Unmanned power plants produce nothing:** Energy production ignored staffing, so a colony's power supply was the one input immune to the labour shortage throttling everything drawing on it. - **📊 The projection now matches the tick:** `computePotentialProduction` had both bugs plus linear consumption, so the numbers on screen disagreed with what the simulation actually charged.

v0.2026-09-02.3

Shortage allocation follows the priority ladder

- **🍞 Colonies feed people before refining fuel:** Recipes are served in list order and each drains the shared input pool as it runs, so that order is the shortage allocation. It was alphabetical, which put `survival` last of eleven tiers — a fuel refinery outranked a farm because "r" sorts before "s", and a colony short of water refined fuel while its people starved. - **🪜 One ladder for everything:** Recipe allocation now uses the same `comparePriority` that already ordered worker assignment, instead of a second ordering that disagreed with it. Reorder `anchors.priorityOrder` and both follow.

v0.2026-09-02.2

Homeworld starter set

- **🏠 Homeworld starts with nine buildings:** Everything at order of magnitude 1 except the capital and solar array at 2. Uses 11 of 40 slots, houses exactly the 11,000 workers it employs, and runs a +50 energy surplus. Defined in `colonyDefaults.json` — no code change needed to retune it. - **🛢️ Hydrocarbons guaranteed on the homeworld:** Three of five surveyed seeds had no hydrocarbon source anywhere in the home system, which makes structural steel unbuildable — and steel is in every build cost. Richness 0.3: enough to forge slowly, so a richer source elsewhere is still worth taking. - **🧱 First build decisions are yours:** No chemical plant, micro-fabricator, metallurgical lab or research lab. Polymers, circuits, titanium and data are what you choose to unlock first. - **🛡️ Two new guards:** The config loader now rejects a homeworld entry naming a building that does not exist. A new test asserts the set fits its slots, houses its workers, nets positive energy, and can sustain every resource its recipes consume — counting only deposits and building output, never the starting stockpile.

v0.2026-09-02.1

Building economy rebuilt on five anchors

- **🏗️ Buildings are the only source:** Subsistence deleted. A colony with no farm grows no food; a colony with no extractor mines nothing. Every output now traces to a building. - **🎚️ Allocation dial deleted (breaking, schema v23):** The four-way extraction/industry/infrastructure/research split is gone. It multiplied extraction a third time on top of yield and staffing, so an OoM-1 extractor returned 0.4/tick instead of 1.0. Staffing already allocates labour and the priority ladder already orders it. Credits and research now scale with population alone. - **⚡ Energy scales with depth:** Building upkeep is now `energyConsumption × oomMultiplier(level)`, matching output. Previously energy was linear while output was exponential, so upgrading was a free efficiency win. - **📋 One priority ladder:** Eleven tiers from colony through luxury replace `throttleGroups.json`, whose two-tier ordering was an accident of alphabetical sorting. - **🏛️ Capital is a building:** Planted at founding, upgradeable 1-5, excluded from the build menu. Provides housing, a food floor, sensor range and the unlock gate. - **⛏️ Extractors are resource-specific:** A mine takes iron-ore, silicates, heavy metals and isotopes; volatiles and organics need their own buildings.

v0.2026-09-01

Buildings rebuilt on five anchors

- **⚓ Five anchors:** every balance number now derives from five stated values in `economy/anchors.json` — 1 pop unit = 1,000 people, an OoM-1 building employs 1 pop unit and produces 1 unit/tick, one food or water serves 10 pop units, an OoM-1 building draws 1 energy while a solar array makes 10. - **🏭 Buildings are the only source:** subsistence deleted. A colony with no farm grows no food, and the hand-labour floor is gone from extraction — a body full of ore produces nothing until somebody builds a mine. - **👷 Per-building staffing:** workers are assigned down one priority ladder instead of one colony-wide ratio. A struggling colony now feeds itself and goes dark at the bottom rather than everything sagging at 60%. - **🪜 One scarcity ladder:** workers, energy and materials all allocate in the same configured order, replacing `throttleGroups.json` — whose two-tier ordering was an accident of alphabetical sorting. - **📈 One OoM curve:** output, cost, slots and energy upkeep all read `oomOutputFactor`. Upgrading used to cost 10,000×, return 11×, and drag colony staffing down 55×. - **⛏️ Specialised extractors:** `extractsResources` replaces the old encoding where four of six extractors were functionally identical. `extractionMultiplier` becomes `extractionYield`, a plain rate. - **🏛️ The capital is a building:** planted by a colony ship, upgradeable OoM 1–5, providing housing, a small extraction yield and its own recipe. Excluded from the build catalogue. - **🌍 Foothold calibration:** population consumption is linear, matching the anchor (the inherited `pow(pop, 0.8)` curve said 0.16 food for ten thousand people where the anchor says 1). The capital houses 500 and its recipe consumes what it can dig, so a colony is self-sufficient on a typical body and short on a poor one.

v0.2026-08-30.29

The interface stops playing favourites

- **🖥️ Colony Screens Work On Every Body:** the colony detail page refused to open for a moon, asteroid or comet. The found-colony picker left them out. A supply contract sitting on a moon reported its stockpile as zero. All fixed — 13 places in the interface were quietly restricting what you could do based on what kind of rock you had selected. - **🔭 Moons, Asteroids And Comets Are Drawn Properly:** a moon was drawn as a fixed tiny grey dot no matter its size or type, and asteroids and comets got the same anonymous marker as an unidentified contact. Every body is now drawn from its real size and class.

v0.2026-08-30.28

No body is a special case

- **⚖️ Every Body Plays By The Same Rules:** 26 places in the code still asked "is this a planet?" before deciding what was allowed. Colonies on moons, asteroids and comets were missing from the empire dashboard, the catalogue, production summaries and colonisation targets. They are not any more, and a build check now refuses any new code that singles out one kind of body. - **🪨 Unclaimed Bodies Show Their Cargo:** stockpiles sitting on an unowned comet or moon were invisible, because the check for "nobody owns this" had been written as "is this an asteroid belt".

v0.2026-08-30.27

One body type

- **🪐 Planets, Moons, Asteroids And Comets Are One Thing:** they were four separate types in the code that shared everything and differed in almost nothing. Now they are literally the same type, so anything a planet can do, every other body can do — not by careful copying, but because there is no longer a difference to overlook.

v0.2026-08-30.26

Colony status is gone

- **🏘️ A Colony Is Somewhere You Actually Are:** whether a body counts as your colony is now decided by what stands on it — buildings or people — instead of a stored label that could disagree. A body marked "major" with nobody living on it was expressible before, and so was an unclaimed rock covered in your mines. - **📈 Eight Sizes Instead Of Four:** colonies are labelled outpost, settlement, colony, township, city, metropolis, megacity and ecumenopolis, derived from population. Each housing upgrade moves a colony roughly one step. - **🌍 Your Homeworld Reads Its Real Size:** it used to be stamped "major" no matter what. With 10,000 starting colonists it is a colony, and it will climb the ladder as it grows.

v0.2026-08-30.25

Colony reads derive from presence

- **🔭 Colony Views Count Every Kind Of Colony:** dashboards, catalogues, contract lists and the economy view all tested for a colony by looking only at planets. Colonies on moons, asteroids and comets were invisible to them even while producing and consuming normally.

v0.2026-08-30.24

Three colony-status bugs

- **🚚 Big Colonies Accept Emergency Cargo:** a ship dumping cargo looked for a colony by exact status match, so developed, major and outpost colonies were all invisible to it — the larger the colony, the less it counted as somewhere to unload. Any owned colony now qualifies. - **🛰️ Off-Planet Spaceports Work:** a spaceport built on a moon, asteroid or comet colony counted for nothing, and cargo loaded there at the unimproved rate however much had been paid for it. - **🏷️ Colony Size Is A Label, Not A Setting:** colony tier now reads from population across eight steps from outpost to ecumenopolis, instead of a stored value that could disagree with reality.

v0.2026-08-30.23

Buildings can be deepened

- **📐 Order-Of-Magnitude Upgrades:** a standing building can now be upgraded to a deeper tier — five times the output for ten times the cost and double the slots. Before this, every building in the game was stuck at tier one for ever; the tier field existed, was written as 1 in five places, and nothing ever changed it. - **⏳ Depth Costs Time:** an upgrade goes through the build queue like any other construction rather than applying instantly, so going deep is a commitment and not a button. - **💰 You Pay The Full Price Of The Tier:** upgrading to tier three costs what a tier-three building costs, not the difference from tier two. Otherwise climbing the ladder one rung at a time would be cheaper than building at the tier you wanted, which is not a decision worth offering. - **🧱 Only The Extra Space Is Charged:** the shallower building surrenders its own footprint, so an upgrade needs only the additional slots — but those slots must genuinely exist, or the upgrade is refused.

v0.2026-08-30.22

Moon colonies can build

- **🌙 Construction Works Off-Planet:** a colony on a moon could queue a building and pay for it, but the build never advanced — it sat at zero progress for ever with nothing reporting a problem. Moon, asteroid and comet colonies now build exactly as planets do.

v0.2026-08-30.21

Factories need workers too

- **🏭 Workforce Runs Your Factories:** refineries, foundries and farms now produce in proportion to how well they are manned, exactly as mines do. Population used to grant an unbounded bonus instead — a colony of a million produced twice what a colony of a thousand did from the same building, forever. - **🧑‍🌾 Hand Production Is A Floor:** a colony without the facility still makes a little by hand, and building a facility it cannot staff adds to that rather than replacing it. Construction can never make you poorer. - **👥 Extra Sheds Need Extra People:** workers are shared across the whole colony, so three understaffed farms feed exactly as many people as one. Capacity is worth building when the population is there to run it.

v0.2026-08-30.20

Mines need miners

- **⛏️ Workforce Runs Your Industry:** every extraction building asks for a workforce, and it produces in proportion to how much of that workforce it has. Half the miners, half the mine. Population used to raise output through an invisible curve that never stopped rewarding more people. - **🤖 Automated Extractors Finally Work:** paying ten times over for a machine that needs nobody now buys exactly that. Under the old system a building with no workforce requirement produced nothing at all, because output was multiplied by a population factor that was zero on an empty rock. - **🪏 A Mine You Cannot Staff Never Hurts:** hand extraction is a floor that a workforce shortfall cannot take away, so building a mine your colony is too small to run can only ever help. It is slow, not counterproductive. - **📐 Depth Costs People:** a mine at a higher order of magnitude asks proportionally more miners, exactly as it costs more credits and yields more ore. Going deep is a real trade rather than a free upgrade.

v0.2026-08-30.19

People need somewhere to live

- **🏘️ Population Is Capped By Housing:** a colony grows only as far as the homes you have built for it. One habitation dome shelters ten thousand people; upgrade it and the ceiling rises with it. Before this, population climbed forever regardless of whether anyone had built anywhere to put them. - **🌍 Two Limits, Not One:** a body is bounded both by physical room — a pebble cannot hold a megacity however much you build — and by the shelter standing on it. Whichever runs out first is what stops you. - **🌬️ Marginal Worlds Are Genuinely Worse:** open-air housing shelters fewer people on a poorer world, so a half-quality planet supports half the population from the same dome. Sealed habitats ignore this entirely, which is what their tenfold price buys. - **🧹 The Stored Ceiling Is Gone:** population capacity used to be a number written into the save — hardcoded to a million on your homeworld, zero on every moon, and never actually checked. It is now worked out from the world and its buildings whenever anything asks.

v0.2026-08-30.18

Domes need air

- **🌬️ Open-Air Housing Is Gated:** a Habitation Dome now refuses to be built where nobody can breathe. Below 10% habitability the only housing that works is the Sealed Habitat — which is exactly what its tenfold price is for, and now you find that out before spending the steel rather than after. - **⛏️ Industry Is Unaffected:** mines, foundries and spaceports still build anywhere. Only housing cares about the air.

v0.2026-08-30.17

Bodies have finite room

- **📐 Building Slots Enforced:** a body only has room for so much. A typical Terran world holds 40 slots, an asteroid 10 — and a top-tier building occupies sixteen of them on its own. Until now a comet would happily accept five hundred buildings. - **🚧 No Silent Failures:** the queue warns you immediately when there is no room, and if the last slot fills while something is still under construction, the finished building is dropped with an alert rather than vanishing quietly.

v0.2026-08-30.16

Robotic extractors

- **🤖 Three Automated Extractors:** an automated variant of the mine, volatiles extractor and bio-harvester. Ten times the price, and a heavy circuit bill on top, in exchange for needing no workers and no power at all. - **⚖️ The Same Output, Not More:** the premium buys independence, not throughput. A robotic mine pulls exactly what a staffed one does — it just keeps doing it on a dead rock with nobody living there.

v0.2026-08-30.15

A colony is a colony wherever it sits

- **🌑 Moon And Asteroid Colonies Work:** a colony on a moon used to produce nothing at all — no mining, no manufacturing, no growth — while still advertising demand, so freighters delivered food it never ate. It now runs the same economy a planet does. - **🪨 Owned Rocks Read As Owned:** an asteroid or comet with your flag on it reported as unowned no matter what, which quietly excluded it from ownership checks across the game. - **⛏️ Presence Is The Claim:** a body counts as yours when there are buildings on it or people living on it — not because of a stored label that could disagree with both. An automated outpost with no population is a colony; so is a landing party with no buildings yet.

v0.2026-08-30.14

The economy has a shape

- **⛏️ Nine Raw Materials, Nine Refined:** the resource set is rebuilt as a readable matrix. Three industrial, three volatile, three exotic raw materials — and every refined material is exactly two of them. No special cases, no one-input shortcuts. - **🔩 Contention Is Designed:** silicates and hydrocarbons each feed three different refined goods, so those are the materials empires fight over. - **✨ Cosmic Plasma Has No World:** the ninth raw material exists only in nebula storms, gathered by ship. Two of the nine refined chains need it, which is what eventually pushes a mature empire into deep space. - **🏭 Twenty-Two Buildings:** three extractors, nine refineries, three power plants, two housing types, and the capability buildings that let a colony dock ships, build them, or do research. - **🍏 Terran Worlds Can Feed Themselves Again:** water is water, not "water ice" locked to frozen worlds. Ocean, Savannah, Swamp and Pelagic all farm. Desert and Mesa are habitable but permanently import food. - **🧹 Deposits Config Deleted:** a whole file of deposit rules was parsed on every boot and read by nothing, still naming planet classes that no longer exist.

v0.2026-08-30.13

Colonies have room to breathe

- **🏗️ Twice The Building Slots:** a typical Terran world went from 20 slots to 40, an asteroid from 5 to 10. At the old size a single top-tier building ate 80% of a planet, so depth was theoretical — now two of them fit alongside housing and power. An asteroid outpost is a real base instead of a token.

v0.2026-08-30.12

Moons belong to their planet

- **🌘 Gas Giants Actually Hold More Moons:** a planet's class decided *whether* it captured any moons, then the star decided *how many* — so a barren rock that got lucky averaged the same three moons as a gas giant. The 9× advantage lived entirely in one coin flip. Now every planet has six independent moon slots, each rolled against its own class, so size drives both frequency and count. - **🎲 Nothing Is Guaranteed:** every slot can fail. Even a gas giant is sometimes bare. - **🔭 Six, Because Six Fits:** moons are placed on hexes adjacent to their planet, and a hex has six neighbours. The old cap of eight silently failed to place the last two. - **⭐ Stars Scale, Planets Own:** star type now scales the chance instead of owning the count — a neutron star's system is sparse without deciding what a gas giant is. - **🧹 Four Parameters Became Two:** `moonMultiplier`, `minPerPlanet`, `maxPerPlanet` and `probability` collapse into a per-class `moonChance` and a per-star `moonScale`.

v0.2026-08-30.11

Star types finally matter

- **⭐ Zone Tables Per Star Type:** which classes form in which orbital band is now set per star type, not globally. A neutron star had exactly the same odds of a Terran world as a main-sequence star; now its habitable band is nearly empty. Overrides are sparse — a star type states only what differs from the default, so retuning one band does not mean restating thirty weights. - **🌟 Stars Are No Longer Equally Likely:** all six types were weighted 1, so a sixth of the galaxy was neutron stars. Red dwarfs now dominate, remnants are rare. - **🌗 Bodies Differ By Star:** moon, belt and comet counts were identical across every star type — a neutron star spawned as many comets as a giant. Giants and binaries now hold more of everything; remnants were stripped by whatever made them. - **🧹 One Answer For Colony Defaults:** starting stability, security and allocation were defined twice with different numbers — once per body kind at generation, once globally for new colonies. The global copy is gone; the per-kind one wins.

v0.2026-08-30.10

Systems read like systems

- **🌡️ Orbit Picks The Class:** a body's class used to be rolled from one global weight and then dropped into whichever band it belonged to, so ring position and orbital distance were unrelated — an Ocean world could hug its star. Now the band is drawn first and the class comes from that band's table. The ring is composition, orbit is temperature, and they finally agree. - **🎲 Variation Without A Second Mechanism:** a class can carry weight in several bands. Terran is common in the habitable zone and rare elsewhere, rather than locked to one. A band can also come up several times in one system, or not at all. - **🌘 Moons Roll Their Own Table:** a moon's class comes from how it formed, not from where its planet sits. Giants are excluded — one cannot orbit a planet — and the table leans barren and icy, but a Terran moon stays possible. - **⭐ Star Type Still Sets The Distances:** zone hex ranges remain per star type, so a hot star pushes its habitable band outward without touching a single class weight. - **🧹 Three Dead Mechanisms Removed:** the old 8-class table (parsed every boot, read by nothing), the per-class `orbitHeuristic`, and the global `weight` field — all replaced by the zone tables.

v0.2026-08-30.9

Asteroids and comets are just bodies

- **☄️ Comets Exist:** a new body kind, Ice or Frozen Gas at size 1–3, scattered anywhere in a system rather than at a fixed orbital band. Count and probability per star type. - **🪨 Asteroids Joined The Ring:** an asteroid used to be its own shape with a `beltRadius` and a hardcoded ore deposit. It is now an ordinary Barren, Carbon or Ice body at the small end of the size scale, so its class decides what is in it — same as every other body. - **🏠 Anything Can Be Settled:** every body now carries the full colony block. Habitability decides the *price* of living somewhere, not the permission — a barren rock yields nothing to open-air housing but takes a sealed habitat like anywhere else. - **🧹 One Body Factory:** planets, moons, asteroids and comets shared almost every field but each had its own literal, which is how moons ended up missing fields the others had. Four copies collapsed to one. - **🐛 New Kinds Were Invisible:** four places listed body kinds inline, so comets would have been skipped by stockpiles, the catalog, supply signals and placement — with nothing failing. One shared guard now, and a missed kind is a compile error.

v0.2026-08-30.8

Twenty worlds on a ring

- **🪐 The Ring:** twenty body classes on a closed loop, Ocean through Gas Giant and back. A species has one home class and everything else is scored by how many steps away it sits. Humans start Terran, which leaves exactly seven liveable classes and thirteen worth only mining. - **🌡️ Habitability Is No Longer Stored:** it is quality × ring affinity, computed per species when asked. A pristine gas giant is quality 100 and habitability 0 — the number depends on who wants to live there, so keeping one on the body baked in one species. - **📏 Size Is Real Now:** an independent 1–100 stat rolled per class, driving building slots. It used to be `radius`, computed from habitability, so a huge worthless rock could not exist. Now it can. - **☄️ Asteroids Stopped Being Special:** an asteroid is a small Barren or Ice body. Both sit past the ring cutoff, so nobody lives there — not because a rule says so, but because of where they are. - **🐛 Star Types Named Dead Classes:** generation still weighted `arid` and `oceanic`, which no longer exist. It would have rolled classes with no definition. - **🐛 Every New Class Rendered Grey:** the system canvas imported the old class table directly, so all twenty would have fallen through to the barren fallback colour.

v0.2026-08-30.7

The time bank is visible

- **⏱️ Header Readout:** banked time sits beside the speed control — duration plus a meter against the 4h cap. It turns gold and pulses while spending, so dropping from 32× toward 1× reads as running out of a resource rather than as a bug. - **🎚️ Speed Ladder:** the panel shows all seven speeds with unaffordable ones dimmed. They stay clickable, because the loop does deliver them — just degraded — and disabling them would misrepresent the mechanic. - **🕳️ Empty Reads As Rest:** an empty bank goes muted grey, not red. Nothing has been lost; 1× and below are free forever. - **🐛 Speed Label Never Updated:** the header read `tick.speed` through `getGameState()`, which deliberately does not subscribe — so the label never re-rendered. Invisible while the only consumer was a label you had just clicked yourself.

v0.2026-08-30.6

Banked time reaches the UI layer

- **🔌 Selector Surface:** `getEmpireHeaderMetrics` now carries the time bank — raw seconds and cap for a progress bar, a preformatted display string, the fastest speed a full wake can sustain, and whether the current speed is drawing the bank down. Svelte components may not import the domain layer, so the bank arrives through a selector. - **🕐 Hours-Aware Formatter:** `formatDuration` added to `format.ts`. `formatTicks` stops at minutes, which renders a four-hour bank as "240m 0s". Rounds down — showing "1h" at 59m59s would overpromise.

v0.2026-08-30.5

Speed past 8x, paid from the bank

- **⚡ Ticks Per Wake, Not A Faster Timer:** speeds above 1x now run several engine ticks per scheduler wake. The old scheme divided the tick interval by the multiplier, so 32x meant a 31ms timer — which browsers do not honour reliably under load. That is why the ceiling was 8x. It is now bounded by frame budget instead. - **⏳ Spending The Bank:** one tick per wake is free, the rest is fast-forward and is charged at 1:1 in game seconds. 1x and below never cost anything. - **📉 Running Dry Degrades, Never Stalls:** when the bank cannot cover a full wake the loop runs as many ticks as it can afford and keeps going. Halting or snapping to paused would read as a crash; running slower reads as running out of a resource. - **🎚️ New Tiers Selectable:** the speed button now walks 0.5x → 1x → 2x → 4x → 8x → 16x → 32x.

v0.2026-08-30.4

Banked time replaces offline simulation

- **⏳ Time Away Buys Speed:** `TickState.bankedTime` accrues seconds of game time while the game is closed, spent by running above 1x. The world only advances while you are watching — so there is no catch-up to make fair, no accept/reject prompt, and no divergence between what you saw and what happened. - **⚡ New Speed Tiers:** 16x and 32x. Speeds above 1x run several ticks per scheduler wake rather than shortening the interval, which is why the old approach could not exceed ~8x — it ran out of interval to shrink. - **🎛️ Config-Driven:** 20% accrual efficiency (5 minutes away buys 1 minute), 4-hour cap, `maxTicksPerWake` bounding how long a single wake may hold the main thread. All in `timeConstants.json`. - **💾 Schema v19:** Old saves start with an empty bank rather than being credited for time spent unloaded — crediting them would hand out hours of fast-forward for a period when the mechanic did not exist.

v0.2026-08-30.3

Construction and cargo move on the tick clock

- **🏗️ Construction Was On The Wall Clock:** `InfrastructureStage` computed progress as `(speedMultiplier × deltaSeconds) / buildTimeTicks` — a wall-clock numerator over a tick denominator. At 8x each tick carried ~125ms, so buildings advanced 8x less per tick while 8x more ticks occurred. - **📦 Cargo Too:** `LogisticsStage` derived its loading rate from `deltaMs / 1000`, so freight crawled relative to everything else at high speed. - **🔍 Why The Existing Tests Missed It:** every `LogisticsStage` test calls `processLoadingUnloading` directly and passes the seconds value itself, so none could see what the *stage* passed. The seam under test was one layer below the bug. - **📏 One Definition:** `TICK_SECONDS` now lives in `shared/constants.ts`. Three stages had independently derived it from `deltaMs` and two were wrong at any speed above 1x.

v0.2026-08-30.2

One tick does one tick's work at any speed

- **⏱️ Mixed Clocks Removed:** `LocalEconomyStage` scaled the flow-sample clock, stability recovery and population growth by wall-clock `deltaMs` while everything else in the stage was per-tick. Speed is implemented by shrinking the interval between ticks, so at 8x a tick arrived with ~125ms — per-tick logic ran 8x faster than `deltaMs`-scaled logic. Two clocks, diverging with speed. - **🎯 Ticks Are Canonical (D7):** 1 tick = 1 second at 1x. Behaviour is unchanged at 1x, where `deltaMs` was already 1000 and the old expression evaluated to exactly 1.0. - **🧪 The Golden Snapshot Could Not See This:** `runTicks` always passes `deltaSeconds = 1`, so old and new code are numerically identical on that path — the snapshot stayed byte-identical through the change while proving nothing about it. Added a test asserting the property directly at 125ms, 1000ms and 4000ms. - **🔗 Import Cycle Broken:** `gameState.svelte.ts` imported `stopLoop` from `GameLoopRunner`, which imported state back. `restartGame()` moved to `state/runtime/gameRestart.ts` where depending on both is legitimate; `no-circular` is back to `error` and depcruise reports 0 errors.

v0.2026-08-30.1

empireView: one read model for the UI and the AI

- **🧠 Decision Surface:** New `domain/empire/empireView` answers empire-scoped questions — colonies, occupied systems, colony health, stockpiles, net flow, ship counts — for *any* empire id, not implicitly the player's. Raw `Decimal`, structured `HexCoord`, ids instead of display names. - **🎯 Why:** The existing selectors are player-scoped and display-shaped (`hexCoords` as `"(q, r)"`, `bodyName`, no `empireId`), so an AI reuses zero lines of them. Without a shared layer the read model gets written twice — once for the UI redesign, once for the empire brains. - **🔌 Topology Declared, Not Imported:** The context carries a structural `Topology` interface rather than importing `GalaxyGraph`, which would have been the first cross-domain import in `domain/`. The caller supplies something that can measure distance; the module never learns who provides it. - **📐 Reach In The Signature From Day One:** `GalaxyGraph` is deliberately not part of `GameState`, so `(state, empireId)` can never answer a distance question — and colonisation scoring, supply radius and leash areas are all reach-shaped. Settling the parameter now costs one property; settling it later rewrites every call site. - **⚙️ Config:** Colony stability thresholds moved from five hardcoded literals into `civilianParams.json`.

v0.2026-08-29.8

Signal identity derives from subject, not mint order

- **🆔 Stable Signal IDs:** Signals are fully re-derived every tick, so a counter-based ID named "the Nth signal minted" rather than "demand for ore at colony-1". IDs are now `dsig-{bodyId}-{resource}` and stay stable across ticks by construction. - **🐛 The Bug Under The Bug:** The signal ID counters were never persisted into the patch, so they reset to 1 every tick and accidentally regenerated identical IDs. Wiring them through "correctly" made things worse — IDs advanced monotonically and the event log gained 26 spurious created/expired entries per tick. Measured both ways before choosing. - **🧹 Dead State Removed:** `nextDemandSignalId`, `nextSupplySignalId` and `nextDepositSignalId` no longer thread through the stage results or CommitStage. Deposit IDs include the deposit index because a belt can carry several deposits of the same resource. - **🧠 Why:** Content-derived IDs also delete an F1 blocker — there is no counter left to merge across N empires.

v0.2026-08-29.7

World events can expire again

- **🩹 Expiry Wiring:** `WorldEffectsStage` computed `expiredEventIds` and `CommitStage` deleted them, but the engine never copied the field into the patch. Both ends of a working mechanism with nothing joining them — no world event could ever expire and `state.events` only grew. - **🕵️ Why It Was Invisible:** Nothing creates world events yet, so the leak had no symptom. It would have surfaced once Tier 2 content started emitting them. - **🧠 Why Now:** Found while reviewing the stage-registry plan. A registry loop copies every declared field and would have fixed this incidentally — which would have made the fix look like a regression against the golden-tick snapshot.

v0.2026-08-29.6

Stage alerts actually reach the player

- **🔔 Alert Delivery Fixed:** The engine collected alerts from all 17 stages into a list that was returned from `tick()` — and `GameLoopRunner` discards that return value. Only `AlertsReportsStage` wrote into the patch, so every alert raised by any other stage was silently dropped. That included the manual-order failure alert, whose whole job is to tell the player their ship's order was cancelled instead of leaving it quietly stuck. - **🩹 Missing Stamp:** `PlayerOrdersStage` had no `stampAlerts` call at all — stamped stage indices ran 0–6 then 8–15. - **🧠 Why:** Found while reviewing the stage-registry plan. Empire AI will raise far more alerts than the player does; a delivery channel that drops everything except one stage would have hidden them all.

v0.2026-08-29.5

Simulation no longer runs on the Svelte reactive proxy

- **⚡ 3.4x Faster Ticks:** Canonical `GameState` is now a plain object. It was a `$state` deep proxy, so every property read in every simulation stage went through a proxy trap — measured at 8.63ms vs 2.53ms per tick for the identical tick on plain objects. One colony: 8.3 → 2.4 ms/tick. Ten colonies: 77.6 → 20.0 ms/tick. - **🔔 Reactivity via Version Counter:** UI subscribes to a single `$state` counter, bumped after each tick commit and automatically after every action. Updates are now coarse — one bump re-runs all subscribed selectors — which is the deliberate trade at one tick per second. - **📐 Principle 5 Restored:** The Game Bible says Svelte reactivity is observational, not a mutation channel for domain or simulation. Running the tick on the proxy violated that directly. - **🧠 Why:** Empire AI means running the same economy for every rival, plus replaying offline time as real ticks. Both multiply tick cost, so tick cost had to come down first.

v0.2026-08-29.4

Habitability becomes a species relation

- **🌍 Species-Relative Habitability:** `habitability` was a persisted scalar on planets and moons, tested inline with `<= 0` at two call sites. That encodes "there is such a thing as a good planet" — which stops being true once a second species exists, since a body one species finds ideal may be lethal to another. `habitabilityFor(body, speciesId)` is now the only place that turns the raw field into an answer, and `isColonizable` owns the threshold. - **⚙️ Config-Driven:** Species live in `species.json` with a per-planet-class affinity table and Zod validation. Ships with one default species whose affinity table is empty, so results are identical to before — pinned by test, not assumed. - **🧠 Why:** Adding a species later is now a data change rather than a refactor of every colonisation decision.

v0.2026-08-29.3

Manual orders fail instead of wedging

- **🚧 Order Failure Channel:** A manual ship order targeting a body that does not exist used to sit at the head of the queue forever — no timeout, no signal, ship stuck. The order is now removed and a warning alert is raised. Orders legitimately waiting for a ship in transit are untouched. - **🧠 Why:** A human notices a wedged ship and reissues the order. Empire AI will not — it would wedge silently. The failure channel has to exist before AI drives the same queue.

v0.2026-08-29.2

Architecture gate now measures the real dependency graph

- **🔍 Dependency Resolution Fixed:** `dependency-cruiser` could not resolve `$lib/*` path aliases, so it saw only 181 of ~631 real import edges. The `no-circular` and `domain-purity` rules had therefore never evaluated a single real edge, and all 135 orphan warnings were false positives. Aliases now resolve via a dedicated `tsconfig.depcruise.json` (kept out of the root tsconfig, which SvelteKit owns). - **🎲 Deterministic Entity IDs:** Building and alert IDs no longer embed `Date.now()`. They derive solely from persisted counters, so the same state plus the same inputs always yields the same IDs. Replay is possible again. - **⚠️ Newly Visible:** With resolution working, one real circular dependency surfaced (`gameState.svelte.ts` ↔ `GameLoopRunner.ts`). Recorded as a warning pending triage, not silently fixed.

v0.2026-08-29

Determinism hardening: sorted iteration, fleet constants to config

- **🎲 Deterministic Iteration:** Six simulation stages (LocalEconomy, ContractCreation, ContractExecution, ContractMatching, Sensor, ContractExpiration) now iterate keys in sorted order per Game Bible 7.8. Previously correct only by accident of JS object insertion order — would have broken on save/reload key reordering or delete-then-reinsert. - **⚙️ Fleet Constants to Config:** `EMERGENCY_UNLOAD_THRESHOLD` and the minimum fuel clamp moved out of stage code into `fleetConfig.json` with Zod validation (CANNOT_DO C5). - **🧠 Why:** Foundation work ahead of empire AI. AI decisions must be replayable — same state plus same inputs must always produce the same result.

v0.2026-07-13

Dispatch lifecycle fix (N45-N49)

- **⚙️ Reservation Lifecycle Rewrite:** Supply contracts settled at load (source → partial/fulfilled). Demand reservations renegotiated to actual loaded cargo at load completion. Both slots released on trip end — no more stale snapshots or stranded ships. - **🔄 Miner Reevaluation:** Idle miners/freighters re-evaluated every 60 ticks (idleSweepTicks) instead of 3600. Stuck ships at depleted deposits released automatically. - **📡 Signal-Linked Extraction Cancel:** Miner extraction cancelled when its driving demand signal disappears (N49) — prevents mining into a market that no longer needs the resource. - **🧹 Orphan Contract Clearing:** Ships with missing/deleted contracts get reservations cleared instead of silently stranding.## 0.2026-07-14 — Dispatch lifecycle audit fixes + 60/0 flicker - **🐛 D4 Fix — Contract Duration:** Matched contracts no longer expire at 60 ticks. Restored `durationTicks` to `assigned` (3600) — prevents mid-trip contract expiration that killed auto ships in transit. - **🐛 D1 Fix — Emergency Unload Priority:** Emergency unload now checked BEFORE dump-local in dispatch state machine — ships with full cargo route to nearest colony rather than dumping cargo locally. - **🧹 Dead Code Removal:** 113-line unreachable emergency-unload code block in ContractExecutionStage deleted. - **🐛 N48 Sweeper Guard:** Depletion guard added — stuck extracting/loading ships now released when deposit is depleted with no driving demand. - **⚡ 60/0 Flicker:** Contract creation now runs every tick (`contractCreationTicks: 1`). Contracts expire and immediately refresh in same tick — no more 10-tick coverage gaps. Signal recompute stays at 10 ticks. - **🧪 Integration Tests:** `tripLifecycle.test.ts` — 4 tests validating contract creation, trade route synthesis, flicker guard (gap ≤ 5 ticks), and 100-tick smoke.## 0.2026-07-17 — Economy pipeline: miners & freighters working end-to-end ✅ - **🏆 MAJOR MILESTONE:** Auto-ship economy pipeline working for the first time. Miners extract from deposits and return to colony. Freighters load from stockpile sources and deliver to demand destinations. Full end-to-end cycle: signals → contracts → routes → matching → dispatch → load → transit → unload → rematch. - All delivery gaps closed: supply settlement at load, demand renegotiation, reservation lifecycle, cargo fallback, emergency unload, idle sweep, signal-linked cancellation, orphan clearing. - Contract flicker eliminated (60/0 lifecycle). Matched contracts survive 3600 ticks — no more mid-transit expiration. - This milestone is the result of 6 months of iterative economy rebuild work across ~200 commits.

v0.2026-07-02.3

Freighter trade routes, crash hotfix, logging, button polish

- **Fixed:** freighters and miners now take jobs in other systems at their real distance; before, any trip to another system counted as impossibly far, so claimed bodies in a second system never got their materials. - **🗺️ Knowledge by empire:** lanes and jump-point labels now show only what your empire knows; a door you have only seen never names the system behind it. - **🚢 Freighter Trade Routes:** Freighters now match TradeRoutes (demand+supply atomically) instead of individual contracts. No more one-sided dead-end reservations. Trade routes auto-synthesized from contract pairs via Stage 11. - **🛡️ Crash Hotfix:** `releaseReservation` clamps to `reservedAmount` instead of throwing — prevents game-loop halt. - **📊 DEV Logging:** `simLog()` emits structured console logs for contract assignments, clears, and N36 reevaluation (DEV-only, tree-shaken in prod). - **🎨 Button Polish:** Auto-ship buttons styled with terminal aesthetic + danger variant.

v0.2026-11-06

Habitability reaches housing, claims and growth

- **🏠 No more 10% cliff for domes:** a dome is refused only where it would house nobody (`housesNoOne`). A dome on a hab-0.05 body houses 500 at OoM 1. `minHabitabilityForOpenAir` is removed. - **🪐 Claims weigh habitability:** a claimed body's bonus is `habitableBonus × habitability`, not a flat 1000. A terran world outscores a barren one. - **📈 Habitability drives growth:** a colony living in domes on hab 0.4 grows at 0.7× a colony on hab 1 (`growth.habitabilityWeight` 0.5). - **🔎 Housing preview:** `getHousingPreview(bodyId)` shows each housing building's people, floor and refusal reason on a body. - **🧭 Owner moved:** `providesHousing` / `housingOf` / `housingSpecOf` now live in `domain/core/housing.ts`. - **Changed:** brain decision lines show different build budgets, because growth moves population, which moves tax income.

v0.2026-11-08

Map layers: overlays, hover info, problem badges

- **🗺️ Layers menu:** the map's Cover button is now **Layers**. Pick one overlay — Sensor coverage, a Resource (short, made, spare, deposits), Stability or Habitability — and the map colours every system and body by it, with a legend in the map card. - **⚠️ Problem badges:** every system with a problem shows the worst one as an icon with a count, in any overlay. Switch them off in the Layers menu. - **🔎 Hover info:** hovering a system or body shows the overlay's figures (stock, rate, runs out in, habitability). Tap on phone. Switch it off in the Layers menu. - **💾 Remembered:** your overlay, icons and hover choices survive a reload. - **Fixed:** a shortage badge shows the shortage icon (not the coin); Credits and Data are out of the resource picker; bodies you haven't seen no longer colour a system; tiny rates no longer read "-0.00/t". - **🚀 Ships 2× faster:** `multipliers.shipSpeed` 1 → 2; every trip takes half the time, fuel per hex unchanged.

v0.2026-11-09

Safer saves, advisor groundwork

- **💾 Saves kept by the browser:** starting a game or saving by hand asks the browser to keep the game's storage, so it is not cleared after a long absence. Settings → Saves shows whether it agreed. - **💾 Backup storage restores:** when the game has to use the backup store (localStorage), a reload now restores your save, it keeps 1 autosave and 1 manual save per slot so all 3 slots fit, and it always loads the newest save whichever store holds it. Old copies are trimmed only after the new save checks out. - **⚠️ Advisor:** a new "⚠ N" button in the header (in the figures panel on phone) opens one list of what needs you, worst first: proposals waiting for approval, stalled builds, a treasury running low, idle ships and the existing problems — ranked by how bad, how soon and how many people it affects. Each row has a Fix button (build here, claim, mark a target, approve) that shows why it can't run before you click, and "Show on map". - **⚠ replaces ALERTS** in the header: one count, not two. The full alert feed is one click away inside the Advisor ("All alerts"). - **📈 History is recorded:** every 500 ticks (and every 5,000 for the long view) the game keeps each empire's credits, net income, freight waiting and freighter use, and each colony's population, stability and survival needs. It is saved with the game (save version 61; older saves upgrade on load) and adds about 10 KB. Graphs and the brain using it come next. - **🧠 The brain no longer cancels a build that is still getting materials:** a held build is cancelled only after 6,000 ticks with no delivery, not 6,000 ticks since it started waiting. - **📈 History graphs:** Empire window → History shows credits, net income, population, freighters and how busy they are, with a Recent / Long switch. Each colony has a History section (population, stability, survival needs, and stocks when detailed history is on). Hover or use the arrow keys to read a point. In God's view, other empires' colonies show theirs read-only. - **📈 Detailed history (optional):** Settings → Game → "Detailed history" also records every body's stock. Off by default; unavailable on backup storage. - **🗺️ Map badges** come from the same list. Clicking a badge opens the Advisor for that system, and the badge's number is the number of rows it opens.

v0.2026-11-10

Research groundwork

- **🔬 Research content file:** `research.json` defines the 8 research tracks (Military and Ground forces greyed out) and is checked at load: every target exists, nothing is unlocked twice, each bonus fits what it targets, and starter ships and their modules can never be locked. - **💾 Save version 62:** each empire now keeps its research (owned technologies, queue, the brain's target, and learn-by-doing counters). Old saves upgrade on load; AI empires research on Auto, the player on Ask. - **🔬 Research rules:** one owner each for how bonuses add up (+5% per owned step, +1% per repeatable level, applied once by `applyBonus`), whether content is unlocked, what a technology costs and why it can't be bought yet. - **🔬 Buying research:** a research step runs every tick and buys at most one technology per empire: the head of the player's queue (it blocks the rest while it saves up), else on Auto the brain's target. Approving a research proposal puts it in your queue. Data is charged once. - **🔒 Research locks:** placing an order (build, deepen, ship, refit, structure, saving a design) refuses locked content with "Needs research"; the brain never plans with a locked building or design; build and shipyard lists show which technology unlocks an item. The advanced research lab is the first lock. Anything already built or queued keeps working. - **🧪 Replicator added, switched off:** the building exists behind its technology but stays disabled until its numbers are set. - **📊 Learn-by-doing counters:** each empire counts total mined per resource (colony mines and miner ships, each once), ships built and peak population; saved with the game. - **🎯 Research goal:** a fifth empire goal, Research, measures Data income (labs plus passive research). When it is short the brain posts a Data need and colonies answer with research labs, the same way they answer any shortage. Weighted by the research stance; same rule for AI empires and for you on Auto. - **🖥️ Research window:** a RESEARCH entry on the rail opens 8 track columns (Military and Ground forces greyed out). Each track groups its lines by what they improve; each line shows its three steps (I · II · III), the next cost, and Buy / Queue. Your queue, the brain's target and its proposal (Approve) sit at the top, with Data stock and income. "Available now" filters to what you can buy. Locked rows say why: tier, previous step, learn-by-doing progress, or not enough Data. Works on phone; other empires' research is read-only in God's view. - **🚀 Ship research bonuses wired:** every ship, module and hull stat (thrust, mass, power, cargo, load speed, fuel, passengers, mining rate, survey rate, jump lift, construction rate, running cost, hull build time, sensor sensitivity, signature) now reads its empire's research bonus through one owner, so ship screens, movement, freight, mining, sensors and the brain all see the same boosted number. With nothing researched every value is exactly as before. A new bonus reaches a working ship from its next job. - **🏭 Economy research bonuses wired:** building output and recipe inputs, mining, workforce, energy use, upkeep, build time, construction materials, housing, tax, growth, stability recovery and passive research now read the empire's research bonus through one owner each, so the colony screens, the economy step and the brain see the same numbers. New single owners for building energy use and build cost. With nothing researched every value is exactly as before. - **🧠 The brain picks research:** once per empire cycle each brain scores every technology it can buy by what it would deliver today for the empire's open needs and goals (short resources, money, freight, Explore, Grow, Data), divided by its Data cost; unlocks are valued by running the normal build offers as if the unlock were owned; tier openers get a share of the best tech they reveal. It keeps its target unless another scores 1.5× better (`researchBrain` in tuning.json). On Ask it posts a research proposal; on Auto it sets the target. The techs it weighed show under the Research goal in GOVERN. - **📚 Full research content:** 229 lines across the tracks (Extraction 36, Industry 57, Colonies 37, Logistics 38, Exploration 20, Science 13; Military 28 written but greyed out), each with three steps at 40 / 200 / 800 Data; 6 unlocks (advanced research lab, constructor hull with fabricators, heavy freighter, platform, gate station with its stabilizer, and the replicator, which stays switched off) and a +1% repeatable at the end of each track. Research bonuses are now looked up through an index, so a lookup touches only the steps you own; the Research window mounts a group's rows only when you open it. - **🛠️ Research actually runs:** the brain's research pick never reached the game (the brain stage dropped it from its result), so no empire ever bought a tech; fixed. The Research goal now asks for 1.1 labs' worth of Data (`stepCopies`), so the Data need clears the one-lab floor and colonies build labs. In a fresh 100,000-tick game the AI empires build their first lab at about 22,000–28,000 ticks and own about 25 techs by the end. - **⚖️ Research costs ×30 and passive Data ×2:** one lab makes about 2 Data per tick, far more than the first costs assumed. Steps now cost 1,200 / 6,000 / 24,000 Data, unlocks 18,000–60,000 and repeatables 45,000 (×1.1 per level), so a lab pays for its first step in about 10 minutes at normal speed. Passive research from population is doubled (`population.researchPerPop` 2e-9). - **🔬 Lab output cut:** a research lab now makes 0.1 Data per tick (was 2) and an advanced research lab 1 per tick (was 6). Research costs are unchanged, so research is now much slower: one lab takes about 3.3 hours of play for a step I. - **🐛 A body no longer shows an open import and export of the same thing:** when a body flipped from exporting to importing, the closed export lane stayed "open" (empty) while a freighter was still booked on it. It now closes properly; the freighter already on its way keeps its booking. - **🐛 A claim you let go stays let go:** the brain remembered a released claim by the body and its value, and miners digging the rock changed the value, so the brain could claim straight back a body you had just released. It now remembers the body itself for the cooldown; proposals to release a claim keep their own key. - **Removed:** the credit "research" budget share, which did nothing — Data is the research budget.