Skip to content

Class: ScreenSpaceUISystem ​

Defined in: packages/core/src/ui/screenspace.ts:76

Positions PanelUI documents relative to the camera with CSS‑like semantics.

Remarks ​

  • Converts CSS units to pixels using temporary DOM nodes, then maps pixels to meters at a camera‑relative plane given by zOffset.
  • Automatically toggles between screen‑space (under the camera) and world‑space depending on renderer.xr.isPresenting.
  • Sets UIKitDocument.setTargetDimensions so that the UI scales to the requested size without distorting aspect ratio.

Extends ​

  • System<SystemSchema, { panels: { required: (Component<{ bottom: { default: string; type: String; }; height: { default: string; type: String; }; left: { default: string; type: String; }; right: { default: string; type: String; }; top: { default: string; type: String; }; width: { default: string; type: String; }; zOffset: { default: number; type: Float32; }; }> | Component<{ config: { default: string; type: String; }; maxHeight: { default: number; type: Float32; }; maxWidth: { default: number; type: Float32; }; }> | Component<{ document: { default: any; type: Object; }; }>)[]; }; }, this>

Constructors ​

Constructor ​

new ScreenSpaceUISystem(_w, _qm, _p): ScreenSpaceUISystem

Defined in: node_modules/.pnpm/elics@3.4.2/node_modules/elics/lib/system.d.ts:76

Parameters ​

_w ​

World

_qm ​

QueryManager

_p ​

number

Returns ​

ScreenSpaceUISystem

Inherited from ​

createSystem({ panels: { required: [PanelUI, PanelDocument, ScreenSpace] }, }).constructor

Properties ​

camera ​

readonly camera: PerspectiveCamera

Defined in: packages/core/src/ecs/system.ts:63

Inherited from ​

System.camera


cleanupFuncs ​

readonly cleanupFuncs: () => void[]

Defined in: packages/core/src/ecs/system.ts:66

Returns ​

void

Inherited from ​

System.cleanupFuncs


config ​

config: SystemConfigSignals<S>

Defined in: packages/core/src/ecs/system.ts:49

Inherited from ​

System.config


createEntity() ​

createEntity: () => Entity

Defined in: packages/core/src/ecs/system.ts:81

Returns ​

Entity

Inherited from ​

System.createEntity


globals ​

globals: Record<string, any>

Defined in: packages/core/src/ecs/system.ts:54

Inherited from ​

System.globals


input ​

readonly input: InputManager

Defined in: packages/core/src/ecs/system.ts:61

Inherited from ​

System.input


isPaused ​

isPaused: boolean

Defined in: packages/core/src/ecs/system.ts:48

Inherited from ​

System.isPaused


player ​

readonly player: XROrigin

Defined in: packages/core/src/ecs/system.ts:58

Inherited from ​

System.player


playerEntity ​

readonly playerEntity: Entity

Defined in: packages/core/src/ecs/system.ts:59

Inherited from ​

System.playerEntity


playerHeadEntity ​

readonly playerHeadEntity: Entity

Defined in: packages/core/src/ecs/system.ts:60

Inherited from ​

System.playerHeadEntity


priority ​

priority: number

Defined in: packages/core/src/ecs/system.ts:53

Inherited from ​

System.priority


queries ​

queries: Record<keyof Q, Query>

Defined in: packages/core/src/ecs/system.ts:50

Inherited from ​

System.queries


queryManager ​

queryManager: QueryManager

Defined in: packages/core/src/ecs/system.ts:52

Inherited from ​

System.queryManager


renderer ​

readonly renderer: WebGLRenderer

Defined in: packages/core/src/ecs/system.ts:64

Inherited from ​

System.renderer


scene ​

readonly scene: Scene

Defined in: packages/core/src/ecs/system.ts:62

Inherited from ​

System.scene


visibilityState ​

readonly visibilityState: Signal<VisibilityState>

Defined in: packages/core/src/ecs/system.ts:65

Inherited from ​

System.visibilityState


world ​

world: World

Defined in: packages/core/src/ecs/system.ts:51

Inherited from ​

System.world


xrFrame ​

xrFrame: XRFrame

Defined in: packages/core/src/ecs/system.ts:56

Inherited from ​

System.xrFrame


xrManager ​

xrManager: WebXRManager

Defined in: packages/core/src/ecs/system.ts:55

Inherited from ​

System.xrManager

Methods ​

destroy() ​

destroy(): void

Defined in: packages/core/src/ui/screenspace.ts:303

Returns ​

void

Overrides ​

createSystem({ panels: { required: [PanelUI, PanelDocument, ScreenSpace] }, }).destroy


init() ​

init(): void

Defined in: packages/core/src/ui/screenspace.ts:90

Prepare hidden DOM helpers and resize listener.

Returns ​

void

Overrides ​

System.init


play() ​

play(): void

Defined in: packages/core/src/ecs/system.ts:79

Returns ​

void

Inherited from ​

System.play


stop() ​

stop(): void

Defined in: packages/core/src/ecs/system.ts:80

Returns ​

void

Inherited from ​

System.stop


update() ​

update(): void

Defined in: packages/core/src/ui/screenspace.ts:111

Move panels between world and screen space and recompute layout on changes.

Returns ​

void

Overrides ​

System.update

Privacy | Terms