ParticleAPI
Defined in: particle/ParticleAPI.ts:18
Per-app particle API. Wraps the C++ registry-scoped particle system so two App instances (e.g. editor tabs previewing different scenes) can drive independent simulations without cross-talk.
Consumed as a resource: declare Res(Particle) as a system param, or
grab it with app.getResource(Particle) outside ECS code.
Constructors
Section titled “Constructors”Constructor
Section titled “Constructor”new ParticleAPI(
module,registry,resolve?):ParticleAPI
Defined in: particle/ParticleAPI.ts:25
Parameters
Section titled “Parameters”module
Section titled “module”NonNullable<EngineApi>
whichever engine core is present — the wasm module on the web, the native host’s bindings on a device (see ecs/engineApi.ts).
registry
Section titled “registry”CppRegistry
resolve?
Section titled “resolve?”ParticleQueryResolver
Returns
Section titled “Returns”ParticleAPI
Accessors
Section titled “Accessors”collisionError
Section titled “collisionError”Get Signature
Section titled “Get Signature”get collisionError():
string|null
Defined in: particle/ParticleAPI.ts:40
Provider errors are visible alongside the unavailable/fallback counters.
Returns
Section titled “Returns”string | null
collisionEvents
Section titled “collisionEvents”Get Signature
Section titled “Get Signature”get collisionEvents(): readonly
ParticleCollisionEventPayload[]
Defined in: particle/ParticleAPI.ts:36
Contacts published by the last completed update, in project world units.
Returns
Section titled “Returns”readonly ParticleCollisionEventPayload[]
collisionStats
Section titled “collisionStats”Get Signature
Section titled “Get Signature”get collisionStats(): readonly
ParticleCollisionStats[]
Defined in: particle/ParticleAPI.ts:38
Per-emitter counters from the last update, including fallback reasons.
Returns
Section titled “Returns”readonly ParticleCollisionStats[]
debugNormals
Section titled “debugNormals”Get Signature
Section titled “Get Signature”get debugNormals():
boolean
Defined in: particle/ParticleAPI.ts:49
Draw bounded hit normals without enabling gameplay collision events.
Returns
Section titled “Returns”boolean
Set Signature
Section titled “Set Signature”set debugNormals(
enabled):void
Defined in: particle/ParticleAPI.ts:50
Parameters
Section titled “Parameters”enabled
Section titled “enabled”boolean
Returns
Section titled “Returns”void
Methods
Section titled “Methods”getAliveCount()
Section titled “getAliveCount()”getAliveCount(
entity):number
Defined in: particle/ParticleAPI.ts:66
Parameters
Section titled “Parameters”entity
Section titled “entity”number
Returns
Section titled “Returns”number
play()
Section titled “play()”play(
entity):void
Defined in: particle/ParticleAPI.ts:54
Parameters
Section titled “Parameters”entity
Section titled “entity”number
Returns
Section titled “Returns”void
reset()
Section titled “reset()”reset(
entity):void
Defined in: particle/ParticleAPI.ts:62
Parameters
Section titled “Parameters”entity
Section titled “entity”number
Returns
Section titled “Returns”void
setCollisionBudget()
Section titled “setCollisionBudget()”setCollisionBudget(
budget):void
Defined in: particle/ParticleAPI.ts:42
Global App caps, independent of each emitter’s smaller limits.
Parameters
Section titled “Parameters”budget
Section titled “budget”Partial<ParticleCollisionBudget>
Returns
Section titled “Returns”void
setColorLut()
Section titled “setColorLut()”setColorLut(
entity,lut):void
Defined in: particle/ParticleAPI.ts:75
Upload an entity’s baked color-over-life LUT (an N×4 RGBA Float32Array) so the sim samples it instead of start/end + easing; pass null to clear. The data is copied into the wasm heap for the call, then freed.
Parameters
Section titled “Parameters”entity
Section titled “entity”number
Float32Array<ArrayBufferLike> | null
Returns
Section titled “Returns”void
setSizeLut()
Section titled “setSizeLut()”setSizeLut(
entity,lut):void
Defined in: particle/ParticleAPI.ts:81
Upload an entity’s baked size-over-life multiplier LUT (an N-scalar Float32Array), or null to clear.
Parameters
Section titled “Parameters”entity
Section titled “entity”number
Float32Array<ArrayBufferLike> | null
Returns
Section titled “Returns”void
setSpeedLut()
Section titled “setSpeedLut()”setSpeedLut(
entity,lut):void
Defined in: particle/ParticleAPI.ts:90
Speed-over-life multiplier. Scales how fast a particle travels along the trajectory it already has — gravity, damping and noise still accumulate into its velocity, so this is not a second force system.
Parameters
Section titled “Parameters”entity
Section titled “entity”number
Float32Array<ArrayBufferLike> | null
Returns
Section titled “Returns”void
stop()
Section titled “stop()”stop(
entity):void
Defined in: particle/ParticleAPI.ts:58
Parameters
Section titled “Parameters”entity
Section titled “entity”number
Returns
Section titled “Returns”void
update()
Section titled “update()”update(
dt):void
Defined in: particle/ParticleAPI.ts:31
Parameters
Section titled “Parameters”number
Returns
Section titled “Returns”void