This runbook covers TODOS.phase-72.72.13.1.4: the V2UI screen magnification
system that zooms into a portion of the screen with a moveable focus area.
Runtime Surface#
The screen magnification system lives in V2UI:
- C++ header:
V2/ue/Source/V2UI/Public/V2ScreenMagnification.h - C++ source:
V2/ue/Source/V2UI/Private/V2ScreenMagnification.cpp - automation spec:
V2/ue/Source/V2Tests/Private/UI/ScreenMagnification.spec.cpp - contract:
V2/ue/Content/V2/UI/Accessibility/ScreenMagnification_V2_Contract.json - focused checker:
V2/ue/Tools/check-v2-screen-magnification.py
FV2ScreenMagnification::BuildDefaultSettings returns enabled
FV2ScreenMagnificationSettings with a 2.0x zoom factor, a normalized
UI.Accessibility.Magnifier.FocusArea, keyboard/controller panning, HUD safe
zone preservation, and screen-reader announcements for focus-area movement.
Zoom And Focus#
Supported zoom factors are 1.5x, 2.0x, 3.0x, and 4.0x.
FV2ScreenMagnification::BuildMagnifiedViewport converts the normalized focus
center into the source rect that should be magnified into the output viewport.
FV2ScreenMagnification::MoveFocusArea applies normalized pan deltas and clamps
the focus area so sampling stays inside the viewport.
Release Policy#
Screen magnification is valid only when it:
- zooms into a bounded portion of the screen;
- exposes a moveable focus area;
- clamps the focus area and source rect to viewport bounds;
- preserves aspect ratio and HUD safe zones;
- supports keyboard/controller panning;
- announces focus-area movement for screen readers;
- uses smooth transitions.
Verification#
Run these checks after changing screen magnification:
python3 V2/ue/Tools/check-v2-screen-magnification.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-screen-magnification.py V2/ue/Tools/check-v2-ci-workflow.py
python3 -m json.tool V2/ue/Content/V2/UI/Accessibility/ScreenMagnification_V2_Contract.json
Automation test name: V2.UI.Accessibility.ScreenMagnification.AssetContract.
Horde Gates#
screen-magnification-sourcescreen-magnification-zoom-factorsscreen-magnification-moveable-focus-areascreen-magnification-viewport-clampingscreen-magnification-automationscreen-magnification-ci-wired