# HyperTwist Phase I-C spatial coaching and tutorial staging preparation packet

Date: `2026-05-31`

## Goal

Reopen the landed `Phase I-A` and `Phase I-B` immersive lane one bounded step
further through explicit first-party coaching and tutorial staging surfaces.

## Why this slice is justified

After `Phase I-B`, the immersive lane still lacked the teaching surfaces
promised by the roadmap scaffold:

- coach cue anchors
- ghosted target positions
- replay path emphasis
- drill-target spotlighting
- lesson-specific environmental states

Those are the pieces that make the scenic world actually behave like a training
environment rather than only a presentational shell.

## Bounded implementation target

Land the first immersive teaching/staging packet only:

- first-party coach-cue anchor contract
- first-party ghost-target boundary
- first-party replay-emphasis boundary
- first-party lesson-state spotlighting contract
- runtime-library accessors for all four surfaces
- focused automation coverage

## Explicit non-goals

Do not widen this packet into:

- generic cutscene ownership
- broad cinematic timeline ownership
- cross-product tutorial engine ownership
- mission scripting ownership
- later immersive phases like reactive session-state environment cues

## Files expected to move

- `UnrealHyperTwist/Source/UnrealHyperTwist/Public/HyperTwistTraining/HyperTwistTrainingImmersiveEnvironmentLibrary.h`
- `UnrealHyperTwist/Source/UnrealHyperTwist/Private/HyperTwistTraining/HyperTwistTrainingImmersiveEnvironmentLibrary.cpp`
- `UnrealHyperTwist/Source/UnrealHyperTwist/Public/HyperTwistTraining/HyperTwistTrainingRuntimeLibrary.h`
- `UnrealHyperTwist/Source/UnrealHyperTwist/Private/HyperTwistTraining/HyperTwistTrainingRuntimeLibrary.cpp`
- `UnrealHyperTwist/Source/UnrealHyperTwist/Tests/HyperTwistImmersivePhaseICCoachingStagingContractTest.cpp`
- canon sync docs

## Validation target

Safe source-level validation only on this VPS:

- focused contract coverage for the new coaching, ghost-target, replay-emphasis, and lesson-state surfaces
- targeted wiring sweep
- `git diff --check`
