@relu-interactives/spatial-ecs
@relu-interactives/spatial-ecs / index / World
Class: World
Defined in: World.ts:59
Constructors
Constructor
new World(options): World;Defined in: World.ts:90
Parameters
| Parameter | Type |
|---|---|
options | { scene: Scene; camera: PerspectiveCamera; renderer: WebGLRenderer; featureFlags?: WorldFeatureFlags; } |
options.scene | Scene |
options.camera | PerspectiveCamera |
options.renderer | WebGLRenderer |
options.featureFlags? | WorldFeatureFlags |
Returns
World
Methods
createEntity()
createEntity(): number;Defined in: World.ts:109
Returns
number
destroyEntity()
destroyEntity(entityId): void;Defined in: World.ts:117
Parameters
| Parameter | Type |
|---|---|
entityId | number |
Returns
void
hasEntity()
hasEntity(entityId): boolean;Defined in: World.ts:144
Parameters
| Parameter | Type |
|---|---|
entityId | number |
Returns
boolean
getEntities()
getEntities(): number[];Defined in: World.ts:148
Returns
number[]
getEntityCount()
getEntityCount(): number;Defined in: World.ts:152
Returns
number
addComponent()
addComponent<T>(entityId, component): void;Defined in: World.ts:156
Type Parameters
| Type Parameter |
|---|
T extends Component |
Parameters
| Parameter | Type |
|---|---|
entityId | number |
component | T |
Returns
void
addComponents()
addComponents<T>(entityId, components): void;Defined in: World.ts:171
Type Parameters
| Type Parameter |
|---|
T extends Component |
Parameters
| Parameter | Type |
|---|---|
entityId | number |
components | T[] |
Returns
void
removeComponent()
removeComponent<T>(entityId, componentType): void;Defined in: World.ts:192
Type Parameters
| Type Parameter |
|---|
T extends Component |
Parameters
| Parameter | Type |
|---|---|
entityId | number |
componentType | ComponentClass<T> |
Returns
void
getComponent()
getComponent<T>(entityId, componentType): T | undefined;Defined in: World.ts:200
Type Parameters
| Type Parameter |
|---|
T extends Component |
Parameters
| Parameter | Type |
|---|---|
entityId | number |
componentType | ComponentClass<T> |
Returns
T | undefined
hasComponent()
hasComponent<T>(entityId, componentType): boolean;Defined in: World.ts:207
Type Parameters
| Type Parameter |
|---|
T extends Component |
Parameters
| Parameter | Type |
|---|---|
entityId | number |
componentType | ComponentClass<T> |
Returns
boolean
query()
query(...componentTypes): number[];Defined in: World.ts:214
Parameters
| Parameter | Type |
|---|---|
...componentTypes | ComponentClass<Component>[] |
Returns
number[]
isEntityVisible()
isEntityVisible(entityId): boolean;Defined in: World.ts:228
Returns true if the entity is currently visible (its Object3DRef.visibility is true), or if the entity has no Object3DRef component (entities without a scene object are always considered active). Systems use this to skip per-entity updates for hidden objects.
Parameters
| Parameter | Type |
|---|---|
entityId | number |
Returns
boolean
getInputSystem()
getInputSystem(): EcsSystem | null;Defined in: World.ts:233
Returns
EcsSystem | null
getKeyDown()
getKeyDown(key): boolean;Defined in: World.ts:245
Parameters
| Parameter | Type |
|---|---|
key | KeyboardKey |
Returns
boolean
getKeyUp()
getKeyUp(key): boolean;Defined in: World.ts:254
Parameters
| Parameter | Type |
|---|---|
key | KeyboardKey |
Returns
boolean
getKey()
getKey(key): boolean;Defined in: World.ts:263
Parameters
| Parameter | Type |
|---|---|
key | KeyboardKey |
Returns
boolean
getMouse()
getMouse(button): boolean;Defined in: World.ts:272
Parameters
| Parameter | Type |
|---|---|
button | string | number |
Returns
boolean
getMouseDown()
getMouseDown(button): boolean;Defined in: World.ts:281
Parameters
| Parameter | Type |
|---|---|
button | string | number |
Returns
boolean
getMouseUp()
getMouseUp(button): boolean;Defined in: World.ts:290
Parameters
| Parameter | Type |
|---|---|
button | string | number |
Returns
boolean
getScrollClick()
getScrollClick(): boolean;Defined in: World.ts:299
Returns
boolean
getScrollClickDown()
getScrollClickDown(): boolean;Defined in: World.ts:308
Returns
boolean
getScrollClickUp()
getScrollClickUp(): boolean;Defined in: World.ts:317
Returns
boolean
getScrollDelta()
getScrollDelta(): {
x: number;
y: number;
};Defined in: World.ts:326
Returns
{
x: number;
y: number;
}| Name | Type | Defined in |
|---|---|---|
x | number | World.ts:326 |
y | number | World.ts:326 |
consumeScrollDelta()
consumeScrollDelta(): {
x: number;
y: number;
};Defined in: World.ts:335
Returns
{
x: number;
y: number;
}| Name | Type | Defined in |
|---|---|---|
x | number | World.ts:335 |
y | number | World.ts:335 |
getMousePosition()
getMousePosition(): {
x: number;
y: number;
};Defined in: World.ts:344
Returns
{
x: number;
y: number;
}| Name | Type | Defined in |
|---|---|---|
x | number | World.ts:344 |
y | number | World.ts:344 |
getMouseDelta()
getMouseDelta(): {
x: number;
y: number;
};Defined in: World.ts:353
Returns
{
x: number;
y: number;
}| Name | Type | Defined in |
|---|---|---|
x | number | World.ts:353 |
y | number | World.ts:353 |
consumeMouseDelta()
consumeMouseDelta(): {
x: number;
y: number;
};Defined in: World.ts:362
Returns
{
x: number;
y: number;
}| Name | Type | Defined in |
|---|---|---|
x | number | World.ts:362 |
y | number | World.ts:362 |
getRapierModule()
getRapierModule(): Promise<__module>;Defined in: World.ts:371
Returns
Promise<__module>
getPhysicsWorld()
getPhysicsWorld(): World | null;Defined in: World.ts:389
Returns
World | null
setPhysicsWorld()
setPhysicsWorld(physicsWorld): void;Defined in: World.ts:393
Parameters
| Parameter | Type |
|---|---|
physicsWorld | World | null |
Returns
void
createPhysicsWorld()
createPhysicsWorld(options?): Promise<World | null>;Defined in: World.ts:397
Parameters
| Parameter | Type |
|---|---|
options? | { gravity?: { x?: number; y?: number; z?: number; }; } |
options.gravity? | { x?: number; y?: number; z?: number; } |
options.gravity.x? | number |
options.gravity.y? | number |
options.gravity.z? | number |
Returns
Promise<World | null>
lockMousePointer()
lockMousePointer(): boolean;Defined in: World.ts:416
Returns
boolean
unlockMousePointer()
unlockMousePointer(): boolean;Defined in: World.ts:447
Returns
boolean
isMousePointerLocked()
isMousePointerLocked(): boolean;Defined in: World.ts:468
Returns
boolean
getSystem()
getSystem<T>(system): T;Defined in: World.ts:484
Type Parameters
| Type Parameter |
|---|
T extends EcsSystem |
Parameters
| Parameter | Type |
|---|---|
system | T |
Returns
T
hasSystem()
hasSystem<T>(system): boolean;Defined in: World.ts:501
Type Parameters
| Type Parameter |
|---|
T extends EcsSystem |
Parameters
| Parameter | Type |
|---|---|
system | T |
Returns
boolean
addSystem()
addSystem(system): void;Defined in: World.ts:510
Parameters
| Parameter | Type |
|---|---|
system | EcsSystem |
Returns
void
addSystems()
addSystems(systems): void;Defined in: World.ts:514
Parameters
| Parameter | Type |
|---|---|
systems | EcsSystem[] |
Returns
void
setup()
setup(__namedParameters): {
objectManagementSystem: ObjectManagementSystem;
transformSyncSystem: TransformSyncSystem;
renderSystem: RenderSystem;
};Defined in: World.ts:520
Parameters
| Parameter | Type |
|---|---|
__namedParameters | { systems: EcsSystem[]; isEditor?: boolean; } |
__namedParameters.systems | EcsSystem[] |
__namedParameters.isEditor? | boolean |
Returns
{
objectManagementSystem: ObjectManagementSystem;
transformSyncSystem: TransformSyncSystem;
renderSystem: RenderSystem;
}| Name | Type | Defined in |
|---|---|---|
objectManagementSystem | ObjectManagementSystem | World.ts:521 |
transformSyncSystem | TransformSyncSystem | World.ts:522 |
renderSystem | RenderSystem | World.ts:523 |
isEditorMode()
isEditorMode(): boolean;Defined in: World.ts:608
Returns
boolean
pause()
pause(): void;Defined in: World.ts:619
Pauses world simulation. While paused, update() skips all system ticks so physics, animation, scripts, and rendering stop advancing. The last rendered frame remains frozen on-screen.
Call resume to continue.
Returns
void
resume()
resume(): void;Defined in: World.ts:627
Resumes world simulation after a previous pause call. Has no effect if the world is not paused.
Returns
void
isPaused()
isPaused(): boolean;Defined in: World.ts:641
Returns true if the world is currently paused.
Returns
boolean
Example
if (this.world.isPaused()) {
this.world.resume();
}getScene()
getScene(): Scene;Defined in: World.ts:645
Returns
Scene
getCamera()
getCamera(): PerspectiveCamera;Defined in: World.ts:649
Returns
PerspectiveCamera
getRenderer()
getRenderer(): WebGLRenderer;Defined in: World.ts:653
Returns
WebGLRenderer
update()
update(deltaTime): void;Defined in: World.ts:657
Parameters
| Parameter | Type |
|---|---|
deltaTime | number |
Returns
void
dispose()
dispose(): void;Defined in: World.ts:664
Returns
void
setSelectedEntity()
setSelectedEntity(entityId): void;Defined in: World.ts:676
Parameters
| Parameter | Type |
|---|---|
entityId | number | null |
Returns
void
getSelectedEntity()
getSelectedEntity(): number | null;Defined in: World.ts:698
Returns
number | null
getEntitiesByComponent()
getEntitiesByComponent(component): WorldEntityView[];Defined in: World.ts:758
Parameters
| Parameter | Type |
|---|---|
component | Component |
Returns
WorldEntityView[]
getEntitiesByName()
getEntitiesByName(name): WorldEntityView[];Defined in: World.ts:772
Parameters
| Parameter | Type |
|---|---|
name | string |
Returns
WorldEntityView[]
getEntityByName()
getEntityByName(name): WorldEntityView | null;Defined in: World.ts:781
Parameters
| Parameter | Type |
|---|---|
name | string |
Returns
WorldEntityView | null
getEntityById()
getEntityById(entityId): WorldEntityView | null;Defined in: World.ts:786
Parameters
| Parameter | Type |
|---|---|
entityId | number |
Returns
WorldEntityView | null
getObjectManagementSystem()
getObjectManagementSystem(): ObjectManagementSystem;Defined in: World.ts:794
Returns
getEnvironmentComponent()
getEnvironmentComponent(): Environment | undefined;Defined in: World.ts:822
Returns the singleton Environment component for the scene, or undefined if no environment entity exists yet.
Mutate component.values directly to change skybox, fog, or gravity at runtime — EnvironmentSyncSystem picks up the changes next frame.
Returns
Environment | undefined
Example
const env = this.world.getEnvironmentComponent();
if (env) {
env.values.fog.type = "exponential";
env.values.fog.exponential.density = 0.01;
}getPostprocessingComponent()
getPostprocessingComponent():
| Postprocessing
| undefined;Defined in: World.ts:845
Returns the singleton Postprocessing component for the scene, or undefined if no postprocessing entity exists yet.
Mutate component.values directly to enable/disable effects or tweak parameters at runtime — PostprocessingSyncSystem picks up the changes next frame.
Returns
| Postprocessing | undefined
Example
const pp = this.world.getPostprocessingComponent();
if (pp) {
pp.values.bloom.enabled = true;
pp.values.bloom.intensity = 2.0;
}raycast()
raycast(
origin,
direction,
near?,
far?): IntersectionResult[];Defined in: World.ts:875
Cast a ray from origin along direction and return every intersected entity-bound mesh, sorted by distance. Each result is a standard THREE.Intersection augmented with the owning entityId (or null if the hit object is not part of any tracked entity).
Parameters
| Parameter | Type | Default value | Description |
|---|---|---|---|
origin | Vec3 | undefined | World-space origin of the ray (THREE.Vector3 or { x, y, z }). |
direction | Vec3 | undefined | World-space direction of the ray. Will be normalized internally; magnitude is ignored. |
near | number | 0 | Minimum hit distance from the origin. Defaults to 0. |
far | number | Infinity | Maximum hit distance from the origin. Defaults to Infinity. |
Returns
Example
const hits = world.raycast(
{ x: 0, y: 1, z: 0 },
{ x: 0, y: 0, z: -1 },
);
if (hits[0]?.entityId !== null) {
console.log("hit entity", hits[0].entityId, "at", hits[0].point);
}raycastFrom()
raycastFrom(
entityId,
near?,
far?): IntersectionResult[];Defined in: World.ts:926
Cast a ray from an entity's world-space position along its forward direction (the +Z axis of its world matrix). Returns intersected entity-bound meshes sorted by distance, with the source entity itself filtered out so the ray does not hit the caster.
Parameters
| Parameter | Type | Default value | Description |
|---|---|---|---|
entityId | number | undefined | Entity to cast the ray from. Must have an Object3DRef. |
near | number | 0 | Minimum hit distance from the origin. Defaults to 0. |
far | number | Infinity | Maximum hit distance from the origin. Defaults to Infinity. |
Returns
Example
const hits = world.raycastFrom(this.entityId, 0, 50);
const closest = hits[0];
if (closest && closest.entityId !== null) {
console.log("looking at", closest.entityId);
}getEntityScript()
getEntityScript<T>(entityId): T | null;Defined in: World.ts:1009
Type Parameters
| Type Parameter | Default type |
|---|---|
T | unknown |
Parameters
| Parameter | Type |
|---|---|
entityId | number |
Returns
T | null
getScripts()
getScripts<T>(className): T[];Defined in: World.ts:1022
Type Parameters
| Type Parameter | Default type |
|---|---|
T | unknown |
Parameters
| Parameter | Type |
|---|---|
className | string |
Returns
T[]
getScript()
getScript<T>(className): T | null;Defined in: World.ts:1063
Type Parameters
| Type Parameter | Default type |
|---|---|
T | unknown |
Parameters
| Parameter | Type |
|---|---|
className | string |
Returns
T | null
getAllEntities()
getAllEntities(): WorldEntityView[];Defined in: World.ts:1068
Returns
WorldEntityView[]
onSelectionChanged()
onSelectionChanged(listener): () => void;Defined in: World.ts:1074
Parameters
| Parameter | Type |
|---|---|
listener | SelectionListener |
Returns
() => void
subscribe()
subscribe(listener): () => void;Defined in: World.ts:1082
Parameters
| Parameter | Type |
|---|---|
listener | StoreListener |
Returns
() => void
getDebugSnapshot()
getDebugSnapshot(maxDepth?): unknown;Defined in: World.ts:1090
Parameters
| Parameter | Type | Default value |
|---|---|---|
maxDepth | number | 3 |
Returns
unknown
getDebugSignature()
getDebugSignature(maxDepth?): string;Defined in: World.ts:1140
Parameters
| Parameter | Type | Default value |
|---|---|---|
maxDepth | number | 3 |
Returns
string
createHistorySnapshot()
createHistorySnapshot(): WorldHistorySnapshot;Defined in: World.ts:1144
Returns
WorldHistorySnapshot
applyHistorySnapshot()
applyHistorySnapshot(snapshot): void;Defined in: World.ts:1165
Parameters
| Parameter | Type |
|---|---|
snapshot | WorldHistorySnapshot |
Returns
void

