// Movement/State/S_MovementContext.ts import type { E_SurfaceType } from '#root/Movement/Surface/E_SurfaceType.ts'; import type { Float } from '#root/UE/Float.ts'; /** * Movement context data for state determination * Contains all information needed to determine movement state * * @category Movement State */ export interface S_MovementContext { /** * Whether character is on walkable ground */ IsGrounded: boolean; /** * Type of surface character is on */ SurfaceType: E_SurfaceType; /** * Magnitude of player input (0-1) */ InputMagnitude: Float; /** * Current horizontal movement speed (cm/s) */ CurrentSpeed: Float; /** * Current vertical velocity (cm/s) * Positive = moving up, Negative = falling */ VerticalVelocity: Float; /** * Whether character is blocked by collision */ IsBlocked: boolean; }