feat(offline): local pass-and-play (hotseat) — 2-4 players, seat/host PINs #211
Reference in New Issue
Block a user
Delete Branch "feature/offline-hotseat"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Offline pass-and-play (hotseat): New Game's with friends (shown only offline) builds a device-local 2-4 human game on the existing local engine.
What
PinPad.svelte); PINs stored as a salted SHA-256 — a social lock, not crypto (client-only; documented).resignSeat) / terminate (delete, no result), each with a confirm + a fading ✅.How
Engine untouched (already 2-4 player). Added:
lib/pin.ts,lib/roster.ts,PinPad.svelte; record schema (hotseat/hostPin/seat.pin) + source (unlockSeat/verifyHostPin/hostAction, per-turn lock); NewGame roster form; Game.svelte lock + host menu; Lobby kebab. Client-only — no backend/proto/wire changes.Tests / verification
pin,roster,source.hotseat(lock/unlock/re-lock, host skip/resign/terminate, master-PIN gate, natural-end persistence), serialize shape.check0/0,test:unit513 pass,buildok, full e2e 202 pass.Owner reviews the live flow on the test contour.
New commits pushed, approval review dismissed automatically according to repository settings