on_alive fires per frame with probability rate*dt; on_death fires once
in the death branch before the particle slot is recycled.
OptionalrateAverage splits per second per parent particle (Poisson-like via probability
per dt). Required for on_alive; ignored for on_death.
Number of child particles spawned per fire event.
What the child inherits from the parent. Position is always inherited
(the child's emitter origin is parent_pos + emitter.position, world-axes).
velocity in [0, 1+] scales the parent's velocity and adds it to the
child's initial velocity. color replaces the child emitter's initialColor
with the parent's current color.
Child subsystem to spawn from. Its emitter.position is treated as a
world-axes offset from the parent particle's position. The child's
emitter.spawnRate still drives normal CPU-rate spawning in addition to
queue spawns.
OptionalqueueMaximum spawn requests per frame (defaults to 1024). Overflow is silent.
Sub-emitter: when a parent particle hits the trigger, atomically appends
countspawn requests (parent state + inheritance) into a GPU queue. The child pass's queue-spawn shader consumes the queue each frame.Each split owns a fixed-size queue (
queueCapacityentries); requests beyond capacity in a single frame are silently dropped.