@polygonjs/polygonjs
Version:
node-based WebGL 3D engine https://polygonjs.com
36 lines (35 loc) • 1.54 kB
TypeScript
import { NodeJSONShadersData, NodeJSONFunctionBodiesData } from './../../json/export/Node';
import { PolyDictionary } from '../../../../types/GlobalTypes';
import { NodeJsonExporterData, NodeJsonExporterUIData } from '../../json/export/Node';
import { SceneJsonExporterData, SceneJsonExporterDataProperties } from '../../json/export/Scene';
export type ManifestNodesData = PolyDictionary<string>;
export type NodeJSONShadersTimestampData = PolyDictionary<PolyDictionary<string>>;
export type JsFunctionBodyDataTimestampData = PolyDictionary<string>;
export interface ManifestContent {
properties: string;
root: string;
nodes: ManifestNodesData;
shaders: NodeJSONShadersTimestampData;
jsFunctionBodies: JsFunctionBodyDataTimestampData;
}
type ProgressCallback = (ratio: number) => void;
interface ImportData {
sceneName?: string;
urlPrefix?: string;
manifest: ManifestContent;
editorMode?: boolean;
onProgress?: ProgressCallback;
}
export interface SceneDataElements {
root: NodeJsonExporterData;
properties: SceneJsonExporterDataProperties;
ui?: NodeJsonExporterUIData;
shaders?: NodeJSONShadersData;
jsFunctionBodies?: NodeJSONFunctionBodiesData;
}
export declare class SceneDataManifestImporter {
static importSceneData(importData: ImportData): Promise<SceneJsonExporterData>;
static assemble(assembleData: SceneDataElements, manifestNodes: string[], jsonByName: PolyDictionary<object>): Promise<SceneJsonExporterData>;
private static _insertChildData;
}
export {};