/** * gait — skeletal locomotion poses for the native character renderer. * * Fills the gap the render audit flagged: `LocomotionTrait` moves a node's root position, but * nothing maps movement to a *skinned walk cycle*. These pure functions produce an `AvatarPose` * (per-bone local rotations over a phase clock) that `CharacterHost` feeds to GPU skinning, so * the body actually strides. Modes line up with the real `LocomotionConfig.mode` vocabulary * (walk/run + an idle rest state); `speed` scales cadence. * * Bind pose is a T-pose (arms out along ±X), so each gait first brings the arms down to a * natural rest, then swings limbs about X for the stride. Pure math, no GPU. * * @module character-render */ import { type Quat } from './skin-math'; export type GaitMode = 'idle' | 'walk' | 'run'; /** * Compute the skeletal pose for a locomotion mode at time `t` (seconds), cadence scaled by * `speed`. Returns a map of bone → local rotation; absent bones stay at bind. */ export declare function gaitPose(mode: GaitMode, t: number, speed?: number): AvatarPoseMap; /** Map form returned by gaitPose (matches AvatarPose's ReadonlyMap shape). */ export type AvatarPoseMap = Map; //# sourceMappingURL=gait.d.ts.map