# V2 Audio Feedback Duplication

This runbook covers `TODOS.phase-72.72.13.1.10`: visual and haptic duplication
for audio-only feedback, including screen flash for damage and controller
vibration for events.

## Runtime Surface

The audio feedback duplication profile lives in V2UI:

- C++ header: `V2/ue/Source/V2UI/Public/V2AudioFeedbackDuplication.h`
- C++ source: `V2/ue/Source/V2UI/Private/V2AudioFeedbackDuplication.cpp`
- automation spec:
  `V2/ue/Source/V2Tests/Private/UI/AudioFeedbackDuplication.spec.cpp`
- contract:
  `V2/ue/Content/V2/UI/Accessibility/AudioFeedbackDuplication_V2_Contract.json`
- focused checker: `V2/ue/Tools/check-v2-audio-feedback-duplication.py`

`FV2AudioFeedbackDuplication::BuildDefaultProfile` returns
`Accessibility.AudioFeedbackDuplication.V2` for the
`HUD.Accessibility.AudioFeedbackDuplication` surface.

## Duplication Rules

Every required audio-only feedback cue resolves to an
`FV2AudioFeedbackDuplicateCue` with visual and haptic metadata. Required cue
types are Damage, CombatTiming, SystemEvent, QuestEvent, and
EnvironmentalWarning.

The release profile includes:

- screen flash plus controller vibration for `Cue.PlayerDamage`;
- HUD meter pulse plus haptic pulse for `Cue.ParryTiming`;
- icon or edge pulses plus controller vibration for system and quest events;
- warning overlay plus heavy haptic pulse for environmental hazards.

## Release Policy

The profile is valid only when it:

- duplicates all required audio-only feedback;
- provides screen flash for damage;
- provides controller vibration for events;
- works when audio is muted;
- has no audio-only state;
- respects photosensitivity limits.

## Verification

Run these checks after changing audio feedback duplication:

```bash
python3 V2/ue/Tools/check-v2-audio-feedback-duplication.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-audio-feedback-duplication.py V2/ue/Tools/check-v2-ci-workflow.py
python3 -m json.tool V2/ue/Content/V2/UI/Accessibility/AudioFeedbackDuplication_V2_Contract.json
```

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

## Horde Gates

- `audio-feedback-duplication-source`
- `audio-feedback-duplication-required-cues`
- `audio-feedback-duplication-damage-flash`
- `audio-feedback-duplication-event-haptics`
- `audio-feedback-duplication-muted-audio`
- `audio-feedback-duplication-automation`
- `audio-feedback-duplication-ci-wired`
