Start menu overflows the game screen on phones since the floating choice box #70

Closed
opened 2026-10-05 13:36:57 +02:00 by kawa · 0 comments
Owner

Regression from 525ff09 (#67, choices in a box above the text box).

Symptom

On a phone viewport (Playwright webkit project = iPhone 13, portrait), the start menu box is taller than the space above the text box. It is positioned with bottom: calc(100% + 13px) and max-height: min(60vh, 30em), which does not account for the game screen's height, so its top overflows the screen: POKéDEX, POKéMON and PACK are clipped and cannot be tapped. Only CHRIS, SAVE, OPTION and EXIT are visible. Hit-testing at the PACK button lands on .screen-bezel.

Keyboard/D-pad navigation still moves the cursor, but a touch player cannot reach the top entries.

Reproduction

npx playwright test tests/foundation-browser.spec.ts:59 --project=webkit

Fails with locator.click: Test timeout of 30000ms exceeded … <div class="screen-bezel">…</div> intercepts pointer events on #dialogue-choice → PACK.

Bisect: 5546e57 passes, 525ff09 fails (3da669a and 7afc87d still fail).

Affected tests (12, all WebKit)

  • foundation-browser.spec.ts: 59, 113, 161, 220, 275, 309, 444, 512, 543, 578
  • native-browser.spec.ts:450
  • pokedex-browser.spec.ts:34

They fail locally and in private CI run 136 (#66).

Expected

The choice box fits inside the game screen above the text box on every supported viewport, scrolling when its entries don't fit, so every entry is visible and tappable. The 12 WebKit tests pass.

Commit: 62fe4bf

Regression from 525ff09 (#67, choices in a box above the text box). ## Symptom On a phone viewport (Playwright `webkit` project = iPhone 13, portrait), the start menu box is taller than the space above the text box. It is positioned with `bottom: calc(100% + 13px)` and `max-height: min(60vh, 30em)`, which does not account for the game screen's height, so its top overflows the screen: POKéDEX, POKéMON and PACK are clipped and cannot be tapped. Only CHRIS, SAVE, OPTION and EXIT are visible. Hit-testing at the PACK button lands on `.screen-bezel`. Keyboard/D-pad navigation still moves the cursor, but a touch player cannot reach the top entries. ## Reproduction ``` npx playwright test tests/foundation-browser.spec.ts:59 --project=webkit ``` Fails with `locator.click: Test timeout of 30000ms exceeded … <div class="screen-bezel">…</div> intercepts pointer events` on `#dialogue-choice` → `PACK`. Bisect: 5546e57 passes, 525ff09 fails (3da669a and 7afc87d still fail). ## Affected tests (12, all WebKit) - foundation-browser.spec.ts: 59, 113, 161, 220, 275, 309, 444, 512, 543, 578 - native-browser.spec.ts:450 - pokedex-browser.spec.ts:34 They fail locally and in private CI run [136](https://git.azuze.fr/kawa/Crystal/actions/runs/136) (#66). ## Expected The choice box fits inside the game screen above the text box on every supported viewport, scrolling when its entries don't fit, so every entry is visible and tappable. The 12 WebKit tests pass. Commit: 62fe4bf
kawa added the P0 - nowparity labels 2026-10-05 13:36:57 +02:00
PestoRosso was assigned by kawa 2026-10-05 13:36:57 +02:00
kawa added this to the Pokemon Crystal - Web project 2026-10-05 13:36:57 +02:00
kawa moved this to A faire in Pokemon Crystal - Web on 2026-10-05 13:36:57 +02:00
kawa added a new dependency 2026-10-06 14:48:12 +02:00
kawa moved this to Fait in Pokemon Crystal - Web on 2026-10-13 11:08:08 +02:00
kawa closed this issue 2026-10-13 11:08:08 +02:00
Sign in to join this conversation.