| Distinct card categories | 6 | **10** | four categories are entirely new |
The sheet's own totals (115 / 104 / 12 / 231) reconcile exactly with the line items, so these
numbers are the design's, not an inference.
**Most of my invented numbers are now superseded, and that is a good outcome.** Everything in
`card-reference.md` was explicitly provisional — placeholders standing in for exactly this document.
---
## 1b. Implementation status after the answers (2026-07-31)
All nine answers are implemented, **170 tests passing**:
| Answer | Implemented as |
| --- | --- |
| Q1 crossing time | `crossingStages()` — a 60 card takes 1 Stage, a 30 takes 2. Mainline nodes now carry a **terrain type** dealt at setup, and trains count down Stages instead of stepping through regions. The `Region` model is gone. |
| Q2 Fast/Slow | Slow adds one Stage to every card. Hilly reads the consist (any coach = passenger). |
| Q3 Expedite | An expedited train departs the Stage it arrives — it gets a second `moveTrain` in the same Mainline Phase, still subject to §8.1 clearance. |
| Q4 Lockouts | `isLockedOut()` rejects the placement with `FACILITY_LOCKED`. |
| Q5 Run-around | Nothing to do — reachability is geometric, so a built bypass already works. |
| Q7 Downward-only | Office cards have a stub **below only**; turnout and curve legs always diverge south; placement and modifier candidates above the Running Track are rejected. §9's "nine nearby spots" is really **six**. |
| Q8 Crew Tray cap | Already correct. |
| Q9 Second Section | `newTrain.secondSection` plays on a train due out; an identical train is made up behind it next New Train Phase. The **Sister trains optional rule is removed** from Appendix B. |
**Still not implemented**, and now the largest remaining block: the behaviour of the Enhancement
(18), Mainline-modifier (7) and Maneuver (7) cards, plus the Action (10) and Space-use (12) cards in
multiplayer. All are in the deck; playing them is rejected with `NOT_IMPLEMENTED`.
### Measurement after the answers
100 solitaire Standard games: mean revenue **−1.3**, trains scheduled **2.8**, cards played **11.3**.
Still no wins, and still **not a verdict** — roughly a third of the deck does nothing yet, and the
Small Yard enhancement (which is what makes the switching puzzle solvable) is among the unimplemented
cards. Gap 12 stays invalidated until the enhancements are in.
---
## 1a. What has been done so far (2026-07-31)
**Transcribed and in code**, with 169 tests passing:
- The full **115-card deck** — `deckComposition()` reconciles exactly with the sheet's own total.
- **Track removed from the deck** and modelled as a per-player supply of **26** pieces
(`TRACK_SUPPLY`), with printed handedness and a **move cost** field (2 for sharp curves).
- **Curves** added to the track graph; the invented run-around card removed.
- All **22 trains** with names, Fast/Slow speed class, category-based consists and per-card
operating rules.
- **Industries retuned to 1-out / 1-loader**, with the real six kinds and their lockout lists.
- All **23 modifiers**, each tied to its specific hosts, with their effects applied on placement.
- **Office slots corrected** to equal porter count; deck copies corrected to Depot 4 / Station 2 /
Terminal 1.
- The **ten Mainline card types** with speeds and named entry points, as data.
- The four new categories (space-use, enhancements, mainline modifiers, maneuver, action) are in
the deck. **Playing them is rejected with `NOT_IMPLEMENTED`** rather than silently doing nothing —
the failure mode that left Modifiers as dead weight for weeks.
**Not done, pending the questions in §10**: the speed model, Expedite, lockout enforcement,
space-use semantics, and everything the four new categories actually do.
### First measurement on the real catalogue
100 solitaire Standard games, same bot: mean revenue **−1.9**, trains scheduled **2.3** (was 4.8),
cards played **10.5** (was 16.3).
Development has slowed sharply, and the reason is visible in the composition: **industries are now
9 cards in 115 (7.8%), where the placeholder had 10 in 52 (19%)**. Their density more than halved,
and trains fell from 16-in-52 to 22-in-115. The deck is much more diluted, which is exactly what the
enhancements, maneuver and action cards are there to fill — and none of those do anything yet.
**Read no balance conclusions from this number.** It measures a half-implemented ruleset.
---
## 2. Deck composition
### What the design says — 115 cards
| Category | Cards | Notes |
| --- | ---: | --- |
| Offices (Depot 4, Station 2, Terminal 1) | 7 | *We had 9 (4/3/2)* |
| Passenger modifiers (Waiting area 3, Restaurant 2, Hotel 1) | 6 | each adds 1 passenger-out + 1 porter |
| Industries (Freight House 2, Mine Tipple 2, Refinery 1, Power Plant 2, Packing Sheds 1, Grocer's Warehouse 1) | 9 | *We had 10 in a different mix* |
| Industry modifiers | 17 | each tied to a **specific** industry |
| 6 legalActions | Moderate | follows from 4; the discipline of delegating to `check` protects it |
| 7 RNG | None | |
| 17 Bot | **Rewrite** | Small Yard changes the switching problem fundamentally |
| 18 Harness | Minor | re-run everything |
| 16 Replay | Moderate | new card types and mechanics to narrate |
| 19 Tests | **Substantial** | most rules assertions need revisiting |
**The engine's architecture holds.** Nothing here breaks the `check`/`execute`/`reduce` split, the
event log, or the pure-engine boundary. This is a large content and rules expansion inside a
structure that was built to take it — which is the main thing worth saying about it.
---
## 9a. Answers from the designer
Recorded as they are given, so nothing is lost between sessions.
| # | Question | Answer |
| --- | --- | --- |
| 1 | What do Mainline 60 / 30 mean? | **Miles per hour, expressed as crossing time.** A 60 card takes **one Stage** to cross; a 30 card takes **two**. The printed cells are decoration. Realignment (Curves→Plains) therefore has real value, and 30-cards are genuine chokepoints. |
| 2 | How does Fast/Slow affect crossing? | **Slow adds one Stage to every card.** Fast 60→1, 30→2; Slow 60→2, 30→3. The label therefore matters on every card. Consequence to watch: Slow trains occupy a Crew Tray roughly twice as long, so tray scarcity (§7) bites considerably harder than the placeholder measured. |
| 3 | What does "Expedite" mean? | **The train departs the same Stage it arrives** — it does not spend a Stage standing at the Office. Still subject to the normal §8.1 clearance rules, so it can be held. Fits X17's "one turn at station *then* expedite", and partly offsets the Slow-train transit cost below. |
| 4 | What does a lockout prevent? | **Building both in your district.** If you hold a Mine Tipple, a Power Plant card is unplayable in your Office Area, and vice versa. Each locked pair is a producer and the consumer of the same commodity, so this forces traffic to flow *between* districts — a deliberate multiplayer-interdependence mechanic. In solitaire it simply narrows the build options. |
| 5 | Is a run-around a card? | **No — a pattern built from the track supply.** Opposite-hand turnouts joined by straights. Nothing to implement: reachability is computed from geometry, so a valid bypass already works. This explains the 8 turnouts per player, and makes §A.5's facing-point move a building achievement rather than a lucky draw. |
| 6 | How are Space-use cards played? | **At another player's district**, consuming a grid cell they wanted. This explains Water Column ("remove any Watertower in *your* district" — one an opponent gave you) and Vandalism (exploits a Hobo Jungle you were saddled with). A second, milder attack channel alongside the Action cards. **In solitaire they have no target** — see the note below. |
| 7 | Does a district grow both ways? | **Downward only** — the through-track sits at the card's top edge and everything diverges beneath it, matching `tracks.png`. A district is a Running Track with all Secondary Track hanging below. **Supersedes Gap 8's north-and-south stubs.** Consequences: buildable area halves; districts become long and shallow; §9's nine-spot Modifier neighbourhood needs rewording, since three of the nine spots are above the track and no longer exist. |
| 8 | Any cap on trains in play? | **No — Crew Trays are the only limit.** All 12 timetabled trains may end up scheduled; Extras run on top ad hoc; a due train with no free crew is held (§7). Already implemented. This makes the Crew Tray count (`players + 3`) the single most important balance dial, and "held" a common visible state. |
| 9 | What is the Second Section card? | **A card played on a train that is due out.** A second identical train runs immediately behind it — same number, rules and consist — and needs its own Crew Tray. It deliberately creates the following-train situation §8.1 makes the Superintendent rule on, so a player can force the game's central decision onto the table. Explains the green flags on the artwork. **Supersedes the "Sister trains" optional rule**, which should be removed from Appendix B. |
### Solitaire consequence of Q6
If Space-use cards are played at opponents, then in the **solitaire MVP they have no legal target** —
12 of 115 cards (10.4%) become dead draws. Combined with the 10 Action cards, which are also
opponent-directed, **22 of 115 cards (19%) do nothing in a one-player game.**
That is a real finding for the MVP, and there are only a few honest ways to handle it: remove them
from a solitaire deck, allow them to be discarded freely, or accept that solitaire draws are a fifth
dead. Worth deciding explicitly rather than by default. Not blocking — flagged for after the
remaining questions.
### Consequence noted at the time of answering
Under Q1 + Q2, on a 3-player Division (4 Mainline cards, mixed terrain):
> **⚠ Superseded in part.** Four design files recovered on 2026-07-30 (`Deck cards2.xlsx`,
> `Mainline Cards.pdf`, `Trains3.pdf`, `tracks.png`) replace much of §12 and parts of §7, §8 and
> §11. Where they conflict, **the design wins**. Read
> [`implications.md`](implications.md) alongside this document — it records what changed, the nine
> answers that settled the open questions, and what is implemented.
> **Status: working ruleset.** This is [`rules-v0.1.md`](rules-v0.1.md) — the faithful transcription
> of the prototype PDFs — with the seven gaps from [`open-questions.md`](open-questions.md) resolved
> and integrated in place.
@@ -783,9 +789,9 @@ with a run-around (bypass) track in your Secondary Trackage:
- **Reduced visibility.** The first three Stages (midnight through 4am) and the last two (8pm through
10pm) are night operations. You get only five Moves in the Local Operations Phase during these
Stages.
- **"Sister" trains.** Trains run with counterparts — 1 & 2, 3 & 4, and so on. Pull all even train
cards (2 through 12) from the deck and set them aside. When the companion odd-numbered train is
drawn and played, bring the Sister Train in as well. Does not include Extras.
-~~**"Sister" trains.**~~ **Removed.** The design's **Second Section** card does this properly: it
is played on a train that is due out, and an identical train runs immediately behind it. See
[`implications.md`](implications.md) Q9.
- **Employee Rotation.** At the end of the Day, all players move one chair to the left and take over
the next station up the line, taking their points and the Fedora with them.
- **Emergency Toolbox.** Each player starts with a RED FLAG card, bringing his hand to four; he must
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.