Решили: свечение части при касте подключено к событиям каста в CombatPresenter СРЕЗОМ — роль
всегда Weapon. Подготовка (AbilityCastStarted) заряжает свечение за cast-time, выпуск
(AbilityCast) даёт всполох ТОЛЬКО если подготовки не было (мгновенный приём); обрыв
(AbilityCastInterrupted) гасит. Цвет — VfxColor юнита × CastGlowBloomIntensity.
Почему: событие каста несёт только casterId (+ seconds у Started) — ни природы навыка
(направленный удар против длительного баффа), ни части-источника там нет. Полное различение (бафф →
контур, удар → оружие, пинок → нога) требует, чтобы шов sim→показ понёс ability-данные — это стык с
combat-sim и поле роли/природы в AbilityData, отдельный заход и дизайн по каждому навыку. Из двух
путей (срез сейчас против расширить событие) Макс выбрал срез: видимое SAO-свечение оружия в игре
сразу, тонкое различение — когда событие обогатится. Граница честная, не тихий дефолт.
Грабли: выпуск после подготовки нельзя запускать всполохом заново — свечение моргнёт с нуля на
самом важном кадре. Поэтому кастеры в фазе заряда помечаются в _glowCharging, и AbilityCast по
ним свечение не трогает: заряд уже дошёл до пика и сам идёт в спад. Набор чистится на
HandleBattleReset — иначе заряд прошлого боя пометил бы id, переиспользованный в новом.
Владелец правды: CombatPresenter.cs (HandleAbilityCast*, _glowCharging, GlowColorFor),
UnitView.PlayCastGlow. Замысел «часть-источник, не только оружие» — gdd реш. 2026-07-31/60.