Решили: MenuBattleDirector поднимает BattleStagePresence не при рождении реплей-скоупа, а на первом кадре, где в фокусе есть бойцы (CombatFocusTarget.HasUnits). И сам подъём сцены переводит камеру в боевой кадр МГНОВЕННО — CinemachineBrain.ResetState() вместо подводки.

Почему: между рождением скоупа и первым кадром с бойцами проходит несколько кадров — файл читается в ленту по темпу показа. Подняв сцену раньше, мы посылали камеру в Action к ещё не заданной точке: она начинала подводку от старого кадра, а через пару кадров CombatFocusTarget снапал цель слежения в центр дуэли — уже посреди бленда. Отсюда рывок. Вторая жертва того же порядка — PrimeActionZoom: он выходит по !HasUnits, то есть молча не взводил зум, и тот доезжал отдельным движением (ровно то, от чего этот метод и защищает).

Мгновенный кадр — решение Макса: подводка уместна, когда игрок уже смотрел на арену и его взгляд переносят, а фон меню возникает вместе с меню, и «перелёт» показывает дорогу из вида, которого зритель не видел. Резать через Brain, а НЕ записью Cut в WorldCameraBlends: там правило накрыло бы все переходы к сценарной камере, включая вход в живой бой из расстановки, где подводка нужна.

Отвергнут и третий вариант — задержка на сплеше (предложение Макса, снятое им же): она лечит одну дверь, а в главное меню возвращаются ещё и из забега, где сплеша нет.

Сказано: «Камера очень-очень резко перемещается со стартового положения в бой в начале. Выглядит не красиво.», «Скорее надо бой запустить еще на стадии загрузки сплеша… Хотя это костыли…» и «Чтобы сразу начиналось на боевом кадре сделай пожалуйста» (04.08.2026, сессия 78678294).

Грабли: бленд был настроен и работал — 0.7 с в DefaultBlend, и в WorldCameraBlends к Action нет Cut. Поэтому «резко» сначала читалось как «бленда нет», а искать надо было не бленд, а порядок: подводка ехала честно, но цель под ней переезжала. Ещё одно проявление правила «заказ раньше адресата теряется» — лечится входным условием, а не задержкой.

Владелец правды: Game/Flow/MenuBattleDirector.cs (_awaitingStage и его ветка в Tick), Presentation/Camera/CameraModeController.cs (OnStageChangedCutToActiveNow).