import type { ShaderSpec } from "./shader-manifest"; type GL = WebGL2RenderingContext | WebGLRenderingContext; export declare class ShaderRegistry { private _gl; private _programs; constructor(gl: GL); /** * Compile + link every program in `specs` eagerly. Used by * `WebGLContextManager` when constructed with `precompile: true` * so the first-frame path doesn't pay the compile cost inline. * * Compilation is synchronous and serial — single-digit ms per * program on a modern GPU. With `KHR_parallel_shader_compile` * (browser-supported but not yet wired here) the work could be * dispatched to driver threads; today we accept the wall-time * cost in exchange for simpler code and a deterministic init. */ precompile(specs: readonly ShaderSpec[]): void; getOrCreate(name: string, vertSrc: string, fragSrc: string): WebGLProgram; releaseAll(): void; } export {};