/** * WebGL Program Factory * * Utilities for compiling and linking WebGL shader programs. */ export interface ShaderProgram { program: WebGLProgram; attributes: Record; uniforms: Record; } /** * Create a shader program from source */ export declare function createProgram(gl: WebGLRenderingContext, vertSource: string, fragSource: string, attributeNames: string[], uniformNames: string[]): ShaderProgram; /** * All programs used by the WebGL backend */ export interface ProgramBundle { line: ShaderProgram; point: ShaderProgram; heatmap: ShaderProgram; } /** * Create all shader programs */ export declare function createAllPrograms(gl: WebGLRenderingContext): ProgramBundle; /** * Destroy all programs */ export declare function destroyPrograms(gl: WebGLRenderingContext, bundle: ProgramBundle): void;