Skip to main content

Class: Core

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

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:136

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:114


camera

camera: PerspectiveCamera

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

The main camera for rendering.


currentFrame?

optional currentFrame: XRFrame

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


depth

depth: Depth

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


deviceCamera?

optional deviceCamera: XRDeviceCamera

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


dragManager

dragManager: DragManager

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

Manages drag-and-drop interactions.


effects?

optional effects: XREffects

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


gestureRecognition?

optional gestureRecognition: GestureRecognition

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


input

input: Input

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

Manages hand, mouse, gaze inputs.


lighting?

optional lighting: Lighting

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


options

options: Options

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


physics?

optional physics: Physics

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


registry

registry: Registry

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

Registry used for dependency injection on existing subsystems.


renderer

renderer: WebGLRenderer

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


renderSceneOverride()?

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

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

Parameters

renderer

WebGLRenderer

scene

Scene

camera

Camera

Returns

void


scene

scene: Scene<Object3DEventMap>

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

The root scene graph for all objects.


screenshotSynthesizer

screenshotSynthesizer: ScreenshotSynthesizer

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

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


scriptsManager

scriptsManager: ScriptsManager

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


simulator

simulator: Simulator

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

Manages the desktop XR simulator.


simulatorRunning

simulatorRunning: boolean = false

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

Whether the XR simulator is currently active.


sound

sound: CoreSound

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

Manages all (spatial) audio playback.


textureLoader

textureLoader: TextureLoader

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

A shared texture loader.


timer

timer: Timer

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

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


transition?

optional transition: XRTransition

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


ui

ui: UI

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

Manages all UI elements.


user

user: User

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

Represents the user in the XR scene.


waitFrame

waitFrame: WaitFrame

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

Component responsible for waiting for the next frame.


webXRSessionManager?

optional webXRSessionManager: WebXRSessionManager

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


world

world: World

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

Manages drag-and-drop interactions.


xrButton?

optional xrButton: XRButton

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


instance?

static optional instance: Core

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

Methods

init()

init(options): Promise<void>

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

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>