-
Notifications
You must be signed in to change notification settings - Fork 0
Immersive XR
Codori serves the independently built @codori/webxr application under /xr/.
Its Vite assets remain under /xr/assets/, and nested immersive routes fall back
to the WebXR entry document without changing the dashboard fallback or any
/api/* REST and WebSocket route.
Open a materialized project or chat thread in the dashboard and use its immersive launch action. An immersive session needs both a materialized workspace and a thread, so the entry screen asks you to continue in 2D when either is missing.
The WebXR entry gate checks browser support and still requires an explicit user
action before requesting an immersive-vr session. Unsupported browsers and
users who choose Continue in 2D remain in the normal dashboard.
Remote HMD access requires a secure HTTPS origin for both WebXR and microphone
access. Plain HTTP is suitable only for browser secure-context exceptions such
as localhost; a LAN address such as http://192.168.x.x is not sufficient.
Use a private HTTPS ingress such as Tailscale Serve, described in
Remote Access, and keep the existing Codori security boundary
in mind: the immersive application reuses the same same-origin /api/* routes
and does not add authentication.
The immersive workspace reuses the shared voice settings described in Realtime Voice, including the stored voice preference and the instruction override. Because both microphone capture and WebXR require a secure context, an HTTPS origin covers each of them at once.
The entry screen offers a Use reduced immersive effects option, pre-checked
when the browser reports prefers-reduced-motion: reduce. It lowers the visual
intensity of the immersive scene while keeping the workspace usable.