Fix: cutlery drawer swallowed all clicks (invisible full-screen panel)

The drawer's info card lives in a .drawer-panel that's inset:0 full-bleed
with pointer-events:none — but the base rule '#ui > *' re-enables
pointer-events:auto and its ID specificity (1,0,0) beats the class's
(0,1,0), so the invisible sheet covered the canvas and ate every drag.
The kitchen panel is a small positioned card so it never covered
anything; the drawer is the first full-bleed canvas-drag scene, which is
why it surfaced here. Scoped the container's rule to '#ui > .drawer-panel'
so it wins the specificity war and clicks reach the 3D pieces.

Verified: real DOM pointerdown now reaches the canvas, a piece grabs on
press and lifts (y 0.4). Harness never caught it — it injects input
directly, bypassing DOM pointer-events entirely.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
type-two 2026-07-19 12:43:10 +10:00
parent a1ae1be6d6
commit 7b6005cf86

View File

@ -447,11 +447,15 @@ canvas#c {
}
/* ---- the drawer ---- */
.drawer-panel {
/* Full-bleed and pass-through: the cutlery is dragged on the CANVAS beneath.
The `#ui > *` auto rule has ID specificity and would otherwise force this
invisible full-screen sheet to pointer-events:auto, swallowing every drag. */
#ui > .drawer-panel {
position: absolute;
inset: 0;
pointer-events: none;
}
/* The info card is the only thing here that could want clicks — it doesn't. */
.drawer-card {
position: absolute;