The documented Dialog / DialogBackdrop / DialogPanel composition does not dismiss on a real outside click. DialogPanel places a fixed full-screen layout above DialogBackdrop; native hit-testing targets its full-height flex wrapper, so the backdrop marker never receives the event. This affects centered panels and sheets.
Reproduced in the browser game while replacing its settlement confirmation with the maintained component: stacksjs/the-settlers-iii-remake#224. The owning-source regression compiles the actual shipped components with processDirectives, generates their actual ts-css stylesheet, and uses native Chrome pointer input through Bun.WebView. Before the correction, both variants fail the outside hit-target assertion. Existing DOM tests call the backdrop handler directly and cannot detect this geometry problem.
The source correction lets pointer events pass through the full-screen layout and restores them on the actual panel. Native-host markup is unchanged. The regression also checks interactive panel controls, close-on-backdrop opt-out, focus restoration and scroll-lock cleanup. Related previous behavior work: #1978 and #2057.
Acceptance:
- Retain an owning-source native pointer regression with real generated CSS for centered panels and sheets.
- Let actual outside clicks reach the backdrop while retaining panel interaction and the close-on-backdrop opt-out.
- Pass source lint, types, exports, build, installed-package smoke checks and relevant full tests.
- Publish through the normal patch release and verify the actual publication and release gates.
- Adopt the verified publication through Stacks and qualify the production game confirmation.