Scorekeeper: share a sheet between devices
A host can share its score sheet and others nearby can join it, found the same way games are, or by typed address over a hotspot. - A joining guest is not let in on its own say-so. The host is prompted with the guest's name and answers Allow or Deny. A device already let in that drops out (locked phone) is let straight back; the host can remove anyone. - The host's sheet is authoritative. What travels is what was done (SheetOp: add round, rename, move column, ...), not whole sheets, so changes made at the same moment all land. A guest's own changes show at once and are laid over the host's sheet until confirmed (SheetReplica). - Sync asks the host for the sheet as it stands, and runs on its own when the app returns to the front, as it does for a game table. - Hello carries a purpose and hosts advertise one, so a game join screen does not list score sheets and a game guest typing a sheet's address is told so. - The Scorekeeper screen now expresses every edit as a SheetOp, so one grid serves a local sheet, a hosted one and a joined one. Co-Authored-By: Claude Sonnet 5.5 <[email protected]> Claude-Session: https://claude.ai/code/session_01CBG7URddsUZjQ6KE1Kqf6G
This commit is contained in:
co-authored by
Claude Sonnet 5.5
parent
16f9321ca3
commit
89b19a894a
@@ -79,6 +79,26 @@ Points are taken away by typing a minus, or with the **±** button, which flips
|
||||
the last number typed. Not every keyboard offers a minus on its number pad, and
|
||||
subtracting has to work on all of them.
|
||||
|
||||
### Sharing a sheet between devices
|
||||
|
||||
Tap **Share** and this phone becomes the host of its sheet; others choose
|
||||
**Scorekeeper → Join a shared sheet nearby**. Discovery and joining by address
|
||||
work exactly as they do for a game, hotspot included. Nobody is let in on their
|
||||
own say-so: the host gets a prompt with the guest's name and has to **Allow** or
|
||||
**Deny** it. A guest who was let in and drops out — a locked phone, say — is let
|
||||
straight back in rather than asked again, and the host can **Remove** anybody
|
||||
from the Sharing panel.
|
||||
|
||||
Everyone on the sheet can add rounds, correct them, rename and move columns. The
|
||||
host's copy is the truth, and what travels is what was *done* ("add a round
|
||||
with these points"), not whole sheets, so two people entering a round at once
|
||||
get two rounds rather than one overwriting the other. A guest's own change shows
|
||||
immediately and is laid over whatever the host sends until the host confirms it.
|
||||
**Sync** asks the host for the sheet as it stands, and happens by itself when the
|
||||
app comes back to the front. The host keeps the sheet as its own saved one;
|
||||
a guest's view is not saved, and leaving puts them back on their own sheet. Only
|
||||
the host can start a new game.
|
||||
|
||||
The sheet is saved as it is edited, so leaving the app or taking a phone call
|
||||
does not lose the game. It is kept in its own DataStore rather than with the
|
||||
settings, because it is a game in progress rather than a preference.
|
||||
|
||||
Reference in New Issue
Block a user