import type { ComputeNode } from 'three/webgpu'; import type { TSLFloatNode, TSLStorageNode } from '../../../types/tsl.cjs'; import { type SPHSpatialGrid } from './SPHGridContracts.cjs'; /** * Grid-accelerated O(N) pressure force computation pass. * Uses spatial grid for efficient neighbor lookup. * * @param {*} positionsBuffer Particle positions buffer. * @param {*} velocitiesBuffer Particle velocities buffer. * @param {*} densitiesBuffer Particle densities buffer. * @param {*} pressuresBuffer Particle pressures buffer. * @param {*} pressureForcesBuffer Pressure forces buffer. * @param {number} particleCount Number of particles. * @param {*} mass Particle mass uniform. * @param {*} h Smoothing radius uniform. * @param {*} spiky Spiky kernel coefficient uniform. * @param {*} grid Spatial grid instance. * @param {boolean} is3D Whether simulation is 3D. * @param {boolean} debugEnabled Debug mode flag. * @param {*} debugActivatedBuffer Debug activation buffer (optional). * @param {*} debugCellIdBuffer Debug cell ID buffer (optional). * @returns {*} Compute node. */ export declare function computePressureForcePassGrid(positionsBuffer: TSLStorageNode<'vec3'>, velocitiesBuffer: TSLStorageNode<'vec3'>, densitiesBuffer: TSLStorageNode<'float'>, pressuresBuffer: TSLStorageNode<'float'>, pressureForcesBuffer: TSLStorageNode<'vec3'>, particleCount: number, mass: TSLFloatNode, h: TSLFloatNode, spiky: TSLFloatNode, grid: SPHSpatialGrid, is3D: boolean, debugEnabled: boolean, debugActivatedBuffer?: TSLStorageNode<'uint'> | null, debugCellIdBuffer?: TSLStorageNode<'uint'> | null): ComputeNode;