/** * Deterministic fixed-step cloth dynamics for sovereign character garments. * * The solver is intentionally small and pure-data: point masses are integrated in authored * local space, triangle edges become distance constraints, and per-vertex cloth weights pin * seams while allowing hems/cuffs/mantles to move. Sampling always restarts from the same rest * state and advances an integer number of fixed steps, making replay byte-identical. */ export interface ClothSimulationConfig { solver: 'xpbd'; fixedStepHz: number; iterations: number; damping: number; gravity: [number, number, number]; wind: [number, number, number]; windFrequency: number; tetherStiffness: number; constraintStiffness: number; maxDisplacement: number; } export interface ClothSimulationReceipt { solver: 'xpbd'; timeSeconds: number; fixedStepHz: number; fixedSteps: number; iterations: number; dynamicVertexCount: number; maxDisplacement: number; rmsDisplacement: number; positionDigest: string; } export declare const DEFAULT_CLOTH_SIMULATION: Readonly; export declare class DeterministicClothSimulation { private readonly rest; private readonly weights; private readonly edges; private readonly config; private readonly dynamicVertexCount; constructor(restPositions: Float32Array, indices: Uint32Array, clothWeights: Float32Array, config?: Partial); getConfig(): ClothSimulationConfig; sample(timeSeconds: number): { positions: Float32Array; receipt: ClothSimulationReceipt; }; } //# sourceMappingURL=AgentAvatarCloth.d.ts.map