engine: FX-слой one-shot эффектов + пресеты (render/fx/)
Инфраструктура визуальных эффектов: FxLayer (Container + Updatable, тикается
один раз в engine.fx, сам вычищает закончившиеся) и пресеты — кольцо/волна/
телеграф зоны (FxRing, repeat/shapes/fill), всплывающий текст (FxFloatText),
растворение/проявление с защитой от двойного destroy (FxFade), pop-появление
с овершутом (FxPop), шлейф (FxTrail), фабрики частиц spark/smoke/ember/dust.

Чистая математика сэмплов — fxSim.ts (headless-тесты); backOut в easing;
SpriteFlash + destroyed (самозачистка из реестра); Updatables.forEach.
Доки: render.md (раздел FX), core.md (engine.fx), recipes.md, practices.md.

Co-Authored-By: Claude Code <noreply@anthropic.com>
1 parent 11a80d4 commit 3a5528f554714b05fc470fb3231bb602b6d48148
@root root authored 5 hours ago
Showing 19 changed files
View
docs/engine/core.md
View
docs/engine/practices.md
View
docs/engine/recipes.md
View
docs/engine/render.md
View
packages/engine/src/core/Updatables.ts
View
packages/engine/src/core/easing.ts
View
packages/engine/src/index.ts
View
packages/engine/src/render/__tests__/spriteFx.test.ts 0 → 100644
View
packages/engine/src/render/fx/FxFade.ts 0 → 100644
View
packages/engine/src/render/fx/FxFloatText.ts 0 → 100644
View
packages/engine/src/render/fx/FxLayer.ts 0 → 100644
View
packages/engine/src/render/fx/FxPop.ts 0 → 100644
View
packages/engine/src/render/fx/FxRing.ts 0 → 100644
View
packages/engine/src/render/fx/FxTrail.ts 0 → 100644
View
packages/engine/src/render/fx/__tests__/FxLayer.test.ts 0 → 100644
View
packages/engine/src/render/fx/__tests__/fxSim.test.ts 0 → 100644
View
packages/engine/src/render/fx/fxSim.ts 0 → 100644
View
packages/engine/src/render/fx/particlePresets.ts 0 → 100644
View
packages/engine/src/render/spriteFx.ts