Phase 72.5.2.2 adds @v2/player-behavior-heatmaps, the operational heatmap
surface for anonymized player positional telemetry. The policy is
v2-player-behavior-heatmaps-v1.
buildV2PlayerBehaviorHeatmapsSurface composes
@galatea/analytics/heatmap-engine for 2D movement and dwell grids, then adds
V2 overlays for where players die and linger. It also emits 3D voxel density
maps so arenas with vertical routes can be inspected by height slice.
The service consumes movement, death, and linger samples with
playerIdHash identifiers. Output surfaces expose grid cells, intensities,
death counts, linger time, and voxel aggregates; they do not expose raw player
IDs or raw trajectory points.
Operator Surface#
Rendered UI should prioritize the actual heatmap workspace: mode tabs for Movement, Deaths, and Linger, a compact map selector, a time-window control, and the 2D grid as the primary view. The 3D voxel view should be a separate mode or side-by-side inspector, not a decorative preview.
The first screen should make the selected arena and heatmap mode obvious without marketing copy. Use dense labels, stable grid sizing, and clear intensity legends so operators can compare hot cells quickly.
Verification#
Targeted verification:
pnpm --filter @v2/player-behavior-heatmaps run typecheck
pnpm --filter @v2/player-behavior-heatmaps run test
python V2/ue/Tools/check-v2-player-behavior-heatmaps.py
python -m json.tool V2/ue/Build/Telemetry/v2-player-behavior-heatmaps.json