The emitters plugin provides particle emitters: objects that generate particles over time with options for position, shape, emission rate, life cycle, and particle customization.
| Property | Type | Default | Notes |
| ------------------ | ------------------------------------------------------ | ----------------------------------- | ------------------------------------------------------------- | ------------------------------------------------------ | ---------- | ----------- | ----------------------------------- |
| autoPlay | boolean | true | Auto-starts the emitter |
| direction | MoveDirection | keyof typeof MoveDirection | MoveDirectionAlt | number | undefined | undefined | Emission direction (enum or number) |
| domId | string | undefined | undefined | ID of the connected DOM element |
| fill | boolean | true | When true particles spawn inside the area |
| life | EmitterLife | wait: false | Life options (count, delay, duration, wait) |
| name | string | undefined | undefined | Emitter name |
| particles | SingleOrMultiple<RecursivePartial<IParticlesOptions>> | undefined | undefined | Options for emitted particles (can be single or array) |
| position | RecursivePartial<IRangedCoordinates> | undefined | undefined | Relative emitter position |
| rate | EmitterRate | { quantity: 1, delay: 0.1 } | Rate options (quantity per emission, delay between emissions) |
| shape | EmitterShape | { type: "square", "options": {} } | Emitter shape (type and options) |
| size | EmitterSize | undefined | undefined | Emitter area size (mode, width, height) |
| spawn | EmitterSpawn | {} | Spawn options (fill/stroke) |
| spawnFillColor | AnimatableColor | undefined | undefined | Fill color for spawned particles |
| spawnStrokeColor | AnimatableColor | undefined | undefined | Stroke color for spawned particles |
| startCount | number | 0 | Number of initial particles generated by the emitter |
{ "quantity": 1, "delay": 0.1 }{ "mode": "percent", "width": 0, "height": 0 }{ "type": "square", "options": {} }{ "wait": false }{} (can contain fill and stroke if specified){
"emitters": {
"direction": "top",
"position": { "x": 50, "y": 90 },
"size": { "width": 40, "height": 0, "mode": "percent" },
"rate": { "quantity": 4, "delay": 0.15 },
"particles": { "move": { "speed": 2 } }
}
}
particles is deep-cloned on load and can be a single object or an array.size is optional and auto-initialized inside load if provided in the input data.plugins/emitters/src/Options/Classes/.plugins/emitters/src/Options/Classes/Emitter.tsEmitterRate.ts, EmitterSize.ts, EmitterShape.ts, EmitterSpawn.ts, EmitterLife.ts