/** * Grid rendering benchmark — Canvas 2D vs WebGL spike comparison. * @module testing/gridSpikeBenchmark */ export interface GridBenchmarkResult { backend: "canvas2d" | "webgl"; dpr: number; width: number; height: number; xTicks: number; yTicks: number; lineSegments: number; avgFrameUs: number; p95FrameUs: number; frames: number; } export interface GridCompareResult { canvas2d: GridBenchmarkResult; webgl: GridBenchmarkResult | null; /** Positive = WebGL faster */ gainPercent: number; recommendation: "implement" | "defer"; } /** Benchmark Canvas 2D grid via OverlayRenderer.drawGrid */ export declare function benchmarkCanvasGrid(options?: { width?: number; height?: number; dpr?: number; xTickCount?: number; yTickCount?: number; frames?: number; showMinor?: boolean; }): GridBenchmarkResult; /** Benchmark WebGL grid spike (returns null if WebGL unavailable) */ export declare function benchmarkWebGLGrid(options?: { width?: number; height?: number; dpr?: number; xTickCount?: number; yTickCount?: number; frames?: number; }): GridBenchmarkResult | null; /** Compare backends; recommends implement if WebGL ≥20% faster */ export declare function compareGridBackends(options?: { dpr?: number; frames?: number; }): GridCompareResult; /** Vertex builder smoke test (no GL required) */ export declare function countGridVertices(xTickCount: number, yTickCount: number): number;