Решили: у Post FX Lab появилась кнопка «Раскадровка» — 24 кадра по всей длительности выбранного эффекта, склеенные в один лист Temp/PostFxLab/strip_<эффект>.png. Правило: тронул боевой VFX или анимацию — сними лист и посмотри САМ, прежде чем докладывать. Закреплено в CLAUDE.md и в скилле xgaida-x-nixi-gamefeel-vfx (включая чеклист сдачи).

Почему: 06–07.08.2026 три захода подряд «дуга идёт не так» находил Макс. Не потому, что правки были небрежные, а потому, что у эффекта не было других зрителей: агент писал код, а смотрел на результат человек — и цикл «правка → взгляд → правка» шёл через его глаза и его время. Стенд для показа при этом уже существовал; не хватало ровно одного — способа посмотреть в него без человека.

Лист, а не пачка кадров: одно изображение читается за один взгляд, а десять картинок по отдельности стоят десяти обращений и не дают увидеть движение.

Кадры снимаются равномерно по длительности, но эффект между ними прожёвывается мелкими шагами (1/120 с). Подать ему сразу пятьдесят миллисекунд значило бы показать не то, что видит игрок: у дуги, например, длина хвоста считается по пробам собственного пути, и с редкими шагами их набралось бы три штуки вместо десятков.

Сказано: «А ты можешь добавить себе возможность фоткать около 10 (или сколько лучше) кадров за эффект, чтобы саму себя проверять и внести это в пайплайн наш? А то щас ужс.» (2026-08-07, сессия f0c50476). Число кадров выбрано Максом из вариантов: 24 сеткой 6×4, лист в Temp, правило — и в CLAUDE.md, и в скилле.

Грабли, дорогая: первый же лист разошёлся с тем, что видел Макс, — и разошёлся ПОТОМУ, что раскадровка гнала эффект правильнее живого окна. Панель зовёт делегат фазы на КАЖДОЙ перерисовке, с тем же значением фазы; в делегате дуги стояла подстановка «нулевой шаг — возьми хоть немножко времени», равная 1% длины клипа (11.7 мс). Двадцать перерисовок = 234 мс несуществующего времени при жизни хвоста в 150 мс: угол стоит, часы летят, все пробы хвоста уезжают за срез. На экране остаётся пятно у острия — читается как «трейл исчезает мгновенно и не идёт за клинком».

Лечение: нулевой шаг не двигает время вовсе, а приход в любую фазу дожёвывается мелкими шагами внутри самого делегата — раскадровка теперь просто отдаёт ему фазу и не имеет своего прогона. Замер после правки: фаза 0.40 даёт хвост 133.2° и часы 0.142 с, и двадцать перерисовок подряд не меняют ни одного из этих чисел.

Отдельно: лист, открытый через Read, виден ТОЛЬКО агенту — в чат он не попадает. Максу картинка уезжает отдельным SendUserFile.

Владелец правды: PostFxLabWindow.ShootStrip и делегат фазы в BuildSwingArc, раздел «Визуальную правку агент смотрит САМ» в CLAUDE.md.