import type { ComputeNode } from 'three/webgpu'; import type { TSLFloatNode, TSLStorageNode } from '../../../types/tsl.cjs'; import { type SPHSpatialGrid } from './SPHGridContracts.cjs'; /** * Grid-accelerated O(N) density 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 {number} particleCount Number of particles. * @param {*} poly6Kernel Poly6 kernel coefficient uniform. * @param {*} h2 Squared smoothing radius uniform. * @param {*} h6 h^6 uniform. * @param {*} mass Particle mass 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 computeDensityPassGrid(positionsBuffer: TSLStorageNode<'vec3'>, velocitiesBuffer: TSLStorageNode<'vec3'>, densitiesBuffer: TSLStorageNode<'float'>, particleCount: number, poly6Kernel: TSLFloatNode, h2: TSLFloatNode, h6: TSLFloatNode, mass: TSLFloatNode, grid: SPHSpatialGrid, is3D: boolean, debugEnabled: boolean, debugActivatedBuffer?: TSLStorageNode<'uint'> | null, debugCellIdBuffer?: TSLStorageNode<'uint'> | null): ComputeNode;