Skip to content

feat(avatar): engine_render_gated manifest + DemoWindowController shell guard (#225) - #6

Merged
dfattal merged 1 commit into
mainfrom
feat/avatar-tile-engine-gated
Jul 23, 2026
Merged

dfattal merged 1 commit into
mainfrom
feat/avatar-tile-engine-gated

Conversation

@dfattal

@dfattal dfattal commented Jul 23, 2026

Copy link
Copy Markdown
Contributor

Workspace-tile support for desktop-avatar, part of the joint tile-sizing release.

Changes

  • installer/common/SampleInstaller.nsh — emit "engine_render_gated": true in the registered-mode manifest. Unity apps gate their render on the main window being shown, so the shell must launch them SW_SHOWMINNOACTIVE (not SW_HIDE, which is black); this flag opts every Unity sample into the shell's per-app show mode (displayxr-shell-pvt#80).
  • DemoWindowController.cs — no-op in shell/tile mode (displayxr_is_shell_mode()). The shell/runtime own the tile window; persisting/restoring our saved size there fights the runtime's tile-resize and would corrupt the standalone size (it'd save the tile size to PlayerPrefs). Standalone behavior unchanged.

No Unity default-resolution change: the provider now reports the tile canvas via the size APIs (plugin PR displayxr-unity#226), so the avatar authors its zone/Local2D for the tile directly.

Ships with

  • runtime xrGetWorkspaceTileSizeDXR (spec v2) + #225 zones fix (displayxr-runtime#779)
  • plugin provider consumption (displayxr-unity#226)
  • shell per-app show mode (displayxr-shell-pvt#80)

HW-validated (Leia SR): desktop-avatar renders tile-sized stereo + tracks resize. Keyboard/mouse to tiles is a tracked follow-up (not a blocker).

🤖 Generated with Claude Code

https://claude.ai/code/session_01Umm4stoD3G9SuNeocafhPn

…r shell guard (#225)

Workspace-tile support for the desktop-avatar sample, pairing with the runtime
xrGetWorkspaceTileSizeDXR + provider consumption + shell per-app show mode
(displayxr-shell-pvt#80):

- installer/common/SampleInstaller.nsh: emit "engine_render_gated": true in the
  registered-mode manifest. Unity apps gate render on the main window being SHOWN,
  so the shell must launch them SW_SHOWMINNOACTIVE (not SW_HIDE); the flag opts
  every Unity sample into that per-app show mode.
- DemoWindowController: no-op in shell/tile mode (displayxr_is_shell_mode()). The
  shell/runtime own the tile window there; persisting/restoring our saved size
  would fight the runtime's tile-resize AND corrupt the standalone size (it would
  save the tile size to PlayerPrefs). Standalone behavior unchanged.

The provider reports the tile canvas via the size APIs, so the avatar authors its
zone/Local2D for the tile with no default-resolution change needed.

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Umm4stoD3G9SuNeocafhPn
@dfattal
dfattal merged commit 70e3d43 into main Jul 23, 2026
1 check passed
@dfattal
dfattal deleted the feat/avatar-tile-engine-gated branch July 23, 2026 09:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant