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
scene
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
>