/** * gpu-verify — the render-verification gate for the native render path (D.083, task 2h3s). * * The pre-mortem's irreducible risk: WebGPU can't be unit-tested in Node, and a Node-green * suite "passing" while rendering nothing is the green-on-black trap (W.667/W.684). This is * the gate that closes it: render a real frame to an offscreen texture on a LIVE GPUDevice * and read the pixels BACK — an actual pixel, not a mock. Callers MUST gate on a live device * (e.g. gpu-setup's GPU_LIVE); on a mock/no-GPU host the render test skips, never false-passes. * * Zero foreign-engine deps (no three.js) — straight WebGPU + WGSL. The Inc-2 GPU backend * verifies its real .holo scene render through this same readback path. */ export interface PixelGrid { width: number; height: number; /** RGBA bytes, row-major, length = width*height*4. */ data: Uint8Array; } /** Read one RGBA pixel as a 4-tuple. */ export declare function pixelAt(grid: PixelGrid, x: number, y: number): [number, number, number, number]; /** * Render a single solid-color full-viewport triangle to an offscreen rgba8unorm texture and * read the pixels back. The minimal proof that the native WebGPU render→readback path works * end-to-end on a real device. `size` defaults to 64 so bytesPerRow = 64*4 = 256 (the required * copyTextureToBuffer alignment) with no padding math. * * @param device a LIVE GPUDevice (mock devices will not produce real pixels — gate on GPU_LIVE). * @param color RGBA in 0..1. */ export declare function renderSolidColor(device: GPUDevice, color?: [number, number, number, number], size?: number): Promise; //# sourceMappingURL=gpu-verify.d.ts.map