# HyperTwist Phase 4 dashboard live guidance preview case navigation control inspect surface packet

- bounded Phase `4` dashboard-consumer slice
- date: `2026-05-10`

## Intent

Stay adjacent in the live dashboard consumer lane and expose the guidance preview case navigation controls directly to gameplay and Blueprint callers.

## Why this packet exists

`UHyperTwistCoachDashboardWidget` already displayed:

- the `Prev Guidance Case` action label
- the `Next Guidance Case` action label
- the enablement posture behind those two preview-case navigation controls

But that control band still only surfaced through button labels and `SetIsEnabled` state. Callers still had to scrape widget controls to understand whether the dashboard currently has a navigable preview deck, which preview case is selected, and whether the previous/next navigation pair is actually actionable.

## What changed

- added `FHyperTwistTrainingCoachDashboardGuidancePreviewCaseNavigationInspectSurface`
- added `GetDisplayedGuidancePreviewCaseNavigationInspectSurface()`
- retained the exact displayed `Prev Guidance Case` and `Next Guidance Case` labels inside the widget so the new surface reports the same live strings the dashboard is already presenting
- kept the packet bounded to `UHyperTwistCoachDashboardWidget` plus shared surface types, with no preview-deck derivation refactor and no backend continuity changes

## Files

- `C:\HyperTwist\UnrealHyperTwist\Source\UnrealHyperTwist\Public\HyperTwistTraining\HyperTwistTrainingTypes.h`
- `C:\HyperTwist\UnrealHyperTwist\Source\UnrealHyperTwist\Public\HyperTwistTraining\HyperTwistCoachDashboardWidget.h`
- `C:\HyperTwist\UnrealHyperTwist\Source\UnrealHyperTwist\Private\HyperTwistTraining\HyperTwistCoachDashboardWidget.cpp`
- `C:\HyperTwist\docs\HYPERTWIST_ROADMAP_OVERHAUL_EXPANSION_GUIDE.md`

## Outcome

Gameplay and Blueprint callers can now inspect:

- the exact displayed `Prev Guidance Case` label
- the exact displayed `Next Guidance Case` label
- whether previous navigation is currently enabled
- whether next navigation is currently enabled
- the active preview lane, selected case ordinal, selected case id, and surfaced prompt behind those controls

without scraping widget button text or reopening preview-case navigation gating logic.

## Validation

- full `Development Editor | Win64` MSBuild on `UnrealHyperTwist.sln`
  - passed with `0 Warning(s), 0 Error(s)`

## Next clean slice

Stay on the same live dashboard consumer lane and expose the preview-deck plus start-selected-preview-case action control pair over the already-derived launch button labels and enablement posture.
