import { GpuShaderDefinition } from '../../gpu/porters'; import { d } from '../../gpu/kit'; import { transformColor } from '../../utilities/transformations'; import { ColorStop } from '../../utilities/colorStops'; export type { ColorStop }; export interface ComponentProps { /** * Color of fresh smoke * * Accepts hex strings (`#ff0000`), RGB objects (`{ r, g, b }`), or CSS color names (`limegreen`). * @default "#e29c8b" */ colorA: Parameters[0]; /** * Color smoke transitions to as it ages * * Accepts hex strings (`#ff0000`), RGB objects (`{ r, g, b }`), or CSS color names (`limegreen`). * @default "#d517f9" */ colorB: Parameters[0]; stops: ColorStop[] | null; /** * How much smoke is emitted as you move the cursor * * Accepts a number between 0.1 and 2. * @default 1 */ intensity: number; /** * Size of smoke puff emitted at cursor * * Accepts a number between 0.01 and 0.3. * @default 0.07 */ emitRadius: number; /** * How much cursor velocity is transferred into the smoke (higher = more directed flow) * * Accepts a number between 0 and 50. * @default 20 */ momentum: number; /** * How fast smoke fades over time * * Accepts a number between 0.05 and 3. * @default 0.5 */ dissipation: number; /** * Fine-scale swirling detail driven by vorticity confinement * * Accepts a number between 0 and 60. * @default 10 */ detail: number; /** * Vertical drift — negative floats up, positive sinks down * * Accepts a number between -5 and 5. * @default 2 */ gravity: number; /** * How quickly smoke shifts from fresh to aged color * * Accepts a number between 0 and 3. * @default 0.5 */ colorDecay: number; /** * Color space for color interpolation * * Accepts one of the predefined option values. * @default "OKLAB" */ colorSpace: string; } export declare const splatKernel: import('typegpu').TgpuFn<(cx: d.U32, cy: d.U32) => d.Void>; export declare const curlKernel: (cx: number, cy: number) => void, vorticityKernel: (cx: number, cy: number) => void, divergenceKernel: (cx: number, cy: number) => void, jacobiKernel: (cx: number, cy: number) => void, gradSubtractKernel: (cx: number, cy: number) => void, advectVelKernel: (cx: number, cy: number) => void, copyVelKernel: (cx: number, cy: number) => void, advectDensKernel: ((cx: number, cy: number) => void) | undefined, copyDensKernel: ((cx: number, cy: number) => void) | undefined; export declare const outputKernel: import('typegpu').TgpuFn<(cx: d.U32, cy: d.U32) => d.Void>; export declare const componentDefinition: GpuShaderDefinition; export default componentDefinition; //# sourceMappingURL=index.d.ts.map