UNPKG

@lightningjs/renderer

Version:
29 lines (28 loc) 1.46 kB
import type { INode, INodeWritableProps, ITextNode, ITextNodeWritableProps } from '../../main-api/INode.js'; import type { ICoreDriver } from '../../main-api/ICoreDriver.js'; import type { RendererMain, RendererMainSettings, SpecificShaderRef } from '../../main-api/RendererMain.js'; import type { FpsUpdatePayload, FrameTickPayload } from '../../common/CommonTypes.js'; import type { IShaderController } from '../../main-api/IShaderController.js'; import type { ShaderMap } from '../../core/CoreShaderManager.js'; export interface ThreadXRendererSettings { coreWorkerUrl: string; } export declare class ThreadXCoreDriver implements ICoreDriver { private settings; private threadx; private rendererMain; private root; private fps; constructor(settings: ThreadXRendererSettings); init(rendererMain: RendererMain, rendererSettings: Required<RendererMainSettings>, canvas: HTMLCanvasElement): Promise<void>; getRootNode(): INode; createNode(props: INodeWritableProps): INode; createTextNode(props: ITextNodeWritableProps): ITextNode; createShaderController<ShType extends keyof ShaderMap>(shaderRef: SpecificShaderRef<ShType>): IShaderController; destroyNode(node: INode): void; releaseTexture(textureDescId: number): void; onCreateNode(node: INode): void; onBeforeDestroyNode(node: INode): void; onFpsUpdate(fps: FpsUpdatePayload): void; onFrameTick(frameTickData: FrameTickPayload): void; }