0.7.9:0 — bundle Station Master v0.7.9
Submodule pinned to v0.7.9 (6058f6c), current.ts bumped in place, release
notes rewritten in all five locales, README.md and instructions.md
updated. No new version file and no migration: the outgoing 0.7.8:0's
`up` was empty, which is versions.md's common case.
GAMES IN PROGRESS DO NOT CARRY OVER, and both docs lead with it.
v0.7.9 changes a rule. advance.ts gated §3.4's collision check on
`mode === 'competitive' || mode === 'coop'`, while SOLO_CONFIG carried
both limits (3 a Day, 5 total) and the setup screen offered them as live
settings with "the game ends in a loss" printed beside them. A solitaire
player could set a limit of 1 and crash all game. Jesse's ruling was that
the settings do what they say, so the gate went rather than the controls.
A solitaire save is { seed, history, rules? } where `rules` is the house
rules only — the collision caps are NOT in the save, so a restore takes
today's defaults. A 0.7.8 save therefore replays under live caps and
stops at the move that crossed one.
MEASURED WITH A CONTROL, because two earlier attempts at measuring it
were wrong. With the caps disabled, 1200 of 1200 generated solitaire
saves replay every intent — that is the control. Of those, 74 games
crossed the 5-collision total and 70 of the 74 truncate once the caps
are enforced; one replays 141 of its 532 intents and stops. So it is
"will break for anyone who crashed", not "may break". The earlier run
that reported no breakage had in fact been failing every replay at
intent 2 on an unrelated house-rules mismatch, and said nothing at all —
the control is the only reason that was caught.
It fails safe: the save is left untouched and the game declines to open
rather than loading a position the rules could not have produced, so a
player who cares can put 0.7.8 back and finish. Nothing in this package
can act on it either way — a solitaire save lives in the player's own
browser, not on this server. MULTIPLAYER GAMES ARE UNAFFECTED:
competitive and coop have been inside that gate all along.
TWO THINGS FIXED IN PASSING, both pre-existing and both in the way of
the release check. UPDATING.md was not prettier-formatted. And there was
no .prettierignore, so `prettier --check .` walked the bundled
application — a separate repo with its own style, which this package does
not own and does not commit — and reported 171 warnings it could do
nothing about. That check now passes clean, which is the point of having
it in the release sequence at all.
Verified: npm run check clean, prettier clean, make x86 packs as
v0.7.9:0. NOT yet installed on a box and NOT played.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01YTaNBL1jVxNqgFdjHkHoo3
This commit is contained in:
+21
-1
@@ -35,6 +35,26 @@ 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.7.9. Read this part first: your saved solitaire game may not reopen.** Solitaire
|
||||
has always had two collision limits — 3 in a Day and 5 in a game — and the setup screen has always
|
||||
offered them and said that reaching one ends the game in a loss. They were never actually checked.
|
||||
They are now. A saved solitaire game in which trains have collided will therefore refuse to reopen,
|
||||
because the moves it recorded are no longer all legal. **Nothing is destroyed:** the save is left
|
||||
exactly as it was and the game simply declines to load it, rather than opening something the rules
|
||||
could not have produced. If you have a solitaire game you care about, finish it before updating.
|
||||
**Multiplayer games on this server are not affected.**
|
||||
|
||||
The rest of 0.7.9 is things you can see. **The end-of-game screen now asks whether to play one more
|
||||
Day** — the question was being drawn underneath the results dialog, so a solitaire player reaching
|
||||
the end of the timetable was never offered it. **"Waiting on" now names the person and what they are
|
||||
being asked**, instead of saying nobody was holding the game up while it waited on the
|
||||
Superintendent. **The game's settings have moved off the top line into a This Game card** at the foot
|
||||
of the right-hand column, where all of them are listed rather than the four that fitted; the running
|
||||
collision counts take their place at the top, since those change as you play. **The Office Area's
|
||||
show/hide button is now three buttons** — auto-hide, always show, always hide — because as a single
|
||||
cycling button it could not reach every setting. **The history now reads newest first.** And **a
|
||||
Heavy Grade card shows which way it climbs**, instead of only saying so in its tooltip.
|
||||
|
||||
**What changed in 0.7.8.** The solitaire setup screen now appears for everyone. It was being skipped
|
||||
whenever your browser held a saved solitaire game — and any browser that has ever played holds one —
|
||||
so most players never saw it at all. Clicking **Play solitaire** now always asks how you want the
|
||||
@@ -65,7 +85,7 @@ over**, both here and on the multiplayer server, without exception.
|
||||
|
||||
**Setting a game up (new in 0.7.0).** The lobby opens on **Join a game**: type the code you were
|
||||
given and you will see the whole rule set — the opening hand, what the work pays, every way the game
|
||||
can end — *before* you take a seat. Creating a game instead starts from a **game type**: Co-op,
|
||||
can end — _before_ you take a seat. Creating a game instead starts from a **game type**: Co-op,
|
||||
Competitive or Cutthroat. A type just fills in the rules; every one of them is yours to change, and
|
||||
changing any of them marks the game **Custom**, which keeps the scoring of the type you started
|
||||
from. The seed, the number of players and the number of Days sit above the type and do not make a
|
||||
|
||||
Reference in New Issue
Block a user