export interface ShaderNodeJson { nodes: ShaderNodeJsonNode[]; connections: ShaderNodeJsonConnection[]; } export interface ShaderNodeJsonNode { id: string; name: string; inputs: Record; outputs: Record; position: { x: number; y: number; }; controls: Record; } export interface ShaderNodeJsonNodeOutput { id: string; label: string; socket: { name: string; }; } export interface ShaderNodeJsonNodeInput { type: string; value: any; socket: { name: string; }; } export interface ShaderNodeJsonConnection { id: string; from: { id: string; portName: string; }; to: { id: string; portName: string; }; }