@polygonjs/polygonjs
Version:
node-based WebGL 3D engine https://polygonjs.com
54 lines (45 loc) • 1.85 kB
text/typescript
// import {CoreType} from '../../../core/Type';
// import {SceneJsonImporter} from '../json/import/Scene';
// import {SceneJsonExporterData} from '../json/export/Scene';
// import {ManifestContent, SceneDataManifestImporter} from '../manifest/import/SceneData';
// interface loadSceneData {
// sceneName: string;
// domElement: string | HTMLElement;
// scenesSrcRoot?: string;
// scenesDataRoot?: string;
// }
// export async function mountScene(data: loadSceneData) {
// const scenesSrcRoot = data.scenesSrcRoot || '/src/polygonjs/scenes';
// const scenesDataRoot = data.scenesSrcRoot || '/public/polygonjs/scenes';
// const sceneName = data.sceneName;
// async function loadManifest(): Promise<ManifestContent> {
// const response = await fetch(`${scenesSrcRoot}/${sceneName}/manifest.json`);
// const json = await response.json();
// return json;
// }
// async function loadSceneData(manifest: ManifestContent) {
// return await SceneDataManifestImporter.importSceneData({
// manifest: manifest,
// urlPrefix: `${scenesDataRoot}/${sceneName}`,
// });
// }
// async function loadScene(sceneData: SceneJsonExporterData) {
// const importer = new SceneJsonImporter(sceneData);
// const scene = await importer.scene();
// const cameraNode = scene.mainCameraNode();
// if (!cameraNode) {
// console.warn('no main camera found');
// return;
// }
// const element = isString(data.domElement) ? document.getElementById(data.domElement) : data.domElement;
// if (!element) {
// console.warn('no element to mount the viewer onto');
// return;
// }
// const viewer = cameraNode.createViewer({element});
// return {scene, cameraNode, viewer};
// }
// const manifest = await loadManifest();
// const sceneData = await loadSceneData(manifest);
// return await loadScene(sceneData);
// }