/** * WebGL grid spike — batched GL_LINES renderer for axis grid lines. * Labels remain on Canvas 2D; this spike covers grid lines only. * @module renderer/spike/WebGLGridSpike */ export interface GridLineSpec { /** Plot area in CSS pixels */ plotArea: { x: number; y: number; width: number; height: number; }; /** Pixel X positions for vertical grid lines */ xLines: number[]; /** Pixel Y positions for horizontal grid lines */ yLines: number[]; /** Canvas width (physical pixels) */ width: number; /** Canvas height (physical pixels) */ height: number; /** Line color RGBA 0–1 */ color?: [number, number, number, number]; /** Line width in pixels */ lineWidth?: number; } /** Build interleaved [x,y] vertex pairs for GL_LINES from tick pixel positions */ export declare function buildGridLineVertices(spec: GridLineSpec): Float32Array; export declare class WebGLGridSpike { private gl; private program; private buffer; private aPosition; private uResolution; private uColor; constructor(canvas: HTMLCanvasElement); /** Upload vertices and draw grid lines */ draw(spec: GridLineSpec): number; destroy(): void; }