Skip to main content

Class: Core

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

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

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


camera

camera: PerspectiveCamera

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

The main camera for rendering.


currentFrame?

optional currentFrame: XRFrame

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


depth

depth: Depth

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


deviceCamera?

optional deviceCamera: XRDeviceCamera

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


dragManager

dragManager: DragManager

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

Manages drag-and-drop interactions.


effects?

optional effects: XREffects

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


gestureRecognition?

optional gestureRecognition: GestureRecognition

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


input

input: Input

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

Manages hand, mouse, gaze inputs.


lighting?

optional lighting: Lighting

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


options

options: Options

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


permissionsManager

permissionsManager: PermissionsManager

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


physics?

optional physics: Physics

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


poseEstimation?

optional poseEstimation: PoseEstimator

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


registry

registry: Registry

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

Registry used for dependency injection on existing subsystems.


renderSceneOverride()?

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

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

Parameters

renderer

WebGLRenderer

scene

Scene

camera

Camera

Returns

void


scene

scene: Scene<Object3DEventMap>

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

The root scene graph for all objects.


screenshotSynthesizer

screenshotSynthesizer: ScreenshotSynthesizer

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

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


scriptsManager

scriptsManager: ScriptsManager

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


simulator

simulator: Simulator

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

Manages the desktop XR simulator.


simulatorRunning

simulatorRunning: boolean = false

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

Whether the XR simulator is currently active.


sound

sound: CoreSound

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

Manages all (spatial) audio playback.


textureLoader

textureLoader: TextureLoader

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

A shared texture loader.


timer

timer: Timer

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

A timer for tracking time deltas. Call timer.getDelta() or getDeltaTime().


transition?

optional transition: XRTransition

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


ui

ui: UI

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

Manages all UI elements.


user

user: User

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

Represents the user in the XR scene.


waitFrame

waitFrame: WaitFrame

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

Component responsible for waiting for the next frame.


webXRSessionManager?

optional webXRSessionManager: WebXRSessionManager

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


world

world: World

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

Manages real-world understanding: planes, meshes, objects, and sounds.


xrButton?

optional xrButton: XRButton

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


xrSystemsGroup

xrSystemsGroup: XRSystems

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

A container to hold all the systems in the scene hierarchy.


instance?

static optional instance: Core

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

Accessors

isPaused

Get Signature

get isPaused(): boolean

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

Returns

boolean


renderer

Get Signature

get renderer(): WebGLRenderer

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

The WebGL renderer, created during Core.init. Reading it before init() has run returns undefined and logs a one-time warning.

Returns

WebGLRenderer

Set Signature

set renderer(renderer): void

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

Parameters
renderer

WebGLRenderer

Returns

void

Methods

init()

init(options): Promise<void>

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

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>


pause()

pause(): void

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

Returns

void


resume()

resume(): void

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

Returns

void


stepFrame()

stepFrame(dtMs): void

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

Parameters

dtMs

number = 16.67

Returns

void