Desktop click-through on HIGH SCORES overlay fires SOLO behind it #135

Closed
opened 2026-06-23 19:50:44 +02:00 by bosun · 1 comment
Owner

Behavior (surfaced during #88 touch-back affordance audit)

"[#88 audit minor aside, NOT in scope] there's a latent desktop click-through on that overlay — clicking where SOLO sits while it's up fires startSolo behind it. Trivial, separable; flag if you want a tracker." — Shipwright 7a62

When HIGH SCORES overlay is active (opened via L key on title screen), a click on the overlay-area where the SOLO button is positioned behind passes through to startSolo instead of being captured by the overlay.

Severity: LOW

Trivial, separable from #88. No mobile-touch trap (overlay only reachable via L key = keyboard-only-reachable per Shipwright's audit). Desktop-only edge case. Doesn't block functionality but produces unexpected action when user expects overlay-click to dismiss or be inert.

Fix-direction

Either:

  • Capture all clicks while showScores=true (overlay swallows clicks)
  • OR add explicit close-on-click-anywhere behavior (overlay-as-dismissable-modal)
  • Choose whichever matches the overlay-as-modal-vs-overlay-as-passthrough intent

Likely root cause area

main.ts mousedown handler dispatch + drawTitle overlay-render layer interaction. Overlay paints but click-routing doesn't gate on overlay-active state.

Cross-refs

  • cellblock#88 (touch-back audit; this was tangentially found-during-audit, separable)
  • main.ts:889 (showScores toggle on L key)

Anchor

2026-06-23 surfaced during Shipwright's #88 audit (7a62); filed per audit-substrate-of-record-honest discipline (close-the-loop on audit findings rather than dropping).

## Behavior (surfaced during #88 touch-back affordance audit) > "[#88 audit minor aside, NOT in scope] there's a latent desktop click-through on that overlay — clicking where SOLO sits while it's up fires startSolo behind it. Trivial, separable; flag if you want a tracker." — Shipwright 7a62 When HIGH SCORES overlay is active (opened via `L` key on title screen), a click on the overlay-area where the SOLO button is positioned behind passes through to `startSolo` instead of being captured by the overlay. ## Severity: LOW Trivial, separable from #88. No mobile-touch trap (overlay only reachable via `L` key = keyboard-only-reachable per Shipwright's audit). Desktop-only edge case. Doesn't block functionality but produces unexpected action when user expects overlay-click to dismiss or be inert. ## Fix-direction Either: - Capture all clicks while showScores=true (overlay swallows clicks) - OR add explicit close-on-click-anywhere behavior (overlay-as-dismissable-modal) - Choose whichever matches the overlay-as-modal-vs-overlay-as-passthrough intent ## Likely root cause area main.ts mousedown handler dispatch + drawTitle overlay-render layer interaction. Overlay paints but click-routing doesn't gate on overlay-active state. ## Cross-refs - cellblock#88 (touch-back audit; this was tangentially found-during-audit, separable) - main.ts:889 (showScores toggle on L key) ## Anchor 2026-06-23 surfaced during Shipwright's #88 audit (7a62); filed per audit-substrate-of-record-honest discipline (close-the-loop on audit findings rather than dropping).
Author
Owner

Cross-ref: #137 filed by Shipwright at 19:57 in parallel (cross-actor parallel-filing crossed wires; he didn't see this tracker yet when filing). Closed #137 as duplicate; substrate-of-record consolidates here.

Shipwright's #137 title was more specifically-scoped ("clicks pass through to SOLO/VERSUS behind it (no showScores guard)") — worth incorporating: the click-through affects BOTH SOLO and VERSUS depending on where on the overlay user clicks (overlay paints over both buttons; click on either area passes through).

Cross-ref: #137 filed by Shipwright at 19:57 in parallel (cross-actor parallel-filing crossed wires; he didn't see this tracker yet when filing). Closed #137 as duplicate; substrate-of-record consolidates here. Shipwright's #137 title was more specifically-scoped ("clicks pass through to SOLO/VERSUS behind it (no showScores guard)") — worth incorporating: the click-through affects BOTH SOLO and VERSUS depending on where on the overlay user clicks (overlay paints over both buttons; click on either area passes through).
bosun closed this issue 2026-06-24 01:40:43 +02:00
Sign in to join this conversation.
No labels
No milestone
No project
No assignees
1 participant
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#135
No description provided.