Finds the invisible layer that is eating your clicks. Sweeps every UI script for full-screen elements that draw nothing and still take pointers — closed modals, dimming veils, forgotten overlays — reads the style rules that gate them, and reports per screen with a separate verdict for PC and for phone.
Read the rest
Also checks the two things below the UI that kill look and movement: the camera's orientation source and the engine's touch draft. Read-only: it names the line and the fix, it never edits your UI.
Phone fit: the findings list pans under a thumb instead of overflowing, the panel sizes itself to the screen's width, and both buttons are thumb-sized with a real pressed state.
Version history
1.1.0
Review pass — the detector stops crying wolf.
- The authored-UI plane is OPT-IN: a full-screen layer with no input grant (no data-interactive, no pointer handler, no pointer-events of its own) is skipped entirely instead of reported.
- New severity "gated": a full-screen layer mounted under a ternary arm, && guard, || fallback or if branch reads "read the condition", not blocker.
- A VISIBLE full-screen dim is "watch" — a deliberate screen, not a fault.
- blocker is now the true disease only: screen-wide + granted + invisible + always mounted.
- Camera check: an undeclared CUSTOM camera rig is a fault, matching Native Touch's Touch tab. Built-in cameras pass.
- PC and PHONE verdicts are actually computed apart — bitesPc counts only CSS-taking layers, bitesPhone also counts data-interactive; the phone-only touch check no longer darkens the PC verdict. Panel shows both banners.
- The sweep is out of the render loop: scanCached() with a TTL plus invalidate(); button presses force a fresh read.
- Screen names are generic (collection / shop / inventory / map / touch controls / menus / HUD) instead of one game's furniture.
1.0.1
The findings list scrolls. On a phone the panel could grow past the screen with no way to drag it — the report region is now its own scroll area (touch-action:pan-y, contained overscroll, wheel on desktop) with the buttons pinned below it.
1.0.0
First cut. Sweeps every UI script for full-screen layers that draw nothing and still take pointers, reads the style rules that gate them, and reports per screen with separate PC and phone verdicts. Also checks the camera's orientation source and the engine's touch draft — the two ways look and movement die under an innocent UI. Read-only: names the file, the line and the fix.