///
/// Drives how the ghost object moves and orients each frame.
///
public interface IGhostMovementStrategy
{
///
/// Called every frame when there is an active ghost.
/// Responsible for updating GhostTransform.position and .rotation.
/// Must also write ctx.RotationAxis before returning.
///
void UpdateMovement(ref GhostMovementContext ctx);
}