/** * Shader Graph Compiler * * Compiles shader graphs to WGSL shader code */ import { ShaderGraph } from './ShaderGraph'; import type { ICompiledShader, ICompileOptions } from './ShaderGraphTypes'; /** * Compiles shader graphs to WGSL code */ export declare class ShaderGraphCompiler { private graph; private options; private variableCounter; private nodeVariables; private uniforms; private textures; private warnings; private errors; constructor(graph: ShaderGraph, options?: Partial); /** * Compile the shader graph */ compile(): ICompiledShader; /** * Reset compilation state */ private reset; /** * Generate a unique variable name */ private generateVariable; /** * Get or create variable for a node output */ private getOutputVariable; /** * Get input expression for a node input */ private getInputExpression; /** * Get WGSL code for default value */ private getDefaultValueCode; /** * Get zero value for a type */ private getZeroValue; /** * Get WGSL type name */ private getWGSLType; /** * Generate fragment shader body */ private generateFragmentBody; /** * Generate code for nodes with multiple outputs */ private generateMultiOutputCode; /** * Generate vertex shader body */ private generateVertexBody; /** * Generate complete vertex shader */ private generateVertexShader; /** * Generate complete fragment shader */ private generateFragmentShader; /** * Generate texture bindings */ private generateTextureBindings; /** * Generate uniform bindings */ private generateUniformBindings; /** * Generate helper functions */ private generateHelperFunctions; } /** * Compile a shader graph */ export declare function compileShaderGraph(graph: ShaderGraph, options?: Partial): ICompiledShader; //# sourceMappingURL=ShaderGraphCompiler.d.ts.map