| 2026-09-06 |

Анимация 4/4: шоукейс в игре — все акторы на SpriteAnimator, статика оживает
...
Унификация акторов на движковые аниматоры (три ручных таймера кадров больше не дублируются):
- PlayerController: SpriteAnimator с клипами walk_*/idle_* — ушёл «застыл на произвольном кадре ходьбы»;
- CombatViews: SpriteAnimator (спящим pause), hit/death-бёрсты — oneShot через engine.fx
(закрыт баг «частицы стоят на месте»), новые опции drag/spin/scaleOverLife/colors;
- FaunaSystem: SpriteAnimator (на ходу walk, в покое стоп-кадр).
Оживление статики в LocationScene (всё тикается engine.fx, без ручного update):
- вода — setTileAnimation (2 кадра, один таймлайн на все клетки);
- мигание героя — SpriteMotion blink с живым duty (вместо ручного alpha);
- NPC idle — кадры npcs_sheet (randomPhase по тайлу), атлас добавлен в BootScene,
отдельные PNG NPC из списка ассетов убраны;
- искры pickup-объектов — SpriteMotion pulse;
- тёплые мотыльки — эмиттер blend:'add' + wobble + fadeIn;
- кадры героя/фауны — через assets.animation() (анимации атласов из батча 3).
Ограничение: sway для цветов/башни не вводился — это тайлы карты (спрайты
внутри IsometricTileMap), SpriteMotion на них неприменим.
Движок, попутные фиксы:
- Updatables: разрушенные записи не тикаются (Pixi обнуляет transform —
тик разрушенного SpriteMotion ронял весь тик и молча убивал игру после
перехода между локациями) + тесты;
- Engine.stepTicks: setManual(false)/resetTiming в finally — исключение в шаге
больше не оставляет цикл в ручном режиме навсегда;
- EmitterOptions.velocity опционален (в oneShot с radialSpeed не нужен);
- SpriteAnimator/SpriteMotion: геттер destroyed — самозачистка из engine.fx.
Доки: core.md (fx), anim.md (самозачистка), render.md (velocity), agent.md +
practices.md (грабля «мост глотает throw шага» и приём диагностики).
Co-Authored-By: Claude Code <noreply@anthropic.com>
root
committed
16 hours ago
|

feat(engine): батч 2 — оживители статики + партиклы v2 + тайл-анимации
...
- anim/motion.ts: чистая sampleMotion — bob/sway/pulse/blink, композиция,
округление bob до целого px; anim/SpriteMotion.ts — Pixi-адаптер
(база снимается в конструкторе, живые params, detach, seed→фаза)
- render/particleSim.ts (breaking): stepParticle → ParticleVisual
(alpha/scale/rotation/tint); drag, wobble, fadeIn/fadeOut-хвост,
scaleOverLife, colorOverLife; mergeEmitterOptions — чистое слияние
(burst больше не мутирует опции); fix: rng.int инклюзивен — выход
за границы colors
- render/Particles.ts: текстурные частицы, colors/colorOverLife, spin,
size-диапазон, max-лимит + пул спрайтов, blend 'add', setOptions,
onFinish у oneShot
- IsoDepthLayer.addFx(view, tx, ty, bias=0.5) — эффекты поверх актёра
- IsometricTileMap.setTileAnimation(id, frames, fps) + update(dt) —
один общий таймлайн на все клетки id (вода)
- engine.fx (батч 1) — рецепт авто-тика в доке вместо ручного update
- доки: render.md (частицы, addFx), anim.md (SpriteMotion, тайлы),
recipes.md (ходьба/атмосфера/статика/вода/удар), maps.md
- тесты: motion (9), particleSim переписан под v2 (итого 360)
Co-Authored-By: Claude Code <noreply@anthropic.com>
root
committed
16 hours ago
|
| 2026-09-05 |
engine: примитивы боя — Shake+Camera, shapes, Cooldown, TintFlash, particleSim, burst/oneShot, justReleased, transitionAny
...
- render/shake.ts + Camera.addShake/clearShake/update (Engine.tick тикает камеру)
- math/shapes.ts: inCircle, inCone, angleBetween, nearest
- core/Cooldown.ts: кулдаун на фиксированном шаге
- anim/flash.ts (TintFlash, lerpColor) + render/spriteFx.ts (SpriteFlash)
- render/particleSim.ts: чистая интеграция частиц; Particles.burst/oneShot + radialSpeed
- InputManager: isActionJustReleased, wasKeyReleased, pointer.downTicks
- StateMachine.transitionAny — переход из любого состояния
- Тесты: shapes, Cooldown, shake, flash, particleSim, InputManager (фейковый canvas), transitionAny (130 всего)
- docs/engine: core.md, render.md, input.md обновлены
Co-Authored-By: Claude Code <noreply@anthropic.com>
|
engine: Tween+easing, fade-переходы, ресайз, IsoDepthLayer, GameState, RNG, StateMachine, DialogueRunner, Settings, атласы, PixelText+VT323, UI-кит, частицы, геймпад, тач-джойстик, аудио-шины, формат карт+Tiled
...
Co-Authored-By: Claude Code <noreply@anthropic.com>
|