import { GpuFragmentParams, Expr } from '../../gpu/contract'; import { d } from '../../gpu/kit/index'; import { ArgSpec } from '../invoke'; import { PropRef } from '../values'; import { SampleStage } from './blurs'; export declare const chromaticOffsetUV: import('typegpu').TgpuFn<(uv: d.Vec2f, angle: d.F32, strength: d.F32, aspect: d.F32, channelOffset: d.F32) => d.Vec2f>; /** * Chromatic fan: sample the child at three per-channel offset UVs along `angle` (each channel's * signed multiplier × `strength`) and recombine R/G/B — alpha from the green tap, so a centred * green (offset 0) keeps the silhouette put. Not a uvRemap candidate: three DIFFERENT sample UVs * can't fold into one coordinate. */ export declare function chromaticFan(opts: { strength: ArgSpec; angle: ArgSpec; red: ArgSpec; green: ArgSpec; blue: ArgSpec; }): SampleStage; /** The prop roles the spectral-lens recipe binds. */ export interface SpectralLensSlots { center: PropRef; spread: PropRef; bias: PropRef; angle: PropRef; perspective: PropRef; count: PropRef; dispersion: PropRef; dispersionShift: PropRef; dispersionColor: PropRef; focusCenter: PropRef; focusEdges: PropRef; swirl: PropRef; noise: PropRef; noiseFrequency: PropRef; noiseOffset: PropRef; lensBulge: PropRef; lensCircle: PropRef; grainMixer: PropRef; grainOverlay: PropRef; } /** * The spectral-lens recipe: split the child into shifting chromatic layers (a runtime-count * gather fan) with barrel/pincushion lens warp, optional circular crop, swirl, noise scatter and * film grain. Composed from the kit's lens statement parts — lensGeometry → spreadAxis → * spectralFan → grainOverlay, all appending to one statement stream (they share locals via the * fresh prefix). The fan loop is raw WGSL because per-iteration texture sampling can't fold * into the Expr graph; the accumulated result is premultiplied → straight alpha on the way out * like every RTT filter. */ export declare function spectralLens(slots: SpectralLensSlots): (params: GpuFragmentParams) => Expr; //# sourceMappingURL=lens.d.ts.map