Class: WebXRRuntimeAdapter
Defined in: service-framework-three/src/webxr-runtime-adapter.ts:153
Implements
Constructors
Constructor
new WebXRRuntimeAdapter(options: WebXRRuntimeAdapterOptions): WebXRRuntimeAdapter;
Defined in: service-framework-three/src/webxr-runtime-adapter.ts:206
Parameters
| Parameter | Type |
|---|---|
options | WebXRRuntimeAdapterOptions |
Returns
WebXRRuntimeAdapter
Properties
| Property | Modifier | Type | Description | Defined in |
|---|---|---|---|---|
session | readonly | SessionFacet | Session lifecycle over navigator.xr and the renderer's XR manager. | service-framework-three/src/webxr-runtime-adapter.ts:188 |
Methods
clearCapabilityOverrides()
clearCapabilityOverrides(): void;
Defined in: service-framework-three/src/webxr-runtime-adapter.ts:321
Drop every manual override and fall back to the derived capabilities.
Returns
void
dispose()
dispose(): void;
Defined in: service-framework-three/src/webxr-runtime-adapter.ts:331
Release everything the adapter holds: the animation loop, both sets of host
event listeners, any in-flight end(), the manual overrides and every
listener. It does not end the session - the app owns that decision.
Returns
void
emitFrame()
emitFrame(timestamp: number, delta: number): void;
Defined in: service-framework-three/src/webxr-runtime-adapter.ts:280
Push one frame to every subscriber. Call this when you own the loop.
Parameters
| Parameter | Type |
|---|---|
timestamp | number |
delta | number |
Returns
void
getCapabilities()
getCapabilities(): AdapterCapabilities;
Defined in: service-framework-three/src/webxr-runtime-adapter.ts:234
Current XR capabilities (may change once a session is established).
Returns
Implementation of
RuntimeAdapter.getCapabilities
getSession()
getSession(): WebXRSessionLike | null;
Defined in: service-framework-three/src/webxr-runtime-adapter.ts:246
The session the renderer is presenting, or null in 2D.
Returns
WebXRSessionLike | null
onCapabilitiesChange()
onCapabilitiesChange(listener: CapabilitiesListener): Unsubscribe;
Defined in: service-framework-three/src/webxr-runtime-adapter.ts:238
Subscribe to capability changes; returns an unsubscribe handle. Mirrors RuntimeAdapter.onFrame so gating services can react to a session coming online instead of polling RuntimeAdapter.getCapabilities every frame.
Parameters
| Parameter | Type |
|---|---|
listener | CapabilitiesListener |
Returns
Implementation of
RuntimeAdapter.onCapabilitiesChange
onFrame()
onFrame(listener: FrameListener): Unsubscribe;
Defined in: service-framework-three/src/webxr-runtime-adapter.ts:227
Subscribe to per-frame updates; returns an unsubscribe handle.
Parameters
| Parameter | Type |
|---|---|
listener | FrameListener |
Returns
Implementation of
refreshCapabilities()
refreshCapabilities(): void;
Defined in: service-framework-three/src/webxr-runtime-adapter.ts:291
Re-read the renderer's session and publish any capability change. The adapter does this itself on every session and input-source event; call it directly after the host enables a feature mid-session, or after a host that raises no events changes what it presents.
Returns
void
setCapabilities()
setCapabilities(capabilities: Partial<AdapterCapabilities>): void;
Defined in: service-framework-three/src/webxr-runtime-adapter.ts:315
Force capability flags regardless of what the session reports. Overrides are a layer on top of the derived values: they win for as long as they are set, survive every later derivation, and are dropped only by WebXRRuntimeAdapter.clearCapabilityOverrides or WebXRRuntimeAdapter.dispose.
Parameters
| Parameter | Type |
|---|---|
capabilities | Partial<AdapterCapabilities> |
Returns
void
start()
start(): void;
Defined in: service-framework-three/src/webxr-runtime-adapter.ts:260
Bind the animation loop, if this adapter was given a host. Each callback
becomes one FrameInfo and, where a scheduler was supplied, one
renderTick. With no host this does nothing: the app owns the loop and
calls WebXRRuntimeAdapter.emitFrame itself.
three.js routes setAnimationLoop through the session's own
requestAnimationFrame while presenting, so one call covers both the 2D
page and the headset.
Returns
void
stop()
stop(): void;
Defined in: service-framework-three/src/webxr-runtime-adapter.ts:270
Release the animation loop. Safe to call when it was never bound.
Returns
void