Решили: любой новый рисователь спрайтов поверх нашего тела обязан записать per-instance блок до первой отрисовки, даже если писать в него нечего. Для призрачных копий это делает GhostImage.PrimeParts, общий для боя и стенда Post FX Lab.

Почему: спрайтовый шейдер тела (SRP Batcher) подхватывает SpriteRenderer.color только после первой записи MaterialPropertyBlock. Без неё рендерер игнорирует и цвет, и альфу: копия выходит БЕЛОЙ и не гаснет. У живого тела эту роль давно исполняет IUnitBodyVisual.Prime — там причина записана в докстринге, но она про юнита, и на новый визуал, который тем же материалом рисует что-то своё, никто её не переносил.

Грабли: дефект прожил ровно до первой раскадровки и был бы невидим в коде — числа правильные, логика правильная, компилируется, тесты зелёные. На листе из 24 кадров он читался за секунду: стена одинаковых белых силуэтов вместо гаснущего хвоста. Это ровно тот класс промахов, ради которого заведено правило «тронул VFX — сними раскадровку САМА»; в тот же заход правило окупилось второй раз (нулевой кадр стенда Лаборатории показывал пустую сцену, потому что рывок на нём ещё не начался).

Владелец правды: GhostImage.PrimeParts (прайм), SkeletalBodyVisual.Prime (та же причина у живого тела), PostFxLabWindow.BuildGhosts (зовёт общий прайм, своего не имеет).