UNPKG

fluid-pointer-react

Version:

A dependency-free fluid simulation component with WebGL-based physics - supports both vanilla web components and React

57 lines 1.73 kB
import type { FluidConfig } from "../types/fluid-types.js"; export declare class FluidSimulation { private gl; private ext; private config; private contextId; private isDestroyed; private isInitializing; private velocityFBO; private dyeFBO; private pressureFBO; private divergenceFBO; private curlFBO; private blitVertexBuffer; private blitIndexBuffer; private clearProgram; private splatProgram; private advectionProgram; private divergenceProgram; private curlProgram; private vorticityProgram; private pressureProgram; private gradientSubtractProgram; private displayMaterial; private pointerTracker; private colorManager; private lastTime; private canvas; constructor(canvas: HTMLCanvasElement, config: FluidConfig); initialize(): Promise<void>; /** * Validates that WebGL resources are valid and belong to this context */ private validateWebGLResources; /** * Checks for WebGL errors and logs them with context information */ private checkWebGLError; private initializeBlitBuffers; private initializeShaders; /** * Draws a full-screen quad using instance-specific buffers */ private blit; private initializeFBOs; private initializeUtilities; step(): void; private stepFluid; render(): void; splat(x: number, y: number, dx: number, dy: number, color?: [number, number, number]): void; addRandomSplats(count: number): void; updateConfig(newConfig: Partial<FluidConfig>): void; handleResize(_width: number, _height: number): void; private calcDeltaTime; destroy(): void; } //# sourceMappingURL=simulation.d.ts.map