import {Engine, GroundMesh, Scene, WebGPUEngine} from '@babylonjs/core';
import {ClothConfig} from '../cloth.model';

export interface ClothSimulationParams {
  stiffness: number;
  elongation: number;
  isWindActive: boolean;
  simulationTime: number;
  deltaTime: number;
}

export interface ClothSimulationStrategy {
  init(scene: Scene, engine: WebGPUEngine | Engine, config: ClothConfig): void;
  updateParams(params: ClothSimulationParams): void;
  getMesh(): GroundMesh | null;
  dispose(): void;
}
