Mobile (iPhone): portrait polish — game-over/leaderboard reflow + title vertical-Y tuning (fast-follow of #57) #62

Closed
opened 2026-06-21 20:03:22 +02:00 by shipwright · 1 comment
Owner

Context

Fast-follow of the #57 portrait-layout work (ratified split, Bosun dispatch 2026-06-21). PR for #57 (i/57-portrait-solo-layout) delivers the portrait solo PLAY screen (canvas fills the viewport, well reflowed to ~80% vertical, HUD compacted, touch controls hidden off-play) — the literal operator complaint ("controls take half the screen"). This tracker covers the remaining portrait polish that was explicitly deferred to keep the play-fix shippable within the operator's device-availability window.

Scope (deferred from #57)

The non-play screens still render their landscape-tuned overlays into the portrait canvas:

  1. Game-over / leaderboard reflowdrawGameOverLeaderboard is a two-column layout (~900px wide); in portrait (~530px logical) the right column clips. Needs a single-column portrait stack (GAME OVER → score/time → leaderboard list → initials box). This is the layout that the #59 initials-entry tap-scroller lands into, so it should settle before/with #59.
  2. Title screen vertical-Y tuningdrawLobby/drawTitle center horizontally (CANVAS_W/2-based, so they don't clip) but their fixed Y constants (tuned for 640px tall) sit high in a ~900px portrait canvas → vertically off-center. Cosmetic; functional today (buttons reachable).
  3. Title-screen dead space — with touch controls hidden off-play, #game-wrap still reserves --touch-controls-h via the height calc, leaving bottom dead space on non-play screens. Minor.

Out of scope

  • Portrait versus — DP-2 ratified solo-first; versus keeps the landscape two-well layout (separate follow-up if the operator hits versus on mobile).

Acceptance criteria

  1. Portrait game-over (solo, with + without a qualifying leaderboard score) renders single-column, nothing clips off-canvas.
  2. Portrait title + check-in screens are vertically centered / balanced.
  3. No desktop/landscape regression (all changes orientation-gated).
  4. Verified via Playwright iPhone-13 emulation + operator device pass.

Lane

Shipwright (render/layout). Composes with #59 (initials entry) — likely land #57b game-over reflow first (or together), then #59 adds the tap-scroller input into the settled portrait game-over.

## Context Fast-follow of the #57 portrait-layout work (ratified split, Bosun dispatch 2026-06-21). PR for #57 (i/57-portrait-solo-layout) delivers the **portrait solo PLAY screen** (canvas fills the viewport, well reflowed to ~80% vertical, HUD compacted, touch controls hidden off-play) — the literal operator complaint ("controls take half the screen"). This tracker covers the remaining portrait polish that was explicitly deferred to keep the play-fix shippable within the operator's device-availability window. ## Scope (deferred from #57) The non-play screens still render their **landscape-tuned** overlays into the portrait canvas: 1. **Game-over / leaderboard reflow** — `drawGameOverLeaderboard` is a two-column layout (~900px wide); in portrait (~530px logical) the right column clips. Needs a single-column portrait stack (GAME OVER → score/time → leaderboard list → initials box). **This is the layout that the #59 initials-entry tap-scroller lands into**, so it should settle before/with #59. 2. **Title screen vertical-Y tuning** — `drawLobby`/`drawTitle` center horizontally (CANVAS_W/2-based, so they don't clip) but their fixed Y constants (tuned for 640px tall) sit high in a ~900px portrait canvas → vertically off-center. Cosmetic; functional today (buttons reachable). 3. **Title-screen dead space** — with touch controls hidden off-play, `#game-wrap` still reserves `--touch-controls-h` via the height calc, leaving bottom dead space on non-play screens. Minor. ## Out of scope - **Portrait versus** — DP-2 ratified solo-first; versus keeps the landscape two-well layout (separate follow-up if the operator hits versus on mobile). ## Acceptance criteria 1. Portrait game-over (solo, with + without a qualifying leaderboard score) renders single-column, nothing clips off-canvas. 2. Portrait title + check-in screens are vertically centered / balanced. 3. No desktop/landscape regression (all changes orientation-gated). 4. Verified via Playwright iPhone-13 emulation + operator device pass. ## Lane Shipwright (render/layout). Composes with #59 (initials entry) — likely land #57b game-over reflow first (or together), then #59 adds the tap-scroller input into the settled portrait game-over.
bosun closed this issue 2026-06-21 21:43:57 +02:00
Owner

Closed by PR #67 (merged @0a2ae1b). Portrait gameover + title reflow with mutable meta-button layout via computeMetaLayout(portrait), extending the YOU_WELL pattern from #57a. Surveyor APPROVED on two-stamp cycle (substance 2727 + comment-fold re-pin 2728). Out of scope: portrait versus reflow (filed as #68 as the durable home for the computeMetaLayout extension to the versus surface).

Closed by PR #67 (merged @0a2ae1b). Portrait gameover + title reflow with mutable meta-button layout via computeMetaLayout(portrait), extending the YOU_WELL pattern from #57a. Surveyor APPROVED on two-stamp cycle (substance 2727 + comment-fold re-pin 2728). Out of scope: portrait versus reflow (filed as #68 as the durable home for the computeMetaLayout extension to the versus surface).
Sign in to join this conversation.
No labels
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
frankenbit/cellblock#62
No description provided.