/** * Heatmap Shader - WGSL for WebGPU * * Renders heatmap cells with colormap texture lookup. * Each vertex has position (x, y) and value (z) for color mapping. */ export declare const HEATMAP_SHADER_WGSL = "\n// Uniform buffer for transforms and value range\nstruct Uniforms {\n scale: vec2,\n translate: vec2,\n minValue: f32,\n maxValue: f32,\n _padding: vec2,\n};\n\n@group(0) @binding(0)\nvar uniforms: Uniforms;\n\n@group(0) @binding(1)\nvar colormapSampler: sampler;\n\n@group(0) @binding(2)\nvar colormapTexture: texture_1d;\n\nstruct VSInput {\n @location(0) position: vec2,\n @location(1) value: f32,\n};\n\nstruct VSOutput {\n @builtin(position) pos: vec4,\n @location(0) value: f32,\n};\n\n@vertex\nfn vs_main(in: VSInput) -> VSOutput {\n var out: VSOutput;\n let transformed = in.position * uniforms.scale + uniforms.translate;\n out.pos = vec4(transformed, 0.0, 1.0);\n out.value = in.value;\n return out;\n}\n\n@fragment\nfn fs_main(in: VSOutput) -> @location(0) vec4 {\n let range = uniforms.maxValue - uniforms.minValue;\n var t: f32;\n if (range != 0.0) {\n t = (in.value - uniforms.minValue) / range;\n } else {\n t = 0.0;\n }\n t = clamp(t, 0.0, 1.0);\n \n return textureSample(colormapTexture, colormapSampler, t);\n}\n"; export declare const HEATMAP_VERTEX_STRIDE: number;