Решили: фаза эффекта в стенде бежит по его НАСТОЯЩЕЙ длительности, взятой из движка, а пользовательская ручка — множитель этого времени ступенями (×0.1 … ×2), по умолчанию ×1.

Почему: абстрактная «скорость проигрывания», одинаковая для всех, врала про каждого. Длительности эффектов расходятся на порядок — вспышка блока 0.18 с, форма удара 0.30, разлёт на осколки 2.20, — и общий множитель не давал ответить на главный вопрос стенда: «так это выглядит у игрока или нет». Множитель ×1 обязан существовать и быть значением по умолчанию: замедление нужно, чтобы разглядеть, но оно должно быть ЗАЯВЛЕННЫМ, а не подразумеваться — иначе решения о джусе принимаются по картинке, которой в игре не бывает.

Ступени, а не ползунок, — по правилу code-standards §9: темп здесь величина-категория («как у игрока» / «вдвое медленнее»), и ловить ×1 в ползунке значило бы каждый раз промахиваться мимо единственного honest-значения.

Сказано: «Скорость щас не реальная. Скорость анимации и саму анимацию ведь надо брать на основе того, сколько РЕАЛЬНО анимация длиться. И можно ускоряться или замедлять (изначально х1, можно записать хоть 0.25, хоть 2 просто готовые варианты)» (2026-08-06, сессия d760c178).

Грабли: длительность НЕ выводится из одного места — её приходится собирать по владельцам: жизнь формы приходит в HitFormParams, дожитие частиц — из их же модулей (duration + startLifetime), вспышка смерти и разлёт — два отдельных поля feel-конфига, которые настраиваются раздельно и уже разошлись. Единственное исключение названо вслух в коде: длительность каста живёт в симуляции как cast-time приёма, в стенде её взять неоткуда — там честная типичная секунда, и это оговорено, а не замаскировано.

Владелец правды: Assets/_Project/Scripts/Presentation/Editor/PostFxLabWindow.cs.