Skip to main content

Class: Core

Defined in: src/core/Core.ts:44

Core is the central engine of the XR Blocks framework, acting as a singleton manager for all XR subsystems. Its primary goal is to abstract low-level WebXR and THREE.js details, providing a simplified and powerful API for developers and AI agents to build interactive XR applications.

Constructors

Constructor

new Core(): Core

Defined in: src/core/Core.ts:126

Core is a singleton manager that manages all XR "blocks". It initializes core components and abstractions like the scene, camera, user, UI, AI, and input managers.

Returns

Core

Properties

ai

ai: AI

Defined in: src/core/Core.ts:107


camera

camera: PerspectiveCamera

Defined in: src/core/Core.ts:68

The main camera for rendering.


currentFrame?

optional currentFrame: XRFrame

Defined in: src/core/Core.ts:109


depth

depth: Depth

Defined in: src/core/Core.ts:102


deviceCamera?

optional deviceCamera: XRDeviceCamera

Defined in: src/core/Core.ts:101


dragManager

dragManager: DragManager

Defined in: src/core/Core.ts:86

Manages drag-and-drop interactions.


effects?

optional effects: XREffects

Defined in: src/core/Core.ts:106


input

input: Input

Defined in: src/core/Core.ts:65

Manages hand, mouse, gaze inputs.


lighting?

optional lighting: Lighting

Defined in: src/core/Core.ts:103


options

options: Options

Defined in: src/core/Core.ts:100


physics?

optional physics: Physics

Defined in: src/core/Core.ts:104


registry

registry: Registry

Defined in: src/core/Core.ts:57

Registry used for dependency injection on existing subsystems.


renderer

renderer: WebGLRenderer

Defined in: src/core/Core.ts:99


renderSceneOverride()?

optional renderSceneOverride: (renderer, scene, camera) => void

Defined in: src/core/Core.ts:116

Parameters

renderer

WebGLRenderer

scene

Scene

camera

Camera

Returns

void


scene

scene: Scene

Defined in: src/core/Core.ts:71

The root scene graph for all objects.


screenshotSynthesizer

screenshotSynthesizer: ScreenshotSynthesizer

Defined in: src/core/Core.ts:49

Component responsible for capturing screenshots of the XR scene for AI.


scriptsManager

scriptsManager: ScriptsManager

Defined in: src/core/Core.ts:110


simulator

simulator: Simulator

Defined in: src/core/Core.ts:83

Manages the desktop XR simulator.


simulatorRunning

simulatorRunning: boolean = false

Defined in: src/core/Core.ts:97

Whether the XR simulator is currently active.


sound

sound: CoreSound

Defined in: src/core/Core.ts:80

Manages all (spatial) audio playback.


textureLoader

textureLoader: TextureLoader

Defined in: src/core/Core.ts:92

A shared texture loader.


timer

timer: Timer

Defined in: src/core/Core.ts:62

A clock for tracking time deltas. Call clock.getDeltaTime().


transition?

optional transition: XRTransition

Defined in: src/core/Core.ts:108


ui

ui: UI

Defined in: src/core/Core.ts:77

Manages all UI elements.


user

user: User

Defined in: src/core/Core.ts:74

Represents the user in the XR scene.


waitFrame

waitFrame: WaitFrame

Defined in: src/core/Core.ts:53

Component responsible for waiting for the next frame.


webXRSessionManager?

optional webXRSessionManager: WebXRSessionManager

Defined in: src/core/Core.ts:119


world

world: World

Defined in: src/core/Core.ts:89

Manages drag-and-drop interactions.


xrButton?

optional xrButton: XRButton

Defined in: src/core/Core.ts:105


instance?

static optional instance: Core

Defined in: src/core/Core.ts:45

Methods

init()

init(options): Promise<void>

Defined in: src/core/Core.ts:165

Initializes the Core system with a given set of options. This includes setting up the renderer, enabling features like controllers, depth sensing, and physics, and starting the render loop.

Parameters

options

Options = ...

Configuration options for the session.

Returns

Promise<void>