import type { Vector3 } from '@holoscript/core'; /** * ClothSim.ts * * Mass-spring cloth simulation: particle grid, distance constraints, * pin points, wind, gravity, and self-collision. * * @module physics */ export interface ClothParticle { position: Vector3; prevPosition: Vector3; mass: number; pinned: boolean; [index: number]: number | boolean | Vector3; } export interface ClothConstraint { particleA: number; particleB: number; restLength: number; stiffness: number; } export interface ClothConfig { gravity: number; damping: number; iterations: number; wind: Vector3; } export declare class ClothSim { private syncParticleCompat; private particles; private constraints; private config; private width; private height; constructor(config?: Partial); createGrid(width: number, height: number, spacing: number): void; private addConstraint; pin(index: number): void; unpin(index: number): void; pinTopRow(): void; update(dt: number): void; setWind(x: number, y: number, z: number): void; getParticle(index: number): ClothParticle | undefined; getParticleCount(): number; getConstraintCount(): number; getGridSize(): { width: number; height: number; }; getAABB(): { min: Vector3; max: Vector3; }; } //# sourceMappingURL=ClothSim.d.ts.map