# V2 Game Speed Adjustment System

This runbook covers `TODOS.phase-72.72.13.2.12`: global game speed adjustment
from 0.5x to 1.0x for players who need more reaction time.

## Runtime Surface

Game speed adjustment is stored on the per-player timing profile so it uses the
same startup restore path as timed puzzle, QTE, and dodge timing assists:

- profile: `FV2TimingAdjustmentProfile`
- resolved state: `FV2ResolvedTimingAdjustment`
- settings row: `Settings.Accessibility.GlobalGameSpeed`
- setter: `UV2InputBlueprintLibrary::SetGlobalGameSpeedScalar`
- scalar helper: `ResolveGlobalGameSpeedScalar`
- delta helper: `ResolveGlobalGameSpeedDeltaSeconds`
- persistence snapshot: `FV2PlayerSettingsSnapshot`
- contract:
  `V2/ue/Content/V2/Input/Accessibility/GameSpeedAdjustmentSystem_V2_Contract.json`
- focused checker: `V2/ue/Tools/check-v2-game-speed-adjustment.py`

## Behavior

The setting is a 50-100 percent slider in 5 percent steps. It defaults to 100
percent, resolves to a `GlobalGameSpeedScalar` from 0.5x to 1.0x, and applies as
single-player world time dilation. Any value below 1.0x is opt-in,
ranked-disabled, tournament-restricted, saved per profile, and restored before
gameplay.

The scalar is frame-data inert: authored move data, dodge invulnerability, and
competitive timing tables remain unchanged. Runtime consumers apply the resolved
world-speed scalar to elapsed simulation time only in eligible single-player
contexts.

## Verification

Run these checks after changing game speed adjustment:

```bash
python3 V2/ue/Tools/check-v2-game-speed-adjustment.py
python3 V2/ue/Tools/check-v2-timing-adjustment-system.py
python3 V2/ue/Tools/check-v2-input-module.py
python3 V2/ue/Tools/check-v2-settings-ui.py
python3 V2/ue/Tools/check-v2-accessibility-feature-set.py
python3 V2/ue/Tools/check-v2-profile-save-game.py
python3 V2/ue/Tools/check-v2-persistence-module.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 json.tool V2/ue/Content/V2/Input/Accessibility/GameSpeedAdjustmentSystem_V2_Contract.json
```
