@polygonjs/polygonjs
Version:
node-based WebGL 3D engine https://polygonjs.com
20 lines (19 loc) • 1.36 kB
TypeScript
import { PersistedConfigWithShaders } from '../../.././utils/BasePersistedConfig';
import { BaseJsShaderAssembler, BaseFunctionData } from './_Base';
import { RegisterableVariable, SerializedVariable, SerializedVariableType } from './_BaseJsPersistedConfigUtils';
import { NamedFunctionMap } from '../../../../poly/registers/functions/All';
import { JsParamConfigJSON } from '../utils/JsParamConfig';
import { ParamType } from '../../../../poly/ParamType';
import { AssemblerControllerNode } from '../Controller';
export interface PersistedConfigBaseJsData extends PersistedConfigWithShaders {
variableNames: string[];
variables: SerializedVariable<SerializedVariableType>[];
functionNames: Array<keyof NamedFunctionMap>;
serializedParamConfigs: JsParamConfigJSON<ParamType>[];
}
export interface SingleBodyPersistedConfigBaseJsData extends PersistedConfigBaseJsData {
functionBody: string;
}
export declare function serializedVariablesFromFunctionData(functionData: BaseFunctionData): SerializedVariable<SerializedVariableType>[];
export declare function variablesByNameFromPersistedConfigData(data: PersistedConfigBaseJsData): Record<string, RegisterableVariable>;
export declare function functionsByNameFromPersistedConfigData(data: PersistedConfigBaseJsData, node: AssemblerControllerNode<BaseJsShaderAssembler>): Record<string, Function>;