From be0be85b7a4e161b42d04c89e611a673fe6c3078 Mon Sep 17 00:00:00 2001 From: dfattal Date: Fri, 2 Oct 2026 00:41:13 -0700 Subject: [PATCH] fix(win32): union live window-space UI HUDs into the overlay region (#350) SetWindowRgn is a visual clip, not only a hit mask, so a window-space UI HUD off the avatar silhouette was cut away. Every region the transparent overlay builds (hit mask + surround union, and the AABB hit-rect path before the first mask) now unions the client-pixel rect of each live wsui slot, natively and with no app call, mirroring the Linux input region (#346). The fractions are of the whole window client, not zone 0. The runtime draws the layer into each per-view tile, and the tile spans the full window in both plain-projection and zones frames. The rect is widened by |disparity|/2 per side and scaled by the same client size the silhouette uses. A slot counts only while a texture is registered, so a disabled HUD drops out. HUD rects feed the region hash (and bypass the hit-rect hysteresis), so toggling re-applies the region and a static HUD costs no SetWindowRgn. Co-Authored-By: Claude Opus 5.5 --- .../Plugins/Windows/x64/displayxr_unity.dll | Bin 207872 -> 220160 bytes docs~/architecture/click-through-mask.md | 23 +++ native~/displayxr_win32.c | 143 +++++++++++++++++- 3 files changed, 163 insertions(+), 3 deletions(-) diff --git a/Runtime/Plugins/Windows/x64/displayxr_unity.dll b/Runtime/Plugins/Windows/x64/displayxr_unity.dll index 1f67125940813336d90796eb2638e085eff7cc6b..91172226cce3767f9de592a7fa9e0ced319ac2cb 100755 GIT binary patch delta 109487 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 h`y-744fo+V}gE{{bK<983TJ delta 97306 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⋘pmH%7wcEsM)u}sAJ$9 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 diff --git a/docs~/architecture/click-through-mask.md b/docs~/architecture/click-through-mask.md index 37504cc..71756b1 100644 --- a/docs~/architecture/click-through-mask.md +++ b/docs~/architecture/click-through-mask.md @@ -53,6 +53,29 @@ DisplayXRTransparentOverlay.LateUpdate (C#) native (win32.c) displays a column-by-column union of the eyes; a cyclopean-only mask is narrower than the visible silhouette on high-disparity foreground geometry (hands, hat) and would clip. +## Window-space UI HUDs are part of the region (#350) + +`SetWindowRgn` is a **visual clip, not only a hit mask**: a pixel outside the region does not +exist for the window, post-weave composition layers included. A `DisplayXRWindowSpaceUI` HUD +(an `XrCompositionLayerWindowSpaceDXR` layer) anywhere off the silhouette was therefore cut +away. Native now unions the rect of every **live** wsui slot into every region it builds +(the hit-mask region, which also carries the surround rect/mask, and the AABB hit-rect +region used before the first mask), with **no app call**, which is the same rule as the Linux input region (#346). + +- **Frame:** a slot's fractions are of the **whole window client**, not of zone 0 or the canvas + sub-rect. The runtime draws the layer into each per-view tile, and the tile spans the full + window both in a plain projection frame and in a zones frame (it composes each zone *into* + a window-spanning tile). The rect is widened by `|disparity|/2` on each side (the per-eye shift) + and rounded outward. The runtime citation is in `wsui_region_rects` (`displayxr_win32.c`). +- **Space:** the rect is scaled by the same client size the silhouette uses (`dst_w`/`dst_h`, or + `displayxr_get_overlay_size` on the hit-rect path), never by managed `Screen.*`. +- **Live:** a slot counts only while a texture is registered, which is exactly when the + provider submits the layer. A disabled HUD (slot released) leaves the region on the next + rebuild. Because the HUD rects feed the region hash (and bypass the hit-rect hysteresis), a + show or hide re-applies the region, while a static HUD costs no extra `SetWindowRgn`. +- **Clicks** inside a HUD reach the app by the same token: the borderless overlay's + `WM_NCHITTEST` claims `HTCLIENT` for any hit the OS delivers. + ## The mask's second consumer: the rear depth budget The very same readback is chained to the runtime as **`XrContentMaskDXR`** diff --git a/native~/displayxr_win32.c b/native~/displayxr_win32.c index 5783517..e295943 100644 --- a/native~/displayxr_win32.c +++ b/native~/displayxr_win32.c @@ -26,6 +26,7 @@ #include "displayxr_exports.h" #include "displayxr_shared_state.h" #include "displayxr_win32.h" // own decls — newer GCC (MinGW cross-check) errors on implicit declarations +#include "displayxr_window_space_ui.h" // DXR_WSUI_MAX_SLOTS, get_pending_slot (#350 HUD rects in the region) #pragma comment(lib, "dwmapi.lib") @@ -3297,6 +3298,89 @@ managed_window_hwnd(void) return NULL; } +// (#350) Window-space UI HUDs are part of the region. +// +// SetWindowRgn is a VISUAL clip, not only a hit mask: a pixel outside the region +// does not exist for the window, post-weave composition layers included. Every +// region below is built around the avatar silhouette, so a HUD +// (DisplayXRWindowSpaceUI -> XrCompositionLayerWindowSpaceDXR) anywhere off the +// silhouette was cut away. Native already knows every live HUD's placement (the +// wsui slot registry), so each live slot's rect is unioned into the region here, +// with no app call -- the same rule as the Linux input region (#346, +// lin_rects_add_wsui) and the model viewer's "chrome" rects +// (displayxr-common vk_clickthrough_region.h). Clicks inside a HUD then reach the +// app by the same token: the borderless overlay's WM_NCHITTEST claims HTCLIENT for +// every hit the OS delivers, so nothing rejects them separately. +// +// FRAME: a slot's x/y/w/h/disparity are fractions of the WHOLE window client, not +// of zone 0 or a canvas sub-rect. The runtime draws a window-space layer into each +// per-view tile of the atlas at tile_origin + (x +- disparity/2) * tile_w +// (displayxr-runtime de3f621, comp_d3d12_renderer.cpp render_window_space_layer + +// comp_d3d12_renderer_draw_window_space_pass; comp_d3d11_renderer.cpp +// render_window_space_layer, frac -> NDC of the view viewport; vk_native +// comp_vk_native_compositor.c ~2660, dx = tile_origin_x + (ws->x + eye_shift) * +// tile_w), and the tile is the whole window in BOTH frame kinds the provider +// submits: a plain projection frame weaves the tile over the full target (no +// effective canvas -> full-target fallback, d3d12_effective_canvas), and a zones +// frame -- what the provider sends whenever a 3D zone is set -- composes each zone +// INTO a window-spanning tile ("in zones frames the tile spans the full window", +// comp_d3d12_renderer.cpp ~3245 / comp_d3d11_renderer.cpp ~1897). So zone 0's +// rect is the wrong frame whenever the zone is a sub-rect (an avatar app keeps its +// bubble band beside it). +// +// Each eye is shifted by +-disparity/2 (graded across views for >2, same +// extremes), so the rect is widened by |disparity|/2 on each side and rounded +// OUTWARD, like the silhouette rects. +// +// SPACE: client_w/client_h must be the SAME client size the caller maps the +// silhouette with (displayxr_get_overlay_size's GetClientRect, on the thread that +// calls SetWindowRgn), so the HUD rects live in exactly the space as the rest of +// the region whatever DPI awareness that thread has. Never Screen.* from managed. +// +// LIVE: get_pending_slot returns 1 only while a texture is registered in the slot +// (release_slot / clear_slot null it), which is exactly when the provider submits +// the layer. A HUD that is disabled (OnDisable -> release) therefore drops out of +// the region on the next rebuild. Cost: <= DXR_WSUI_MAX_SLOTS volatile reads. +// +// THREAD: the slot registry is written from managed on the main thread +// (DisplayXRWindowSpaceUI), and both region builders run on the main thread too +// (LateUpdate / the AsyncGPUReadback callback), so these reads never race a +// writer. No provider state is read and no window query is made here. +static int +wsui_region_rects(int client_w, int client_h, RECT out[DXR_WSUI_MAX_SLOTS]) +{ + int n = 0; + if (client_w <= 0 || client_h <= 0) + return 0; + for (int slot = 0; slot < DXR_WSUI_MAX_SLOTS; slot++) { + float fx = 0, fy = 0, fw = 0, fh = 0, disp = 0; + if (!displayxr_window_space_ui_get_pending_slot(slot, NULL, NULL, NULL, + &fx, &fy, &fw, &fh, &disp)) + continue; + if (!(fw > 0.0f) || !(fh > 0.0f)) // also rejects NaN + continue; + double half = (disp < 0.0f ? -(double)disp : (double)disp) * 0.5; + double l = ((double)fx - half) * client_w; + double t = (double)fy * client_h; + double r = ((double)fx + fw + half) * client_w; + double b = ((double)fy + fh) * client_h; + // Clamp to the client (also keeps garbage fractions out of LONG range). + if (l < 0) l = 0; + if (t < 0) t = 0; + if (r > client_w) r = client_w; + if (b > client_h) b = client_h; + LONG il = (LONG)l, it = (LONG)t; // floor (non-negative) + LONG ir = (LONG)r, ib = (LONG)b; + if ((double)ir < r) ir++; // ceil + if ((double)ib < b) ib++; + if (ir <= il || ib <= it) + continue; + out[n].left = il; out[n].top = it; out[n].right = ir; out[n].bottom = ib; + n++; + } + return n; +} + void displayxr_set_overlay_hit_rect(int x, int y, int w, int h) { @@ -3320,14 +3404,39 @@ displayxr_set_overlay_hit_rect(int x, int y, int w, int h) // {INT_MIN,...} so the first call always goes through. Also reset // to sentinel when we clear the region (w<=0 path below). static RECT s_last_rgn_rect = { INT_MIN, INT_MIN, INT_MIN, INT_MIN }; + // (#350) Hash of the HUD rects in the last applied region. A HUD shown, hidden + // or moved changes it and bypasses the hysteresis below; a static HUD does not. + static unsigned long long s_last_hud_hash = 0; if (w <= 0 || h <= 0) { SetWindowRgn(target, NULL, TRUE); s_last_rgn_rect.left = INT_MIN; + s_last_hud_hash = 0; displayxr_log("[DisplayXR] hit_region: cleared (overlay catches everywhere)\n"); return; } + // (#350) Live HUD rects, in the same client space C# computed (x,y,w,h) in: + // its overlayW/H come from displayxr_get_overlay_size on this thread. + RECT hud[DXR_WSUI_MAX_SLOTS]; + int n_hud = 0; + { + int cw = 0, ch = 0; + displayxr_get_overlay_size(&cw, &ch); + n_hud = wsui_region_rects(cw, ch, hud); + } + unsigned long long hud_hash = 1469598103934665603ULL; /* FNV-1a 64 */ + { + const unsigned char *hb = (const unsigned char *)hud; + size_t hn = (size_t)n_hud * sizeof(RECT); + for (size_t hi = 0; hi < hn; hi++) { + hud_hash ^= hb[hi]; + hud_hash *= 1099511628211ULL; + } + hud_hash ^= (unsigned long long)(unsigned)n_hud; + hud_hash *= 1099511628211ULL; + } + // Pad — gives the cursor a hysteresis margin outside the silhouette. RECT padded = { .left = x - DXR_HIT_RECT_PADDING_PX, @@ -3340,7 +3449,7 @@ displayxr_set_overlay_hit_rect(int x, int y, int w, int h) // threshold of the last applied rect. Compares against the PADDED // rect so the comparison is in the same coordinate space as what // we'd push. - if (s_last_rgn_rect.left != INT_MIN) { + if (s_last_rgn_rect.left != INT_MIN && hud_hash == s_last_hud_hash) { LONG dl = padded.left - s_last_rgn_rect.left; LONG dt = padded.top - s_last_rgn_rect.top; LONG dr = padded.right - s_last_rgn_rect.right; @@ -3365,6 +3474,14 @@ displayxr_set_overlay_hit_rect(int x, int y, int w, int h) (unsigned long)GetLastError()); return; } + // (#350) Union the live HUD rects: the region is also the visual clip. + for (int i = 0; i < n_hud; i++) { + HRGN hr = CreateRectRgn(hud[i].left, hud[i].top, hud[i].right, hud[i].bottom); + if (hr == NULL) + continue; + CombineRgn(rgn, rgn, hr, RGN_OR); + DeleteObject(hr); + } // SetWindowRgn takes ownership of rgn on success. if (!SetWindowRgn(target, rgn, TRUE)) { DeleteObject(rgn); @@ -3375,6 +3492,7 @@ displayxr_set_overlay_hit_rect(int x, int y, int w, int h) return; } s_last_rgn_rect = padded; + s_last_hud_hash = hud_hash; // Throttle the log to ~1 Hz — even with hysteresis a moving cube // re-pushes regularly. @@ -3382,11 +3500,11 @@ displayxr_set_overlay_hit_rect(int x, int y, int w, int h) DWORD now = GetTickCount(); if (now - s_last_log_tick >= 1000) { s_last_log_tick = now; - displayxr_log("[DisplayXR] hit_region: raw=(%d,%d %dx%d) padded=(%ld,%ld %ldx%ld) on hwnd=%p\n", + displayxr_log("[DisplayXR] hit_region: raw=(%d,%d %dx%d) padded=(%ld,%ld %ldx%ld) hud=%d on hwnd=%p\n", x, y, w, h, padded.left, padded.top, padded.right - padded.left, padded.bottom - padded.top, - (void *)target); + n_hud, (void *)target); } } @@ -3583,6 +3701,25 @@ displayxr_set_overlay_hit_mask(const uint8_t *mask, int mask_w, int mask_h, } } + // (#350) Union every live window-space UI HUD (see wsui_region_rects), in + // the SAME dst_w x dst_h client space the silhouette is mapped with. Appended + // before the hash below, so showing/hiding/moving a HUD changes the hash and + // re-applies the region, while a static HUD keeps it identical (no per-frame + // SetWindowRgn). + { + RECT hud[DXR_WSUI_MAX_SLOTS]; + int n_hud = wsui_region_rects(dst_w, dst_h, hud); + if (n_hud > 0 && n + n_hud > cap) { + int new_cap = n + n_hud; + RECT *nr = (RECT *)realloc(rects, (size_t)new_cap * sizeof(RECT)); + if (nr == NULL) { free(rects); return; } + rects = nr; + cap = new_cap; + } + for (int i = 0; i < n_hud; i++) + rects[n++] = hud[i]; + } + // (#259) Skip identical regions: hash the final rect list + dst size and // compare against the last applied region. SetWindowRgn(bRedraw=TRUE) // every frame forces a repaint invalidation even when nothing changed --