| name | src-fx-skill |
| description | Work on pooled particles, impacts, destruction effects, decals, and shared FX time. |
claude-of-tanks / src/fx
Purpose
Render combat feedback from authoritative events without modifying simulation.
Mental model & key files
effects.js composes event reactions, particles.js owns pools, clock.js
owns presentation time, and impactDecals.js owns bounded surface marks.
Patterns to follow / invariants
Pool hot objects, bound lifetime/count, use event positions as presentation
inputs only, and respect pause/killcam/shot-mode time scaling.
Common tasks → first action
Trace the bus event, confirm pool teardown/reset paths, then test live battle,
killcam, and rematch behavior.
Gotchas
Worlds and tank visuals are reused across matches; decals and emitters must not
survive reset. Network event IDs will be needed for deduplication.