@roomle/web-sdk 2.28.0 → 2.29.0
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/lib/{banana-for-scale-dd4c5739.js → banana-for-scale-656cea8a.js} +2 -2
- package/lib/{banana-for-scale-dd4c5739.js.map → banana-for-scale-656cea8a.js.map} +1 -1
- package/lib/{banana-for-scale-2239eff7.nomodule.js → banana-for-scale-89f70127.nomodule.js} +2 -2
- package/lib/{banana-for-scale-2239eff7.nomodule.js.map → banana-for-scale-89f70127.nomodule.js.map} +1 -1
- package/lib/{budgeteer-measure-05dc445d.js → budgeteer-measure-8cfea554.js} +2 -2
- package/lib/{budgeteer-measure-05dc445d.js.map → budgeteer-measure-8cfea554.js.map} +1 -1
- package/lib/budgeteer-measure.nomodule.js +1 -1
- package/lib/{component-dimensioning-07857a7e.js → component-dimensioning-1b5f64dd.js} +2 -2
- package/lib/component-dimensioning-1b5f64dd.js.map +1 -0
- package/lib/{component-dimensioning-e121b044.nomodule.js → component-dimensioning-7bdd1b3b.nomodule.js} +2 -2
- package/lib/component-dimensioning-7bdd1b3b.nomodule.js.map +1 -0
- package/lib/configurator-6e7f5ef0.js +2 -0
- package/lib/{configurator-366b9a69.js.map → configurator-6e7f5ef0.js.map} +1 -1
- package/lib/configurator-eddf59f1.nomodule.js +2 -0
- package/lib/{configurator-b498456a.nomodule.js.map → configurator-eddf59f1.nomodule.js.map} +1 -1
- package/lib/configurator-main-7acfa92f.js +2 -0
- package/lib/configurator-main-7acfa92f.js.map +1 -0
- package/lib/configurator-main.nomodule.js +1 -1
- package/lib/configurator-mesh-generator-05375458.nomodule.js +2 -0
- package/lib/configurator-mesh-generator-05375458.nomodule.js.map +1 -0
- package/lib/{configurator-mesh-generator-e827c528.js → configurator-mesh-generator-f210ee04.js} +2 -2
- package/lib/configurator-mesh-generator-f210ee04.js.map +1 -0
- package/lib/{default-light-setting-7eb7961c.js → default-light-setting-7de63c9a.js} +2 -2
- package/lib/default-light-setting-7de63c9a.js.map +1 -0
- package/lib/{default-light-setting-f21a820b.nomodule.js → default-light-setting-e4720308.nomodule.js} +2 -2
- package/lib/default-light-setting-e4720308.nomodule.js.map +1 -0
- package/lib/definitions/common-core/src/services/global-callback.d.ts +1 -0
- package/lib/definitions/configurator-core/src/roomle-configurator.d.ts +7 -1
- package/lib/definitions/configurator-core/src/webgl/scene-helper.d.ts +1 -1
- package/lib/{dimensioning-helper-73700224.nomodule.js → dimensioning-helper-844fc69d.nomodule.js} +2 -2
- package/lib/dimensioning-helper-844fc69d.nomodule.js.map +1 -0
- package/lib/{dimensioning-helper-2f129aab.js → dimensioning-helper-e77fbedb.js} +2 -2
- package/lib/dimensioning-helper-e77fbedb.js.map +1 -0
- package/lib/glb-viewer-0331f919.js +2 -0
- package/lib/{glb-viewer-10243e50.js.map → glb-viewer-0331f919.js.map} +1 -1
- package/lib/glb-viewer-6e5482c7.nomodule.js +2 -0
- package/lib/{glb-viewer-d6e080e4.nomodule.js.map → glb-viewer-6e5482c7.nomodule.js.map} +1 -1
- package/lib/glb-viewer-main-17601c40.js +2 -0
- package/lib/glb-viewer-main-17601c40.js.map +1 -0
- package/lib/glb-viewer-main.nomodule.js +1 -1
- package/lib/image-renderer-880c414d.nomodule.js +2 -0
- package/lib/{image-renderer-9478b17b.nomodule.js.map → image-renderer-880c414d.nomodule.js.map} +1 -1
- package/lib/image-renderer-ad267c8b.js +2 -0
- package/lib/{image-renderer-9e47bc3a.js.map → image-renderer-ad267c8b.js.map} +1 -1
- package/lib/legacy/{banana-for-scale-1dc75d47.legacy.js → banana-for-scale-bd7d6dfd.legacy.js} +2 -2
- package/lib/legacy/{banana-for-scale-1dc75d47.legacy.js.map → banana-for-scale-bd7d6dfd.legacy.js.map} +1 -1
- package/lib/legacy/budgeteer-measure.legacy.js +1 -1
- package/lib/legacy/{component-dimensioning-d657350b.legacy.js → component-dimensioning-59fd1367.legacy.js} +2 -2
- package/lib/legacy/component-dimensioning-59fd1367.legacy.js.map +1 -0
- package/lib/legacy/configurator-82b7967e.legacy.js +2 -0
- package/lib/legacy/{configurator-3250dfc2.legacy.js.map → configurator-82b7967e.legacy.js.map} +1 -1
- package/lib/legacy/configurator-main.legacy.js +1 -1
- package/lib/legacy/{configurator-mesh-generator-d604f05c.legacy.js → configurator-mesh-generator-6266fa75.legacy.js} +2 -2
- package/lib/legacy/configurator-mesh-generator-6266fa75.legacy.js.map +1 -0
- package/lib/legacy/{default-light-setting-14b03f67.legacy.js → default-light-setting-97f711dc.legacy.js} +2 -2
- package/lib/legacy/default-light-setting-97f711dc.legacy.js.map +1 -0
- package/lib/legacy/{dimensioning-helper-bed08d96.legacy.js → dimensioning-helper-99057da2.legacy.js} +2 -2
- package/lib/legacy/dimensioning-helper-99057da2.legacy.js.map +1 -0
- package/lib/legacy/glb-viewer-be2c067a.legacy.js +2 -0
- package/lib/legacy/{glb-viewer-5dcdda0a.legacy.js.map → glb-viewer-be2c067a.legacy.js.map} +1 -1
- package/lib/legacy/glb-viewer-main.legacy.js +1 -1
- package/lib/legacy/image-renderer-6df9eca6.legacy.js +2 -0
- package/lib/legacy/{image-renderer-0f532f9c.legacy.js.map → image-renderer-6df9eca6.legacy.js.map} +1 -1
- package/lib/legacy/{main-thread-to-worker-880d5b78.legacy.js → main-thread-to-worker-4c02f179.legacy.js} +2 -2
- package/lib/legacy/main-thread-to-worker-4c02f179.legacy.js.map +1 -0
- package/lib/legacy/{material-viewer-41e5c677.legacy.js → material-viewer-e83460de.legacy.js} +2 -2
- package/lib/legacy/material-viewer-e83460de.legacy.js.map +1 -0
- package/lib/legacy/material-viewer-main.legacy.js +1 -1
- package/lib/legacy/{mesh-generator-4f2f2ec7.legacy.js → mesh-generator-084a73cd.legacy.js} +2 -2
- package/lib/legacy/mesh-generator-084a73cd.legacy.js.map +1 -0
- package/lib/legacy/{pixotron-cd4cd438.legacy.js → pixotron-6195d494.legacy.js} +2 -2
- package/lib/legacy/{pixotron-cd4cd438.legacy.js.map → pixotron-6195d494.legacy.js.map} +1 -1
- package/lib/legacy/{planner-03b11101.legacy.js → planner-5b7cc8fa.legacy.js} +2 -2
- package/lib/legacy/{planner-03b11101.legacy.js.map → planner-5b7cc8fa.legacy.js.map} +1 -1
- package/lib/legacy/planner-main.legacy.js +1 -1
- package/lib/legacy/{rapi-access-ef758fca.legacy.js → rapi-access-7d0f02e7.legacy.js} +3 -3
- package/lib/legacy/{rapi-access-ef758fca.legacy.js.map → rapi-access-7d0f02e7.legacy.js.map} +1 -1
- package/lib/legacy/roomle-sdk.legacy.js +1 -1
- package/lib/legacy/{scene-manager-afd27798.legacy.js → scene-manager-65a4c302.legacy.js} +2 -2
- package/lib/legacy/scene-manager-65a4c302.legacy.js.map +1 -0
- package/lib/legacy/static/ConfiguratorKernel-4c09558b00e81ba8.wasm +0 -0
- package/lib/legacy/static/{ConfiguratorKernel-c416f21e546a33f4.js → ConfiguratorKernel-7379813e2cd03c0d.js} +74 -74
- package/lib/legacy/static/ConfiguratorKernelJs-3789a15227520de1.js +143 -0
- package/lib/legacy/static/ConfiguratorKernelJs-dd075c23d87b4733.mem +0 -0
- package/lib/legacy/static/RoomleCore-43a1c9de57277471.wasm +0 -0
- package/lib/legacy/static/{RoomleCore-30311f70b9e1675b.js → RoomleCore-4da5951bbc66db16.js} +83 -83
- package/lib/legacy/static/RoomleCoreJs-86806817a5b958c9.js +151 -0
- package/lib/legacy/static/RoomleCoreJs-cfff2977254b7f93.mem +0 -0
- package/lib/legacy/static/shaders-df453330fdd84fa7.json +1 -0
- package/lib/legacy/{stats-helper-0acbc658.legacy.js → stats-helper-e832d5a9.legacy.js} +2 -2
- package/lib/legacy/{stats-helper-0acbc658.legacy.js.map → stats-helper-e832d5a9.legacy.js.map} +1 -1
- package/lib/{main-thread-to-worker-bb844d54.nomodule.js → main-thread-to-worker-4fc95d50.nomodule.js} +2 -2
- package/lib/main-thread-to-worker-4fc95d50.nomodule.js.map +1 -0
- package/lib/{main-thread-to-worker-91bf9f5e.js → main-thread-to-worker-5447c1c5.js} +2 -2
- package/lib/main-thread-to-worker-5447c1c5.js.map +1 -0
- package/lib/{material-viewer-1b0d838c.nomodule.js → material-viewer-8183024b.nomodule.js} +2 -2
- package/lib/material-viewer-8183024b.nomodule.js.map +1 -0
- package/lib/{material-viewer-90b397b7.js → material-viewer-9ee1ebf0.js} +2 -2
- package/lib/material-viewer-9ee1ebf0.js.map +1 -0
- package/lib/material-viewer-main-6c084313.js +2 -0
- package/lib/material-viewer-main-6c084313.js.map +1 -0
- package/lib/material-viewer-main.nomodule.js +1 -1
- package/lib/{mesh-generator-948c7db4.nomodule.js → mesh-generator-7dea7a1b.nomodule.js} +2 -2
- package/lib/mesh-generator-7dea7a1b.nomodule.js.map +1 -0
- package/lib/{mesh-generator-ff0dbfc8.js → mesh-generator-a980f1b0.js} +2 -2
- package/lib/mesh-generator-a980f1b0.js.map +1 -0
- package/lib/{pixotron-ec9a72e0.nomodule.js → pixotron-4065f090.nomodule.js} +2 -2
- package/lib/{pixotron-ec9a72e0.nomodule.js.map → pixotron-4065f090.nomodule.js.map} +1 -1
- package/lib/{pixotron-5167229f.js → pixotron-9baf521b.js} +2 -2
- package/lib/{pixotron-5167229f.js.map → pixotron-9baf521b.js.map} +1 -1
- package/lib/{planner-f1b53f57.nomodule.js → planner-2040e9ab.nomodule.js} +2 -2
- package/lib/{planner-f1b53f57.nomodule.js.map → planner-2040e9ab.nomodule.js.map} +1 -1
- package/lib/{planner-c3c34e74.js → planner-79b62302.js} +2 -2
- package/lib/{planner-c3c34e74.js.map → planner-79b62302.js.map} +1 -1
- package/lib/planner-main-74807374.js +2 -0
- package/lib/planner-main-74807374.js.map +1 -0
- package/lib/planner-main.nomodule.js +1 -1
- package/lib/{rapi-access-cf61a750.nomodule.js → rapi-access-65dbda00.nomodule.js} +3 -3
- package/lib/{rapi-access-cf61a750.nomodule.js.map → rapi-access-65dbda00.nomodule.js.map} +1 -1
- package/lib/{rapi-access-cc4f78e4.js → rapi-access-d209c65c.js} +3 -3
- package/lib/{rapi-access-cc4f78e4.js.map → rapi-access-d209c65c.js.map} +1 -1
- package/lib/{roomle-sdk-da4e3ccc.js → roomle-sdk-85d54446.js} +2 -2
- package/lib/roomle-sdk-85d54446.js.map +1 -0
- package/lib/roomle-sdk.nomodule.js +1 -1
- package/lib/{scene-manager-aa8b9035.nomodule.js → scene-manager-0ac7eb06.nomodule.js} +2 -2
- package/lib/scene-manager-0ac7eb06.nomodule.js.map +1 -0
- package/lib/{scene-manager-8c308533.js → scene-manager-424afdbc.js} +2 -2
- package/lib/scene-manager-424afdbc.js.map +1 -0
- package/lib/static/ConfiguratorKernel-4c09558b00e81ba8.wasm +0 -0
- package/lib/static/ConfiguratorKernel-7379813e2cd03c0d.js +1 -0
- package/lib/static/ConfiguratorKernel-7379813e2cd03c0d.js.map +1 -0
- package/lib/static/ConfiguratorKernelJs-3789a15227520de1.js +143 -0
- package/lib/static/ConfiguratorKernelJs-dd075c23d87b4733.mem +0 -0
- package/lib/static/RoomleCore-43a1c9de57277471.wasm +0 -0
- package/lib/static/RoomleCore-4da5951bbc66db16.js +1 -0
- package/lib/static/RoomleCore-4da5951bbc66db16.js.map +1 -0
- package/lib/static/RoomleCoreJs-86806817a5b958c9.js +151 -0
- package/lib/static/RoomleCoreJs-cfff2977254b7f93.mem +0 -0
- package/lib/static/shaders-df453330fdd84fa7.json +1 -0
- package/lib/{stats-helper-f53f8b2f.js → stats-helper-3ffe1651.js} +2 -2
- package/lib/{stats-helper-f53f8b2f.js.map → stats-helper-3ffe1651.js.map} +1 -1
- package/lib/{stats-helper-7dc63459.nomodule.js → stats-helper-9b173f93.nomodule.js} +2 -2
- package/lib/{stats-helper-7dc63459.nomodule.js.map → stats-helper-9b173f93.nomodule.js.map} +1 -1
- package/package.json +2 -2
- package/lib/component-dimensioning-07857a7e.js.map +0 -1
- package/lib/component-dimensioning-e121b044.nomodule.js.map +0 -1
- package/lib/configurator-366b9a69.js +0 -2
- package/lib/configurator-b498456a.nomodule.js +0 -2
- package/lib/configurator-main-1ba50225.js +0 -2
- package/lib/configurator-main-1ba50225.js.map +0 -1
- package/lib/configurator-mesh-generator-bedfe9a1.nomodule.js +0 -2
- package/lib/configurator-mesh-generator-bedfe9a1.nomodule.js.map +0 -1
- package/lib/configurator-mesh-generator-e827c528.js.map +0 -1
- package/lib/default-light-setting-7eb7961c.js.map +0 -1
- package/lib/default-light-setting-f21a820b.nomodule.js.map +0 -1
- package/lib/dimensioning-helper-2f129aab.js.map +0 -1
- package/lib/dimensioning-helper-73700224.nomodule.js.map +0 -1
- package/lib/glb-viewer-10243e50.js +0 -2
- package/lib/glb-viewer-d6e080e4.nomodule.js +0 -2
- package/lib/glb-viewer-main-39535b70.js +0 -2
- package/lib/glb-viewer-main-39535b70.js.map +0 -1
- package/lib/image-renderer-9478b17b.nomodule.js +0 -2
- package/lib/image-renderer-9e47bc3a.js +0 -2
- package/lib/legacy/component-dimensioning-d657350b.legacy.js.map +0 -1
- package/lib/legacy/configurator-3250dfc2.legacy.js +0 -2
- package/lib/legacy/configurator-mesh-generator-d604f05c.legacy.js.map +0 -1
- package/lib/legacy/default-light-setting-14b03f67.legacy.js.map +0 -1
- package/lib/legacy/dimensioning-helper-bed08d96.legacy.js.map +0 -1
- package/lib/legacy/glb-viewer-5dcdda0a.legacy.js +0 -2
- package/lib/legacy/image-renderer-0f532f9c.legacy.js +0 -2
- package/lib/legacy/main-thread-to-worker-880d5b78.legacy.js.map +0 -1
- package/lib/legacy/material-viewer-41e5c677.legacy.js.map +0 -1
- package/lib/legacy/mesh-generator-4f2f2ec7.legacy.js.map +0 -1
- package/lib/legacy/scene-manager-afd27798.legacy.js.map +0 -1
- package/lib/legacy/static/ConfiguratorKernel-a1daecbcb66a7ea2.wasm +0 -0
- package/lib/legacy/static/ConfiguratorKernelJs-2a6eb4d239731162.mem +0 -0
- package/lib/legacy/static/ConfiguratorKernelJs-fdb5588c5f9ad271.js +0 -143
- package/lib/legacy/static/RoomleCore-423543e6e81ce65d.wasm +0 -0
- package/lib/legacy/static/RoomleCoreJs-3ca6b11e7db6ad5c.js +0 -151
- package/lib/legacy/static/RoomleCoreJs-88d140ccbd2a0401.mem +0 -0
- package/lib/legacy/static/shaders-300ca3b7af102119.json +0 -1
- package/lib/main-thread-to-worker-91bf9f5e.js.map +0 -1
- package/lib/main-thread-to-worker-bb844d54.nomodule.js.map +0 -1
- package/lib/material-viewer-1b0d838c.nomodule.js.map +0 -1
- package/lib/material-viewer-90b397b7.js.map +0 -1
- package/lib/material-viewer-main-39b78443.js +0 -2
- package/lib/material-viewer-main-39b78443.js.map +0 -1
- package/lib/mesh-generator-948c7db4.nomodule.js.map +0 -1
- package/lib/mesh-generator-ff0dbfc8.js.map +0 -1
- package/lib/planner-main-f87ff090.js +0 -2
- package/lib/planner-main-f87ff090.js.map +0 -1
- package/lib/roomle-sdk-da4e3ccc.js.map +0 -1
- package/lib/scene-manager-8c308533.js.map +0 -1
- package/lib/scene-manager-aa8b9035.nomodule.js.map +0 -1
- package/lib/static/ConfiguratorKernel-a1daecbcb66a7ea2.wasm +0 -0
- package/lib/static/ConfiguratorKernel-c416f21e546a33f4.js +0 -1
- package/lib/static/ConfiguratorKernel-c416f21e546a33f4.js.map +0 -1
- package/lib/static/ConfiguratorKernelJs-2a6eb4d239731162.mem +0 -0
- package/lib/static/ConfiguratorKernelJs-fdb5588c5f9ad271.js +0 -143
- package/lib/static/RoomleCore-30311f70b9e1675b.js +0 -1
- package/lib/static/RoomleCore-30311f70b9e1675b.js.map +0 -1
- package/lib/static/RoomleCore-423543e6e81ce65d.wasm +0 -0
- package/lib/static/RoomleCoreJs-3ca6b11e7db6ad5c.js +0 -151
- package/lib/static/RoomleCoreJs-88d140ccbd2a0401.mem +0 -0
- package/lib/static/shaders-300ca3b7af102119.json +0 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
System.register(["./rapi-access-cf61a750.nomodule.js","./main-thread-to-worker-bb844d54.nomodule.js","./pixotron-ec9a72e0.nomodule.js"],(function(t,e){var i,s,n,r,o,a,h,_,d,c,p,m,l,u,g,E,w,y,C,v,R;return{setters:[function(t){i=t.t,s=t.u,n=t.a8,r=t.a9,o=t.v,a=t._,h=t.i,_=t.e,d=t.h,c=t.f,p=t.R,m=t.aa},function(t){l=t.i},function(t){u=t.d,g=t.i,E=t.D,w=t.C,y=t.b,C=t.B,v=t.f,R=t.c}],execute:function(){class f extends u{constructor(t,e,i){super(t,e,i),this._scale=1,this._state=0,this._size=20,this._center=new THREE.Vector3,this._raycaster=new THREE.Raycaster,this._lastPosition=new THREE.Vector2,this._zoomPosition=new THREE.Vector3,this._lastZoom=0,this._zoomSpeed=Math.pow(.95,2),this._cameraZoom=1,this._initCamera(i||new THREE.Vector3(0,10,0));let s=new THREE.PlaneGeometry(1e3,1e3);s.rotateX(-Math.PI/2),this._plane=new THREE.Mesh(s,new THREE.MeshStandardMaterial)}_getCamera(){return this._camera||this._initCamera(new THREE.Vector3(0,10,0)),this._camera}_initCamera(t){let{x:e,y:i}=this._domHelper.getClientDimensions(),s=e/i*this._size,n=this._size;this._camera=new THREE.OrthographicCamera(s/-2,s/2,n/2,n/-2,1,1e3),this._camera.position.copy(t),this._cameraPosition=t,this._camera.lookAt(new THREE.Vector3(0,0,0))}updateCamera(){let{x:t,y:e}=this._domHelper.getClientDimensions(),i=t/e*this._size,s=this._size;this._camera.left=i/-2,this._camera.right=i/2,this._camera.top=s/2,this._camera.bottom=s/-2,this._camera.updateProjectionMatrix()}_initInputListener(){this._inputListeners.push({key:3,fun:t=>{this._locked||(this._state=1,this._lastPosition.set(t.position.x,t.position.y),this.dispatchEvent(0))}}),this._inputListeners.push({key:6,fun:t=>{1!==this._state||this._locked||(this._move(new THREE.Vector2(t.position.x,t.position.y),t.type),this.dispatchEvent(1))}}),this._inputListeners.push({key:4,fun:t=>{1===this._state&&this.dispatchEvent(2),this._state=0}}),this._inputListeners.push({key:7,fun:t=>{t.event&&(t.event.stopPropagation(),t.event.preventDefault()),this._scale/=this._zoomSpeed,this._zoomTo(t.position,1),this._update()}}),this._inputListeners.push({key:8,fun:t=>{t.event&&(t.event.stopPropagation(),t.event.preventDefault()),this._scale*=this._zoomSpeed,this._zoomTo(t.position,-1),this._update()}})}_zoomTo(t,e){if(Date.now()-this._lastZoom>200){if(e>0||this._cameraZoom>=1){const e=this.getInputPosition(t);this._raycaster.setFromCamera(e,this._camera);const i=this._raycaster.intersectObject(this._plane);if(i.length<=0)return;const s=i.pop().point;this._zoomPosition.copy(s)}else this._zoomPosition.copy(this._center);this._cameraPosition.x=this._zoomPosition.x,this._cameraPosition.z=this._zoomPosition.z}this._lastZoom=Date.now()}_move(t,e){let i=new THREE.Vector2;i.subVectors(this._lastPosition,t),i.divideScalar(100),this._cameraPosition.x+=i.x*(2===e?1.1:1),this._cameraPosition.z+=i.y*(2===e?1.1:1),this._lastPosition.copy(t)}updateToBounds(t,e){let{x:i,y:s}=this._domHelper.getClientDimensions(),n=i/s;this._size=Math.max(t.x,t.z);let r=this._size,o=this._size;n>1?r=this._size*n:o=this._size*(s/i),this._center.copy(e),this._camera.left=r/-2,this._camera.right=r/2,this._camera.top=o/2,this._camera.bottom=o/-2,this._camera.zoom=1,this._camera.position.set(this._center.x,10,this._center.z),this._cameraPosition.copy(this._camera.position)}_update(t){this._scale=Math.min(this._scale,5),this._scale=Math.max(this._scale,.8),this._cameraZoom=this._scale,this._camera.updateProjectionMatrix()}animateCamera(t){return!(!super.animateCamera(t)&&Math.abs(this._cameraZoom-this._camera.zoom)<=.01||(this._camera.zoom=THREE.MathUtils.lerp(this._camera.zoom,this._cameraZoom,10*t),0))}}t("C",f);const L=Math.PI/4;class x extends u{constructor(t,e,s,n){super(t,e,s),this._state=0,this._rotationSpeed=1,this._keyMap=new Map,this.minPolarAngle=i(-60),this.maxPolarAngle=i(60),this._camera=n||new THREE.PerspectiveCamera,this._camera.fov=70,this._camera.aspect=this._width/this._height,this._camera.near=.1,this._camera.far=100,this._camera.updateProjectionMatrix(),this._camera.layers.set(3),this._camera.layers.enable(1),this._camera.layers.enable(2),this._camera.layers.enable(5),this._camera.layers.enable(4),s?this._camera.position.set(s.x,1.5,s.z):this._camera.position.set(0,1.5,0),this._cameraPosition=new THREE.Vector3,this._cameraPosition.copy(this._camera.position),this._cameraRotation=new THREE.Quaternion,this._pitch=0,this._yaw=0;let r=new THREE.Euler(-this._pitch,this._yaw,0,"ZYX");this._cameraRotation.setFromEuler(r),window.addEventListener("gamepadconnected",this._gamepadConnected.bind(this)),window.addEventListener("gamepaddisconnected",this._gamepadDisconnected.bind(this))}_gamepadConnected(t){this.startButtonPressListener()}_gamepadDisconnected(t){window.cancelAnimationFrame(this._listenerLoopAnimationFrame)}startButtonPressListener(){this._listenerLoopAnimationFrame=window.requestAnimationFrame(()=>{this.buttonPressListener()})}buttonPressListener(){let t=navigator.getGamepads()[0];this._checkRightStick(t),this._checkLeftStick(t),this._checkButtons(t),this._processKeyMap(this._keyMap,.001),this.startButtonPressListener()}_checkRightStick(t){let e=t.axes[2],i=t.axes[3];Math.abs(e)>.2&&(this._rotateHorizontal(.01*L*e),this._update(),this.dispatchEvent(1)),Math.abs(i)>.2&&(this._rotateVertical(.01*L*i),this._update(),this.dispatchEvent(1))}_checkLeftStick(t){let e=t.axes[0],i=t.axes[1];Math.abs(i)>.2?i<0?this._keyMap.set(87,!0):this._keyMap.set(83,!0):t.buttons&&t.buttons[12]&&t.buttons[12].pressed?this._keyMap.set(87,!0):t.buttons&&t.buttons[13]&&t.buttons[13].pressed?this._keyMap.set(83,!0):(this._keyMap.set(87,!1),this._keyMap.set(83,!1)),Math.abs(e)>.2?e<0?this._keyMap.set(65,!0):this._keyMap.set(68,!0):(this._keyMap.set(65,!1),this._keyMap.set(68,!1))}_checkButtons(t){t.buttons&&t.buttons[6]&&t.buttons[6].pressed?this._keyMap.set(16,!0):this._keyMap.set(16,!1),t.buttons&&t.buttons[14]&&t.buttons[14].pressed?(this._keyMap.set(37,!0),this.dispatchEvent(1)):this._keyMap.set(37,!1),t.buttons&&t.buttons[15]&&t.buttons[15].pressed?(this._keyMap.set(39,!0),this.dispatchEvent(1)):this._keyMap.set(39,!1)}animateCamera(t){let e=this._cameraPosition,i=this._cameraRotation,r=this.getCamera(),o=s(e,r.position),a=n(i,r.quaternion);if(!e||o&&a)return!1;let h=this.getCamera().position.clone(),_=Math.min(10*t,1);h.lerp(e,_),this.getCamera().position.copy(h);let d=this.getCamera().quaternion.clone(),c=Math.min(5*t,1);d.slerp(i,c),this.getCamera().setRotationFromQuaternion(d);let p=!1;return this._keyMap.forEach(t=>{t&&(p=!0)}),p&&this._processKeyMap(this._keyMap,t),!0}_getCamera(){return this._camera}_initInputListener(){window.addEventListener("keyup",this._onKeyChanged.bind(this),!1),window.addEventListener("keydown",this._onKeyChanged.bind(this),!1),this._inputListeners.push({key:3,fun:t=>{this._down(t)}}),this._inputListeners.push({key:6,fun:t=>{this._move(t)}}),this._inputListeners.push({key:4,fun:t=>{this._up(t)}})}_down(t){this._downPosition=t.position,this._position=t.position,this._state=1,2===t.type&&window.setTimeout(this._onLongDown.bind(this),350),2===t.type?this._rotationSpeed=.6:this._rotationSpeed=1}_move(t){this._position=t.position,1!==this._state||this._locked||this._orbit(new THREE.Vector2(t.position.x,t.position.y)),2!==this._state||this._locked||(this._orbit(new THREE.Vector2(t.position.x,t.position.y)),this._moveForward())}_up(t){1===this._state&&this.dispatchEvent(2),2===this._state&&this._keyMap.set(87,!1),this._state=0,this._orbitPosition=null}_onLongDown(){r(this._downPosition,this._position)<g&&1===this._state&&(this._state=2,this._orbit(new THREE.Vector2(this._position.x,this._position.y)),this._moveForward())}_update(t){let e=new THREE.Euler(-this._pitch,this._yaw,0,"ZYX");this._cameraRotation.setFromEuler(e)}updateCamera(){let{x:t,y:e}=this._domHelper.getClientDimensions();this._camera.aspect=t/e,this._camera.updateProjectionMatrix()}_onKeyChanged(t){this._keyMap.set(t.keyCode,"keydown"===t.type),this.dispatchEvent(6),this._processKeyMap(this._keyMap,.001)&&t.preventDefault()}_processKeyMap(t,e){e=Math.min(e,.1);let i=new THREE.Vector3(0,0,0),s=!1;return this._processUpDown(t,i,e),t.get(65)&&(i.x=-1*e),t.get(68)&&(i.x=1*e),t.get(37)&&(this._rotateHorizontal(-L*this._rotationSpeed*e),s=!0),t.get(39)&&(this._rotateHorizontal(L*this._rotationSpeed*e),s=!0),t.get(16)&&(i.x*=3,i.z*=3),!(0===i.x&&0===i.y&&0===i.z&&!s||(i.applyQuaternion(this.getCamera().quaternion),this._cameraPosition.add(new THREE.Vector3(i.x,0,i.z)),this._update(),0))}_processUpDown(t,e,i){(t.get(87)||t.get(38))&&(e.z=-1*i),(t.get(83)||t.get(40))&&(e.z=1*i)}_orbit(t){this._orbitPosition||(this._orbitPosition=new THREE.Vector2(t.x,t.y),this.dispatchEvent(0));let e=t.clone().sub(this._orbitPosition),i=this._domHelper.element instanceof Document?this._domHelper.element.body:this._domHelper.element;e.multiplyScalar(-1),this._rotateHorizontal(2*Math.PI*e.x/i.clientWidth*1),this._rotateVertical(2*Math.PI*e.y/i.clientHeight*1),o(this._orbitPosition,t)||this.dispatchEvent(1),this._orbitPosition.copy(t),this._update()}_moveForward(){this._keyMap.set(87,!0),this._processKeyMap(this._keyMap,.001)}_rotateVertical(t){let e=this._pitch+t;e>this.maxPolarAngle||e<this.minPolarAngle||(this._pitch=e,this._pitch<-Math.PI?this._pitch+=2*Math.PI:this._pitch>Math.PI&&(this._pitch-=2*Math.PI),this._saveYawAndPitch())}}t("a",x),t("S",(()=>{class t{constructor(t,e,i,s,n){this._maxAnisotropy=1,this._clock=new THREE.Clock,this._delta=0,this._renderListener=null,this._stopRendering=!1,this._forceRender=!1,this._updateShadowsAndAO=!0,this._lastChange=Date.now(),this._running=!1,this._onAfterRender=()=>{},this._creator_=t,this._canvasID=i,this.createCameraControl(s),this._addCameraControlListener(),this._setupScene(e,n),document.addEventListener("visibilitychange",this._tabVisible.bind(this)),this._renderListener=()=>{this._requestRender()},this._getInputManager().addEventListener(7,this._renderListener,this),this._getInputManager().addEventListener(8,this._renderListener,this),this._lifeCycleManager.addEventListener(this)}onBeforeRender(){}_changeCameraControl(t){this._cameraControl&&this._cameraControl.cleanUp(),t instanceof x&&(this._getInputManager().removeEventListener(7,this._renderListener),this._getInputManager().removeEventListener(8,this._renderListener)),this._cameraControl instanceof x&&(this._getInputManager().addEventListener(7,this._renderListener,this),this._getInputManager().addEventListener(8,this._renderListener,this)),this._cameraControl=t,this.cameraControlChanged()}cameraControlChanged(){}_addCameraControlListener(){this._cameraControl.addEventListener(0,this._requestRender,this),this._cameraControl.addEventListener(1,this._requestRender,this),this._cameraControl.addEventListener(2,this._requestRender,this),this._cameraControl.addEventListener(6,this._requestRender,this)}_renderEverything(){this._pixotron&&(this._forceRender=!0,this._updateShadowsAndAO=!0),this._requestRender()}_renderWithoutShadowsAndAO(){this._pixotron&&(this._forceRender=!0,this._updateShadowsAndAO=!1),this._requestRender()}_requestRender(){if(!this._renderer)return;const t=()=>{this._delta=this._clock.getDelta(),this._animateCamera(),this._cameraControl.getCamera().layers.mask=65535,this._renderLoopFunction&&(this._renderLoopFunction(),this._renderLoopFunction=null),this.onBeforeRender(),this._statsHelper&&this._statsHelper.updateRenderInfo(this._renderer.info),this._pixotron?(this._pixotron.autoShadowsClear=this._updateShadowsAndAO,this._pixotron.autoSAOClear=this._updateShadowsAndAO,this._forceRender&&(this._pixotron.needsUpdate=!0),this._pixotron.render(this._renderer,this._scene,this._cameraControl.getCamera(),this._renderTarget),this._forceRender=!1,this._updateShadowsAndAO=!0,this._pixotron.blit()):(this._renderer.clear(),this._renderer.render(this._scene,this._cameraControl.getCamera()),this._renderer.clearDepth()),this._onAfterRender(),window.TWEEN&&TWEEN.update(),this._lastChange+3e3<Date.now()||this._stopRendering?this._running=!1:(this._running=!0,requestAnimationFrame(t))};this._lastChange=Date.now(),this._running||this._stopRendering||(this._running=!0,requestAnimationFrame(t))}_animateCamera(){this._cameraControl&&(this._cameraControl.animateCamera(this._delta)||!this._pixotron||this._forceRender?(this._lightSetting instanceof E&&this._cameraControl.getCamera()instanceof THREE.PerspectiveCamera&&this._lightSetting.update(this._cameraControl.getCamera(),this._cameraControl.getTargetPosition()),this._pixotron&&(this._pixotron.needsUpdate=!0)):(this._pixotron.autoShadowsClear=!1,this._pixotron.autoSAOClear=!1)),this._environment&&this._environment.needsCamera()&&this._cameraControl instanceof w&&this._environment.updateCamera(this._cameraControl.getCamera())}_setupScene(t,e){const{x:i,y:s}=this._domHelper.getClientDimensions();this._scene=new THREE.Scene,(e=e||!1)||(this._scene.background=new THREE.Color(this._initData.colors.DEFAULT_BACKGROUND)),THREE.Math={DEG2RAD:THREE.MathUtils.DEG2RAD};const n={format:THREE.RGBAFormat,minFilter:THREE.NearestFilter,magFilter:THREE.NearestFilter},r=THREE.sRGBEncoding,o=Math.floor(i*window.devicePixelRatio),a=Math.floor(s*window.devicePixelRatio);l()?this._renderTarget=new THREE.WebGLMultisampleRenderTarget(o,a,n):this._renderTarget=new THREE.WebGLRenderTarget(o,a,n),this._renderTarget.texture.encoding=r,this._renderer=new THREE.WebGLRenderer({antialias:!0,alpha:!0}),this._renderer.setPixelRatio(window.devicePixelRatio),this._renderer.setSize(i,s),this._renderer.outputEncoding=THREE.sRGBEncoding,this._renderer.gammaFactor=2.2,this._renderer.autoClear=!1,this._renderer.shadowMap.enabled=!0,this._renderer.shadowMap.type=THREE.PCFSoftShadowMap,this._maxAnisotropy=this._renderer.capabilities.getMaxAnisotropy(),this._renderer.domElement.classList.add(this._canvasID),this._domHelper.element.appendChild(this._renderer.domElement),this._getInputManager().addEvents(this._renderer.domElement),this._environmentLoader.setRendererAndScene(this._renderer,this._scene),this._environmentLoader.registerEnvironmentChangedCallback(()=>this._requestRender()),this._requestRender(),window.addEventListener("resize",this,!1),window.addEventListener("keydown",this,!1),window.addEventListener("keyup",this,!1),this.sceneChanged()}_tabVisible(t){this.updateCamera(),this._renderEverything()}setupScene(t,e){this._setupScene(t,e)}updateCamera(){const{x:t,y:e}=this._domHelper.getClientDimensions();this._renderer.setSize(t,e);const i=this._renderer.getPixelRatio();if(this._renderTarget){const s=Math.floor(t*i),n=Math.floor(e*i);this._renderTarget.setSize(s,n)}if(this._pixotron){this._pixotron.autoShadowsClear=!0,this._pixotron.autoSAOClear=!0,this._forceRender=!0;try{this._pixotron.setSize(t,e)}catch(t){console.warn(t)}}this._cameraControl.updateCamera(),this._requestRender()}_onWindowResize(){const t=this._getInputManager();t&&t.updateSize(),this.updateCamera(),this._requestRender()}_isPartOfScene(t){return"Object3D"===t.type||"Mesh"===t.type||"GLB"===t.type||"GLTF"===t.type||"Group"===t.type}cleanUp(){this._getInputManager().removeEventListener(7,this._renderListener),this._getInputManager().removeEventListener(8,this._renderListener),this._cameraControl&&this._cameraControl.cleanUp()}clearScene(){let t=[];this._scene.children.forEach(e=>{this._isPartOfScene(e)&&t.push(e)}),t.forEach(t=>{_(t),this._scene.remove(t)}),this._renderer.renderLists.dispose()}enableHD(){this._pixotron=new window.PIXOTRON.Pixotron(this.getPixotronParams()),this._pixotronUtil=new y(this._pixotron),this._environment instanceof C&&(this._environment.setPixotron(this._pixotron,this._renderer,this._cameraControl.getCamera(),this.getBakedShadowParams()),this._environment.setLoadedCallback(()=>setTimeout(()=>this._requestRender(),500))),this._requestRender()}_loadGLTF(t,e,i,s,n,r,o){return new Promise((a,h)=>{this._staticItemLoader.loadGLTF(t,e,i,s,n,r,null,o).then(t=>{this._setCamera("GLTF",t),a(t)},h)})}_loadGLB(t,e,i,s,n,r,o,a){return new Promise((h,_)=>{this._staticItemLoader.loadGLB(t,e,i,s,n,r,o,a).then(t=>{this._setCamera("GLB",t),h(t)},_)})}_setCamera(t,e){if(!e)return void console.warn("could not set camera for gltf",e);const i=new THREE.Box3;i.setFromObject(e),"GLB"===t?this._cameraControl instanceof w&&this._cameraControl.updateToBounds(i,!1):"GLTF"===t&&(this._cameraControl instanceof w&&this._cameraControl.updateAndReset(i.getSize(new THREE.Vector3),i.getCenter(new THREE.Vector3),-15,70,5,!1),this._cameraControl instanceof f&&this._cameraControl.updateToBounds(i.getSize(new THREE.Vector3),i.getCenter(new THREE.Vector3))),this.updateCamera()}showGUI(){if(this._initData.disableDebugGUI)return;const t=document.createElement("style");t.innerText=".dg.main{position:absolute;z-index:100;top:0;left:0;}",document.head.appendChild(t),this._scriptLoader.fetch(v,{id:"dat-gui-js"}).then(()=>{let t=d(!1);t&&(this._domHelper.element.appendChild(t.domElement),this._guiLoaded())},t=>console.error(t))}_guiLoaded(){let t=d();t&&(this._lightSetting&&this._lightSetting.showGUI(),this._pixotron&&this._pixotronUtil.showGUI(),this._environment&&this._environment.showGUI(),this._addGUIListener(t))}_addGUIListener(t){let e=t.__folders;Object.keys(e).forEach(t=>{let i=e[t];i.__folders&&Object.keys(i.__folders).forEach(t=>{let i=e[t];this._addGUIListener(i)}),i.__controllers&&i.__controllers.forEach(t=>{t.onFinishChange(()=>{this._guiParamChanged()})})})}_guiParamChanged(){this._requestRender()}showStats(){e.import("./stats-helper-7dc63459.nomodule.js").then(t=>this._statsHelper=new t.default)}_onKeyDown(t){}_onKeyUp(t){}pause(){this._getInputManager().removeEvents(this._renderer.domElement),window.removeEventListener("resize",this,!1),window.removeEventListener("keydown",this,!1),window.removeEventListener("keyup",this,!1)}resume(){this.updateCamera(),this._renderer.domElement.classList.add(this._canvasID),this._domHelper.element.appendChild(this._renderer.domElement),this._getInputManager().addEvents(this._renderer.domElement),window.addEventListener("resize",this,!1),window.addEventListener("keydown",this,!1),window.addEventListener("keyup",this,!1),this._renderEverything()}destroy(){this.pause(),this.cleanUp()}handleEvent(t){switch(t.type){case"resize":this._onWindowResize();break;case"keydown":this._onKeyDown(t);break;case"keyup":this._onKeyUp(t)}}loadSceneSettings(t){let e,i;return e=t.environment?new Promise(e=>{(new R).load(this._scene,this._renderer.domElement,this._environment,t).then(t=>{this._setEnvironment(t),e()})}):Promise.resolve(),t.lights?(this._lightSetting=new E(this._scene,this._lightSetting),i=this._lightSetting.loadFromObject(t)):i=Promise.resolve(),new Promise((t,s)=>{Promise.all([e,i]).then(()=>{this._requestRender(),t()},s)})}_setEnvironment(t){this._environment=t,this._pixotron&&this._environment instanceof C&&(this._environment.setPixotron(this._pixotron,this._renderer,this._cameraControl.getCamera(),this.getBakedShadowParams()),this._environment.setLoadedCallback(()=>setTimeout(()=>this._requestRender(),500)))}loadQualitySetting(t){this._pixotron&&(new m).set(this._pixotron,t)}async loadDynamicLightSetting(t){this._lightSetting=new E(this._scene,this._lightSetting);let e=!1;if(t.url)await this._lightSetting.loadFromURL(t.url),e=!0;else if(t.json)await this._lightSetting.loadFromJSON(t.json),e=!0;else if(t.object)await this._lightSetting.loadFromObject(t.object),e=!0;else if(t.ls){const i=c.createDynamicLightSettingSource(null,t.ls);await this._lightSetting.loadFromURL(i.url),e=!0}if(!e)throw new Error("No dynamic light setting source set");this._requestRender()}getScene(){return this._scene}updateScene(){this._updateBounds(this.getBounds()),this._renderEverything()}_updateBounds(t){if(t){if(this.updateEnvironment(t),this._lightSetting&&this._lightSetting.needsBounds()&&this._lightSetting.updateBounds(t),this._pixotronUtil){const e=new THREE.Sphere;t.getBoundingSphere(e),this._pixotronUtil.updateBounds(e)}this._requestRender()}}setCameraOffset(t){const e=this._cameraControl.getCamera();e.offset?(e.offset=t,this._requestRender()):console.warn("Cannot set offset, current camera does not support it")}getCameraOffset(){const t=this._cameraControl.getCamera();return t.offset?JSON.parse(JSON.stringify(t.offset)):{left:0,top:0,right:1,bottom:1}}getPerspectiveOffsetCamera(){const t=this._domHelper.getClientDimensions(),e=t.x,i=t.y;return p().createCamera(30,e/i,.1,20)}updateEnvironment(t,e=!1){if(t&&this._environment&&this._environment.needsBounds()){const i=t.getSize(new THREE.Vector3);i.x+i.y+i.z!==0&&this._environment.updateBounds(t.getSize(new THREE.Vector3),e)}this._environment instanceof C&&this._environment.update()}}return a([h],t.prototype,"_domHelper",void 0),a([h],t.prototype,"_scriptLoader",void 0),a([h],t.prototype,"_lifeCycleManager",void 0),a([h],t.prototype,"_staticItemLoader",void 0),a([h],t.prototype,"_environmentLoader",void 0),a([h],t.prototype,"_initData",void 0),t})())}}}));
|
|
2
|
-
//# sourceMappingURL=scene-manager-
|
|
1
|
+
System.register(["./rapi-access-65dbda00.nomodule.js","./main-thread-to-worker-4fc95d50.nomodule.js","./pixotron-4065f090.nomodule.js"],(function(t,e){var i,s,n,r,o,a,h,_,d,c,p,m,l,u,g,E,w,y,C,v,R;return{setters:[function(t){i=t.t,s=t.u,n=t.a8,r=t.a9,o=t.v,a=t._,h=t.i,_=t.e,d=t.h,c=t.f,p=t.R,m=t.aa},function(t){l=t.i},function(t){u=t.d,g=t.i,E=t.D,w=t.C,y=t.b,C=t.B,v=t.f,R=t.c}],execute:function(){class f extends u{constructor(t,e,i){super(t,e,i),this._scale=1,this._state=0,this._size=20,this._center=new THREE.Vector3,this._raycaster=new THREE.Raycaster,this._lastPosition=new THREE.Vector2,this._zoomPosition=new THREE.Vector3,this._lastZoom=0,this._zoomSpeed=Math.pow(.95,2),this._cameraZoom=1,this._initCamera(i||new THREE.Vector3(0,10,0));let s=new THREE.PlaneGeometry(1e3,1e3);s.rotateX(-Math.PI/2),this._plane=new THREE.Mesh(s,new THREE.MeshStandardMaterial)}_getCamera(){return this._camera||this._initCamera(new THREE.Vector3(0,10,0)),this._camera}_initCamera(t){let{x:e,y:i}=this._domHelper.getClientDimensions(),s=e/i*this._size,n=this._size;this._camera=new THREE.OrthographicCamera(s/-2,s/2,n/2,n/-2,1,1e3),this._camera.position.copy(t),this._cameraPosition=t,this._camera.lookAt(new THREE.Vector3(0,0,0))}updateCamera(){let{x:t,y:e}=this._domHelper.getClientDimensions(),i=t/e*this._size,s=this._size;this._camera.left=i/-2,this._camera.right=i/2,this._camera.top=s/2,this._camera.bottom=s/-2,this._camera.updateProjectionMatrix()}_initInputListener(){this._inputListeners.push({key:3,fun:t=>{this._locked||(this._state=1,this._lastPosition.set(t.position.x,t.position.y),this.dispatchEvent(0))}}),this._inputListeners.push({key:6,fun:t=>{1!==this._state||this._locked||(this._move(new THREE.Vector2(t.position.x,t.position.y),t.type),this.dispatchEvent(1))}}),this._inputListeners.push({key:4,fun:t=>{1===this._state&&this.dispatchEvent(2),this._state=0}}),this._inputListeners.push({key:7,fun:t=>{t.event&&(t.event.stopPropagation(),t.event.preventDefault()),this._scale/=this._zoomSpeed,this._zoomTo(t.position,1),this._update()}}),this._inputListeners.push({key:8,fun:t=>{t.event&&(t.event.stopPropagation(),t.event.preventDefault()),this._scale*=this._zoomSpeed,this._zoomTo(t.position,-1),this._update()}})}_zoomTo(t,e){if(Date.now()-this._lastZoom>200){if(e>0||this._cameraZoom>=1){const e=this.getInputPosition(t);this._raycaster.setFromCamera(e,this._camera);const i=this._raycaster.intersectObject(this._plane);if(i.length<=0)return;const s=i.pop().point;this._zoomPosition.copy(s)}else this._zoomPosition.copy(this._center);this._cameraPosition.x=this._zoomPosition.x,this._cameraPosition.z=this._zoomPosition.z}this._lastZoom=Date.now()}_move(t,e){let i=new THREE.Vector2;i.subVectors(this._lastPosition,t),i.divideScalar(100),this._cameraPosition.x+=i.x*(2===e?1.1:1),this._cameraPosition.z+=i.y*(2===e?1.1:1),this._lastPosition.copy(t)}updateToBounds(t,e){let{x:i,y:s}=this._domHelper.getClientDimensions(),n=i/s;this._size=Math.max(t.x,t.z);let r=this._size,o=this._size;n>1?r=this._size*n:o=this._size*(s/i),this._center.copy(e),this._camera.left=r/-2,this._camera.right=r/2,this._camera.top=o/2,this._camera.bottom=o/-2,this._camera.zoom=1,this._camera.position.set(this._center.x,10,this._center.z),this._cameraPosition.copy(this._camera.position)}_update(t){this._scale=Math.min(this._scale,5),this._scale=Math.max(this._scale,.8),this._cameraZoom=this._scale,this._camera.updateProjectionMatrix()}animateCamera(t){return!(!super.animateCamera(t)&&Math.abs(this._cameraZoom-this._camera.zoom)<=.01||(this._camera.zoom=THREE.MathUtils.lerp(this._camera.zoom,this._cameraZoom,10*t),0))}}t("C",f);const L=Math.PI/4;class x extends u{constructor(t,e,s,n){super(t,e,s),this._state=0,this._rotationSpeed=1,this._keyMap=new Map,this.minPolarAngle=i(-60),this.maxPolarAngle=i(60),this._camera=n||new THREE.PerspectiveCamera,this._camera.fov=70,this._camera.aspect=this._width/this._height,this._camera.near=.1,this._camera.far=100,this._camera.updateProjectionMatrix(),this._camera.layers.set(3),this._camera.layers.enable(1),this._camera.layers.enable(2),this._camera.layers.enable(5),this._camera.layers.enable(4),s?this._camera.position.set(s.x,1.5,s.z):this._camera.position.set(0,1.5,0),this._cameraPosition=new THREE.Vector3,this._cameraPosition.copy(this._camera.position),this._cameraRotation=new THREE.Quaternion,this._pitch=0,this._yaw=0;let r=new THREE.Euler(-this._pitch,this._yaw,0,"ZYX");this._cameraRotation.setFromEuler(r),window.addEventListener("gamepadconnected",this._gamepadConnected.bind(this)),window.addEventListener("gamepaddisconnected",this._gamepadDisconnected.bind(this))}_gamepadConnected(t){this.startButtonPressListener()}_gamepadDisconnected(t){window.cancelAnimationFrame(this._listenerLoopAnimationFrame)}startButtonPressListener(){this._listenerLoopAnimationFrame=window.requestAnimationFrame(()=>{this.buttonPressListener()})}buttonPressListener(){let t=navigator.getGamepads()[0];this._checkRightStick(t),this._checkLeftStick(t),this._checkButtons(t),this._processKeyMap(this._keyMap,.001),this.startButtonPressListener()}_checkRightStick(t){let e=t.axes[2],i=t.axes[3];Math.abs(e)>.2&&(this._rotateHorizontal(.01*L*e),this._update(),this.dispatchEvent(1)),Math.abs(i)>.2&&(this._rotateVertical(.01*L*i),this._update(),this.dispatchEvent(1))}_checkLeftStick(t){let e=t.axes[0],i=t.axes[1];Math.abs(i)>.2?i<0?this._keyMap.set(87,!0):this._keyMap.set(83,!0):t.buttons&&t.buttons[12]&&t.buttons[12].pressed?this._keyMap.set(87,!0):t.buttons&&t.buttons[13]&&t.buttons[13].pressed?this._keyMap.set(83,!0):(this._keyMap.set(87,!1),this._keyMap.set(83,!1)),Math.abs(e)>.2?e<0?this._keyMap.set(65,!0):this._keyMap.set(68,!0):(this._keyMap.set(65,!1),this._keyMap.set(68,!1))}_checkButtons(t){t.buttons&&t.buttons[6]&&t.buttons[6].pressed?this._keyMap.set(16,!0):this._keyMap.set(16,!1),t.buttons&&t.buttons[14]&&t.buttons[14].pressed?(this._keyMap.set(37,!0),this.dispatchEvent(1)):this._keyMap.set(37,!1),t.buttons&&t.buttons[15]&&t.buttons[15].pressed?(this._keyMap.set(39,!0),this.dispatchEvent(1)):this._keyMap.set(39,!1)}animateCamera(t){let e=this._cameraPosition,i=this._cameraRotation,r=this.getCamera(),o=s(e,r.position),a=n(i,r.quaternion);if(!e||o&&a)return!1;let h=this.getCamera().position.clone(),_=Math.min(10*t,1);h.lerp(e,_),this.getCamera().position.copy(h);let d=this.getCamera().quaternion.clone(),c=Math.min(5*t,1);d.slerp(i,c),this.getCamera().setRotationFromQuaternion(d);let p=!1;return this._keyMap.forEach(t=>{t&&(p=!0)}),p&&this._processKeyMap(this._keyMap,t),!0}_getCamera(){return this._camera}_initInputListener(){window.addEventListener("keyup",this._onKeyChanged.bind(this),!1),window.addEventListener("keydown",this._onKeyChanged.bind(this),!1),this._inputListeners.push({key:3,fun:t=>{this._down(t)}}),this._inputListeners.push({key:6,fun:t=>{this._move(t)}}),this._inputListeners.push({key:4,fun:t=>{this._up(t)}})}_down(t){this._downPosition=t.position,this._position=t.position,this._state=1,2===t.type&&window.setTimeout(this._onLongDown.bind(this),350),2===t.type?this._rotationSpeed=.6:this._rotationSpeed=1}_move(t){this._position=t.position,1!==this._state||this._locked||this._orbit(new THREE.Vector2(t.position.x,t.position.y)),2!==this._state||this._locked||(this._orbit(new THREE.Vector2(t.position.x,t.position.y)),this._moveForward())}_up(t){1===this._state&&this.dispatchEvent(2),2===this._state&&this._keyMap.set(87,!1),this._state=0,this._orbitPosition=null}_onLongDown(){r(this._downPosition,this._position)<g&&1===this._state&&(this._state=2,this._orbit(new THREE.Vector2(this._position.x,this._position.y)),this._moveForward())}_update(t){let e=new THREE.Euler(-this._pitch,this._yaw,0,"ZYX");this._cameraRotation.setFromEuler(e)}updateCamera(){let{x:t,y:e}=this._domHelper.getClientDimensions();this._camera.aspect=t/e,this._camera.updateProjectionMatrix()}_onKeyChanged(t){this._keyMap.set(t.keyCode,"keydown"===t.type),this.dispatchEvent(6),this._processKeyMap(this._keyMap,.001)&&t.preventDefault()}_processKeyMap(t,e){e=Math.min(e,.1);let i=new THREE.Vector3(0,0,0),s=!1;return this._processUpDown(t,i,e),t.get(65)&&(i.x=-1*e),t.get(68)&&(i.x=1*e),t.get(37)&&(this._rotateHorizontal(-L*this._rotationSpeed*e),s=!0),t.get(39)&&(this._rotateHorizontal(L*this._rotationSpeed*e),s=!0),t.get(16)&&(i.x*=3,i.z*=3),!(0===i.x&&0===i.y&&0===i.z&&!s||(i.applyQuaternion(this.getCamera().quaternion),this._cameraPosition.add(new THREE.Vector3(i.x,0,i.z)),this._update(),0))}_processUpDown(t,e,i){(t.get(87)||t.get(38))&&(e.z=-1*i),(t.get(83)||t.get(40))&&(e.z=1*i)}_orbit(t){this._orbitPosition||(this._orbitPosition=new THREE.Vector2(t.x,t.y),this.dispatchEvent(0));let e=t.clone().sub(this._orbitPosition),i=this._domHelper.element instanceof Document?this._domHelper.element.body:this._domHelper.element;e.multiplyScalar(-1),this._rotateHorizontal(2*Math.PI*e.x/i.clientWidth*1),this._rotateVertical(2*Math.PI*e.y/i.clientHeight*1),o(this._orbitPosition,t)||this.dispatchEvent(1),this._orbitPosition.copy(t),this._update()}_moveForward(){this._keyMap.set(87,!0),this._processKeyMap(this._keyMap,.001)}_rotateVertical(t){let e=this._pitch+t;e>this.maxPolarAngle||e<this.minPolarAngle||(this._pitch=e,this._pitch<-Math.PI?this._pitch+=2*Math.PI:this._pitch>Math.PI&&(this._pitch-=2*Math.PI),this._saveYawAndPitch())}}t("a",x),t("S",(()=>{class t{constructor(t,e,i,s,n){this._maxAnisotropy=1,this._clock=new THREE.Clock,this._delta=0,this._renderListener=null,this._stopRendering=!1,this._forceRender=!1,this._updateShadowsAndAO=!0,this._lastChange=Date.now(),this._running=!1,this._onAfterRender=()=>{},this._creator_=t,this._canvasID=i,this.createCameraControl(s),this._addCameraControlListener(),this._setupScene(e,n),document.addEventListener("visibilitychange",this._tabVisible.bind(this)),this._renderListener=()=>{this._requestRender()},this._getInputManager().addEventListener(7,this._renderListener,this),this._getInputManager().addEventListener(8,this._renderListener,this),this._lifeCycleManager.addEventListener(this)}onBeforeRender(){}_changeCameraControl(t){this._cameraControl&&this._cameraControl.cleanUp(),t instanceof x&&(this._getInputManager().removeEventListener(7,this._renderListener),this._getInputManager().removeEventListener(8,this._renderListener)),this._cameraControl instanceof x&&(this._getInputManager().addEventListener(7,this._renderListener,this),this._getInputManager().addEventListener(8,this._renderListener,this)),this._cameraControl=t,this.cameraControlChanged()}cameraControlChanged(){}_addCameraControlListener(){this._cameraControl.addEventListener(0,this._requestRender,this),this._cameraControl.addEventListener(1,this._requestRender,this),this._cameraControl.addEventListener(2,this._requestRender,this),this._cameraControl.addEventListener(6,this._requestRender,this)}_renderEverything(){this._pixotron&&(this._forceRender=!0,this._updateShadowsAndAO=!0),this._requestRender()}_renderWithoutShadowsAndAO(){this._pixotron&&(this._forceRender=!0,this._updateShadowsAndAO=!1),this._requestRender()}_requestRender(){if(!this._renderer)return;const t=()=>{this._delta=this._clock.getDelta(),this._animateCamera(),this._cameraControl.getCamera().layers.mask=65535,this._renderLoopFunction&&(this._renderLoopFunction(),this._renderLoopFunction=null),this.onBeforeRender(),this._statsHelper&&this._statsHelper.updateRenderInfo(this._renderer.info),this._pixotron?(this._pixotron.autoShadowsClear=this._updateShadowsAndAO,this._pixotron.autoSAOClear=this._updateShadowsAndAO,this._forceRender&&(this._pixotron.needsUpdate=!0),this._pixotron.render(this._renderer,this._scene,this._cameraControl.getCamera(),this._renderTarget),this._forceRender=!1,this._updateShadowsAndAO=!0,this._pixotron.blit()):(this._renderer.clear(),this._renderer.render(this._scene,this._cameraControl.getCamera()),this._renderer.clearDepth()),this._onAfterRender(),window.TWEEN&&TWEEN.update(),this._lastChange+3e3<Date.now()||this._stopRendering?this._running=!1:(this._running=!0,requestAnimationFrame(t))};this._lastChange=Date.now(),this._running||this._stopRendering||(this._running=!0,requestAnimationFrame(t))}_animateCamera(){this._cameraControl&&(this._cameraControl.animateCamera(this._delta)||!this._pixotron||this._forceRender?(this._lightSetting instanceof E&&this._cameraControl.getCamera()instanceof THREE.PerspectiveCamera&&this._lightSetting.update(this._cameraControl.getCamera(),this._cameraControl.getTargetPosition()),this._pixotron&&(this._pixotron.needsUpdate=!0)):(this._pixotron.autoShadowsClear=!1,this._pixotron.autoSAOClear=!1)),this._environment&&this._environment.needsCamera()&&this._cameraControl instanceof w&&this._environment.updateCamera(this._cameraControl.getCamera())}_setupScene(t,e){const{x:i,y:s}=this._domHelper.getClientDimensions();this._scene=new THREE.Scene,(e=e||!1)||(this._scene.background=new THREE.Color(this._initData.colors.DEFAULT_BACKGROUND)),THREE.Math={DEG2RAD:THREE.MathUtils.DEG2RAD};const n={format:THREE.RGBAFormat,minFilter:THREE.NearestFilter,magFilter:THREE.NearestFilter},r=THREE.sRGBEncoding,o=Math.floor(i*window.devicePixelRatio),a=Math.floor(s*window.devicePixelRatio);l()?this._renderTarget=new THREE.WebGLMultisampleRenderTarget(o,a,n):this._renderTarget=new THREE.WebGLRenderTarget(o,a,n),this._renderTarget.texture.encoding=r,this._renderer=new THREE.WebGLRenderer({antialias:!0,alpha:!0}),this._renderer.setPixelRatio(window.devicePixelRatio),this._renderer.setSize(i,s),this._renderer.outputEncoding=THREE.sRGBEncoding,this._renderer.gammaFactor=2.2,this._renderer.autoClear=!1,this._renderer.shadowMap.enabled=!0,this._renderer.shadowMap.type=THREE.PCFSoftShadowMap,this._maxAnisotropy=this._renderer.capabilities.getMaxAnisotropy(),this._renderer.domElement.classList.add(this._canvasID),this._domHelper.element.appendChild(this._renderer.domElement),this._getInputManager().addEvents(this._renderer.domElement),this._environmentLoader.setRendererAndScene(this._renderer,this._scene),this._environmentLoader.registerEnvironmentChangedCallback(()=>this._requestRender()),this._requestRender(),window.addEventListener("resize",this,!1),window.addEventListener("keydown",this,!1),window.addEventListener("keyup",this,!1),this.sceneChanged()}_tabVisible(t){this.updateCamera(),this._renderEverything()}setupScene(t,e){this._setupScene(t,e)}updateCamera(){const{x:t,y:e}=this._domHelper.getClientDimensions();this._renderer.setSize(t,e);const i=this._renderer.getPixelRatio();if(this._renderTarget){const s=Math.floor(t*i),n=Math.floor(e*i);this._renderTarget.setSize(s,n)}if(this._pixotron){this._pixotron.autoShadowsClear=!0,this._pixotron.autoSAOClear=!0,this._forceRender=!0;try{this._pixotron.setSize(t,e)}catch(t){console.warn(t)}}this._cameraControl.updateCamera(),this._requestRender()}_onWindowResize(){const t=this._getInputManager();t&&t.updateSize(),this.updateCamera(),this._requestRender()}_isPartOfScene(t){return"Object3D"===t.type||"Mesh"===t.type||"GLB"===t.type||"GLTF"===t.type||"Group"===t.type}cleanUp(){this._getInputManager().removeEventListener(7,this._renderListener),this._getInputManager().removeEventListener(8,this._renderListener),this._cameraControl&&this._cameraControl.cleanUp()}clearScene(){let t=[];this._scene.children.forEach(e=>{this._isPartOfScene(e)&&t.push(e)}),t.forEach(t=>{_(t),this._scene.remove(t)}),this._renderer.renderLists.dispose()}enableHD(){this._pixotron=new window.PIXOTRON.Pixotron(this.getPixotronParams()),this._pixotronUtil=new y(this._pixotron),this._environment instanceof C&&(this._environment.setPixotron(this._pixotron,this._renderer,this._cameraControl.getCamera(),this.getBakedShadowParams()),this._environment.setLoadedCallback(()=>setTimeout(()=>this._requestRender(),500))),this._requestRender()}_loadGLTF(t,e,i,s,n,r,o){return new Promise((a,h)=>{this._staticItemLoader.loadGLTF(t,e,i,s,n,r,null,o).then(t=>{this._setCamera("GLTF",t),a(t)},h)})}_loadGLB(t,e,i,s,n,r,o,a){return new Promise((h,_)=>{this._staticItemLoader.loadGLB(t,e,i,s,n,r,o,a).then(t=>{this._setCamera("GLB",t),h(t)},_)})}_setCamera(t,e){if(!e)return void console.warn("could not set camera for gltf",e);const i=new THREE.Box3;i.setFromObject(e),"GLB"===t?this._cameraControl instanceof w&&this._cameraControl.updateToBounds(i,!1):"GLTF"===t&&(this._cameraControl instanceof w&&this._cameraControl.updateAndReset(i.getSize(new THREE.Vector3),i.getCenter(new THREE.Vector3),-15,70,5,!1),this._cameraControl instanceof f&&this._cameraControl.updateToBounds(i.getSize(new THREE.Vector3),i.getCenter(new THREE.Vector3))),this.updateCamera()}showGUI(){if(this._initData.disableDebugGUI)return;const t=document.createElement("style");t.innerText=".dg.main{position:absolute;z-index:100;top:0;left:0;}",document.head.appendChild(t),this._scriptLoader.fetch(v,{id:"dat-gui-js"}).then(()=>{let t=d(!1);t&&(this._domHelper.element.appendChild(t.domElement),this._guiLoaded())},t=>console.error(t))}_guiLoaded(){let t=d();t&&(this._lightSetting&&this._lightSetting.showGUI(),this._pixotron&&this._pixotronUtil.showGUI(),this._environment&&this._environment.showGUI(),this._addGUIListener(t))}_addGUIListener(t){let e=t.__folders;Object.keys(e).forEach(t=>{let i=e[t];i.__folders&&Object.keys(i.__folders).forEach(t=>{let i=e[t];this._addGUIListener(i)}),i.__controllers&&i.__controllers.forEach(t=>{t.onFinishChange(()=>{this._guiParamChanged()})})})}_guiParamChanged(){this._requestRender()}showStats(){e.import("./stats-helper-9b173f93.nomodule.js").then(t=>this._statsHelper=new t.default)}_onKeyDown(t){}_onKeyUp(t){}pause(){this._getInputManager().removeEvents(this._renderer.domElement),window.removeEventListener("resize",this,!1),window.removeEventListener("keydown",this,!1),window.removeEventListener("keyup",this,!1)}resume(){this.updateCamera(),this._renderer.domElement.classList.add(this._canvasID),this._domHelper.element.appendChild(this._renderer.domElement),this._getInputManager().addEvents(this._renderer.domElement),window.addEventListener("resize",this,!1),window.addEventListener("keydown",this,!1),window.addEventListener("keyup",this,!1),this._renderEverything()}destroy(){this.pause(),this.cleanUp()}handleEvent(t){switch(t.type){case"resize":this._onWindowResize();break;case"keydown":this._onKeyDown(t);break;case"keyup":this._onKeyUp(t)}}loadSceneSettings(t){let e,i;return e=t.environment?new Promise(e=>{(new R).load(this._scene,this._renderer.domElement,this._environment,t).then(t=>{this._setEnvironment(t),e()})}):Promise.resolve(),t.lights?(this._lightSetting=new E(this._scene,this._lightSetting),i=this._lightSetting.loadFromObject(t)):i=Promise.resolve(),new Promise((t,s)=>{Promise.all([e,i]).then(()=>{this._requestRender(),t()},s)})}_setEnvironment(t){this._environment=t,this._pixotron&&this._environment instanceof C&&(this._environment.setPixotron(this._pixotron,this._renderer,this._cameraControl.getCamera(),this.getBakedShadowParams()),this._environment.setLoadedCallback(()=>setTimeout(()=>this._requestRender(),500)))}loadQualitySetting(t){this._pixotron&&(new m).set(this._pixotron,t)}async loadDynamicLightSetting(t){this._lightSetting=new E(this._scene,this._lightSetting);let e=!1;if(t.url)await this._lightSetting.loadFromURL(t.url),e=!0;else if(t.json)await this._lightSetting.loadFromJSON(t.json),e=!0;else if(t.object)await this._lightSetting.loadFromObject(t.object),e=!0;else if(t.ls){const i=c.createDynamicLightSettingSource(null,t.ls);await this._lightSetting.loadFromURL(i.url),e=!0}if(!e)throw new Error("No dynamic light setting source set");this._requestRender()}getScene(){return this._scene}updateScene(){this._updateBounds(this.getBounds()),this._renderEverything()}_updateBounds(t){if(t){if(this.updateEnvironment(t),this._lightSetting&&this._lightSetting.needsBounds()&&this._lightSetting.updateBounds(t),this._pixotronUtil){const e=new THREE.Sphere;t.getBoundingSphere(e),this._pixotronUtil.updateBounds(e)}this._requestRender()}}setCameraOffset(t){const e=this._cameraControl.getCamera();e.offset?(e.offset=t,this._requestRender()):console.warn("Cannot set offset, current camera does not support it")}getCameraOffset(){const t=this._cameraControl.getCamera();return t.offset?JSON.parse(JSON.stringify(t.offset)):{left:0,top:0,right:1,bottom:1}}getPerspectiveOffsetCamera(){const t=this._domHelper.getClientDimensions(),e=t.x,i=t.y;return p().createCamera(30,e/i,.1,20)}updateEnvironment(t,e=!1){if(t&&this._environment&&this._environment.needsBounds()){const i=t.getSize(new THREE.Vector3);i.x+i.y+i.z!==0&&this._environment.updateBounds(t.getSize(new THREE.Vector3),e)}this._environment instanceof C&&this._environment.update()}}return a([h],t.prototype,"_domHelper",void 0),a([h],t.prototype,"_scriptLoader",void 0),a([h],t.prototype,"_lifeCycleManager",void 0),a([h],t.prototype,"_staticItemLoader",void 0),a([h],t.prototype,"_environmentLoader",void 0),a([h],t.prototype,"_initData",void 0),t})())}}}));
|
|
2
|
+
//# sourceMappingURL=scene-manager-0ac7eb06.nomodule.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scene-manager-0ac7eb06.nomodule.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{t as toRadiant,u as position3VectorsAreEqual,a8 as rotationQuaternionsAreEqual,a9 as getDelta,v as position2VectorsAreEqual,_ as __decorate,i as inject,e as dispose,h as getGUI,f as DynamicLightSettingLoader,R as RoomleComponentFactoryInitializer,aa as DynamicQualitySettingLoader}from"./rapi-access-cc4f78e4.js";import{i as isWebGl2}from"./main-thread-to-worker-91bf9f5e.js";import{d as CameraControl,i as MIN_MOVE_DISTANCE,D as DynamicLightSetting,C as CameraControl3D,b as PixotronUtil,B as BakedShadowEnvironment,f as DAT_GUI_FILE_NAME,c as DynamicEnvironmentSettingLoader}from"./pixotron-5167229f.js";class CameraControl2D extends CameraControl{constructor(t,e,i){super(t,e,i),this._scale=1,this._state=0,this._size=20,this._center=new THREE.Vector3,this._raycaster=new THREE.Raycaster,this._lastPosition=new THREE.Vector2,this._zoomPosition=new THREE.Vector3,this._lastZoom=0,this._zoomSpeed=Math.pow(.95,2),this._cameraZoom=1,this._initCamera(i||new THREE.Vector3(0,10,0));let s=new THREE.PlaneGeometry(1e3,1e3);s.rotateX(-Math.PI/2),this._plane=new THREE.Mesh(s,new THREE.MeshStandardMaterial)}_getCamera(){return this._camera||this._initCamera(new THREE.Vector3(0,10,0)),this._camera}_initCamera(t){let{x:e,y:i}=this._domHelper.getClientDimensions(),s=e/i*this._size,n=this._size;this._camera=new THREE.OrthographicCamera(s/-2,s/2,n/2,n/-2,1,1e3),this._camera.position.copy(t),this._cameraPosition=t,this._camera.lookAt(new THREE.Vector3(0,0,0))}updateCamera(){let{x:t,y:e}=this._domHelper.getClientDimensions(),i=t/e*this._size,s=this._size;this._camera.left=i/-2,this._camera.right=i/2,this._camera.top=s/2,this._camera.bottom=s/-2,this._camera.updateProjectionMatrix()}_initInputListener(){this._inputListeners.push({key:3,fun:t=>{this._locked||(this._state=1,this._lastPosition.set(t.position.x,t.position.y),this.dispatchEvent(0))}}),this._inputListeners.push({key:6,fun:t=>{1!==this._state||this._locked||(this._move(new THREE.Vector2(t.position.x,t.position.y),t.type),this.dispatchEvent(1))}}),this._inputListeners.push({key:4,fun:t=>{1===this._state&&this.dispatchEvent(2),this._state=0}}),this._inputListeners.push({key:7,fun:t=>{t.event&&(t.event.stopPropagation(),t.event.preventDefault()),this._scale/=this._zoomSpeed,this._zoomTo(t.position,1),this._update()}}),this._inputListeners.push({key:8,fun:t=>{t.event&&(t.event.stopPropagation(),t.event.preventDefault()),this._scale*=this._zoomSpeed,this._zoomTo(t.position,-1),this._update()}})}_zoomTo(t,e){if(Date.now()-this._lastZoom>200){if(e>0||this._cameraZoom>=1){const e=this.getInputPosition(t);this._raycaster.setFromCamera(e,this._camera);const i=this._raycaster.intersectObject(this._plane);if(i.length<=0)return;const s=i.pop().point;this._zoomPosition.copy(s)}else this._zoomPosition.copy(this._center);this._cameraPosition.x=this._zoomPosition.x,this._cameraPosition.z=this._zoomPosition.z}this._lastZoom=Date.now()}_move(t,e){let i=new THREE.Vector2;i.subVectors(this._lastPosition,t),i.divideScalar(100),this._cameraPosition.x+=i.x*(2===e?1.1:1),this._cameraPosition.z+=i.y*(2===e?1.1:1),this._lastPosition.copy(t)}updateToBounds(t,e){let{x:i,y:s}=this._domHelper.getClientDimensions(),n=i/s;this._size=Math.max(t.x,t.z);let a=this._size,r=this._size;n>1?a=this._size*n:r=this._size*(s/i),this._center.copy(e),this._camera.left=a/-2,this._camera.right=a/2,this._camera.top=r/2,this._camera.bottom=r/-2,this._camera.zoom=1,this._camera.position.set(this._center.x,10,this._center.z),this._cameraPosition.copy(this._camera.position)}_update(t){this._scale=Math.min(this._scale,5),this._scale=Math.max(this._scale,.8),this._cameraZoom=this._scale,this._camera.updateProjectionMatrix()}animateCamera(t){return!(!super.animateCamera(t)&&Math.abs(this._cameraZoom-this._camera.zoom)<=.01||(this._camera.zoom=THREE.MathUtils.lerp(this._camera.zoom,this._cameraZoom,10*t),0))}}const KEYBOARD_ROTATION_ANGLE=Math.PI/4;class CameraControlFirstPerson extends CameraControl{constructor(t,e,i,s){super(t,e,i),this._state=0,this._rotationSpeed=1,this._keyMap=new Map,this.minPolarAngle=toRadiant(-60),this.maxPolarAngle=toRadiant(60),this._camera=s||new THREE.PerspectiveCamera,this._camera.fov=70,this._camera.aspect=this._width/this._height,this._camera.near=.1,this._camera.far=100,this._camera.updateProjectionMatrix(),this._camera.layers.set(3),this._camera.layers.enable(1),this._camera.layers.enable(2),this._camera.layers.enable(5),this._camera.layers.enable(4),i?this._camera.position.set(i.x,1.5,i.z):this._camera.position.set(0,1.5,0),this._cameraPosition=new THREE.Vector3,this._cameraPosition.copy(this._camera.position),this._cameraRotation=new THREE.Quaternion,this._pitch=0,this._yaw=0;let n=new THREE.Euler(-this._pitch,this._yaw,0,"ZYX");this._cameraRotation.setFromEuler(n),window.addEventListener("gamepadconnected",this._gamepadConnected.bind(this)),window.addEventListener("gamepaddisconnected",this._gamepadDisconnected.bind(this))}_gamepadConnected(t){this.startButtonPressListener()}_gamepadDisconnected(t){window.cancelAnimationFrame(this._listenerLoopAnimationFrame)}startButtonPressListener(){this._listenerLoopAnimationFrame=window.requestAnimationFrame(()=>{this.buttonPressListener()})}buttonPressListener(){let t=navigator.getGamepads()[0];this._checkRightStick(t),this._checkLeftStick(t),this._checkButtons(t),this._processKeyMap(this._keyMap,.001),this.startButtonPressListener()}_checkRightStick(t){let e=t.axes[2],i=t.axes[3];Math.abs(e)>.2&&(this._rotateHorizontal(.01*KEYBOARD_ROTATION_ANGLE*e),this._update(),this.dispatchEvent(1)),Math.abs(i)>.2&&(this._rotateVertical(.01*KEYBOARD_ROTATION_ANGLE*i),this._update(),this.dispatchEvent(1))}_checkLeftStick(t){let e=t.axes[0],i=t.axes[1];Math.abs(i)>.2?i<0?this._keyMap.set(87,!0):this._keyMap.set(83,!0):t.buttons&&t.buttons[12]&&t.buttons[12].pressed?this._keyMap.set(87,!0):t.buttons&&t.buttons[13]&&t.buttons[13].pressed?this._keyMap.set(83,!0):(this._keyMap.set(87,!1),this._keyMap.set(83,!1)),Math.abs(e)>.2?e<0?this._keyMap.set(65,!0):this._keyMap.set(68,!0):(this._keyMap.set(65,!1),this._keyMap.set(68,!1))}_checkButtons(t){t.buttons&&t.buttons[6]&&t.buttons[6].pressed?this._keyMap.set(16,!0):this._keyMap.set(16,!1),t.buttons&&t.buttons[14]&&t.buttons[14].pressed?(this._keyMap.set(37,!0),this.dispatchEvent(1)):this._keyMap.set(37,!1),t.buttons&&t.buttons[15]&&t.buttons[15].pressed?(this._keyMap.set(39,!0),this.dispatchEvent(1)):this._keyMap.set(39,!1)}animateCamera(t){let e=this._cameraPosition,i=this._cameraRotation,s=this.getCamera(),n=position3VectorsAreEqual(e,s.position),a=rotationQuaternionsAreEqual(i,s.quaternion);if(!e||n&&a)return!1;let r=this.getCamera().position.clone(),o=Math.min(10*t,1);r.lerp(e,o),this.getCamera().position.copy(r);let h=this.getCamera().quaternion.clone(),_=Math.min(5*t,1);h.slerp(i,_),this.getCamera().setRotationFromQuaternion(h);let d=!1;return this._keyMap.forEach(t=>{t&&(d=!0)}),d&&this._processKeyMap(this._keyMap,t),!0}_getCamera(){return this._camera}_initInputListener(){window.addEventListener("keyup",this._onKeyChanged.bind(this),!1),window.addEventListener("keydown",this._onKeyChanged.bind(this),!1),this._inputListeners.push({key:3,fun:t=>{this._down(t)}}),this._inputListeners.push({key:6,fun:t=>{this._move(t)}}),this._inputListeners.push({key:4,fun:t=>{this._up(t)}})}_down(t){this._downPosition=t.position,this._position=t.position,this._state=1,2===t.type&&window.setTimeout(this._onLongDown.bind(this),350),2===t.type?this._rotationSpeed=.6:this._rotationSpeed=1}_move(t){this._position=t.position,1!==this._state||this._locked||this._orbit(new THREE.Vector2(t.position.x,t.position.y)),2!==this._state||this._locked||(this._orbit(new THREE.Vector2(t.position.x,t.position.y)),this._moveForward())}_up(t){1===this._state&&this.dispatchEvent(2),2===this._state&&this._keyMap.set(87,!1),this._state=0,this._orbitPosition=null}_onLongDown(){getDelta(this._downPosition,this._position)<MIN_MOVE_DISTANCE&&1===this._state&&(this._state=2,this._orbit(new THREE.Vector2(this._position.x,this._position.y)),this._moveForward())}_update(t){let e=new THREE.Euler(-this._pitch,this._yaw,0,"ZYX");this._cameraRotation.setFromEuler(e)}updateCamera(){let{x:t,y:e}=this._domHelper.getClientDimensions();this._camera.aspect=t/e,this._camera.updateProjectionMatrix()}_onKeyChanged(t){this._keyMap.set(t.keyCode,"keydown"===t.type),this.dispatchEvent(6),this._processKeyMap(this._keyMap,.001)&&t.preventDefault()}_processKeyMap(t,e){e=Math.min(e,.1);let i=new THREE.Vector3(0,0,0),s=!1;return this._processUpDown(t,i,e),t.get(65)&&(i.x=-1*e),t.get(68)&&(i.x=1*e),t.get(37)&&(this._rotateHorizontal(-KEYBOARD_ROTATION_ANGLE*this._rotationSpeed*e),s=!0),t.get(39)&&(this._rotateHorizontal(KEYBOARD_ROTATION_ANGLE*this._rotationSpeed*e),s=!0),t.get(16)&&(i.x*=3,i.z*=3),!(0===i.x&&0===i.y&&0===i.z&&!s||(i.applyQuaternion(this.getCamera().quaternion),this._cameraPosition.add(new THREE.Vector3(i.x,0,i.z)),this._update(),0))}_processUpDown(t,e,i){(t.get(87)||t.get(38))&&(e.z=-1*i),(t.get(83)||t.get(40))&&(e.z=1*i)}_orbit(t){this._orbitPosition||(this._orbitPosition=new THREE.Vector2(t.x,t.y),this.dispatchEvent(0));let e=t.clone().sub(this._orbitPosition),i=this._domHelper.element instanceof Document?this._domHelper.element.body:this._domHelper.element;e.multiplyScalar(-1),this._rotateHorizontal(2*Math.PI*e.x/i.clientWidth*1),this._rotateVertical(2*Math.PI*e.y/i.clientHeight*1),position2VectorsAreEqual(this._orbitPosition,t)||this.dispatchEvent(1),this._orbitPosition.copy(t),this._update()}_moveForward(){this._keyMap.set(87,!0),this._processKeyMap(this._keyMap,.001)}_rotateVertical(t){let e=this._pitch+t;e>this.maxPolarAngle||e<this.minPolarAngle||(this._pitch=e,this._pitch<-Math.PI?this._pitch+=2*Math.PI:this._pitch>Math.PI&&(this._pitch-=2*Math.PI),this._saveYawAndPitch())}}let SceneManager=(()=>{class t{constructor(t,e,i,s,n){this._maxAnisotropy=1,this._clock=new THREE.Clock,this._delta=0,this._renderListener=null,this._stopRendering=!1,this._forceRender=!1,this._updateShadowsAndAO=!0,this._lastChange=Date.now(),this._running=!1,this._onAfterRender=()=>{},this._creator_=t,this._canvasID=i,this.createCameraControl(s),this._addCameraControlListener(),this._setupScene(e,n),document.addEventListener("visibilitychange",this._tabVisible.bind(this)),this._renderListener=()=>{this._requestRender()},this._getInputManager().addEventListener(7,this._renderListener,this),this._getInputManager().addEventListener(8,this._renderListener,this),this._lifeCycleManager.addEventListener(this)}onBeforeRender(){}_changeCameraControl(t){this._cameraControl&&this._cameraControl.cleanUp(),t instanceof CameraControlFirstPerson&&(this._getInputManager().removeEventListener(7,this._renderListener),this._getInputManager().removeEventListener(8,this._renderListener)),this._cameraControl instanceof CameraControlFirstPerson&&(this._getInputManager().addEventListener(7,this._renderListener,this),this._getInputManager().addEventListener(8,this._renderListener,this)),this._cameraControl=t,this.cameraControlChanged()}cameraControlChanged(){}_addCameraControlListener(){this._cameraControl.addEventListener(0,this._requestRender,this),this._cameraControl.addEventListener(1,this._requestRender,this),this._cameraControl.addEventListener(2,this._requestRender,this),this._cameraControl.addEventListener(6,this._requestRender,this)}_renderEverything(){this._pixotron&&(this._forceRender=!0,this._updateShadowsAndAO=!0),this._requestRender()}_renderWithoutShadowsAndAO(){this._pixotron&&(this._forceRender=!0,this._updateShadowsAndAO=!1),this._requestRender()}_requestRender(){if(!this._renderer)return;const t=()=>{this._delta=this._clock.getDelta(),this._animateCamera(),this._cameraControl.getCamera().layers.mask=65535,this._renderLoopFunction&&(this._renderLoopFunction(),this._renderLoopFunction=null),this.onBeforeRender(),this._statsHelper&&this._statsHelper.updateRenderInfo(this._renderer.info),this._pixotron?(this._pixotron.autoShadowsClear=this._updateShadowsAndAO,this._pixotron.autoSAOClear=this._updateShadowsAndAO,this._forceRender&&(this._pixotron.needsUpdate=!0),this._pixotron.render(this._renderer,this._scene,this._cameraControl.getCamera(),this._renderTarget),this._forceRender=!1,this._updateShadowsAndAO=!0,this._pixotron.blit()):(this._renderer.clear(),this._renderer.render(this._scene,this._cameraControl.getCamera()),this._renderer.clearDepth()),this._onAfterRender(),window.TWEEN&&TWEEN.update(),this._lastChange+3e3<Date.now()||this._stopRendering?this._running=!1:(this._running=!0,requestAnimationFrame(t))};this._lastChange=Date.now(),this._running||this._stopRendering||(this._running=!0,requestAnimationFrame(t))}_animateCamera(){this._cameraControl&&(this._cameraControl.animateCamera(this._delta)||!this._pixotron||this._forceRender?(this._lightSetting instanceof DynamicLightSetting&&this._cameraControl.getCamera()instanceof THREE.PerspectiveCamera&&this._lightSetting.update(this._cameraControl.getCamera(),this._cameraControl.getTargetPosition()),this._pixotron&&(this._pixotron.needsUpdate=!0)):(this._pixotron.autoShadowsClear=!1,this._pixotron.autoSAOClear=!1)),this._environment&&this._environment.needsCamera()&&this._cameraControl instanceof CameraControl3D&&this._environment.updateCamera(this._cameraControl.getCamera())}_setupScene(t,e){const{x:i,y:s}=this._domHelper.getClientDimensions();this._scene=new THREE.Scene,(e=e||!1)||(this._scene.background=new THREE.Color(this._initData.colors.DEFAULT_BACKGROUND)),THREE.Math={DEG2RAD:THREE.MathUtils.DEG2RAD};const n={format:THREE.RGBAFormat,minFilter:THREE.NearestFilter,magFilter:THREE.NearestFilter},a=THREE.sRGBEncoding,r=Math.floor(i*window.devicePixelRatio),o=Math.floor(s*window.devicePixelRatio);isWebGl2()?this._renderTarget=new THREE.WebGLMultisampleRenderTarget(r,o,n):this._renderTarget=new THREE.WebGLRenderTarget(r,o,n),this._renderTarget.texture.encoding=a,this._renderer=new THREE.WebGLRenderer({antialias:!0,alpha:!0}),this._renderer.setPixelRatio(window.devicePixelRatio),this._renderer.setSize(i,s),this._renderer.outputEncoding=THREE.sRGBEncoding,this._renderer.gammaFactor=2.2,this._renderer.autoClear=!1,this._renderer.shadowMap.enabled=!0,this._renderer.shadowMap.type=THREE.PCFSoftShadowMap,this._maxAnisotropy=this._renderer.capabilities.getMaxAnisotropy(),this._renderer.domElement.classList.add(this._canvasID),this._domHelper.element.appendChild(this._renderer.domElement),this._getInputManager().addEvents(this._renderer.domElement),this._environmentLoader.setRendererAndScene(this._renderer,this._scene),this._environmentLoader.registerEnvironmentChangedCallback(()=>this._requestRender()),this._requestRender(),window.addEventListener("resize",this,!1),window.addEventListener("keydown",this,!1),window.addEventListener("keyup",this,!1),this.sceneChanged()}_tabVisible(t){this.updateCamera(),this._renderEverything()}setupScene(t,e){this._setupScene(t,e)}updateCamera(){const{x:t,y:e}=this._domHelper.getClientDimensions();this._renderer.setSize(t,e);const i=this._renderer.getPixelRatio();if(this._renderTarget){const s=Math.floor(t*i),n=Math.floor(e*i);this._renderTarget.setSize(s,n)}if(this._pixotron){this._pixotron.autoShadowsClear=!0,this._pixotron.autoSAOClear=!0,this._forceRender=!0;try{this._pixotron.setSize(t,e)}catch(t){console.warn(t)}}this._cameraControl.updateCamera(),this._requestRender()}_onWindowResize(){const t=this._getInputManager();t&&t.updateSize(),this.updateCamera(),this._requestRender()}_isPartOfScene(t){return"Object3D"===t.type||"Mesh"===t.type||"GLB"===t.type||"GLTF"===t.type||"Group"===t.type}cleanUp(){this._getInputManager().removeEventListener(7,this._renderListener),this._getInputManager().removeEventListener(8,this._renderListener),this._cameraControl&&this._cameraControl.cleanUp()}clearScene(){let t=[];this._scene.children.forEach(e=>{this._isPartOfScene(e)&&t.push(e)}),t.forEach(t=>{dispose(t),this._scene.remove(t)}),this._renderer.renderLists.dispose()}enableHD(){this._pixotron=new window.PIXOTRON.Pixotron(this.getPixotronParams()),this._pixotronUtil=new PixotronUtil(this._pixotron),this._environment instanceof BakedShadowEnvironment&&(this._environment.setPixotron(this._pixotron,this._renderer,this._cameraControl.getCamera(),this.getBakedShadowParams()),this._environment.setLoadedCallback(()=>setTimeout(()=>this._requestRender(),500))),this._requestRender()}_loadGLTF(t,e,i,s,n,a,r){return new Promise((o,h)=>{this._staticItemLoader.loadGLTF(t,e,i,s,n,a,null,r).then(t=>{this._setCamera("GLTF",t),o(t)},h)})}_loadGLB(t,e,i,s,n,a,r,o){return new Promise((h,_)=>{this._staticItemLoader.loadGLB(t,e,i,s,n,a,r,o).then(t=>{this._setCamera("GLB",t),h(t)},_)})}_setCamera(t,e){if(!e)return void console.warn("could not set camera for gltf",e);const i=new THREE.Box3;i.setFromObject(e),"GLB"===t?this._cameraControl instanceof CameraControl3D&&this._cameraControl.updateToBounds(i,!1):"GLTF"===t&&(this._cameraControl instanceof CameraControl3D&&this._cameraControl.updateAndReset(i.getSize(new THREE.Vector3),i.getCenter(new THREE.Vector3),-15,70,5,!1),this._cameraControl instanceof CameraControl2D&&this._cameraControl.updateToBounds(i.getSize(new THREE.Vector3),i.getCenter(new THREE.Vector3))),this.updateCamera()}showGUI(){if(this._initData.disableDebugGUI)return;const t=document.createElement("style");t.innerText=".dg.main{position:absolute;z-index:100;top:0;left:0;}",document.head.appendChild(t),this._scriptLoader.fetch(DAT_GUI_FILE_NAME,{id:"dat-gui-js"}).then(()=>{let t=getGUI(!1);t&&(this._domHelper.element.appendChild(t.domElement),this._guiLoaded())},t=>console.error(t))}_guiLoaded(){let t=getGUI();t&&(this._lightSetting&&this._lightSetting.showGUI(),this._pixotron&&this._pixotronUtil.showGUI(),this._environment&&this._environment.showGUI(),this._addGUIListener(t))}_addGUIListener(t){let e=t.__folders;Object.keys(e).forEach(t=>{let i=e[t];i.__folders&&Object.keys(i.__folders).forEach(t=>{let i=e[t];this._addGUIListener(i)}),i.__controllers&&i.__controllers.forEach(t=>{t.onFinishChange(()=>{this._guiParamChanged()})})})}_guiParamChanged(){this._requestRender()}showStats(){import("./stats-helper-f53f8b2f.js").then(t=>this._statsHelper=new t.default)}_onKeyDown(t){}_onKeyUp(t){}pause(){this._getInputManager().removeEvents(this._renderer.domElement),window.removeEventListener("resize",this,!1),window.removeEventListener("keydown",this,!1),window.removeEventListener("keyup",this,!1)}resume(){this.updateCamera(),this._renderer.domElement.classList.add(this._canvasID),this._domHelper.element.appendChild(this._renderer.domElement),this._getInputManager().addEvents(this._renderer.domElement),window.addEventListener("resize",this,!1),window.addEventListener("keydown",this,!1),window.addEventListener("keyup",this,!1),this._renderEverything()}destroy(){this.pause(),this.cleanUp()}handleEvent(t){switch(t.type){case"resize":this._onWindowResize();break;case"keydown":this._onKeyDown(t);break;case"keyup":this._onKeyUp(t)}}loadSceneSettings(t){let e,i;return e=t.environment?new Promise(e=>{(new DynamicEnvironmentSettingLoader).load(this._scene,this._renderer.domElement,this._environment,t).then(t=>{this._setEnvironment(t),e()})}):Promise.resolve(),t.lights?(this._lightSetting=new DynamicLightSetting(this._scene,this._lightSetting),i=this._lightSetting.loadFromObject(t)):i=Promise.resolve(),new Promise((t,s)=>{Promise.all([e,i]).then(()=>{this._requestRender(),t()},s)})}_setEnvironment(t){this._environment=t,this._pixotron&&this._environment instanceof BakedShadowEnvironment&&(this._environment.setPixotron(this._pixotron,this._renderer,this._cameraControl.getCamera(),this.getBakedShadowParams()),this._environment.setLoadedCallback(()=>setTimeout(()=>this._requestRender(),500)))}loadQualitySetting(t){this._pixotron&&(new DynamicQualitySettingLoader).set(this._pixotron,t)}async loadDynamicLightSetting(t){this._lightSetting=new DynamicLightSetting(this._scene,this._lightSetting);let e=!1;if(t.url)await this._lightSetting.loadFromURL(t.url),e=!0;else if(t.json)await this._lightSetting.loadFromJSON(t.json),e=!0;else if(t.object)await this._lightSetting.loadFromObject(t.object),e=!0;else if(t.ls){const i=DynamicLightSettingLoader.createDynamicLightSettingSource(null,t.ls);await this._lightSetting.loadFromURL(i.url),e=!0}if(!e)throw new Error("No dynamic light setting source set");this._requestRender()}getScene(){return this._scene}updateScene(){this._updateBounds(this.getBounds()),this._renderEverything()}_updateBounds(t){if(t){if(this.updateEnvironment(t),this._lightSetting&&this._lightSetting.needsBounds()&&this._lightSetting.updateBounds(t),this._pixotronUtil){const e=new THREE.Sphere;t.getBoundingSphere(e),this._pixotronUtil.updateBounds(e)}this._requestRender()}}setCameraOffset(t){const e=this._cameraControl.getCamera();e.offset?(e.offset=t,this._requestRender()):console.warn("Cannot set offset, current camera does not support it")}getCameraOffset(){const t=this._cameraControl.getCamera();return t.offset?JSON.parse(JSON.stringify(t.offset)):{left:0,top:0,right:1,bottom:1}}getPerspectiveOffsetCamera(){const t=this._domHelper.getClientDimensions(),e=t.x,i=t.y;return RoomleComponentFactoryInitializer().createCamera(30,e/i,.1,20)}updateEnvironment(t,e=!1){if(t&&this._environment&&this._environment.needsBounds()){const i=t.getSize(new THREE.Vector3);i.x+i.y+i.z!==0&&this._environment.updateBounds(t.getSize(new THREE.Vector3),e)}this._environment instanceof BakedShadowEnvironment&&this._environment.update()}}return __decorate([inject],t.prototype,"_domHelper",void 0),__decorate([inject],t.prototype,"_scriptLoader",void 0),__decorate([inject],t.prototype,"_lifeCycleManager",void 0),__decorate([inject],t.prototype,"_staticItemLoader",void 0),__decorate([inject],t.prototype,"_environmentLoader",void 0),__decorate([inject],t.prototype,"_initData",void 0),t})();export{CameraControl2D as C,SceneManager as S,CameraControlFirstPerson as a};
|
|
2
|
-
//# sourceMappingURL=scene-manager-
|
|
1
|
+
import{t as toRadiant,u as position3VectorsAreEqual,a8 as rotationQuaternionsAreEqual,a9 as getDelta,v as position2VectorsAreEqual,_ as __decorate,i as inject,e as dispose,h as getGUI,f as DynamicLightSettingLoader,R as RoomleComponentFactoryInitializer,aa as DynamicQualitySettingLoader}from"./rapi-access-d209c65c.js";import{i as isWebGl2}from"./main-thread-to-worker-5447c1c5.js";import{d as CameraControl,i as MIN_MOVE_DISTANCE,D as DynamicLightSetting,C as CameraControl3D,b as PixotronUtil,B as BakedShadowEnvironment,f as DAT_GUI_FILE_NAME,c as DynamicEnvironmentSettingLoader}from"./pixotron-9baf521b.js";class CameraControl2D extends CameraControl{constructor(t,e,i){super(t,e,i),this._scale=1,this._state=0,this._size=20,this._center=new THREE.Vector3,this._raycaster=new THREE.Raycaster,this._lastPosition=new THREE.Vector2,this._zoomPosition=new THREE.Vector3,this._lastZoom=0,this._zoomSpeed=Math.pow(.95,2),this._cameraZoom=1,this._initCamera(i||new THREE.Vector3(0,10,0));let s=new THREE.PlaneGeometry(1e3,1e3);s.rotateX(-Math.PI/2),this._plane=new THREE.Mesh(s,new THREE.MeshStandardMaterial)}_getCamera(){return this._camera||this._initCamera(new THREE.Vector3(0,10,0)),this._camera}_initCamera(t){let{x:e,y:i}=this._domHelper.getClientDimensions(),s=e/i*this._size,n=this._size;this._camera=new THREE.OrthographicCamera(s/-2,s/2,n/2,n/-2,1,1e3),this._camera.position.copy(t),this._cameraPosition=t,this._camera.lookAt(new THREE.Vector3(0,0,0))}updateCamera(){let{x:t,y:e}=this._domHelper.getClientDimensions(),i=t/e*this._size,s=this._size;this._camera.left=i/-2,this._camera.right=i/2,this._camera.top=s/2,this._camera.bottom=s/-2,this._camera.updateProjectionMatrix()}_initInputListener(){this._inputListeners.push({key:3,fun:t=>{this._locked||(this._state=1,this._lastPosition.set(t.position.x,t.position.y),this.dispatchEvent(0))}}),this._inputListeners.push({key:6,fun:t=>{1!==this._state||this._locked||(this._move(new THREE.Vector2(t.position.x,t.position.y),t.type),this.dispatchEvent(1))}}),this._inputListeners.push({key:4,fun:t=>{1===this._state&&this.dispatchEvent(2),this._state=0}}),this._inputListeners.push({key:7,fun:t=>{t.event&&(t.event.stopPropagation(),t.event.preventDefault()),this._scale/=this._zoomSpeed,this._zoomTo(t.position,1),this._update()}}),this._inputListeners.push({key:8,fun:t=>{t.event&&(t.event.stopPropagation(),t.event.preventDefault()),this._scale*=this._zoomSpeed,this._zoomTo(t.position,-1),this._update()}})}_zoomTo(t,e){if(Date.now()-this._lastZoom>200){if(e>0||this._cameraZoom>=1){const e=this.getInputPosition(t);this._raycaster.setFromCamera(e,this._camera);const i=this._raycaster.intersectObject(this._plane);if(i.length<=0)return;const s=i.pop().point;this._zoomPosition.copy(s)}else this._zoomPosition.copy(this._center);this._cameraPosition.x=this._zoomPosition.x,this._cameraPosition.z=this._zoomPosition.z}this._lastZoom=Date.now()}_move(t,e){let i=new THREE.Vector2;i.subVectors(this._lastPosition,t),i.divideScalar(100),this._cameraPosition.x+=i.x*(2===e?1.1:1),this._cameraPosition.z+=i.y*(2===e?1.1:1),this._lastPosition.copy(t)}updateToBounds(t,e){let{x:i,y:s}=this._domHelper.getClientDimensions(),n=i/s;this._size=Math.max(t.x,t.z);let a=this._size,r=this._size;n>1?a=this._size*n:r=this._size*(s/i),this._center.copy(e),this._camera.left=a/-2,this._camera.right=a/2,this._camera.top=r/2,this._camera.bottom=r/-2,this._camera.zoom=1,this._camera.position.set(this._center.x,10,this._center.z),this._cameraPosition.copy(this._camera.position)}_update(t){this._scale=Math.min(this._scale,5),this._scale=Math.max(this._scale,.8),this._cameraZoom=this._scale,this._camera.updateProjectionMatrix()}animateCamera(t){return!(!super.animateCamera(t)&&Math.abs(this._cameraZoom-this._camera.zoom)<=.01||(this._camera.zoom=THREE.MathUtils.lerp(this._camera.zoom,this._cameraZoom,10*t),0))}}const KEYBOARD_ROTATION_ANGLE=Math.PI/4;class CameraControlFirstPerson extends CameraControl{constructor(t,e,i,s){super(t,e,i),this._state=0,this._rotationSpeed=1,this._keyMap=new Map,this.minPolarAngle=toRadiant(-60),this.maxPolarAngle=toRadiant(60),this._camera=s||new THREE.PerspectiveCamera,this._camera.fov=70,this._camera.aspect=this._width/this._height,this._camera.near=.1,this._camera.far=100,this._camera.updateProjectionMatrix(),this._camera.layers.set(3),this._camera.layers.enable(1),this._camera.layers.enable(2),this._camera.layers.enable(5),this._camera.layers.enable(4),i?this._camera.position.set(i.x,1.5,i.z):this._camera.position.set(0,1.5,0),this._cameraPosition=new THREE.Vector3,this._cameraPosition.copy(this._camera.position),this._cameraRotation=new THREE.Quaternion,this._pitch=0,this._yaw=0;let n=new THREE.Euler(-this._pitch,this._yaw,0,"ZYX");this._cameraRotation.setFromEuler(n),window.addEventListener("gamepadconnected",this._gamepadConnected.bind(this)),window.addEventListener("gamepaddisconnected",this._gamepadDisconnected.bind(this))}_gamepadConnected(t){this.startButtonPressListener()}_gamepadDisconnected(t){window.cancelAnimationFrame(this._listenerLoopAnimationFrame)}startButtonPressListener(){this._listenerLoopAnimationFrame=window.requestAnimationFrame(()=>{this.buttonPressListener()})}buttonPressListener(){let t=navigator.getGamepads()[0];this._checkRightStick(t),this._checkLeftStick(t),this._checkButtons(t),this._processKeyMap(this._keyMap,.001),this.startButtonPressListener()}_checkRightStick(t){let e=t.axes[2],i=t.axes[3];Math.abs(e)>.2&&(this._rotateHorizontal(.01*KEYBOARD_ROTATION_ANGLE*e),this._update(),this.dispatchEvent(1)),Math.abs(i)>.2&&(this._rotateVertical(.01*KEYBOARD_ROTATION_ANGLE*i),this._update(),this.dispatchEvent(1))}_checkLeftStick(t){let e=t.axes[0],i=t.axes[1];Math.abs(i)>.2?i<0?this._keyMap.set(87,!0):this._keyMap.set(83,!0):t.buttons&&t.buttons[12]&&t.buttons[12].pressed?this._keyMap.set(87,!0):t.buttons&&t.buttons[13]&&t.buttons[13].pressed?this._keyMap.set(83,!0):(this._keyMap.set(87,!1),this._keyMap.set(83,!1)),Math.abs(e)>.2?e<0?this._keyMap.set(65,!0):this._keyMap.set(68,!0):(this._keyMap.set(65,!1),this._keyMap.set(68,!1))}_checkButtons(t){t.buttons&&t.buttons[6]&&t.buttons[6].pressed?this._keyMap.set(16,!0):this._keyMap.set(16,!1),t.buttons&&t.buttons[14]&&t.buttons[14].pressed?(this._keyMap.set(37,!0),this.dispatchEvent(1)):this._keyMap.set(37,!1),t.buttons&&t.buttons[15]&&t.buttons[15].pressed?(this._keyMap.set(39,!0),this.dispatchEvent(1)):this._keyMap.set(39,!1)}animateCamera(t){let e=this._cameraPosition,i=this._cameraRotation,s=this.getCamera(),n=position3VectorsAreEqual(e,s.position),a=rotationQuaternionsAreEqual(i,s.quaternion);if(!e||n&&a)return!1;let r=this.getCamera().position.clone(),o=Math.min(10*t,1);r.lerp(e,o),this.getCamera().position.copy(r);let h=this.getCamera().quaternion.clone(),_=Math.min(5*t,1);h.slerp(i,_),this.getCamera().setRotationFromQuaternion(h);let d=!1;return this._keyMap.forEach(t=>{t&&(d=!0)}),d&&this._processKeyMap(this._keyMap,t),!0}_getCamera(){return this._camera}_initInputListener(){window.addEventListener("keyup",this._onKeyChanged.bind(this),!1),window.addEventListener("keydown",this._onKeyChanged.bind(this),!1),this._inputListeners.push({key:3,fun:t=>{this._down(t)}}),this._inputListeners.push({key:6,fun:t=>{this._move(t)}}),this._inputListeners.push({key:4,fun:t=>{this._up(t)}})}_down(t){this._downPosition=t.position,this._position=t.position,this._state=1,2===t.type&&window.setTimeout(this._onLongDown.bind(this),350),2===t.type?this._rotationSpeed=.6:this._rotationSpeed=1}_move(t){this._position=t.position,1!==this._state||this._locked||this._orbit(new THREE.Vector2(t.position.x,t.position.y)),2!==this._state||this._locked||(this._orbit(new THREE.Vector2(t.position.x,t.position.y)),this._moveForward())}_up(t){1===this._state&&this.dispatchEvent(2),2===this._state&&this._keyMap.set(87,!1),this._state=0,this._orbitPosition=null}_onLongDown(){getDelta(this._downPosition,this._position)<MIN_MOVE_DISTANCE&&1===this._state&&(this._state=2,this._orbit(new THREE.Vector2(this._position.x,this._position.y)),this._moveForward())}_update(t){let e=new THREE.Euler(-this._pitch,this._yaw,0,"ZYX");this._cameraRotation.setFromEuler(e)}updateCamera(){let{x:t,y:e}=this._domHelper.getClientDimensions();this._camera.aspect=t/e,this._camera.updateProjectionMatrix()}_onKeyChanged(t){this._keyMap.set(t.keyCode,"keydown"===t.type),this.dispatchEvent(6),this._processKeyMap(this._keyMap,.001)&&t.preventDefault()}_processKeyMap(t,e){e=Math.min(e,.1);let i=new THREE.Vector3(0,0,0),s=!1;return this._processUpDown(t,i,e),t.get(65)&&(i.x=-1*e),t.get(68)&&(i.x=1*e),t.get(37)&&(this._rotateHorizontal(-KEYBOARD_ROTATION_ANGLE*this._rotationSpeed*e),s=!0),t.get(39)&&(this._rotateHorizontal(KEYBOARD_ROTATION_ANGLE*this._rotationSpeed*e),s=!0),t.get(16)&&(i.x*=3,i.z*=3),!(0===i.x&&0===i.y&&0===i.z&&!s||(i.applyQuaternion(this.getCamera().quaternion),this._cameraPosition.add(new THREE.Vector3(i.x,0,i.z)),this._update(),0))}_processUpDown(t,e,i){(t.get(87)||t.get(38))&&(e.z=-1*i),(t.get(83)||t.get(40))&&(e.z=1*i)}_orbit(t){this._orbitPosition||(this._orbitPosition=new THREE.Vector2(t.x,t.y),this.dispatchEvent(0));let e=t.clone().sub(this._orbitPosition),i=this._domHelper.element instanceof Document?this._domHelper.element.body:this._domHelper.element;e.multiplyScalar(-1),this._rotateHorizontal(2*Math.PI*e.x/i.clientWidth*1),this._rotateVertical(2*Math.PI*e.y/i.clientHeight*1),position2VectorsAreEqual(this._orbitPosition,t)||this.dispatchEvent(1),this._orbitPosition.copy(t),this._update()}_moveForward(){this._keyMap.set(87,!0),this._processKeyMap(this._keyMap,.001)}_rotateVertical(t){let e=this._pitch+t;e>this.maxPolarAngle||e<this.minPolarAngle||(this._pitch=e,this._pitch<-Math.PI?this._pitch+=2*Math.PI:this._pitch>Math.PI&&(this._pitch-=2*Math.PI),this._saveYawAndPitch())}}let SceneManager=(()=>{class t{constructor(t,e,i,s,n){this._maxAnisotropy=1,this._clock=new THREE.Clock,this._delta=0,this._renderListener=null,this._stopRendering=!1,this._forceRender=!1,this._updateShadowsAndAO=!0,this._lastChange=Date.now(),this._running=!1,this._onAfterRender=()=>{},this._creator_=t,this._canvasID=i,this.createCameraControl(s),this._addCameraControlListener(),this._setupScene(e,n),document.addEventListener("visibilitychange",this._tabVisible.bind(this)),this._renderListener=()=>{this._requestRender()},this._getInputManager().addEventListener(7,this._renderListener,this),this._getInputManager().addEventListener(8,this._renderListener,this),this._lifeCycleManager.addEventListener(this)}onBeforeRender(){}_changeCameraControl(t){this._cameraControl&&this._cameraControl.cleanUp(),t instanceof CameraControlFirstPerson&&(this._getInputManager().removeEventListener(7,this._renderListener),this._getInputManager().removeEventListener(8,this._renderListener)),this._cameraControl instanceof CameraControlFirstPerson&&(this._getInputManager().addEventListener(7,this._renderListener,this),this._getInputManager().addEventListener(8,this._renderListener,this)),this._cameraControl=t,this.cameraControlChanged()}cameraControlChanged(){}_addCameraControlListener(){this._cameraControl.addEventListener(0,this._requestRender,this),this._cameraControl.addEventListener(1,this._requestRender,this),this._cameraControl.addEventListener(2,this._requestRender,this),this._cameraControl.addEventListener(6,this._requestRender,this)}_renderEverything(){this._pixotron&&(this._forceRender=!0,this._updateShadowsAndAO=!0),this._requestRender()}_renderWithoutShadowsAndAO(){this._pixotron&&(this._forceRender=!0,this._updateShadowsAndAO=!1),this._requestRender()}_requestRender(){if(!this._renderer)return;const t=()=>{this._delta=this._clock.getDelta(),this._animateCamera(),this._cameraControl.getCamera().layers.mask=65535,this._renderLoopFunction&&(this._renderLoopFunction(),this._renderLoopFunction=null),this.onBeforeRender(),this._statsHelper&&this._statsHelper.updateRenderInfo(this._renderer.info),this._pixotron?(this._pixotron.autoShadowsClear=this._updateShadowsAndAO,this._pixotron.autoSAOClear=this._updateShadowsAndAO,this._forceRender&&(this._pixotron.needsUpdate=!0),this._pixotron.render(this._renderer,this._scene,this._cameraControl.getCamera(),this._renderTarget),this._forceRender=!1,this._updateShadowsAndAO=!0,this._pixotron.blit()):(this._renderer.clear(),this._renderer.render(this._scene,this._cameraControl.getCamera()),this._renderer.clearDepth()),this._onAfterRender(),window.TWEEN&&TWEEN.update(),this._lastChange+3e3<Date.now()||this._stopRendering?this._running=!1:(this._running=!0,requestAnimationFrame(t))};this._lastChange=Date.now(),this._running||this._stopRendering||(this._running=!0,requestAnimationFrame(t))}_animateCamera(){this._cameraControl&&(this._cameraControl.animateCamera(this._delta)||!this._pixotron||this._forceRender?(this._lightSetting instanceof DynamicLightSetting&&this._cameraControl.getCamera()instanceof THREE.PerspectiveCamera&&this._lightSetting.update(this._cameraControl.getCamera(),this._cameraControl.getTargetPosition()),this._pixotron&&(this._pixotron.needsUpdate=!0)):(this._pixotron.autoShadowsClear=!1,this._pixotron.autoSAOClear=!1)),this._environment&&this._environment.needsCamera()&&this._cameraControl instanceof CameraControl3D&&this._environment.updateCamera(this._cameraControl.getCamera())}_setupScene(t,e){const{x:i,y:s}=this._domHelper.getClientDimensions();this._scene=new THREE.Scene,(e=e||!1)||(this._scene.background=new THREE.Color(this._initData.colors.DEFAULT_BACKGROUND)),THREE.Math={DEG2RAD:THREE.MathUtils.DEG2RAD};const n={format:THREE.RGBAFormat,minFilter:THREE.NearestFilter,magFilter:THREE.NearestFilter},a=THREE.sRGBEncoding,r=Math.floor(i*window.devicePixelRatio),o=Math.floor(s*window.devicePixelRatio);isWebGl2()?this._renderTarget=new THREE.WebGLMultisampleRenderTarget(r,o,n):this._renderTarget=new THREE.WebGLRenderTarget(r,o,n),this._renderTarget.texture.encoding=a,this._renderer=new THREE.WebGLRenderer({antialias:!0,alpha:!0}),this._renderer.setPixelRatio(window.devicePixelRatio),this._renderer.setSize(i,s),this._renderer.outputEncoding=THREE.sRGBEncoding,this._renderer.gammaFactor=2.2,this._renderer.autoClear=!1,this._renderer.shadowMap.enabled=!0,this._renderer.shadowMap.type=THREE.PCFSoftShadowMap,this._maxAnisotropy=this._renderer.capabilities.getMaxAnisotropy(),this._renderer.domElement.classList.add(this._canvasID),this._domHelper.element.appendChild(this._renderer.domElement),this._getInputManager().addEvents(this._renderer.domElement),this._environmentLoader.setRendererAndScene(this._renderer,this._scene),this._environmentLoader.registerEnvironmentChangedCallback(()=>this._requestRender()),this._requestRender(),window.addEventListener("resize",this,!1),window.addEventListener("keydown",this,!1),window.addEventListener("keyup",this,!1),this.sceneChanged()}_tabVisible(t){this.updateCamera(),this._renderEverything()}setupScene(t,e){this._setupScene(t,e)}updateCamera(){const{x:t,y:e}=this._domHelper.getClientDimensions();this._renderer.setSize(t,e);const i=this._renderer.getPixelRatio();if(this._renderTarget){const s=Math.floor(t*i),n=Math.floor(e*i);this._renderTarget.setSize(s,n)}if(this._pixotron){this._pixotron.autoShadowsClear=!0,this._pixotron.autoSAOClear=!0,this._forceRender=!0;try{this._pixotron.setSize(t,e)}catch(t){console.warn(t)}}this._cameraControl.updateCamera(),this._requestRender()}_onWindowResize(){const t=this._getInputManager();t&&t.updateSize(),this.updateCamera(),this._requestRender()}_isPartOfScene(t){return"Object3D"===t.type||"Mesh"===t.type||"GLB"===t.type||"GLTF"===t.type||"Group"===t.type}cleanUp(){this._getInputManager().removeEventListener(7,this._renderListener),this._getInputManager().removeEventListener(8,this._renderListener),this._cameraControl&&this._cameraControl.cleanUp()}clearScene(){let t=[];this._scene.children.forEach(e=>{this._isPartOfScene(e)&&t.push(e)}),t.forEach(t=>{dispose(t),this._scene.remove(t)}),this._renderer.renderLists.dispose()}enableHD(){this._pixotron=new window.PIXOTRON.Pixotron(this.getPixotronParams()),this._pixotronUtil=new PixotronUtil(this._pixotron),this._environment instanceof BakedShadowEnvironment&&(this._environment.setPixotron(this._pixotron,this._renderer,this._cameraControl.getCamera(),this.getBakedShadowParams()),this._environment.setLoadedCallback(()=>setTimeout(()=>this._requestRender(),500))),this._requestRender()}_loadGLTF(t,e,i,s,n,a,r){return new Promise((o,h)=>{this._staticItemLoader.loadGLTF(t,e,i,s,n,a,null,r).then(t=>{this._setCamera("GLTF",t),o(t)},h)})}_loadGLB(t,e,i,s,n,a,r,o){return new Promise((h,_)=>{this._staticItemLoader.loadGLB(t,e,i,s,n,a,r,o).then(t=>{this._setCamera("GLB",t),h(t)},_)})}_setCamera(t,e){if(!e)return void console.warn("could not set camera for gltf",e);const i=new THREE.Box3;i.setFromObject(e),"GLB"===t?this._cameraControl instanceof CameraControl3D&&this._cameraControl.updateToBounds(i,!1):"GLTF"===t&&(this._cameraControl instanceof CameraControl3D&&this._cameraControl.updateAndReset(i.getSize(new THREE.Vector3),i.getCenter(new THREE.Vector3),-15,70,5,!1),this._cameraControl instanceof CameraControl2D&&this._cameraControl.updateToBounds(i.getSize(new THREE.Vector3),i.getCenter(new THREE.Vector3))),this.updateCamera()}showGUI(){if(this._initData.disableDebugGUI)return;const t=document.createElement("style");t.innerText=".dg.main{position:absolute;z-index:100;top:0;left:0;}",document.head.appendChild(t),this._scriptLoader.fetch(DAT_GUI_FILE_NAME,{id:"dat-gui-js"}).then(()=>{let t=getGUI(!1);t&&(this._domHelper.element.appendChild(t.domElement),this._guiLoaded())},t=>console.error(t))}_guiLoaded(){let t=getGUI();t&&(this._lightSetting&&this._lightSetting.showGUI(),this._pixotron&&this._pixotronUtil.showGUI(),this._environment&&this._environment.showGUI(),this._addGUIListener(t))}_addGUIListener(t){let e=t.__folders;Object.keys(e).forEach(t=>{let i=e[t];i.__folders&&Object.keys(i.__folders).forEach(t=>{let i=e[t];this._addGUIListener(i)}),i.__controllers&&i.__controllers.forEach(t=>{t.onFinishChange(()=>{this._guiParamChanged()})})})}_guiParamChanged(){this._requestRender()}showStats(){import("./stats-helper-3ffe1651.js").then(t=>this._statsHelper=new t.default)}_onKeyDown(t){}_onKeyUp(t){}pause(){this._getInputManager().removeEvents(this._renderer.domElement),window.removeEventListener("resize",this,!1),window.removeEventListener("keydown",this,!1),window.removeEventListener("keyup",this,!1)}resume(){this.updateCamera(),this._renderer.domElement.classList.add(this._canvasID),this._domHelper.element.appendChild(this._renderer.domElement),this._getInputManager().addEvents(this._renderer.domElement),window.addEventListener("resize",this,!1),window.addEventListener("keydown",this,!1),window.addEventListener("keyup",this,!1),this._renderEverything()}destroy(){this.pause(),this.cleanUp()}handleEvent(t){switch(t.type){case"resize":this._onWindowResize();break;case"keydown":this._onKeyDown(t);break;case"keyup":this._onKeyUp(t)}}loadSceneSettings(t){let e,i;return e=t.environment?new Promise(e=>{(new DynamicEnvironmentSettingLoader).load(this._scene,this._renderer.domElement,this._environment,t).then(t=>{this._setEnvironment(t),e()})}):Promise.resolve(),t.lights?(this._lightSetting=new DynamicLightSetting(this._scene,this._lightSetting),i=this._lightSetting.loadFromObject(t)):i=Promise.resolve(),new Promise((t,s)=>{Promise.all([e,i]).then(()=>{this._requestRender(),t()},s)})}_setEnvironment(t){this._environment=t,this._pixotron&&this._environment instanceof BakedShadowEnvironment&&(this._environment.setPixotron(this._pixotron,this._renderer,this._cameraControl.getCamera(),this.getBakedShadowParams()),this._environment.setLoadedCallback(()=>setTimeout(()=>this._requestRender(),500)))}loadQualitySetting(t){this._pixotron&&(new DynamicQualitySettingLoader).set(this._pixotron,t)}async loadDynamicLightSetting(t){this._lightSetting=new DynamicLightSetting(this._scene,this._lightSetting);let e=!1;if(t.url)await this._lightSetting.loadFromURL(t.url),e=!0;else if(t.json)await this._lightSetting.loadFromJSON(t.json),e=!0;else if(t.object)await this._lightSetting.loadFromObject(t.object),e=!0;else if(t.ls){const i=DynamicLightSettingLoader.createDynamicLightSettingSource(null,t.ls);await this._lightSetting.loadFromURL(i.url),e=!0}if(!e)throw new Error("No dynamic light setting source set");this._requestRender()}getScene(){return this._scene}updateScene(){this._updateBounds(this.getBounds()),this._renderEverything()}_updateBounds(t){if(t){if(this.updateEnvironment(t),this._lightSetting&&this._lightSetting.needsBounds()&&this._lightSetting.updateBounds(t),this._pixotronUtil){const e=new THREE.Sphere;t.getBoundingSphere(e),this._pixotronUtil.updateBounds(e)}this._requestRender()}}setCameraOffset(t){const e=this._cameraControl.getCamera();e.offset?(e.offset=t,this._requestRender()):console.warn("Cannot set offset, current camera does not support it")}getCameraOffset(){const t=this._cameraControl.getCamera();return t.offset?JSON.parse(JSON.stringify(t.offset)):{left:0,top:0,right:1,bottom:1}}getPerspectiveOffsetCamera(){const t=this._domHelper.getClientDimensions(),e=t.x,i=t.y;return RoomleComponentFactoryInitializer().createCamera(30,e/i,.1,20)}updateEnvironment(t,e=!1){if(t&&this._environment&&this._environment.needsBounds()){const i=t.getSize(new THREE.Vector3);i.x+i.y+i.z!==0&&this._environment.updateBounds(t.getSize(new THREE.Vector3),e)}this._environment instanceof BakedShadowEnvironment&&this._environment.update()}}return __decorate([inject],t.prototype,"_domHelper",void 0),__decorate([inject],t.prototype,"_scriptLoader",void 0),__decorate([inject],t.prototype,"_lifeCycleManager",void 0),__decorate([inject],t.prototype,"_staticItemLoader",void 0),__decorate([inject],t.prototype,"_environmentLoader",void 0),__decorate([inject],t.prototype,"_initData",void 0),t})();export{CameraControl2D as C,SceneManager as S,CameraControlFirstPerson as a};
|
|
2
|
+
//# sourceMappingURL=scene-manager-424afdbc.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scene-manager-424afdbc.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var _scriptDir,ConfiguratorKernel=(_scriptDir="undefined"!=typeof document&&document.currentScript?document.currentScript.src:void 0,function(t){var n,r,e;t=t||{},n||(n=void 0!==t?t:{}),n.ready=new Promise((function(t,n){r=t,e=n}));var i=Object.assign({},n),a="./this.program",o=(t,n)=>{throw n},c="";"undefined"!=typeof document&&document.currentScript&&(c=document.currentScript.src),_scriptDir&&(c=_scriptDir),c=0!==c.indexOf("blob:")?c.substr(0,c.replace(/[?#].*/,"").lastIndexOf("/")+1):"";var u=n.print||console.log.bind(console),f=n.printErr||console.warn.bind(console);Object.assign(n,i),i=null,n.thisProgram&&(a=n.thisProgram),n.quit&&(o=n.quit);var s,l=0;n.wasmBinary&&(s=n.wasmBinary);var h=n.noExitRuntime||!0;"object"!=typeof WebAssembly&&z("no native wasm support detected");var v,b=!1,p="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0;function y(t,n,r){var e=n+r;for(r=n;t[r]&&!(r>=e);)++r;if(16<r-n&&t.subarray&&p)return p.decode(t.subarray(n,r));for(e="";n<r;){var i=t[n++];if(128&i){var a=63&t[n++];if(192==(224&i))e+=String.fromCharCode((31&i)<<6|a);else{var o=63&t[n++];65536>(i=224==(240&i)?(15&i)<<12|a<<6|o:(7&i)<<18|a<<12|o<<6|63&t[n++])?e+=String.fromCharCode(i):(i-=65536,e+=String.fromCharCode(55296|i>>10,56320|1023&i))}}else e+=String.fromCharCode(i)}return e}function d(t,n,r,e){if(0<e){e=r+e-1;for(var i=0;i<t.length;++i){var a=t.charCodeAt(i);if(55296<=a&&57343>=a&&(a=65536+((1023&a)<<10)|1023&t.charCodeAt(++i)),127>=a){if(r>=e)break;n[r++]=a}else{if(2047>=a){if(r+1>=e)break;n[r++]=192|a>>6}else{if(65535>=a){if(r+2>=e)break;n[r++]=224|a>>12}else{if(r+3>=e)break;n[r++]=240|a>>18,n[r++]=128|a>>12&63}n[r++]=128|a>>6&63}n[r++]=128|63&a}}n[r]=0}}function g(t){for(var n=0,r=0;r<t.length;++r){var e=t.charCodeAt(r);55296<=e&&57343>=e&&(e=65536+((1023&e)<<10)|1023&t.charCodeAt(++r)),127>=e?++n:n=2047>=e?n+2:65535>=e?n+3:n+4}return n}var m,w,T,_,S,R,A,C,W,j="undefined"!=typeof TextDecoder?new TextDecoder("utf-16le"):void 0;function k(t,n){for(var r=t>>1,e=r+n/2;!(r>=e)&&S[r];)++r;if(32<(r<<=1)-t&&j)return j.decode(T.subarray(t,r));for(r="",e=0;!(e>=n/2);++e){var i=_[t+2*e>>1];if(0==i)break;r+=String.fromCharCode(i)}return r}function P(t,n,r){if(void 0===r&&(r=2147483647),2>r)return 0;var e=n;r=(r-=2)<2*t.length?r/2:t.length;for(var i=0;i<r;++i)_[n>>1]=t.charCodeAt(i),n+=2;return _[n>>1]=0,n-e}function D(t){return 2*t.length}function F(t,n){for(var r=0,e="";!(r>=n/4);){var i=R[t+4*r>>2];if(0==i)break;++r,65536<=i?(i-=65536,e+=String.fromCharCode(55296|i>>10,56320|1023&i)):e+=String.fromCharCode(i)}return e}function E(t,n,r){if(void 0===r&&(r=2147483647),4>r)return 0;var e=n;r=e+r-4;for(var i=0;i<t.length;++i){var a=t.charCodeAt(i);if(55296<=a&&57343>=a&&(a=65536+((1023&a)<<10)|1023&t.charCodeAt(++i)),R[n>>2]=a,(n+=4)+4>r)break}return R[n>>2]=0,n-e}function O(t){for(var n=0,r=0;r<t.length;++r){var e=t.charCodeAt(r);55296<=e&&57343>=e&&++r,n+=4}return n}function U(){var t=v.buffer;m=t,n.HEAP8=w=new Int8Array(t),n.HEAP16=_=new Int16Array(t),n.HEAP32=R=new Int32Array(t),n.HEAPU8=T=new Uint8Array(t),n.HEAPU16=S=new Uint16Array(t),n.HEAPU32=A=new Uint32Array(t),n.HEAPF32=C=new Float32Array(t),n.HEAPF64=W=new Float64Array(t)}var M,x=[],Y=[],I=[],V=[];function H(){var t=n.preRun.shift();x.unshift(t)}var X,B=0,Z=null,$=null;function z(t){throw n.onAbort&&n.onAbort(t),f(t="Aborted("+t+")"),b=!0,t=new WebAssembly.RuntimeError(t+". Build with -s ASSERTIONS=1 for more info."),e(t),t}function q(){return X.startsWith("data:application/octet-stream;base64,")}if(n.preloadedImages={},n.preloadedAudios={},X="ConfiguratorKernel.wasm",!q()){var N=X;X=n.locateFile?n.locateFile(N,c):c+N}function K(){var t=X;try{if(t==X&&s)return new Uint8Array(s);throw"both async and sync fetching of the wasm failed"}catch(t){z(t)}}function L(t){for(;0<t.length;){var r=t.shift();if("function"==typeof r)r(n);else{var e=r.jd;"number"==typeof e?void 0===r.yc?G(e)():G(e)(r.yc):e(void 0===r.yc?null:r.yc)}}}function G(t){return M.get(t)}function J(t){this.Fc=t,this.Sb=t-16,this.wc=function(t){R[this.Sb+4>>2]=t},this.lc=function(){return R[this.Sb+4>>2]},this.cc=function(t){R[this.Sb+8>>2]=t},this.Qc=function(){return R[this.Sb+8>>2]},this.ec=function(){R[this.Sb>>2]=0},this.Dc=function(t){w[this.Sb+12>>0]=t?1:0},this.Pc=function(){return 0!=w[this.Sb+12>>0]},this.sc=function(t){w[this.Sb+13>>0]=t?1:0},this.Hc=function(){return 0!=w[this.Sb+13>>0]},this.bc=function(t,n){this.wc(t),this.cc(n),this.ec(),this.Dc(!1),this.sc(!1)},this.xc=function(){R[this.Sb>>2]+=1},this.Zc=function(){var t=R[this.Sb>>2];return R[this.Sb>>2]=t-1,1===t}}function Q(t){this.zc=function(){kn(this.Sb),this.Sb=0},this.cc=function(t){R[this.Sb>>2]=t},this.hc=function(){return R[this.Sb>>2]},this.bc=function(t){R[this.Sb+4>>2]=t},this.ec=function(){return this.Sb+4},this.wc=function(){return R[this.Sb+4>>2]},this.Jc=function(){if(xn(this.ic().lc()))return R[this.hc()>>2];var t=this.wc();return 0!==t?t:this.hc()},this.ic=function(){return new J(this.hc())},void 0===t?(this.Sb=Pn(8),this.bc(0)):this.Sb=t}var tt=[],nt=0;function rt(t){return kn(new J(t).Sb)}function et(t){if(t.Zc()&&!t.Hc()){var n=t.Qc();n&&G(n)(t.Fc),rt(t.Fc)}}var it=0;function at(){var t=tt.pop();t||z("no exception to throw");var n=t.ic(),r=t.hc();throw n.Hc()?t.zc():(tt.push(t),n.sc(!0),n.Dc(!1),nt++),it=r,r}var ot={};function ct(t){for(;t.length;){var n=t.pop();t.pop()(n)}}function ut(t){return this.fromWireType(A[t>>2])}var ft={},st={},lt={};function ht(t){if(void 0===t)return"_unknown";var n=(t=t.replace(/[^a-zA-Z0-9_]/g,"$")).charCodeAt(0);return 48<=n&&57>=n?"_"+t:t}function vt(t,n){return t=ht(t),new Function("body","return function "+t+'() {\n "use strict"; return body.apply(this, arguments);\n};\n')(n)}function bt(t){var n=Error,r=vt(t,(function(n){this.name=t,this.message=n,void 0!==(n=Error(n).stack)&&(this.stack=this.toString()+"\n"+n.replace(/^Error(:[^\n]*)?\n/,""))}));return r.prototype=Object.create(n.prototype),r.prototype.constructor=r,r.prototype.toString=function(){return void 0===this.message?this.name:this.name+": "+this.message},r}var pt=void 0;function yt(t){throw new pt(t)}function dt(t,n,r){function e(n){(n=r(n)).length!==t.length&&yt("Mismatched type converter count");for(var e=0;e<t.length;++e)St(t[e],n[e])}t.forEach((function(t){lt[t]=n}));var i=Array(n.length),a=[],o=0;n.forEach((function(t,n){st.hasOwnProperty(t)?i[n]=st[t]:(a.push(t),ft.hasOwnProperty(t)||(ft[t]=[]),ft[t].push((function(){i[n]=st[t],++o===a.length&&e(i)})))})),0===a.length&&e(i)}function gt(t){switch(t){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: "+t)}}var mt=void 0;function wt(t){for(var n="";T[t];)n+=mt[T[t++]];return n}var Tt=void 0;function _t(t){throw new Tt(t)}function St(t,n,r={}){if(!("argPackAdvance"in n))throw new TypeError("registerType registeredInstance requires argPackAdvance");var e=n.name;if(t||_t('type "'+e+'" must have a positive integer typeid pointer'),st.hasOwnProperty(t)){if(r.Uc)return;_t("Cannot register type '"+e+"' twice")}st[t]=n,delete lt[t],ft.hasOwnProperty(t)&&(n=ft[t],delete ft[t],n.forEach((function(t){t()})))}function Rt(t){_t(t.Rb.Ub.Tb.name+" instance already deleted")}var At=!1;function Ct(){}function Wt(t){--t.count.value,0===t.count.value&&(t.Wb?t.Zb.ac(t.Wb):t.Ub.Tb.ac(t.Sb))}var jt={},kt=[];function Pt(){for(;kt.length;){var t=kt.pop();t.Rb.fc=!1,t.delete()}}var Dt=void 0,Ft={};function Et(t,n){return n.Ub&&n.Sb||yt("makeClassHandle requires ptr and ptrType"),!!n.Zb!=!!n.Wb&&yt("Both smartPtrType and smartPtr must be specified"),n.count={value:1},Ot(Object.create(t,{Rb:{value:n}}))}function Ot(t){return"undefined"==typeof FinalizationRegistry?(Ot=t=>t,t):(At=new FinalizationRegistry(t=>{Wt(t.Rb)}),Ct=t=>{At.unregister(t)},(Ot=t=>{var n=t.Rb;return n.Wb&&At.register(t,{Rb:n},t),t})(t))}function Ut(){}function Mt(t,n,r){if(void 0===t[n].Vb){var e=t[n];t[n]=function(){return t[n].Vb.hasOwnProperty(arguments.length)||_t("Function '"+r+"' called with an invalid number of arguments ("+arguments.length+") - expects one of ("+t[n].Vb+")!"),t[n].Vb[arguments.length].apply(this,arguments)},t[n].Vb=[],t[n].Vb[e.pc]=e}}function xt(t,r,e){n.hasOwnProperty(t)?((void 0===e||void 0!==n[t].Vb&&void 0!==n[t].Vb[e])&&_t("Cannot register public name '"+t+"' twice"),Mt(n,t,t),n.hasOwnProperty(e)&&_t("Cannot register multiple overloads of a function with the same number of arguments ("+e+")!"),n[t].Vb[e]=r):(n[t]=r,void 0!==e&&(n[t].ld=e))}function Yt(t,n,r,e,i,a,o,c){this.name=t,this.constructor=n,this.jc=r,this.ac=e,this.$b=i,this.Nc=a,this.oc=o,this.Lc=c,this.Xc=[]}function It(t,n,r){for(;n!==r;)n.oc||_t("Expected null or instance of "+r.name+", got an instance of "+n.name),t=n.oc(t),n=n.$b;return t}function Vt(t,n){return null===n?(this.Ac&&_t("null is not a valid "+this.name),0):(n.Rb||_t('Cannot pass "'+on(n)+'" as a '+this.name),n.Rb.Sb||_t("Cannot pass deleted object as a pointer of type "+this.name),It(n.Rb.Sb,n.Rb.Ub.Tb,this.Tb))}function Ht(t,n){if(null===n){if(this.Ac&&_t("null is not a valid "+this.name),this.rc){var r=this.Bc();return null!==t&&t.push(this.ac,r),r}return 0}if(n.Rb||_t('Cannot pass "'+on(n)+'" as a '+this.name),n.Rb.Sb||_t("Cannot pass deleted object as a pointer of type "+this.name),!this.qc&&n.Rb.Ub.qc&&_t("Cannot convert argument of type "+(n.Rb.Zb?n.Rb.Zb.name:n.Rb.Ub.name)+" to parameter type "+this.name),r=It(n.Rb.Sb,n.Rb.Ub.Tb,this.Tb),this.rc)switch(void 0===n.Rb.Wb&&_t("Passing raw pointer to smart pointer is illegal"),this.cd){case 0:n.Rb.Zb===this?r=n.Rb.Wb:_t("Cannot convert argument of type "+(n.Rb.Zb?n.Rb.Zb.name:n.Rb.Ub.name)+" to parameter type "+this.name);break;case 1:r=n.Rb.Wb;break;case 2:if(n.Rb.Zb===this)r=n.Rb.Wb;else{var e=n.clone();r=this.Yc(r,rn((function(){e.delete()}))),null!==t&&t.push(this.ac,r)}break;default:_t("Unsupporting sharing policy")}return r}function Xt(t,n){return null===n?(this.Ac&&_t("null is not a valid "+this.name),0):(n.Rb||_t('Cannot pass "'+on(n)+'" as a '+this.name),n.Rb.Sb||_t("Cannot pass deleted object as a pointer of type "+this.name),n.Rb.Ub.qc&&_t("Cannot convert argument of type "+n.Rb.Ub.name+" to parameter type "+this.name),It(n.Rb.Sb,n.Rb.Ub.Tb,this.Tb))}function Bt(t,n,r,e,i,a,o,c,u,f,s){this.name=t,this.Tb=n,this.Ac=r,this.qc=e,this.rc=i,this.Wc=a,this.cd=o,this.Ic=c,this.Bc=u,this.Yc=f,this.ac=s,i||void 0!==n.$b?this.toWireType=Ht:(this.toWireType=e?Vt:Xt,this.Yb=null)}function Zt(t,r,e){n.hasOwnProperty(t)||yt("Replacing nonexistant public symbol"),void 0!==n[t].Vb&&void 0!==e?n[t].Vb[e]=r:(n[t]=r,n[t].pc=e)}function $t(t,r){var e=(t=wt(t)).includes("j")?function(t,r){var e=[];return function(){if(e.length=0,Object.assign(e,arguments),t.includes("j")){var i=n["dynCall_"+t];i=e&&e.length?i.apply(null,[r].concat(e)):i.call(null,r)}else i=G(r).apply(null,e);return i}}(t,r):G(r);return"function"!=typeof e&&_t("unknown function pointer with signature "+t+": "+r),e}var zt=void 0;function qt(t){var n=wt(t=Dn(t));return kn(t),n}function Nt(t,n){var r=[],e={};throw n.forEach((function t(n){e[n]||st[n]||(lt[n]?lt[n].forEach(t):(r.push(n),e[n]=!0))})),new zt(t+": "+r.map(qt).join([", "]))}function Kt(t,n){for(var r=[],e=0;e<t;e++)r.push(R[(n>>2)+e]);return r}function Lt(t){var n=Function;if(!(n instanceof Function))throw new TypeError("new_ called with constructor type "+typeof n+" which is not a function");var r=vt(n.name||"unknownFunctionName",(function(){}));return r.prototype=n.prototype,r=new r,(t=n.apply(r,t))instanceof Object?t:r}function Gt(t,n,r,e,i){var a=n.length;2>a&&_t("argTypes array size mismatch! Must at least get return value and 'this' types!");var o=null!==n[1]&&null!==r,c=!1;for(r=1;r<n.length;++r)if(null!==n[r]&&void 0===n[r].Yb){c=!0;break}var u="void"!==n[0].name,f="",s="";for(r=0;r<a-2;++r)f+=(0!==r?", ":"")+"arg"+r,s+=(0!==r?", ":"")+"arg"+r+"Wired";t="return function "+ht(t)+"("+f+") {\nif (arguments.length !== "+(a-2)+") {\nthrowBindingError('function "+t+" called with ' + arguments.length + ' arguments, expected "+(a-2)+" args!');\n}\n",c&&(t+="var destructors = [];\n");var l=c?"destructors":"null";for(f="throwBindingError invoker fn runDestructors retType classParam".split(" "),e=[_t,e,i,ct,n[0],n[1]],o&&(t+="var thisWired = classParam.toWireType("+l+", this);\n"),r=0;r<a-2;++r)t+="var arg"+r+"Wired = argType"+r+".toWireType("+l+", arg"+r+"); // "+n[r+2].name+"\n",f.push("argType"+r),e.push(n[r+2]);if(o&&(s="thisWired"+(0<s.length?", ":"")+s),t+=(u?"var rv = ":"")+"invoker(fn"+(0<s.length?", ":"")+s+");\n",c)t+="runDestructors(destructors);\n";else for(r=o?1:2;r<n.length;++r)a=1===r?"thisWired":"arg"+(r-2)+"Wired",null!==n[r].Yb&&(t+=a+"_dtor("+a+"); // "+n[r].name+"\n",f.push(a+"_dtor"),e.push(n[r].Yb));return u&&(t+="var ret = retType.fromWireType(rv);\nreturn ret;\n"),f.push(t+"}\n"),Lt(f).apply(null,e)}var Jt=[],Qt=[{},{value:void 0},{value:null},{value:!0},{value:!1}];function tn(t){4<t&&0==--Qt[t].Cc&&(Qt[t]=void 0,Jt.push(t))}function nn(t){return t||_t("Cannot use deleted val. handle = "+t),Qt[t].value}function rn(t){switch(t){case void 0:return 1;case null:return 2;case!0:return 3;case!1:return 4;default:var n=Jt.length?Jt.pop():Qt.length;return Qt[n]={Cc:1,value:t},n}}function en(t,n,r){switch(n){case 0:return function(t){return this.fromWireType((r?w:T)[t])};case 1:return function(t){return this.fromWireType((r?_:S)[t>>1])};case 2:return function(t){return this.fromWireType((r?R:A)[t>>2])};default:throw new TypeError("Unknown integer type: "+t)}}function an(t,n){var r=st[t];return void 0===r&&_t(n+" has unknown type "+qt(t)),r}function on(t){if(null===t)return"null";var n=typeof t;return"object"===n||"array"===n||"function"===n?t.toString():""+t}function cn(t,n){switch(n){case 2:return function(t){return this.fromWireType(C[t>>2])};case 3:return function(t){return this.fromWireType(W[t>>3])};default:throw new TypeError("Unknown float type: "+t)}}function un(t,n,r){switch(n){case 0:return r?function(t){return w[t]}:function(t){return T[t]};case 1:return r?function(t){return _[t>>1]}:function(t){return S[t>>1]};case 2:return r?function(t){return R[t>>2]}:function(t){return A[t>>2]};default:throw new TypeError("Unknown integer type: "+t)}}function fn(t,n){for(var r=Array(t),e=0;e<t;++e)r[e]=an(R[(n>>2)+e],"parameter "+e);return r}var sn={};function ln(t){var n=sn[t];return void 0===n?wt(t):n}var hn=[];function vn(){return"object"==typeof globalThis?globalThis:Function("return this")()}var bn=[],pn={},yn={};function dn(){if(!gn){var t,n={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"==typeof navigator&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:a||"./this.program"};for(t in yn)void 0===yn[t]?delete n[t]:n[t]=yn[t];var r=[];for(t in n)r.push(t+"="+n[t]);gn=r}return gn}var gn,mn=[null,[],[]],wn={};function Tn(t){return 0==t%4&&(0!=t%100||0==t%400)}function _n(t,n){for(var r=0,e=0;e<=n;r+=t[e++]);return r}var Sn=[31,29,31,30,31,30,31,31,30,31,30,31],Rn=[31,28,31,30,31,30,31,31,30,31,30,31];function An(t,n){for(t=new Date(t.getTime());0<n;){var r=t.getMonth(),e=(Tn(t.getFullYear())?Sn:Rn)[r];if(!(n>e-t.getDate())){t.setDate(t.getDate()+n);break}n-=e-t.getDate()+1,t.setDate(1),11>r?t.setMonth(r+1):(t.setMonth(0),t.setFullYear(t.getFullYear()+1))}return t}pt=n.InternalError=bt("InternalError");for(var Cn=Array(256),Wn=0;256>Wn;++Wn)Cn[Wn]=String.fromCharCode(Wn);mt=Cn,Tt=n.BindingError=bt("BindingError"),Ut.prototype.isAliasOf=function(t){if(!(this instanceof Ut&&t instanceof Ut))return!1;var n=this.Rb.Ub.Tb,r=this.Rb.Sb,e=t.Rb.Ub.Tb;for(t=t.Rb.Sb;n.$b;)r=n.oc(r),n=n.$b;for(;e.$b;)t=e.oc(t),e=e.$b;return n===e&&r===t},Ut.prototype.clone=function(){if(this.Rb.Sb||Rt(this),this.Rb.mc)return this.Rb.count.value+=1,this;var t=Ot,n=Object,r=n.create,e=Object.getPrototypeOf(this),i=this.Rb;return(t=t(r.call(n,e,{Rb:{value:{count:i.count,fc:i.fc,mc:i.mc,Sb:i.Sb,Ub:i.Ub,Wb:i.Wb,Zb:i.Zb}}}))).Rb.count.value+=1,t.Rb.fc=!1,t},Ut.prototype.delete=function(){this.Rb.Sb||Rt(this),this.Rb.fc&&!this.Rb.mc&&_t("Object already scheduled for deletion"),Ct(this),Wt(this.Rb),this.Rb.mc||(this.Rb.Wb=void 0,this.Rb.Sb=void 0)},Ut.prototype.isDeleted=function(){return!this.Rb.Sb},Ut.prototype.deleteLater=function(){return this.Rb.Sb||Rt(this),this.Rb.fc&&!this.Rb.mc&&_t("Object already scheduled for deletion"),kt.push(this),1===kt.length&&Dt&&Dt(Pt),this.Rb.fc=!0,this},n.getInheritedInstanceCount=function(){return Object.keys(Ft).length},n.getLiveInheritedInstances=function(){var t,n=[];for(t in Ft)Ft.hasOwnProperty(t)&&n.push(Ft[t]);return n},n.flushPendingDeletes=Pt,n.setDelayFunction=function(t){Dt=t,kt.length&&Dt&&Dt(Pt)},Bt.prototype.Oc=function(t){return this.Ic&&(t=this.Ic(t)),t},Bt.prototype.Ec=function(t){this.ac&&this.ac(t)},Bt.prototype.argPackAdvance=8,Bt.prototype.readValueFromPointer=ut,Bt.prototype.deleteObject=function(t){null!==t&&t.delete()},Bt.prototype.fromWireType=function(t){function n(){return this.rc?Et(this.Tb.jc,{Ub:this.Wc,Sb:r,Zb:this,Wb:t}):Et(this.Tb.jc,{Ub:this,Sb:t})}var r=this.Oc(t);if(!r)return this.Ec(t),null;var e=function(t,n){for(void 0===n&&_t("ptr should not be undefined");t.$b;)n=t.oc(n),t=t.$b;return Ft[n]}(this.Tb,r);if(void 0!==e)return 0===e.Rb.count.value?(e.Rb.Sb=r,e.Rb.Wb=t,e.clone()):(e=e.clone(),this.Ec(t),e);if(e=this.Tb.Nc(r),!(e=jt[e]))return n.call(this);e=this.qc?e.Kc:e.pointerType;var i=function t(n,r,e){return r===e?n:void 0===e.$b||null===(n=t(n,r,e.$b))?null:e.Lc(n)}(r,this.Tb,e.Tb);return null===i?n.call(this):this.rc?Et(e.Tb.jc,{Ub:e,Sb:i,Zb:this,Wb:t}):Et(e.Tb.jc,{Ub:e,Sb:i})},zt=n.UnboundTypeError=bt("UnboundTypeError"),n.count_emval_handles=function(){for(var t=0,n=5;n<Qt.length;++n)void 0!==Qt[n]&&++t;return t},n.get_first_emval=function(){for(var t=5;t<Qt.length;++t)if(void 0!==Qt[t])return Qt[t];return null};var jn={n:function(t){return Pn(t+16)+16},p:function(t){var n=(t=new Q(t)).ic();return n.Pc()||(n.Dc(!0),nt--),n.sc(!1),tt.push(t),n.xc(),t.Jc()},Oa:function(t){throw f("Unexpected exception thrown, this is not properly supported - aborting"),b=!0,t},Ua:function(){if(!tt.length)return 0;var t=tt[tt.length-1];return t.ic().xc(),t.hc()},ta:function(t){t&&et(new J(t))},u:function(){En(0);var t=tt.pop();et(t.ic()),t.zc(),it=0},b:function(){var t=it;if(!t)return l=0;var n=new J(t).lc(),r=new Q;if(r.cc(t),r.bc(t),!n)return l=0,0|r.Sb;t=Array.prototype.slice.call(arguments);for(var e=0;e<t.length;e++){var i=t[e];if(0===i||i===n)break;if(Mn(i,n,r.ec()))return l=i,0|r.Sb}return l=n,0|r.Sb},h:function(){var t=it;if(!t)return l=0;var n=new J(t).lc(),r=new Q;if(r.cc(t),r.bc(t),!n)return l=0,0|r.Sb;t=Array.prototype.slice.call(arguments);for(var e=0;e<t.length;e++){var i=t[e];if(0===i||i===n)break;if(Mn(i,n,r.ec()))return l=i,0|r.Sb}return l=n,0|r.Sb},H:function(){var t=it;if(!t)return l=0;var n=new J(t).lc(),r=new Q;if(r.cc(t),r.bc(t),!n)return l=0,0|r.Sb;t=Array.prototype.slice.call(arguments);for(var e=0;e<t.length;e++){var i=t[e];if(0===i||i===n)break;if(Mn(i,n,r.ec()))return l=i,0|r.Sb}return l=n,0|r.Sb},za:function(){var t=it;if(!t)return l=0;var n=new J(t).lc(),r=new Q;if(r.cc(t),r.bc(t),!n)return l=0,0|r.Sb;t=Array.prototype.slice.call(arguments);for(var e=0;e<t.length;e++){var i=t[e];if(0===i||i===n)break;if(Mn(i,n,r.ec()))return l=i,0|r.Sb}return l=n,0|r.Sb},o:rt,sa:function(t){t&&new J(t).xc()},ra:at,Ta:function(t){if(t){var n=new Q;n.cc(t),t=n.ic(),tt.push(n),t.sc(!0),at()}},G:function(t,n,r){throw new J(t).bc(n,r),it=t,nt++,t},Va:function(){return nt},e:function(t){var n=(t=new Q(t)).hc();throw it||(it=n),t.zc(),n},bb:function(t){var n=ot[t];delete ot[t];var r=n.Bc,e=n.ac,i=n.Gc;dt([t],i.map((function(t){return t.Tc})).concat(i.map((function(t){return t.ad}))),(function(t){var a={};return i.forEach((function(n,r){var e=t[r],o=n.Rc,c=n.Sc,u=t[r+i.length],f=n.$c,s=n.bd;a[n.Mc]={read:function(t){return e.fromWireType(o(c,t))},write:function(t,n){var r=[];f(s,t,u.toWireType(r,n)),ct(r)}}})),[{name:n.name,fromWireType:function(t){var n,r={};for(n in a)r[n]=a[n].read(t);return e(t),r},toWireType:function(t,n){for(var i in a)if(!(i in n))throw new TypeError('Missing field: "'+i+'"');var o=r();for(i in a)a[i].write(o,n[i]);return null!==t&&t.push(e,o),o},argPackAdvance:8,readValueFromPointer:ut,Yb:e}]}))},lb:function(){},Za:function(t,n,r,e,i){var a=gt(r);St(t,{name:n=wt(n),fromWireType:function(t){return!!t},toWireType:function(t,n){return n?e:i},argPackAdvance:8,readValueFromPointer:function(t){if(1===r)var e=w;else if(2===r)e=_;else{if(4!==r)throw new TypeError("Unknown boolean type size: "+n);e=R}return this.fromWireType(e[t>>a])},Yb:null})},y:function(t,n,r,e,i,a,o,c,u,f,s,l,h){s=wt(s),a=$t(i,a),c&&(c=$t(o,c)),f&&(f=$t(u,f)),h=$t(l,h);var v=ht(s);xt(v,(function(){Nt("Cannot construct "+s+" due to unbound types",[e])})),dt([t,n,r],e?[e]:[],(function(n){if(n=n[0],e)var r=n.Tb,i=r.jc;else i=Ut.prototype;n=vt(v,(function(){if(Object.getPrototypeOf(this)!==o)throw new Tt("Use 'new' to construct "+s);if(void 0===u.dc)throw new Tt(s+" has no accessible constructor");var t=u.dc[arguments.length];if(void 0===t)throw new Tt("Tried to invoke ctor of "+s+" with invalid number of parameters ("+arguments.length+") - expected ("+Object.keys(u.dc).toString()+") parameters instead!");return t.apply(this,arguments)}));var o=Object.create(i,{constructor:{value:n}});n.prototype=o;var u=new Yt(s,n,o,h,r,a,c,f);r=new Bt(s,u,!0,!1,!1),i=new Bt(s+"*",u,!1,!1,!1);var l=new Bt(s+" const*",u,!1,!0,!1);return jt[t]={pointerType:i,Kc:l},Zt(v,n),[r,i,l]}))},x:function(t,n,r,e,i,a){0<n||z(void 0);var o=Kt(n,r);i=$t(e,i),dt([],[t],(function(t){var r="constructor "+(t=t[0]).name;if(void 0===t.Tb.dc&&(t.Tb.dc=[]),void 0!==t.Tb.dc[n-1])throw new Tt("Cannot register multiple constructors with identical number of parameters ("+(n-1)+") for class '"+t.name+"'! Overload resolution is currently only performed using the parameter count, not actual type info!");return t.Tb.dc[n-1]=()=>{Nt("Cannot construct "+t.name+" due to unbound types",o)},dt([],o,(function(e){return e.splice(1,0,null),t.Tb.dc[n-1]=Gt(r,e,null,i,a),[]})),[]}))},m:function(t,n,r,e,i,a,o,c){var u=Kt(r,e);n=wt(n),a=$t(i,a),dt([],[t],(function(t){function e(){Nt("Cannot call "+i+" due to unbound types",u)}var i=(t=t[0]).name+"."+n;n.startsWith("@@")&&(n=Symbol[n.substring(2)]),c&&t.Tb.Xc.push(n);var f=t.Tb.jc,s=f[n];return void 0===s||void 0===s.Vb&&s.className!==t.name&&s.pc===r-2?(e.pc=r-2,e.className=t.name,f[n]=e):(Mt(f,n,i),f[n].Vb[r-2]=e),dt([],u,(function(e){return e=Gt(i,e,t,a,o),void 0===f[n].Vb?(e.pc=r-2,f[n]=e):f[n].Vb[r-2]=e,[]})),[]}))},Ya:function(t,n){St(t,{name:n=wt(n),fromWireType:function(t){var n=nn(t);return tn(t),n},toWireType:function(t,n){return rn(n)},argPackAdvance:8,readValueFromPointer:ut,Yb:null})},Z:function(t,n,r,e){function i(){}r=gt(r),n=wt(n),i.values={},St(t,{name:n,constructor:i,fromWireType:function(t){return this.constructor.values[t]},toWireType:function(t,n){return n.value},argPackAdvance:8,readValueFromPointer:en(n,r,e),Yb:null}),xt(n,i)},Y:function(t,n,r){var e=an(t,"enum");n=wt(n),t=e.constructor,e=Object.create(e.constructor.prototype,{value:{value:r},constructor:{value:vt(e.name+"_"+n,(function(){}))}}),t.values[r]=e,t[n]=e},ua:function(t,n,r){r=gt(r),St(t,{name:n=wt(n),fromWireType:function(t){return t},toWireType:function(t,n){return n},argPackAdvance:8,readValueFromPointer:cn(n,r),Yb:null})},X:function(t,n,r,e,i,a){var o=Kt(n,r);t=wt(t),i=$t(e,i),xt(t,(function(){Nt("Cannot call "+t+" due to unbound types",o)}),n-1),dt([],o,(function(r){return Zt(t,Gt(t,[r[0],null].concat(r.slice(1)),null,i,a),n-1),[]}))},L:function(t,n,r,e,i){n=wt(n),-1===i&&(i=4294967295),i=gt(r);var a=t=>t;if(0===e){var o=32-8*r;a=t=>t<<o>>>o}r=n.includes("unsigned")?function(t,n){return n>>>0}:function(t,n){return n},St(t,{name:n,fromWireType:a,toWireType:r,argPackAdvance:8,readValueFromPointer:un(n,i,0!==e),Yb:null})},I:function(t,n,r){function e(t){var n=A;return new i(m,n[1+(t>>=2)],n[t])}var i=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][n];St(t,{name:r=wt(r),fromWireType:e,argPackAdvance:8,readValueFromPointer:e},{Uc:!0})},wa:function(t,n,r,e,i,a,o,c,u,f,s,l){r=wt(r),a=$t(i,a),c=$t(o,c),f=$t(u,f),l=$t(s,l),dt([t],[n],(function(t){return t=t[0],[new Bt(r,t.Tb,!1,!1,!0,t,e,a,c,f,l)]}))},va:function(t,n){var r="std::string"===(n=wt(n));St(t,{name:n,fromWireType:function(t){var n=A[t>>2];if(r)for(var e=t+4,i=0;i<=n;++i){var a=t+4+i;if(i==n||0==T[a]){if(e=e?y(T,e,a-e):"",void 0===o)var o=e;else o+=String.fromCharCode(0),o+=e;e=a+1}}else{for(o=Array(n),i=0;i<n;++i)o[i]=String.fromCharCode(T[t+4+i]);o=o.join("")}return kn(t),o},toWireType:function(t,n){n instanceof ArrayBuffer&&(n=new Uint8Array(n));var e="string"==typeof n;e||n instanceof Uint8Array||n instanceof Uint8ClampedArray||n instanceof Int8Array||_t("Cannot pass non-string to std::string");var i=(r&&e?()=>g(n):()=>n.length)(),a=Pn(4+i+1);if(A[a>>2]=i,r&&e)d(n,T,a+4,i+1);else if(e)for(e=0;e<i;++e){var o=n.charCodeAt(e);255<o&&(kn(a),_t("String has UTF-16 code units that do not fit in 8 bits")),T[a+4+e]=o}else for(e=0;e<i;++e)T[a+4+e]=n[e];return null!==t&&t.push(kn,a),a},argPackAdvance:8,readValueFromPointer:ut,Yb:function(t){kn(t)}})},ia:function(t,n,r){if(r=wt(r),2===n)var e=k,i=P,a=D,o=()=>S,c=1;else 4===n&&(e=F,i=E,a=O,o=()=>A,c=2);St(t,{name:r,fromWireType:function(t){for(var r,i=A[t>>2],a=o(),u=t+4,f=0;f<=i;++f){var s=t+4+f*n;f!=i&&0!=a[s>>c]||(u=e(u,s-u),void 0===r?r=u:(r+=String.fromCharCode(0),r+=u),u=s+n)}return kn(t),r},toWireType:function(t,e){"string"!=typeof e&&_t("Cannot pass non-string to C++ string type "+r);var o=a(e),u=Pn(4+o+n);return A[u>>2]=o>>c,i(e,u+4,o+n),null!==t&&t.push(kn,u),u},argPackAdvance:8,readValueFromPointer:ut,Yb:function(t){kn(t)}})},z:function(t,n,r,e,i,a){ot[t]={name:wt(n),Bc:$t(r,e),ac:$t(i,a),Gc:[]}},s:function(t,n,r,e,i,a,o,c,u,f){ot[t].Gc.push({Mc:wt(n),Tc:r,Rc:$t(e,i),Sc:a,ad:o,$c:$t(c,u),bd:f})},_a:function(t,n){St(t,{Vc:!0,name:n=wt(n),argPackAdvance:0,fromWireType:function(){},toWireType:function(){}})},eb:function(t,n,r){t=nn(t),n=an(n,"emval::as");var e=[],i=rn(e);return R[r>>2]=i,n.toWireType(e,t)},ab:function(t,n,r,e){t=nn(t),r=fn(n,r);for(var i=Array(n),a=0;a<n;++a){var o=r[a];i[a]=o.readValueFromPointer(e),e+=o.argPackAdvance}return rn(t=t.apply(void 0,i))},Q:function(t,n,r,e,i){t=hn[t],n=nn(n),r=ln(r);var a=[];return R[e>>2]=rn(a),t(n,r,a,i)},F:function(t,n,r,e){(t=hn[t])(n=nn(n),r=ln(r),null,e)},ja:tn,Ia:function(t){return 0===t?rn(vn()):(t=ln(t),rn(vn()[t]))},w:function(t,n){var r=fn(t,n),e=r[0];n=e.name+"_$"+r.slice(1).map((function(t){return t.name})).join("_")+"$";var i=bn[n];if(void 0!==i)return i;i=["retType"];for(var a=[e],o="",c=0;c<t-1;++c)o+=(0!==c?", ":"")+"arg"+c,i.push("argType"+c),a.push(r[1+c]);var u="return function "+ht("methodCaller_"+n)+"(handle, name, destructors, args) {\n",f=0;for(c=0;c<t-1;++c)u+=" var arg"+c+" = argType"+c+".readValueFromPointer(args"+(f?"+"+f:"")+");\n",f+=r[c+1].argPackAdvance;for(u+=" var rv = handle[name]("+o+");\n",c=0;c<t-1;++c)r[c+1].deleteObject&&(u+=" argType"+c+".deleteObject(arg"+c+");\n");return e.Vc||(u+=" return retType.toWireType(destructors, rv);\n"),i.push(u+"};\n"),i=function(t){var n=hn.length;return hn.push(t),n}(t=Lt(i).apply(null,a)),bn[n]=i},fb:function(t){return t=ln(t),rn(n[t])},qb:function(t,n){return rn((t=nn(t))[n=nn(n)])},Da:function(t){4<t&&(Qt[t].Cc+=1)},db:function(t,r,e,i){t=nn(t);var a=pn[r];if(!a){a="";for(var o=0;o<r;++o)a+=(0!==o?", ":"")+"arg"+o;var c="return function emval_allocator_"+r+"(constructor, argTypes, args) {\n";for(o=0;o<r;++o)c+="var argType"+o+" = requireRegisteredType(Module['HEAP32'][(argTypes >>> 2) + "+o+'], "parameter '+o+'");\nvar arg'+o+" = argType"+o+".readValueFromPointer(args);\nargs += argType"+o+"['argPackAdvance'];\n";a=new Function("requireRegisteredType","Module","valueToHandle",c+"var obj = new constructor("+a+");\nreturn valueToHandle(obj);\n}\n")(an,n,rn),pn[r]=a}return a(t,e,i)},$a:function(){return rn([])},mb:function(t){return rn(ln(t))},Ma:function(t){ct(nn(t)),tn(t)},cb:function(t,n){return(t=nn(t))===nn(n)},A:function(t,n){return rn(t=(t=an(t,"_emval_take_value")).readValueFromPointer(n))},ga:function(){z("")},ha:function(t){var n=T.length;if(2147483648<(t>>>=0))return!1;for(var r=1;4>=r;r*=2){var e=n*(1+.2/r);e=Math.min(e,t+100663296);var i=Math;e=Math.max(t,e),i=i.min.call(i,2147483648,e+(65536-e%65536)%65536);t:{try{v.grow(i-m.byteLength+65535>>>16),U();var a=1;break t}catch(t){}a=void 0}if(a)return!0}return!1},Wa:function(t,n){var r=0;return dn().forEach((function(e,i){var a=n+r;for(i=R[t+4*i>>2]=a,a=0;a<e.length;++a)w[i++>>0]=e.charCodeAt(a);w[i>>0]=0,r+=e.length+1})),0},Xa:function(t,n){var r=dn();R[t>>2]=r.length;var e=0;return r.forEach((function(t){e+=t.length+1})),R[n>>2]=e,0},Qa:function(){return 0},Sa:function(t,n,r,e){return t=wn.kd(t),n=wn.hd(t,n,r),R[e>>2]=n,0},kb:function(){},Ra:function(t,n,r,e){for(var i=0,a=0;a<r;a++){var o=R[n>>2],c=R[n+4>>2];n+=8;for(var s=0;s<c;s++){var l=T[o+s],h=mn[t];0===l||10===l?((1===t?u:f)(y(h,0)),h.length=0):h.push(l)}i+=c}return R[e>>2]=i,0},a:function(){return l},Na:function(t,n){var r=On();try{return G(t)(n)}catch(t){if(Un(r),t!==t+0)throw t;En(1,0)}},ma:function(t,n,r){var e=On();try{return G(t)(n,r)}catch(t){if(Un(e),t!==t+0)throw t;En(1,0)}},nb:function(t,n,r,e){var i=On();try{return G(t)(n,r,e)}catch(t){if(Un(i),t!==t+0)throw t;En(1,0)}},E:function(t,n){var r=On();try{return G(t)(n)}catch(t){if(Un(r),t!==t+0)throw t;En(1,0)}},pb:function(t,n,r){var e=On();try{return G(t)(n,r)}catch(t){if(Un(e),t!==t+0)throw t;En(1,0)}},tb:function(t,n,r,e){var i=On();try{return G(t)(n,r,e)}catch(t){if(Un(i),t!==t+0)throw t;En(1,0)}},R:function(t,n,r){var e=On();try{return G(t)(n,r)}catch(t){if(Un(e),t!==t+0)throw t;En(1,0)}},P:function(t,n,r,e,i){var a=On();try{return G(t)(n,r,e,i)}catch(t){if(Un(a),t!==t+0)throw t;En(1,0)}},$:function(t,n,r,e){var i=On();try{return G(t)(n,r,e)}catch(t){if(Un(i),t!==t+0)throw t;En(1,0)}},W:function(t){var n=On();try{return G(t)()}catch(t){if(Un(n),t!==t+0)throw t;En(1,0)}},S:function(t,n){var r=On();try{return G(t)(n)}catch(t){if(Un(r),t!==t+0)throw t;En(1,0)}},Ka:function(t,n,r,e){var i=On();try{return G(t)(n,r,e)}catch(t){if(Un(i),t!==t+0)throw t;En(1,0)}},g:function(t,n){var r=On();try{return G(t)(n)}catch(t){if(Un(r),t!==t+0)throw t;En(1,0)}},fa:function(t,n,r){var e=On();try{return G(t)(n,r)}catch(t){if(Un(e),t!==t+0)throw t;En(1,0)}},N:function(t,n,r){var e=On();try{return G(t)(n,r)}catch(t){if(Un(e),t!==t+0)throw t;En(1,0)}},sb:function(t,n,r,e){var i=On();try{return G(t)(n,r,e)}catch(t){if(Un(i),t!==t+0)throw t;En(1,0)}},c:function(t,n,r){var e=On();try{return G(t)(n,r)}catch(t){if(Un(e),t!==t+0)throw t;En(1,0)}},rb:function(t,n,r,e){var i=On();try{return G(t)(n,r,e)}catch(t){if(Un(i),t!==t+0)throw t;En(1,0)}},oa:function(t,n,r,e,i,a,o){var c=On();try{return G(t)(n,r,e,i,a,o)}catch(t){if(Un(c),t!==t+0)throw t;En(1,0)}},i:function(t,n,r,e){var i=On();try{return G(t)(n,r,e)}catch(t){if(Un(i),t!==t+0)throw t;En(1,0)}},Ha:function(t,n,r,e,i,a,o,c,u,f,s,l,h,v){var b=On();try{return G(t)(n,r,e,i,a,o,c,u,f,s,l,h,v)}catch(t){if(Un(b),t!==t+0)throw t;En(1,0)}},r:function(t,n,r,e,i){var a=On();try{return G(t)(n,r,e,i)}catch(t){if(Un(a),t!==t+0)throw t;En(1,0)}},ya:function(t,n,r,e,i,a){var o=On();try{return G(t)(n,r,e,i,a)}catch(t){if(Un(o),t!==t+0)throw t;En(1,0)}},v:function(t,n,r,e,i,a){var o=On();try{return G(t)(n,r,e,i,a)}catch(t){if(Un(o),t!==t+0)throw t;En(1,0)}},D:function(t,n,r,e,i,a,o){var c=On();try{return G(t)(n,r,e,i,a,o)}catch(t){if(Un(c),t!==t+0)throw t;En(1,0)}},K:function(t,n,r,e,i,a,o,c){var u=On();try{return G(t)(n,r,e,i,a,o,c)}catch(t){if(Un(u),t!==t+0)throw t;En(1,0)}},ca:function(t,n,r,e,i,a,o,c,u){var f=On();try{return G(t)(n,r,e,i,a,o,c,u)}catch(t){if(Un(f),t!==t+0)throw t;En(1,0)}},_:function(t,n,r,e,i,a,o,c,u,f){var s=On();try{return G(t)(n,r,e,i,a,o,c,u,f)}catch(t){if(Un(s),t!==t+0)throw t;En(1,0)}},ba:function(t,n,r,e,i,a,o,c,u,f,s,l){var h=On();try{return G(t)(n,r,e,i,a,o,c,u,f,s,l)}catch(t){if(Un(h),t!==t+0)throw t;En(1,0)}},gb:function(t,n,r,e){var i=On();try{return Vn(t,n,r,e)}catch(t){if(Un(i),t!==t+0)throw t;En(1,0)}},jb:function(t,n,r){var e=On();try{return Yn(t,n,r)}catch(t){if(Un(e),t!==t+0)throw t;En(1,0)}},k:function(t){var n=On();try{G(t)()}catch(t){if(Un(n),t!==t+0)throw t;En(1,0)}},l:function(t,n){var r=On();try{G(t)(n)}catch(t){if(Un(r),t!==t+0)throw t;En(1,0)}},ub:function(t,n,r){var e=On();try{G(t)(n,r)}catch(t){if(Un(e),t!==t+0)throw t;En(1,0)}},pa:function(t,n,r,e){var i=On();try{G(t)(n,r,e)}catch(t){if(Un(i),t!==t+0)throw t;En(1,0)}},ka:function(t,n,r){var e=On();try{G(t)(n,r)}catch(t){if(Un(e),t!==t+0)throw t;En(1,0)}},qa:function(t,n,r,e,i,a,o,c,u,f){var s=On();try{G(t)(n,r,e,i,a,o,c,u,f)}catch(t){if(Un(s),t!==t+0)throw t;En(1,0)}},Fa:function(t,n,r,e){var i=On();try{G(t)(n,r,e)}catch(t){if(Un(i),t!==t+0)throw t;En(1,0)}},Ea:function(t,n,r,e,i,a,o,c){var u=On();try{G(t)(n,r,e,i,a,o,c)}catch(t){if(Un(u),t!==t+0)throw t;En(1,0)}},Ca:function(t,n,r,e,i,a,o){var c=On();try{G(t)(n,r,e,i,a,o)}catch(t){if(Un(c),t!==t+0)throw t;En(1,0)}},d:function(t,n,r){var e=On();try{G(t)(n,r)}catch(t){if(Un(e),t!==t+0)throw t;En(1,0)}},na:function(t,n,r,e){var i=On();try{G(t)(n,r,e)}catch(t){if(Un(i),t!==t+0)throw t;En(1,0)}},U:function(t,n,r,e,i){var a=On();try{G(t)(n,r,e,i)}catch(t){if(Un(a),t!==t+0)throw t;En(1,0)}},T:function(t,n,r,e,i,a){var o=On();try{G(t)(n,r,e,i,a)}catch(t){if(Un(o),t!==t+0)throw t;En(1,0)}},Ba:function(t,n,r,e){var i=On();try{G(t)(n,r,e)}catch(t){if(Un(i),t!==t+0)throw t;En(1,0)}},La:function(t,n,r,e,i,a){var o=On();try{G(t)(n,r,e,i,a)}catch(t){if(Un(o),t!==t+0)throw t;En(1,0)}},ea:function(t,n,r,e,i){var a=On();try{G(t)(n,r,e,i)}catch(t){if(Un(a),t!==t+0)throw t;En(1,0)}},Ja:function(t,n,r,e,i,a,o){var c=On();try{G(t)(n,r,e,i,a,o)}catch(t){if(Un(c),t!==t+0)throw t;En(1,0)}},f:function(t,n,r,e){var i=On();try{G(t)(n,r,e)}catch(t){if(Un(i),t!==t+0)throw t;En(1,0)}},ob:function(t,n,r,e,i){var a=On();try{G(t)(n,r,e,i)}catch(t){if(Un(a),t!==t+0)throw t;En(1,0)}},J:function(t,n,r,e,i,a,o){var c=On();try{G(t)(n,r,e,i,a,o)}catch(t){if(Un(c),t!==t+0)throw t;En(1,0)}},Ga:function(t,n,r,e,i,a){var o=On();try{G(t)(n,r,e,i,a)}catch(t){if(Un(o),t!==t+0)throw t;En(1,0)}},j:function(t,n,r,e,i){var a=On();try{G(t)(n,r,e,i)}catch(t){if(Un(a),t!==t+0)throw t;En(1,0)}},da:function(t,n,r,e,i,a){var o=On();try{G(t)(n,r,e,i,a)}catch(t){if(Un(o),t!==t+0)throw t;En(1,0)}},la:function(t,n,r,e,i,a,o){var c=On();try{G(t)(n,r,e,i,a,o)}catch(t){if(Un(c),t!==t+0)throw t;En(1,0)}},t:function(t,n,r,e,i,a){var o=On();try{G(t)(n,r,e,i,a)}catch(t){if(Un(o),t!==t+0)throw t;En(1,0)}},B:function(t,n,r,e,i,a,o){var c=On();try{G(t)(n,r,e,i,a,o)}catch(t){if(Un(c),t!==t+0)throw t;En(1,0)}},C:function(t,n,r,e,i,a,o,c){var u=On();try{G(t)(n,r,e,i,a,o,c)}catch(t){if(Un(u),t!==t+0)throw t;En(1,0)}},O:function(t,n,r,e,i,a,o,c,u){var f=On();try{G(t)(n,r,e,i,a,o,c,u)}catch(t){if(Un(f),t!==t+0)throw t;En(1,0)}},V:function(t,n,r,e,i,a,o,c,u,f){var s=On();try{G(t)(n,r,e,i,a,o,c,u,f)}catch(t){if(Un(s),t!==t+0)throw t;En(1,0)}},M:function(t,n,r,e,i,a,o,c,u,f,s){var l=On();try{G(t)(n,r,e,i,a,o,c,u,f,s)}catch(t){if(Un(l),t!==t+0)throw t;En(1,0)}},Aa:function(t,n,r,e,i,a,o,c,u,f,s,l){var h=On();try{G(t)(n,r,e,i,a,o,c,u,f,s,l)}catch(t){if(Un(h),t!==t+0)throw t;En(1,0)}},aa:function(t,n,r,e,i,a,o,c,u,f,s,l,h,v,b,p){var y=On();try{G(t)(n,r,e,i,a,o,c,u,f,s,l,h,v,b,p)}catch(t){if(Un(y),t!==t+0)throw t;En(1,0)}},hb:function(t,n,r,e,i,a){var o=On();try{In(t,n,r,e,i,a)}catch(t){if(Un(o),t!==t+0)throw t;En(1,0)}},ib:function(t,n,r,e){var i=On();try{Hn(t,n,r,e)}catch(t){if(Un(i),t!==t+0)throw t;En(1,0)}},q:function(t){return t},xa:function(t){l=t},Pa:function(t,n,r,e){return function(t,n,r,e){function i(t,n,r){for(t="number"==typeof t?t.toString():t||"";t.length<n;)t=r[0]+t;return t}function a(t,n){return i(t,n,"0")}function o(t,n){function r(t){return 0>t?-1:0<t?1:0}var e;return 0===(e=r(t.getFullYear()-n.getFullYear()))&&0===(e=r(t.getMonth()-n.getMonth()))&&(e=r(t.getDate()-n.getDate())),e}function c(t){switch(t.getDay()){case 0:return new Date(t.getFullYear()-1,11,29);case 1:return t;case 2:return new Date(t.getFullYear(),0,3);case 3:return new Date(t.getFullYear(),0,2);case 4:return new Date(t.getFullYear(),0,1);case 5:return new Date(t.getFullYear()-1,11,31);case 6:return new Date(t.getFullYear()-1,11,30)}}function u(t){t=An(new Date(t.Xb+1900,0,1),t.vc);var n=new Date(t.getFullYear()+1,0,4),r=c(new Date(t.getFullYear(),0,4));return n=c(n),0>=o(r,t)?0>=o(n,t)?t.getFullYear()+1:t.getFullYear():t.getFullYear()-1}var f=R[e+40>>2];for(var s in e={fd:R[e>>2],ed:R[e+4>>2],tc:R[e+8>>2],nc:R[e+12>>2],kc:R[e+16>>2],Xb:R[e+20>>2],uc:R[e+24>>2],vc:R[e+28>>2],md:R[e+32>>2],dd:R[e+36>>2],gd:f&&f?y(T,f,void 0):""},r=r?y(T,r,void 0):"",f={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y","%EY":"%Y","%Od":"%d","%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"})r=r.replace(new RegExp(s,"g"),f[s]);var l="Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),h="January February March April May June July August September October November December".split(" ");for(s in f={"%a":function(t){return l[t.uc].substring(0,3)},"%A":function(t){return l[t.uc]},"%b":function(t){return h[t.kc].substring(0,3)},"%B":function(t){return h[t.kc]},"%C":function(t){return a((t.Xb+1900)/100|0,2)},"%d":function(t){return a(t.nc,2)},"%e":function(t){return i(t.nc,2," ")},"%g":function(t){return u(t).toString().substring(2)},"%G":function(t){return u(t)},"%H":function(t){return a(t.tc,2)},"%I":function(t){return 0==(t=t.tc)?t=12:12<t&&(t-=12),a(t,2)},"%j":function(t){return a(t.nc+_n(Tn(t.Xb+1900)?Sn:Rn,t.kc-1),3)},"%m":function(t){return a(t.kc+1,2)},"%M":function(t){return a(t.ed,2)},"%n":function(){return"\n"},"%p":function(t){return 0<=t.tc&&12>t.tc?"AM":"PM"},"%S":function(t){return a(t.fd,2)},"%t":function(){return"\t"},"%u":function(t){return t.uc||7},"%U":function(t){var n=new Date(t.Xb+1900,0,1),r=0===n.getDay()?n:An(n,7-n.getDay());return 0>o(r,t=new Date(t.Xb+1900,t.kc,t.nc))?a(Math.ceil((31-r.getDate()+(_n(Tn(t.getFullYear())?Sn:Rn,t.getMonth()-1)-31)+t.getDate())/7),2):0===o(r,n)?"01":"00"},"%V":function(t){var n=new Date(t.Xb+1901,0,4),r=c(new Date(t.Xb+1900,0,4));n=c(n);var e=An(new Date(t.Xb+1900,0,1),t.vc);return 0>o(e,r)?"53":0>=o(n,e)?"01":a(Math.ceil((r.getFullYear()<t.Xb+1900?t.vc+32-r.getDate():t.vc+1-r.getDate())/7),2)},"%w":function(t){return t.uc},"%W":function(t){var n=new Date(t.Xb,0,1),r=1===n.getDay()?n:An(n,0===n.getDay()?1:7-n.getDay()+1);return 0>o(r,t=new Date(t.Xb+1900,t.kc,t.nc))?a(Math.ceil((31-r.getDate()+(_n(Tn(t.getFullYear())?Sn:Rn,t.getMonth()-1)-31)+t.getDate())/7),2):0===o(r,n)?"01":"00"},"%y":function(t){return(t.Xb+1900).toString().substring(2)},"%Y":function(t){return t.Xb+1900},"%z":function(t){var n=0<=(t=t.dd);return t=Math.abs(t)/60,(n?"+":"-")+String("0000"+(t/60*100+t%60)).slice(-4)},"%Z":function(t){return t.gd},"%%":function(){return"%"}},r=r.replace(/%%/g,"\0\0"),f)r.includes(s)&&(r=r.replace(new RegExp(s,"g"),f[s](e)));return(s=function(t){var n=Array(g(t)+1);return d(t,n,0,n.length),n}(r=r.replace(/\0\0/g,"%"))).length>n?0:(w.set(s,t),s.length-1)}(t,n,r,e)}};!function(){function t(t){n.asm=t.exports,v=n.asm.vb,U(),M=n.asm.Cb,Y.unshift(n.asm.wb),B--,n.monitorRunDependencies&&n.monitorRunDependencies(B),0==B&&(null!==Z&&(clearInterval(Z),Z=null),$&&(t=$,$=null,t()))}function r(n){t(n.instance)}function i(t){return(s||"function"!=typeof fetch?Promise.resolve().then((function(){return K()})):fetch(X,{credentials:"same-origin"}).then((function(t){if(!t.ok)throw"failed to load wasm binary file at '"+X+"'";return t.arrayBuffer()})).catch((function(){return K()}))).then((function(t){return WebAssembly.instantiate(t,a)})).then((function(t){return t})).then(t,(function(t){f("failed to asynchronously prepare wasm: "+t),z(t)}))}var a={a:jn};if(B++,n.monitorRunDependencies&&n.monitorRunDependencies(B),n.instantiateWasm)try{return n.instantiateWasm(a,t)}catch(t){return f("Module.instantiateWasm callback failed with error: "+t),!1}(s||"function"!=typeof WebAssembly.instantiateStreaming||q()||"function"!=typeof fetch?i(r):fetch(X,{credentials:"same-origin"}).then((function(t){return WebAssembly.instantiateStreaming(t,a).then(r,(function(t){return f("wasm streaming compile failed: "+t),f("falling back to ArrayBuffer instantiation"),i(r)}))}))).catch(e)}(),n.___wasm_call_ctors=function(){return(n.___wasm_call_ctors=n.asm.wb).apply(null,arguments)};var kn=n._free=function(){return(kn=n._free=n.asm.xb).apply(null,arguments)},Pn=n._malloc=function(){return(Pn=n._malloc=n.asm.yb).apply(null,arguments)};n._main=function(){return(n._main=n.asm.zb).apply(null,arguments)};var Dn=n.___getTypeName=function(){return(Dn=n.___getTypeName=n.asm.Ab).apply(null,arguments)};n.___embind_register_native_and_builtin_types=function(){return(n.___embind_register_native_and_builtin_types=n.asm.Bb).apply(null,arguments)};var Fn,En=n._setThrew=function(){return(En=n._setThrew=n.asm.Db).apply(null,arguments)},On=n.stackSave=function(){return(On=n.stackSave=n.asm.Eb).apply(null,arguments)},Un=n.stackRestore=function(){return(Un=n.stackRestore=n.asm.Fb).apply(null,arguments)},Mn=n.___cxa_can_catch=function(){return(Mn=n.___cxa_can_catch=n.asm.Gb).apply(null,arguments)},xn=n.___cxa_is_pointer_type=function(){return(xn=n.___cxa_is_pointer_type=n.asm.Hb).apply(null,arguments)},Yn=n.dynCall_jii=function(){return(Yn=n.dynCall_jii=n.asm.Ib).apply(null,arguments)},In=n.dynCall_viiji=function(){return(In=n.dynCall_viiji=n.asm.Jb).apply(null,arguments)},Vn=n.dynCall_iij=function(){return(Vn=n.dynCall_iij=n.asm.Kb).apply(null,arguments)},Hn=n.dynCall_vij=function(){return(Hn=n.dynCall_vij=n.asm.Lb).apply(null,arguments)};function Xn(t){this.name="ExitStatus",this.message="Program terminated with exit("+t+")",this.status=t}function Bn(){function t(){if(!Fn&&(Fn=!0,n.calledRun=!0,!b)){if(L(Y),L(I),r(n),n.onRuntimeInitialized&&n.onRuntimeInitialized(),Zn){var t=n._main;try{var e=t(0,0);h||(n.onExit&&n.onExit(e),b=!0),o(e,new Xn(e))}catch(t){t instanceof Xn||"unwind"==t||o(1,t)}}if(n.postRun)for("function"==typeof n.postRun&&(n.postRun=[n.postRun]);n.postRun.length;)t=n.postRun.shift(),V.unshift(t);L(V)}}if(!(0<B)){if(n.preRun)for("function"==typeof n.preRun&&(n.preRun=[n.preRun]);n.preRun.length;)H();L(x),0<B||(n.setStatus?(n.setStatus("Running..."),setTimeout((function(){setTimeout((function(){n.setStatus("")}),1),t()}),1)):t())}}if(n.dynCall_viijii=function(){return(n.dynCall_viijii=n.asm.Mb).apply(null,arguments)},n.dynCall_jiji=function(){return(n.dynCall_jiji=n.asm.Nb).apply(null,arguments)},n.dynCall_iiiiij=function(){return(n.dynCall_iiiiij=n.asm.Ob).apply(null,arguments)},n.dynCall_iiiiijj=function(){return(n.dynCall_iiiiijj=n.asm.Pb).apply(null,arguments)},n.dynCall_iiiiiijj=function(){return(n.dynCall_iiiiiijj=n.asm.Qb).apply(null,arguments)},$=function t(){Fn||Bn(),Fn||($=t)},n.run=Bn,n.preInit)for("function"==typeof n.preInit&&(n.preInit=[n.preInit]);0<n.preInit.length;)n.preInit.pop()();var Zn=!0;return n.noInitialRun&&(Zn=!1),Bn(),t.ready});"object"==typeof exports&&"object"==typeof module?module.exports=ConfiguratorKernel:"function"==typeof define&&define.amd?define([],(function(){return ConfiguratorKernel})):"object"==typeof exports&&(exports.ConfiguratorKernel=ConfiguratorKernel);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["0"],"names":["_scriptDir","ConfiguratorKernel","document","currentScript","src","undefined","k","aa","ba","ready","Promise","a","b","ca","Object","assign","da","ea","q","indexOf","substr","replace","lastIndexOf","fa","print","console","log","bind","r","printErr","warn","thisProgram","quit","ha","t","wasmBinary","noExitRuntime","WebAssembly","ia","ja","ka","la","TextDecoder","ma","c","d","subarray","decode","e","f","String","fromCharCode","h","na","length","charCodeAt","oa","xa","B","u","x","ra","A","D","ya","za","pa","qa","sa","ta","ua","va","wa","Aa","buffer","HEAP8","Int8Array","HEAP16","Int16Array","HEAP32","Int32Array","HEAPU8","Uint8Array","HEAPU16","Uint16Array","HEAPU32","Uint32Array","HEAPF32","Float32Array","HEAPF64","Float64Array","Ba","Ca","Da","Ea","Fa","Ga","preRun","shift","unshift","F","E","Ha","Ia","onAbort","RuntimeError","Ja","startsWith","preloadedImages","preloadedAudios","Ka","locateFile","La","Na","jd","yc","G","get","H","this","Fc","Sb","wc","lc","cc","Qc","ec","Dc","Pc","sc","Hc","bc","xc","Zc","Oa","zc","J","hc","Jc","Pa","ic","Qa","K","Ra","Sa","Ta","L","Ua","pop","push","Va","Wa","Xa","fromWireType","Ya","Za","$a","ab","bb","Function","cb","Error","name","message","stack","toString","prototype","create","constructor","db","eb","M","g","m","N","forEach","Array","hasOwnProperty","fb","TypeError","gb","O","hb","P","Uc","ib","Rb","Ub","Tb","jb","kb","lb","count","value","Wb","Zb","ac","nb","ob","pb","fc","qb","rb","tb","ub","FinalizationRegistry","unregister","register","Q","vb","Vb","arguments","apply","pc","wb","ld","xb","jc","$b","Nc","oc","Lc","Xc","yb","zb","Ac","Ab","Bb","rc","Bc","qc","cd","clone","Yc","R","Cb","S","n","p","Wc","Ic","toWireType","Yb","Db","U","includes","concat","call","Eb","Fb","Gb","Hb","Ib","map","join","Jb","Kb","Lb","w","split","Mb","V","Nb","Cc","W","Ob","Pb","Qb","Xb","globalThis","dc","USER","LOGNAME","PATH","PWD","HOME","LANG","navigator","languages","_","gc","kc","Date","getTime","getMonth","getFullYear","getDate","setDate","setMonth","setFullYear","InternalError","nc","BindingError","isAliasOf","mc","getPrototypeOf","isDeleted","deleteLater","getInheritedInstanceCount","keys","getLiveInheritedInstances","flushPendingDeletes","setDelayFunction","Oc","Ec","argPackAdvance","readValueFromPointer","deleteObject","sb","Kc","pointerType","mb","UnboundTypeError","count_emval_handles","get_first_emval","Dd","X","slice","o","Gc","Tc","ad","Rc","y","Sc","l","v","$c","z","bd","Mc","read","C","write","I","T","splice","Symbol","substring","className","Z","values","Y","ArrayBuffer","Uint8ClampedArray","s","_a","Vc","Ma","ga","Math","min","max","grow","byteLength","kd","hd","$","i","Gd","Ed","j","Fd","Hd","getDay","vc","fd","ed","tc","uc","md","dd","gd","%c","%D","%F","%h","%r","%R","%T","%x","%X","%Ec","%EC","%Ex","%EX","%Ey","%EY","%Od","%Oe","%OH","%OI","%Om","%OM","%OS","%Ou","%OU","%OV","%Ow","%OW","%Oy","RegExp","%a","%A","%b","%B","%C","%d","%e","%g","%G","%H","%I","%j","%m","%M","%n","%p","%S","%t","%u","%U","ceil","%V","%w","%W","%y","%Y","%z","abs","%Z","%%","set","asm","exports","monitorRunDependencies","clearInterval","instance","fetch","resolve","then","credentials","ok","arrayBuffer","catch","instantiate","instantiateWasm","instantiateStreaming","___wasm_call_ctors","_free","_malloc","_main","___getTypeName","___embind_register_native_and_builtin_types","Id","_setThrew","stackSave","stackRestore","___cxa_can_catch","___cxa_is_pointer_type","dynCall_jii","dynCall_viiji","dynCall_iij","dynCall_vij","Jd","status","Ld","calledRun","onRuntimeInitialized","Md","onExit","postRun","setStatus","setTimeout","dynCall_viijii","dynCall_jiji","dynCall_iiiiij","dynCall_iiiiijj","dynCall_iiiiiijj","Kd","run","preInit","noInitialRun","module","define"],"mappings":"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"}
|