# V2 Camera Post-Process Zone

The camera post-process zone layer resolves sphere and box trigger volumes into
blended post-process settings. It covers fog, color grading, and depth-of-field
settings while reporting deterministic enter, exit, priority, and validation
issues.

## Runtime Surface

- `FV2CameraPostProcessSettings` carries fog density and color, color-grade
  intensity and tint, and depth-of-field focal distance and aperture.
- `FV2CameraPostProcessZoneConfig` carries default settings and fallback blend
  durations.
- `FV2CameraPostProcessZoneState` carries the camera location, previous active
  zone id, current blend alpha, and current settings.
- `FV2CameraPostProcessZoneInput` carries delta seconds.
- `FV2CameraPostProcessZone` defines a sphere or box trigger with priority,
  settings, blend durations, and active state.
- `FV2CameraPostProcessZoneEvaluation` returns the resolved active zone,
  enter/exit flags, blend alpha, blended settings, and validation issues.

## Zone Rules

1. Invalid config, state, input, or zone data is blocking.
2. Inactive zones do not trigger.
3. Sphere zones use distance from center to radius.
4. Box zones use absolute local offset within extents.
5. Overlapping zones choose the highest priority zone.
6. Equal-priority overlaps keep the earlier zone and report `PriorityTie`.
7. Entering a zone reports `ZoneEntered` and blends toward that zone settings.
8. Exiting all zones reports `ZoneExited` and blends back to default settings.
9. `BlendComplete` is reported when the blend reaches zero or one.

## Post-Process Settings

The resolved settings blend fog density and fog color, color-grade intensity and
tint, depth-of-field focal distance, and aperture. Callers can bind the resolved
data to runtime post-process volumes or camera post-process overrides.

## Validation Commands

Run these targeted checks when touching camera post-process zones:

```bash
python3 V2/ue/Tools/check-v2-camera-post-process-zone.py
python3 V2/ue/Tools/check-v2-ci-workflow.py
python3 -m json.tool V2/ue/Content/V2/Gameplay/Camera/CameraPostProcessZone_V2_Contract.json
python3 -m py_compile V2/ue/Tools/check-v2-camera-post-process-zone.py
```
