# V2 NPC Schedule Debug Visualization

`NPCScheduleDebugVisualization.V2` builds deterministic debug primitives for
inspecting NPC schedule execution. The surface is data-only so gameplay, editor,
or debug canvas renderers can consume the same timeline, current block, planned
path, and next-transition diagnostics.

## Runtime Surface

- `FV2NPCScheduleDebugVisualizationConfig` controls timeline, current block,
  planned path, and next-transition layers plus stable thickness and color
  tokens.
- `FV2NPCScheduleDebugViewport` defines fixed overlay dimensions for the
  horizontal schedule timeline and path lane.
- `FV2NPCScheduleDebugPrimitive` carries timeline segment, current-time marker,
  planned path line, and next-transition marker data.
- `FV2NPCScheduleDebugVisualizationResult` includes execution/pathfinding
  context, primitive counts, active/next block ids, and validation issues.

## Debug Rules

1. Timeline segments are generated from sorted schedule blocks; wrap-midnight
   blocks are split into late-day and early-day segments.
2. The current block is highlighted and paired with a current-time marker.
3. Planned path lines use the schedule pathfinding result and target the active
   block or next transition based on travel lead time.
4. The next-transition marker is placed at the next block start minute.
5. Draw toggles suppress individual layers without invalidating the remaining
   visualization.
6. Invalid config, viewport, schedule execution, pathfinding, or primitive data
   produces blocking issues.

## Validation Commands

Run these targeted checks when touching schedule debug visualization:

```bash
python3 V2/ue/Tools/check-v2-npc-schedule-debug-visualization.py
python3 V2/ue/Tools/check-v2-npc-schedule-persistence.py
python3 V2/ue/Tools/check-v2-npc-schedule-social-interaction.py
python3 V2/ue/Tools/check-v2-npc-schedule-weather-response.py
python3 V2/ue/Tools/check-v2-npc-schedule-day-of-week.py
python3 V2/ue/Tools/check-v2-npc-schedule-variation.py
python3 V2/ue/Tools/check-v2-npc-schedule-interruption.py
python3 V2/ue/Tools/check-v2-npc-schedule-location-binding.py
python3 V2/ue/Tools/check-v2-npc-schedule-activity-behavior.py
python3 V2/ue/Tools/check-v2-npc-schedule-pathfinding.py
python3 V2/ue/Tools/check-v2-npc-schedule-execution-engine.py
python3 V2/ue/Tools/check-v2-npc-schedule-data-format.py
python3 V2/ue/Tools/check-v2-ci-workflow.py
python3 -m json.tool V2/ue/Content/V2/Gameplay/NPC/NPCScheduleDebugVisualization_V2_Contract.json
python3 -m py_compile V2/ue/Tools/check-v2-npc-schedule-debug-visualization.py
```
