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
| Property | Modifier | Type | Description | Inherited from | Defined in |
|---|---|---|---|---|---|
supportsStandalonePanels | readonly | boolean | Whether 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.supportsStandalonePanels | packages/webxr-uiextensions/src/adapter.ts:150 |
world | readonly | World | - | - | 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
| Parameter | Type |
|---|---|
configJson | unknown |
Returns
Inherited from
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
| Parameter | Type |
|---|---|
options | CreateWindowOptions |
Returns
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
| Parameter | Type |
|---|---|
listener | (event: PanelReadyEvent) => void |
Returns
() => void
Inherited from
spawnRegion()
spawnRegion(region: SceneRegion): void;
Defined in: packages/webxr-uiextensions/src/scene.ts:75
Parameters
| Parameter | Type |
|---|---|
region | SceneRegion |
Returns
void
Inherited from
spawnWindow()
spawnWindow(window: SceneWindow): void;
Defined in: packages/webxr-uiextensions/src/scene.ts:76
Parameters
| Parameter | Type |
|---|---|
window | SceneWindow |
Returns
void