ReadonlynameStable identifier used for lookup, signature hashing, and pass-name keying.
When false, the feature is skipped each frame. Toggling triggers a cached-graph invalidation.
Current config — for tools that want to inspect the live graph.
Freeze / resume the simulation. While paused the pass keeps rendering (so the camera stays live) but advances no compute steps. Persists across setConfig rebuilds so a paused model stays paused on re-run.
Rebuild the particle pass with a new graph config. Used by samples that cycle through emitter shapes / renderer modes at runtime — the underlying ParticlePass has too much fixed state (buffer sizes, pipelines per blend mode) to mutate in place. The rebuild is async (pipeline compilation); the feature renders nothing until it lands.
Advance exactly one fixed simulation step on the next frame, even while paused.
Read a patch field back to the CPU as a resolution² row-major grid (the
AgentScript exportDataSet measurement helper). Async; do not call per
frame. See ParticlePass.readPatchField.
Snapshot the agent (particle) records to the CPU — 16 floats each (see ParticlePass.readAgents). For measurement/plotting (count by species/state); async and synchronizing, not per-frame.
Optionalcount: numberRelease GPU resources.
Wraps ParticlePass as a RenderFeature. Reads
frame.depth(set by whichever geometry/forward feature ran before), loadsframe.hdr, and writes the blended HDR back intoframe.hdr.For configs with
renderer.type === 'mesh', the underlying ParticlePass needs aForwardPassreference (to borrow its lighting + IBL bind group). The feature locates the engine's ForwardLitFeature during setup and passes its pass through. Register the ParticleFeature AFTER the forward-lit feature.