// Movement/Core/S_MovementInput.ts import type { DA_MovementConfig } from '#root/Movement/Core/DA_MovementConfig.ts'; import type { S_AngleThresholds } from '#root/Movement/Surface/S_AngleThresholds.ts'; import type { CapsuleComponent } from '#root/UE/CapsuleComponent.ts'; import type { Float } from '#root/UE/Float.ts'; import type { Vector } from '#root/UE/Vector.ts'; /** * Movement processing input data * All data needed to compute next movement state * * @category Movement Input */ export interface S_MovementInput { /** * Player input vector (normalized XY direction) */ InputVector: Vector; /** * Frame delta time (seconds) */ DeltaTime: Float; /** * Character capsule component for collision */ CapsuleComponent: CapsuleComponent | null; /** * Movement configuration */ Config: DA_MovementConfig; /** * Angle thresholds in radians (for surface classification) */ AngleThresholdsRads: S_AngleThresholds; }