// @holoscript/core/compiler/nodetoy — NodeToy shader-graph → HoloScript @shader mapping export interface NodeToyPort { name: string; type: 'float' | 'vec2' | 'vec3' | 'vec4' | 'mat3' | 'mat4' | 'sampler2D' | 'samplerCube'; default?: number | number[]; connection?: string; } export interface NodeToyNode { id: string; type: string; label?: string; position?: { x: number; y: number }; inputs: NodeToyPort[]; outputs: NodeToyPort[]; params?: Record; } export interface NodeToyEdge { id: string; fromNode: string; fromPort: string; toNode: string; toPort: string; } export interface NodeToyGraph { name: string; version?: string; nodes: NodeToyNode[]; edges: NodeToyEdge[]; settings?: { blendMode?: 'opaque' | 'blend' | 'additive' | 'multiply'; doubleSided?: boolean; depthTest?: boolean; depthWrite?: boolean; }; } export interface NodeToyMappingOptions { language?: string; autoTimeUniform?: boolean; autoResolutionUniform?: boolean; variablePrefix?: string; optimization?: 'none' | 'basic'; } export type UniformType = | 'float' | 'int' | 'bool' | 'vec2' | 'vec3' | 'vec4' | 'mat2' | 'mat3' | 'mat4' | 'sampler2D' | 'samplerCube'; export interface ShaderUniform { name: string; type: UniformType; value: number | number[] | boolean | string; min?: number; max?: number; label?: string; group?: string; } export interface NodeToyMappingResult { shaderConfig: Record; vertexSource: string; fragmentSource: string; uniforms: Record>; warnings: string[]; unsupportedNodes: string[]; } export declare function mapNodeToyToShader(graph: NodeToyGraph, options?: NodeToyMappingOptions): NodeToyMappingResult; export declare class NodeToyMapper { constructor(options?: NodeToyMappingOptions); map(graph: NodeToyGraph): NodeToyMappingResult; } declare const _default: unknown; export default _default;