Files
great-powers/src
jcoffey-dev e299050ea4 A game you could not leave
Two holes, and the same one twice. When the game ended, every panel in the
side column was gated on the phase and simply went: the header announced
the result and the page then sat there, with no way to start again and no
way off it short of the browser's back button. While a game was running
there was no way out either -- the only links off the app were on the
landing page, which you had already left.

So the end of a game now ends in a panel, where the orders used to be. It
says what the ending was from the seat the player was sitting in, which is
a different sentence to the header's: a draw the survivors agreed to and a
draw you were eliminated long before are the same result and not the same
afternoon. It is read from the same endingSounded() the closing music is
chosen from, so the words and the noise cannot disagree.

Under it, the two things left to do -- another game, or the rest of the
games. Play again resets the refs as well as the state, and that is the
part that would have bitten: `ended` is what stops the closing music
playing twice, and `talked` is keyed on the turn already negotiated, so a
stale note there would have had the second game opened in silence by six
powers who never spoke.

The ways out of a game still being played go in the header, because that
is the one part of the screen always on it -- the side column scrolls, and
on a narrow window it sits below a map most of a screen tall. Leaving is
asked twice like resigning beside it, for the same reason and in the same
place rather than in a browser dialog, and the armed wording says what is
actually lost rather than asking whether you are sure. The two
confirmations disarm each other, so half-pressing one and reaching for the
other does not find it already waiting on its second click.
2026-09-09 13:14:58 -07:00
..
2026-09-09 13:14:58 -07:00
2026-09-09 13:14:58 -07:00
2026-09-09 07:46:22 -07:00
2026-09-09 07:46:22 -07:00