@2112-lab/central-plant 0.1.2 → 0.1.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bundle/index.js +1 -15498
- package/dist/cjs/_virtual/_rollupPluginBabelHelpers.js +1 -366
- package/dist/cjs/node_modules/@2112-lab/pathfinder/dist/index.esm.js +1 -1448
- package/dist/cjs/node_modules/three/examples/jsm/controls/OrbitControls.js +1 -1292
- package/dist/cjs/node_modules/three/examples/jsm/exporters/GLTFExporter.js +1 -0
- package/dist/cjs/node_modules/three/examples/jsm/exporters/OBJExporter.js +1 -0
- package/dist/cjs/node_modules/three/examples/jsm/exporters/PLYExporter.js +1 -0
- package/dist/cjs/node_modules/three/examples/jsm/exporters/STLExporter.js +1 -0
- package/dist/cjs/node_modules/three/examples/jsm/loaders/DRACOLoader.js +1 -0
- package/dist/cjs/node_modules/three/examples/jsm/loaders/GLTFLoader.js +1 -4374
- package/dist/cjs/node_modules/three/examples/jsm/loaders/RGBELoader.js +1 -465
- package/dist/cjs/node_modules/three/examples/jsm/renderers/CSS2DRenderer.js +1 -0
- package/dist/cjs/node_modules/three/examples/jsm/utils/BufferGeometryUtils.js +1 -117
- package/dist/cjs/src/analysis/analysis.js +1 -0
- package/dist/cjs/src/analysis/testing.js +1 -0
- package/dist/cjs/src/core/centralPlant.js +1 -0
- package/dist/cjs/src/core/debugLogger.js +1 -0
- package/dist/cjs/src/core/mathUtils.js +1 -0
- package/dist/cjs/src/core/nameUtils.js +1 -0
- package/dist/cjs/src/data/export.js +1 -0
- package/dist/cjs/src/data/import.js +1 -0
- package/dist/cjs/src/data/numerics.js +1 -0
- package/dist/cjs/src/helpers/sceneHelper.js +1 -0
- package/dist/cjs/src/index.js +1 -79
- package/dist/cjs/src/managers/components/animationManager.js +1 -0
- package/dist/cjs/src/managers/components/componentManager.js +1 -0
- package/dist/cjs/src/managers/components/pathfindingManager.js +1 -0
- package/dist/cjs/src/managers/controls/TransformControls.js +1 -0
- package/dist/cjs/src/managers/controls/cameraControlsManager.js +1 -0
- package/dist/cjs/src/managers/controls/dragDropManager.js +1 -0
- package/dist/cjs/src/managers/controls/keyboardControlsManager.js +1 -0
- package/dist/cjs/src/managers/controls/transformControlsManager.js +1 -0
- package/dist/cjs/src/managers/environment/environmentManager.js +1 -0
- package/dist/cjs/src/managers/environment/textureConfig.js +1 -0
- package/dist/cjs/src/managers/scene/sceneExportManager.js +1 -0
- package/dist/cjs/src/managers/scene/sceneInitializationManager.js +1 -0
- package/dist/cjs/src/managers/scene/sceneOperationsManager.js +1 -0
- package/dist/cjs/src/managers/scene/sceneTooltipsManager.js +1 -0
- package/dist/cjs/src/managers/system/disposalManager.js +1 -0
- package/dist/cjs/src/managers/system/hotReloadManager.js +1 -0
- package/dist/cjs/src/managers/system/performanceMonitor.js +1 -0
- package/dist/cjs/src/rendering/modelPreloader.js +1 -0
- package/dist/cjs/src/rendering/rendering2D.js +1 -0
- package/dist/cjs/src/rendering/rendering3D.js +1 -0
- package/dist/esm/_virtual/_rollupPluginBabelHelpers.js +1 -339
- package/dist/esm/node_modules/@2112-lab/pathfinder/dist/index.esm.js +1 -1444
- package/dist/esm/node_modules/three/examples/jsm/controls/OrbitControls.js +1 -1287
- package/dist/esm/node_modules/three/examples/jsm/exporters/GLTFExporter.js +1 -0
- package/dist/esm/node_modules/three/examples/jsm/exporters/OBJExporter.js +1 -0
- package/dist/esm/node_modules/three/examples/jsm/exporters/PLYExporter.js +1 -0
- package/dist/esm/node_modules/three/examples/jsm/exporters/STLExporter.js +1 -0
- package/dist/esm/node_modules/three/examples/jsm/loaders/DRACOLoader.js +1 -0
- package/dist/esm/node_modules/three/examples/jsm/loaders/GLTFLoader.js +1 -4370
- package/dist/esm/node_modules/three/examples/jsm/loaders/RGBELoader.js +1 -461
- package/dist/esm/node_modules/three/examples/jsm/renderers/CSS2DRenderer.js +1 -0
- package/dist/esm/node_modules/three/examples/jsm/utils/BufferGeometryUtils.js +1 -113
- package/dist/esm/src/analysis/analysis.js +1 -0
- package/dist/esm/src/analysis/testing.js +1 -0
- package/dist/esm/src/core/centralPlant.js +1 -0
- package/dist/esm/src/core/debugLogger.js +1 -0
- package/dist/esm/src/core/mathUtils.js +1 -0
- package/dist/esm/src/core/nameUtils.js +1 -0
- package/dist/esm/src/data/export.js +1 -0
- package/dist/esm/src/data/import.js +1 -0
- package/dist/esm/src/data/numerics.js +1 -0
- package/dist/esm/src/helpers/sceneHelper.js +1 -0
- package/dist/esm/src/index.js +1 -70
- package/dist/esm/src/managers/components/animationManager.js +1 -0
- package/dist/esm/src/managers/components/componentManager.js +1 -0
- package/dist/esm/src/managers/components/pathfindingManager.js +1 -0
- package/dist/esm/src/managers/controls/TransformControls.js +1 -0
- package/dist/esm/src/managers/controls/cameraControlsManager.js +1 -0
- package/dist/esm/src/managers/controls/dragDropManager.js +1 -0
- package/dist/esm/src/managers/controls/keyboardControlsManager.js +1 -0
- package/dist/esm/src/managers/controls/transformControlsManager.js +1 -0
- package/dist/esm/src/managers/environment/environmentManager.js +1 -0
- package/dist/esm/src/managers/environment/textureConfig.js +1 -0
- package/dist/esm/src/managers/scene/sceneExportManager.js +1 -0
- package/dist/esm/src/managers/scene/sceneInitializationManager.js +1 -0
- package/dist/esm/src/managers/scene/sceneOperationsManager.js +1 -0
- package/dist/esm/src/managers/scene/sceneTooltipsManager.js +1 -0
- package/dist/esm/src/managers/system/disposalManager.js +1 -0
- package/dist/esm/src/managers/system/hotReloadManager.js +1 -0
- package/dist/esm/src/managers/system/performanceMonitor.js +1 -0
- package/dist/esm/src/rendering/modelPreloader.js +1 -0
- package/dist/esm/src/rendering/rendering2D.js +1 -0
- package/dist/esm/src/rendering/rendering3D.js +1 -0
- package/dist/index.d.ts +52 -255
- package/package.json +3 -6
- package/dist/cjs/node_modules/three/examples/jsm/controls/TransformControls.js +0 -1543
- package/dist/cjs/src/animationManager.js +0 -121
- package/dist/cjs/src/componentManager.js +0 -151
- package/dist/cjs/src/debugLogger.js +0 -176
- package/dist/cjs/src/disposalManager.js +0 -185
- package/dist/cjs/src/environmentManager.js +0 -1308
- package/dist/cjs/src/hotReloadManager.js +0 -252
- package/dist/cjs/src/keyboardControlsManager.js +0 -206
- package/dist/cjs/src/nameUtils.js +0 -106
- package/dist/cjs/src/pathfindingManager.js +0 -503
- package/dist/cjs/src/performanceMonitor.js +0 -718
- package/dist/cjs/src/sceneExportManager.js +0 -292
- package/dist/cjs/src/sceneInitializationManager.js +0 -540
- package/dist/cjs/src/textureConfig.js +0 -624
- package/dist/cjs/src/transformControlsManager.js +0 -851
- package/dist/esm/node_modules/three/examples/jsm/controls/TransformControls.js +0 -1537
- package/dist/esm/src/animationManager.js +0 -112
- package/dist/esm/src/componentManager.js +0 -123
- package/dist/esm/src/debugLogger.js +0 -167
- package/dist/esm/src/disposalManager.js +0 -155
- package/dist/esm/src/environmentManager.js +0 -1282
- package/dist/esm/src/hotReloadManager.js +0 -244
- package/dist/esm/src/keyboardControlsManager.js +0 -196
- package/dist/esm/src/nameUtils.js +0 -99
- package/dist/esm/src/pathfindingManager.js +0 -479
- package/dist/esm/src/performanceMonitor.js +0 -712
- package/dist/esm/src/sceneExportManager.js +0 -286
- package/dist/esm/src/sceneInitializationManager.js +0 -513
- package/dist/esm/src/textureConfig.js +0 -595
- package/dist/esm/src/transformControlsManager.js +0 -827
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"t",{value:!0});var e=require("../../../_virtual/_rollupPluginBabelHelpers.js"),n=require("three"),r=require("../environment/textureConfig.js"),t=require("../../rendering/modelPreloader.js"),i=require("../../core/debugLogger.js");function a(e){if(e&&e.t)return e;var n=Object.create(null);return e&&Object.keys(e).forEach(function(r){if("default"!==r){var t=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(n,r,t.get?t:{enumerable:!0,get:function(){return e[r]}})}}),n.default=e,Object.freeze(n)}var o=a(n),u=function(){return e.createClass(function n(r){e.classCallCheck(this,n),this.sceneViewer=r},[{key:"clearSceneObjects",value:function(){var e=this.sceneViewer;this.deselectObject();var n=null;e.transformManager&&e.transformManager.transformControls&&(e.transformManager.setEnabled(!1),e.transformManager.transformControls.visible=!1,n=e.transformManager.transformControls);var r=[];e.scene.traverse(function(t){var i,a,o,u,c;0;var l=t===n||(null===(i=t.userData)||void 0===i?void 0:i.isTransformControls)||t.isTransformControls||t.type&&t.type.includes("TransformControls");l&&0,t===e.scene||null!==(a=t.userData)&&void 0!==a&&a.isBrickWall||null!==(o=t.userData)&&void 0!==o&&o.isBaseGround||null!==(u=t.userData)&&void 0!==u&&u.isBaseGrid||l||t.isLight||"PlaneGeometry"===(null===(c=t.geometry)||void 0===c?void 0:c.type)||r.push(t)}),r.forEach(function(n){e.scene.remove(n),n.geometry&&n.geometry.dispose(),n.material&&(Array.isArray(n.material)?n.material.forEach(function(e){return e.dispose()}):n.material.dispose())}),e.selectedObjectForTransform=null,e.transformHistory&&(e.transformHistory=[]),e.transformManager&&e.transformManager.transformControls||e.initTransformControls(),this.ensureTransformControlsAttached(!1)}},{key:"ensureTransformControlsAttached",value:function(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0],n=this.sceneViewer;if(n.transformManager){if(!n.transformManager.transformControls)return n.transformManager.createTransformControls(),void n.transformManager.setupEventListeners();n.transformManager.ensureSceneAttachment(e);!e&&n.transformManager.transformControls&&(n.transformManager.transformControls.visible=!1)}else n.initTransformControls()}},{key:"loadLibraryModel",value:(v=e.asyncToGenerator(e.regenerator().m(function n(r,a,u){var c,l,s,v,f,d,h,y,m,w,b,k,p,M,g,x;return e.regenerator().w(function(n){for(;;)switch(n.n){case 0:if(c=this.sceneViewer,n.p=1,i.modelLogger.info("Loading library GLB model for ".concat(null===(l=a.userData)||void 0===l?void 0:l.libraryId,"...")),i.modelLogger.debug("Starting to load GLB model from /library/models/".concat(u.modelKey)),f=r.parent,d=r.position.clone(),h=r.quaternion.clone(),y=r.scale.clone(),m=r.name,w=r.uuid,b=[],r.children.forEach(function(n){var r=n.geometry&&("CONNECTOR-GEO"===n.geometry.uuid||"SphereGeometry"===n.geometry.type&&n.geometry.parameters),t=n.name&&n.name.toLowerCase().includes("connector");if(r&&t){if(n.userData||(n.userData={}),!n.userData.worldBoundingBox){var i=(new o.Box3).setFromObject(n);n.userData.worldBoundingBox={min:i.min.toArray(),max:i.max.toArray()}}var a=n.clone();if(n.userData){a.userData={},n.userData.worldBoundingBox&&(a.userData.worldBoundingBox={min:e.toConsumableArray(n.userData.worldBoundingBox.min),max:e.toConsumableArray(n.userData.worldBoundingBox.max)}),n.userData.direction&&(a.userData.direction=e.toConsumableArray(n.userData.direction));for(var u=0,c=Object.entries(n.userData);u<c.length;u++){var l=e.slicedToArray(c[u],2),s=l[0],v=l[1];"worldBoundingBox"!==s&&"direction"!==s&&(a.userData[s]=v)}a.userData.originalUuid=n.uuid,void 0===a.userData.forExport&&(a.userData.forExport=!0),a.userData.componentType||(n.name&&n.name.toLowerCase().includes("connector")?a.userData.componentType="connector":n.name&&n.name.toLowerCase().includes("gateway")&&(a.userData.componentType="gateway"))}b.push(a)}}),!(k=t.default.getCachedModelWithDimensions(u.modelKey,null===(s=a.userData)||void 0===s?void 0:s.libraryId))){n.n=2;break}n.n=8;break;case 2:if(!t.default.getStatus().isPreloading){n.n=6;break}return n.p=3,n.n=4,t.default.preloadingPromise;case 4:k=t.default.getCachedModelWithDimensions(u.modelKey,null===(p=a.userData)||void 0===p?void 0:p.libraryId),n.n=6;break;case 5:n.p=5,n.v;case 6:if(k){n.n=8;break}return n.n=7,new Promise(function(e,n){c.gltfLoader.load("/library/models/".concat(u.modelKey),function(n){e(n)},function(e){},function(e){n(e)})});case 7:g=n.v,k=g.scene,null!==(M=a.userData)&&void 0!==M&&M.libraryId&&(k=t.default.addDimensionsToModel(k,a.userData.libraryId));case 8:return(x=k.isCachedClone?k:k.clone()).uuid=w,x.name=m,x.quaternion.copy(h),x.scale.copy(y),x.userData||(x.userData={}),x.userData.originalUuid=w,x.userData.componentType="component",x.userData.libraryId=null===(v=a.userData)||void 0===v?void 0:v.libraryId,u.boundingBox&&(x.userData.dimensions={x:u.boundingBox.x,y:u.boundingBox.y,z:u.boundingBox.z}),u.adaptedBoundingBox&&(x.userData.adaptedBoundingBox={x:u.adaptedBoundingBox.x,y:u.adaptedBoundingBox.y,z:u.adaptedBoundingBox.z}),a.position&&a.rotation?(x.position.set(a.position.x,a.position.y,a.position.z),x.rotation.set(o.MathUtils.degToRad(a.rotation.x),o.MathUtils.degToRad(a.rotation.y),o.MathUtils.degToRad(a.rotation.z))):x.position.copy(d),x.traverse(function(e){e.isMesh&&(e.castShadow=!0,e.receiveShadow=!0,e.material&&(e.material.envMapIntensity=1))}),b.forEach(function(e){x.add(e)}),x.children.forEach(function(e,n){e.name&&e.name.toLowerCase().includes("connector")}),x.children.length>0&&x.children.forEach(function(e,n){}),f&&f.add&&"function"==typeof f.add?(f.remove(r),f.add(x)):(c.scene.remove(r),c.scene.add(x)),n.a(2,x);case 9:return n.p=9,n.v,n.a(2,r)}},n,this,[[3,5],[1,9]])})),function(e,n,r){return v.apply(this,arguments)})},{key:"verifyModelPreloaderCache",value:(s=e.asyncToGenerator(e.regenerator().m(function n(){var r;return e.regenerator().w(function(e){for(;;)switch(e.n){case 0:if(!(r=t.default.getStatus()).isPreloading){e.n=4;break}return e.p=1,e.n=2,t.default.preloadingPromise;case 2:e.n=4;break;case 3:e.p=3,e.v;case 4:return e.a(2,r)}},n,null,[[1,3]])})),function(){return s.apply(this,arguments)})},{key:"preloadMissingModels",value:(l=e.asyncToGenerator(e.regenerator().m(function n(r,i){var a,o,u,c,l,s,v,f;return e.regenerator().w(function(n){for(;;)switch(n.n){case 0:return a=new Set,r.scene.object.children.forEach(function(e){var n,r;if(null!==(n=e.userData)&&void 0!==n&&n.libraryId&&i[null===(r=e.userData)||void 0===r?void 0:r.libraryId]){var t,o=i[null===(t=e.userData)||void 0===t?void 0:t.libraryId].modelKey;o&&a.add(o)}}),n.n=1,this.verifyModelPreloaderCache();case 1:if(o=n.v,u=o.cachedModels,!((c=Array.from(a).filter(function(e){return!u.includes(e)})).length>0)){n.n=11;break}l=e.createForOfIteratorHelper(c),n.p=2,l.s();case 3:if((s=l.n()).done){n.n=8;break}return v=s.value,n.p=4,n.n=5,t.default.preloadSingleModel(v);case 5:n.n=7;break;case 6:n.p=6,n.v;case 7:n.n=3;break;case 8:n.n=10;break;case 9:n.p=9,f=n.v,l.e(f);case 10:return n.p=10,l.f(),n.f(10);case 11:return n.a(2)}},n,this,[[4,6],[2,9,10,11]])})),function(e,n){return l.apply(this,arguments)})},{key:"createSceneMaterials",value:(c=e.asyncToGenerator(e.regenerator().m(function n(t){var i,a,o;return e.regenerator().w(function(e){for(;;)switch(e.n){case 0:return i=this.sceneViewer,a={},o=null,e.p=1,e.n=2,r.loadTextureSet("light_metal",i.textureLoader);case 2:o=e.v,e.n=7;break;case 3:return e.p=3,e.v,e.p=4,e.n=5,r.loadTextureSet("gravel_embedded_concrete",i.textureLoader);case 5:o=e.v,e.n=7;break;case 6:e.p=6,e.v;case 7:return e.a(2,{materials:a,crosscubeTextureSet:o})}},n,this,[[4,6],[1,3]])})),function(e){return c.apply(this,arguments)})},{key:"createSceneGeometries",value:function(e,n){var r={};return e.scene.object.children.forEach(function(e){var t;if(null!==(t=e.userData)&&void 0!==t&&t.libraryId&&n[e.userData.libraryId]){var i=n[e.userData.libraryId].boundingBox,a=new o.BoxGeometry(i.x||1,i.y||1,i.z||1);r[e.geometry]=a}else{var u=e.uuid&&(e.uuid.toLowerCase().includes("connector")||e.uuid.toLowerCase().includes("gateway"));r[e.geometry]=u?new o.SphereGeometry(.1,16,16):new o.BoxGeometry(1,1,1)}}),r}},{key:"createSceneObject",value:function(n,r,t){var i=this,a=r[n.geometry],u=t[n.material];u||(u=new o.MeshPhysicalMaterial({color:12632256,roughness:.15,metalness:.9,emissive:0,envMapIntensity:1.5,transparent:!0,opacity:.8}));var c=new o.Mesh(a,u);if(c.uuid=n.uuid,c.name=n.name||n.uuid,c.userData||(c.userData={}),c.userData.originalUuid=n.uuid,n.userData&&(c.userData=e.objectSpread2({},n.userData),c.userData.componentType||(c.userData.libraryId?c.userData.componentType="component":n.uuid&&n.uuid.toLowerCase().includes("connector")?c.userData.componentType="connector":n.uuid&&n.uuid.toLowerCase().includes("gateway")&&(c.userData.componentType="gateway"))),c.isMesh&&(c.castShadow=!0,c.receiveShadow=!0),n.position&&c.position.set(n.position.x||0,n.position.y||0,n.position.z||0),n.rotation){var l=n.rotation.x*(Math.PI/180),s=n.rotation.y*(Math.PI/180),v=n.rotation.z*(Math.PI/180);c.rotation.set(l,s,v)}return n.scale&&c.scale.set(n.scale.x||1,n.scale.y||1,n.scale.z||1),n.children&&n.children.forEach(function(e){c.add(i.createSceneObject(e,r,t))}),c}},{key:"computeWorldBoundingBoxes",value:function(n){this.sceneViewer.scene.traverse(function(r){if(r.isMesh){var t=null,i=function(n){var t,a=e.createForOfIteratorHelper(n);try{for(a.s();!(t=a.n()).done;){var o,u,c=t.value;if(c.uuid===r.uuid||c.uuid===(null===(o=r.userData)||void 0===o?void 0:o.originalUuid)||r.uuid===(null===(u=c.userData)||void 0===u?void 0:u.originalUuid))return c;if(c.children){var l=i(c.children);if(l)return l}}}catch(e){a.e(e)}finally{a.f()}return null};if(t=i(n.scene.object.children)){var a=(new o.Box3).setFromObject(r);t.userData||(t.userData={}),t.userData.worldBoundingBox={min:a.min.toArray(),max:a.max.toArray()}}}})}},{key:"loadSceneData",value:(u=e.asyncToGenerator(e.regenerator().m(function n(r){var t,i,a,u,c,l,s,v,f,d,h,y,m=this,w=arguments;return e.regenerator().w(function(e){for(;;)switch(e.n){case 0:return t=!(w.length>1&&void 0!==w[1])||w[1],i=this.sceneViewer,e.p=1,a=function(e){e.traverse(function(e){if(e.userData&&e.userData.direction){var n=new o.Matrix4;n.copy(e.matrixWorld),e.userData.worldMatrixOriginal=n.elements}})},t&&(i.transformManager&&i.transformManager.transformControls,this.clearSceneObjects()),i.currentSceneData=r,u={},e.p=2,e.n=3,fetch("./library/component-dictionary.json");case 3:return c=e.v,e.n=4,c.json();case 4:u=e.v,e.n=6;break;case 5:e.p=5,e.v;case 6:return e.n=7,this.preloadMissingModels(r,u);case 7:return e.n=8,this.createSceneMaterials(r);case 8:if(l=e.v,s=l.materials,v=l.crosscubeTextureSet,f=this.createSceneGeometries(r,u),d=[],r.scene.object.children.forEach(function(e,n){var r,t,a,o=m.createSceneObject(e,f,s);i.scene.add(o),null!==(r=e.userData)&&void 0!==r&&r.libraryId&&u[null===(t=e.userData)||void 0===t?void 0:t.libraryId]&&d.push({basicObject:o,jsonData:e,componentData:u[null===(a=e.userData)||void 0===a?void 0:a.libraryId]})}),this.computeWorldBoundingBoxes(r),a(i.scene),h=[],d.forEach(function(e,n){var r=e.basicObject,t=e.jsonData,i=e.componentData,a=m.loadLibraryModel(r,t,i).then(function(e){return d[n].glbModel=e,e}).catch(function(e){return r});h.push(a)}),!(h.length>0)){e.n=10;break}return e.n=9,Promise.all(h);case 9:"undefined"!=typeof window&&(y=new CustomEvent("sceneUpdateComplete",{detail:{timestamp:Date.now()}}),window.dispatchEvent(y));case 10:if(d.forEach(function(e,n){e.basicObject;var r=e.jsonData,t=(e.componentData,e.glbModel);t.userData.associatedJsonObject=r;var i=(new o.Box3).setFromObject(t);r.type="Mesh",r.userData.worldBoundingBox.min=i.min.toArray(),r.userData.worldBoundingBox.max=i.max.toArray()}),r.scene.object.children.push({uuid:"GROUND",type:"Mesh",name:"Ground",layers:1,matrix:[1,0,0,0,0,0,-1,0,0,1,0,0,0,-.01,0,1],up:[0,1,0],userData:{worldBoundingBox:{min:[-30,-.01,-30],max:[30,-.01,30]}}}),!i.pathfindingManager){e.n=11;break}return e.n=11,i.pathfindingManager.initializePathfinder(r,v);case 11:i.currentSceneData=r,i.crosscubeTextureSet=v,t&&(i.transformManager&&i.transformManager.transformControls?i.transformManager.transformControls&&(i.transformManager.transformControls.visible=!1):i.initTransformControls(),i.ensureTransformControlsAttached(!1),i.transformManager&&i.transformManager.transformControls&&(i.keepTransformControlsInactive(),i.transformManager.transformControls.visible=!1)),e.n=13;break;case 12:e.p=12,e.v;case 13:return e.a(2)}},n,this,[[2,5],[1,12]])})),function(e){return u.apply(this,arguments)})},{key:"loadScene",value:(a=e.asyncToGenerator(e.regenerator().m(function n(){var r,t,i,a;return e.regenerator().w(function(e){for(;;)switch(e.n){case 0:return r=this.sceneViewer,e.p=1,t=r.$config.defaultCentralPlantUrl,e.n=2,fetch(t);case 2:return i=e.v,e.n=3,i.json();case 3:return a=e.v,r.currentSceneData=a,e.n=4,this.loadSceneData(a,!1);case 4:e.n=6;break;case 5:e.p=5,e.v;case 6:return e.a(2)}},n,this,[[1,5]])})),function(){return a.apply(this,arguments)})},{key:"loadSceneFromData",value:(n=e.asyncToGenerator(e.regenerator().m(function n(r){return e.regenerator().w(function(e){for(;;)switch(e.n){case 0:return e.n=1,this.loadSceneData(r,!0);case 1:return e.a(2)}},n,this)})),function(e){return n.apply(this,arguments)})},{key:"createEmptyScene",value:function(){var e=this.sceneViewer;e.transformManager&&e.transformManager.transformControls&&e.disableTransformControls(),this.clearSceneObjects(),e.transformManager&&e.transformManager.transformControls&&(e.transformManager.setEnabled(!1),e.transformManager.transformControls.visible=!1,e.transformManager.selectedObject&&e.transformManager.deselectObject())}},{key:"clearModelCache",value:function(){var e=this.sceneViewer;e.modelCache&&e.modelCache.clear(),e.loadingPromises&&e.loadingPromises.clear()}},{key:"deselectObject",value:function(){var e=this.sceneViewer;e.transformManager&&e.transformManager.deselectObject(),e.selectedObjectForTransform=null}},{key:"setupEventListeners",value:function(){var n,r,t,i,a=this;this.sceneViewer;var o=this.loadSceneFromData.bind(this);null===(n=window.$nuxt)||void 0===n||null===(r=n.$on)||void 0===r||r.call(n,"loadNewScene",function(){var n=e.asyncToGenerator(e.regenerator().m(function n(r){return e.regenerator().w(function(e){for(;;)switch(e.n){case 0:return e.n=1,o(r);case 1:return e.a(2)}},n)}));return function(e){return n.apply(this,arguments)}}()),null===(t=window.$nuxt)||void 0===t||null===(i=t.$on)||void 0===i||i.call(t,"createNewScene",function(){a.createEmptyScene()})}},{key:"updateSceneDataAfterTransform",value:function(n,r){var t,i,a=!1;if(this.sceneViewer.pathfindingManager.recomputeWorldBoundingBoxes(r),"gateway"===(null===(t=n.userData)||void 0===t?void 0:t.componentType)&&"computed"===(null===(i=n.userData)||void 0===i?void 0:i.origin)){var u;n.userData.origin="declared";for(var c=0;c<r.scene.object.children.length;c++){var l,s,v=r.scene.object.children[c];if(v.uuid===n.uuid||v.uuid===(null===(l=n.userData)||void 0===l?void 0:l.originalUuid)||n.uuid===(null===(s=v.userData)||void 0===s?void 0:s.originalUuid)){v.userData||(v.userData={}),v.userData.origin="declared";break}}if(null!==(u=n.userData)&&void 0!==u&&u.connections&&r.connections){var f=n.userData.connections,d=r.connections;f.removed&&Array.isArray(f.removed)&&(r.connections=d.filter(function(e){var n=f.removed.some(function(n){return n.from===e.from&&n.to===e.to||n.from===e.to&&n.to===e.from});return!n})),f.added&&Array.isArray(f.added)&&f.added.forEach(function(e){r.connections.some(function(n){return n.from===e.from&&n.to===e.to||n.from===e.to&&n.to===e.from})||r.connections.push(e)})}}for(var h=function(){var t,i,u,c,l=r.scene.object.children[y],s=!1;if(l.uuid!==n.uuid&&l.uuid!==(null===(t=n.userData)||void 0===t?void 0:t.originalUuid)&&n.uuid!==(null===(i=l.userData)||void 0===i?void 0:i.originalUuid)||(s=!0),!s&&null!==(u=n.userData)&&void 0!==u&&u.libraryId&&null!==(c=l.userData)&&void 0!==c&&c.libraryId&&n.userData.libraryId===l.userData.libraryId){if(l.position&&n.position){var v=Math.abs(n.position.x-l.position.x),f=Math.abs(n.position.y-l.position.y),d=Math.abs(n.position.z-l.position.z);v<1&&f<1&&d<1&&(s=!0)}}if(s){var h=(new o.Box3).setFromObject(n),m=function(n,r){return n&&r?n.map(function(n){var t=r.find(function(e){var r,t,i,a;if(e.uuid===n.uuid||e.uuid===(null===(r=n.userData)||void 0===r?void 0:r.originalUuid)||(null===(t=e.userData)||void 0===t?void 0:t.originalUuid)===n.uuid)return!0;if(null!==(i=e.userData)&&void 0!==i&&i.componentType&&null!==(a=n.userData)&&void 0!==a&&a.componentType&&e.userData.componentType===n.userData.componentType&&"connector"===e.userData.componentType){if(n.position&&e.position){var o=Math.abs(e.position.x-n.position.x),u=Math.abs(e.position.y-n.position.y),c=Math.abs(e.position.z-n.position.z);if(o<.1&&u<.1&&c<.1)return!0}}return!1});if(t&&t.isMesh){var i=(new o.Box3).setFromObject(t);return e.objectSpread2(e.objectSpread2({},n),{},{userData:e.objectSpread2(e.objectSpread2(e.objectSpread2({},n.userData),t.userData),{},{worldBoundingBox:{min:i.min.toArray(),max:i.max.toArray()}}),children:n.children?m(n.children,t.children):n.children})}return e.objectSpread2(e.objectSpread2({},n),{},{children:n.children?m(n.children,r):n.children})}):n};return n.traverse(function(e){if(e.userData&&e.userData.direction&&e.userData.worldMatrixOriginal){e.updateMatrixWorld(!0);var n=new o.Matrix4;n.copy(e.matrixWorld);var r=new o.Matrix4;r.elements=e.userData.worldMatrixOriginal;var t=new o.Matrix4,i=new o.Matrix4;t.extractRotation(n),i.extractRotation(r);var a=new o.Matrix4;a.copy(t),a.multiply(i.invert());var u=(new o.Vector3).fromArray(e.userData.direction);u.applyMatrix4(a),u.normalize();u.x=Math.abs(u.x)>.5?Math.sign(u.x):0,u.y=Math.abs(u.y)>.5?Math.sign(u.y):0,u.z=Math.abs(u.z)>.5?Math.sign(u.z):0,e.userData.direction=u.toArray(),e.userData.worldMatrixOriginal=n.elements}}),r.scene.object.children[y]=e.objectSpread2(e.objectSpread2({},l),{},{matrix:n.matrix.elements,position:{x:n.position.x,y:n.position.y,z:n.position.z},rotation:{x:n.rotation.x,y:n.rotation.y,z:n.rotation.z},scale:{x:n.scale.x,y:n.scale.y,z:n.scale.z},userData:e.objectSpread2(e.objectSpread2({},l.userData),{},{worldBoundingBox:{min:h.min.toArray(),max:h.max.toArray()}}),children:l.children?m(l.children,n.children):l.children}),a=!0,1}},y=0;y<r.scene.object.children.length&&!h();y++);return!!a}}]);var n,a,u,c,l,s,v}();exports.SceneOperationsManager=u;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"t",{value:!0});var t=require("../../../_virtual/_rollupPluginBabelHelpers.js"),i=require("../../../node_modules/three/examples/jsm/renderers/CSS2DRenderer.js");function e(t){if(t&&t.t)return t;var i=Object.create(null);return t&&Object.keys(t).forEach(function(e){if("default"!==e){var n=Object.getOwnPropertyDescriptor(t,e);Object.defineProperty(i,e,n.get?n:{enumerable:!0,get:function(){return t[e]}})}}),i.default=t,Object.freeze(i)}var n=e(require("three")),o=function(t){for(var i,e=arguments.length,n=new Array(e>1?e-1:0),o=1;o<e;o++)n[o-1]=arguments[o];return(i=console).log.apply(i,["🔍 [Tooltips] ".concat(t)].concat(n))},s=function(t){for(var i,e=arguments.length,n=new Array(e>1?e-1:0),o=1;o<e;o++)n[o-1]=arguments[o];return(i=console).log.apply(i,["ℹ️ [Tooltips] ".concat(t)].concat(n))},r=function(t){for(var i,e=arguments.length,n=new Array(e>1?e-1:0),o=1;o<e;o++)n[o-1]=arguments[o];return(i=console).warn.apply(i,["⚠️ [Tooltips] ".concat(t)].concat(n))},a=function(t){for(var i,e=arguments.length,n=new Array(e>1?e-1:0),o=1;o<e;o++)n[o-1]=arguments[o];return(i=console).error.apply(i,["❌ [Tooltips] ".concat(t)].concat(n))},l=function(){return t.createClass(function i(e,n,o){var s=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null;t.classCallCheck(this,i),this.container=e,this.camera=n,this.scene=o,this.transformControlsManager=s,this.tooltipTemplate='\n<div class="component-tooltip" style="\n background-color: rgba(255, 255, 255, 0.95); \n color: #333333; \n border-radius: 8px; \n padding: 12px; \n width: 250px; \n font-family: -apple-system, BlinkMacSystemFont, \'Segoe UI\', Roboto, sans-serif;\n box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);\n border: 1px solid rgba(0, 0, 0, 0.1);\n user-select: none;\n pointer-events: auto;\n font-size: 13px;\n line-height: 1.4;\n transform: translate(-50%, -100%);\n margin-top: 0px;\n margin-left: 0px;\n position: relative;\n z-index: 1000;\n">\n <div class="tooltip-header" style="\n font-weight: 600; \n padding-bottom: 8px; \n border-bottom: 1px solid rgba(0, 0, 0, 0.1); \n margin-bottom: 8px;\n font-size: 14px;\n color: #2c3e50;\n ">Component Name</div>\n <div class="tooltip-body">\n <div class="tooltip-type" style="\n font-size: 12px;\n color: #666;\n margin-bottom: 8px;\n font-style: italic;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n "></div>\n <div class="tooltip-attributes">\n \x3c!-- Dynamic attributes will be inserted here --\x3e\n </div>\n <div class="tooltip-row tooltip-actions" style="display: flex; align-items: center; justify-content: space-between; margin-top: 12px; padding-top: 8px; border-top: 1px solid rgba(0, 0, 0, 0.1);">\n <div class="tooltip-key" style="flex: 1; color: #555555; font-size: 12px;">Add:</div>\n <div class="tooltip-dropdown-container" style="flex: 1; text-align: center;">\n <select class="tooltip-dropdown" style="\n background-color: #f8f9fa;\n color: #333333;\n border: 1px solid #ddd;\n padding: 4px 8px;\n border-radius: 4px;\n width: 100%;\n cursor: pointer;\n pointer-events: auto;\n font-size: 12px;\n ">\n <option value="" disabled selected>Select...</option>\n <option value="gateway">Gateway</option>\n <option value="connector">Connector</option>\n </select>\n </div>\n </div>\n </div>\n</div>\n',this.tooltipRenderer=null,this.selectedMesh=null,this.tooltipParent=null,this.tooltipObject=null,this.init()},[{key:"init",value:function(){this.tooltipRenderer=new i.CSS2DRenderer,this.tooltipRenderer.setSize(this.container.clientWidth,this.container.clientHeight),this.tooltipRenderer.domElement.style.position="absolute",this.tooltipRenderer.domElement.style.top="0",this.tooltipRenderer.domElement.style.left="0",this.tooltipRenderer.domElement.style.overflow="visible",this.tooltipRenderer.domElement.style.pointerEvents="none",this.tooltipRenderer.domElement.style.zIndex="100",this.container.appendChild(this.tooltipRenderer.domElement)}},{key:"resize",value:function(){this.tooltipRenderer&&this.tooltipRenderer.setSize(this.container.clientWidth,this.container.clientHeight)}},{key:"setTransformControlsManager",value:function(t){this.transformControlsManager=t,s("Transform controls manager set for tooltips"),this.transformControlsManager&&this.setupTransformControlsEvents(),this.tooltipObject&&this.updateTooltipForTransform()}},{key:"setupTransformControlsEvents",value:function(){var t=this;this.transformControlsManager&&this.transformControlsManager.on({onTransform:function(i){i===t.selectedMesh&&t.tooltipObject&&t.updateTooltipForTransform()},onTransformEnd:function(i){i===t.selectedMesh&&t.tooltipObject&&t.updateTooltipForTransform()}})}},{key:"setSelectedMesh",value:function(){var t,i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;this.selectedMesh!==i&&(s("Setting selected mesh:",i?i.uuid:"none"),this.clearTooltip(),this.selectedMesh=i,i&&null!==(t=i.userData)&&void 0!==t&&null!==(t=t.component)&&void 0!==t&&t.attributes?(s("Mesh has component attributes, showing tooltip"),this.showTooltip()):i&&(r("Mesh does not have required component data for tooltip:",i),i.userData&&o("Available userData:",i.userData)))}},{key:"render",value:function(){if(this.tooltipRenderer&&this.camera&&this.scene)try{this.tooltipRenderer.render(this.scene,this.camera)}catch(t){a("Error rendering tooltips:",t)}}},{key:"dispose",value:function(){this.clearTooltip(),this.transformControlsManager&&(this.transformControlsManager=null),this.tooltipRenderer&&this.tooltipRenderer.domElement&&this.tooltipRenderer.domElement.parentNode&&this.tooltipRenderer.domElement.parentNode.removeChild(this.tooltipRenderer.domElement),this.tooltipRenderer=null,this.selectedMesh=null,this.container=null,this.camera=null,this.scene=null}},{key:"showTooltip",value:function(){try{if(!this.selectedMesh||!this.selectedMesh.userData||!this.selectedMesh.userData.component)return void r("Cannot show tooltip, missing data in selectedMesh");s("Showing tooltip for:",this.selectedMesh.uuid);var t=this.selectedMesh.userData.component;if(!t.attributes)return void r("Component has no attributes:",t);var e=t.attributes,n=document.createElement("div");n.innerHTML=this.tooltipTemplate.trim();var l=n.firstElementChild||n.firstChild;o("showTooltip this.selectedMesh:",this.selectedMesh),o("showTooltip meshComponentData:",t);var h=l.querySelector(".tooltip-header");h&&(this.selectedMesh.name&&""!==this.selectedMesh.name?h.textContent=this.selectedMesh.name:h.textContent=this.selectedMesh.userData.originalUuid||this.selectedMesh.userData.uuid||"Unknown Component");var u=l.querySelector(".tooltip-type");u&&t.type&&(u.textContent=t.type);var c=l.querySelector(".tooltip-attributes");if(c&&e&&Object.keys(e).length>0){c.innerHTML="",Object.keys(e).forEach(function(t){var i=e[t],n=document.createElement("div");n.className="tooltip-row",n.style.display="flex",n.style.alignItems="center",n.style.justifyContent="space-between",n.style.marginBottom="5px";var o=document.createElement("div");o.className="tooltip-key",o.style.flex="1",o.style.color="#555555",o.textContent="".concat(i.key||t,":");var s=document.createElement("div");s.className="tooltip-value",s.style.flex="1",s.style.textAlign="center",s.style.color="#000000";var r=i.value||"0";i.unit&&(r+=" ".concat(i.unit)),s.textContent=r,n.appendChild(o),n.appendChild(s),c.appendChild(n)});var d=l.querySelector(".tooltip-dropdown");d&&d.addEventListener("change",function(t){t.stopPropagation();var i=t.target.value;s("Add option selected: ".concat(i)),"gateway"===i?s("Adding Gateway"):"connector"===i&&s("Adding Connector"),t.target.selectedIndex=0})}var p=new i.CSS2DObject(l);this.tooltipParent=this.selectedMesh,this.tooltipObject=p;var v=this.calculateTooltipPosition();p.position.set(v.x,v.y,v.z),p.userData={isTooltip:!0},this.selectedMesh.add(p),s("Tooltip positioned at:",v)}catch(t){a("Error showing tooltip:",t)}}},{key:"updateTooltip",value:function(){if(this.tooltipParent&&this.tooltipObject){var t=this.calculateTooltipPosition();this.tooltipObject.position.set(t.x,t.y,t.z)}}},{key:"updateTooltipForTransform",value:function(){if(this.tooltipObject&&this.selectedMesh){var t=this.calculateTooltipPosition();this.tooltipObject.position.set(t.x,t.y,t.z),o("Tooltip position updated for transform")}}},{key:"getObjectBoundingBox",value:function(t){return(new n.Box3).setFromObject(t)}},{key:"calculateOptimalTooltipOffset",value:function(){if(!this.camera||!this.selectedMesh)return 1.5;var t=new n.Vector3;this.selectedMesh.getWorldPosition(t);var i=new n.Vector3;this.camera.getWorldPosition(i);return 1}},{key:"calculateTooltipPosition",value:function(){var t=this.getObjectBoundingBox(this.selectedMesh),i=this.findClosestBoundingBoxCorner(t),e=new n.Vector3;this.selectedMesh.getWorldPosition(e);var o=i.clone().sub(e),a=this.calculatePixelBasedOffset(o,e),l={x:o.x+a.x,y:o.y+a.y,z:o.z+a.z};if(this.transformControlsManager&&this.transformControlsManager.selectedObject===this.selectedMesh)try{var h=this.transformControlsManager.getWorldTransformData();if(h&&h.position)return s("Using transform controls position for tooltip at closest corner"),{x:o.x+a.x,y:o.y+a.y,z:o.z+a.z}}catch(t){r("Error getting transform controls position:",t)}return s("Positioning tooltip at closest corner to origin:",l),l}},{key:"calculatePixelBasedOffset",value:function(t,i){if(!this.camera)return{x:0,y:0,z:0};var e=250;if(this.tooltipObject&&this.tooltipObject.element){var s=this.tooltipObject.element;if(s.offsetWidth>0)e=s.offsetWidth;else{var r=document.createElement("div");r.style.position="absolute",r.style.visibility="hidden",r.style.top="-9999px",document.body.appendChild(r),r.appendChild(s),e=s.offsetWidth||250,document.body.removeChild(r)}}var a=e/2,l=i.clone().add(t),h=new n.Vector3;this.camera.getWorldPosition(h);var u=new n.Vector3;this.camera.getWorldDirection(u);var c=this.isPositionOnRightSideOfCameraMidline(l,h,u),d=l.distanceTo(h),p=0;if(this.camera.isPerspectiveCamera){var v=this.camera.fov*Math.PI/180,f=Math.tan(v/2)*d*this.camera.aspect;p=a/this.container.clientWidth*(2*f)}else if(this.camera.isOrthographicCamera){var m=(this.camera.right-this.camera.left)/2;p=a/this.container.clientWidth*(2*m)}var y=new n.Vector3;this.camera.getWorldDirection(y),y.cross(this.camera.up).normalize();var g=c?-1:1,w=y.multiplyScalar(p*g);return o("Tooltip pixel offset calculated:",{tooltipWidth:e,halfTooltipWidth:a,distanceToCamera:d,screenSpaceOffset:p,isOnRightSide:c,offsetDirection:g,worldOffset:w}),{x:w.x,y:0,z:w.z}}},{key:"findClosestBoundingBoxCorner",value:function(t){var i=t.min,e=t.max,o=[new n.Vector3(i.x,i.y,i.z),new n.Vector3(e.x,i.y,i.z),new n.Vector3(i.x,e.y,i.z),new n.Vector3(e.x,e.y,i.z),new n.Vector3(i.x,i.y,e.z),new n.Vector3(e.x,i.y,e.z),new n.Vector3(i.x,e.y,e.z),new n.Vector3(e.x,e.y,e.z)];return this.findCornerClosestToCameraVerticalMidline(o)}},{key:"findCornerClosestToCameraVerticalMidline",value:function(t){if(!this.camera)return r("No camera available, using first corner"),t[0];var i=new n.Vector3;this.camera.getWorldPosition(i);var e=new n.Vector3;this.camera.getWorldDirection(e);for(var s=t[0],a=this.getDistanceToVerticalMidline(t[0],i,e),l=1;l<t.length;l++){var h=this.getDistanceToVerticalMidline(t[l],i,e);h<a&&(a=h,s=t[l])}return o("Closest corner to camera vertical midline:",s,"Distance:",a),s}},{key:"getDistanceToVerticalMidline",value:function(t,i,e){var n=t.clone().sub(i),o=n.dot(e),s=e.clone().multiplyScalar(o);return n.clone().sub(s).length()}},{key:"clearTooltip",value:function(){this.tooltipParent&&this.tooltipObject&&(this.tooltipParent.remove(this.tooltipObject),this.tooltipParent=null,this.tooltipObject=null)}},{key:"handleSceneClick",value:function(t,i){this.clearTooltip(),this.selectedMesh=null}},{key:"isSelectableComponent",value:function(t){var i,e;return!!(t&&t.userData&&t.userData.component)||!(!t||!(null!==(i=t.userData)&&void 0!==i&&i.isPipeSegment||null!==(e=t.userData)&&void 0!==e&&e.isPipeJunction))}},{key:"isPositionOnRightSideOfCameraMidline",value:function(t,i,e){var o=new n.Vector3;return this.camera.getWorldDirection(o),o.cross(this.camera.up).normalize(),t.clone().sub(i).dot(o)>0}}])}();exports.SceneTooltipsManager=l;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"t",{value:!0});var t=require("../../../_virtual/_rollupPluginBabelHelpers.js"),n=function(){return t.createClass(function n(i){t.classCallCheck(this,n),this.sceneViewer=i,this.isDev="development"===process.env.NODE_ENV},[{key:"enhancedDisposal",value:(i=t.asyncToGenerator(t.regenerator().m(function n(){return t.regenerator().w(function(t){for(;;)switch(t.n){case 0:return this.isDev,this.forceStopOperations(),t.n=1,this.enhancedSceneCleanup();case 1:this.enhancedRendererCleanup(),this.sceneViewer.hotReloadManager&&this.sceneViewer.hotReloadManager.clearPendingOperations(),this.isDev&&this.sceneViewer.hotReloadManager&&this.sceneViewer.hotReloadManager.forceGarbageCollectionHint();case 2:return t.a(2)}},n,this)})),function(){return i.apply(this,arguments)})},{key:"forceStopOperations",value:function(){this.sceneViewer.isDestroyed=!0,this.sceneViewer.isLoading=!1,this.sceneViewer.currentTransition=null,this.sceneViewer.animationId&&(cancelAnimationFrame(this.sceneViewer.animationId),this.sceneViewer.animationId=null),this.isDev}},{key:"enhancedSceneCleanup",value:(n=t.asyncToGenerator(t.regenerator().m(function n(){var i,e=this;return t.regenerator().w(function(t){for(;;)switch(t.n){case 0:if(i={textures:0,materials:0,geometries:0,objects:0},this.sceneViewer.scene){for(this.sceneViewer.scene.traverse(function(t){t.material&&(Array.isArray(t.material)?t.material.forEach(function(t){i.textures+=e.disposeMaterialTextures(t),t.dispose(),i.materials++}):(i.textures+=e.disposeMaterialTextures(t.material),t.material.dispose(),i.materials++)),t.geometry&&(t.geometry.dispose(),i.geometries++),i.objects++});this.sceneViewer.scene.children.length>0;)this.sceneViewer.scene.remove(this.sceneViewer.scene.children[0]);this.isDev}case 1:return t.a(2)}},n,this)})),function(){return n.apply(this,arguments)})},{key:"disposeMaterialTextures",value:function(t){var n=0;return["map","normalMap","roughnessMap","metalnessMap","envMap","lightMap","bumpMap","specularMap"].forEach(function(i){t[i]&&(t[i].dispose(),n++)}),n}},{key:"enhancedRendererCleanup",value:function(){if(this.sceneViewer.renderer){var t=this.sceneViewer.renderer.getContext();if(t&&"function"==typeof t.getExtension){var n=t.getExtension("WEBGL_lose_context");n&&n.loseContext()}this.sceneViewer.renderer.dispose(),this.sceneViewer.renderer.forceContextLoss(),this.sceneViewer.renderer=null,this.isDev}}},{key:"cleanupScene",value:function(){var t=this;if(this.sceneViewer.scene){var n=[];this.sceneViewer.scene.traverse(function(t){n.push(t)});for(var i=function(){var i=n[e];i.geometry&&i.geometry.dispose(),i.material&&(Array.isArray(i.material)?i.material.forEach(function(n){return t.disposeMaterial(n)}):t.disposeMaterial(i.material));["map","lightMap","bumpMap","normalMap","specularMap","envMap"].forEach(function(t){i[t]&&i[t].dispose()}),i.parent&&i.parent.remove(i)},e=n.length-1;e>=0;e--)i();this.sceneViewer.scene.environment&&(this.sceneViewer.scene.environment.dispose(),this.sceneViewer.scene.environment=null),this.sceneViewer.scene.background&&this.sceneViewer.scene.background.dispose&&(this.sceneViewer.scene.background.dispose(),this.sceneViewer.scene.background=null),this.sceneViewer.scene.clear(),this.sceneViewer.scene=null}}},{key:"disposeMaterial",value:function(n){for(var i=0,e=Object.entries(n);i<e.length;i++){var s=t.slicedToArray(e[i],2);s[0];var u=s[1];u&&"object"===t.typeof(u)&&"function"==typeof u.dispose&&u.dispose()}n.dispose()}},{key:"cleanupRenderer",value:function(){this.sceneViewer.renderer&&(this.sceneViewer.renderer.domElement&&this.sceneViewer.renderer.domElement.parentNode&&this.sceneViewer.renderer.domElement.parentNode.removeChild(this.sceneViewer.renderer.domElement),this.sceneViewer.renderer.dispose(),this.sceneViewer.renderer.forceContextLoss(),this.sceneViewer.renderer=null)}},{key:"cleanupControls",value:function(){this.sceneViewer.controls&&(this.sceneViewer.controls.dispose(),this.sceneViewer.controls=null)}},{key:"cleanupEventListeners",value:function(){this.sceneViewer.handleResize&&(window.removeEventListener("resize",this.sceneViewer.handleResize),this.sceneViewer.handleResize=null),this.sceneViewer.resizeObserver&&(this.sceneViewer.resizeObserver.disconnect(),this.sceneViewer.resizeObserver=null),this.sceneViewer.handleKeyDown&&(window.removeEventListener("keydown",this.sceneViewer.handleKeyDown),this.sceneViewer.handleKeyDown=null),window._performanceKeyHandler&&(window.removeEventListener("keydown",window._performanceKeyHandler),delete window._performanceKeyHandler)}},{key:"cleanupPerformanceMonitoring",value:function(){if(this.sceneViewer.performanceMonitor){try{this.sceneViewer.performanceMonitor.stop()}catch(t){}this.sceneViewer.performanceMonitor=null}if(this.sceneViewer.performanceUI){try{"function"==typeof this.sceneViewer.performanceUI.dispose?this.sceneViewer.performanceUI.dispose():this.sceneViewer.performanceUI.hide()}catch(t){}this.sceneViewer.performanceUI=null}try{var t=document.querySelectorAll("#performance-monitor-ui");t.length>0&&t.forEach(function(t){t.parentNode&&t.parentNode.removeChild(t)})}catch(t){}}},{key:"cleanupGlobalReferences",value:function(){var t=this.parent;if(t){if(t.tooltipsManager)try{t.tooltipsManager.dispose()}catch(t){}finally{t.tooltipsManager=null}t.hotReloadManager=null,t.sceneExportManager=null,t.componentManager=null,t.sceneInitializationManager=null,t.environmentManager=null,t.keyboardControlsManager=null,t.pathfindingManager=null,t.sceneOperationsManager=null,t.animationManager=null,t.cameraControlsManager=null,t.disposalManager=null}}},{key:"cleanupNuxtEventListeners",value:function(){window.$nuxt&&window.$nuxt.$off&&(window.$nuxt.$off("loadNewScene"),window.$nuxt.$off("createNewScene"))}}]);var n,i}();exports.DisposalManager=n;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"t",{value:!0});var t=require("../../../_virtual/_rollupPluginBabelHelpers.js"),i=function(){return t.createClass(function i(n){t.classCallCheck(this,i),this.sceneViewer=n||null,this.isDev="development"===process.env.NODE_ENV,this.instanceId=Date.now()+Math.random(),this.hotReloadCleanupHandler=null,this.visibilityChangeHandler=null,this.nuxtHotReloadHandler=null,this.memoryCheckInterval=null,this.timeoutIds=new Set,this.intervalIds=new Set},[{key:"setupHotReloadHandling",value:function(){var t=this;if(this.sceneViewer&&this.isDev){window._sceneViewerInstances||(window._sceneViewerInstances=new Set);try{window._sceneViewerInstances.add(this.sceneViewer)}catch(t){}this.hotReloadCleanupHandler=function(){if(t.sceneViewer){if(t.sceneViewer&&t.sceneViewer.tooltipsManager)try{t.sceneViewer.tooltipsManager.dispose(),t.sceneViewer.tooltipsManager=null}catch(t){}try{"function"==typeof t.sceneViewer.enhancedDisposal&&t.sceneViewer.enhancedDisposal()}catch(t){}try{Promise.resolve().then(function(){return require("./performanceMonitor.js")}).then(function(t){var i=t.PerformanceUI;i&&"function"==typeof i.cleanupAllInstances&&i.cleanupAllInstances()}).catch(function(t){})}catch(t){}if(window._sceneViewerInstances)try{window._sceneViewerInstances.delete(t.sceneViewer)}catch(t){}}};try{window.addEventListener("beforeunload",this.hotReloadCleanupHandler),window.addEventListener("pagehide",this.hotReloadCleanupHandler)}catch(t){}}}},{key:"cleanupHotReloadHandlers",value:function(){if(this.isDev)try{this.hotReloadCleanupHandler&&(window.removeEventListener("beforeunload",this.hotReloadCleanupHandler),window.removeEventListener("pagehide",this.hotReloadCleanupHandler),this.hotReloadCleanupHandler=null),this.visibilityChangeHandler&&(document.removeEventListener("visibilitychange",this.visibilityChangeHandler),this.visibilityChangeHandler=null),this.nuxtHotReloadHandler&&window.$nuxt&&window.$nuxt.$off&&(window.$nuxt.$off("routeChanged",this.nuxtHotReloadHandler),window.$nuxt.$off("$nuxtReady",this.nuxtHotReloadHandler),this.nuxtHotReloadHandler=null),this.memoryCheckInterval&&(clearInterval(this.memoryCheckInterval),this.memoryCheckInterval=null);this.sceneViewer;if(window._sceneViewerInstances&&this.sceneViewer)try{window._sceneViewerInstances.delete(this.sceneViewer)}catch(t){}this.sceneViewer=null,window._sceneViewerInstances&&0===window._sceneViewerInstances.size&&delete window._sceneViewerInstances}catch(t){}}},{key:"clearPendingOperations",value:function(){this.timeoutIds&&(this.timeoutIds.forEach(function(t){return clearTimeout(t)}),this.timeoutIds.clear()),this.intervalIds&&(this.intervalIds.forEach(function(t){return clearInterval(t)}),this.intervalIds.clear()),this.isDev}},{key:"forceGarbageCollectionHint",value:function(){this.isDev&&setTimeout(function(){window.gc?window.gc():new Array(1e6).fill(0).length=0},100)}},{key:"addTimeout",value:function(t){this.timeoutIds.add(t)}},{key:"addInterval",value:function(t){this.intervalIds.add(t)}},{key:"removeTimeout",value:function(t){this.timeoutIds.delete(t)}},{key:"removeInterval",value:function(t){this.intervalIds.delete(t)}}])}();exports.HotReloadManager=i;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"t",{value:!0});var t=require("../../../_virtual/_rollupPluginBabelHelpers.js"),e=function(){return t.createClass(function e(){var i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;t.classCallCheck(this,e),this.renderer=i,this.stats={fps:{current:0,average:0,min:1/0,max:0,history:[]},frameTime:{current:0,average:0,min:1/0,max:0,history:[]},memory:{geometries:0,textures:0,programs:0,heapUsed:0,heapTotal:0},drawCalls:{current:0,average:0,triangles:0,points:0,lines:0},gpu:{memoryUsage:0,extensions:[]},scene:{objects:0,lights:0,meshes:0,materials:0,visible:0}},this.frameCount=0,this.lastTime=performance.now(),this.updateInterval=100,this.maxHistoryLength=300,this.thresholds={fps:{good:55,warning:45,critical:30},frameTime:{good:16.67,warning:22.22,critical:33.33},memory:{warning:200,critical:300},drawCalls:{warning:500,critical:1e3}},this.callbacks=new Map,this.isMonitoring=!1,this.update=this.update.bind(this),this.getGPUInfo=this.getGPUInfo.bind(this)},[{key:"start",value:function(){this.isMonitoring=!0,this.lastTime=performance.now(),this.getGPUInfo()}},{key:"stop",value:function(){this.isMonitoring=!1}},{key:"update",value:function(){if(this.isMonitoring){var t=performance.now(),e=t-this.lastTime;this.frameCount++;var i=1e3/e,s=e;this.stats.fps.current=i,this.stats.frameTime.current=s,this.addToHistory(this.stats.fps,i),this.addToHistory(this.stats.frameTime,s),this.frameCount%this.updateInterval===0&&(this.updateAverages(),this.updateMemoryStats(),this.updateDrawCallStats(),this.updateSceneStats(),this.checkThresholds()),this.lastTime=t}}},{key:"addToHistory",value:function(t,e){t.history.push(e),t.history.length>this.maxHistoryLength&&t.history.shift(),t.min=Math.min(t.min,e),t.max=Math.max(t.max,e)}},{key:"updateAverages",value:function(){this.stats.fps.history.length>0&&(this.stats.fps.average=this.stats.fps.history.reduce(function(t,e){return t+e},0)/this.stats.fps.history.length),this.stats.frameTime.history.length>0&&(this.stats.frameTime.average=this.stats.frameTime.history.reduce(function(t,e){return t+e},0)/this.stats.frameTime.history.length)}},{key:"updateMemoryStats",value:function(){var t;if(this.renderer){var e=this.renderer.info;this.stats.memory.geometries=e.memory.geometries,this.stats.memory.textures=e.memory.textures,this.stats.memory.programs=(null===(t=e.programs)||void 0===t?void 0:t.length)||0,performance.memory&&(this.stats.memory.heapUsed=Math.round(performance.memory.usedJSHeapSize/1024/1024),this.stats.memory.heapTotal=Math.round(performance.memory.totalJSHeapSize/1024/1024))}}},{key:"updateDrawCallStats",value:function(){if(this.renderer){var t=this.renderer.info.render;this.stats.drawCalls.current=t.calls,this.stats.drawCalls.triangles=t.triangles,this.stats.drawCalls.points=t.points,this.stats.drawCalls.lines=t.lines,this.stats.drawCalls.history||(this.stats.drawCalls.history=[]),this.addToHistory(this.stats.drawCalls,t.calls),this.stats.drawCalls.history.length>0&&(this.stats.drawCalls.average=this.stats.drawCalls.history.reduce(function(t,e){return t+e},0)/this.stats.drawCalls.history.length)}}},{key:"updateSceneStats",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;if(e){var i,s=0,n=0,a=0,r=new Set,o=0,l=t.createForOfIteratorHelper(e.children);try{for(l.s();!(i=l.n()).done;){var h=i.value;s++,h.visible&&o++,h.isLight&&n++,h.isMesh&&(a++,h.material&&(Array.isArray(h.material)?h.material.forEach(function(t){return r.add(t.uuid)}):r.add(h.material.uuid)))}}catch(t){l.e(t)}finally{l.f()}this.stats.scene={objects:s,lights:n,meshes:a,materials:r.size,visible:o}}}},{key:"getGPUInfo",value:function(){if(this.renderer){var t=this.renderer.getContext();this.stats.gpu.extensions=t.getSupportedExtensions()||[];var e=t.getExtension("WEBGL_debug_renderer_info");e&&(this.stats.gpu.renderer=t.getParameter(e.UNMASKED_RENDERER_WEBGL),this.stats.gpu.vendor=t.getParameter(e.UNMASKED_VENDOR_WEBGL))}}},{key:"checkThresholds",value:function(){var t=[];this.stats.fps.average<this.thresholds.fps.critical?t.push({type:"critical",category:"FPS",value:this.stats.fps.average.toFixed(1),threshold:this.thresholds.fps.critical}):this.stats.fps.average<this.thresholds.fps.warning&&t.push({type:"warning",category:"FPS",value:this.stats.fps.average.toFixed(1),threshold:this.thresholds.fps.warning}),this.stats.frameTime.average>this.thresholds.frameTime.critical?t.push({type:"critical",category:"Frame Time",value:this.stats.frameTime.average.toFixed(2)+"ms",threshold:this.thresholds.frameTime.critical+"ms"}):this.stats.frameTime.average>this.thresholds.frameTime.warning&&t.push({type:"warning",category:"Frame Time",value:this.stats.frameTime.average.toFixed(2)+"ms",threshold:this.thresholds.frameTime.warning+"ms"}),this.stats.memory.heapUsed>this.thresholds.memory.critical?t.push({type:"critical",category:"Memory",value:this.stats.memory.heapUsed+"MB",threshold:this.thresholds.memory.critical+"MB"}):this.stats.memory.heapUsed>this.thresholds.memory.warning&&t.push({type:"warning",category:"Memory",value:this.stats.memory.heapUsed+"MB",threshold:this.thresholds.memory.warning+"MB"}),this.stats.drawCalls.average>this.thresholds.drawCalls.critical?t.push({type:"critical",category:"Draw Calls",value:Math.round(this.stats.drawCalls.average),threshold:this.thresholds.drawCalls.critical}):this.stats.drawCalls.average>this.thresholds.drawCalls.warning&&t.push({type:"warning",category:"Draw Calls",value:Math.round(this.stats.drawCalls.average),threshold:this.thresholds.drawCalls.warning}),t.length>0&&this.triggerCallback("warning",t)}},{key:"on",value:function(t,e){this.callbacks.has(t)||this.callbacks.set(t,[]),this.callbacks.get(t).push(e)}},{key:"off",value:function(t,e){if(this.callbacks.has(t)){var i=this.callbacks.get(t),s=i.indexOf(e);s>-1&&i.splice(s,1)}}},{key:"triggerCallback",value:function(t,e){this.callbacks.has(t)&&this.callbacks.get(t).forEach(function(t){return t(e)})}},{key:"getSummary",value:function(){return{fps:{current:Math.round(this.stats.fps.current),average:Math.round(this.stats.fps.average),min:Math.round(this.stats.fps.min),max:Math.round(this.stats.fps.max)},frameTime:{current:this.stats.frameTime.current.toFixed(2)+"ms",average:this.stats.frameTime.average.toFixed(2)+"ms"},memory:{geometries:this.stats.memory.geometries,textures:this.stats.memory.textures,heapUsed:this.stats.memory.heapUsed+"MB",heapTotal:this.stats.memory.heapTotal+"MB"},drawCalls:{current:this.stats.drawCalls.current,average:Math.round(this.stats.drawCalls.average),triangles:this.stats.drawCalls.triangles.toLocaleString()},scene:this.stats.scene}}},{key:"logSummary",value:function(){this.getSummary()}},{key:"reset",value:function(){var t=this;Object.keys(this.stats).forEach(function(e){t.stats[e].history&&(t.stats[e].history=[]),void 0!==t.stats[e].min&&(t.stats[e].min=1/0,t.stats[e].max=0,t.stats[e].average=0)}),this.frameCount=0}},{key:"exportData",value:function(){return{timestamp:(new Date).toISOString(),stats:JSON.parse(JSON.stringify(this.stats)),thresholds:this.thresholds,frameCount:this.frameCount}}}])}(),i=function(){return t.createClass(function e(i){var s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:document.body,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"dark";t.classCallCheck(this,e),this.monitor=i,this.container=s,this.element=null,this.isVisible=!1,this.updateInterval=null,this.theme=n},[{key:"show",value:function(){var t=this;this.cleanupExistingElements(),this.element&&this.hide(),this.element=document.createElement("div"),this.element.id="performance-monitor-ui",this.element.innerHTML=this.getHTML(),this.addStyles(),this.container.appendChild(this.element),this.isVisible=!0,this.startUpdating(),this.element.querySelector("#perf-toggle").addEventListener("click",function(){return t.toggleDetails()}),this.toggleDetails()}},{key:"cleanupExistingElements",value:function(){document.querySelectorAll("#performance-monitor-ui").forEach(function(t){try{t.parentNode&&t.parentNode.removeChild(t)}catch(t){}})}},{key:"hide",value:function(){this.stopUpdating(),this.removeDOMElement(),this.isVisible=!1}},{key:"dispose",value:function(){this.hide(),this.cleanupExistingElements(),this.monitor=null,this.container=null,this.element=null}},{key:"stopUpdating",value:function(){this.updateInterval&&(clearInterval(this.updateInterval),this.updateInterval=null)}},{key:"removeDOMElement",value:function(){if(this.element){try{this.element.parentNode&&this.container&&this.container.contains(this.element)?this.container.removeChild(this.element):this.element.parentNode&&this.element.parentNode.removeChild(this.element)}catch(t){try{this.element.remove&&this.element.remove()}catch(t){}}this.element=null}}},{key:"toggleDetails",value:function(){var t=this.element.querySelector("#perf-details"),e="none"===t.style.display;t.style.display=e?"block":"none",this.element.querySelector("#perf-toggle").textContent=e?"▼":"▲"}},{key:"startUpdating",value:function(){var t=this;this.updateInterval=setInterval(function(){t.isVisible&&t.element&&t.updateContent()},500)}},{key:"updateContent",value:function(){var t=this.monitor.getSummary();this.updateElement("#fps-value",t.fps.current),this.updateElement("#frametime-value",t.frameTime.current),this.updateElement("#memory-value",t.memory.heapUsed),this.updateElement("#drawcalls-value",t.drawCalls.current),this.updateElement("#fps-avg",t.fps.average),this.updateElement("#fps-min",t.fps.min),this.updateElement("#fps-max",t.fps.max),this.updateElement("#geometries-value",t.memory.geometries),this.updateElement("#textures-value",t.memory.textures),this.updateElement("#triangles-value",t.drawCalls.triangles),this.updateElement("#objects-value",t.scene.objects),this.updateElement("#meshes-value",t.scene.meshes),this.updatePerformanceIndicators(t)}},{key:"updateElement",value:function(t,e){var i=this.element.querySelector(t);i&&(i.textContent=e)}},{key:"updatePerformanceIndicators",value:function(t){var e=this.element.querySelector("#fps-value"),i=this.element.querySelector("#frametime-value");if(e){var s=t.fps.current;e.className=this.getPerformanceClass("fps",s)}if(i){var n=parseFloat(t.frameTime.current);i.className=this.getPerformanceClass("frameTime",n)}}},{key:"getPerformanceClass",value:function(t,e){var i=this.monitor.thresholds[t];return"fps"===t?e>=i.good?"perf-good":e>=i.warning?"perf-warning":"perf-critical":"frameTime"===t?e<=i.good?"perf-good":e<=i.warning?"perf-warning":"perf-critical":""}},{key:"getHTML",value:function(){return'\n <div class="perf-header">\n <span class="perf-title">Performance</span>\n <button id="perf-toggle">▼</button>\n </div>\n <div class="perf-main">\n <div class="perf-stat">\n <span class="perf-label">FPS:</span>\n <span id="fps-value" class="perf-value">0</span>\n </div>\n <div class="perf-stat">\n <span class="perf-label">Frame:</span>\n <span id="frametime-value" class="perf-value">0ms</span>\n </div>\n <div class="perf-stat">\n <span class="perf-label">Memory:</span>\n <span id="memory-value" class="perf-value">0MB</span>\n </div>\n <div class="perf-stat">\n <span class="perf-label">Calls:</span>\n <span id="drawcalls-value" class="perf-value">0</span>\n </div>\n </div>\n <div id="perf-details" class="perf-details">\n <div class="perf-section">\n <div class="perf-section-title">FPS Stats</div>\n <div class="perf-detail">Avg: <span id="fps-avg">0</span></div>\n <div class="perf-detail">Min: <span id="fps-min">0</span></div>\n <div class="perf-detail">Max: <span id="fps-max">0</span></div>\n </div>\n <div class="perf-section">\n <div class="perf-section-title">Memory</div>\n <div class="perf-detail">Geometries: <span id="geometries-value">0</span></div>\n <div class="perf-detail">Textures: <span id="textures-value">0</span></div>\n </div>\n <div class="perf-section">\n <div class="perf-section-title">Rendering</div>\n <div class="perf-detail">Triangles: <span id="triangles-value">0</span></div>\n <div class="perf-detail">Objects: <span id="objects-value">0</span></div>\n <div class="perf-detail">Meshes: <span id="meshes-value">0</span></div>\n </div>\n </div>\n '}},{key:"addStyles",value:function(){if(!document.getElementById("performance-monitor-styles")){var t=document.createElement("style");t.id="performance-monitor-styles";var e={dark:{background:"rgba(0, 0, 0, 0.8)",color:"white",borderColor:"rgba(255, 255, 255, 0.1)",separatorColor:"rgba(255, 255, 255, 0.2)",sectionTitleColor:"#FFC107",goodColor:"#4CAF50",warningColor:"#FF9800",criticalColor:"#F44336"},light:{background:"rgba(255, 255, 255, 0.95)",color:"#333333",borderColor:"rgba(0, 0, 0, 0.15)",separatorColor:"rgba(0, 0, 0, 0.1)",sectionTitleColor:"#1565C0",goodColor:"#2E7D32",warningColor:"#E65100",criticalColor:"#C62828"}},i=e[this.theme]||e.dark;t.textContent=" #performance-monitor-ui {\n position: fixed;\n bottom: 10px;\n right: 10px;\n background: ".concat(i.background,";\n color: ").concat(i.color,";\n font-family: 'Consolas', 'Monaco', 'Courier New', monospace;\n font-size: 12px;\n padding: 10px;\n border-radius: 5px;\n z-index: 10000;\n min-width: 150px;\n backdrop-filter: blur(5px);\n border: 1px solid ").concat(i.borderColor,";\n box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);\n }\n\n .perf-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin-bottom: 8px;\n border-bottom: 1px solid ").concat(i.separatorColor,";\n padding-bottom: 5px;\n }\n\n .perf-title {\n font-weight: bold;\n font-size: 14px;\n }\n\n #perf-toggle {\n background: none;\n border: none;\n color: ").concat(i.color,";\n cursor: pointer;\n font-size: 12px;\n padding: 0;\n width: 20px;\n height: 20px;\n }\n\n .perf-main {\n display: grid;\n grid-template-columns: 1fr;\n gap: 4px;\n }\n\n .perf-stat {\n display: flex;\n justify-content: space-between;\n align-items: center;\n }\n\n .perf-label {\n opacity: 0.8;\n }\n\n .perf-value {\n font-weight: bold;\n text-align: right;\n min-width: 50px;\n } .perf-good {\n color: ").concat(i.goodColor,";\n }\n\n .perf-warning {\n color: ").concat(i.warningColor,";\n }\n\n .perf-critical {\n color: ").concat(i.criticalColor,";\n }\n\n .perf-details {\n margin-top: 10px;\n padding-top: 8px;\n border-top: 1px solid ").concat(i.separatorColor,";\n }\n\n .perf-section {\n margin-bottom: 8px;\n }\n\n .perf-section-title {\n font-weight: bold;\n font-size: 11px;\n margin-bottom: 3px;\n color: ").concat(i.sectionTitleColor,";\n }\n\n .perf-detail {\n font-size: 10px;\n display: flex;\n justify-content: space-between;\n margin-bottom: 2px;\n opacity: 0.9;\n }\n "),document.head.appendChild(t)}}},{key:"setTheme",value:function(t){if("light"===t||"dark"===t){this.theme=t;var e=document.getElementById("performance-monitor-styles");e&&e.remove(),this.addStyles()}}}],[{key:"cleanupAllInstances",value:function(){var t=document.querySelectorAll("#performance-monitor-ui"),e=0;if(t.forEach(function(t){try{t.parentNode&&(t.parentNode.removeChild(t),e++)}catch(t){}}),0===document.querySelectorAll("#performance-monitor-ui").length){var i=document.getElementById("performance-monitor-styles");i&&i.remove()}return e}}])}();exports.PerformanceMonitor=e,exports.PerformanceUI=i;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"t",{value:!0});var t=require("../../_virtual/_rollupPluginBabelHelpers.js");require("three");var e=require("../../node_modules/three/examples/jsm/loaders/GLTFLoader.js"),i=function(){return t.createClass(function i(){t.classCallCheck(this,i),this.modelCache=new Map,this.loadingPromises=new Map,this.gltfLoader=new e.GLTFLoader,this.isPreloading=!1,this.preloadingPromise=null,this.componentDictionary=null},[{key:"preloadAllModels",value:(r=t.asyncToGenerator(t.regenerator().m(function e(i){var n,r,s=this;return t.regenerator().w(function(e){for(;;)switch(e.n){case 0:if(!this.isPreloading){e.n=1;break}return e.a(2,this.preloadingPromise);case 1:if(i&&"object"===t.typeof(i)){e.n=2;break}return e.a(2,Promise.reject(new Error("Invalid component dictionary")));case 2:return this.componentDictionary=i,this.isPreloading=!0,n=[],r=[],Object.keys(i).forEach(function(t){var e=i[t];e&&e.modelKey&&(n.includes(e.modelKey)||n.push(e.modelKey))}),n.forEach(function(t){r.push(s.preloadSingleModel(t))}),this.preloadingPromise=Promise.allSettled(r).then(function(t){var e=t.filter(function(t){return"fulfilled"===t.status}).length,i=t.filter(function(t){return"rejected"===t.status}).length;return s.isPreloading=!1,{successful:e,failed:i,total:n.length,cache:s.modelCache}}),e.a(2,this.preloadingPromise)}},e,this)})),function(t){return r.apply(this,arguments)})},{key:"preloadSingleModel",value:(n=t.asyncToGenerator(t.regenerator().m(function e(i){var n,r=this;return t.regenerator().w(function(t){for(;;)switch(t.n){case 0:if(!this.modelCache.has(i)){t.n=1;break}return t.a(2,this.modelCache.get(i));case 1:if(!this.loadingPromises.has(i)){t.n=2;break}return t.a(2,this.loadingPromises.get(i));case 2:return n=new Promise(function(t,e){r.gltfLoader.load("/library/models/".concat(i),function(e){r.modelCache.set(i,e.scene),r.loadingPromises.delete(i),t(e.scene)},function(t){t.loaded,t.total},function(t){r.loadingPromises.delete(i),e(t)})}),this.loadingPromises.set(i,n),t.a(2,n)}},e,this)})),function(t){return n.apply(this,arguments)})},{key:"getCachedModel",value:function(t){return this.modelCache.has(t)?this.modelCache.get(t).clone():null}},{key:"getCachedModelWithDimensions",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;if(this.modelCache.has(t)){var i=this.modelCache.get(t).clone();if(e&&this.componentDictionary){var n=this.componentDictionary[e];n&&n.boundingBox&&(i.userData||(i.userData={}),i.userData.dimensions={x:n.boundingBox.x,y:n.boundingBox.y,z:n.boundingBox.z})}return i}return null}},{key:"addDimensionsToModel",value:function(t,e){if(!t||!e)return t;if(this.componentDictionary){var i=this.componentDictionary[e];i&&i.boundingBox&&(t.userData||(t.userData={}),t.userData.dimensions={x:i.boundingBox.x,y:i.boundingBox.y,z:i.boundingBox.z})}return t}},{key:"getStatus",value:function(){return{isPreloading:this.isPreloading,cachedModels:Array.from(this.modelCache.keys()),totalCached:this.modelCache.size,currentlyLoading:Array.from(this.loadingPromises.keys())}}},{key:"reloadModel",value:(i=t.asyncToGenerator(t.regenerator().m(function e(i){return t.regenerator().w(function(t){for(;;)if(0===t.n)return this.modelCache.delete(i),this.loadingPromises.delete(i),t.a(2,this.preloadSingleModel(i))},e,this)})),function(t){return i.apply(this,arguments)})},{key:"clearCache",value:function(){this.modelCache.forEach(function(t,e){t&&t.traverse&&t.traverse(function(t){t.geometry&&t.geometry.dispose(),t.material&&(Array.isArray(t.material)?t.material.forEach(function(t){return t.dispose()}):t.material.dispose())})}),this.modelCache.clear(),this.loadingPromises.clear(),this.isPreloading=!1,this.preloadingPromise=null}},{key:"getCacheStats",value:function(){var t={totalModels:this.modelCache.size,loadingModels:this.loadingPromises.size,isPreloading:this.isPreloading,memoryUsage:0};return this.modelCache.forEach(function(e){e&&e.traverse&&e.traverse(function(e){var i;e.geometry&&(t.memoryUsage+=12*((null===(i=e.geometry.attributes.position)||void 0===i?void 0:i.count)||0))})}),t}}]);var i,n,r}(),n=new i;exports.ModelPreloader=i,exports.default=n;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"t",{value:!0});var t=require("../../_virtual/_rollupPluginBabelHelpers.js"),i=function(){return t.createClass(function i(n){var e=this;t.classCallCheck(this,i),t.defineProperty(this,"draw",{line:function(t,i,n,r){var o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{};e.ctx&&(e.save(),e.setStyles(o),e.ctx.beginPath(),e.ctx.moveTo(t,i),e.ctx.lineTo(n,r),e.ctx.stroke(),e.restore())},rect:function(t,i,n,r){var o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{};e.ctx&&(e.save(),e.setStyles(o),o.fillStyle&&e.ctx.fillRect(t,i,n,r),o.strokeStyle&&e.ctx.strokeRect(t,i,n,r),e.restore())},circle:function(t,i,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};e.ctx&&(e.save(),e.setStyles(r),e.ctx.beginPath(),e.ctx.arc(t,i,n,0,2*Math.PI),r.fillStyle&&e.ctx.fill(),r.strokeStyle&&e.ctx.stroke(),e.restore())},ellipse:function(t,i,n,r){var o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0,s=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{};e.ctx&&(e.save(),e.setStyles(s),e.ctx.beginPath(),e.ctx.ellipse(t,i,n,r,o,0,2*Math.PI),s.fillStyle&&e.ctx.fill(),s.strokeStyle&&e.ctx.stroke(),e.restore())},polygon:function(t){var i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(e.ctx&&!(t.length<3)){e.save(),e.setStyles(i),e.ctx.beginPath(),e.ctx.moveTo(t[0][0],t[0][1]);for(var n=1;n<t.length;n++)e.ctx.lineTo(t[n][0],t[n][1]);e.ctx.closePath(),i.fillStyle&&e.ctx.fill(),i.strokeStyle&&e.ctx.stroke(),e.restore()}},bezierCurve:function(t,i,n,r,o,s,u,a){var h=arguments.length>8&&void 0!==arguments[8]?arguments[8]:{};e.ctx&&(e.save(),e.setStyles(h),e.ctx.beginPath(),e.ctx.moveTo(t,i),e.ctx.bezierCurveTo(n,r,o,s,u,a),e.ctx.stroke(),e.restore())},text:function(t,i,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};e.ctx&&(e.save(),e.setStyles(r),r.fillStyle&&e.ctx.fillText(t,i,n),r.strokeStyle&&e.ctx.strokeText(t,i,n),e.restore())},image:function(t,i,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:null;e.ctx&&t&&(r&&o?e.ctx.drawImage(t,i,n,r,o):e.ctx.drawImage(t,i,n))}}),t.defineProperty(this,"transform",{translate:function(t,i){e.ctx&&e.ctx.translate(t,i)},rotate:function(t){e.ctx&&e.ctx.rotate(t)},scale:function(t){var i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:t;e.ctx&&e.ctx.scale(t,i)},transform:function(t,i,n,r,o,s){e.ctx&&e.ctx.transform(t,i,n,r,o,s)},setTransform:function(t,i,n,r,o,s){e.ctx&&e.ctx.setTransform(t,i,n,r,o,s)},resetTransform:function(){e.ctx&&e.ctx.resetTransform()}}),t.defineProperty(this,"gradient",{linear:function(t,i,n,r,o){if(!e.ctx)return null;var s=e.ctx.createLinearGradient(t,i,n,r);return o.forEach(function(t){s.addColorStop(t.offset,t.color)}),s},radial:function(t,i,n,r,o,s,u){if(!e.ctx)return null;var a=e.ctx.createRadialGradient(t,i,n,r,o,s);return u.forEach(function(t){a.addColorStop(t.offset,t.color)}),a}}),t.defineProperty(this,"pattern",{fromImage:function(t){var i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"repeat";return e.ctx&&t?e.ctx.createPattern(t,i):null},fromCanvas:function(t){var i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"repeat";return e.ctx&&t?e.ctx.createPattern(t,i):null}}),t.defineProperty(this,"path",{begin:function(){e.ctx&&e.ctx.beginPath()},close:function(){e.ctx&&e.ctx.closePath()},moveTo:function(t,i){e.ctx&&e.ctx.moveTo(t,i)},lineTo:function(t,i){e.ctx&&e.ctx.lineTo(t,i)},arc:function(t,i,n,r,o){var s=arguments.length>5&&void 0!==arguments[5]&&arguments[5];e.ctx&&e.ctx.arc(t,i,n,r,o,s)},quadraticCurveTo:function(t,i,n,r){e.ctx&&e.ctx.quadraticCurveTo(t,i,n,r)},bezierCurveTo:function(t,i,n,r,o,s){e.ctx&&e.ctx.bezierCurveTo(t,i,n,r,o,s)},fill:function(){e.ctx&&e.ctx.fill()},stroke:function(){e.ctx&&e.ctx.stroke()},clip:function(){e.ctx&&e.ctx.clip()}}),t.defineProperty(this,"measure",{textWidth:function(t){var i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;if(!e.ctx)return 0;if(i){var n=e.ctx.font;e.ctx.font=i;var r=e.ctx.measureText(t).width;return e.ctx.font=n,r}return e.ctx.measureText(t).width},textMetrics:function(t){var i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;if(!e.ctx)return null;if(i){var n=e.ctx.font;e.ctx.font=i;var r=e.ctx.measureText(t);return e.ctx.font=n,r}return e.ctx.measureText(t)}}),t.defineProperty(this,"export",{toDataURL:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"image/png",i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:.92;return e.canvas?e.canvas.toDataURL(t,i):""},toBlob:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"image/png",i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:.92;return e.canvas?new Promise(function(n){e.canvas.toBlob(n,t,i)}):Promise.resolve(null)}}),this.canvas=n,this.ctx=null==n?void 0:n.getContext("2d"),this.width=(null==n?void 0:n.width)||800,this.height=(null==n?void 0:n.height)||600,this.pixelRatio=window.devicePixelRatio||1,this.state={transforms:[],styles:[]},this.setupCanvas()},[{key:"setupCanvas",value:function(){this.canvas&&this.ctx&&(this.canvas.width=this.width*this.pixelRatio,this.canvas.height=this.height*this.pixelRatio,this.ctx.scale(this.pixelRatio,this.pixelRatio),this.canvas.style.width=this.width+"px",this.canvas.style.height=this.height+"px")}},{key:"clear",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;this.ctx&&(t?(this.ctx.fillStyle=t,this.ctx.fillRect(0,0,this.width,this.height)):this.ctx.clearRect(0,0,this.width,this.height))}},{key:"save",value:function(){this.ctx&&(this.ctx.save(),this.state.transforms.push(this.ctx.getTransform()),this.state.styles.push({fillStyle:this.ctx.fillStyle,strokeStyle:this.ctx.strokeStyle,lineWidth:this.ctx.lineWidth,font:this.ctx.font,textAlign:this.ctx.textAlign,textBaseline:this.ctx.textBaseline}))}},{key:"restore",value:function(){this.ctx&&(this.ctx.restore(),this.state.transforms.pop(),this.state.styles.pop())}},{key:"setStyles",value:function(t){var i=this;this.ctx&&Object.keys(t).forEach(function(n){void 0!==i.ctx[n]&&(i.ctx[n]=t[n])})}},{key:"resize",value:function(t,i){this.width=t,this.height=i,this.setupCanvas()}},{key:"getDimensions",value:function(){return{width:this.width,height:this.height,pixelRatio:this.pixelRatio}}},{key:"dispose",value:function(){this.state.transforms=[],this.state.styles=[],this.canvas=null,this.ctx=null}}])}();exports.Rendering2D=i;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"i",{value:!0});var i=require("../../_virtual/_rollupPluginBabelHelpers.js"),e=require("three"),t=require("../core/debugLogger.js");function n(i){if(i&&i.i)return i;var e=Object.create(null);return i&&Object.keys(i).forEach(function(t){if("default"!==t){var n=Object.getOwnPropertyDescriptor(i,t);Object.defineProperty(e,t,n.get?n:{enumerable:!0,get:function(){return i[t]}})}}),e.default=i,Object.freeze(e)}var r=n(e),o=function(){return i.createClass(function e(){var t=this,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};i.classCallCheck(this,e),i.defineProperty(this,"lighting",{addAmbient:function(){var i,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:4210752,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:.4,o=new r.AmbientLight(e,n);return null===(i=t.scene)||void 0===i||i.add(o),o},addDirectional:function(){var e,n,o,s,a=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},v=a.color,d=void 0===v?16777215:v,u=a.intensity,h=void 0===u?1:u,l=a.position,c=void 0===l?[10,10,5]:l,f=a.target,p=void 0===f?[0,0,0]:f,w=a.castShadow,g=void 0===w||w,m=a.shadowMapSize,y=void 0===m?2048:m,b=a.shadowCameraNear,M=void 0===b?.5:b,x=a.shadowCameraFar,S=void 0===x?50:x,j=a.shadowCameraLeft,k=void 0===j?-10:j,D=a.shadowCameraRight,P=void 0===D?10:D,_=a.shadowCameraTop,R=void 0===_?10:_,O=a.shadowCameraBottom,B=void 0===O?-10:O,C=new r.DirectionalLight(d,h);return(e=C.position).set.apply(e,i.toConsumableArray(c)),(n=C.target.position).set.apply(n,i.toConsumableArray(p)),g&&(C.castShadow=!0,C.shadow.mapSize.width=y,C.shadow.mapSize.height=y,C.shadow.camera.near=M,C.shadow.camera.far=S,C.shadow.camera.left=k,C.shadow.camera.right=P,C.shadow.camera.top=R,C.shadow.camera.bottom=B),null===(o=t.scene)||void 0===o||o.add(C),null===(s=t.scene)||void 0===s||s.add(C.target),C},addPoint:function(){var e,n,o=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},s=o.color,a=void 0===s?16777215:s,v=o.intensity,d=void 0===v?1:v,u=o.distance,h=void 0===u?0:u,l=o.decay,c=void 0===l?2:l,f=o.position,p=void 0===f?[0,10,0]:f,w=o.castShadow,g=void 0!==w&&w,m=o.shadowMapSize,y=void 0===m?1024:m,b=new r.PointLight(a,d,h,c);return(e=b.position).set.apply(e,i.toConsumableArray(p)),g&&(b.castShadow=!0,b.shadow.mapSize.width=y,b.shadow.mapSize.height=y,b.shadow.camera.near=.1,b.shadow.camera.far=25),null===(n=t.scene)||void 0===n||n.add(b),b},addSpot:function(){var e,n,o,s,a=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},v=a.color,d=void 0===v?16777215:v,u=a.intensity,h=void 0===u?1:u,l=a.distance,c=void 0===l?0:l,f=a.angle,p=void 0===f?Math.PI/3:f,w=a.penumbra,g=void 0===w?0:w,m=a.decay,y=void 0===m?2:m,b=a.position,M=void 0===b?[0,10,0]:b,x=a.target,S=void 0===x?[0,0,0]:x,j=a.castShadow,k=void 0===j||j,D=a.shadowMapSize,P=void 0===D?1024:D,_=new r.SpotLight(d,h,c,p,g,y);return(e=_.position).set.apply(e,i.toConsumableArray(M)),(n=_.target.position).set.apply(n,i.toConsumableArray(S)),k&&(_.castShadow=!0,_.shadow.mapSize.width=P,_.shadow.mapSize.height=P,_.shadow.camera.near=.5,_.shadow.camera.far=50),null===(o=t.scene)||void 0===o||o.add(_),null===(s=t.scene)||void 0===s||s.add(_.target),_}}),i.defineProperty(this,"materials",{createStandard:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return new r.MeshStandardMaterial(i.objectSpread2({color:16777215,metalness:0,roughness:.5},e))},createPhysical:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return new r.MeshPhysicalMaterial(i.objectSpread2({color:16777215,metalness:0,roughness:.5,clearcoat:0,clearcoatRoughness:0},e))},createBasic:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return new r.MeshBasicMaterial(i.objectSpread2({color:16777215},e))},createShader:function(){var i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return new r.ShaderMaterial({vertexShader:i.vertexShader||"\n void main() {\n gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);\n }\n ",fragmentShader:i.fragmentShader||"\n void main() {\n gl_FragColor = vec4(1.0, 0.0, 0.0, 1.0);\n }\n ",uniforms:i.uniforms||{}})}}),i.defineProperty(this,"geometry",{createBox:function(){var i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1;return new r.BoxGeometry(i,e,t)},createSphere:function(){var i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:32,t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:16;return new r.SphereGeometry(i,e,t)},createCylinder:function(){var i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:32;return new r.CylinderGeometry(i,e,t,n)},createPlane:function(){var i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;return new r.PlaneGeometry(i,e)}}),i.defineProperty(this,"renderTargets",{create:function(e,n){var o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},s=new r.WebGLRenderTarget(e,n,i.objectSpread2({minFilter:r.LinearFilter,magFilter:r.LinearFilter,format:r.RGBAFormat,type:r.UnsignedByteType},o)),a="rt_".concat(Date.now(),"_").concat(Math.random().toString(36).substr(2,9));return t.renderTargets.set(a,s),{id:a,renderTarget:s}},get:function(i){return t.renderTargets.get(i)},remove:function(i){var e=t.renderTargets.get(i);e&&(e.dispose(),t.renderTargets.delete(i))}}),i.defineProperty(this,"animation",{createMixer:function(i){return t.animationMixer=new r.AnimationMixer(i),t.animationMixer},addClip:function(i){if(!t.animationMixer)throw new Error("Animation mixer not created");return t.animationMixer.clipAction(i)},update:function(i){t.animationMixer&&t.animationMixer.update(i)}}),i.defineProperty(this,"screenshot",{toDataURL:function(){var i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"image/png",e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;return t.renderer?t.renderer.domElement.toDataURL(i,e):""},toBlob:function(){var i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"image/png",e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;return t.renderer?new Promise(function(n){t.renderer.domElement.toBlob(n,i,e)}):Promise.resolve(null)}}),this.options=i.objectSpread2({antialias:!0,alpha:!0,shadowMapEnabled:!0,shadowMapType:r.PCFSoftShadowMap,toneMapping:r.ACESFilmicToneMapping,toneMappingExposure:1,outputColorSpace:r.SRGBColorSpace},n),this.renderer=null,this.scene=null,this.camera=null,this.controls=null,this.renderTargets=new Map,this.postProcessing={composer:null,passes:[]},this.stats={triangles:0,geometries:0,textures:0,calls:0,frameTime:0},this.animationMixer=null,this.clock=new r.Clock},[{key:"initializeRenderer",value:function(i){this.renderer&&this.dispose();try{return this.renderer=new r.WebGLRenderer({antialias:this.options.antialias,alpha:this.options.alpha,preserveDrawingBuffer:!1,powerPreference:"high-performance"}),this.renderer.setPixelRatio(Math.min(window.devicePixelRatio,2)),this.renderer.setSize(i.clientWidth,i.clientHeight),this.renderer.setClearColor(0,0),this.options.shadowMapEnabled&&(this.renderer.shadowMap.enabled=!0,this.renderer.shadowMap.type=this.options.shadowMapType),this.renderer.toneMapping=this.options.toneMapping,this.renderer.toneMappingExposure=this.options.toneMappingExposure,this.renderer.outputColorSpace=this.options.outputColorSpace,this.renderer.useLegacyLights=!1,i.appendChild(this.renderer.domElement),t.logger.info("✅ 3D Renderer initialized"),this.renderer}catch(i){throw t.logger.error("❌ Failed to initialize 3D renderer:",i),i}}},{key:"createScene",value:function(){var i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=i.background,n=void 0===e?null:e,o=i.environment,s=void 0===o?null:o,a=i.fog,v=void 0===a?null:a;return this.scene=new r.Scene,n&&("string"==typeof n?this.scene.background=new r.Color(n):n.isTexture&&(this.scene.background=n)),s&&s.isTexture&&(this.scene.environment=s),v&&("linear"===v.type?this.scene.fog=new r.Fog(v.color,v.near,v.far):"exponential"===v.type&&(this.scene.fog=new r.FogExp2(v.color,v.density))),t.logger.info("✅ 3D Scene created"),this.scene}},{key:"createCamera",value:function(){var e,n,o=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"perspective",s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},a=null===(e=this.renderer)||void 0===e||null===(e=e.domElement)||void 0===e?void 0:e.parentElement,v=a?a.clientWidth/a.clientHeight:1;if("perspective"===o){var d=s.fov,u=void 0===d?75:d,h=s.near,l=void 0===h?.1:h,c=s.far,f=void 0===c?1e3:c;s.position,this.camera=new r.PerspectiveCamera(u,v,l,f)}else if("orthographic"===o){var p=s.left,w=void 0===p?-10:p,g=s.right,m=void 0===g?10:g,y=s.top,b=void 0===y?10:y,M=s.bottom,x=void 0===M?-10:M,S=s.near,j=void 0===S?.1:S,k=s.far,D=void 0===k?1e3:k;s.position,this.camera=new r.OrthographicCamera(w,m,b,x,j,D)}this.camera&&((n=this.camera.position).set.apply(n,i.toConsumableArray(position)),t.logger.info("✅ ".concat(o," camera created")));return this.camera}},{key:"render",value:function(){var i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;if(this.renderer){var n=i||this.scene,r=e||this.camera;if(n&&r){var o=performance.now(),s=this.clock.getDelta();this.animation.update(s),this.renderer.render(n,r,t),this.stats.frameTime=performance.now()-o,this.updateRenderStats()}}}},{key:"updateRenderStats",value:function(){if(this.renderer){var i=this.renderer.info;this.stats.triangles=i.render.triangles,this.stats.geometries=i.memory.geometries,this.stats.textures=i.memory.textures,this.stats.calls=i.render.calls}}},{key:"getRenderStats",value:function(){return i.objectSpread2({},this.stats)}},{key:"resize",value:function(i,e){if(this.renderer){if(this.renderer.setSize(i,e),this.camera){if(this.camera.isPerspectiveCamera)this.camera.aspect=i/e;else if(this.camera.isOrthographicCamera){var t=i/e;this.camera.left=-10*t,this.camera.right=10*t,this.camera.top=10,this.camera.bottom=-10}this.camera.updateProjectionMatrix()}this.renderTargets.forEach(function(t){t.setSize(i,e)})}}},{key:"dispose",value:function(){this.renderTargets.forEach(function(i){i.dispose()}),this.renderTargets.clear(),this.animationMixer&&(this.animationMixer.stopAllAction(),this.animationMixer=null),this.renderer&&(this.renderer.dispose(),this.renderer.forceContextLoss(),this.renderer.domElement.parentElement&&this.renderer.domElement.parentElement.removeChild(this.renderer.domElement),this.renderer=null),this.scene=null,this.camera=null,this.controls=null,t.logger.info("✅ 3D Rendering disposed")}}])}();exports.Rendering3D=o;
|
|
@@ -1,339 +1 @@
|
|
|
1
|
-
function
|
|
2
|
-
(null == a || a > r.length) && (a = r.length);
|
|
3
|
-
for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];
|
|
4
|
-
return n;
|
|
5
|
-
}
|
|
6
|
-
function _arrayWithHoles(r) {
|
|
7
|
-
if (Array.isArray(r)) return r;
|
|
8
|
-
}
|
|
9
|
-
function _arrayWithoutHoles(r) {
|
|
10
|
-
if (Array.isArray(r)) return _arrayLikeToArray(r);
|
|
11
|
-
}
|
|
12
|
-
function asyncGeneratorStep(n, t, e, r, o, a, c) {
|
|
13
|
-
try {
|
|
14
|
-
var i = n[a](c),
|
|
15
|
-
u = i.value;
|
|
16
|
-
} catch (n) {
|
|
17
|
-
return void e(n);
|
|
18
|
-
}
|
|
19
|
-
i.done ? t(u) : Promise.resolve(u).then(r, o);
|
|
20
|
-
}
|
|
21
|
-
function _asyncToGenerator(n) {
|
|
22
|
-
return function () {
|
|
23
|
-
var t = this,
|
|
24
|
-
e = arguments;
|
|
25
|
-
return new Promise(function (r, o) {
|
|
26
|
-
var a = n.apply(t, e);
|
|
27
|
-
function _next(n) {
|
|
28
|
-
asyncGeneratorStep(a, r, o, _next, _throw, "next", n);
|
|
29
|
-
}
|
|
30
|
-
function _throw(n) {
|
|
31
|
-
asyncGeneratorStep(a, r, o, _next, _throw, "throw", n);
|
|
32
|
-
}
|
|
33
|
-
_next(void 0);
|
|
34
|
-
});
|
|
35
|
-
};
|
|
36
|
-
}
|
|
37
|
-
function _classCallCheck(a, n) {
|
|
38
|
-
if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function");
|
|
39
|
-
}
|
|
40
|
-
function _construct(t, e, r) {
|
|
41
|
-
if (_isNativeReflectConstruct()) return Reflect.construct.apply(null, arguments);
|
|
42
|
-
var o = [null];
|
|
43
|
-
o.push.apply(o, e);
|
|
44
|
-
var p = new (t.bind.apply(t, o))();
|
|
45
|
-
return r && _setPrototypeOf(p, r.prototype), p;
|
|
46
|
-
}
|
|
47
|
-
function _defineProperties(e, r) {
|
|
48
|
-
for (var t = 0; t < r.length; t++) {
|
|
49
|
-
var o = r[t];
|
|
50
|
-
o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o);
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
function _createClass(e, r, t) {
|
|
54
|
-
return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", {
|
|
55
|
-
writable: !1
|
|
56
|
-
}), e;
|
|
57
|
-
}
|
|
58
|
-
function _createForOfIteratorHelper(r, e) {
|
|
59
|
-
var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"];
|
|
60
|
-
if (!t) {
|
|
61
|
-
if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) {
|
|
62
|
-
t && (r = t);
|
|
63
|
-
var n = 0,
|
|
64
|
-
F = function () {};
|
|
65
|
-
return {
|
|
66
|
-
s: F,
|
|
67
|
-
n: function () {
|
|
68
|
-
return n >= r.length ? {
|
|
69
|
-
done: !0
|
|
70
|
-
} : {
|
|
71
|
-
done: !1,
|
|
72
|
-
value: r[n++]
|
|
73
|
-
};
|
|
74
|
-
},
|
|
75
|
-
e: function (r) {
|
|
76
|
-
throw r;
|
|
77
|
-
},
|
|
78
|
-
f: F
|
|
79
|
-
};
|
|
80
|
-
}
|
|
81
|
-
throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
82
|
-
}
|
|
83
|
-
var o,
|
|
84
|
-
a = !0,
|
|
85
|
-
u = !1;
|
|
86
|
-
return {
|
|
87
|
-
s: function () {
|
|
88
|
-
t = t.call(r);
|
|
89
|
-
},
|
|
90
|
-
n: function () {
|
|
91
|
-
var r = t.next();
|
|
92
|
-
return a = r.done, r;
|
|
93
|
-
},
|
|
94
|
-
e: function (r) {
|
|
95
|
-
u = !0, o = r;
|
|
96
|
-
},
|
|
97
|
-
f: function () {
|
|
98
|
-
try {
|
|
99
|
-
a || null == t.return || t.return();
|
|
100
|
-
} finally {
|
|
101
|
-
if (u) throw o;
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
};
|
|
105
|
-
}
|
|
106
|
-
function _defineProperty(e, r, t) {
|
|
107
|
-
return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, {
|
|
108
|
-
value: t,
|
|
109
|
-
enumerable: !0,
|
|
110
|
-
configurable: !0,
|
|
111
|
-
writable: !0
|
|
112
|
-
}) : e[r] = t, e;
|
|
113
|
-
}
|
|
114
|
-
function _isNativeReflectConstruct() {
|
|
115
|
-
try {
|
|
116
|
-
var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));
|
|
117
|
-
} catch (t) {}
|
|
118
|
-
return (_isNativeReflectConstruct = function () {
|
|
119
|
-
return !!t;
|
|
120
|
-
})();
|
|
121
|
-
}
|
|
122
|
-
function _iterableToArray(r) {
|
|
123
|
-
if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r);
|
|
124
|
-
}
|
|
125
|
-
function _iterableToArrayLimit(r, l) {
|
|
126
|
-
var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"];
|
|
127
|
-
if (null != t) {
|
|
128
|
-
var e,
|
|
129
|
-
n,
|
|
130
|
-
i,
|
|
131
|
-
u,
|
|
132
|
-
a = [],
|
|
133
|
-
f = !0,
|
|
134
|
-
o = !1;
|
|
135
|
-
try {
|
|
136
|
-
if (i = (t = t.call(r)).next, 0 === l) {
|
|
137
|
-
if (Object(t) !== t) return;
|
|
138
|
-
f = !1;
|
|
139
|
-
} else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);
|
|
140
|
-
} catch (r) {
|
|
141
|
-
o = !0, n = r;
|
|
142
|
-
} finally {
|
|
143
|
-
try {
|
|
144
|
-
if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return;
|
|
145
|
-
} finally {
|
|
146
|
-
if (o) throw n;
|
|
147
|
-
}
|
|
148
|
-
}
|
|
149
|
-
return a;
|
|
150
|
-
}
|
|
151
|
-
}
|
|
152
|
-
function _nonIterableRest() {
|
|
153
|
-
throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
154
|
-
}
|
|
155
|
-
function _nonIterableSpread() {
|
|
156
|
-
throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
157
|
-
}
|
|
158
|
-
function ownKeys(e, r) {
|
|
159
|
-
var t = Object.keys(e);
|
|
160
|
-
if (Object.getOwnPropertySymbols) {
|
|
161
|
-
var o = Object.getOwnPropertySymbols(e);
|
|
162
|
-
r && (o = o.filter(function (r) {
|
|
163
|
-
return Object.getOwnPropertyDescriptor(e, r).enumerable;
|
|
164
|
-
})), t.push.apply(t, o);
|
|
165
|
-
}
|
|
166
|
-
return t;
|
|
167
|
-
}
|
|
168
|
-
function _objectSpread2(e) {
|
|
169
|
-
for (var r = 1; r < arguments.length; r++) {
|
|
170
|
-
var t = null != arguments[r] ? arguments[r] : {};
|
|
171
|
-
r % 2 ? ownKeys(Object(t), !0).forEach(function (r) {
|
|
172
|
-
_defineProperty(e, r, t[r]);
|
|
173
|
-
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) {
|
|
174
|
-
Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));
|
|
175
|
-
});
|
|
176
|
-
}
|
|
177
|
-
return e;
|
|
178
|
-
}
|
|
179
|
-
function _regenerator() {
|
|
180
|
-
/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */
|
|
181
|
-
var e,
|
|
182
|
-
t,
|
|
183
|
-
r = "function" == typeof Symbol ? Symbol : {},
|
|
184
|
-
n = r.iterator || "@@iterator",
|
|
185
|
-
o = r.toStringTag || "@@toStringTag";
|
|
186
|
-
function i(r, n, o, i) {
|
|
187
|
-
var c = n && n.prototype instanceof Generator ? n : Generator,
|
|
188
|
-
u = Object.create(c.prototype);
|
|
189
|
-
return _regeneratorDefine(u, "_invoke", function (r, n, o) {
|
|
190
|
-
var i,
|
|
191
|
-
c,
|
|
192
|
-
u,
|
|
193
|
-
f = 0,
|
|
194
|
-
p = o || [],
|
|
195
|
-
y = !1,
|
|
196
|
-
G = {
|
|
197
|
-
p: 0,
|
|
198
|
-
n: 0,
|
|
199
|
-
v: e,
|
|
200
|
-
a: d,
|
|
201
|
-
f: d.bind(e, 4),
|
|
202
|
-
d: function (t, r) {
|
|
203
|
-
return i = t, c = 0, u = e, G.n = r, a;
|
|
204
|
-
}
|
|
205
|
-
};
|
|
206
|
-
function d(r, n) {
|
|
207
|
-
for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) {
|
|
208
|
-
var o,
|
|
209
|
-
i = p[t],
|
|
210
|
-
d = G.p,
|
|
211
|
-
l = i[2];
|
|
212
|
-
r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0));
|
|
213
|
-
}
|
|
214
|
-
if (o || r > 1) return a;
|
|
215
|
-
throw y = !0, n;
|
|
216
|
-
}
|
|
217
|
-
return function (o, p, l) {
|
|
218
|
-
if (f > 1) throw TypeError("Generator is already running");
|
|
219
|
-
for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) {
|
|
220
|
-
i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u);
|
|
221
|
-
try {
|
|
222
|
-
if (f = 2, i) {
|
|
223
|
-
if (c || (o = "next"), t = i[o]) {
|
|
224
|
-
if (!(t = t.call(i, u))) throw TypeError("iterator result is not an object");
|
|
225
|
-
if (!t.done) return t;
|
|
226
|
-
u = t.value, c < 2 && (c = 0);
|
|
227
|
-
} else 1 === c && (t = i.return) && t.call(i), c < 2 && (u = TypeError("The iterator does not provide a '" + o + "' method"), c = 1);
|
|
228
|
-
i = e;
|
|
229
|
-
} else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break;
|
|
230
|
-
} catch (t) {
|
|
231
|
-
i = e, c = 1, u = t;
|
|
232
|
-
} finally {
|
|
233
|
-
f = 1;
|
|
234
|
-
}
|
|
235
|
-
}
|
|
236
|
-
return {
|
|
237
|
-
value: t,
|
|
238
|
-
done: y
|
|
239
|
-
};
|
|
240
|
-
};
|
|
241
|
-
}(r, o, i), !0), u;
|
|
242
|
-
}
|
|
243
|
-
var a = {};
|
|
244
|
-
function Generator() {}
|
|
245
|
-
function GeneratorFunction() {}
|
|
246
|
-
function GeneratorFunctionPrototype() {}
|
|
247
|
-
t = Object.getPrototypeOf;
|
|
248
|
-
var c = [][n] ? t(t([][n]())) : (_regeneratorDefine(t = {}, n, function () {
|
|
249
|
-
return this;
|
|
250
|
-
}), t),
|
|
251
|
-
u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c);
|
|
252
|
-
function f(e) {
|
|
253
|
-
return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, _regeneratorDefine(e, o, "GeneratorFunction")), e.prototype = Object.create(u), e;
|
|
254
|
-
}
|
|
255
|
-
return GeneratorFunction.prototype = GeneratorFunctionPrototype, _regeneratorDefine(u, "constructor", GeneratorFunctionPrototype), _regeneratorDefine(GeneratorFunctionPrototype, "constructor", GeneratorFunction), GeneratorFunction.displayName = "GeneratorFunction", _regeneratorDefine(GeneratorFunctionPrototype, o, "GeneratorFunction"), _regeneratorDefine(u), _regeneratorDefine(u, o, "Generator"), _regeneratorDefine(u, n, function () {
|
|
256
|
-
return this;
|
|
257
|
-
}), _regeneratorDefine(u, "toString", function () {
|
|
258
|
-
return "[object Generator]";
|
|
259
|
-
}), (_regenerator = function () {
|
|
260
|
-
return {
|
|
261
|
-
w: i,
|
|
262
|
-
m: f
|
|
263
|
-
};
|
|
264
|
-
})();
|
|
265
|
-
}
|
|
266
|
-
function _regeneratorDefine(e, r, n, t) {
|
|
267
|
-
var i = Object.defineProperty;
|
|
268
|
-
try {
|
|
269
|
-
i({}, "", {});
|
|
270
|
-
} catch (e) {
|
|
271
|
-
i = 0;
|
|
272
|
-
}
|
|
273
|
-
_regeneratorDefine = function (e, r, n, t) {
|
|
274
|
-
if (r) i ? i(e, r, {
|
|
275
|
-
value: n,
|
|
276
|
-
enumerable: !t,
|
|
277
|
-
configurable: !t,
|
|
278
|
-
writable: !t
|
|
279
|
-
}) : e[r] = n;else {
|
|
280
|
-
function o(r, n) {
|
|
281
|
-
_regeneratorDefine(e, r, function (e) {
|
|
282
|
-
return this._invoke(r, n, e);
|
|
283
|
-
});
|
|
284
|
-
}
|
|
285
|
-
o("next", 0), o("throw", 1), o("return", 2);
|
|
286
|
-
}
|
|
287
|
-
}, _regeneratorDefine(e, r, n, t);
|
|
288
|
-
}
|
|
289
|
-
function _regeneratorValues(e) {
|
|
290
|
-
if (null != e) {
|
|
291
|
-
var t = e["function" == typeof Symbol && Symbol.iterator || "@@iterator"],
|
|
292
|
-
r = 0;
|
|
293
|
-
if (t) return t.call(e);
|
|
294
|
-
if ("function" == typeof e.next) return e;
|
|
295
|
-
if (!isNaN(e.length)) return {
|
|
296
|
-
next: function () {
|
|
297
|
-
return e && r >= e.length && (e = void 0), {
|
|
298
|
-
value: e && e[r++],
|
|
299
|
-
done: !e
|
|
300
|
-
};
|
|
301
|
-
}
|
|
302
|
-
};
|
|
303
|
-
}
|
|
304
|
-
throw new TypeError(typeof e + " is not iterable");
|
|
305
|
-
}
|
|
306
|
-
function _setPrototypeOf(t, e) {
|
|
307
|
-
return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) {
|
|
308
|
-
return t.__proto__ = e, t;
|
|
309
|
-
}, _setPrototypeOf(t, e);
|
|
310
|
-
}
|
|
311
|
-
function _slicedToArray(r, e) {
|
|
312
|
-
return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest();
|
|
313
|
-
}
|
|
314
|
-
function _toConsumableArray(r) {
|
|
315
|
-
return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread();
|
|
316
|
-
}
|
|
317
|
-
function _toPrimitive(t, r) {
|
|
318
|
-
if ("object" != typeof t || !t) return t;
|
|
319
|
-
var e = t[Symbol.toPrimitive];
|
|
320
|
-
if (void 0 !== e) {
|
|
321
|
-
var i = e.call(t, r || "default");
|
|
322
|
-
if ("object" != typeof i) return i;
|
|
323
|
-
throw new TypeError("@@toPrimitive must return a primitive value.");
|
|
324
|
-
}
|
|
325
|
-
return ("string" === r ? String : Number)(t);
|
|
326
|
-
}
|
|
327
|
-
function _toPropertyKey(t) {
|
|
328
|
-
var i = _toPrimitive(t, "string");
|
|
329
|
-
return "symbol" == typeof i ? i : i + "";
|
|
330
|
-
}
|
|
331
|
-
function _unsupportedIterableToArray(r, a) {
|
|
332
|
-
if (r) {
|
|
333
|
-
if ("string" == typeof r) return _arrayLikeToArray(r, a);
|
|
334
|
-
var t = {}.toString.call(r).slice(8, -1);
|
|
335
|
-
return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0;
|
|
336
|
-
}
|
|
337
|
-
}
|
|
338
|
-
|
|
339
|
-
export { _arrayLikeToArray as arrayLikeToArray, _arrayWithHoles as arrayWithHoles, _arrayWithoutHoles as arrayWithoutHoles, _asyncToGenerator as asyncToGenerator, _classCallCheck as classCallCheck, _construct as construct, _createClass as createClass, _createForOfIteratorHelper as createForOfIteratorHelper, _defineProperty as defineProperty, _isNativeReflectConstruct as isNativeReflectConstruct, _iterableToArray as iterableToArray, _iterableToArrayLimit as iterableToArrayLimit, _nonIterableRest as nonIterableRest, _nonIterableSpread as nonIterableSpread, _objectSpread2 as objectSpread2, _regenerator as regenerator, _regeneratorDefine as regeneratorDefine, _regeneratorValues as regeneratorValues, _setPrototypeOf as setPrototypeOf, _slicedToArray as slicedToArray, _toConsumableArray as toConsumableArray, _toPrimitive as toPrimitive, _toPropertyKey as toPropertyKey, _unsupportedIterableToArray as unsupportedIterableToArray };
|
|
1
|
+
function t(t,r){(null==r||r>t.length)&&(r=t.length);for(var n=0,e=Array(r);n<r;n++)e[n]=t[n];return e}function r(t){if(Array.isArray(t))return t}function n(r){if(Array.isArray(r))return t(r)}function e(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function o(t,r,n,e,o,i,u){try{var a=t[i](u),f=a.value}catch(t){return void n(t)}a.done?r(f):Promise.resolve(f).then(e,o)}function i(t){return function(){var r=this,n=arguments;return new Promise(function(e,i){var u=t.apply(r,n);function a(t){o(u,e,i,a,f,"next",t)}function f(t){o(u,e,i,a,f,"throw",t)}a(void 0)})}}function u(t,r,n){return r=p(r),T(t,m()?Reflect.construct(r,n||[],p(t).constructor):r.apply(t,n))}function a(t,r){if(!(t instanceof r))throw new TypeError("Cannot call a class as a function")}function f(t,r,n){if(m())return Reflect.construct.apply(null,arguments);var e=[null];e.push.apply(e,r);var o=new(t.bind.apply(t,e));return n&&I(o,n.prototype),o}function c(t,r){for(var n=0;n<r.length;n++){var e=r[n];e.enumerable=e.enumerable||!1,e.configurable=!0,"value"in e&&(e.writable=!0),Object.defineProperty(t,k(e.key),e)}}function l(t,r,n){return r&&c(t.prototype,r),n&&c(t,n),Object.defineProperty(t,"prototype",{writable:!1}),t}function s(t,r){var n="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!n){if(Array.isArray(t)||(n=N(t))||r&&t&&"number"==typeof t.length){n&&(t=n);var e=0,o=function(){};return{s:o,n:function(){return e>=t.length?{done:!0}:{done:!1,value:t[e++]}},e:function(t){throw t},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,u=!0,a=!1;return{s:function(){n=n.call(t)},n:function(){var t=n.next();return u=t.done,t},e:function(t){a=!0,i=t},f:function(){try{u||null==n.return||n.return()}finally{if(a)throw i}}}}function b(t,r,n){return(r=k(r))in t?Object.defineProperty(t,r,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[r]=n,t}function y(){return y="undefined"!=typeof Reflect&&Reflect.get?Reflect.get.bind():function(t,r,n){var e=R(t,r);if(e){var o=Object.getOwnPropertyDescriptor(e,r);return o.get?o.get.call(arguments.length<3?t:n):o.value}},y.apply(null,arguments)}function p(t){return p=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},p(t)}function v(t,r){if("function"!=typeof r&&null!==r)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(r&&r.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),r&&I(t,r)}function m(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(t){}return(m=function(){return!!t})()}function d(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}function h(t,r){var n=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=n){var e,o,i,u,a=[],f=!0,c=!1;try{if(i=(n=n.call(t)).next,0===r){if(Object(n)!==n)return;f=!1}else for(;!(f=(e=i.call(n)).done)&&(a.push(e.value),a.length!==r);f=!0);}catch(t){c=!0,o=t}finally{try{if(!f&&null!=n.return&&(u=n.return(),Object(u)!==u))return}finally{if(c)throw o}}return a}}function j(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function O(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function w(t,r){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var e=Object.getOwnPropertySymbols(t);r&&(e=e.filter(function(r){return Object.getOwnPropertyDescriptor(t,r).enumerable})),n.push.apply(n,e)}return n}function S(t){for(var r=1;r<arguments.length;r++){var n=null!=arguments[r]?arguments[r]:{};r%2?w(Object(n),!0).forEach(function(r){b(t,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):w(Object(n)).forEach(function(r){Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(n,r))})}return t}function T(t,r){if(r&&("object"==typeof r||"function"==typeof r))return r;if(void 0!==r)throw new TypeError("Derived constructors may only return object or undefined");return e(t)}function g(){var t,r,n="function"==typeof Symbol?Symbol:{},e=n.iterator||"@@iterator",o=n.toStringTag||"@@toStringTag";function i(n,e,o,i){var f=e&&e.prototype instanceof a?e:a,c=Object.create(f.prototype);return A(c,"_invoke",function(n,e,o){var i,a,f,c=0,l=o||[],s=!1,b={p:0,n:0,v:t,a:y,f:y.bind(t,4),d:function(r,n){return i=r,a=0,f=t,b.n=n,u}};function y(n,e){for(a=n,f=e,r=0;!s&&c&&!o&&r<l.length;r++){var o,i=l[r],y=b.p,p=i[2];n>3?(o=p===e)&&(f=i[(a=i[4])?5:(a=3,3)],i[4]=i[5]=t):i[0]<=y&&((o=n<2&&y<i[1])?(a=0,b.v=e,b.n=i[1]):y<p&&(o=n<3||i[0]>e||e>p)&&(i[4]=n,i[5]=e,b.n=p,a=0))}if(o||n>1)return u;throw s=!0,e}return function(o,l,p){if(c>1)throw TypeError("Generator is already running");for(s&&1===l&&y(l,p),a=l,f=p;(r=a<2?t:f)||!s;){i||(a?a<3?(a>1&&(b.n=-1),y(a,f)):b.n=f:b.v=f);try{if(c=2,i){if(a||(o="next"),r=i[o]){if(!(r=r.call(i,f)))throw TypeError("iterator result is not an object");if(!r.done)return r;f=r.value,a<2&&(a=0)}else 1===a&&(r=i.return)&&r.call(i),a<2&&(f=TypeError("The iterator does not provide a '"+o+"' method"),a=1);i=t}else if((r=(s=b.n<0)?f:n.call(e,b))!==u)break}catch(r){i=t,a=1,f=r}finally{c=1}}return{value:r,done:s}}}(n,o,i),!0),c}var u={};function a(){}function f(){}function c(){}r=Object.getPrototypeOf;var l=[][e]?r(r([][e]())):(A(r={},e,function(){return this}),r),s=c.prototype=a.prototype=Object.create(l);function b(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,c):(t.__proto__=c,A(t,o,"GeneratorFunction")),t.prototype=Object.create(s),t}return f.prototype=c,A(s,"constructor",c),A(c,"constructor",f),f.displayName="GeneratorFunction",A(c,o,"GeneratorFunction"),A(s),A(s,o,"Generator"),A(s,e,function(){return this}),A(s,"toString",function(){return"[object Generator]"}),(g=function(){return{w:i,m:b}})()}function A(t,r,n,e){var o=Object.defineProperty;try{o({},"",{})}catch(t){o=0}A=function(t,r,n,e){if(r)o?o(t,r,{value:n,enumerable:!e,configurable:!e,writable:!e}):t[r]=n;else{function i(r,n){A(t,r,function(t){return this.t(r,n,t)})}i("next",0),i("throw",1),i("return",2)}},A(t,r,n,e)}function E(t){if(null!=t){var r=t["function"==typeof Symbol&&Symbol.iterator||"@@iterator"],n=0;if(r)return r.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length))return{next:function(){return t&&n>=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}}}throw new TypeError(typeof t+" is not iterable")}function I(t,r){return I=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,r){return t.__proto__=r,t},I(t,r)}function P(t,n){return r(t)||h(t,n)||N(t,n)||j()}function R(t,r){for(;!{}.hasOwnProperty.call(t,r)&&null!==(t=p(t)););return t}function C(t,r,n,e){var o=y(p(1&e?t.prototype:t),r,n);return 2&e&&"function"==typeof o?function(t){return o.apply(n,t)}:o}function G(t){return n(t)||d(t)||N(t)||O()}function x(t,r){if("object"!=typeof t||!t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var e=n.call(t,r||"default");if("object"!=typeof e)return e;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===r?String:Number)(t)}function k(t){var r=x(t,"string");return"symbol"==typeof r?r:r+""}function F(t){return F="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},F(t)}function N(r,n){if(r){if("string"==typeof r)return t(r,n);var e={}.toString.call(r).slice(8,-1);return"Object"===e&&r.constructor&&(e=r.constructor.name),"Map"===e||"Set"===e?Array.from(r):"Arguments"===e||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e)?t(r,n):void 0}}export{t as arrayLikeToArray,r as arrayWithHoles,n as arrayWithoutHoles,e as assertThisInitialized,i as asyncToGenerator,u as callSuper,a as classCallCheck,f as construct,l as createClass,s as createForOfIteratorHelper,b as defineProperty,y as get,p as getPrototypeOf,v as inherits,m as isNativeReflectConstruct,d as iterableToArray,h as iterableToArrayLimit,j as nonIterableRest,O as nonIterableSpread,S as objectSpread2,T as possibleConstructorReturn,g as regenerator,A as regeneratorDefine,E as regeneratorValues,I as setPrototypeOf,P as slicedToArray,R as superPropBase,C as superPropGet,G as toConsumableArray,x as toPrimitive,k as toPropertyKey,F as typeof,N as unsupportedIterableToArray};
|