import * as typegpu0 from "typegpu"; import { d } from "typegpu"; //#region src/operators.d.ts /** * Union operator for combining two SDFs * Returns the minimum distance between two SDFs * * @param d1 First SDF distance * @param d2 Second SDF distance */ declare const opUnion: typegpu0.TgpuFn<(d1: d.F32, d2: d.F32) => d.F32>; /** * Smooth minimum operator for combining two SDFs with a smooth transition * * Source: https://iquilezles.org/articles/smin/ * * @param d1 First SDF distance * @param d2 Second SDF distance * @param k Smoothing factor (larger k = more smoothing) */ declare const opSmoothUnion: typegpu0.TgpuFn<(d1: d.F32, d2: d.F32, k: d.F32) => d.F32>; /** * Smooth difference operator for subtracting one SDF from another with a smooth transition * * @param d1 First SDF distance (base shape) * @param d2 Second SDF distance (shape to subtract) * @param k Smoothing factor (larger k = more smoothing) */ declare const opSmoothDifference: typegpu0.TgpuFn<(d1: d.F32, d2: d.F32, k: d.F32) => d.F32>; /** * Extrudes a 2D signed distance function along the Z-axis to create a 3D shape. * * @param point The 3D point to evaluate the distance at * @param dd The 2D signed distance field value (distance in XY plane) * @param halfHeight Half-height of the extrusion along the Z-axis */ declare const opExtrudeZ: typegpu0.TgpuFn<(point: d.Vec3f, dd: d.F32, halfHeight: d.F32) => d.F32>; /** * Extrudes a 2D signed distance function along the X-axis to create a 3D shape. * * @param point The 3D point to evaluate the distance at * @param dd The 2D signed distance field value (distance in YZ plane) * @param halfHeight Half-height of the extrusion along the X-axis */ declare const opExtrudeX: typegpu0.TgpuFn<(point: d.Vec3f, dd: d.F32, halfHeight: d.F32) => d.F32>; /** * Extrudes a 2D signed distance function along the Y-axis to create a 3D shape. * * @param point The 3D point to evaluate the distance at * @param dd The 2D signed distance field value (distance in ZX plane) * @param halfHeight Half-height of the extrusion along the Y-axis */ declare const opExtrudeY: typegpu0.TgpuFn<(point: d.Vec3f, dd: d.F32, halfHeight: d.F32) => d.F32>; //#endregion export { opExtrudeX, opExtrudeY, opExtrudeZ, opSmoothDifference, opSmoothUnion, opUnion };