Stage 17 round 5 docs: bake the bug fixes + UI polish + L2 into live docs
CI / changes (pull_request) Successful in 2s
CI / unit (pull_request) Successful in 8s
CI / integration (pull_request) Successful in 11s
CI / ui (pull_request) Successful in 29s
CI / gate (pull_request) Successful in 0s
CI / deploy (pull_request) Successful in 52s
CI / changes (pull_request) Successful in 2s
CI / unit (pull_request) Successful in 8s
CI / integration (pull_request) Successful in 11s
CI / ui (pull_request) Successful in 29s
CI / gate (pull_request) Successful in 0s
CI / deploy (pull_request) Successful in 52s
- ARCHITECTURE: resign on the opponent's turn (ResignSeat + turn-check bypass); robots block chat but accept-and-ignore friend requests; quick-match /lobby/cancel; the admin robot play-to-win intent + next-move ETA panel. - UI_DESIGN: even A->B zoom (recentre only on zoom-in), pinch, drop-target highlight, shuffle ≤0.3s + reduce-motion, borderless make-move disabled on illegal, variant title. - FUNCTIONAL (+ru): variant display names (Scrabble/Erudite); robot ignores friend requests. - PLAN: round-5 refinements bullet (+ the bilingual two-Scrabble open edge).
This commit is contained in:
@@ -1281,6 +1281,25 @@ provided cert) at the contour caddy; prod VPN; rollback.
|
||||
scroll and the new one-finger drag-back, so it stays dropped in favour of double-tap + hover-hold zoom;
|
||||
**robot win% in the admin game detail** (#16) — needs the seed-derived play-to-win decision exposed
|
||||
across the game/robot package boundary, to be picked up when that seam is added.
|
||||
- **Contour-verification follow-ups** (round 5, from live testing): **resign on the opponent's turn**
|
||||
now works — the engine gained `ResignSeat(seat)` and `game.Resign` bypasses the turn check to forfeit
|
||||
the actor's own seat (it no longer returned "not your turn"); **quick-match cancel** was a UI no-op
|
||||
(only stopped polling) — added the full path (REST `/lobby/cancel` → gateway → client) and clear the
|
||||
matchmaker's pending result on cancel, so a cancelled search is dequeued (no "already queued", no later
|
||||
robot-substituted game); **lobby win/loss** ranked by score, so a 0-0 resignation read as a win —
|
||||
`result.ts` now places the viewer below the winner (rank ≥ 2), matching the game detail; a **friend
|
||||
request to a robot** is accepted as pending and expires like a human ignore (robots no longer set
|
||||
`BlockFriendRequests`); the **nudge cooldown** error got its own `nudge_too_soon` code/message and the
|
||||
chat button disables for the hour, with the note reworded to "Waiting for your move!". UI polish:
|
||||
**even zoom** (interpolate the scroll toward a pre-clamped target as the real width grows/shrinks — no
|
||||
lurch-and-snap) that **recentres only on the first zoom-in**; a drag **drop-target highlight**; **pinch
|
||||
zoom** (two-finger, preventDefault only on two touches; a second finger aborts a drag); shuffle hop
|
||||
capped at **0.3 s** and off under reduce-motion; a **borderless** make-move icon, disabled on a known-
|
||||
illegal pending word; **variant display names** (english & russian_scrabble → Scrabble/Скрэббл, erudit
|
||||
→ Erudite/Эрудит) shown on the create-game controls and the in-game title. **L2 done:** the admin game
|
||||
card now shows each robot seat's per-game play-to-win **intent** + the ~40% target and, on the robot's
|
||||
turn, its deterministic **next-move ETA**. *Open edge:* a bilingual New Game (both en+ru offered) would
|
||||
show two "Scrabble" buttons — left as the owner's chosen naming; disambiguate if it bites.
|
||||
|
||||
## Deferred TODOs (cross-stage)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user