Class: Core
Defined in: src/core/Core.ts:75
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:267
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:172
camera
camera:
PerspectiveCamera
Defined in: src/core/Core.ts:104
The main camera for rendering.
context
context:
Context
Defined in: src/core/Core.ts:141
Manages agent-facing observations of the app/session.
depth
depth:
Depth
Defined in: src/core/Core.ts:167
deviceCamera?
optionaldeviceCamera:XRDeviceCamera
Defined in: src/core/Core.ts:166
effects?
optionaleffects:XREffects
Defined in: src/core/Core.ts:171
gestureRecognition?
optionalgestureRecognition:GestureRecognition
Defined in: src/core/Core.ts:174
input
input:
Input
Defined in: src/core/Core.ts:101
Manages hand, mouse, gaze inputs.
lighting?
optionallighting:Lighting
Defined in: src/core/Core.ts:168
options
options:
Options
Defined in: src/core/Core.ts:165
permissionsManager
permissionsManager:
PermissionsManager
Defined in: src/core/Core.ts:191
physics?
optionalphysics:Physics
Defined in: src/core/Core.ts:169
poseEstimation?
optionalposeEstimation:PoseEstimator
Defined in: src/core/Core.ts:173
registry
registry:
Registry
Defined in: src/core/Core.ts:92
Registry used for dependency injection on existing subsystems.
renderSceneOverride()?
optionalrenderSceneOverride: (renderer,scene,camera) =>void
Defined in: src/core/Core.ts:185
Parameters
renderer
scene
camera
Returns
void
scene
scene:
Scene<Object3DEventMap>
Defined in: src/core/Core.ts:107
The root scene graph for all objects.
screenshotSynthesizer
screenshotSynthesizer:
ScreenshotSynthesizer
Defined in: src/core/Core.ts:80
Component responsible for capturing screenshots of the XR scene for AI.
scriptsManager
scriptsManager:
ScriptsManager
Defined in: src/core/Core.ts:179
simulator?
optionalsimulator:Simulator
Defined in: src/core/Core.ts:122
The desktop XR simulator after its runtime chunk has loaded.
simulatorRunning
simulatorRunning:
boolean=false
Defined in: src/core/Core.ts:150
Whether the XR simulator is currently active.
sound
sound:
CoreSound
Defined in: src/core/Core.ts:113
Manages all (spatial) audio playback.
textureLoader
textureLoader:
TextureLoader
Defined in: src/core/Core.ts:144
A shared texture loader.
timer
timer:
Timer
Defined in: src/core/Core.ts:97
A timer for tracking time deltas. Call timer.getDelta() or getDeltaTime().
transition?
optionaltransition:XRTransition
Defined in: src/core/Core.ts:175
user
user:
User
Defined in: src/core/Core.ts:110
Represents the user in the XR scene.
waitFrame
waitFrame:
WaitFrame
Defined in: src/core/Core.ts:84
Component responsible for waiting for the next frame.
webXRSessionManager?
optionalwebXRSessionManager:WebXRSessionManager
Defined in: src/core/Core.ts:190
world
world:
World
Defined in: src/core/Core.ts:138
Manages real-world understanding: planes, meshes, objects, and sounds.
xrButton?
optionalxrButton:XRButton
Defined in: src/core/Core.ts:170
xrReferenceSpaceCache
xrReferenceSpaceCache:
XRReferenceSpaceCache
Defined in: src/core/Core.ts:88
Caches WebXR reference spaces for the active session.
xrSystemsGroup
xrSystemsGroup:
XRSystems
Defined in: src/core/Core.ts:116
A container to hold all the systems in the scene hierarchy.
instance?
staticoptionalinstance:Core
Defined in: src/core/Core.ts:76
Accessors
currentFrame
Get Signature
get currentFrame():
XRFrame|undefined
Defined in: src/core/Core.ts:176
Returns
XRFrame | undefined
elapsedTime
Get Signature
get elapsedTime():
number
Defined in: src/core/Core.ts:215
Returns
number
isPaused
Get Signature
get isPaused():
boolean
Defined in: src/core/Core.ts:211
Returns
boolean
lifecycle
Get Signature
get lifecycle():
CoreLifecycleState
Defined in: src/core/Core.ts:220
Current state of this terminal Core lifetime.
Returns
renderer
Get Signature
get renderer():
WebGLRenderer
Defined in: src/core/Core.ts:197
The WebGL 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:207
Parameters
renderer
Returns
void
Methods
dispose()
dispose():
Promise<void>
Defined in: src/core/Core.ts:318
Returns
Promise<void>
init()
init(
options):Promise<void>
Defined in: src/core/Core.ts:427
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:224
Returns
void
resume()
resume():
void
Defined in: src/core/Core.ts:229
Returns
void
startSimulator()
Defined in: src/core/Core.ts:854
Returns
stepFrame()
stepFrame(
dtMs):void
Defined in: src/core/Core.ts:233
Parameters
dtMs
number = 16.67
Returns
void