Gameplay testing on 0.4.9d returned six reports. Five are fixed; the sixth could not be reproduced and is written up in TODO.md with the two questions that would pin it down. TWO TRAINS AT ONE PLATFORM ANSWERED TO ONE BUTTON. `porter.board` and `porter.detrain` carried no tray, so there was one button per platform however many trains stood at it and the reducer filled the first empty coach on the A/D tracks. `check` and the reducer were not even asking the same question: `check` skipped a train whose card refuses passenger work and the reducer did not. Both intents now carry an optional `trayId`, one function resolves the train and the coach for check/execute/reduce alike, `legal.ts` offers one candidate per train, and the label names it. A LOAD COULD BE MADE AND BROKEN WITHOUT GOING ANYWHERE. A Freight House could unload the boxcar it had just loaded; a platform could detrain the passengers it had just boarded. Full Revenue at both ends for a movement that never happened. Jesse's rule: a load made anywhere in an Office Area may not be broken anywhere in that Office Area, ever — it has to be carried to another district. The load carries the seat that made it (`RollingStock.origin`), stripped by `pooled` at every yard push. Measured at -0.60 +/- 0.10 Revenue a game (t = -6.1) over 400 paired deals: 78 worse, 3 better, 319 unchanged — free Revenue coming off the board, not a nerf. THE GROCER'S WAREHOUSE SHIPPED AND THE REFINERY RECEIVED. Both were `flow: 'both'` on the reading that "Freight House" was a collective term for exactly those two, and therefore what §9.3 described. The engine has dealt a Freight House CARD since before v0.4.9, so §9.3 names it and the argument goes. The card set agrees: all three Refinery modifiers grant +1 outbound. Refinery outbound-only, Grocer's inbound-only, Freight House the one two-way industry — which leaves exactly the one same-district pairing the rule above refuses. NOT REPRODUCED: cars left behind when backing up over them. Five layouts tried, including cars spotted at an industry; every one couples the lot. Three are pinned in `apply.test.ts`. One way to create such cars was closed anyway — `flyingSwitch` wrote its cut past `carsOn`. Both published replays that had gone dead were re-recorded; a rules change retires a save, and `harness.test.ts` is what catches it. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011nbvwWMef8CuEP6t5cgkTv
14 KiB
Station Master — Card Reference
⚠ SUPERSEDED. This described an invented 52-card placeholder. The real catalogue arrived on 2026-07-30 in
docs/Deck cards2.xlsx,Trains3.pdfandMainline Cards.pdf, and is transcribed insrc/engine/content.ts. Seeimplications.mdfor the full comparison.Kept for the reasoning it records — the economy analysis in §7 was how we knew what questions to ask the design. Do not use its numbers.
The per-card catalogue: what is printed on every card. This is the specification the rules engine instantiates from and that any print-and-play layout renders. It says what each card says, not how it looks.
Derived from rules-v0.2.md §12 and the Gap 10 decisions in
open-questions.md.
All values provisional — calibration targets to retune after play.
1. The Home Office deck — 52 cards
| Category | Cards | §12.1 |
|---|---|---|
| Timetabled Trains | 12 | one each, 1–12 |
| Extra Trains | 4 | X9–X12 |
| Office upgrades | 9 | Depot ×4, Station ×3, Terminal ×2 |
| Freight Facilities | 10 | 5 types × 2 |
| Modifier Facilities | 5 | one each |
| Plain track | 12 | turnout ×6, straight ×3, run-around ×3 |
| Total | 52 |
2. Freight Facility cards
Ten cards, five types in identical pairs. Every freight facility card carries: a track with the
Operational Rail wheel icon, an industry track of the stated length, Laborer icons, the
MEN | AT | WORK three-box turn track, and its green Outbound and/or red Inbound boxes.
| Facility | Car type | Direction | Laborers | Outbound | Inbound | Industry track | Copies |
|---|---|---|---|---|---|---|---|
| Mine Tipple | Hopper | Outbound only | 3 | 3 | — | 4 | 2 |
| Produce Shed | Reefer | Outbound only | 2 | 2 | — | 3 | 2 |
| Grocer's Warehouse | Boxcar | Inbound only | 2 | — | 2 | 3 | 2 |
| Oil Refinery | Tank car | Outbound only | 3 | 2 | — | 4 | 2 |
| Power Plant | Hopper | Inbound only | 3 | — | 3 | 4 | 2 |
Directions follow the commodity: coal originates at a Mine Tipple and is consumed at a Power Plant; produce ships out; a warehouse receives. This gives §9 all three of its cases — outbound-only, inbound-only, and both — with the Freight House the one card that does both.
The Grocer's Warehouse and the Oil Refinery are ONE-WAY (corrected v0.4.9e, from gameplay testing): "Grocer's Warehouse should be receive only, does not ship anything out"; "Refinery: only ships out tanks, does not receive anything" (Jesse). The Direction column read "Both" for both, on the reading below that "Freight House" named exactly those two.
And that reading is wrong. §9.3/Appendix A's "Passenger Facilities and Freight Houses permit cars
to move each direction" names a CARD: the engine deals a freightHouse industry, 6 copies, one
Laborer and one slot each direction (content.ts), and has since before v0.4.9. This paragraph used
to read "'Freight House' is not a card — it is the collective term for a freight facility that loads
and unloads, the Grocer's Warehouse and the Oil Refinery", and that premise is what made those two
two-way. StationMaster-Home-Deck-v0.4.5.md prints them one-way, and the modifier set agrees: all
three Refinery modifiers (Pipelines, Oil Depot, Viscosity Breakers) grant +1 outbound, which would
be an odd card set for a facility that receives half the time.
Throughput — why these Laborer counts
A complete freight load takes four Laborer-actions (§9.3): Green → MEN → AT → WORK → onto the car. Laborers are usable once each per Stage.
MEN | AT | WORK is a pipeline, not a queue. §9.1 allows one Load on each of its three boxes, so
up to three loads are in flight at once and each Laborer advances one of them per Stage. This is the
key to reading the numbers: Laborer count is throughput, not latency.
single load, 2 Laborers → completes in 2 Stages
single load, 3 Laborers → completes in 2 Stages (no faster!)
pipeline full, 3 Laborers → one load completes EVERY Stage
The extra Laborer buys nothing on one load and triples output on a full pipeline.
And the pipeline can only be fed one load per Stage, because stocking the green box costs a whole Local Operations action (§6.3). So a 3-Laborer facility is exactly balanced against the feed rate — it completes loads as fast as a player can possibly supply them. The 2-Laborer facilities are the deliberately slower industries, unable to quite keep up with a dedicated player.
That is why Laborer counts track Outbound capacity: Mine Tipple 3/3, Power Plant 3/3, Produce Shed 2/2, Grocer's Warehouse 2/2. The numbers are derived from the action budget, not chosen freely.
Even so, Laborers are rarely what limits a player — spotting the empty car and hauling the loaded one away both cost switching actions from the same budget. See §7.
3. Train cards
Sixteen cards. Each carries its number, a direction from the card image, the consist specification, and the required order: engine at the front, revenue cars, caboose last where required.
Odd numbers run westbound, even eastbound. Pairs are sister trains under the optional rule (Appendix B). Seniority runs passenger-first — low numbers are the varnish, high numbers the drags and locals.
| Trains | Class | Consist | Direction |
|---|---|---|---|
| 1 / 2 | Limited | 4 coaches, no caboose | W / E |
| 3 / 4 | Mail-Express | 3 coaches, no caboose | W / E |
| 5 / 6 | Manifest Freight | 3 boxcars or reefers + caboose | W / E |
| 7 / 8 | Coal Drag | 3 hoppers + caboose | W / E |
| 9 / 10 | Oil Train | 3 tank cars + caboose | W / E |
| 11 / 12 | Way Freight | 3 cars of any type + caboose | W / E |
| X9, X10, X11, X12 | Extra | Any 3 cars + caboose, player's choice | Head-on — player chooses |
A Crew Tray holds at most four Rolling Stock and a caboose counts toward that four (§A.4), which is why no caboose train carries more than three revenue cars.
Only trains 1–4 carry coaches, so passenger work at any Office depends on those four trains' visits.
4. Office cards
Nine upgrade cards in the deck (Depot ×4, Station ×3, Terminal ×2 — the pyramid Gap 3b requires). Whistle Posts are a fixed supply outside the deck (§12.2).
| Office | Control Point | Passenger Facility | A/D tracks | Porters | Green slots | Red slots | In deck |
|---|---|---|---|---|---|---|---|
| Whistle Post | no | no | 1 | — | — | — | supply |
| Depot | yes | yes | 2 | 1 | 2 | 2 | 4 |
| Station | yes | yes | 3 | 2 | 3 | 3 | 3 |
| Terminal | yes | yes | 4 | 3 | 4 | 4 | 2 |
Slot capacity deliberately exceeds Porter count. Only trains 1–4 carry coaches, so an Office needs somewhere to bank boarding passengers between visits and room to absorb a whole trainload of arrivals. Slot counts mirror the A/D track progression.
All four tiers carry identical track geometry (§11.3): a through track plus a plain junction stub above and below. Upgrades are drop-in and must never disturb a connection.
5. Modifier cards
Five cards, one each. A Modifier is not track. It is placed adjacent to a Facility, on any of the nine nearby spots — diagonals included — and if adjacent to two Facilities its effect may be used on only one per Stage (§9).
Two placement rules follow from it not being track. It is not bounded by the Limits: a host standing at the edge of the district keeps all nine of its spots, or the card would be unplayable exactly where the district ends. And it may never stand in the Running Track's row, which inside the Limits is always full anyway — beyond the sign that row is the ground the main grows onto, and a Modifier parked there would block the Limits sign from moving outward (§2.1).
| Card | Effect | Applies to |
|---|---|---|
| Team Track | +1 car on the industry track | Freight |
| Loading Dock | +1 green Outbound capacity | Freight |
| Storage Shed | +1 red Inbound capacity | Freight |
| Extra Platform | +1 green and +1 red slot | Passenger |
| Section Gang | +1 Laborer or +1 Porter | Either |
Capacity modifiers matter more than they sound: banking room, not worker count, is what limits output. Section Gang is the only way to speed a facility up, and is deliberately the sole worker-adding card.
6. Track cards
Twelve plain track cards. Every one carries the Operational Rail wheel icon except turnouts, which a train may pass through but not stop on (§A.1).
| Geometry | Count | Notes |
|---|---|---|
| Turnout | 6 | Enter from A → B or C; enter from B or C → A only. Not Operational Rail. |
| Straight | 3 | Operational Rail |
| Run-around | 3 | Operational Rail. Required for the facing-point move of §A.5. |
Turnout-heavy because turnouts are how Secondary Track branches onward once the Office card's own junction stubs are built out (§11.3).
7. Economy summary
Local Operations actions are the main currency. One per Stage, twelve per Day, and each is exclusive — switch, or draw, or work the Freight Agent (§6).
| Revenue source | Local Ops cost |
|---|---|
| Freight load out | 1 to stock the green box, plus amortized switching |
| Freight unload | none up front — 1 later, only once the red box fills |
| Passenger boarding | 1 to stock a loaded coach |
| Passenger de-training | none up front — 1 later to clear the slot |
⚠ Corrected against simulation. An earlier version of this section claimed every Revenue point costs about one action, giving a ceiling of 12/Day. That is wrong, and the error is instructive: the two inbound operations need no Local Ops action at all at the moment they score. A loaded car arrives on a train, per-Stage Laborers walk it off, and the point is earned using only free per-Stage resources. The action is spent later, and only when a box actually fills.
That earlier correction was itself measured against a scoring bug — unloads were paying a full Revenue point after one Laborer action instead of four. With the pipeline corrected, simulation gives ~0.9 Revenue/player/Day and a 0% win rate against these targets.
Treat the 5–6/Day figure as unfounded. It was derived from the mistaken model above and has not been re-derived. The measured cost of one freight point is four Laborer actions plus a stocking action plus the switching to spot a car. See
open-questions.mdGap 12.
The development ramp
Players open with a Whistle Post — not a Passenger Facility — and no freight facilities at all. The timetable also starts empty, so no trains run until someone draws and plays a train card.
Day 1 ~0 no facilities, no trains yet
Day 2 ~2 first facility placed, first train running
Day 3 ~5 developed
Day 4+ ~6 steady state
cumulative: 3 Days ≈ 7 5 Days ≈ 19 10 Days ≈ 49
The §3 victory targets (10 / 20 / 45) are set just under these cumulative figures, so a game is
winnable by a player running well and missed by one who is not. The Competitive collective floor of
3 × players × Days is about half of expected output and is comfortably met by a functioning
Division.
8. Fixed supplies (outside the deck)
| Component | Count |
|---|---|
| Mainline cards (tarot, 2 regions each) | N + 1 for N players |
| Division Point cards | 2 (East, West) |
| Whistle Post cards | N + spares |
| Limits cards | 2N + spares |
| Crew Trays and engines | player count + 3 |
| Number Boards | 12, numbered 1–12 |
| Red Flag cards | 1 per player (optional rule only; removed from game when played) |
| Fedora | 1 |
| Pocket Watch | 1 |
| D12 | 1 |
Rolling Stock — 62 pieces
| Type | Loaded | Empty |
|---|---|---|
| Coaches (blue) | 8 | 8 |
| Boxcars (brown) | 6 | 6 |
| Hoppers (brown) | 6 | 6 |
| Reefers (brown) | 4 | 4 |
| Tank cars (brown) | 4 | 4 |
| Cabooses (red) | 6 | — |
| Total | 62 |
Supply check against facility demand. Worst case is every copy of every facility in play at once with all boxes full:
| Car | Facility demand | Supply | Headroom |
|---|---|---|---|
| Hopper | Mine Tipple 3×2 + Power Plant 3×2 = 12 | 12 | exactly met |
| Tank | Oil Refinery 2×2 = 4 | 8 | 4 spare (was "exactly met" while the Refinery was two-way) |
| Boxcar | Grocer's 2×2 = 4 | 12 | 8 spare (same correction) |
| Reefer | Produce Shed 2×2 = 4 | 8 | 4 spare |
| Coach | Terminal 4+4, per Office | 16 | scales with Office count |
Hoppers are exactly met in the theoretical worst case, which cannot occur in practice — only 10 freight facility cards exist across a 52-card deck shared by all players, and the §2.2 Classification Yard recycle returns stock to the Division Yard whenever it empties. Both are worth watching in playtesting.