0.7.1:0 — bundle Station Master v0.7.1

Four playtest fixes off the Gitea tracker. The submodule pin moves to v0.7.1 and the version follows
it; the downstream digit resets to :0, since v0.7.0 only ended on :3 because three test packs were
played before it was released.

- An empties-only train may couple a caboose again — a caboose carries the crew, not freight.
- The end of a Day is a modal carrying the standings, the Days left and the combined target, instead
  of passing between one click and the next inside the automatic phases.
- A Timetabled train may be discarded to a Department pile for a rival to pick up, governed by a new
  discardTimetabled setting that appears in both the New Game dialog and the lobby, on by default. An
  Extra never may.
- A blocked passenger platform now gives its reason, including the coach shortage and what ends it.

No new version file and no migration: current.ts's migrations.up is empty and nothing is carried from
0.7.0. GAMES IN PROGRESS SURVIVE THIS UPDATE — all three engine-visible changes only widen what is
legal, so every intent a 0.7.0 game recorded still replays, and the server resumes a save by replaying
it rather than by comparing version strings (src/server/index.ts in the game repo).

README.md and instructions.md both named 0.7.0 and carry the three user-visible changes now.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FLnYR4XtXQNamYJXGYT8oC
This commit is contained in:
Jesse
2026-08-25 10:58:14 -04:00
co-authored by Claude Opus 5
parent d26d44d9e2
commit ea8e9dbcb8
4 changed files with 75 additions and 33 deletions
+47 -27
View File
@@ -3,41 +3,61 @@ import { IMPOSSIBLE, VersionInfo } from '@start9labs/start-sdk'
export const current = VersionInfo.of({
// `<upstream>:<downstream>` — the upstream half tracks the bundled Station Master tag exactly
// (`versions.md`'s consistency checklist), so bumping the submodule pin and bumping this are one
// action. The downstream half moves only for packaging-only changes.
version: '0.7.0:3',
// action. The downstream half moves only for packaging-only changes, and RESETS to `:0` when the
// upstream half moves — v0.7.0 ended on `:3` only because three test packs were played before it
// was released.
version: '0.7.1:0',
releaseNotes: {
en_US:
'Bundles Station Master v0.7.0. Setting a multiplayer game up is a different screen: pick a game ' +
'type \u2014 Co-op, Competitive or Cutthroat \u2014 and every rule it sets is yours to change. Read a ' +
'game\u2019s whole rule set before taking a seat, leave a table or a running game and come back to ' +
'it, and let the host clear a chair. Multiplayer games now have sound, say who else is at the ' +
'table, and name the Superintendent.',
'Bundles Station Master v0.7.1, four fixes from playtesting. A train restricted to empties can ' +
'couple its caboose again — a caboose carries the crew, not freight, so it was never a load. ' +
'The end of a Day now stops and says so, with the standings and how long is left, instead of ' +
'passing between one click and the next. A Timetabled train may be thrown away to a Department ' +
'slot for a rival to pick up, which is a New Game setting you can turn off; an Extra still ' +
'cannot. And a platform where nothing can be worked now says why, including when the coaches ' +
'have run out and what brings them back.',
es_ES:
'Incluye Station Master v0.7.0. Crear una partida multijugador es otra pantalla: elige un tipo de ' +
'partida \u2014 Cooperativa, Competitiva o A muerte \u2014 y cambia cualquiera de sus reglas. Lee todas ' +
'las reglas antes de sentarte, sal de una mesa o de una partida en curso y vuelve cuando quieras, ' +
'y el anfitri\u00f3n puede liberar una silla. El multijugador ya tiene sonido, dice qui\u00e9n est\u00e1 en la ' +
'mesa y se\u00f1ala al Superintendente.',
'Incluye Station Master v0.7.1, cuatro correcciones surgidas de las partidas de prueba. Un tren ' +
'limitado a vagones vacíos vuelve a poder enganchar su furgón de cola: lleva a la tripulación, ' +
'no carga, así que nunca fue una carga. El final de cada Día se detiene y lo anuncia, con la ' +
'clasificación y lo que queda por jugar, en vez de pasar entre un clic y el siguiente. Un tren ' +
'con horario puede descartarse a una casilla de Departamento para que otro lo recoja — es una ' +
'opción de partida nueva que puedes desactivar —; un Extra sigue sin poder. Y un andén donde no ' +
'se puede trabajar ahora explica por qué, incluso cuando se han agotado los coches y qué los ' +
'devuelve.',
de_DE:
'Enth\u00e4lt Station Master v0.7.0. Ein Mehrspielerspiel wird jetzt anders eingerichtet: W\u00e4hle einen ' +
'Spieltyp \u2014 Koop, Wettkampf oder Cutthroat \u2014 und \u00e4ndere jede seiner Regeln. Das ganze Regelwerk ' +
'ist vor dem Platznehmen lesbar, man kann einen Tisch oder ein laufendes Spiel verlassen und ' +
'zur\u00fcckkehren, und der Gastgeber kann einen Platz r\u00e4umen. Mehrspielerpartien haben jetzt Ton, ' +
'zeigen wer am Tisch ist und nennen den Superintendenten.',
'Enthält Station Master v0.7.1 mit vier Korrekturen aus dem Spieltest. Ein Zug, der nur Leerwagen ' +
'aufnehmen darf, kann seinen Kabuse wieder ankuppeln — ein Kabuse trägt die Mannschaft, keine ' +
'Fracht, war also nie eine Ladung. Das Ende eines Tages hält jetzt an und sagt es, mit dem Stand ' +
'und der verbleibenden Zeit, statt zwischen zwei Klicks zu verstreichen. Ein fahrplanmäßiger Zug ' +
'darf auf ein Abteilungsfeld abgeworfen werden, wo ein Mitspieler ihn aufnehmen kann — eine neue ' +
'Spieleinstellung, die sich abschalten lässt; ein Extrazug weiterhin nicht. Und ein Bahnsteig, an ' +
'dem nichts geht, nennt jetzt den Grund, auch wenn die Wagen ausgegangen sind und was sie ' +
'zurückbringt.',
pl_PL:
'Zawiera Station Master v0.7.0. Tworzenie gry wieloosobowej wygl\u0105da inaczej: wybierz typ gry \u2014 ' +
'Kooperacja, Rywalizacja lub Cutthroat \u2014 i zmie\u0144 dowoln\u0105 z jego zasad. Przeczytaj ca\u0142y zestaw ' +
'zasad przed zaj\u0119ciem miejsca, opu\u015b\u0107 st\u00f3\u0142 lub trwaj\u0105c\u0105 gr\u0119 i wr\u00f3\u0107 do niej, a gospodarz ' +
'mo\u017ce zwolni\u0107 krzes\u0142o. Gra wieloosobowa ma teraz d\u017awi\u0119k, pokazuje kto jest przy stole i ' +
'wskazuje Superintendenta.',
'Zawiera Station Master v0.7.1 z czterema poprawkami z testów. Pociąg ograniczony do pustych ' +
'wagonów znowu może podpiąć swój służbowy — wiezie załogę, nie ładunek, więc nigdy ' +
'ładunkiem nie był. Koniec Dnia zatrzymuje się i to ogłasza, z wynikami i tym, ile zostało, ' +
'zamiast przemykać między jednym kliknięciem a drugim. Pociąg rozkładowy można odrzucić na ' +
'pole Wydziału, skąd weźmie go rywal — to nowe ustawienie gry, które można wyłączyć; ' +
'Dodatkowy nadal nie. A peron, na którym nic się nie da zrobić, mówi teraz dlaczego — także ' +
'wtedy, gdy skończyły się wagony, i co je przywraca.',
fr_FR:
'Inclut Station Master v0.7.0. La cr\u00e9ation d\u2019une partie multijoueur a chang\u00e9 : choisissez un type ' +
'de partie \u2014 Coop, Comp\u00e9titif ou Cutthroat \u2014 et modifiez chacune de ses r\u00e8gles. Lisez tout le ' +
'r\u00e8glement avant de vous asseoir, quittez une table ou une partie en cours et revenez-y, et ' +
'l\u2019h\u00f4te peut lib\u00e9rer une chaise. Le multijoueur a maintenant du son, indique qui est \u00e0 la table ' +
'et nomme le Superintendent.',
'Inclut Station Master v0.7.1, quatre corrections issues des parties d’essai. Un train limité aux ' +
'wagons vides peut de nouveau atteler son fourgon de queue : il transporte l’équipe, pas du fret, ' +
'il n’a donc jamais été un chargement. La fin d’une Journée s’arrête et l’annonce, avec le ' +
'classement et ce qu’il reste à jouer, au lieu de passer entre deux clics. Un train à horaire ' +
'peut être jeté sur une case de Département où un rival peut le reprendre — un nouveau réglage ' +
'de partie, désactivable ; un Extra ne le peut toujours pas. Et un quai où rien ne peut être ' +
'fait en donne désormais la raison, y compris quand les voitures sont épuisées et ce qui les ' +
'ramène.',
},
migrations: {
// NOTHING TO CARRY FROM 0.7.0. The three engine-visible changes all WIDEN what is legal — a
// caboose may now be coupled by an empties-only train, and a Timetabled train may now be
// discarded — so every intent a 0.7.0 game recorded is still accepted. The server resumes a
// saved game by REPLAYING it rather than by comparing version strings (`src/server/index.ts`),
// so games in progress survive this update rather than being set aside.
up: async ({ effects }) => {},
down: IMPOSSIBLE,
},