# V2 High-Contrast Mode

This runbook covers `TODOS.phase-72.72.13.1.3`: the V2UI high-contrast mode that
increases contrast of game elements, outlines interactive objects, and
simplifies backgrounds.

## Runtime Surface

The high-contrast mode lives in V2UI:

- C++ header: `V2/ue/Source/V2UI/Public/V2HighContrastMode.h`
- C++ source: `V2/ue/Source/V2UI/Private/V2HighContrastMode.cpp`
- automation spec: `V2/ue/Source/V2Tests/Private/UI/HighContrastMode.spec.cpp`
- contract:
  `V2/ue/Content/V2/UI/Accessibility/HighContrastMode_V2_Contract.json`
- focused checker: `V2/ue/Tools/check-v2-high-contrast-mode.py`

`FV2HighContrastMode::BuildHighContrastProfile` returns an
`FV2HighContrastModeProfile` named `Accessibility.HighContrastMode.V2`, bound to
`EV2UIContrastMode::High`, `HUD.Theme.HighContrast`, and
`UI.Accessibility.HighContrast.PostProcess`.

## Target Coverage

The profile must include high-contrast rules for:

- HUDText
- HUDMeters
- FighterSilhouette
- OpponentOutline
- HitZone
- InteractiveObject
- Pickup
- WorldObjective
- DangerWarning
- FocusCursor
- SubtitlePanel
- BackgroundSimplification

Each `FV2HighContrastModeRule` carries foreground, background, and outline
colors, a verified 7.0:1-or-better contrast ratio, outline thickness metadata,
and background simplification controls where needed.

## Release Policy

High-contrast mode is valid only when it:

- increases contrast of game elements and HUD readouts;
- outlines interactive objects, pickups, objectives, focus cursors, hit zones,
  opponents, and fighter silhouettes;
- simplifies backgrounds with scene dimming and desaturation;
- suppresses decorative background noise while preserving hit-confirmation
  readability;
- blocks color-only states.

## Verification

Run these checks after changing high-contrast mode:

```bash
python3 V2/ue/Tools/check-v2-high-contrast-mode.py
python3 V2/ue/Tools/check-v2-ui-module.py
python3 V2/ue/Tools/check-v2-ci-workflow.py
python3 V2/tools/validate-v2-docs.py
python3 -m py_compile V2/ue/Tools/check-v2-high-contrast-mode.py V2/ue/Tools/check-v2-ci-workflow.py
python3 -m json.tool V2/ue/Content/V2/UI/Accessibility/HighContrastMode_V2_Contract.json
```

Automation test name: `V2.UI.Accessibility.HighContrastMode.AssetContract`.

## Horde Gates

- `high-contrast-mode-source`
- `high-contrast-mode-game-elements`
- `high-contrast-mode-interactive-outlines`
- `high-contrast-mode-background-simplification`
- `high-contrast-mode-automation`
- `high-contrast-mode-ci-wired`
