0.8.6:0 — bundle Station Master v0.8.6, the four audit releases

Submodule pinned 3befc42 (v0.8.2) → def4820 (v0.8.6). `current.ts` bumped in place — the
outgoing `up` was empty, no migration — with the resume question measured on this server's
own thirteen saves rather than argued from the diff: 0.8.2 had refused all thirteen (the
Second Section card went into the deck after its save check), and this build restores the
three it promised while leaving the ten it refused for a rule refused. Release notes in all
five locales; README's bundled-version summary rewritten for 0.8.3 through 0.8.6.
`instructions.md` is unchanged: nothing about running the service moved.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FrCWubm9GAftYCm2hWdKwK
This commit is contained in:
Jesse
2026-09-29 18:20:35 -04:00
co-authored by Claude Fable 5.1
parent 56284b29a9
commit 644b24051a
3 changed files with 139 additions and 413 deletions
+117 -144
View File
@@ -10,156 +10,106 @@ export const current = VersionInfo.of({
// — 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
// 0.7.9:0 sees this as an update rather than refusing it as a downgrade.
version: '0.8.2:0',
version: '0.8.6:0',
releaseNotes: {
en_US:
'Bundles Station Master v0.8.2 — a playtest read back against its own save file. **The change you ' +
'notice first: every district now opens on a DEPOT rather than a Whistle Post.** A Depot has two ' +
'arrival/departure tracks and works passengers from the first Stage; a Whistle Post has one track ' +
'and is not a passenger facility at all, so the opening of every game used to be spent unable to ' +
'earn from a passenger and one arrival away from a wreck. A table that wants the harder game can ' +
'tick "Players start with Whistle Posts, not Depots" when the game is created. **GAMES ALREADY ' +
'RUNNING ON THIS SERVER: MOST WILL NOT RESUME.** Measured before release rather than discovered ' +
'after: of the thirteen saved games on the test server, three resume and ten stop. Six of those ' +
'ten are one new rule — a Waiting Area, Restaurant or Hotel may no longer be played at a Whistle ' +
'Post, because a Whistle Post is not a passenger facility and the card did nothing there. A game ' +
'that stops says which move it stopped on and its file is left untouched, so anything worth ' +
'finishing can be finished by putting 0.8.1.0 back. **An Office could hold two trains on one ' +
'track.** The train an Interlocking had been holding at the Limits took the track that freed, and ' +
'the train arriving at that moment was let in after it without anyone checking there was still ' +
'room — so the collision the rules call for simply did not happen. **Your history could freeze ' +
'part-way through a game** and never gain another line, at a different moment for each player. ' +
'**Trains were released when they should have been held**, twice over: a card that says "trains ' +
'may pass" was clearing the whole line ahead rather than just itself, and a train standing at a ' +
'full Office was invisible to the check although it was about to pull out again. **Things that ' +
'happened silently now say so** — a train held against one coming the other way, a train released ' +
'from the Limits, and the train an Interlocking is holding, which now draws differently on the ' +
'board instead of only explaining itself in a tooltip. **When a move is refused, the board says ' +
'which rule refused it.** **The documentation is a set of proper pages now**, served by this ' +
'package and reachable from inside a game under This Game, instead of five files of plain text ' +
'where every table came out as rows of pipes. **Smaller:** a Modifier must sit square against ' +
'what it serves rather than on a diagonal; ordering a Second Section costs the card, which was ' +
'declared in the rules and never actually dealt; a train may always recover its own caboose; and ' +
'an industry may be built over a straight already laid.',
'Bundles Station Master v0.8.6 — four releases from a code audit of the game (engine, server, ' +
'browser, tests), every finding checked against the code before it was acted on. **GAMES ALREADY ' +
'RUNNING ON THIS SERVER: the three that 0.8.2 promised would resume now do, and the ten it refused ' +
'stay refused.** 0.8.2 had in fact stranded all thirteen — the Second Section card went into the deck ' +
"after that release's save check, and a deck one card larger shuffles into a different order from the " +
'same seed — so this build deals an older save from the deck it was dealt from. **The engine:** a ' +
"player could switch a rival's train, and the rival paid the Moves; a rival's crew standing in their " +
'own district blocked yours; drawing the last card off a Department could put the drawn card in two ' +
"places and lose the refill; the Freight Agent's unjam cleared the first load rather than the one you " +
'named; the collision limit could not fire in Stage 12; an Expedite fault was charged once per ' +
'clearance question rather than once per phase; a train the Interlocking held at the Limits was only ' +
'released by another arrival, never by a departure. **The table:** a player who left a lobby kept a ' +
'token that could watch and move for whoever took the seat next; the first move after reloading the ' +
'page could be silently swallowed; two moves at once could tear the save file, and one torn file took ' +
'every game on the server down at start; an error on a stream could stop the whole service; a ' +
'double-click did the thing twice. **Saving:** in a Competitive game the save file — which carries ' +
"the seed, and so every rival's hand — can be downloaded once the game is over; in Co-op at any time. " +
'**Also:** the documentation pages render nested lists properly, the make-up panel only lists cars ' +
'the train can still take, and the unused-code check is now part of the build.',
es_ES:
'Incluye Station Master v0.8.2 — una partida de prueba revisada contra su propio archivo ' +
'guardado. **El cambio que más se nota: cada distrito empieza ahora con un DEPÓSITO en vez de un ' +
'Apeadero.** Un Depósito tiene dos vías de llegada/salida y trabaja viajeros desde la primera ' +
'Etapa; un Apeadero tiene una vía y no es una instalación de viajeros, así que el comienzo de ' +
'cada partida se pasaba sin poder ganar con un viajero y a una llegada de un choque. Una mesa que ' +
'quiera el juego más difícil puede marcar "Los jugadores empiezan con Apeaderos, no Depósitos" al ' +
'crear la partida. **LAS PARTIDAS EN CURSO EN ESTE SERVIDOR: LA MAYORÍA NO SE REANUDARÁN.** ' +
'Medido antes de publicar, no descubierto después: de las trece partidas guardadas en el servidor ' +
'de pruebas, tres se reanudan y diez se detienen. Seis de esas diez se deben a una regla nueva: ' +
'una Sala de Espera, un Restaurante o un Hotel ya no pueden jugarse en un Apeadero, porque no es ' +
'una instalación de viajeros y la carta no hacía nada allí. Una partida que se detiene indica en ' +
'qué movimiento lo hizo y su archivo queda intacto, así que lo que merezca la pena terminar puede ' +
'terminarse reinstalando 0.8.1.0. **Una Oficina podía albergar dos trenes en una sola vía.** El ' +
'tren que el Enclavamiento retenía en los Límites ocupaba la vía que quedaba libre, y el que ' +
'llegaba en ese momento entraba detrás sin que nadie comprobara que aún hubiera sitio, así que el ' +
'choque que exigen las reglas simplemente no ocurría. **El historial podía congelarse a mitad de ' +
'partida** y no añadir ni una línea más, en un momento distinto para cada jugador. **Se soltaban ' +
'trenes que debían retenerse**, por dos motivos: una carta que dice "los trenes pueden cruzarse" ' +
'despejaba toda la línea por delante en vez de solo a sí misma, y un tren parado en una Oficina ' +
'llena era invisible para la comprobación aunque estuviera a punto de salir otra vez. **Lo que ' +
'antes ocurría en silencio ahora se dice** — un tren retenido ante otro de frente, un tren ' +
'liberado de los Límites, y el tren que retiene un Enclavamiento, que ahora se dibuja distinto en ' +
'el tablero en lugar de explicarse solo al pasar el ratón. **Cuando se rechaza un movimiento, el ' +
'tablero dice qué regla lo rechazó.** **La documentación son páginas de verdad**, servidas por ' +
'este paquete y accesibles desde dentro de la partida en Esta Partida, en lugar de cinco archivos ' +
'de texto plano donde cada tabla salía como filas de barras. **Menor:** un Modificador debe ir ' +
'pegado en ortogonal a lo que sirve, no en diagonal; ordenar una Segunda Sección cuesta su carta, ' +
'que estaba en las reglas y nunca se repartía; un tren siempre puede recuperar su propio furgón ' +
'de cola; y una industria puede construirse sobre una vía recta ya colocada.',
'Incluye Station Master v0.8.6 — cuatro versiones salidas de una auditoría del código del juego ' +
'(motor, servidor, navegador, pruebas), cada hallazgo comprobado contra el código antes de actuar. ' +
'**PARTIDAS YA EN MARCHA EN ESTE SERVIDOR: las tres que 0.8.2 prometió reanudar ahora se reanudan, y ' +
'las diez que rechazó siguen rechazadas.** En realidad 0.8.2 había dejado colgadas las trece — la ' +
'carta Segunda Sección entró en el mazo después de la comprobación de partidas guardadas de esa ' +
'versión, y un mazo con una carta más se baraja en otro orden con la misma semilla — así que esta ' +
'versión reparte una partida antigua con el mazo con el que se repartió. **El motor:** un jugador ' +
'podía maniobrar el tren de un rival, y el rival pagaba los Movimientos; una cuadrilla rival en su ' +
'propio distrito bloqueaba el tuyo; robar la última carta de un Departamento podía duplicarla y ' +
'perder la de relleno; el desatasco del Agente de Carga retiraba la primera carga y no la señalada; ' +
'el límite de colisiones no podía dispararse en la Etapa 12; una falta de Expedición se cobraba por ' +
'cada pregunta de vía libre y no una vez por fase; un tren retenido en los Límites solo lo liberaba ' +
'otra llegada, nunca una salida. **La mesa:** quien abandonaba una sala conservaba una ficha con la ' +
'que podía ver y mover por quien ocupara después su asiento; la primera jugada tras recargar la ' +
'página podía perderse en silencio; dos jugadas a la vez podían corromper el archivo guardado, y un ' +
'archivo corrupto tumbaba todas las partidas al arrancar; un error en un flujo podía parar todo el ' +
'servicio; un doble clic hacía la cosa dos veces. **Guardar:** en una partida Competitiva el archivo ' +
'guardado — que lleva la semilla, y con ella la mano de cada rival — se puede descargar cuando la ' +
'partida ha terminado; en Cooperativa, en cualquier momento.',
de_DE:
'Enthält Station Master v0.8.2 — ein Testspiel, gegen seine eigene Speicherdatei nachgelesen. ' +
'**Die auffälligste Änderung: jeder Bezirk beginnt jetzt mit einem DEPOT statt einem ' +
'Haltepunkt.** Ein Depot hat zwei Ankunfts-/Abfahrtsgleise und arbeitet Fahrgäste ab der ersten ' +
'Etappe ab; ein Haltepunkt hat ein Gleis und ist gar keine Personenanlage, sodass der Anfang ' +
'jeder Partie ohne Einnahmen aus Fahrgästen verging und eine Ankunft von einem Unfall entfernt ' +
'war. Wer das härtere Spiel will, hakt beim Erstellen "Spieler starten mit Haltepunkten statt ' +
'Depots" an. **LAUFENDE PARTIEN AUF DIESEM SERVER: DIE MEISTEN WERDEN NICHT FORTGESETZT.** Vor ' +
'der Freigabe gemessen, nicht hinterher entdeckt: von dreizehn Spielständen auf dem Testserver ' +
'werden drei fortgesetzt und zehn brechen ab. Sechs davon wegen einer neuen Regel — ein ' +
'Wartesaal, ein Restaurant oder ein Hotel darf nicht mehr an einem Haltepunkt gespielt werden, ' +
'der keine Personenanlage ist und an dem die Karte nichts bewirkte. Eine abgebrochene Partie ' +
'nennt den Zug, an dem sie stehen blieb, und ihre Datei bleibt unangetastet — was sich zu Ende ' +
'spielen lohnt, lässt sich mit 0.8.1.0 zu Ende spielen. **Ein Büro konnte zwei Züge auf einem ' +
'Gleis halten.** Der vom Stellwerk an der Grenze gehaltene Zug nahm das frei gewordene Gleis, und ' +
'der gerade ankommende wurde dahinter eingelassen, ohne dass noch einmal nach Platz gefragt wurde ' +
'— der von den Regeln geforderte Zusammenstoß blieb also aus. **Der Verlauf konnte mitten im ' +
'Spiel einfrieren** und keine Zeile mehr bekommen, bei jedem Spieler zu einem anderen Zeitpunkt. ' +
'**Züge fuhren los, die hätten warten müssen**, gleich zweifach: eine Karte mit "Züge können sich ' +
'begegnen" gab die ganze Strecke frei statt nur sich selbst, und ein an einem vollen Büro ' +
'stehender Zug war für die Prüfung unsichtbar, obwohl er gleich wieder ausfahren würde. **Was ' +
'vorher stumm geschah, wird jetzt gesagt** — ein gegen einen entgegenkommenden Zug gehaltener ' +
'Zug, ein von der Grenze freigegebener Zug, und der vom Stellwerk gehaltene Zug, der nun auf dem ' +
'Plan anders gezeichnet wird, statt sich nur im Tooltip zu erklären. **Wird ein Zug abgelehnt, ' +
'nennt der Plan die Regel.** **Die Dokumentation besteht jetzt aus richtigen Seiten**, von diesem ' +
'Paket ausgeliefert und aus der Partie heraus unter Diese Partie erreichbar, statt aus fünf ' +
'Textdateien, in denen jede Tabelle als Reihen von Strichen erschien. **Kleineres:** ein ' +
'Modifikator muss rechtwinklig an dem liegen, was er bedient, nicht diagonal; eine Zweite Sektion ' +
'kostet ihre Karte, die in den Regeln stand und nie ausgeteilt wurde; ein Zug darf seinen eigenen ' +
'Zugschlusswagen immer zurückholen; und eine Industrie darf über ein bereits verlegtes gerades ' +
'Gleis gebaut werden.',
'Enthält Station Master v0.8.6 — vier Versionen aus einer Code-Prüfung des Spiels (Engine, Server, ' +
'Browser, Tests), jeder Befund vor dem Handeln am Code geprüft. **BEREITS LAUFENDE PARTIEN AUF DIESEM ' +
'SERVER: die drei, die 0.8.2 als fortsetzbar versprach, sind es jetzt; die zehn abgelehnten bleiben ' +
'abgelehnt.** Tatsächlich hatte 0.8.2 alle dreizehn gestrandet — die Karte Zweiter Abschnitt kam nach ' +
'der Spielstand-Prüfung dieser Version in den Stapel, und ein um eine Karte größerer Stapel mischt ' +
'sich aus demselben Startwert anders — daher teilt diese Version einen älteren Spielstand aus dem ' +
'Stapel aus, aus dem er stammte. **Die Engine:** ein Spieler konnte den Zug eines Gegners rangieren, ' +
'und der Gegner zahlte die Züge; eine gegnerische Mannschaft im eigenen Bezirk blockierte deinen; das ' +
'Ziehen der letzten Karte einer Abteilung konnte sie verdoppeln und die Nachschubkarte verlieren; das ' +
'Freiräumen des Frachtagenten nahm die erste Ladung statt der benannten; das Kollisionslimit konnte ' +
'in Etappe 12 nicht greifen; ein Eilzug-Vergehen wurde je Freigabefrage statt einmal je Phase ' +
'berechnet; ein an der Grenze gehaltener Zug wurde nur durch eine weitere Ankunft freigegeben, nie ' +
'durch eine Abfahrt. **Der Tisch:** wer eine Lobby verließ, behielt ein Token, mit dem er für den ' +
'nächsten Sitzinhaber zusehen und ziehen konnte; der erste Zug nach dem Neuladen der Seite konnte ' +
'stillschweigend verschluckt werden; zwei Züge zugleich konnten die Spielstanddatei zerreißen, und ' +
'eine zerrissene Datei legte beim Start jede Partie lahm; ein Fehler auf einem Stream konnte den ' +
'ganzen Dienst anhalten; ein Doppelklick tat die Sache zweimal. **Speichern:** in einer ' +
'Wettbewerbspartie lässt sich die Spielstanddatei — sie enthält den Startwert und damit jede ' +
'gegnerische Hand — erst nach Spielende herunterladen; im Koop-Modus jederzeit.',
pl_PL:
'Zawiera Station Master v0.8.2 — rozgrywkę testową odczytaną z jej własnego zapisu. **Zmiana, ' +
'którą widać najpierw: każdy okręg zaczyna teraz od DWORCA, a nie od przystanku.** Dworzec ma dwa ' +
'tory przyjazdowo-odjazdowe i obsługuje pasażerów od pierwszego etapu; przystanek ma jeden tor i ' +
'wcale nie jest obiektem pasażerskim, więc początek każdej partii mijał bez możliwości zarobku na ' +
'pasażerze i o jeden przyjazd od katastrofy. Stół, który chce trudniejszej gry, zaznacza przy ' +
'tworzeniu "Gracze zaczynają od przystanków, nie dworców". **PARTIE TRWAJĄCE NA TYM SERWERZE: ' +
'WIĘKSZOŚĆ SIĘ NIE WZNOWI.** Zmierzone przed wydaniem, a nie odkryte później: z trzynastu zapisów ' +
'na serwerze testowym trzy się wznawiają, a dziesięć zatrzymuje. Sześć z nich przez jedną nową ' +
'zasadę — poczekalni, restauracji ani hotelu nie można już zagrać na przystanku, bo nie jest on ' +
'obiektem pasażerskim i karta nic tam nie robiła. Zatrzymana partia podaje ruch, na którym ' +
'stanęła, a jej plik pozostaje nietknięty, więc to, co warto dokończyć, można dokończyć ' +
'przywracając 0.8.1.0. **Biuro mogło pomieścić dwa pociągi na jednym torze.** Pociąg trzymany ' +
'przez blokadę na granicy zajmował zwolniony tor, a przyjeżdżający w tej chwili wjeżdżał za nim, ' +
'choć nikt nie sprawdzał, czy jest jeszcze miejsce — więc wymagana zasadami kolizja po prostu nie ' +
'następowała. **Historia mogła zamarznąć w połowie partii** i nie dostać już ani jednej linii, u ' +
'każdego gracza w innym momencie. **Pociągi ruszały, choć powinny czekać**, z dwóch powodów: ' +
'karta mówiąca "pociągi mogą się mijać" zwalniała całą drogę przed sobą zamiast tylko siebie, a ' +
'pociąg stojący na pełnym biurze był niewidoczny dla sprawdzenia, choć za chwilę miał znowu ' +
'wyjechać. **To, co działo się po cichu, teraz jest mówione** — pociąg wstrzymany przed ' +
'nadjeżdżającym z naprzeciwka, pociąg zwolniony z granicy, oraz pociąg trzymany przez blokadę, ' +
'który rysuje się teraz inaczej zamiast tłumaczyć się tylko w dymku. **Gdy ruch zostaje ' +
'odrzucony, plansza podaje zasadę.** **Dokumentacja to teraz prawdziwe strony**, serwowane przez ' +
'ten pakiet i dostępne z wnętrza gry w karcie Ta Partia, zamiast pięciu plików zwykłego tekstu, w ' +
'których każda tabela wychodziła jako rzędy kresek. **Drobne:** modyfikator musi przylegać ' +
'prostopadle do tego, czemu służy, nie po skosie; zamówienie drugiej sekcji kosztuje kartę, która ' +
'była w zasadach i nigdy nie trafiała do talii; pociąg zawsze może odzyskać własny wagon ' +
'służbowy; a przemysł można zbudować na już położonym torze prostym.',
'Zawiera Station Master v0.8.6 — cztery wydania z audytu kodu gry (silnik, serwer, przeglądarka, ' +
'testy), każde ustalenie sprawdzone w kodzie przed działaniem. **GRY JUŻ TRWAJĄCE NA TYM SERWERZE: ' +
'trzy, które 0.8.2 obiecało wznowić, teraz się wznawiają; dziesięć odrzuconych pozostaje ' +
'odrzuconych.** W istocie 0.8.2 unieruchomiło wszystkie trzynaście — karta Druga Sekcja trafiła do ' +
'talii po kontroli zapisów tego wydania, a talia większa o jedną kartę tasuje się inaczej z tego ' +
'samego ziarna — więc to wydanie rozdaje starszy zapis z talii, z której został rozdany. **Silnik:** ' +
'gracz mógł manewrować pociągiem rywala, a rywal płacił Ruchy; załoga rywala w jego własnym okręgu ' +
'blokowała twój; dobranie ostatniej karty z Działu mogło ją zdublować i zgubić kartę uzupełniającą; ' +
'odblokowanie przez Agenta Towarowego usuwało pierwszy ładunek zamiast wskazanego; limit kolizji nie ' +
'mógł zadziałać w Etapie 12; kara za Ekspres była naliczana za każde pytanie o zwolnienie toru ' +
'zamiast raz na fazę; pociąg zatrzymany na Granicy zwalniało tylko kolejne przybycie, nigdy odjazd. ' +
'**Stół:** kto opuścił poczekalnię, zachowywał token pozwalający oglądać i grać za tego, kto zajął ' +
'miejsce po nim; pierwszy ruch po przeładowaniu strony mógł zostać po cichu połknięty; dwa ruchy ' +
'naraz mogły uszkodzić plik zapisu, a jeden uszkodzony plik wyłączał przy starcie wszystkie gry; błąd ' +
'w strumieniu mógł zatrzymać całą usługę; podwójne kliknięcie robiło rzecz dwa razy. **Zapis:** w ' +
'grze Rywalizacyjnej plik zapisu — zawierający ziarno, a więc rękę każdego rywala — można pobrać po ' +
'zakończeniu gry; w Kooperacji w każdej chwili.',
fr_FR:
'Contient Station Master v0.8.2 — une partie de test relue contre sa propre sauvegarde. **Le ' +
'changement que l\'on voit d\'abord : chaque district commence désormais avec un DÉPÔT et non un ' +
'arrêt.** Un dépôt a deux voies d\'arrivée et de départ et traite les voyageurs dès la première ' +
'étape ; un arrêt n\'a qu\'une voie et n\'est pas une installation voyageurs, si bien que le début ' +
'de chaque partie se passait sans pouvoir gagner sur un voyageur et à une arrivée d\'un accident. ' +
'Une table qui veut le jeu plus difficile coche « Les joueurs commencent avec des arrêts, pas des ' +
'dépôts » à la création. **PARTIES EN COURS SUR CE SERVEUR : LA PLUPART NE REPRENDRONT PAS.** ' +
'Mesuré avant la publication, et non découvert après : sur les treize sauvegardes du serveur de ' +
'test, trois reprennent et dix s\'arrêtent. Six de ces dix tiennent à une règle nouvelle — une ' +
'salle d\'attente, un restaurant ou un hôtel ne peut plus être joué sur un arrêt, qui n\'est pas ' +
'une installation voyageurs et où la carte ne faisait rien. Une partie qui s\'arrête indique à ' +
'quel coup, et son fichier reste intact : ce qui mérite d\'être terminé peut l\'être en ' +
'réinstallant 0.8.1.0. **Un bureau pouvait accueillir deux trains sur une seule voie.** Le train ' +
'que l\'enclenchement retenait aux limites prenait la voie libérée, et celui qui arrivait à cet ' +
'instant entrait derrière lui sans que personne ne revérifie la place — la collision exigée par ' +
'les règles n\'avait donc pas lieu. **L\'historique pouvait se figer en pleine partie** et ne plus ' +
'recevoir une seule ligne, à un moment différent pour chaque joueur. **Des trains partaient alors ' +
'qu\'ils auraient dû attendre**, pour deux raisons : une carte disant « les trains peuvent se ' +
'croiser » dégageait toute la voie devant elle au lieu d\'elle seule, et un train à l\'arrêt dans ' +
'un bureau plein était invisible au contrôle bien qu\'il fût sur le point de repartir. **Ce qui se ' +
'passait en silence se dit maintenant** — un train retenu face à un autre, un train libéré des ' +
'limites, et le train que retient un enclenchement, désormais dessiné différemment sur le plan au ' +
'lieu de ne s\'expliquer qu\'en infobulle. **Quand un mouvement est refusé, le plateau dit quelle ' +
'règle l\'a refusé.** **La documentation est faite de vraies pages**, servies par ce paquet et ' +
'accessibles depuis la partie sous Cette Partie, au lieu de cinq fichiers de texte brut où chaque ' +
'tableau sortait en rangées de barres. **Mineur :** un modificateur doit être accolé ' +
'orthogonalement à ce qu\'il dessert, jamais en diagonale ; commander une deuxième section coûte ' +
'sa carte, prévue par les règles et jamais distribuée ; un train peut toujours récupérer son ' +
'propre fourgon de queue ; et une industrie peut être bâtie sur une voie droite déjà posée.',
"Inclut Station Master v0.8.6 — quatre versions issues d'un audit du code du jeu (moteur, serveur, " +
"navigateur, tests), chaque constat vérifié dans le code avant d'agir. **PARTIES DÉJÀ EN COURS SUR CE " +
'SERVEUR : les trois que 0.8.2 promettait de reprendre reprennent désormais, et les dix refusées ' +
'restent refusées.** En réalité 0.8.2 les avait toutes bloquées — la carte Seconde Section est entrée ' +
"dans le paquet après le contrôle des sauvegardes de cette version, et un paquet d'une carte de plus " +
'se mélange autrement à partir de la même graine — cette version distribue donc une ancienne ' +
"sauvegarde avec le paquet dont elle vient. **Le moteur :** un joueur pouvait manœuvrer le train d'un " +
'rival, et le rival payait les Mouvements ; une équipe rivale dans son propre district bloquait le ' +
"vôtre ; piocher la dernière carte d'un Département pouvait la dupliquer et perdre la carte de " +
"remplacement ; le déblocage de l'Agent de fret retirait le premier chargement et non celui désigné ; " +
"la limite de collisions ne pouvait pas se déclencher à l'Étape 12 ; une faute d'Express était " +
'comptée à chaque question de voie libre et non une fois par phase ; un train retenu à la Limite ' +
"n'était libéré que par une autre arrivée, jamais par un départ. **La table :** qui quittait un salon " +
'gardait un jeton permettant de voir et de jouer pour celui qui prenait ensuite le siège ; le premier ' +
'coup après rechargement de la page pouvait être avalé en silence ; deux coups à la fois pouvaient ' +
'déchirer le fichier de sauvegarde, et un fichier déchiré mettait toutes les parties hors service au ' +
'démarrage ; une erreur sur un flux pouvait arrêter tout le service ; un double clic faisait la chose ' +
'deux fois. **Sauvegarde :** en partie Compétitive, le fichier — qui porte la graine, donc la main de ' +
'chaque rival — se télécharge une fois la partie terminée ; en Coopération, à tout moment.',
},
migrations: {
/**
@@ -346,6 +296,29 @@ export const current = VersionInfo.of({
*
* SO THE RESUME WARNING IN THESE RELEASE NOTES IS ENTIRELY v0.8.0.14's, and it still applies:
* a box on 0.8.0.13:0 takes this update in one hop and meets the Modifier rule on the way.
*
* v0.8.3 THROUGH v0.8.6 ARE THE AUDIT, AND THE RESUME QUESTION WAS MEASURED ON THIS SERVER'S OWN
* SAVES rather than argued from the diff — because the argument had already failed once. 0.8.2's
* entry says three of thirteen resume; the boot log on the box refused thirteen of thirteen, at
* move 3, CARD_NOT_IN_HAND. The Second Section card had gone into the deck after 0.8.2's save
* check ran, and a deck one card larger shuffles into a different order from the same seed. v0.8.3
* adds `secondSectionCard` to the house rules — no dial, a fact about the deal — and `withSavedDeal`
* sets it false for a saved config that predates `startingOffice`. Result, replayed with
* `tryResumeSession` (never `fromSave`, which skips the legality check): 3 resume / 10 refuse, the
* same ten at the same moves for the same rules 0.8.2 named. So this update RESTORES three games
* 0.8.2 lost and un-refuses none of the ten.
*
* THE ENGINE DIFF DOES CHANGE PREDICATES, and each is the narrowing kind in principle: `check` now
* refuses a switching intent on a tray outside the actor's district; the collision floor is judged
* before the Day rolls over; the Department-draw reshuffle collects a different set; a held train is
* released at the end of a Mainline phase. None of the thirteen saves met any of them — measured,
* above — and a save that did would refuse at the move with its code and be left untouched, as
* always. Events gained `index` (unjam) and `freedBy: number | null` (release); events are derived,
* not stored. v0.8.4 is the HTTP layer and the browser and touches nothing on disk except HOW
* `game.json` is written (unique temp names, one writer per path) — the format is unchanged, and a
* torn file from before is now logged and skipped at boot rather than fatal. v0.8.5 is
* documentation and dead code. v0.8.6 refuses `/api/save` to a Competitive seat until the game is
* finished (Jesse's ruling) — a read-only route, nothing on disk. No migration.
*/
up: async ({ effects }) => {},
down: IMPOSSIBLE,