Class: Core
Defined in: src/core/Core.ts:81
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(
simulatorLoader):Core
Defined in: src/core/Core.ts:284
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.
Parameters
simulatorLoader
SimulatorLoader = loadSimulatorModule
Returns
Core
Properties
ai
ai:
AI
Defined in: src/core/Core.ts:189
camera
camera:
PerspectiveCamera
Defined in: src/core/Core.ts:110
The main camera for rendering.
context
context:
Context
Defined in: src/core/Core.ts:147
Manages agent-facing observations of the app/session.
depth
depth:
Depth
Defined in: src/core/Core.ts:184
deviceCamera?
optionaldeviceCamera:XRDeviceCamera
Defined in: src/core/Core.ts:183
effects?
optionaleffects:XREffects
Defined in: src/core/Core.ts:188
gestureRecognition?
optionalgestureRecognition:GestureRecognition
Defined in: src/core/Core.ts:191
input
input:
Input
Defined in: src/core/Core.ts:107
Manages hand, mouse, gaze inputs.
lighting?
optionallighting:Lighting
Defined in: src/core/Core.ts:185
options
options:
Options
Defined in: src/core/Core.ts:182
permissionsManager
permissionsManager:
PermissionsManager
Defined in: src/core/Core.ts:208
physics?
optionalphysics:Physics
Defined in: src/core/Core.ts:186
poseEstimation?
optionalposeEstimation:PoseEstimator
Defined in: src/core/Core.ts:190
registry
registry:
Registry
Defined in: src/core/Core.ts:98
Registry used for dependency injection on existing subsystems.
renderSceneOverride()?
optionalrenderSceneOverride: (renderer,scene,camera) =>void
Defined in: src/core/Core.ts:202
Parameters
renderer
scene
camera
Returns
void
scene
scene:
Scene<Object3DEventMap>
Defined in: src/core/Core.ts:113
The root scene graph for all objects.
screenshotSynthesizer
screenshotSynthesizer:
ScreenshotSynthesizer
Defined in: src/core/Core.ts:86
Component responsible for capturing screenshots of the XR scene for AI.
scriptsManager
scriptsManager:
ScriptsManager
Defined in: src/core/Core.ts:196
simulator?
optionalsimulator:Simulator
Defined in: src/core/Core.ts:128
The desktop XR simulator after its runtime chunk has loaded.
simulatorRunning
simulatorRunning:
boolean=false
Defined in: src/core/Core.ts:156
Whether the XR simulator is currently active.
sound
sound:
CoreSound
Defined in: src/core/Core.ts:119
Manages all (spatial) audio playback.
textureLoader
textureLoader:
TextureLoader
Defined in: src/core/Core.ts:150
A shared texture loader.
timer
timer:
Timer
Defined in: src/core/Core.ts:103
A timer for tracking time deltas. Call timer.getDelta() or getDeltaTime().
transition?
optionaltransition:XRTransition
Defined in: src/core/Core.ts:192
user
user:
User
Defined in: src/core/Core.ts:116
Represents the user in the XR scene.
waitFrame
waitFrame:
WaitFrame
Defined in: src/core/Core.ts:90
Component responsible for waiting for the next frame.
webXRSessionManager?
optionalwebXRSessionManager:WebXRSessionManager
Defined in: src/core/Core.ts:207
world
world:
World
Defined in: src/core/Core.ts:144
Manages real-world understanding: planes, meshes, objects, and sounds.
xrButton?
optionalxrButton:XRButton
Defined in: src/core/Core.ts:187
xrReferenceSpaceCache
xrReferenceSpaceCache:
XRReferenceSpaceCache
Defined in: src/core/Core.ts:94
Caches WebXR reference spaces for the active session.
xrSystemsGroup
xrSystemsGroup:
XRSystems
Defined in: src/core/Core.ts:122
A container to hold all the systems in the scene hierarchy.
instance?
staticoptionalinstance:Core
Defined in: src/core/Core.ts:82
Accessors
currentFrame
Get Signature
get currentFrame():
XRFrame|null|undefined
Defined in: src/core/Core.ts:193
Returns
XRFrame | null | undefined
elapsedTime
Get Signature
get elapsedTime():
number
Defined in: src/core/Core.ts:232
Returns
number
isPaused
Get Signature
get isPaused():
boolean
Defined in: src/core/Core.ts:228
Returns
boolean
lifecycle
Get Signature
get lifecycle():
CoreLifecycleState
Defined in: src/core/Core.ts:237
Current state of this terminal Core lifetime.
Returns
renderer
Get Signature
get renderer():
WebGLOrWebGPURenderer
Defined in: src/core/Core.ts:214
The WebGL or WebGPU renderer, created during Core.init. Reading it
before init() has run returns undefined and logs a one-time warning.
Returns
Set Signature
set renderer(
renderer):void
Defined in: src/core/Core.ts:224
Parameters
renderer
Returns
void
Methods
dispose()
dispose():
Promise<void>
Defined in: src/core/Core.ts:335
Returns
Promise<void>
init()
init(
options):Promise<void>
Defined in: src/core/Core.ts:449
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:241
Returns
void
resume()
resume():
void
Defined in: src/core/Core.ts:246
Returns
void
startSimulator()
Defined in: src/core/Core.ts:917
Returns
stepFrame()
stepFrame(
dtMs):void
Defined in: src/core/Core.ts:250
Parameters
dtMs
number = 16.67
Returns
void