0.8.0.11:0 — bundle Station Master v0.8.0.11

Sixteen fixes from the second multiplayer playtest. Making up a train now says
what the consist STILL needs rather than only what its card calls for, says that
a player adds one car before the round passes on, marks the train being loaded
on the Division map, and gives an addable car in the yard the same amber every
other button wears. A train's arrival names whose Office it reached instead of
telling every seat they can work it. While the board catches up a player can
pause the playback, look at another player's Office Area, and sees one
consistent Day/Stage/phase rather than a turn chart running ahead of the board.
Saves download named after the game, with the join code, Day and Stage.

GAMES IN PROGRESS RESUME NORMALLY, and that was measured rather than assumed:
`git diff v0.8.0.10..v0.8.0.11 -- src/engine/` is three files and nineteen
insertions — an `owner` field on the `trainArrived` event, the one line that
fills it, and a reworded card description. `check()` and `legal.ts` are
untouched and no predicate changed its answer, so nothing once legal became
illegal, and events are derived rather than persisted. That is the opposite of
0.8.0.10, which deliberately stranded games holding a ruling the rules no longer
ask for — README, instructions.md and the release notes in all five locales say
which of the two this is.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017nnuCv8UodHucFfx3LWEoX
This commit is contained in:
Jesse
2026-09-16 16:29:07 -04:00
co-authored by Claude Opus 5
parent c6e17fc473
commit da0e5d49d6
4 changed files with 161 additions and 104 deletions
+12 -11
View File
@@ -13,18 +13,19 @@ Station Master is a railroad operations board game with an authoritative multipl
solitaire needs no server and is not what this package is for. This package runs that server — solitaire needs no server and is not what this package is for. This package runs that server —
the browser client, the lobby, and the intent/SSE API — as a single StartOS service. the browser client, the lobby, and the intent/SSE API — as a single StartOS service.
**Bundled version: 0.8.0.10.** Fixes from the first multiplayer playtests: the Superintendent is no **Bundled version: 0.8.0.11.** Sixteen fixes from the second multiplayer playtest. Making up a train
longer asked to rule on a train BEHIND the one departing (which cost a real game a collision), the screen now says what the consist STILL needs, that a player adds one car before the round passes on, marks the
says whose move it is showing while the board catches up, the history no longer races ahead of it, a train being loaded on the Division map, and gives an addable car in the yard the page's action colour. A
Realignment says which card it converted and flashes it on the map, and a seated player can download their train's arrival names whose Office it reached. A player watching the board catch up can pause it, look at
own game as a save file. v0.8.0.9 before it rebuilt the bot and made the engine about three times faster. another player's Office Area, and sees one consistent Day/Stage/phase rather than a chart running ahead of
the board. Saves download named after the game. v0.8.0.10 before it corrected when the Superintendent is
asked to rule; v0.8.0.9 rebuilt the bot and made the engine about three times faster.
**GAMES IN PROGRESS DO NOT ALL SURVIVE THIS ONE**, and that is the exception to the rule below rather **Games in progress resume normally on this one**, and it was checked the narrow way rather than assumed:
than a break in it. A save is the seed and the moves replayed through the CURRENT rules, so correcting `git diff v0.8.0.10..v0.8.0.11 -- src/engine/` is three files, nineteen insertions — an `owner` field on
WHEN a ruling is asked for strands a game that holds one the rules no longer ask: the server refuses that the `trainArrived` event, the one line that fills it, and a reworded card description. No predicate
game, logs the move it stopped at, and leaves its file untouched. Measured: 28 of 40 recorded four-seat changed its answer, so no once-legal move became illegal. (0.8.0.10 was the exception: it corrected a
games stop, usually 5-40% of the way in. Jesse's call (2026-09-15) was to ship it as is; a game worth ruling and deliberately stranded games holding one. That warning does not apply here.)
finishing can be finished by putting v0.8.0.9 back.
The paragraphs below were written for the 0.7.9.8 bump and still describe how a bump is checked. The paragraphs below were written for the 0.7.9.8 bump and still describe how a bump is checked.
+26
View File
@@ -35,6 +35,32 @@ 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 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. exactly as it does on the public Station Master site.
**What changed in 0.8.0.11. Games already running on this server are not affected** — they resume
normally; no rule changed.
**Making up a train tells you what is left, and why your turn ended.** The panel now says what the train
still needs rather than only what its card calls for, and says outright that you add one car before the
round passes to the next player. The train being loaded is marked on the Division map, and the cars you
can add are highlighted in the same amber as every other button — they were always the buttons, but they
did not look like it.
**A train's arrival says whose Office it reached**, instead of telling everyone at the table they can work
a train standing in somebody else's district.
**You can pause the playback, and look at another player's Office Area.** While your board catches up on
everyone else's moves, **Pause** holds it where it is for as long as you like — the move you paused keeps
the time it had left — and a button for each player opens their Office Area for a look. The Day, Stage and
phase on screen now match the move you are watching, so being five moves behind looks the same everywhere
rather than on only half the page. When nobody is being waited on, the screen says what the Division is
doing instead of "waiting on nobody".
**Saved games are named after the game**, with the join code, Day and Stage in the filename.
Smaller things: the LIMITS sign is printed below its card rather than through the middle of the word, the
dividing line on a Mainline card can actually be seen, a Restaurant or Hotel next to a Whistle Post now
says it is dormant until the Office is upgraded instead of appearing to do nothing, and the version number
appears once in the page header instead of twice.
**What changed in 0.8.0.10. GAMES ALREADY RUNNING ON THIS SERVER MAY NOT RESUME** — this update fixes a **What changed in 0.8.0.10. GAMES ALREADY RUNNING ON THIS SERVER MAY NOT RESUME** — this update fixes a
rule, and a saved game is replayed through the current rules, so a game that contains a decision the rules rule, and a saved game is replayed through the current rules, so a game that contains a decision the rules
no longer ask for stops at that point. Nothing is deleted: the server says which move it stopped at and no longer ask for stops at that point. Nothing is deleted: the server says which move it stopped at and
+122 -92
View File
@@ -10,104 +10,118 @@ export const current = VersionInfo.of({
// — checked against the SDK's own parser rather than assumed, since every example in `versions.md` // — checked against the SDK's own parser rather than assumed, since every example in `versions.md`
// has three: `0.7.9.8:0` parses to upstream `[0,7,9,8]`, which sorts above `[0,7,9]`, so a box on // has three: `0.7.9.8:0` parses to upstream `[0,7,9,8]`, which sorts above `[0,7,9]`, so a box on
// 0.7.9:0 sees this as an update rather than refusing it as a downgrade. // 0.7.9:0 sees this as an update rather than refusing it as a downgrade.
version: '0.8.0.10:0', version: '0.8.0.11:0',
releaseNotes: { releaseNotes: {
en_US: en_US:
'Bundles Station Master v0.8.0.10 — fixes from the first multiplayer playtests. **GAMES IN ' + 'Bundles Station Master v0.8.0.11 — sixteen fixes from the second multiplayer playtest. ' +
'PROGRESS ON THIS SERVER WILL OFTEN NOT RESUME AFTER THIS UPDATE**, because a rule about when ' + '**Games already running on this server resume normally.** No rule changed: the whole engine ' +
'the Superintendent is asked to rule has been corrected, and a saved game is replayed through ' + 'difference is one field added to one event and one card description reworded, so nothing ' +
'the current rules: a game holding a ruling the rules no longer ask for stops there. The ' + 'that was legal has become illegal. **Making up a train is far clearer.** The panel now says ' +
'server says which move it stopped at and leaves the game\u2019s file untouched, so nothing ' + 'what the train STILL needs rather than only what its card calls for, says that you add ONE ' +
'is lost — and putting v0.8.0.9 back lets such a game be finished. The fix: the ' + 'car before the round passes to the next player, marks the train being loaded on the Division ' +
'Superintendent was asked to rule on a train BEHIND the one departing, which is nobody\u2019s ' + 'map, and highlights the cars you may add in the same amber every other button uses — the ' +
'concern — it cost a real game a collision, because holding the departing train kept the only ' + 'cars in the Division Yard have always been the buttons, but they did not look like it. **A ' +
'arrival track full and the train behind it arrived into it and was destroyed. A train moving ' + 'train’s arrival now says whose Office it reached**, and no longer tells every player they ' +
'away behind you no longer holds you either. Also in this release: while your board is ' + 'can work it when it is standing in somebody else’s district. **While your board catches up** ' +
'catching up on other players\u2019 moves, the screen now says whose move you are watching ' + 'on other players’ moves you can now PAUSE it and look as long as you like — a paused move ' +
'instead of naming whoever the game is really waiting on, and the history no longer races ' + 'keeps the time it had left — and you can open any other player’s Office Area for a look. The ' +
'ahead of the board — lines appear as their moves are drawn, and Skip still shows everything ' + 'Day, Stage and phase on screen now match the move you are watching instead of running ahead ' +
'at once. The name on the Division map is readable again. A Realignment says which card it ' + 'of it, so being five moves behind looks the same everywhere on the page. When nobody is ' +
'converted — “Mainline card 3, Curves, converted to Plains” — and the card flashes on the map ' + 'being waited on, the screen says what the Division is doing — “the Division is moving ' +
'as it changes. A move made by holding the Superintendent\u2019s office reads “Superintendent ' + 'trains” — instead of “waiting on nobody”. **Saved games download named after the game**, ' +
'Player Tom”, so it is clear it was not their ordinary turn, and no line names a player twice ' + 'with the join code, Day and Stage in the filename. Also: the LIMITS sign is printed below ' +
'any more. And a seated player can now download their own game as a save file from the play ' + 'its card instead of through the middle of the word, the dividing line on a Mainline card can ' +
'screen, which previously only solitaire could do.', 'actually be seen, a Restaurant or Hotel next to a Whistle Post says it is dormant until the ' +
'Office is upgraded rather than appearing to do nothing, only the one card that reads ' +
'FAST/SLOW mentions it, and the version number appears once in the page header instead of ' +
'twice.',
es_ES: es_ES:
'Incluye Station Master v0.8.0.10 — correcciones de las primeras partidas de prueba ' + 'Incluye Station Master v0.8.0.11 — dieciséis correcciones de la segunda partida de prueba ' +
'multijugador. **LAS PARTIDAS EN CURSO EN ESTE SERVIDOR A MENUDO NO SE REANUDARÁN TRAS ESTA ' + 'multijugador. **Las partidas en curso en este servidor se reanudan con normalidad**: no ha ' +
'ACTUALIZACIÓN**, porque se ha corregido una regla sobre cuándo se pide una decisión al ' + 'cambiado ninguna regla. **Formar un tren es mucho más claro.** El panel indica ahora lo que ' +
'Superintendente, y una partida guardada se reproduce con las reglas actuales: una partida ' + 'al tren le FALTA, y no solo lo que pide su carta; explica que añades UN vagón y el turno ' +
'que contenga una decisión que ya no se pide se detiene ahí. El servidor indica en qué ' + 'pasa al siguiente jugador; marca en el mapa de la División el tren que se está formando; y ' +
'movimiento se detuvo y deja intacto el archivo, así que no se pierde nada; volver a la ' + 'resalta los vagones que puedes añadir con el mismo ámbar que los demás botones — los vagones ' +
'v0.8.0.9 permite terminar esa partida. La corrección: se pedía decidir sobre un tren DETRÁS ' + 'del Patio de División siempre fueron los botones, pero no lo parecían. **La llegada de un ' +
'del que salía, lo que no afecta a nadie — y costó una colisión real, porque retener el tren ' + 'tren dice a qué Oficina llegó**, y ya no le dice a todo el mundo que puede trabajarlo cuando ' +
'que salía mantenía ocupada la única vía de llegada y el tren de atrás llegaba y quedaba ' + 'está en el distrito de otro jugador. **Mientras tu tablero se pone al día** con los ' +
'destruido. Un tren que se aleja por detrás tampoco te retiene ya. Además: mientras tu ' + 'movimientos de otros, ahora puedes PAUSARLO el tiempo que quieras — el movimiento pausado ' +
'tablero se pone al día con los movimientos de otros, la pantalla dice de quién es el ' + 'conserva el tiempo que le quedaba — y abrir el Área de Oficina de cualquier otro jugador ' +
'movimiento que estás viendo en lugar de nombrar a quien realmente espera la partida, y el ' + 'para verla. El Día, la Etapa y la fase en pantalla coinciden con el movimiento que estás ' +
'historial ya no se adelanta al tablero — las líneas aparecen según se dibujan sus ' + 'viendo, así que ir cinco movimientos por detrás se ve igual en toda la página. Cuando no se ' +
'movimientos, y Saltar sigue mostrándolo todo de golpe. El nombre en el mapa de la División ' + 'espera a nadie, la pantalla dice qué está haciendo la División — «la División está moviendo ' +
'vuelve a leerse bien. Una Realineación dice qué carta convirtió y la carta parpadea en el ' + 'trenes» — en lugar de «esperando a nadie». **Las partidas guardadas se descargan con el ' +
'mapa. Una jugada hecha como Superintendente se lee «Superintendent Player Tom», y ninguna ' + 'nombre de la partida**: el código de acceso, el Día y la Etapa en el nombre del archivo. ' +
'línea nombra dos veces al jugador. Y quien ocupa un asiento puede descargar su propia ' + 'Además: el letrero LIMITS se imprime debajo de su carta y no atravesando la palabra, la ' +
'partida como archivo desde la pantalla de juego, algo que antes solo podía el solitario.', 'línea divisoria de una carta de Línea Principal se ve de verdad, un Restaurante u Hotel ' +
'junto a un Whistle Post indica que está inactivo hasta que se mejore la Oficina, solo la ' +
'única carta que lee RÁPIDO/LENTO lo menciona, y el número de versión aparece una vez en la ' +
'cabecera en lugar de dos.',
de_DE: de_DE:
'Enthält Station Master v0.8.0.10 — Korrekturen aus den ersten Mehrspieler-Testpartien. ' + 'Enthält Station Master v0.8.0.11 — sechzehn Korrekturen aus der zweiten Mehrspieler-' +
'**LAUFENDE SPIELE AUF DIESEM SERVER WERDEN NACH DIESEM UPDATE OFT NICHT FORTGESETZT**, weil ' + 'Testpartie. **Laufende Spiele auf diesem Server werden normal fortgesetzt**: keine Regel ' +
'eine Regel dazu korrigiert wurde, wann der Superintendent entscheiden muss, und ein ' + 'wurde geändert. **Das Zusammenstellen eines Zuges ist viel klarer.** Das Panel nennt jetzt, ' +
'gespeichertes Spiel mit den aktuellen Regeln nachgespielt wird: ein Spiel mit einer ' + 'was dem Zug noch FEHLT, statt nur, was seine Karte verlangt; es sagt, dass Sie EINEN Wagen ' +
'Entscheidung, die es nicht mehr gibt, bricht dort ab. Der Server nennt den Zug, an dem er ' + 'anhängen und die Runde dann zum nächsten Spieler weitergeht; es markiert den Zug, der gerade ' +
'stehen blieb, und lässt die Datei unangetastet — nichts geht verloren, und mit v0.8.0.9 ' + 'beladen wird, auf der Divisionskarte; und die Wagen, die Sie anhängen dürfen, leuchten im ' +
'lässt sich ein solches Spiel zu Ende spielen. Die Korrektur: Es wurde über einen Zug HINTER ' + 'selben Bernstein wie jede andere Schaltfläche — die Wagen im Divisionsbahnhof waren immer ' +
'dem abfahrenden entschieden, was niemanden betrifft — und kostete real eine Kollision, weil ' + 'schon die Schaltflächen, sahen aber nicht danach aus. **Die Ankunft eines Zuges nennt jetzt, ' +
'das Halten des abfahrenden Zuges das einzige Ankunftsgleis belegt hielt und der Zug dahinter ' + 'wessen Office er erreicht hat**, und sagt nicht mehr allen, sie könnten ihn bearbeiten, wenn ' +
'hineinfuhr und zerstört wurde. Auch ein entgegenkommender Zug hinter Ihnen hält Sie nicht ' + 'er im Bezirk eines anderen steht. **Während Ihr Spielfeld die Züge der anderen nachholt**, ' +
'mehr auf. Außerdem: Während Ihr Spielfeld die Züge der anderen nachholt, zeigt der ' + 'können Sie es nun PAUSIEREN, so lange Sie wollen — der pausierte Zug behält die Zeit, die ' +
'Bildschirm, wessen Zug Sie gerade sehen, statt den zu nennen, auf den das Spiel wirklich ' + 'ihm blieb — und das Office-Gebiet jedes anderen Spielers ansehen. Tag, Etappe und Phase auf ' +
'wartet; und die Historie eilt dem Spielfeld nicht mehr voraus — Zeilen erscheinen, während ' + 'dem Bildschirm stimmen mit dem Zug überein, den Sie gerade sehen; fünf Züge im Rückstand zu ' +
'ihre Züge gezeichnet werden, und Überspringen zeigt weiterhin alles sofort. Der Name auf der ' + 'sein sieht überall auf der Seite gleich aus. Wartet das Spiel auf niemanden, zeigt der ' +
'Divisionskarte ist wieder lesbar. Eine Neutrassierung nennt die umgewandelte Karte, und die ' + 'Bildschirm, was die Division tut — „die Division bewegt Züge“ — statt „wartet auf niemanden“. ' +
'Karte blinkt auf der Landkarte. Ein Zug als Superintendent liest sich „Superintendent Player ' + '**Gespeicherte Spiele werden nach dem Spiel benannt**: Beitrittscode, Tag und Etappe im ' +
'Tom“, und keine Zeile nennt einen Spieler doppelt. Und wer einen Platz hat, kann sein Spiel ' + 'Dateinamen. Außerdem: Das LIMITS-Schild steht unter seiner Karte statt mitten im Wort, die ' +
'jetzt als Datei vom Spielbildschirm herunterladen — bisher konnte das nur das Solospiel.', 'Trennlinie auf einer Hauptstreckenkarte ist tatsächlich zu sehen, ein Restaurant oder Hotel ' +
'neben einem Whistle Post meldet sich als ruhend, bis das Office ausgebaut wird, nur die eine ' +
'Karte, die SCHNELL/LANGSAM liest, erwähnt es, und die Versionsnummer erscheint einmal in der ' +
'Kopfzeile statt zweimal.',
pl_PL: pl_PL:
'Zawiera Station Master v0.8.0.10 — poprawki z pierwszych testowych partii wieloosobowych. ' + 'Zawiera Station Master v0.8.0.11 — szesnaście poprawek z drugiej testowej partii ' +
'**GRY W TOKU NA TYM SERWERZE CZĘSTO NIE ZOSTANĄ WZNOWIONE PO TEJ AKTUALIZACJI**, ponieważ ' + 'wieloosobowej. **Gry w toku na tym serwerze wznawiają się normalnie**: żadna zasada się nie ' +
'poprawiono zasadę mówiącą, kiedy Superintendent ma rozstrzygać, a zapis gry jest odtwarzany ' + 'zmieniła. **Kompletowanie pociągu jest dużo jaśniejsze.** Panel pokazuje teraz, czego ' +
'według bieżących zasad: gra zawierająca rozstrzygnięcie, o które już się nie pyta, ' + 'pociągowi jeszcze BRAKUJE, a nie tylko czego wymaga jego karta; mówi, że dodajesz JEDEN ' +
'zatrzymuje się w tym miejscu. Serwer podaje, przy którym ruchu stanął, i zostawia plik ' + 'wagon, po czym kolejka przechodzi do następnego gracza; zaznacza kompletowany pociąg na ' +
'nietknięty — nic nie ginie, a powrót do v0.8.0.9 pozwala taką grę dokończyć. Poprawka: ' + 'mapie Dywizji; a wagony, które możesz dodać, świecą tym samym bursztynem co pozostałe ' +
'pytano o pociąg ZA odjeżdżającym, co nikogo nie dotyczy — i kosztowało to prawdziwe ' + 'przyciski — wagony na Stacji Dywizyjnej zawsze były przyciskami, ale tak nie wyglądały. ' +
'zderzenie, bo zatrzymanie odjeżdżającego pociągu blokowało jedyny tor przyjazdowy, a pociąg ' + '**Przyjazd pociągu podaje, czyje Biuro osiągnął**, i nie mówi już wszystkim, że mogą go ' +
'z tyłu wjeżdżał na niego i ulegał zniszczeniu. Pociąg oddalający się za tobą też już cię nie ' + 'obsłużyć, gdy stoi w dzielnicy innego gracza. **Gdy twoja plansza nadrabia ruchy innych**, ' +
'zatrzymuje. Ponadto: gdy twoja plansza nadrabia ruchy innych, ekran mówi, czyj ruch ' + 'możesz ją teraz ZATRZYMAĆ na dowolnie długo — zatrzymany ruch zachowuje pozostały mu czas — ' +
'oglądasz, zamiast wskazywać tego, na kogo gra naprawdę czeka, a historia nie wyprzedza już ' + 'i obejrzeć Biuro dowolnego innego gracza. Dzień, Etap i faza na ekranie zgadzają się z ' +
'planszy — wiersze pojawiają się wraz z rysowaniem ruchów, a Pomiń nadal pokazuje wszystko ' + 'ruchem, który oglądasz, więc pięć ruchów w tyle wygląda tak samo na całej stronie. Gdy gra ' +
'naraz. Nazwa na mapie Dywizji znów jest czytelna. Zmiana trasy podaje, którą kartę ' + 'na nikogo nie czeka, ekran mówi, co robi Dywizja — „Dywizja przesuwa pociągi” — zamiast ' +
'przekształcono, a karta miga na mapie. Ruch wykonany jako Superintendent brzmi ' + '„czeka na nikogo”. **Zapisane gry pobierają się nazwane po grze**: kod dołączenia, Dzień i ' +
'„Superintendent Player Tom”, i żaden wiersz nie nazywa gracza dwa razy. A gracz przy stole ' + 'Etap w nazwie pliku. Ponadto: napis LIMITS jest drukowany pod kartą, a nie przez środek ' +
'może teraz pobrać swoją grę jako plik z ekranu gry — wcześniej potrafił to tylko tryb ' + 'słowa, linia podziału na karcie Magistrali jest wreszcie widoczna, Restauracja lub Hotel ' +
'samotny.', 'obok Whistle Post informuje, że jest uśpiony do czasu rozbudowy Biura, tylko ta jedna karta, ' +
'która czyta SZYBKO/WOLNO, o tym wspomina, a numer wersji pojawia się w nagłówku raz zamiast ' +
'dwa razy.',
fr_FR: fr_FR:
'Inclut Station Master v0.8.0.10 — corrections issues des premières parties de test ' + 'Inclut Station Master v0.8.0.11 — seize corrections issues de la deuxième partie de test ' +
'multijoueurs. **LES PARTIES EN COURS SUR CE SERVEUR NE REPRENDRONT SOUVENT PAS APRÈS CETTE ' + 'multijoueurs. **Les parties en cours sur ce serveur reprennent normalement** : aucune règle ' +
'MISE À JOUR**, car une règle sur le moment où le Superintendent doit trancher a été ' + 'n’a changé. **Composer un train est bien plus clair.** Le panneau indique désormais ce qu’il ' +
'corrigée, et une partie sauvegardée est rejouée selon les règles actuelles : une partie ' + 'MANQUE au train, et non plus seulement ce que sa carte demande ; il précise que vous ajoutez ' +
'contenant une décision que l’on ne demande plus s’arrête là. Le serveur indique à quel coup ' + 'UN wagon avant que le tour ne passe au joueur suivant ; il marque sur la carte de la ' +
'il s’est arrêté et laisse le fichier intact — rien n’est perdu, et réinstaller la v0.8.0.9 ' + 'Division le train en cours de composition ; et les wagons que vous pouvez ajouter ' +
'permet de terminer une telle partie. La correction : on faisait trancher au sujet d’un train ' + 's’allument dans le même ambre que tous les autres boutons — les wagons du Dépôt de Division ' +
'DERRIÈRE celui qui partait, ce qui ne concerne personne — et cela a coûté une vraie ' + 'ont toujours été les boutons, mais n’en avaient pas l’air. **L’arrivée d’un train indique à ' +
'collision, car retenir le train au départ gardait l’unique voie d’arrivée occupée et le ' + 'quel Office il est parvenu**, et ne dit plus à tout le monde qu’il peut le manœuvrer alors ' +
'train derrière y arrivait et était détruit. Un train qui s’éloigne derrière vous ne vous ' + 'qu’il stationne dans le district d’un autre. **Pendant que votre plateau rattrape** les ' +
'retient plus non plus. Également : pendant que votre plateau rattrape les coups des autres, ' + 'coups des autres, vous pouvez maintenant le METTRE EN PAUSE aussi longtemps que vous voulez ' +
'l’écran indique de qui est le coup que vous regardez au lieu de nommer celui que la partie ' + '— le coup mis en pause conserve le temps qu’il lui restait — et ouvrir l’Aire de Bureau de ' +
'attend vraiment, et l’historique ne devance plus le plateau — les lignes apparaissent à ' + 'n’importe quel autre joueur. Le Jour, l’Étape et la phase affichés correspondent au coup que ' +
'mesure que leurs coups sont dessinés, et Passer affiche toujours tout d’un coup. Le nom sur ' + 'vous regardez : avoir cinq coups de retard se voit de la même façon partout sur la page. ' +
'la carte de la Division est de nouveau lisible. Un Réalignement indique quelle carte il a ' + 'Quand la partie n’attend personne, l’écran dit ce que fait la Division — « la Division fait ' +
'convertie, et la carte clignote sur la carte. Un coup joué en tant que Superintendent se lit ' + 'circuler les trains » — au lieu de « en attente de personne ». **Les parties sauvegardées ' +
'« Superintendent Player Tom », et aucune ligne ne nomme deux fois un joueur. Enfin, un ' + 'portent le nom de la partie** : code d’accès, Jour et Étape dans le nom du fichier. ' +
'joueur assis peut désormais télécharger sa propre partie sous forme de fichier depuis ' + 'Également : le panneau LIMITS est imprimé sous sa carte au lieu de traverser le mot, la ' +
'l’écran de jeu, ce que seul le solitaire permettait.', 'ligne de séparation d’une carte de Ligne principale est enfin visible, un Restaurant ou un ' +
'Hôtel à côté d’un Whistle Post indique qu’il est en sommeil jusqu’à l’amélioration de ' +
'l’Office, seule la carte qui lit RAPIDE/LENT le mentionne, et le numéro de version apparaît ' +
'une fois dans l’en-tête au lieu de deux.',
}, },
migrations: { migrations: {
/** /**
@@ -203,6 +217,22 @@ export const current = VersionInfo.of({
* deliberately does not go through `submit()`. So replaying a saved game emits no steps and burns * deliberately does not go through `submit()`. So replaying a saved game emits no steps and burns
* no sequence numbers. A test in the game pins that, because it is a property rather than an * no sequence numbers. A test in the game pins that, because it is a property rather than an
* accident. * accident.
*
* v0.8.0.11 RESUMES, AND IT WAS MEASURED THE SAME NARROW WAY — which matters more than usual
* here, because the release immediately before it is the one that did NOT.
* `git diff v0.8.0.10..v0.8.0.11 -- src/engine/` is three files and nineteen insertions:
* `trainArrived` gains an `owner` field (`events.ts`), the one line in `advance.ts` that fills
* it from `playerAtSeat`, and a Mainline card's printed description losing a sentence about a
* speed that is not drawn on the card (`content.ts`). `check()` and `legal.ts` are untouched and
* no predicate was edited, so nothing once legal became illegal. Events are not persisted — a
* `SavedGame` is `{ seed, config, history }` and the events are derived by replaying it — so
* widening one of them cannot invalidate anything on disk, exactly as the v0.8.0.1 entry above
* argues for four of them.
*
* THE REST OF THE RELEASE IS THE SCREEN: a Pause control for the catch-up queue, a one-render
* look at another player's Office Area, the turn chart following the step being replayed rather
* than the live game, "still needs" on the make-up panel, the amber on an addable yard chip, and
* save filenames carrying the join code. None of it is a rule and none of it is on disk.
*/ */
up: async ({ effects }) => {}, up: async ({ effects }) => {},
down: IMPOSSIBLE, down: IMPOSSIBLE,