Prefer OpenXR for desktop XR policy

This commit is contained in:
2026-06-05 16:06:52 +02:00
parent 308fb13075
commit bdd7a32ff5
8 changed files with 149 additions and 20 deletions

View File

@@ -336,7 +336,8 @@ Implementation tasks:
- `glad`
- `Catch2`
- Keep vendored until proven:
- OpenVR
- OpenVR only as the temporary desktop compatibility fallback while OpenXR is
introduced behind `pp_platform_vr`
- OVR/Wave SDKs
- Wacom WinTab
- AppCenter
@@ -735,9 +736,11 @@ VR mode, VR-controller, auto-timelapse, and cursor-mode side effects through
retained settings writes, recording lifecycle calls, and legacy canvas/UI
adapters continue.
VR mode start/stop now enters `App` platform wrappers that dispatch through
`PlatformServices`; Windows keeps the retained OpenVR bridge in
`WindowsPlatformServices`, while the legacy fallback reports unsupported VR
startup on non-Windows platforms until their shells own the service.
`PlatformServices`; the desktop runtime-selection policy in `pp_platform_api`
prefers OpenXR and marks OpenVR as a legacy fallback. Windows still reaches the
retained OpenVR bridge in `WindowsPlatformServices` until the OpenXR backend is
wired, while the legacy fallback reports unsupported VR startup on non-Windows
platforms until their shells own the service.
`pano_cli plan-about-menu` exposes app-core planning for About menu help,
about, what's-new, crash-test, and performance-test commands, including
versioned what's-new labels, diagnostic gating, and no-canvas performance-test
@@ -823,8 +826,9 @@ available and dispatches startup through the same service, preserving the
current iOS Objective-C bridge in the legacy adapter while removing iOS branches
from `App::init_menu_tools` and `LegacyToolsMenuServices`.
App VR lifecycle start/stop now asks `PlatformServices`, preserving the current
Windows OpenVR startup/shutdown bridge in `WindowsPlatformServices` while
non-Windows fallback adapters keep the existing unsupported/no-op behavior.
Windows OpenVR startup/shutdown bridge as the selected legacy fallback in
`WindowsPlatformServices` while non-Windows fallback adapters keep the existing
unsupported/no-op behavior.
Canvas image export publishing and explicit persistent-storage flushes now
dispatch through `PlatformServices` too, preserving iOS photo-library export
publication and WebGL filesystem sync behavior in the legacy adapter while
@@ -903,8 +907,8 @@ the live OpenGL call sequence. The retained viewport/scissor callback endpoints
now share `legacy_ui_gl_dispatch`.
VR UI framebuffer viewport and scissor-test setup now also consumes those
`pp_renderer_gl` contracts, keeping desktop and VR UI rendering aligned while
the retained OpenVR app path is split incrementally; its retained callback
endpoints now reuse the shared UI GL bridge.
the desktop XR path moves from the retained OpenVR app path toward OpenXR; its
retained callback endpoints now reuse the shared UI GL bridge.
VR draw blend/depth state snapshots, transitions, restore, and depth-buffer
clears, active texture unit switches, and fallback 2D texture unbinds now use
generic tested `pp_renderer_gl` capability query/apply, clear, active-texture,
@@ -2699,7 +2703,8 @@ Use this as the starting checklist for Phase 0 inventory.
VR controllers.
- Platform services: clipboard, file picker, save picker, directory picker,
share/display file, keyboard show/hide, cursor visibility.
- VR/platform variants: OpenVR desktop, Quest, Focus/Wave, Android standard,
- VR/platform variants: OpenXR desktop target with retained OpenVR fallback,
Quest, Focus/Wave, Android standard,
iOS/macOS, Linux, WebGL.
- Cloud/network: upload, download, browse, license/check flows.
- Recording/export: PBO readbacks, MP4 encoder, timelapse frames.