Решили: джус реплея действует на ВИД и камеру боя, а не на глобальное время. Фоновый бой за меню
поднимается без глобального замедления, TimeScaleService, режиссёра slowmo и тряски экрана — только
локальный пофрейм-фидбэк (вспышки, цифры урона), который рисуется на боевом слое и меню не касается.
«Медленнее» и «пауза» реплея — это скорость подачи ленты (локальный рычаг на плеере), а не
Time.timeScale.
Почему: показ УЖЕ двигается на Time.deltaTime (CombatPresenter.Update →
_stage.Advance(Time.deltaTime)), поэтому timeScale масштабирует скорость ПОКАЗА, а сим считает
вперёд на unscaled. Значит slowmo и так «view-штука», а пауза — это скорость показа 0. Реальное
глобальное замедление фону меню не нужно вовсе: оно затормозило бы и само меню (UI-анимации на
scaled-времени), а фон не должен дёргать то, что перед ним. Отвергнут «полный боевой джус как в бою»:
он гонит slowmo через глобальный Time.timeScale и тряску через камеру — в меню это вздрагивающий и
подтормаживающий интерфейс.
Сказано: «а разве у нас не может быть полный джус, но чтобы он воздействовал не на меню а как раз на камеру боя, не более? Т..е замедление времени - это ведь view просто… Просто скорость проигрыша 0
- это и есть пауза. Тоже самое и с замедлениеми» (04.08.2026, сессия 0768278b). Решение и разбор — его: он вскрыл, что глобальное время тут лишнее, показ и так тактируется отдельно.
Грабли: показ — МИРОВОЙ синглтон (CombatPresenter живёт в персист-сцене), и реплей меню
привязывает СВОЙ плейбек в него биндером. Значит «своя скорость фона» без глобального времени
потребует локального множителя dt на подаче ленты — сегодня показ двигает всех одним
Time.deltaTime. Это задел, а не долг: пока timeScale=1, фон играется нормально и меню спокойно.
Владелец правды: Presentation/CombatPresenter.cs (Advance на Time.deltaTime), будущая ветка
Replay в Game/CombatLifetimeScope.cs (не регистрирует TimeScaleService/режиссёра джуса).