Optional ReadonlyhasWhether this node produces an optional trail ribbon mesh. When true,
ParticleDrawable.trailVertexCount and
ParticleDrawable.trailVertices are valid after
ParticleDrawable.updateParticleInstances.
ReadonlyidStable identity of the emitting node (§6 Node.id), used by a backend as
the cache key for this system's GPU buffers — the role
BufferGeometry.id plays for geometry (§53).
ReadonlyisThe brand buildRenderList recognises. A literal true, not a method, so
the check is one property load per node per frame.
ReadonlyparticleLive particle count for the frame — valid only after ParticleDrawable.updateParticleInstances.
Optional ReadonlyparticleInstance stride in floats — 8 by default, 10 when R-32 appearance
is opted in. Absent means PARTICLE_INSTANCE_FLOATS.
ReadonlyparticleThe interleaved upload array described in the module header. Owned by the
node, reused every frame, and valid for
particleCount × particleInstanceFloats floats.
Read it, upload it, do not mutate it and do not retain it past the frame:
the next updateParticleInstances rewrites it in place.
Optional ReadonlyparticleTexture-like handle or true. Truthy means the backend should sample
map like an unlit sprite.
Symbolic drawing group (§46, §66 sort key 1), as on Renderable.
Explicit ordering within a layer (§66 sort key 5), as on Renderable.
Optional ReadonlytrailTrail ribbon vertex count for the frame. 0 when hasTrail is
false or no segment has ≥ 2 samples yet.
Optional ReadonlytrailInterleaved trail vertices (TRAIL_VERTEX_FLOATS stride). Valid for
trailVertexCount × TRAIL_VERTEX_FLOATS floats after repack.
OptionalcomputeOptional live-particle AABB in the node's local space (R-8 follow-up
b). @fourjs/particles' ParticleRenderable already publishes this;
buildRenderList probes it structurally, converts the box to a world
sphere, and sets frustumCulled so §87 can hide an emitter whose
particles are all off screen. Absent or false keeps the item
un-culled — the shared instance quad is not an honest bound.
Refreshes ParticleDrawable.particleCount and ParticleDrawable.particleInstances from the current simulation state.
Called by buildRenderList once per node per build — so a two-viewport
frame that builds two lists repacks twice, which is the price of not
caching state that a mid-frame step() could invalidate. Must not
allocate (plan D7) and must not touch the scene (§42).
A scene node that draws a particle system (§36, §49's
ParticleSystem).Implemented structurally — see the module header for why there is no base class. A node satisfying this shape is picked up by
buildRenderListand turned into exactly oneParticleRenderItem.