# V2 Camera Dead Zone Look-Ahead

The camera dead-zone look-ahead layer filters small movement input before it can
move the camera, then blends a look-ahead offset in the resolved movement
direction. It preserves the base camera mode pose metadata while exporting the
offset location through the camera manager contract.

## Runtime Surface

- `FV2CameraDeadZoneLookAheadConfig` configures input dead zone, look-ahead
  distance, maximum offset distance, blend speeds, feature toggles, planar
  movement projection, and blend duration.
- `FV2CameraDeadZoneLookAheadState` carries the base camera mode and current
  look-ahead offset.
- `FV2CameraDeadZoneLookAheadInput` carries movement input and delta seconds.
- `FV2CameraDeadZoneLookAheadEvaluation` returns raw and resolved input
  magnitude, movement direction, target and blended offsets, resolved location,
  mode specs, and validation issues.

## Dead Zone and Look-Ahead Rules

1. Invalid config, state, or input timing is blocking.
2. Input inside `InputDeadZone` reports `DeadZoneHolding` and resolves to zero.
3. Input outside the dead zone is remapped to a zero-to-one analog magnitude.
4. Movement can be projected to the horizontal plane before direction solving.
5. Look-ahead offsets follow movement direction and scale by resolved magnitude.
6. Offsets are clamped to `MaxLookAheadDistance` and report `LookAheadClamped`.
7. Disabled look-ahead reports `LookAheadDisabled` and blends back to center.
8. Releasing input uses `RecenterBlendSpeed` and reports `RecenterComplete` when
   the offset reaches zero.

## Camera Manager Export

`EvaluateCameraDeadZoneLookAhead` fills `ModeSpec` from the base camera mode
with the resolved location and configured blend duration.
`BuildCameraDeadZoneLookAheadMode` can export a custom id, priority, and active
flag while preserving base camera rotation, FOV, blend function, input, and
cinematic metadata.

## Validation Commands

Run these targeted checks when touching camera dead-zone look-ahead:

```bash
python3 V2/ue/Tools/check-v2-camera-dead-zone-look-ahead.py
python3 V2/ue/Tools/check-v2-camera-manager.py
python3 V2/ue/Tools/check-v2-ci-workflow.py
python3 -m json.tool V2/ue/Content/V2/Gameplay/Camera/CameraDeadZoneLookAhead_V2_Contract.json
python3 -m py_compile V2/ue/Tools/check-v2-camera-dead-zone-look-ahead.py
```
