Skip to main content

Interface: IwsdkSceneHost

Defined in: packages/iwsdk-uiextensions/src/scene-host.ts:96

The engine-agnostic surface an app needs to build a UI: spawn windows and regions from portable data, observe when panels become wireable, and reach the shared WindowManager.

Panels load asynchronously on every adapter (IWSDK fetches the config; uikit lays out over following frames), so app code must never assume a panel exists immediately after creating its window. onPanelReady is the portable answer - it replaces engine-specific discovery (ECS queries on IWSDK, polling anywhere else) and fires for panels that became ready before the listener was registered, so wiring order never matters.

Extends

Properties

PropertyModifierTypeDescriptionInherited fromDefined in
supportsStandalonePanelsreadonlybooleanWhether PanelHost.createPanel works on this host. When false the method is not available and throws; spawn a window instead, so the engine owns the panel lifecycle. IWSDK is false, three.js/XR Blocks is true.WindowHost.supportsStandalonePanelspackages/webxr-uiextensions/src/adapter.ts:150
worldreadonlyWorld--packages/iwsdk-uiextensions/src/scene-host.ts:97

Methods

createPanel()

createPanel(configJson: unknown): PanelHandle;

Defined in: packages/webxr-uiextensions/src/adapter.ts:105

Create a panel from compiled UIKitML JSON (the { element, classes } shape produced by the build plugin or by @realitycollective/uix-devtools' compilePanelSource).

Parameters

ParameterType
configJsonunknown

Returns

PanelHandle

Inherited from

WindowHost.createPanel


createWindow()

createWindow(options: CreateWindowOptions): IwsdkWindowHandle;

Defined in: packages/iwsdk-uiextensions/src/scene-host.ts:103

Spawn a managed window and get a handle back straight away. IWSDK loads the markup over later frames, so handle.panel is undefined at first and handle.onReady is how you wait for it without an ECS query.

Parameters

ParameterType
optionsCreateWindowOptions

Returns

IwsdkWindowHandle


onPanelReady()

onPanelReady(listener: (event: PanelReadyEvent) => void): () => void;

Defined in: packages/webxr-uiextensions/src/adapter.ts:155

Subscribe to panel readiness. Late subscribers are replayed the windows that are already live. Returns an unsubscribe function.

Parameters

ParameterType
listener(event: PanelReadyEvent) => void

Returns

() => void

Inherited from

WindowHost.onPanelReady


spawnRegion()

spawnRegion(region: SceneRegion): void;

Defined in: packages/webxr-uiextensions/src/scene.ts:75

Parameters

ParameterType
regionSceneRegion

Returns

void

Inherited from

SceneTarget.spawnRegion


spawnWindow()

spawnWindow(window: SceneWindow): void;

Defined in: packages/webxr-uiextensions/src/scene.ts:76

Parameters

ParameterType
windowSceneWindow

Returns

void

Inherited from

SceneTarget.spawnWindow