HQ's shared native screens reproduce a contract gap in https://github.com/stacksjs/hq.training/issues/339: STX forwards the pointerEvents prop, but the iOS and Android native hosts do not honor it. An overlay can therefore swallow taps even when its author explicitly requests pass-through.
The matching STX compiler change is being verified separately: preserve auto, none, box-none, box-only in inline/object styles and map the CSS pointer-events-none / pointer-events-auto utilities. That compiler change must not be treated as proof of native behavior.
Implement one explicit native hit-targeting contract and use it across semantic component roots, rather than special-casing HQ's toast or modifying app templates:
auto: preserve platform behavior, including disabled/hidden controls and native gesture handling.none: exclude the node and all descendants so an underlying sibling can receive a tap.box-none: descendants remain eligible; the node's own box cannot consume a tap.box-only: the node remains eligible; descendants cannot become the target.- Clearing or reactively changing the value restores ordinary targeting without changing authored disabled state.
Both prop and style forms need the same precedence and clearing behavior. Cover flow containers, scrolling/list containers and leaf controls. Preserve overflowing children where overflow is visible, clipping, z-order, modal shielding and existing gestures. Do not toggle visibility or disable views temporarily to reroute touches.
Acceptance needs real UIKit hit-test/event assertions and Android native event assertions: sibling underlay plus overlay with a child action; all four modes; changes/clearing; disabled controls; clipped and overflowing content; a nested scroll/list case. Existing native fixtures live under packages/ios/fixtures/native-screen and packages/android/fixtures/native-navigation. HQ's diagnostic gate should include unknown styles after the released compiler and host implementations are consumed.
Related enterprise acceptance: https://github.com/stacksjs/hq.training/issues/318. This is separate from navigation chrome geometry in https://github.com/craft-native/craft/issues/426.