0.8.0.6:0 — bundle Station Master v0.8.0.6

The lit pile keeps pulsing for as long as that move is on screen, rather than
flashing once and settling where it was easy to miss — measured at just under seven
seconds lit at 10x, so it was never brief, only quiet.

Your own move is put away while the board is catching up: it is behind the game at
that moment, so anything offered would be a move against a position that has
already changed. Skip is always one click away. That change could have locked a
player out of their own game where requestAnimationFrame is missing and the queue
therefore never drains, so there are now two fallbacks and a test pinning that the
queue can always be emptied.

And playback can be slowed to twenty times, because ten was the top of the ladder
and was reported still a bit fast.

Release notes updated in all five locales. Still no migration —
git diff v0.8.0.2..v0.8.0.6 -- src/engine/ is empty. Games in progress resume.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01X6cF1iYvJ1kNmzYBzu4QX6
This commit is contained in:
Jesse
2026-09-10 05:51:28 -04:00
co-authored by Claude Opus 5
parent a1f30ac727
commit 1abd5a8a9d
2 changed files with 36 additions and 13 deletions
+35 -12
View File
@@ -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` // — 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.5:0', version: '0.8.0.6:0',
releaseNotes: { releaseNotes: {
en_US: en_US:
'Bundles Station Master v0.8.0.5 — you can watch the other players now. GAMES IN PROGRESS ON ' + 'Bundles Station Master v0.8.0.6 — 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 ' + '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 ' + '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 ' + 'board showed your own Office Area and nobody else’s, and a bot’s whole turn arrived as a ' +
@@ -47,9 +47,14 @@ export const current = VersionInfo.of({
'whichever pile a move just touched lights up for as long as that move is on screen — the deck ' + '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 ' + '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 ' + '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.', 'drawn face down from the deck stays private, and only the deck getting shorter is shown. The ' +
'lit pile now keeps pulsing for as long as that move is on screen, rather than flashing once ' +
'and settling where it was easy to miss. Your own move is put away while the board is catching ' +
'up — it is behind the game at that moment, so anything offered would be a move against a ' +
'position that has already changed; Skip is always one click away. And playback can be slowed ' +
'further than before, to twenty times.',
es_ES: es_ES:
'Incluye Station Master v0.8.0.5 — ahora puedes ver jugar a los demás. LAS PARTIDAS EN CURSO EN ' + 'Incluye Station Master v0.8.0.6 — 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 ' + '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 ' + '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 ' + 'línea de texto: tu tablero mostraba tu propia Área de Oficina y la de nadie más, y el turno ' +
@@ -85,9 +90,13 @@ export const current = VersionInfo.of({
'alguien roba de él, el Departamento del que se toma o en el que se descarta una carta, el ' + '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 ' + '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 ' + 'público: una carta robada boca abajo del mazo sigue siendo privada, y sólo se muestra que el ' +
'mazo mengua.', 'mazo mengua. La pila iluminada ahora late mientras ese movimiento está en pantalla, en vez de ' +
'destellar una vez y quedarse donde era fácil no verla. Tus propias acciones se guardan ' +
'mientras el tablero se pone al día: en ese momento va por detrás de la partida, así que lo ' +
'que se ofreciera sería una jugada contra una posición ya cambiada; Saltar está siempre a un ' +
'clic. Y la reproducción puede ralentizarse más que antes, hasta veinte veces.',
de_DE: de_DE:
'Enthält Station Master v0.8.0.5 — Sie können den anderen jetzt beim Spielen zusehen. LAUFENDE ' + 'Enthält Station Master v0.8.0.6 — Sie können den anderen jetzt beim Spielen zusehen. LAUFENDE ' +
'PARTIEN AUF DIESEM SERVER SIND NICHT BETROFFEN und werden normal fortgesetzt. Bisher konnte ' + '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 ' + '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 ' + 'Ihrem Bildschirm war eine Textzeile: Ihr Brett zeigte nur Ihren eigenen Dienstbereich und den ' +
@@ -125,9 +134,14 @@ export const current = VersionInfo.of({
'Stapel, wenn jemand daraus zieht, die Abteilung, aus der eine Karte genommen oder auf die ' + '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 ' + '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 ' + 'dem, was öffentlich ist: eine verdeckt gezogene Karte bleibt privat, gezeigt wird nur, dass ' +
'der Stapel kürzer wird.', 'der Stapel kürzer wird. Der leuchtende Stapel pulsiert jetzt, solange dieser Zug zu sehen ist, ' +
'statt einmal aufzublitzen und dort liegen zu bleiben, wo er leicht zu übersehen war. Ihr ' +
'eigener Zug wird weggeräumt, während das Brett aufholt: es hinkt in diesem Moment hinterher, ' +
'ein Angebot wäre also ein Zug gegen eine bereits veränderte Stellung; Überspringen ist immer ' +
'einen Klick entfernt. Und die Wiedergabe lässt sich weiter verlangsamen als bisher, auf das ' +
'Zwanzigfache.',
pl_PL: pl_PL:
'Zawiera Station Master v0.8.0.5 — teraz możesz obserwować grę pozostałych. TRWAJĄCE PARTIE NA ' + 'Zawiera Station Master v0.8.0.6 — 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ł ' + '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 ' + '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 ' + 'tekstu: twoja plansza pokazywała wyłącznie twój własny Obszar Biura i niczyj inny, a cała ' +
@@ -160,9 +174,14 @@ export const current = VersionInfo.of({
'stos, którego właśnie dotknął ruch, podświetla się na tak długo, jak długo ten ruch jest na ' + '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ę ' + '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 ' + '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.', 'jawne: karta dobrana zakryta z talii pozostaje prywatna, widać tylko, że talia maleje. ' +
'Podświetlony stos pulsuje teraz tak długo, jak długo ten ruch jest na ekranie, zamiast błysnąć ' +
'raz i zgasnąć tam, gdzie łatwo go było przeoczyć. Twoje własne akcje są chowane, gdy plansza ' +
'nadrabia zaległości: jest wtedy za grą, więc cokolwiek by zaproponowano, byłby to ruch wobec ' +
'pozycji już zmienionej; Pomiń jest zawsze o jedno kliknięcie. A odtwarzanie można spowolnić ' +
'bardziej niż wcześniej, aż dwudziestokrotnie.',
fr_FR: fr_FR:
'Contient Station Master v0.8.0.5 — vous pouvez maintenant regarder jouer les autres. LES ' + 'Contient Station Master v0.8.0.6 — vous pouvez maintenant regarder jouer les autres. LES ' +
'PARTIES EN COURS SUR CE SERVEUR NE SONT PAS AFFECTÉES et reprendront normalement. Jusqu’ici ' + '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 ' + '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 ' + 'trace sur votre écran était une ligne de texte : votre plateau ne montrait que votre propre ' +
@@ -200,7 +219,11 @@ export const current = VersionInfo.of({
'l’écran — la pioche quand quelqu’un y prend une carte, le Département d’où une carte est tirée ' + '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 ' + '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 ' + 'suit ce qui est public : une carte piochée face cachée reste privée, et seule la pioche qui ' +
'raccourcit est montrée.', 'raccourcit est montrée. La pile allumée pulse désormais tant que ce coup est à l’écran, au ' +
'lieu de clignoter une fois et de s’éteindre là où on la manquait facilement. Vos propres ' +
'actions sont rangées pendant que le plateau rattrape son retard : il est alors en arrière sur ' +
'la partie, et ce qui serait proposé serait un coup contre une position déjà changée ; Passer ' +
'est toujours à un clic. Et la relecture peut être ralentie plus qu’avant, jusqu’à vingt fois.',
}, },
migrations: { migrations: {
/** /**
@@ -240,7 +263,7 @@ export const current = VersionInfo.of({
* `advance.ts`. It is a counter that nothing checks — no predicate reads it, so no once-legal move * `advance.ts`. It is a counter that nothing checks — no predicate reads it, so no once-legal move
* became illegal. * became illegal.
* *
* 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. * v0.8.0.3 THROUGH v0.8.0.6 ADD NOTHING AGAIN: `git diff v0.8.0.2..v0.8.0.6 -- src/engine/` is empty.
* One moved the Skip button, changed what the waiting row says, and stopped the speed control * One moved the Skip button, changed what the waiting row says, and stopped the speed control
* stretching the clock; one took a hostname out of comments; the last drew the Home Office deck * 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 * and lit the pile a watched move touched, which is a diff of two frames the client already