add-effects
Effects and game feel
Add transient effects as short-lived, self-owning entities triggered by application events, not as permanent scene fixtures.
Reuse before authoring. Adapt the closest official particle example with find-examples, prefer the
Engine's built-in particle component over a hand-written system, and discover any shipped trail or
effect script with reuse-scripts.
Copy particle curve construction from the installed example exactly. CurveSet takes one key array
per channel, such as new CurveSet([0, x0, 1, x1], [0, y0, 1, y1], [0, z0, 1, z1]); do not flatten three channels into one array. A malformed curve can type-check and then fail
inside the particle texture upload. Create one emitter, render a frame, and require empty runtime
and console diagnostics before reusing the helper for smoke, spray, or splashes.
For a polished wake, smoke, or spray requirement, do not stop at scaled planes, crossed billboards, or generic render primitives. Use the built-in particle component for smoke and spray; reserve a custom mesh and material for a continuously sampled wake ribbon. Verify tint and blending against the actual scene lighting and surface.