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?
optionalcurrentFrame:XRFrame
Defined in: src/core/Core.ts:131
depth
depth:
Depth
Defined in: src/core/Core.ts:122
deviceCamera?
optionaldeviceCamera:XRDeviceCamera
Defined in: src/core/Core.ts:121
dragManager
dragManager:
DragManager
Defined in: src/core/Core.ts:102
Manages drag-and-drop interactions.
effects?
optionaleffects:XREffects
Defined in: src/core/Core.ts:126
gestureRecognition?
optionalgestureRecognition:GestureRecognition
Defined in: src/core/Core.ts:129
input
input:
Input
Defined in: src/core/Core.ts:75
Manages hand, mouse, gaze inputs.
lighting?
optionallighting: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?
optionalphysics:Physics
Defined in: src/core/Core.ts:124
poseEstimation?
optionalposeEstimation: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()?
optionalrenderSceneOverride: (renderer,scene,camera) =>void
Defined in: src/core/Core.ts:138
Parameters
renderer
scene
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?
optionaltransition: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?
optionalwebXRSessionManager: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?
optionalxrButton: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?
staticoptionalinstance: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
Set Signature
set renderer(
renderer):void
Defined in: src/core/Core.ts:160
Parameters
renderer
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