diff --git a/CHANGELOG.md b/CHANGELOG.md index 12bce55..b53edd2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -19,6 +19,113 @@ page as `v0.1.0 · · `, so what is deployed can always be identifie --- +## 0.8.0.17 — 2026-09-21 + +Four things a table found on Day 1 of v0.8.0.16, all of them the same shape: the game knew +something and the screen did not say it. + +### ABS Signals could only ever be played on one Mainline card + +Its tooltip says "any Mainline card". Exactly one was ever on offer — the Trestle, on the board it +was reported from. + +**The engine was never wrong.** `check` accepts any node whose kind is `mainline`, and +`legalActions` filters by `check`, so every Mainline card was enumerated and legal. The whole +failure was in the LABEL: `describeIntent` named `i.placement` and never `i.node`, so all of them +described themselves as plain "play ABS Signals" — and the action list drops duplicate labels, which +discarded every one but the lowest-index node before the menu saw it. + +**This is the third time that trap has been sprung**, and the file documents the other two three +lines apart: a turnout's two rotations produced one label each until the rotation was named, and +three Department discards collapsed into one button until the pile was named. The fix is the same +one both times: name the thing that distinguishes them. Pinned by a test that counts the Mainline +cards in the division and requires a distinct, named spot for each. + +The card is also called what the card face calls it. `prettyKey` rendered `absSignals` as "Abs +Signals" on a button while the tooltip beside it said ABS — an acronym no key-splitter can recover — +so the authored names in the content tables now win. Three of those names were transcribed in +sentence case and were corrected rather than adopted: the repository says "Yard Office" 36 times +against "Yard office" twice, and a lookup that imports its own source's typos is the drift it exists +to prevent. + +### Nothing on a Mainline card showed what was standing on it + +Played, ABS left no mark. You found out it existed by hovering the card — which is the complaint the +Heavy Grade wedge answered in v0.8.0.7, and it matters more here, because ABS is what decides +whether running a second train onto that card is safe. + +A card carrying it now draws a **signal mast with a lit lamp** at its top-right corner. A signal is +the literal object, and unlike a text badge it needs no room for words, which is what lets it sit +clear of a name as long as "Uncontrolled Siding" on a 152px cell. + +The Mainline modifiers had the same defect and are drawn too, as **BRK**, **AIR** and **HLP** beside +the card's name. Tags rather than names only because the measurements leave no choice — "Brakeman · +Airbrakes · Helpers" is thirty characters where about eleven fit — and the tooltip has always spelled +them out. **Realignment is deliberately not among them:** it never sits on a card, because `reduce` +takes the `became` branch and changes `node.card` outright, so a realigned Trestle simply IS an +Uncontrolled Siding afterwards. Asserted in the test, so the absence reads as a finding rather than +an omission. + +### A Freight Agent turn said a car moved when none had + +"Chose FREIGHT AGENT work — one car moved to or from a facility", and then nothing. Three faults +behind one line. + +The line **asserted an outcome**. §6.3 requires no action at all, and the bot takes that route +deliberately — unjamming a healthy box destroys a load that cost a whole Local Operations action to +stock, so an idle Stage is strictly better. It now says what the Freight Agent MAY do. + +**An idle Agent was silent.** A new `freightAgentIdled` event says so, and gives the reason. It +reduces to nothing, exactly like `switchingEnded`: it reports a choice the state already holds. + +**The work named a coordinate, not the industry.** A `place` helper has existed for this since the +switching lines were moved to it, and its own comment makes the argument — "(-1,1)" is the grid's +notation and means nothing at a table where people are looking at cards. These three lines were +missed. A Freight Agent turn now reads "loaded a loaded boxcar INTO the green Outbound box at the +Freight House", with the direction in capitals because to-or-from was the question asked. + +### The log and the action menu spelled the same square differently + +`view.ts` wrote `(col,row)` — X,Y, east/west then north/south — with a comment saying why. +`narrate.ts` wrote `(row,col)`, the internal storage order, with no comment at all. So the menu +offered a move to "(1,-1)" and the log then reported it at "(-1,1)", in two panels read side by +side. The log follows the map now. + +Pinned by a test that renders one square through BOTH describers and compares them to each other +rather than to a literal — a test written against either file alone would have passed all along. + +### The documentation is reachable from inside a game, and all of it is published + +**v0.8.0.16 published the Quickstart and nothing it points at.** Its §8 "Where to read more" links +five further documents by relative path, and every one of them 404'd on the package — verified +against the running container, five of six paths missing. The whole table was dead. The build +publishes the full set now, and the test reads the links OUT OF the guide rather than listing them, +so it cannot go stale the way the references themselves did. + +**The guide is linked from the This Game card** (Jesse's call), which is where reference already +lives — the seed, the seat, the house rules — rather than from the header, which is the line that +must not wrap. It needs no mode awareness: solitaire and multiplayer are the same page on the same +origin, so one relative link resolves in both, on the public site and on a StartOS box alike. Every +link opens in a new tab, because a player reading the rules mid-turn must not lose the game behind +them. + +### The references dropped the version from their names + +`StationMaster-Rules-v0.4.5.md` and three like it described **v0.8.0.16** and had done since the +v0.8.0.15 audit. The `v0.4.5` was the prototype rules edition they were first written against, kept +in the filename only because thirty-six citations pointed at it — and it read, to anyone opening the +published guide, as documentation five minor versions out of date. + +They are `quickstart.md`, `rules.md`, `home-deck.md`, `mainline-deck.md` and `components.md` now, +with every citation rewritten. **These are kept current with each release rather than published as +editions**, so the name is always the latest and the build each describes is stated at the top. + +Two errors surfaced while checking them against this release, which is the argument for doing it: +`home-deck.md` listed ABS Signals among the Enhancements "played into your district" that "change +what a square does" — it does neither, and that miscategorisation is this release's bug written +down. And `mainline-deck.md`, which lists everything that may be played onto a Mainline card, never +mentioned ABS Signals at all. Both corrected. + ## 0.8.0.16 — 2026-09-20 The Quickstart put where a tester can actually reach it, the last place that still told the old @@ -31,7 +138,7 @@ v0.8.0.15 wrote a Quickstart for a tester who has never played, and then left it a tester does not look — reachable only by someone who already has the repository. Nobody being handed the box has it. -`build-web.ts` now copies `docs/StationMaster-Quickstart.md` into `dist/quickstart.md`, and the +`build-web.ts` now copies `docs/quickstart.md` into `dist/quickstart.md`, and the splash page offers it under the three doors: *New to Station Master? Read the Quickstart guide.* **Not a fourth door** — reading the guide is not a way to play, and giving it equal weight in that grid would say it is. @@ -132,7 +239,7 @@ is the prototype rules edition they were first written against, and the names ar `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 +- **`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 @@ -3509,7 +3616,7 @@ that same occupant list. `buildDivision` drew uniformly from the nine card TYPES **with replacement**, so a Division could be dealt two Interchanges or two Tunnels, and Plains — printed twice in the deck — carried the same -weight as cards printed once. `docs/StationMaster-Mainline-Deck-v0.4.5.md` had flagged the mismatch +weight as cards printed once. `docs/mainline-deck.md` had flagged the mismatch as needing correction; "an Extra may start at the Interchange if one is on the board" is what forced it, since that only reads as a rule if the board holds at most one. Now dealt from `MAINLINE_DECK` without replacement, verified over 1600 deals across 1–4 players. @@ -3546,7 +3653,7 @@ cannot see is a board with nothing to click and no reason given. **1/2 Crack Limited 3 coaches → 2. 5/6 The Sparrow 2 → 3.** A change to the cards, not a transcription fix, so `Trains3.pdf` and the transcription in `implications.md` §5 keep the original -numbers with a footnote; `content.ts` and `StationMaster-Home-Deck-v0.4.5.md` carry what the game +numbers with a footnote; `content.ts` and `home-deck.md` carry what the game plays. Both consists remain inside the four-car Crew Tray limit. A test had to follow: `multiplayer.test.ts` used Train 1 *because* it had three cars, to exercise a @@ -3680,7 +3787,7 @@ before v0.4.9 — 6 copies, one slot each direction — so §9.3 names it, and t The card set says the same thing without needing the rules text. All three Refinery modifiers — Pipelines, Oil Depot, Viscosity Breakers — grant **+1 outbound**; a two-way Refinery would be the only industry in the game with no card able to raise one of its two directions. -`StationMaster-Home-Deck-v0.4.5.md` prints "Refinery · Outbound · 1 out / 0 in" and "Grocer's +`home-deck.md` prints "Refinery · Outbound · 1 out / 0 in" and "Grocer's Warehouse · Inbound · 0 out / 1 in". So the Refinery ships and the Grocer's receives, and the **Freight House is the one two-way industry** diff --git a/TODO.md b/TODO.md index 317a68c..e3cd047 100644 --- a/TODO.md +++ b/TODO.md @@ -582,11 +582,16 @@ What the project says about itself, and what it ships alongside the code. - [ ] **#88** — `card-reference.md`'s industry table may still be stale beyond Grocer's Warehouse and the Oil Refinery. See **Reference · #88**. -- [ ] **#109** — **Render the published Quickstart instead of serving it as plain text.** v0.8.0.16 - publishes `docs/StationMaster-Quickstart.md` to `dist/quickstart.md` and links it from the - splash page, served as `text/plain` — so a tester reads the guide's tables as rows of pipes and - its links do not click. That was the fifteen-minute version, taken deliberately to get the - guide in front of testers for this round rather than to leave them without one. +- [ ] **#109** — **Render the published references instead of serving them as plain text.** + v0.8.0.17 publishes all five documents plus `rules/as-built.md`, links them from the splash + page and from the This Game card inside a running game, and serves them as `text/plain` — so a + tester reads their tables as rows of pipes and their links do not click. That was the + deliberate short version, to get the references in front of testers for this round rather than + leave them without any. + + **Now SIX documents rather than one**, which raises the value and the cost together: the + Quickstart's §8 is a table of links, and a reader following one lands on another wall of + pipes. **Copy the document, do not re-write it.** A hand-written HTML twin drifts from the Markdown on the first edit, which is the whole argument of #15a. The step is a small Markdown-to-HTML @@ -2009,7 +2014,7 @@ source Start-position art for the ten card types before it can begin. 2026-08-22, immediately after Gitea#7 changed the coach counts on four train cards and the answer to "where do we keep track of that?" turned out to be **five places of three different -vintages**: `src/engine/content.ts` (the truth), `docs/StationMaster-Home-Deck-v0.4.5.md` (a +vintages**: `src/engine/content.ts` (the truth), `docs/home-deck.md` (a readable per-card table, a version-stamped snapshot), `docs/rules/implications.md` §5 (the transcription of `Trains3.pdf`, deliberately frozen at what the design SAYS), `docs/Trains3.pdf` (the artwork), and `docs/rules/card-reference.md` (an invented placeholder diff --git a/docs/StationMaster-Components-v0.4.5.md b/docs/components.md similarity index 92% rename from docs/StationMaster-Components-v0.4.5.md rename to docs/components.md index f956d14..25c6979 100644 --- a/docs/StationMaster-Components-v0.4.5.md +++ b/docs/components.md @@ -1,12 +1,12 @@ # Station Master — Components and Markers -**Describes the game as built at v0.8.0.16** (2026-09-20). Previously stamped "v0.4.5", the -prototype rules edition these references were first written against; the filename keeps that stamp -because `src/`, `CHANGELOG.md` and `docs/rules/` all cite this file by name. +**Describes the game as built at v0.8.0.17** (2026-09-21). These references are kept current with +every release rather than versioned as editions, so there is no version in the filename: this file +is always the latest, and the build it describes is stated here. **Scope:** non-card physical components and supplies. Card-created facilities, workers, deck piles, hand state, timetable state and other markers are documented with their cards or in the -[rules book](StationMaster-Rules-v0.4.5.md). +[rules book](rules.md). The figures below are checked against `ROLLING_STOCK_SUPPLY` and the supply constants in `src/engine/content.ts`. They are physical inventory rather than deck tuning, which is why they are @@ -60,7 +60,7 @@ player-selectable source. It returns to service only when the Division Yard is e > here; detraining takes a fresh empty out of the *Division* Yard. Nothing returns a coach to the > Division Yard except the bare-yard refill — and a yard kept topped up with freight cars returning > from industries may never run bare. Measured over one three-Day game, every coach was here by the -> middle of Day 2 and stayed. See [Rules](StationMaster-Rules-v0.4.5.md) §4.6. +> middle of Day 2 and stayed. See [Rules](rules.md) §4.6. ## Crew Trays and trains diff --git a/docs/design.md b/docs/design.md index 323bb9c..1e537bb 100644 --- a/docs/design.md +++ b/docs/design.md @@ -26,16 +26,18 @@ Written to be handed to somebody who is about to play, rather than to somebody b | Document | What it is | | --- | --- | -| [`StationMaster-Quickstart.md`](StationMaster-Quickstart.md) | **Start here if you have never played.** The point of the game, how a Stage runs, what is on screen, how you win, a first twenty minutes, and what to report. | -| [`StationMaster-Rules-v0.4.5.md`](StationMaster-Rules-v0.4.5.md) | **The rules in full**, as the engine actually runs them, with a FAQ. | +| [`quickstart.md`](quickstart.md) | **Start here if you have never played.** The point of the game, how a Stage runs, what is on screen, how you win, a first twenty minutes, and what to report. | +| [`rules.md`](rules.md) | **The rules in full**, as the engine actually runs them, with a FAQ. | | [`rules/as-built.md`](rules/as-built.md) | **Every card, GENERATED from `src/engine/content.ts`** and checked by a test, so it cannot disagree with the game. The table of record for per-card facts. | -| [`StationMaster-Home-Deck-v0.4.5.md`](StationMaster-Home-Deck-v0.4.5.md) | How the Home Office deck is dealt, drawn and played out. | -| [`StationMaster-Mainline-Deck-v0.4.5.md`](StationMaster-Mainline-Deck-v0.4.5.md) | The Mainline cards, how the deck is dealt, and what a card does to a train crossing it. | -| [`StationMaster-Components-v0.4.5.md`](StationMaster-Components-v0.4.5.md) | Rolling stock, the two yards, Crew Trays, the Fedora, the D12. | +| [`home-deck.md`](home-deck.md) | How the Home Office deck is dealt, drawn and played out. | +| [`mainline-deck.md`](mainline-deck.md) | The Mainline cards, how the deck is dealt, and what a card does to a train crossing it. | +| [`components.md`](components.md) | Rolling stock, the two yards, Crew Trays, the Fedora, the D12. | -The `v0.4.5` in four of those filenames is the **prototype rules edition they were first written -against**, not the version they describe — each says at the top which build it is current to. The -names are kept because `src/`, `CHANGELOG.md` and `docs/rules/` cite them. +**None of these carry a version in the filename**, and that is deliberate (Jesse, 2026-09-21): they +are kept current with every release rather than published as editions, so the name is always the +latest and each says at the top which build it describes. Four of them were stamped `v0.4.5` until +v0.8.0.17 — the prototype rules edition they were first written against, never the version they +described — which read as though they documented a build five minor versions old. ## Rules @@ -66,7 +68,7 @@ must do. ## Current status -**v0.8.0.16.** Rules formalized, card faces specified, architecture documented, and the game +**v0.8.0.17.** Rules formalized, card faces specified, architecture documented, and the game playable **solitaire and multiplayer** in a browser against an authoritative server. See [`../CHANGELOG.md`](../CHANGELOG.md) for what each version changed and [`../TODO.md`](../TODO.md) for what is open; this section is the shape of the project, not a running tally, because a diff --git a/docs/StationMaster-Home-Deck-v0.4.5.md b/docs/home-deck.md similarity index 91% rename from docs/StationMaster-Home-Deck-v0.4.5.md rename to docs/home-deck.md index 9cbc1b8..100f342 100644 --- a/docs/StationMaster-Home-Deck-v0.4.5.md +++ b/docs/home-deck.md @@ -1,8 +1,8 @@ # Station Master — Home Deck -**Describes the game as built at v0.8.0.16** (2026-09-20). Previously stamped "v0.4.5", the -prototype rules edition these references were first written against; the filename keeps that stamp -because `src/`, `CHANGELOG.md` and `docs/rules/` all cite this file by name. +**Describes the game as built at v0.8.0.17** (2026-09-21). These references are kept current with +every release rather than versioned as editions, so there is no version in the filename: this file +is always the latest, and the build it describes is stated here. **Scope:** the Home Office deck — how it is dealt, drawn, discarded and reshuffled, and what the rules are for playing each kind of card out of it. @@ -42,7 +42,7 @@ three cards from one shuffled deck; `threeTrackThreeOther` deals three track and two separately shuffled piles, deliberately over the hand limit, so the first turn is spent choosing which district you can afford to build. -Drawing is one of the three Local Operations options — see [Rules](StationMaster-Rules-v0.4.5.md) +Drawing is one of the three Local Operations options — see [Rules](rules.md) §4.2. Taking the option lets you draw **and** play or discard within the same turn. ## Track cards @@ -136,11 +136,15 @@ every one of which the engine enforces. ## Enhancements, Mainline modifiers and Maneuvers - **Enhancements** are played into your district and change what a square does — the **Small Yard** - (re-order a consist for one Move), **Interlocking**, **Yard Office**, **ABS Signals** and the rest. - `as-built.md` marks each one `live`, `dormantSolo` or `unbuilt`, which is the part only the - implementation knows. + (re-order a consist for one Move), **Interlocking**, **Yard Office** and the rest. `as-built.md` + marks each one `live`, `dormantSolo` or `unbuilt`, which is the part only the implementation + knows. + - **ABS Signals is the exception, and it matters.** It is dealt as an Enhancement but is **not + played into your district**: it goes onto a **Mainline card** — any one of them — and stops + trains there rear-ending each other. It takes no square and is not part of anybody's Office + Area. See [Mainline deck](mainline-deck.md). - **Mainline modifiers** are played onto a Mainline card: the Heavy Grade helpers and Realignment. - See [Mainline deck](StationMaster-Mainline-Deck-v0.4.5.md). + See [Mainline deck](mainline-deck.md). - **Maneuvers** are held and spent: **Red Flags** and **Flying Switch** have their own actions. Poling is catalogued but its effect is recorded as "TBD in the source", so there is nothing to implement. diff --git a/docs/StationMaster-Mainline-Deck-v0.4.5.md b/docs/mainline-deck.md similarity index 83% rename from docs/StationMaster-Mainline-Deck-v0.4.5.md rename to docs/mainline-deck.md index c889913..c907b4a 100644 --- a/docs/StationMaster-Mainline-Deck-v0.4.5.md +++ b/docs/mainline-deck.md @@ -1,8 +1,8 @@ # Station Master — Mainline Deck -**Describes the game as built at v0.8.0.16** (2026-09-20). Previously stamped "v0.4.5", the -prototype rules edition these references were first written against; the filename keeps that stamp -because `src/`, `CHANGELOG.md` and `docs/rules/` all cite this file by name. +**Describes the game as built at v0.8.0.17** (2026-09-21). These references are kept current with +every release rather than versioned as editions, so there is no version in the filename: this file +is always the latest, and the build it describes is stated here. **Scope:** the tarot-sized Mainline cards placed between Offices — how the deck is dealt, what a card does to a train crossing it, and the Home Deck cards played onto one. @@ -104,6 +104,21 @@ Home Office cards, played onto a Mainline card during a player's Draw option. A Heavy Grade is 3 regions, so it is 3 Stages to climb and 3 to run down before help. Modifiers never reduce a crossing below one Stage. +### ABS Signals — an Enhancement, but it lives out here + +**ABS Signals is dealt from the Home Office deck as an Enhancement, and it is the one Enhancement +that is not played into a district.** It goes onto a **Mainline card — any of them**, not only a +grade — and takes no square in anybody's Office Area. + +What it does: trains on that card **will not rear-end each other**. A following train is held short +of the one ahead instead of running into it, so the Superintendent has no §8.1 judgment to make and +no collision is scored. It is the only thing besides a Red Flag that prevents a rear-end collision +out on the Mainline, and unlike a Red Flag it stays on the card for the rest of the game. + +On the board a card carrying it draws a **signal mast with a lit lamp** at its top-right corner; the +three grade helpers draw as **BRK**, **AIR** and **HLP** beside the card's name. Realignment draws +nothing, because a realigned card simply becomes the card it was converted into. + ## Heavy Grade orientation is settled, not missing Heavy Grade orientation is **rolled from the seed**, not chosen by a player. **This is a decision, diff --git a/docs/StationMaster-Quickstart.md b/docs/quickstart.md similarity index 96% rename from docs/StationMaster-Quickstart.md rename to docs/quickstart.md index a22b3bb..cc7d1fc 100644 --- a/docs/StationMaster-Quickstart.md +++ b/docs/quickstart.md @@ -1,6 +1,6 @@ # Station Master — Quickstart -**For a tester who has never played. Describes the game as built at v0.8.0.16** (2026-09-20). +**For a tester who has never played. Describes the game as built at v0.8.0.17** (2026-09-21). Read this once before you sit down. It is about twenty minutes of reading and will save you an hour of confusion. The deeper references are listed at the end. @@ -192,8 +192,8 @@ Bugs go to the tracker; anything unclear in this guide is also worth saying. | For | Read | | --- | --- | -| The rules in full, with the FAQ | [Rules](StationMaster-Rules-v0.4.5.md) | +| The rules in full, with the FAQ | [Rules](rules.md) | | Every card, generated from the code | [`rules/as-built.md`](rules/as-built.md) | -| How the Home Office deck is dealt and played | [Home deck](StationMaster-Home-Deck-v0.4.5.md) | -| The Mainline cards and what they do to a train | [Mainline deck](StationMaster-Mainline-Deck-v0.4.5.md) | -| Rolling stock, yards, trays, the Fedora | [Components](StationMaster-Components-v0.4.5.md) | +| How the Home Office deck is dealt and played | [Home deck](home-deck.md) | +| The Mainline cards and what they do to a train | [Mainline deck](mainline-deck.md) | +| Rolling stock, yards, trays, the Fedora | [Components](components.md) | diff --git a/docs/StationMaster-Rules-v0.4.5.md b/docs/rules.md similarity index 97% rename from docs/StationMaster-Rules-v0.4.5.md rename to docs/rules.md index b5a49da..5868f6e 100644 --- a/docs/StationMaster-Rules-v0.4.5.md +++ b/docs/rules.md @@ -1,15 +1,15 @@ # Station Master — Rules -**Describes the game as built at v0.8.0.16** (2026-09-20). Previously stamped "v0.4.5", the -prototype rules edition this reference was first written against; the filename keeps that stamp -because `src/`, `CHANGELOG.md` and `docs/rules/` all cite this file by name. +**Describes the game as built at v0.8.0.17** (2026-09-21). These references are kept current with +every release rather than versioned as editions, so there is no version in the filename: this file +is always the latest, and the build it describes is stated here. **Authority:** observed code paths and tests. Where a card face, a prototype document and executable behaviour differ, this document reports **executable behaviour** and marks unimplemented material. Per-card numbers are not repeated here — [`rules/as-built.md`](rules/as-built.md) is generated from `src/engine/content.ts` and is the table of record. -**New to the game? Start with the [Quickstart](StationMaster-Quickstart.md).** +**New to the game? Start with the [Quickstart](quickstart.md).** ## 1. Overview and background @@ -27,9 +27,9 @@ This book is divided as follows: 6. the implemented multiplayer/engine status; and 7. FAQs and implementation limits. -The companion references are the [Quickstart](StationMaster-Quickstart.md) for a new player, -[Mainline deck](StationMaster-Mainline-Deck-v0.4.5.md), [Home deck](StationMaster-Home-Deck-v0.4.5.md), -[components](StationMaster-Components-v0.4.5.md), and the generated per-card table +The companion references are the [Quickstart](quickstart.md) for a new player, +[Mainline deck](mainline-deck.md), [Home deck](home-deck.md), +[components](components.md), and the generated per-card table [`rules/as-built.md`](rules/as-built.md). ## 2. Definitions @@ -206,7 +206,7 @@ roll a tail cut into a connected Freight Facility. **Freight Agent.** Make one of these operations, then the turn ends: stock one green outbound box from a matching loaded Division Yard car; clear one red inbound box to the Classification Yard; unjam one outbound, inbound, or MEN | AT | WORK load to the Classification Yard; or explicitly end without acting. Freight can be stocked only when an unclaimed empty matching car is already spotted at that industry. Passengers may wait in a green Office box without a train present. -Implementation note, still true at v0.8.0.16: `card.discard` is accepted during Local Operations +Implementation note, still true at v0.8.0.17: `card.discard` is accepted during Local Operations without checking that the Draw option was chosen — unlike `card.play`, which does check. This is an implementation quirk rather than a fourth published turn option. @@ -243,7 +243,7 @@ Mainline movement is automatic and processes lower train numbers first; a timeta **Crossing time is the card's REGIONS**, one per Stage — not its printed mph, which is scenery, and not the train's Fast/Slow rating, which only **Hilly** reads. See the -[Mainline deck](StationMaster-Mainline-Deck-v0.4.5.md) reference for what moves a train's entry +[Mainline deck](mainline-deck.md) reference for what moves a train's entry point. On a normal card, a train must check the entire next Subdivision before entering it: - an opposing train normally blocks entry; diff --git a/docs/rules/as-built.md b/docs/rules/as-built.md index 26a8c33..17c7733 100644 --- a/docs/rules/as-built.md +++ b/docs/rules/as-built.md @@ -193,9 +193,9 @@ cannot carry this column, which is the argument for generating the page rather t | --- | --- | --- | :---: | | Interlocking | runningTrackStraight | — | **live** | | Facing Point Locks | onCard | interlocking in the district | **dormantSolo** | -| Yard office | secondaryTrackStraight | — | **live** | -| Small yard | secondaryTrackStraight | — | **live** | -| Water column | runningTrackStraight | — | **dormantSolo** | +| Yard Office | secondaryTrackStraight | — | **live** | +| Small Yard | secondaryTrackStraight | — | **live** | +| Water Column | runningTrackStraight | — | **dormantSolo** | | Overpass | onCard | — | **unbuilt** | | Telegraph | runningTrackStraight | — | **live** | | Telephone | onCard | telegraph on the same card | **live** | diff --git a/docs/rules/card-reference.md b/docs/rules/card-reference.md index 8320df6..149cdde 100644 --- a/docs/rules/card-reference.md +++ b/docs/rules/card-reference.md @@ -68,7 +68,7 @@ read "Both" for both of them, and that was the *other half* of the same mistaken House" named those two, §9.3 had to be describing them, so they had to be two-way. Once the Freight House is its own card the argument evaporates, and playtesting settled it — "Grocer's Warehouse should be receive only, does not ship anything out"; "Refinery: only ships out tanks, does not -receive anything" (Jesse). `StationMaster-Home-Deck-v0.4.5.md` prints both that way, and the modifier +receive anything" (Jesse). `home-deck.md` prints both that 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.