UNPKG

polygonjs-engine

Version:

node-based webgl 3D engine https://polygonjs.com

36 lines (35 loc) 1.92 kB
import { Constructor, valueof } from '../../../../types/GlobalTypes'; import { TypedNode } from '../../_Base'; import { BaseJsFunctionAssembler } from './assemblers/_Base'; import { OutputJsNode } from '../Output'; import { GlobalsJsNode } from '../Globals'; import { JsNodeChildrenMap } from '../../../poly/registers/nodes/Js'; import { BaseJsNodeType } from '../_Base'; import { ParamsInitData } from '../../utils/io/IOController'; export declare class AssemblerControllerNode extends TypedNode<any, any> { createNode<S extends keyof JsNodeChildrenMap>(node_class: S, params_init_value_overrides?: ParamsInitData): JsNodeChildrenMap[S]; createNode<K extends valueof<JsNodeChildrenMap>>(node_class: Constructor<K>, params_init_value_overrides?: ParamsInitData): K; children(): BaseJsNodeType[]; nodesByType<K extends keyof JsNodeChildrenMap>(type: K): JsNodeChildrenMap[K][]; assembler_controller: JsAssemblerController<BaseJsFunctionAssembler>; } declare type BaseJsFunctionAssemblerConstructor<A extends BaseJsFunctionAssembler> = new (...args: any[]) => A; export declare class JsAssemblerController<A extends BaseJsFunctionAssembler> { private node; protected _assembler: A; private _spare_params_controller; private _compile_required; constructor(node: AssemblerControllerNode, assembler_class: BaseJsFunctionAssemblerConstructor<A>); get assembler(): A; add_output_inputs(output_child: OutputJsNode): void; add_globals_outputs(globals_node: GlobalsJsNode): void; allow_attribute_exports(): boolean; on_create(): void; set_compilation_required(new_state?: boolean): void; set_compilation_required_and_dirty(trigger_node?: BaseJsNodeType): void; compile_required(): boolean; post_compile(): void; create_spare_parameters(): void; } export declare type JsAssemblerControllerType = JsAssemblerController<BaseJsFunctionAssembler>; export {};