# Камера підлаштовується під facing-lock на крейт (2026-08-12) Користувач: коли персонаж зупиняється біля ящика і "тригер збору" (`PlayerC.faceTowards`, викликається з `updateMovement` коли `stopped && nearbyObstacle`) розвертає його лицем до цілі, камера має підлаштовуватись під новий кут, а не лишатись байдужою. Це саме той кейс, який попередній рух-based `lookAhead` **свідомо** ігнорував (розворот на місці = нульовий `movement` = look-ahead не оновлюється) — правильна поведінка для довільного розвороту, але користувач хотів виключення саме для facing-lock на breakable-ціль. **Рішення без повернення до facing/quaternion-залежності** (яка й дала "рух по колу" раніше): `PlayerC` тепер зберігає, на яку саме ТОЧКУ (не кут!) він зараз locked — `facingTarget: Vector3 | null`, виставляється в `updateMovement()` в той самий момент, коли викликається `faceTowards()` (і скидається в `null`, коли умова `stopped && nearbyObstacle` неправдива). Публічний `PlayerC.getFacingTarget()`. `CameraFollowC.setFacingTargetGetter(getter)` — injected getter (той самий DI-паттерн, що й `ResourceC.setFlyTarget`), підключено в `TestSceneC.init()` відразу після `CameraFollowC.init()`. В `update()`: якщо `facingTarget` не `null` — `desiredLookAhead` рахується як напрямок від гравця ДО цієї точки (XZ, нормалізований) × `LOOK_AHEAD_DISTANCE`, замість напрямку руху; інакше — стара логіка (рух або hold). Ключове: джерело — фіксована ТОЧКА в world-space (`nearbyObstacle.center`), а не обертовий вектор — поки гравець і ящик обидва стоять на місці, цей напрямок сам по собі константний, тож `smoothedLookAhead.lerp(...)` дає один плавний лінійний зсув до нової позиції й ЗУПИНЯЄТЬСЯ там, а не описує дугу (на відміну від facing/quaternion-based версії, яка оберталась разом з тілом персонажа). Перевірено (Playwright, тимчасове логування `window.__dbgFacing`/ `__dbgLookAhead`, видалене після): після зупинки біля крейта `facingTarget` стає non-null, і `smoothedLookAhead` плавно зсувається від ~`(-0.02, 1.46)` до нового значення (`(-1.03, 1.08)` і триває сходитись) — камера реально підлаштовується, а не стоїть на місці.