From a1f30ac72738446962be7bb1d7a3c6d93966f119 Mon Sep 17 00:00:00 2001 From: Jesse Date: Thu, 10 Sep 2026 04:49:16 -0400 Subject: [PATCH] =?UTF-8?q?0.8.0.5:0=20=E2=80=94=20bundle=20Station=20Mast?= =?UTF-8?q?er=20v0.8.0.5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Somewhere to look while another player moves. The Home Office deck is drawn at last — face down with its count, a number the Frame has carried since it existed and nothing ever read — and whichever pile a move just touched lights up for as long as that move is on screen: the deck when somebody draws from it, the Department a card is taken from or discarded onto, the Salvage Yard when a played card ends there. What lights follows what is public, measured across four seeds rather than reasoned about: a card drawn face down stays private and only the deck getting shorter is shown, while a Department pile is face up so the card taken from it is not a secret. Release notes updated in all five locales. Still no migration — git diff v0.8.0.2..v0.8.0.5 -- src/engine/ is empty; the highlight is a diff of two frames the client already holds, so nothing joined the protocol either. Games in progress resume. Co-Authored-By: Claude Opus 5 Claude-Session: https://claude.ai/code/session_01X6cF1iYvJ1kNmzYBzu4QX6 --- startos/versions/current.ts | 55 ++++++++++++++++++++++++++++--------- station-master | 2 +- 2 files changed, 43 insertions(+), 14 deletions(-) diff --git a/startos/versions/current.ts b/startos/versions/current.ts index b6b1f2b..418a8f6 100644 --- a/startos/versions/current.ts +++ b/startos/versions/current.ts @@ -10,10 +10,10 @@ 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.0.4:0', + version: '0.8.0.5:0', releaseNotes: { en_US: - 'Bundles Station Master v0.8.0.4 — you can watch the other players now. GAMES IN PROGRESS ON ' + + 'Bundles Station Master v0.8.0.5 — you can watch the other players now. GAMES IN PROGRESS ON ' + 'THIS SERVER ARE UNAFFECTED and will resume normally. Until now another player could move a ' + 'train the length of their district and the only trace on your screen was a line of text: your ' + 'board showed your own Office Area and nobody else’s, and a bot’s whole turn arrived as a ' + @@ -42,9 +42,14 @@ export const current = VersionInfo.of({ 'playing that: Skip has moved to the left of the row, where your eye already is; the row says ' + 'WHO you are waiting on and what they are doing, instead of only how far behind you are; and ' + 'the speed setting now stretches other players\u2019 moves without stretching the clock, so ' + - 'finishing your own turn no longer leaves you waiting on the phases behind it.', + 'finishing your own turn no longer leaves you waiting on the phases behind it. And there is ' + + 'somewhere to look: the Home Office deck is drawn at last, face down with its count, and ' + + 'whichever pile a move just touched lights up for as long as that move is on screen — the deck ' + + 'when somebody draws from it, the Department a card is taken from or discarded onto, the ' + + 'Salvage Yard when a played card ends up there. What lights follows what is public: a card ' + + 'drawn face down from the deck stays private, and only the deck getting shorter is shown.', es_ES: - 'Incluye Station Master v0.8.0.4 — ahora puedes ver jugar a los demás. LAS PARTIDAS EN CURSO EN ' + + 'Incluye Station Master v0.8.0.5 — ahora puedes ver jugar a los demás. LAS PARTIDAS EN CURSO EN ' + 'ESTE SERVIDOR NO SE VEN AFECTADAS y se reanudarán con normalidad. Hasta ahora otro jugador ' + 'podía mover un tren a lo largo de todo su distrito y el único rastro en tu pantalla era una ' + 'línea de texto: tu tablero mostraba tu propia Área de Oficina y la de nadie más, y el turno ' + @@ -74,9 +79,15 @@ export const current = VersionInfo.of({ 'de jugarlo: Saltar se ha movido a la izquierda de la fila, donde ya está tu mirada; la fila ' + 'dice a QUIÉN estás esperando y qué está haciendo, en vez de sólo cuánto te falta; y el ajuste ' + 'de velocidad alarga ahora los movimientos de los demás sin alargar el reloj, así que terminar ' + - 'tu turno ya no te deja esperando las fases que vienen detrás.', + 'tu turno ya no te deja esperando las fases que vienen detrás. Y ahora hay dónde mirar: por fin ' + + 'se dibuja el mazo de la Oficina Central, boca abajo y con su recuento, y la pila que acaba de ' + + 'tocar un movimiento se ilumina mientras ese movimiento está en pantalla: el mazo cuando ' + + 'alguien roba de él, el Departamento del que se toma o en el que se descarta una carta, el ' + + 'Depósito de Chatarra cuando allí acaba una carta jugada. Lo que se ilumina respeta lo que es ' + + 'público: una carta robada boca abajo del mazo sigue siendo privada, y sólo se muestra que el ' + + 'mazo mengua.', de_DE: - 'Enthält Station Master v0.8.0.4 — Sie können den anderen jetzt beim Spielen zusehen. LAUFENDE ' + + 'Enthält Station Master v0.8.0.5 — Sie können den anderen jetzt beim Spielen zusehen. LAUFENDE ' + 'PARTIEN AUF DIESEM SERVER SIND NICHT BETROFFEN und werden normal fortgesetzt. Bisher konnte ' + 'ein anderer Spieler einen Zug durch sein ganzes Revier bewegen, und die einzige Spur auf ' + 'Ihrem Bildschirm war eine Textzeile: Ihr Brett zeigte nur Ihren eigenen Dienstbereich und den ' + @@ -108,9 +119,15 @@ export const current = VersionInfo.of({ 'heraus: Überspringen sitzt jetzt links in der Zeile, wo Ihr Blick ohnehin ist; die Zeile sagt, ' + 'auf WEN Sie warten und was er tut, statt nur wie weit Sie zurück sind; und die ' + 'Geschwindigkeit dehnt die Züge der anderen, ohne die Uhr mitzudehnen — nach Ihrem eigenen Zug ' + - 'warten Sie also nicht mehr auf die Phasen dahinter.', + 'warten Sie also nicht mehr auf die Phasen dahinter. Und es gibt jetzt etwas anzusehen: der ' + + 'Stapel der Hauptverwaltung wird endlich gezeichnet, verdeckt und mit seiner Anzahl, und der ' + + 'Stapel, den ein Zug gerade berührt hat, leuchtet so lange, wie dieser Zug zu sehen ist — der ' + + 'Stapel, wenn jemand daraus zieht, die Abteilung, aus der eine Karte genommen oder auf die ' + + 'abgeworfen wird, der Schrottplatz, wenn dort eine gespielte Karte landet. Was leuchtet, folgt ' + + 'dem, was öffentlich ist: eine verdeckt gezogene Karte bleibt privat, gezeigt wird nur, dass ' + + 'der Stapel kürzer wird.', pl_PL: - 'Zawiera Station Master v0.8.0.4 — teraz możesz obserwować grę pozostałych. TRWAJĄCE PARTIE NA ' + + 'Zawiera Station Master v0.8.0.5 — teraz możesz obserwować grę pozostałych. TRWAJĄCE PARTIE NA ' + 'TYM SERWERZE NIE SĄ NARUSZONE i zostaną normalnie wznowione. Do tej pory inny gracz mógł ' + 'przeprowadzić pociąg przez cały swój okręg, a jedynym śladem na twoim ekranie była linijka ' + 'tekstu: twoja plansza pokazywała wyłącznie twój własny Obszar Biura i niczyj inny, a cała ' + @@ -138,9 +155,14 @@ export const current = VersionInfo.of({ 'bo Dzień już się przewinął, gdy je czytałeś. Teraz nazywa Dzień: „2 w Dniu 1, 2 łącznie". A z ' + 'samej gry: Pomiń przeniesiono na lewą stronę wiersza, tam gdzie i tak patrzysz; wiersz mówi, na ' + 'KOGO czekasz i co robi, a nie tylko o ile jesteś z tyłu; a ustawienie szybkości wydłuża teraz ' + - 'ruchy innych, nie wydłużając zegara — po własnej turze nie czekasz już na fazy za nią.', + 'ruchy innych, nie wydłużając zegara — po własnej turze nie czekasz już na fazy za nią. I jest ' + + 'wreszcie na co patrzeć: talia Centrali jest w końcu narysowana, zakryta i z liczbą kart, a ' + + 'stos, którego właśnie dotknął ruch, podświetla się na tak długo, jak długo ten ruch jest na ' + + 'ekranie — talia, gdy ktoś z niej dobiera, Dział, z którego bierze się kartę lub na który się ' + + 'ją odrzuca, Złomowisko, gdy trafia tam zagrana karta. To, co się świeci, idzie za tym, co ' + + 'jawne: karta dobrana zakryta z talii pozostaje prywatna, widać tylko, że talia maleje.', fr_FR: - 'Contient Station Master v0.8.0.4 — vous pouvez maintenant regarder jouer les autres. LES ' + + 'Contient Station Master v0.8.0.5 — vous pouvez maintenant regarder jouer les autres. LES ' + 'PARTIES EN COURS SUR CE SERVEUR NE SONT PAS AFFECTÉES et reprendront normalement. Jusqu’ici ' + 'un autre joueur pouvait déplacer un train sur toute la longueur de son district et la seule ' + 'trace sur votre écran était une ligne de texte : votre plateau ne montrait que votre propre ' + @@ -173,7 +195,12 @@ export const current = VersionInfo.of({ 'ligne, là où se porte déjà le regard ; la ligne dit QUI vous attendez et ce qu’il fait, et pas ' + 'seulement de combien vous êtes en retard ; et le réglage de vitesse étire les coups des autres ' + 'sans étirer l’horloge, si bien qu’après votre propre tour vous n’attendez plus les phases qui ' + - 'le suivent.', + 'le suivent. Et il y a enfin où regarder : la pioche de la Direction est dessinée, face cachée ' + + 'avec son compte, et la pile qu’un coup vient de toucher s’allume tant que ce coup est à ' + + 'l’écran — la pioche quand quelqu’un y prend une carte, le Département d’où une carte est tirée ' + + 'ou sur lequel elle est défaussée, la Casse quand une carte jouée y aboutit. Ce qui s’allume ' + + 'suit ce qui est public : une carte piochée face cachée reste privée, et seule la pioche qui ' + + 'raccourcit est montrée.', }, migrations: { /** @@ -213,9 +240,11 @@ export const current = VersionInfo.of({ * `advance.ts`. It is a counter that nothing checks — no predicate reads it, so no once-legal move * became illegal. * - * v0.8.0.3 AND v0.8.0.4 ADD NOTHING AGAIN: `git diff v0.8.0.2..v0.8.0.4 -- src/engine/` is empty. + * v0.8.0.3 THROUGH v0.8.0.5 ADD NOTHING AGAIN: `git diff v0.8.0.2..v0.8.0.5 -- src/engine/` is empty. * One moved the Skip button, changed what the waiting row says, and stopped the speed control - * stretching the clock; the other took a hostname out of comments. Neither is a rule. + * stretching the clock; one took a hostname out of comments; the last drew the Home Office deck + * and lit the pile a watched move touched, which is a diff of two frames the client already + * holds. None of it is a rule, and none of it is on disk. * * A NEW STATE FIELD CANNOT STRAND A SAVE HERE, which is the property worth naming rather than * re-deriving: a `SavedGame` holds `{ seed, config, history }` and NOT a serialised `GameState`. diff --git a/station-master b/station-master index fc40fc3..3fca325 160000 --- a/station-master +++ b/station-master @@ -1 +1 @@ -Subproject commit fc40fc39edea0be68910a9ff183af6b60e499294 +Subproject commit 3fca325699db097c88d7f91bfcc7dda53826933e