v0.8.0.15 — the reference documents, and a card that advertised what it cannot do
The four hand-written references brought up to the game as it actually runs, ahead of the next testing round, plus a Quickstart to hand a tester who has never played. They had not been touched since v0.6.2 — a month and two minor versions — and each now says at the top which build it describes. ONE LIVE BUG CAME OUT OF THE PASS. mainlineDescription told players "Cars may be sorted into any new order here" on the Interchange. It is the printed capability and has never been implemented: nothing reads sortsCars to permit a sort, and its one live use is marking the card an Extra may be made up on, because it is the Mainline card with a yard. That sentence is not only documentation — view.ts renders it as a Mainline card's `what`, so it is what a player reads on the board, and the generated reference printed a "Sorts cars: yes" column beside it. A card advertising a button that does not exist sends a player hunting for it and then concluding the game is broken. What the documents had wrong, all of it verified against the code rather than read for tone: the victory model in the Rules book (firstToTarget / highestAfterDays and the target-bearing length presets stopped existing in 2026-08 — it is a free days count and a combined floor of 3 x players x days); "there is no lobby, no server, no multiplayer"; crossing time in mph rather than regions; Extras launched automatically eastbound; the Uncontrolled Siding listed as a passing card; industry track length taken from the box count; and a "Sister Trains" optional rule that never existed. The Home deck's counts table came out under TODO #15a — Jesse's own ruling that counts move with balance — and it had been wrong for a month, which is the argument made twice. The Home and Mainline deck references are restructured to explain how a deck is USED and to defer every per-card table to rules/as-built.md. Duplicating it by hand is precisely the drift #15a was raised about: as-built needed no correction beyond the Interchange, because build:cards regenerates it and a test fails when the checked-in file disagrees. Everything hand-maintained around it had drifted; it had not. docs/design.md, the index everything starts from, said v0.4.3, "what is not: the server", and 493 tests. It now also lists the player-facing references, which it never has, so the Quickstart is findable at all. 999 fast tests and 35 sim tests pass. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01DmdqqCNoiqE7GBo6wthBnR
This commit is contained in:
co-authored by
Claude Opus 5
parent
a6657241de
commit
f308a2d94d
@@ -19,6 +19,62 @@ page as `v0.1.0 · <sha> · <date>`, so what is deployed can always be identifie
|
||||
|
||||
---
|
||||
|
||||
## 0.8.0.15 — 2026-09-20
|
||||
|
||||
The reference documentation brought up to the game as it actually runs, ahead of the next round of
|
||||
testing, plus a **Quickstart** to hand a tester who has never played. One live bug fell out of the
|
||||
pass.
|
||||
|
||||
### The Interchange advertised an action the game does not have
|
||||
|
||||
`mainlineDescription` told players "Cars may be sorted into any new order here." It is the printed
|
||||
capability and **it has never been implemented** — nothing reads `sortsCars` to permit a sort. Its
|
||||
one live use is identifying the card an Extra may be made up on, because the Interchange is the
|
||||
Mainline card with a yard.
|
||||
|
||||
That sentence was not only in the documentation. `view.ts` renders this text as a Mainline card's
|
||||
`what`, so it is what a player reads **on the board**, and the generated card reference printed a
|
||||
"Sorts cars: yes" column beside it. A card advertising a button that does not exist sends a player
|
||||
hunting for it and then concluding the game is broken. The description now says what the card does,
|
||||
the generated column is headed "Extra may start", and the Rules FAQ answer says the card used to
|
||||
claim otherwise.
|
||||
|
||||
### The documents
|
||||
|
||||
Four hand-written references had not been touched since **v0.6.2** and were a month and two minor
|
||||
versions stale. Each now carries the build it describes at the top. The `v0.4.5` in their filenames
|
||||
is the prototype rules edition they were first written against, and the names are kept deliberately:
|
||||
`src/`, `CHANGELOG.md` and `docs/rules/` all cite them, and several of those citations are historical
|
||||
records of what a document said at the time.
|
||||
|
||||
- **`StationMaster-Quickstart.md` — NEW.** What the game is, how you win, the shape of a Stage, what
|
||||
is on the screen, a first twenty minutes, the things that surprise new players, and what to report.
|
||||
Written for somebody about to play rather than somebody building it.
|
||||
- **Rules.** §3.4 replaced outright — the `firstToTarget` / `highestAfterDays` victory model and the
|
||||
`target`-bearing length presets have not existed since 2026-08; it is a free `days` count and a
|
||||
combined floor of `3 × players × days`, with extended play. §3.5 and §6 said there was no lobby, no
|
||||
server and no multiplayer; there is. All three optional rules are implemented now, and "Sister
|
||||
Trains" never existed. Crossing time is regions, not mph. Extras are started where the player
|
||||
chooses. Added: the coach ratchet, the Small Yard's nose sorting, the make-up shortfall report, and
|
||||
the screen's names for the last two phases, which differ from the rules' names.
|
||||
- **Home deck.** Restructured around how the deck is *used* — piles, hand limit, reshuffle,
|
||||
placement, upgrades, what a modifier grant means — and defers every per-card table to
|
||||
`rules/as-built.md`. The counts table came out under TODO #15a, Jesse's own ruling: counts move
|
||||
with balance, and that table had been wrong for a month. Also corrected: industry track length
|
||||
(four cars like any card, not the box count), modifier grants, and `emptiesOnly`, which is enforced.
|
||||
- **Mainline deck.** Said cards were dealt "with replacement" in its opening paragraph and corrected
|
||||
itself four sections later; priced crossings in mph; and listed the Uncontrolled Siding as a
|
||||
passing card, which it is not — it puts an arriving train in the siding a region behind.
|
||||
- **Components.** Verified against `ROLLING_STOCK_SUPPLY`; the table was right. Added the Crew Tray,
|
||||
Whistle Post and Limits supplies, the coach ratchet, and what the Fedora actually carries.
|
||||
- **`docs/design.md`**, the index everything starts from, said **v0.4.3**, "what is not: the server",
|
||||
and 493 tests. It now lists the player-facing references — which it never has — so the Quickstart
|
||||
is findable, and marks `card-reference.md` superseded rather than presenting it as the card spec.
|
||||
|
||||
**`rules/as-built.md` needed no correction beyond the Interchange**, which is the point of generating
|
||||
it: `npm run build:cards` rewrites it from `content.ts` and `test/card-reference.test.ts` fails if
|
||||
the checked-in file disagrees. Everything hand-maintained around it had drifted; it had not.
|
||||
|
||||
## 0.8.0.14 — 2026-09-17
|
||||
|
||||
Six reports from the Day 2-3 playtest of v0.8.0.13. Two were the same shortage seen from opposite
|
||||
|
||||
Reference in New Issue
Block a user