WebXR
Enter an immersive view when the browser and device support it.
The playground checks navigator.xr.isSessionSupported for immersive AR and VR. It exposes an entry button only when a mode is available. The browser’s permission and session request happens after the user presses the button.
AR placement
AR requests local and hit-test. Move the device to find a surface, then select to place the scene. Rendering uses the XR session’s tracked views. A placed scene is local to the session; persistent anchors and relocalization across sessions are not implemented by this web adapter.
VR
VR requests local-floor, uses tracked views and displays the scene in front of the user. Ending the session restores the browser camera controls and view. The browser owns immersive-session availability and permissions.
Conventional browser view
If XR is absent or declined, the same document remains usable with orbit controls. The site does not start the camera or microphone to display ordinary 3D content. The browser must support WebAssembly and WebGL 2 for the interactive canvas.
HTTPS is required for immersive use, except browser-supported local development origins. A desktop browser resized to phone dimensions does not prove physical mobile or XR behavior. Physical session, tracking and optical checks remain separate release gates.
The adapter follows the WebXR session API, hit-test API and Three.js WebXR manager.