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?
optionalcurrentFrame:XRFrame
Defined in: src/core/Core.ts:117
depth
depth:
Depth
Defined in: src/core/Core.ts:109
deviceCamera?
optionaldeviceCamera:XRDeviceCamera
Defined in: src/core/Core.ts:108
dragManager
dragManager:
DragManager
Defined in: src/core/Core.ts:93
Manages drag-and-drop interactions.
effects?
optionaleffects:XREffects
Defined in: src/core/Core.ts:113
gestureRecognition?
optionalgestureRecognition:GestureRecognition
Defined in: src/core/Core.ts:115
input
input:
Input
Defined in: src/core/Core.ts:70
Manages hand, mouse, gaze inputs.
lighting?
optionallighting:Lighting
Defined in: src/core/Core.ts:110
options
options:
Options
Defined in: src/core/Core.ts:107
physics?
optionalphysics: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()?
optionalrenderSceneOverride: (renderer,scene,camera) =>void
Defined in: src/core/Core.ts:124
Parameters
renderer
scene
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?
optionaltransition: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?
optionalwebXRSessionManager:WebXRSessionManager
Defined in: src/core/Core.ts:129
world
world:
World
Defined in: src/core/Core.ts:96
Manages drag-and-drop interactions.
xrButton?
optionalxrButton:XRButton
Defined in: src/core/Core.ts:112
instance?
staticoptionalinstance: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>