0.8.0.17:0 — bundle Station Master v0.8.0.17

Four fixes from a live playtest of 0.8.0.16, every one of them the same shape:
the game knew something and the screen did not say it.

GAMES IN PROGRESS RESUME NORMALLY, and unlike 0.8.0.16 that needs no measuring:
no predicate in apply.ts, legal.ts or advance.ts changed its answer, because no
rule changed. The release is a label, three drawn marks, a log line and a set of
published documents.

ABS SIGNALS COULD BE PLAYED ON ONLY ONE MAINLINE CARD while its own tooltip said
"any Mainline card". The engine had always allowed all of them; every placement
simply described itself with the same words, and the action list drops duplicate
labels, so all but the lowest-index card were discarded before the menu saw
them. The third time that trap has fired in this codebase, after a turnout's two
rotations and the three Department discards.

NOTHING ON A MAINLINE CARD SHOWED WHAT WAS STANDING ON IT. A card carrying ABS
now draws a signal mast with a lit lamp, and the Heavy Grade modifiers draw as
BRK, AIR and HLP. Until now the only way to learn a card was protected — which
decides whether a second train on it is safe — was to hover it.

THE FREIGHT AGENT CLAIMED A CAR MOVED WHEN NONE HAD. §6.3 requires no action and
the bot declines deliberately rather than unjam a healthy box and destroy a
stocked load. It says what it may do now, says when it idled and why, and names
the industry rather than a grid coordinate.

THE LOG AND THE ACTION LIST SPELLED THE SAME SQUARE DIFFERENTLY, one in map
order and one in storage order. Fixed in favour of the map.

THE WHOLE GUIDE IS NOW SERVED BY THIS PACKAGE AND REACHABLE FROM A RUNNING GAME,
under the This Game card: quickstart.md, rules.md, home-deck.md,
mainline-deck.md, components.md and the generated rules/as-built.md. 0.8.0.16
published the Quickstart alone, and the five links in its own "Where to read
more" table all 404'd on the box — verified by fetching each path inside the
running container. The references also dropped the v0.4.5 from their filenames:
they described v0.8.0.16 and had since the v0.8.0.15 audit, so the stamp read as
documentation five minor versions stale. They are served as text/plain, so their
tables render as rows of pipes; a styled page is filed upstream as TODO #109.

Packaging is the submodule pin, the version and the words. No action, route,
file model or interface changed, and the whole release is inside the bundled
game. README, instructions.md and the release notes in all five locales say that
games in progress are unaffected.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MUizFYCMHRWhbWwXhp7WPR
This commit is contained in:
Jesse
2026-09-21 06:20:11 -04:00
co-authored by Claude Opus 5
parent b11f0c1fe3
commit 410803c478
4 changed files with 166 additions and 165 deletions
+33
View File
@@ -35,6 +35,39 @@ watches the table — there is nothing else to open.
Solitaire runs entirely in your own browser and needs nothing from the server, so it works here
exactly as it does on the public Station Master site.
**What changed in 0.8.0.17. Games already running on this server resume normally** — no rule
changed.
**There is a guide inside the game now.** Open the **This Game** card, on the right beside the
board, and every reference is listed at the bottom: the Quickstart, the Rules in full, every card,
both deck references and the Components list. They open in a new tab, so reading one mid-turn does
not lose your game. This works the same in solitaire and multiplayer. They are served as plain text
for now — tables come out as rows of pipes — which is honest rather than good, and a proper page is
the next step. Previously only the Quickstart was published, and the links at its foot all led
nowhere.
**ABS Signals can be played on any Mainline card, as its card always said.** Only one was ever
offered. Nothing was wrong with the rule — the game simply described every one of those placements
with the same words, and the action list hides duplicates, so all but one vanished before you saw
them.
**You can see what is standing on a Mainline card.** A card carrying ABS Signals draws a **signal
mast with a lit lamp** at its corner, and the Heavy Grade modifiers draw as **BRK** (Brakeman),
**AIR** (Airbrakes) and **HLP** (Helpers) beside the card's name. Until now none of them marked the
board at all: the only way to find out a card was protected — which decides whether a second train
on it is safe — was to hover over it and read the tooltip.
**The Freight Agent says what it actually did.** The line read "one car moved to or from a facility"
even when nothing had moved, and then said nothing further. Doing nothing is a legitimate choice —
the rules ask for no action, and a bot will decline rather than break open a working box to look
busy — so now it says when it has, and why. When work does happen it names the car, the industry by
name rather than a grid coordinate, and which way the car went.
**A square is written the same way everywhere.** The action list and the history log had been
printing the same square in two different orders.
---
**What changed in 0.8.0.16.**
**The Interchange no longer offers a sorting action it does not have.** The card on the Mainline