/** * scene-render — Inc 2 (D.083, task 2h3s): render a HoloScript VM scene to native pixels. * * Takes the pure-data DrawSpec[] (from extractDrawSpecs over the engine VM ECSWorld) and * draws each entity natively on a WebGPU device: primitiveToMesh geometry → GPU vertex/index * buffers, per-entity {MVP, color} uniform, indexed draw to an offscreen texture. Verified * through the gpu-verify readback path — a real pixel, no Three.js. * * SCOPE: headless render-to-texture (the part this environment + CI-with-Dawn can verify). * It deliberately does NOT go through WebGPURenderer's canvas/IDrawCall pipeline-registry * machinery (which is browser-canvas-bound per the pre-mortem) — that browser path is a later, * /journalist-screenshot-gated step before any default-flip. This proves VM-scene → native pixel. */ import type { DrawSpec } from './draw-spec'; import { type PixelGrid } from './gpu-verify'; /** Symmetric orthographic projection, half-extent `e`. Centers world origin in the viewport. */ export declare function orthographic(e?: number): Float32Array; export interface SceneRenderOptions { size?: number; viewProj?: Float32Array; clear?: [number, number, number, number]; } /** * Render the given draw specs to an offscreen rgba8unorm texture and read the pixels back. * One render pass; one vertex/index/uniform buffer + bind group per spec (fine for the small * scenes this verifies). `mesh`-kind specs that carry `geometry.meshData` (Track-0 imported * real vertex buffers) are rendered using those buffers directly. `mesh`-kind specs WITHOUT * meshData (legacy external-reference pointer) are still skipped as before. */ export declare function renderDrawSpecs(device: GPUDevice, specs: DrawSpec[], opts?: SceneRenderOptions): Promise; //# sourceMappingURL=scene-render.d.ts.map