Skip to main content

ZylemParticleSystem

@zylem/game-lib


@zylem/game-lib / entity / ZylemParticleSystem

Class: ZylemParticleSystem

Defined in: packages/game-lib/src/lib/entities/particle-system.ts:75

Implemented by entities that define their own selection view. target is a scratch box to write into; return it, or null when the entity currently has no selectable volume. World space.

Extends​

Implements​

Constructors​

Constructor​

new ZylemParticleSystem(options?, initializeBehavior?): ZylemParticleSystem

Defined in: packages/game-lib/src/lib/entities/particle-system.ts:91

Parameters​

options?​

Partial<ZylemParticleSystemOptions>

initializeBehavior?​

boolean = true

Returns​

ZylemParticleSystem

Overrides​

GameEntity<ZylemParticleSystemOptions>.constructor

Properties​

__zylemParticleSystemEntity​

__zylemParticleSystemEntity: true

Defined in: packages/game-lib/src/lib/entities/particle-system.ts:79


_spawnInProgress​

_spawnInProgress: boolean = false

Defined in: packages/game-lib/src/lib/entities/entity.ts:284

True while StageEntityDelegate.spawnEntity is running for this entity.

Inherited from​

GameEntity._spawnInProgress


_spawnPlacementPending​

_spawnPlacementPending: boolean = false

Defined in: packages/game-lib/src/lib/entities/entity.ts:278

Hide render target until spawn placement is confirmed.

Inherited from​

GameEntity._spawnPlacementPending


_spawnPlacementReady​

_spawnPlacementReady: boolean = false

Defined in: packages/game-lib/src/lib/entities/entity.ts:282

setPosition / setPose assigned a spawn placement during this spawn.

Inherited from​

GameEntity._spawnPlacementReady


_spawnPositionExplicit​

_spawnPositionExplicit: boolean = false

Defined in: packages/game-lib/src/lib/entities/entity.ts:280

Author passed position in create options.

Inherited from​

GameEntity._spawnPositionExplicit


body​

body: SimulationBody | null = null

Defined in: packages/game-lib/src/lib/entities/entity.ts:194

Inherited from​

GameEntity.body


bodyDesc​

bodyDesc: SimulationBodyDefinition | null = null

Defined in: packages/game-lib/src/lib/entities/entity.ts:193

Inherited from​

GameEntity.bodyDesc


bundleKey​

bundleKey: string | null = null

Defined in: packages/game-lib/src/lib/entities/entity.ts:239

Bundle key for WebGPU bundle rendering (null if not bundled)

Inherited from​

GameEntity.bundleKey


children​

protected children: NodeInterface[] = []

Defined in: packages/game-lib/src/lib/core/base-node.ts:46

Inherited from​

GameEntity.children


colliderBaseline​

colliderBaseline: SimulationColliderDefinition[] | null = null

Defined in: packages/game-lib/src/lib/entities/entity.ts:211

Pristine collider definitions captured before the first scale change, so scaling stays absolute rather than compounding. See ensureColliderBaseline.

Inherited from​

GameEntity.colliderBaseline


colliderDesc​

colliderDesc: SimulationColliderDefinition | undefined

Defined in: packages/game-lib/src/lib/entities/entity.ts:203

Inherited from​

GameEntity.colliderDesc


colliderDescs​

colliderDescs: SimulationColliderDefinition[] = []

Defined in: packages/game-lib/src/lib/entities/entity.ts:221

All collider descriptions for this entity (including primary)

Inherited from​

GameEntity.colliderDescs


colliderScaleDirty​

colliderScaleDirty: boolean = false

Defined in: packages/game-lib/src/lib/entities/entity.ts:217

Set when GameEntity.setScale has scaled the render object but the colliders have not been rebuilt yet. Cleared by commitColliderScale.

Inherited from​

GameEntity.colliderScaleDirty


collisionDelegate​

collisionDelegate: CollisionDelegate<ZylemParticleSystem, ZylemParticleSystemOptions>

Defined in: packages/game-lib/src/lib/entities/entity.ts:228

Inherited from​

GameEntity.collisionDelegate


collisionType?​

optional collisionType?: string

Defined in: packages/game-lib/src/lib/entities/entity.ts:233

Inherited from​

GameEntity.collisionType


compoundMeshes​

compoundMeshes: Mesh<BufferGeometry<NormalBufferAttributes, BufferGeometryEventMap>, Material<MaterialEventMap> | Material<MaterialEventMap>[], Object3DEventMap>[] = []

Defined in: packages/game-lib/src/lib/entities/entity.ts:223

Additional meshes for compound visual entities (added via add())

Inherited from​

GameEntity.compoundMeshes


custom​

custom: Record<string, any> = \{\}

Defined in: packages/game-lib/src/lib/entities/entity.ts:204

Inherited from​

GameEntity.custom


debugInfo​

debugInfo: Record<string, any> = \{\}

Defined in: packages/game-lib/src/lib/entities/entity.ts:225

Inherited from​

GameEntity.debugInfo


debugMaterial​

debugMaterial: ShaderMaterial | undefined

Defined in: packages/game-lib/src/lib/entities/entity.ts:226

Inherited from​

GameEntity.debugMaterial


eventDelegate​

protected eventDelegate: EventEmitterDelegate<EntityEvents>

Defined in: packages/game-lib/src/lib/entities/entity.ts:263

Inherited from​

GameEntity.eventDelegate


getPosition​

getPosition: () => Vector | null

Defined in: packages/game-lib/src/lib/entities/entity.ts:297

Returns​

Vector | null

Inherited from​

GameEntity.getPosition


getRotation​

getRotation: () => any

Defined in: packages/game-lib/src/lib/entities/entity.ts:319

Returns​

any

Inherited from​

GameEntity.getRotation


getVelocity​

getVelocity: () => Vector | null

Defined in: packages/game-lib/src/lib/entities/entity.ts:298

Returns​

Vector | null

Inherited from​

GameEntity.getVelocity


group​

group: Group<Object3DEventMap> | undefined

Defined in: packages/game-lib/src/lib/entities/entity.ts:190

Inherited from​

GameEntity.group


instanceId​

instanceId: number = -1

Defined in: packages/game-lib/src/lib/entities/entity.ts:241

Index within the instanced mesh pack

Inherited from​

GameEntity.instanceId


isBundled​

isBundled: boolean = false

Defined in: packages/game-lib/src/lib/entities/entity.ts:245

Whether this entity is drawn via a WebGPU render bundle

Inherited from​

GameEntity.isBundled


isInstanced​

isInstanced: boolean = false

Defined in: packages/game-lib/src/lib/entities/entity.ts:243

Whether this entity uses instanced rendering

Inherited from​

GameEntity.isInstanced


lifecycleCallbacks​

protected lifecycleCallbacks: LifecycleCallbacks<any>

Defined in: packages/game-lib/src/lib/core/base-node.ts:58

Lifecycle callback arrays - use onSetup(), onUpdate(), etc. to add callbacks Uses any for the type parameter to avoid invariance issues when subclasses are assigned to BaseNode references. Type safety is enforced by the public onSetup/onUpdate/etc. methods which are typed with this.

Inherited from​

GameEntity.lifecycleCallbacks


markedForRemoval​

markedForRemoval: boolean = false

Defined in: packages/game-lib/src/lib/core/base-node.ts:50

Inherited from​

GameEntity.markedForRemoval


materials​

materials: Material<MaterialEventMap>[] | undefined

Defined in: packages/game-lib/src/lib/entities/entity.ts:192

Inherited from​

GameEntity.materials


mesh​

mesh: Mesh<BufferGeometry<NormalBufferAttributes, BufferGeometryEventMap>, Material<MaterialEventMap> | Material<MaterialEventMap>[], Object3DEventMap> | undefined

Defined in: packages/game-lib/src/lib/entities/entity.ts:191

Inherited from​

GameEntity.mesh


move​

move: (vector) => void

Defined in: packages/game-lib/src/lib/entities/entity.ts:294

Parameters​

vector​

Vector3

Returns​

void

Inherited from​

GameEntity.move


moveForwardXY​

moveForwardXY: (delta, rotation2DAngle) => void

Defined in: packages/game-lib/src/lib/entities/entity.ts:296

Parameters​

delta​

number

rotation2DAngle​

number

Returns​

void

Inherited from​

GameEntity.moveForwardXY


moveX​

moveX: (delta) => void

Defined in: packages/game-lib/src/lib/entities/entity.ts:289

Parameters​

delta​

number

Returns​

void

Inherited from​

GameEntity.moveX


moveXY​

moveXY: (deltaX, deltaY) => void

Defined in: packages/game-lib/src/lib/entities/entity.ts:292

Parameters​

deltaX​

number

deltaY​

number

Returns​

void

Inherited from​

GameEntity.moveXY


moveXZ​

moveXZ: (deltaX, deltaZ) => void

Defined in: packages/game-lib/src/lib/entities/entity.ts:293

Parameters​

deltaX​

number

deltaZ​

number

Returns​

void

Inherited from​

GameEntity.moveXZ


moveY​

moveY: (delta) => void

Defined in: packages/game-lib/src/lib/entities/entity.ts:290

Parameters​

delta​

number

Returns​

void

Inherited from​

GameEntity.moveY


moveZ​

moveZ: (delta) => void

Defined in: packages/game-lib/src/lib/entities/entity.ts:291

Parameters​

delta​

number

Returns​

void

Inherited from​

GameEntity.moveZ


name​

name: string = ''

Defined in: packages/game-lib/src/lib/core/base-node.ts:49

Inherited from​

GameEntity.name


options​

options: ZylemParticleSystemOptions

Defined in: packages/game-lib/src/lib/core/base-node.ts:47

Inherited from​

GameEntity.options


packKey​

packKey: string | null = null

Defined in: packages/game-lib/src/lib/entities/entity.ts:237

Pack key for instanced rendering (null if not instanced)

Inherited from​

GameEntity.packKey


parent​

protected parent: NodeInterface | null = null

Defined in: packages/game-lib/src/lib/core/base-node.ts:45

Inherited from​

GameEntity.parent


physicsAttached​

physicsAttached: boolean = false

Defined in: packages/game-lib/src/lib/entities/entity.ts:195

Inherited from​

GameEntity.physicsAttached


physicsWorldRef​

physicsWorldRef: unknown = null

Defined in: packages/game-lib/src/lib/entities/entity.ts:202

The physics world that currently owns this entity's body/colliders. Tagged on registration and checked on teardown so a stale world never frees handles another world now owns (which would poison the wasm simulation). Untyped to avoid a circular import.

Inherited from​

GameEntity.physicsWorldRef


resetVelocity​

resetVelocity: () => void

Defined in: packages/game-lib/src/lib/entities/entity.ts:295

Returns​

void

Inherited from​

GameEntity.resetVelocity


rotateEuler​

rotateEuler: (eulerRotation) => void

Defined in: packages/game-lib/src/lib/entities/entity.ts:307

Parameters​

eulerRotation​

Vector3

Returns​

void

Inherited from​

GameEntity.rotateEuler


rotateInDirection​

rotateInDirection: (moveVector) => void

Defined in: packages/game-lib/src/lib/entities/entity.ts:305

Parameters​

moveVector​

Vector3

Returns​

void

Inherited from​

GameEntity.rotateInDirection


rotateX​

rotateX: (delta) => void

Defined in: packages/game-lib/src/lib/entities/entity.ts:308

Parameters​

delta​

number

Returns​

void

Inherited from​

GameEntity.rotateX


rotateY​

rotateY: (delta) => void

Defined in: packages/game-lib/src/lib/entities/entity.ts:309

Parameters​

delta​

number

Returns​

void

Inherited from​

GameEntity.rotateY


rotateYEuler​

rotateYEuler: (amount) => void

Defined in: packages/game-lib/src/lib/entities/entity.ts:306

Parameters​

amount​

number

Returns​

void

Inherited from​

GameEntity.rotateYEuler


rotateZ​

rotateZ: (delta) => void

Defined in: packages/game-lib/src/lib/entities/entity.ts:310

Parameters​

delta​

number

Returns​

void

Inherited from​

GameEntity.rotateZ


runtimeAttached​

runtimeAttached: boolean = false

Defined in: packages/game-lib/src/lib/entities/entity.ts:253

True once the entity has been spawned into the wasm simulation.

Inherited from​

GameEntity.runtimeAttached


runtimeHandle​

runtimeHandle: number = -1

Defined in: packages/game-lib/src/lib/entities/entity.ts:251

Raw wasm slot index for this entity in the stage's Simulation; -1 when not attached. Behavior systems address the runtime's slot-indexed buffers by this slot.

Inherited from​

GameEntity.runtimeHandle


setPosition​

setPosition: (x, y, z) => void

Defined in: packages/game-lib/src/lib/entities/entity.ts:299

Parameters​

x​

number

y​

number

z​

number

Returns​

void

Inherited from​

GameEntity.setPosition


setPositionX​

setPositionX: (x) => void

Defined in: packages/game-lib/src/lib/entities/entity.ts:300

Parameters​

x​

number

Returns​

void

Inherited from​

GameEntity.setPositionX


setPositionY​

setPositionY: (y) => void

Defined in: packages/game-lib/src/lib/entities/entity.ts:301

Parameters​

y​

number

Returns​

void

Inherited from​

GameEntity.setPositionY


setPositionZ​

setPositionZ: (z) => void

Defined in: packages/game-lib/src/lib/entities/entity.ts:302

Parameters​

z​

number

Returns​

void

Inherited from​

GameEntity.setPositionZ


setRotation​

setRotation: (x, y, z) => void

Defined in: packages/game-lib/src/lib/entities/entity.ts:318

Parameters​

x​

number

y​

number

z​

number

Returns​

void

Inherited from​

GameEntity.setRotation


setRotationDegrees​

setRotationDegrees: (x, y, z) => void

Defined in: packages/game-lib/src/lib/entities/entity.ts:314

Parameters​

x​

number

y​

number

z​

number

Returns​

void

Inherited from​

GameEntity.setRotationDegrees


setRotationDegreesX​

setRotationDegreesX: (x) => void

Defined in: packages/game-lib/src/lib/entities/entity.ts:316

Parameters​

x​

number

Returns​

void

Inherited from​

GameEntity.setRotationDegreesX


setRotationDegreesY​

setRotationDegreesY: (y) => void

Defined in: packages/game-lib/src/lib/entities/entity.ts:315

Parameters​

y​

number

Returns​

void

Inherited from​

GameEntity.setRotationDegreesY


setRotationDegreesZ​

setRotationDegreesZ: (z) => void

Defined in: packages/game-lib/src/lib/entities/entity.ts:317

Parameters​

z​

number

Returns​

void

Inherited from​

GameEntity.setRotationDegreesZ


setRotationX​

setRotationX: (x) => void

Defined in: packages/game-lib/src/lib/entities/entity.ts:312

Parameters​

x​

number

Returns​

void

Inherited from​

GameEntity.setRotationX


setRotationY​

setRotationY: (y) => void

Defined in: packages/game-lib/src/lib/entities/entity.ts:311

Parameters​

y​

number

Returns​

void

Inherited from​

GameEntity.setRotationY


setRotationZ​

setRotationZ: (z) => void

Defined in: packages/game-lib/src/lib/entities/entity.ts:313

Parameters​

z​

number

Returns​

void

Inherited from​

GameEntity.setRotationZ


transformStore​

transformStore: TransformState

Defined in: packages/game-lib/src/lib/entities/entity.ts:272

Inherited from​

GameEntity.transformStore


uuid​

uuid: string = ''

Defined in: packages/game-lib/src/lib/core/base-node.ts:48

Inherited from​

GameEntity.uuid


wasmStageRef​

wasmStageRef: BehaviorRuntime | null = null

Defined in: packages/game-lib/src/lib/entities/entity.ts:260

The stage simulation's low-level runtime adapter. Set by ZylemWorld.addEntity() so GameEntity.getPose / GameEntity.setPose and behavior descriptors can route through the runtime without threading the handle around.

Inherited from​

GameEntity.wasmStageRef


wrapAround3D​

wrapAround3D: (boundsX, boundsY, boundsZ) => void

Defined in: packages/game-lib/src/lib/entities/entity.ts:304

Parameters​

boundsX​

number

boundsY​

number

boundsZ​

number

Returns​

void

Inherited from​

GameEntity.wrapAround3D


wrapAroundXY​

wrapAroundXY: (boundsX, boundsY) => void

Defined in: packages/game-lib/src/lib/entities/entity.ts:303

Parameters​

boundsX​

number

boundsY​

number

Returns​

void

Inherited from​

GameEntity.wrapAroundXY


type​

static type: symbol = PARTICLE_SYSTEM_TYPE

Defined in: packages/game-lib/src/lib/entities/particle-system.ts:77

Methods​

_cleanup()​

protected _cleanup(_params): void

Defined in: packages/game-lib/src/lib/entities/entity.ts:925

Engine-internal resource cleanup -- runs automatically after destroy. Disposes GPU/DOM resources (meshes, materials, debug material).

Note: actions, collision callbacks, and behavior refs are intentionally NOT cleared here -- they are registered by consumer code at module level and must persist across stage reloads. Actions are reset in _setup().

Parameters​

_params​

CleanupContext<ZylemParticleSystem>

Returns​

void

Inherited from​

GameEntity._cleanup


_collision()​

_collision(other, globals?, dispatch?): void

Defined in: packages/game-lib/src/lib/entities/entity.ts:952

Parameters​

other​

GameEntity<ZylemParticleSystemOptions>

globals?​

any

dispatch?​

CollisionDispatchMetadata = ...

Returns​

void

Inherited from​

GameEntity._collision


_destroy()​

_destroy(params): void

Defined in: packages/game-lib/src/lib/entities/entity.ts:915

Entity-specific destroy -- reserved for consumer game logic. Engine-internal resource disposal runs in _cleanup() instead.

Parameters​

params​

DestroyContext<ZylemParticleSystem>

Returns​

void

Inherited from​

GameEntity._destroy


_loaded()​

protected _loaded(_params): Promise<void>

Defined in: packages/game-lib/src/lib/entities/entity.ts:900

Parameters​

_params​

LoadedContext<ZylemParticleSystem>

Returns​

Promise<void>

Inherited from​

GameEntity._loaded


_setup()​

_setup(params): void

Defined in: packages/game-lib/src/lib/entities/entity.ts:886

Entity-specific setup - resets actions for a fresh stage session. (User callbacks are handled by BaseNode's lifecycleCallbacks.setup)

Parameters​

params​

SetupContext<ZylemParticleSystem>

Returns​

void

Inherited from​

GameEntity._setup


_tickActions()​

_tickActions(delta): void

Defined in: packages/game-lib/src/lib/entities/entity.ts:614

Tick all registered actions. Called automatically before user onUpdate callbacks.

Resets velocity/angularVelocity accumulation before ticking so that actions can compose via += without cross-frame build-up. (The existing move helpers like moveXY use = which doesn't accumulate, but action composition needs additive writes on a clean slate each frame.)

Parameters​

delta​

number

Returns​

void

Inherited from​

GameEntity._tickActions


_update()​

_update(params): void

Defined in: packages/game-lib/src/lib/entities/entity.ts:907

Entity-specific update - updates materials. Transform changes are applied by the stage after all update callbacks complete. (User callbacks are handled by BaseNode's lifecycleCallbacks.update)

Parameters​

params​

UpdateContext<ZylemParticleSystem>

Returns​

void

Inherited from​

GameEntity._update


action()​

action<A>(action): A

Defined in: packages/game-lib/src/lib/entities/entity.ts:595

Register a persistent action (throttle, onPress). Not removed when done.

Type Parameters​

A​

A extends Action

Parameters​

action​

A

Returns​

A

Example​

`const press = entity.action(onPress())`

Inherited from​

GameEntity.action


add()​

add(...components): this

Defined in: packages/game-lib/src/lib/entities/entity.ts:500

Add meshes, collision components, or child entities to this entity. Supports fluent chaining: entity.add(boxMesh()).add(boxCollision()).

  • Mesh: First mesh becomes the primary mesh; subsequent meshes are compound meshes grouped together.
  • CollisionComponent: First sets bodyDesc + colliderDesc; subsequent add extra colliders to the same rigid body.
  • NodeInterface: Added as a child entity (delegates to BaseNode.add).

Parameters​

components​

...(NodeInterface | Mesh<BufferGeometry<NormalBufferAttributes, BufferGeometryEventMap>, Material<MaterialEventMap> | Material<MaterialEventMap>[], Object3DEventMap> | CollisionComponent)[]

Returns​

this

Inherited from​

GameEntity.add


buildInfo()​

buildInfo(): Record<string, string>

Defined in: packages/game-lib/src/lib/entities/particle-system.ts:280

Returns​

Record<string, string>

Overrides​

GameEntity.buildInfo


burst()​

burst(): void

Defined in: packages/game-lib/src/lib/entities/particle-system.ts:268

Returns​

void


clearActions()​

clearActions(): void

Defined in: packages/game-lib/src/lib/entities/entity.ts:602

Remove all registered actions (fire-and-forget and persistent).

Returns​

void

Inherited from​

GameEntity.clearActions


clone()​

clone(overrides?): this

Defined in: packages/game-lib/src/lib/entities/entity.ts:654

Parameters​

overrides?​

Partial<ZylemParticleSystemOptions>

Returns​

this

Inherited from​

GameEntity.clone


cloneChildrenInto()​

protected cloneChildrenInto(target): void

Defined in: packages/game-lib/src/lib/core/base-node.ts:215

Parameters​

target​

BaseNode<any, any>

Returns​

void

Inherited from​

GameEntity.cloneChildrenInto


create()​

create(): this

Defined in: packages/game-lib/src/lib/entities/entity.ts:649

Returns​

this

Inherited from​

GameEntity.create


dispatch()​

dispatch<K>(event, payload): void

Defined in: packages/game-lib/src/lib/entities/entity.ts:1094

Dispatch an event from this entity. Events are emitted both locally and to the global event bus.

Type Parameters​

K​

K extends keyof EntityEvents

Parameters​

event​

K

payload​

EntityEvents[K]

Returns​

void

Inherited from​

GameEntity.dispatch


disposeEvents()​

disposeEvents(): void

Defined in: packages/game-lib/src/lib/entities/entity.ts:1116

Clean up entity event subscriptions.

Returns​

void

Inherited from​

GameEntity.disposeEvents


enableUserLifecycleTracking()​

enableUserLifecycleTracking(): void

Defined in: packages/game-lib/src/lib/core/base-node.ts:176

Returns​

void

Inherited from​

GameEntity.enableUserLifecycleTracking


finalizeCloneSupport()​

finalizeCloneSupport(factory): this

Defined in: packages/game-lib/src/lib/entities/entity.ts:694

Parameters​

factory​

(options?) => GameEntity<ZylemParticleSystemOptions>

Returns​

this

Inherited from​

GameEntity.finalizeCloneSupport


getBehaviorRef()​

getBehaviorRef<O>(descriptor): BehaviorRef<O> | null

Defined in: packages/game-lib/src/lib/entities/entity.ts:806

Find the attached ref for a behavior, matched by descriptor key so a re-imported copy of the same descriptor still resolves.

Type Parameters​

O​

O extends Record<string, any>

Parameters​

descriptor​

BehaviorDescriptor<O, any>

Returns​

BehaviorRef<O> | null

Inherited from​

GameEntity.getBehaviorRef


getBehaviorRefs()​

getBehaviorRefs(): BehaviorRef<Record<string, any>>[]

Defined in: packages/game-lib/src/lib/entities/entity.ts:798

Get all behavior references attached to this entity. Used by the stage to auto-register required systems.

Returns​

BehaviorRef<Record<string, any>>[]

Inherited from​

GameEntity.getBehaviorRefs


getChildren()​

getChildren(): NodeInterface[]

Defined in: packages/game-lib/src/lib/core/base-node.ts:168

Returns​

NodeInterface[]

Inherited from​

GameEntity.getChildren


getCollisionCallbacks()​

getCollisionCallbacks(): (params) => void[]

Defined in: packages/game-lib/src/lib/entities/entity.ts:856

Returns​

(params) => void[]

Inherited from​

GameEntity.getCollisionCallbacks


getCollisionRegistrations()​

getCollisionRegistrations(): CollisionRegistration<ZylemParticleSystem, ZylemParticleSystemOptions>[]

Defined in: packages/game-lib/src/lib/entities/entity.ts:860

Returns​

CollisionRegistration<ZylemParticleSystem, ZylemParticleSystemOptions>[]

Inherited from​

GameEntity.getCollisionRegistrations


getMaterials()​

getMaterials(): Material<MaterialEventMap>[]

Defined in: packages/game-lib/src/lib/entities/entity.ts:1002

The materials currently driving this entity's meshes.

Returns​

Material<MaterialEventMap>[]

Inherited from​

GameEntity.getMaterials


getOptions()​

getOptions(): ZylemParticleSystemOptions

Defined in: packages/game-lib/src/lib/core/base-node.ts:317

Returns​

ZylemParticleSystemOptions

Inherited from​

GameEntity.getOptions


getParent()​

getParent(): NodeInterface | null

Defined in: packages/game-lib/src/lib/core/base-node.ts:151

Returns​

NodeInterface | null

Inherited from​

GameEntity.getParent


getPose()​

getPose(): \{ position: Vec3; rotation: \{ w: number; x: number; y: number; z: number; \}; \} | null

Defined in: packages/game-lib/src/lib/entities/entity.ts:404

Read the entity's pose from the wasm simulation. Returns null when the entity has not been spawned into the runtime yet.

Returns​

\{ position: Vec3; rotation: \{ w: number; x: number; y: number; z: number; \}; \} | null

Inherited from​

GameEntity.getPose


getScale()​

getScale(): Vec3

Defined in: packages/game-lib/src/lib/entities/entity.ts:467

Current absolute scale.

Returns​

Vec3

Inherited from​

GameEntity.getScale


getSelectionBounds()​

getSelectionBounds(target): Box3 | null

Defined in: packages/game-lib/src/lib/entities/particle-system.ts:84

The emitter's group is empty, so measuring it yields nothing; see PARTICLE_SYSTEM_SELECTION_EXTENT.

Parameters​

target​

Box3

Returns​

Box3 | null

Implementation of​

SelectionBoundsProvider.getSelectionBounds


getSystem()​

getSystem(): Particles | null

Defined in: packages/game-lib/src/lib/entities/particle-system.ts:276

Returns​

Particles | null


hasBehavior()​

hasBehavior(descriptor): boolean

Defined in: packages/game-lib/src/lib/entities/entity.ts:816

Parameters​

descriptor​

BehaviorDescriptor<any, any>

Returns​

boolean

Inherited from​

GameEntity.hasBehavior


hasMaterial()​

hasMaterial(): boolean

Defined in: packages/game-lib/src/lib/entities/entity.ts:997

Whether this entity renders a mesh that a material can be assigned to. Lights, zones, and other mesh-less entities return false.

Returns​

boolean

Inherited from​

GameEntity.hasMaterial


isComposite()​

isComposite(): boolean

Defined in: packages/game-lib/src/lib/core/base-node.ts:172

Returns​

boolean

Inherited from​

GameEntity.isComposite


isPlaying()​

isPlaying(): boolean

Defined in: packages/game-lib/src/lib/entities/particle-system.ts:272

Returns​

boolean


listen()​

listen<K>(event, handler): () => void

Defined in: packages/game-lib/src/lib/entities/entity.ts:1106

Listen for events on this entity instance.

Type Parameters​

K​

K extends keyof EntityEvents

Parameters​

event​

K

handler​

(payload) => void

Returns​

Unsubscribe function

() => void

Inherited from​

GameEntity.listen


nodeCleanup()​

nodeCleanup(params): void

Defined in: packages/game-lib/src/lib/core/base-node.ts:303

Parameters​

params​

CleanupContext<ZylemParticleSystem>

Returns​

void

Inherited from​

GameEntity.nodeCleanup


nodeDestroy()​

nodeDestroy(params): void

Defined in: packages/game-lib/src/lib/core/base-node.ts:270

Parameters​

params​

DestroyContext<ZylemParticleSystem>

Returns​

void

Inherited from​

GameEntity.nodeDestroy


nodeLoaded()​

nodeLoaded(params): Promise<void>

Defined in: packages/game-lib/src/lib/core/base-node.ts:294

Parameters​

params​

LoadedContext<ZylemParticleSystem>

Returns​

Promise<void>

Inherited from​

GameEntity.nodeLoaded


nodeSetup()​

nodeSetup(params): void

Defined in: packages/game-lib/src/lib/core/base-node.ts:241

Parameters​

params​

SetupContext<ZylemParticleSystem>

Returns​

void

Inherited from​

GameEntity.nodeSetup


nodeUpdate()​

nodeUpdate(params): void

Defined in: packages/game-lib/src/lib/core/base-node.ts:253

Parameters​

params​

UpdateContext<ZylemParticleSystem>

Returns​

void

Inherited from​

GameEntity.nodeUpdate


onCleanup()​

onCleanup(...callbacks): this

Defined in: packages/game-lib/src/lib/core/base-node.ts:119

Add cleanup callbacks to be executed in order during nodeCleanup

Parameters​

callbacks​

...CleanupFunction<ZylemParticleSystem, any>[]

Returns​

this

Inherited from​

GameEntity.onCleanup


onCollision()​

Call Signature​

onCollision(callback, options?): this

Defined in: packages/game-lib/src/lib/entities/entity.ts:704

Add collision callbacks

Parameters​
callback​

(params) => void

options?​

CollisionRegistrationOptions

Returns​

this

Inherited from​

GameEntity.onCollision

Call Signature​

onCollision(...callbacks): this

Defined in: packages/game-lib/src/lib/entities/entity.ts:708

Add collision callbacks

Parameters​
callbacks​

...(params) => void[]

Returns​

this

Inherited from​

GameEntity.onCollision


onDestroy()​

onDestroy(...callbacks): this

Defined in: packages/game-lib/src/lib/core/base-node.ts:110

Add destroy callbacks to be executed in order during nodeDestroy

Parameters​

callbacks​

...DestroyFunction<ZylemParticleSystem, any>[]

Returns​

this

Inherited from​

GameEntity.onDestroy


onLoaded()​

onLoaded(...callbacks): this

Defined in: packages/game-lib/src/lib/core/base-node.ts:92

Add loaded callbacks to be executed in order during nodeLoaded

Parameters​

callbacks​

...LoadedFunction<ZylemParticleSystem, any>[]

Returns​

this

Inherited from​

GameEntity.onLoaded


onSetup()​

onSetup(...callbacks): this

Defined in: packages/game-lib/src/lib/core/base-node.ts:83

Add setup callbacks to be executed in order during nodeSetup

Parameters​

callbacks​

...SetupFunction<ZylemParticleSystem, any>[]

Returns​

this

Inherited from​

GameEntity.onSetup


onUpdate()​

onUpdate(...callbacks): this

Defined in: packages/game-lib/src/lib/core/base-node.ts:101

Add update callbacks to be executed in order during nodeUpdate

Parameters​

callbacks​

...UpdateFunction<ZylemParticleSystem, any>[]

Returns​

this

Inherited from​

GameEntity.onUpdate


pause()​

pause(): void

Defined in: packages/game-lib/src/lib/entities/particle-system.ts:260

Returns​

void


play()​

play(): void

Defined in: packages/game-lib/src/lib/entities/particle-system.ts:252

Returns​

void


prependSetup()​

prependSetup(...callbacks): this

Defined in: packages/game-lib/src/lib/core/base-node.ts:128

Prepend setup callbacks (run before existing ones)

Parameters​

callbacks​

...SetupFunction<ZylemParticleSystem, any>[]

Returns​

this

Inherited from​

GameEntity.prependSetup


prependUpdate()​

prependUpdate(...callbacks): this

Defined in: packages/game-lib/src/lib/core/base-node.ts:137

Prepend update callbacks (run before existing ones)

Parameters​

callbacks​

...UpdateFunction<ZylemParticleSystem, any>[]

Returns​

this

Inherited from​

GameEntity.prependUpdate


remove()​

remove(baseNode): void

Defined in: packages/game-lib/src/lib/core/base-node.ts:160

Parameters​

baseNode​

NodeInterface

Returns​

void

Inherited from​

GameEntity.remove


removeBehavior()​

removeBehavior(target): BehaviorRef<any> | null

Defined in: packages/game-lib/src/lib/entities/entity.ts:831

Detach a behavior from this entity.

Removes the ref so future spawns skip it. If the entity is live in a stage, the stage must also drop the system link (see StageEntityDelegate.detachBehaviorLink); StageDebugDelegate does this for editor-driven removals.

Parameters​

target​

BehaviorRef<any> | BehaviorDescriptor<any, any, unknown>

The descriptor (matched by key) or the exact ref to remove.

Returns​

BehaviorRef<any> | null

The removed ref, or null when nothing matched.

Inherited from​

GameEntity.removeBehavior


replaceMaterials()​

replaceMaterials(materials, settings?): Material<MaterialEventMap>[] | null

Defined in: packages/game-lib/src/lib/entities/entity.ts:1035

Assign already-built materials to every mesh this entity renders. Meshes that carried a material array keep the array shape, cycling through the supplied list so multi-material geometry stays fully covered.

Parameters​

materials​

Material<MaterialEventMap>[]

settings?​
disposePrevious?​

boolean

Returns​

Material<MaterialEventMap>[] | null

The replaced materials, or null when the entity has no mesh.

Inherited from​

GameEntity.replaceMaterials


replayUserLifecycleRegistrationsTo()​

protected replayUserLifecycleRegistrationsTo(target, wrap?): void

Defined in: packages/game-lib/src/lib/core/base-node.ts:180

Parameters​

target​

BaseNode<any, any>

wrap?​

<T>(callback) => T

Returns​

void

Inherited from​

GameEntity.replayUserLifecycleRegistrationsTo


restart()​

restart(): void

Defined in: packages/game-lib/src/lib/entities/particle-system.ts:264

Returns​

void


restoreBehaviorRef()​

restoreBehaviorRef(ref): void

Defined in: packages/game-lib/src/lib/entities/entity.ts:850

Re-attach a previously removed ref as-is (options, FSM state and all). Used by undo so a restored behavior is the same object, not a re-created one.

Parameters​

ref​

BehaviorRef<any>

Returns​

void

Inherited from​

GameEntity.restoreBehaviorRef


reveal()​

reveal(): void

Defined in: packages/game-lib/src/lib/entities/entity.ts:395

Make the entity visible, clearing spawn placement pending state.

Returns​

void

Inherited from​

GameEntity.reveal


runAction()​

runAction<A>(action): A

Defined in: packages/game-lib/src/lib/entities/entity.ts:586

Run a fire-and-forget action. Auto-removed when done.

Type Parameters​

A​

A extends Action

Parameters​

action​

A

Returns​

A

Example​

`me.runAction(moveBy({ x: 10, duration: 0.3 }))`

Inherited from​

GameEntity.runAction


setMaterial()​

setMaterial(options, settings?): Material<MaterialEventMap>[] | null

Defined in: packages/game-lib/src/lib/entities/entity.ts:1016

Rebuild this entity's material from creation-style options and swap it in on the live mesh, so a runtime change (an editor applying a shader swatch) renders exactly like a restart with material: options would.

Parameters​

options​

Partial<MaterialOptions>

Same shape as GameEntityOptions.material.

settings?​

disposePrevious (default true) frees the replaced materials; pass false when keeping them for undo.

disposePrevious?​

boolean

Returns​

Material<MaterialEventMap>[] | null

The replaced materials, or null when the entity has no mesh.

Inherited from​

GameEntity.setMaterial


setOptions()​

setOptions(options): void

Defined in: packages/game-lib/src/lib/core/base-node.ts:321

Parameters​

options​

Partial<Options>

Returns​

void

Inherited from​

GameEntity.setOptions


setParent()​

setParent(parent): void

Defined in: packages/game-lib/src/lib/core/base-node.ts:147

Parameters​

parent​

NodeInterface | null

Returns​

void

Inherited from​

GameEntity.setParent


setPose()​

setPose(input): boolean

Defined in: packages/game-lib/src/lib/entities/entity.ts:430

Write the entity's pose into the wasm simulation.

Either or both of position and rotation may be omitted to leave that component unchanged.

Parameters​

input​
position?​

Vec3Input

rotation?​

\{ w: number; x: number; y: number; z: number; \}

rotation.w​

number

rotation.x​

number

rotation.y​

number

rotation.z​

number

Returns​

boolean

Inherited from​

GameEntity.setPose


setScale()​

setScale(x, y, z): void

Defined in: packages/game-lib/src/lib/entities/entity.ts:479

Set absolute scale on the render object.

Colliders are not resized here — they are baked into the wasm simulation and can only be replaced by respawning the body, which is far too costly to do per drag frame. The entity is flagged instead, and commitColliderScale rebuilds them once the gesture commits.

Parameters​

x​

number

y​

number

z​

number

Returns​

void

Inherited from​

GameEntity.setScale


stop()​

stop(): void

Defined in: packages/game-lib/src/lib/entities/particle-system.ts:256

Returns​

void


updateMaterials()​

protected updateMaterials(params): void

Defined in: packages/game-lib/src/lib/entities/entity.ts:1065

Parameters​

params​

any

Returns​

void

Inherited from​

GameEntity.updateMaterials


use()​

use<O, H>(descriptor, options?): BehaviorHandle<O, H>

Defined in: packages/game-lib/src/lib/entities/entity.ts:765

Use a behavior on this entity via typed descriptor. Behaviors will be auto-registered as systems when the entity is spawned.

Type Parameters​

O​

O extends Record<string, any>

H​

H extends Record<string, any> = Record<string, never>

Parameters​

descriptor​

BehaviorDescriptor<O, H>

The behavior descriptor (import from behaviors module)

options?​

Partial<O>

Optional overrides for the behavior's default options

Returns​

BehaviorHandle<O, H>

BehaviorHandle with behavior-specific methods for lazy FSM access

Inherited from​

GameEntity.use