$npx -y skills add scottstts/Threejs-Awesome-Graphics-Agent-Skills --skill threejs-procedural-vfxAuthor production real-time VFX in Three.js. Use for ship-conforming reentry plasma, generated capsule wakes, instanced analytic sparks, timed dissolving debris, dense-swap effect pools, and explicit scene-relative HDR emission hierarchy.
| 1 | # Procedural VFX |
| 2 | |
| 3 | Build effects from an event envelope, motion field, geometry representation, and shading response. Avoid independent particle emitters that happen to share a color. |
| 4 | |
| 5 | ## Effect graph |
| 6 | |
| 7 | ```text |
| 8 | ship/event state |
| 9 | → effect-specific geometry or instance attributes |
| 10 | → flow-facing masks or analytic age |
| 11 | → material response |
| 12 | → pool/lifetime ownership |
| 13 | → HDR and bloom contribution |
| 14 | ``` |
| 15 | |
| 16 | Read [references/procedural-vfx-system.md](references/procedural-vfx-system.md) |
| 17 | for ship-conforming reentry shells, capsule wakes, dense instanced |
| 18 | spark/debris pools, HDR hierarchy, and implementation limits. |
| 19 | |
| 20 | Read the [reentry plasma implementation](examples/reentry-plasma/reentry-plasma.js) |
| 21 | for closed layered wake shells, flow-axis deformation, advected filament |
| 22 | fields, opacity shaping, and additive emission diagnostics. |
| 23 | |
| 24 | ## Rules |
| 25 | |
| 26 | - Every layer must have a role in silhouette, motion, illumination, or residue. |
| 27 | - Use normalized lifetime curves instead of scattered time constants. |
| 28 | - Derive secondary motion from the same flow or event direction. |
| 29 | - Keep bloom as a response to HDR emission, not as the effect's only shape. |
| 30 | - Pool instances and trails; do not allocate per burst. |
| 31 | - Expose spawn, simulation, overdraw, and luminance debug views. |
| 32 | - Include a non-bloom baseline that remains legible. |
| 33 | |
| 34 | ## Routing boundary |
| 35 | |
| 36 | Use `$threejs-temporal-surfaces` only for the screen-space |
| 37 | frost/touch-history pipeline. Use `$threejs-precipitation-surfaces` for |
| 38 | falling rain or snow, splash flipbooks, and weather events that alter ground |
| 39 | materials. Keep ship-space plasma, generated wakes, sparks, and pooled debris |
| 40 | in this skill. |