@quick-threejs/reactive 0.1.45 → 0.1.47
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{FontLoader-D3WA1QGd.js → FontLoader-76d20F_i.js} +6 -6
- package/dist/{FontLoader-ejhD_xZ1.mjs → FontLoader-YhZm0TOQ.mjs} +31 -30
- package/dist/common/blueprints/props.blueprint.d.ts +72 -43
- package/dist/common/interfaces/core.interface.d.ts +19 -1
- package/dist/common/interfaces/proxy-event.interface.d.ts +2 -0
- package/dist/core/app/app.module.d.ts +2 -2
- package/dist/core/app/app.service.d.ts +2 -1
- package/dist/core/app/app.worker.d.ts +1 -1
- package/dist/core/app/camera/camera.module.d.ts +2 -4
- package/dist/core/app/camera/camera.service.d.ts +3 -2
- package/dist/core/app/debug/debug.module.d.ts +1 -1
- package/dist/core/app/debug/debug.service.d.ts +2 -2
- package/dist/core/app/loader/loader.module.d.ts +1 -1
- package/dist/core/app/renderer/renderer.module.d.ts +4 -4
- package/dist/core/app/renderer/renderer.service.d.ts +5 -5
- package/dist/core/app/sizes/sizes.module.d.ts +13 -4
- package/dist/core/app/sizes/sizes.service.d.ts +13 -2
- package/dist/core/register/register.module.d.ts +4 -7
- package/dist/core/register/register.service.d.ts +18 -7
- package/dist/main.js +4 -4
- package/dist/main.mjs +837 -847
- package/dist/worker.js +1 -1
- package/dist/worker.mjs +551 -510
- package/package.json +4 -4
package/dist/worker.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var be=Object.defineProperty;var Pe=(t,e,i)=>e in t?be(t,e,{enumerable:!0,configurable:!0,writable:!0,value:i}):t[e]=i;var c=(t,e,i)=>Pe(t,typeof e!="symbol"?e+"":e,i);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("./FontLoader-D3WA1QGd.js"),h=require("three");var ge={now:function(){return performance.now()},delegate:void 0},z={schedule:function(t){var e=requestAnimationFrame,i=cancelAnimationFrame,s=z.delegate;s&&(e=s.requestAnimationFrame,i=s.cancelAnimationFrame);var r=e(function(n){i=void 0,t(n)});return new o.Subscription(function(){return i==null?void 0:i(r)})},requestAnimationFrame:function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];return requestAnimationFrame.apply(void 0,o.__spreadArray([],o.__read(t)))},cancelAnimationFrame:function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];return cancelAnimationFrame.apply(void 0,o.__spreadArray([],o.__read(t)))},delegate:void 0};function ye(t){return t?fe(t):Se}function fe(t){return new o.Observable(function(e){var i=t||ge,s=i.now(),r=0,n=function(){e.closed||(r=z.requestAnimationFrame(function(a){r=0;var l=i.now();e.next({timestamp:t?l:a,elapsed:l-s}),n()}))};return n(),function(){r&&z.cancelAnimationFrame(r)}})}var Se=fe();function Ce(t,e){return e===void 0&&(e=!1),o.operate(function(i,s){var r=0;i.subscribe(o.createOperatorSubscriber(s,function(n){var a=t(n,r++);(a||e)&&s.next(n),!a&&s.complete()}))})}function we(t,e,i){var s=o.isFunction(t)||e||i?{next:t,error:e,complete:i}:t;return s?o.operate(function(r,n){var a;(a=s.subscribe)===null||a===void 0||a.call(s);var l=!0;r.subscribe(o.createOperatorSubscriber(n,function(p){var d;(d=s.next)===null||d===void 0||d.call(s,p),n.next(p)},function(){var p;l=!1,(p=s.complete)===null||p===void 0||p.call(s),n.complete()},function(p){var d;l=!1,(d=s.error)===null||d===void 0||d.call(s,p),n.error(p)},function(){var p,d;l&&((p=s.unsubscribe)===null||p===void 0||p.call(s)),(d=s.finalize)===null||d===void 0||d.call(s)}))}):o.identity}const se={type:"change"},G={type:"start"},me={type:"end"},D=new h.Ray,re=new h.Plane,Oe=Math.cos(70*h.MathUtils.DEG2RAD),u=new h.Vector3,f=2*Math.PI,_={NONE:-1,ROTATE:0,DOLLY:1,PAN:2,TOUCH_ROTATE:3,TOUCH_PAN:4,TOUCH_DOLLY_PAN:5,TOUCH_DOLLY_ROTATE:6},M=1e-6;class oe extends h.Controls{constructor(e,i=null){super(e,i),this.state=_.NONE,this.target=new h.Vector3,this.cursor=new h.Vector3,this.minDistance=0,this.maxDistance=1/0,this.minZoom=0,this.maxZoom=1/0,this.minTargetRadius=0,this.maxTargetRadius=1/0,this.minPolarAngle=0,this.maxPolarAngle=Math.PI,this.minAzimuthAngle=-1/0,this.maxAzimuthAngle=1/0,this.enableDamping=!1,this.dampingFactor=.05,this.enableZoom=!0,this.zoomSpeed=1,this.enableRotate=!0,this.rotateSpeed=1,this.keyRotateSpeed=1,this.enablePan=!0,this.panSpeed=1,this.screenSpacePanning=!0,this.keyPanSpeed=7,this.zoomToCursor=!1,this.autoRotate=!1,this.autoRotateSpeed=2,this.keys={LEFT:"ArrowLeft",UP:"ArrowUp",RIGHT:"ArrowRight",BOTTOM:"ArrowDown"},this.mouseButtons={LEFT:h.MOUSE.ROTATE,MIDDLE:h.MOUSE.DOLLY,RIGHT:h.MOUSE.PAN},this.touches={ONE:h.TOUCH.ROTATE,TWO:h.TOUCH.DOLLY_PAN},this.target0=this.target.clone(),this.position0=this.object.position.clone(),this.zoom0=this.object.zoom,this._cursorStyle="auto",this._domElementKeyEvents=null,this._lastPosition=new h.Vector3,this._lastQuaternion=new h.Quaternion,this._lastTargetPosition=new h.Vector3,this._quat=new h.Quaternion().setFromUnitVectors(e.up,new h.Vector3(0,1,0)),this._quatInverse=this._quat.clone().invert(),this._spherical=new h.Spherical,this._sphericalDelta=new h.Spherical,this._scale=1,this._panOffset=new h.Vector3,this._rotateStart=new h.Vector2,this._rotateEnd=new h.Vector2,this._rotateDelta=new h.Vector2,this._panStart=new h.Vector2,this._panEnd=new h.Vector2,this._panDelta=new h.Vector2,this._dollyStart=new h.Vector2,this._dollyEnd=new h.Vector2,this._dollyDelta=new h.Vector2,this._dollyDirection=new h.Vector3,this._mouse=new h.Vector2,this._performCursorZoom=!1,this._pointers=[],this._pointerPositions={},this._controlActive=!1,this._onPointerMove=De.bind(this),this._onPointerDown=Ee.bind(this),this._onPointerUp=$e.bind(this),this._onContextMenu=xe.bind(this),this._onMouseWheel=Te.bind(this),this._onKeyDown=Me.bind(this),this._onTouchStart=Le.bind(this),this._onTouchMove=Ae.bind(this),this._onMouseDown=je.bind(this),this._onMouseMove=Re.bind(this),this._interceptControlDown=ze.bind(this),this._interceptControlUp=Ie.bind(this),this.domElement!==null&&this.connect(this.domElement),this.update()}set cursorStyle(e){this._cursorStyle=e,e==="grab"?this.domElement.style.cursor="grab":this.domElement.style.cursor="auto"}get cursorStyle(){return this._cursorStyle}connect(e){super.connect(e),this.domElement.addEventListener("pointerdown",this._onPointerDown),this.domElement.addEventListener("pointercancel",this._onPointerUp),this.domElement.addEventListener("contextmenu",this._onContextMenu),this.domElement.addEventListener("wheel",this._onMouseWheel,{passive:!1}),this.domElement.getRootNode().addEventListener("keydown",this._interceptControlDown,{passive:!0,capture:!0}),this.domElement.style.touchAction="none"}disconnect(){this.domElement.removeEventListener("pointerdown",this._onPointerDown),this.domElement.ownerDocument.removeEventListener("pointermove",this._onPointerMove),this.domElement.ownerDocument.removeEventListener("pointerup",this._onPointerUp),this.domElement.removeEventListener("pointercancel",this._onPointerUp),this.domElement.removeEventListener("wheel",this._onMouseWheel),this.domElement.removeEventListener("contextmenu",this._onContextMenu),this.stopListenToKeyEvents(),this.domElement.getRootNode().removeEventListener("keydown",this._interceptControlDown,{capture:!0}),this.domElement.style.touchAction="auto"}dispose(){this.disconnect()}getPolarAngle(){return this._spherical.phi}getAzimuthalAngle(){return this._spherical.theta}getDistance(){return this.object.position.distanceTo(this.target)}listenToKeyEvents(e){e.addEventListener("keydown",this._onKeyDown),this._domElementKeyEvents=e}stopListenToKeyEvents(){this._domElementKeyEvents!==null&&(this._domElementKeyEvents.removeEventListener("keydown",this._onKeyDown),this._domElementKeyEvents=null)}saveState(){this.target0.copy(this.target),this.position0.copy(this.object.position),this.zoom0=this.object.zoom}reset(){this.target.copy(this.target0),this.object.position.copy(this.position0),this.object.zoom=this.zoom0,this.object.updateProjectionMatrix(),this.dispatchEvent(se),this.update(),this.state=_.NONE}pan(e,i){this._pan(e,i),this.update()}dollyIn(e){this._dollyIn(e),this.update()}dollyOut(e){this._dollyOut(e),this.update()}rotateLeft(e){this._rotateLeft(e),this.update()}rotateUp(e){this._rotateUp(e),this.update()}update(e=null){const i=this.object.position;u.copy(i).sub(this.target),u.applyQuaternion(this._quat),this._spherical.setFromVector3(u),this.autoRotate&&this.state===_.NONE&&this._rotateLeft(this._getAutoRotationAngle(e)),this.enableDamping?(this._spherical.theta+=this._sphericalDelta.theta*this.dampingFactor,this._spherical.phi+=this._sphericalDelta.phi*this.dampingFactor):(this._spherical.theta+=this._sphericalDelta.theta,this._spherical.phi+=this._sphericalDelta.phi);let s=this.minAzimuthAngle,r=this.maxAzimuthAngle;isFinite(s)&&isFinite(r)&&(s<-Math.PI?s+=f:s>Math.PI&&(s-=f),r<-Math.PI?r+=f:r>Math.PI&&(r-=f),s<=r?this._spherical.theta=Math.max(s,Math.min(r,this._spherical.theta)):this._spherical.theta=this._spherical.theta>(s+r)/2?Math.max(s,this._spherical.theta):Math.min(r,this._spherical.theta)),this._spherical.phi=Math.max(this.minPolarAngle,Math.min(this.maxPolarAngle,this._spherical.phi)),this._spherical.makeSafe(),this.enableDamping===!0?this.target.addScaledVector(this._panOffset,this.dampingFactor):this.target.add(this._panOffset),this.target.sub(this.cursor),this.target.clampLength(this.minTargetRadius,this.maxTargetRadius),this.target.add(this.cursor);let n=!1;if(this.zoomToCursor&&this._performCursorZoom||this.object.isOrthographicCamera)this._spherical.radius=this._clampDistance(this._spherical.radius);else{const a=this._spherical.radius;this._spherical.radius=this._clampDistance(this._spherical.radius*this._scale),n=a!=this._spherical.radius}if(u.setFromSpherical(this._spherical),u.applyQuaternion(this._quatInverse),i.copy(this.target).add(u),this.object.lookAt(this.target),this.enableDamping===!0?(this._sphericalDelta.theta*=1-this.dampingFactor,this._sphericalDelta.phi*=1-this.dampingFactor,this._panOffset.multiplyScalar(1-this.dampingFactor)):(this._sphericalDelta.set(0,0,0),this._panOffset.set(0,0,0)),this.zoomToCursor&&this._performCursorZoom){let a=null;if(this.object.isPerspectiveCamera){const l=u.length();a=this._clampDistance(l*this._scale);const p=l-a;this.object.position.addScaledVector(this._dollyDirection,p),this.object.updateMatrixWorld(),n=!!p}else if(this.object.isOrthographicCamera){const l=new h.Vector3(this._mouse.x,this._mouse.y,0);l.unproject(this.object);const p=this.object.zoom;this.object.zoom=Math.max(this.minZoom,Math.min(this.maxZoom,this.object.zoom/this._scale)),this.object.updateProjectionMatrix(),n=p!==this.object.zoom;const d=new h.Vector3(this._mouse.x,this._mouse.y,0);d.unproject(this.object),this.object.position.sub(d).add(l),this.object.updateMatrixWorld(),a=u.length()}else console.warn("WARNING: OrbitControls.js encountered an unknown camera type - zoom to cursor disabled."),this.zoomToCursor=!1;a!==null&&(this.screenSpacePanning?this.target.set(0,0,-1).transformDirection(this.object.matrix).multiplyScalar(a).add(this.object.position):(D.origin.copy(this.object.position),D.direction.set(0,0,-1).transformDirection(this.object.matrix),Math.abs(this.object.up.dot(D.direction))<Oe?this.object.lookAt(this.target):(re.setFromNormalAndCoplanarPoint(this.object.up,this.target),D.intersectPlane(re,this.target))))}else if(this.object.isOrthographicCamera){const a=this.object.zoom;this.object.zoom=Math.max(this.minZoom,Math.min(this.maxZoom,this.object.zoom/this._scale)),a!==this.object.zoom&&(this.object.updateProjectionMatrix(),n=!0)}return this._scale=1,this._performCursorZoom=!1,n||this._lastPosition.distanceToSquared(this.object.position)>M||8*(1-this._lastQuaternion.dot(this.object.quaternion))>M||this._lastTargetPosition.distanceToSquared(this.target)>M?(this.dispatchEvent(se),this._lastPosition.copy(this.object.position),this._lastQuaternion.copy(this.object.quaternion),this._lastTargetPosition.copy(this.target),!0):!1}_getAutoRotationAngle(e){return e!==null?f/60*this.autoRotateSpeed*e:f/60/60*this.autoRotateSpeed}_getZoomScale(e){const i=Math.abs(e*.01);return Math.pow(.95,this.zoomSpeed*i)}_rotateLeft(e){this._sphericalDelta.theta-=e}_rotateUp(e){this._sphericalDelta.phi-=e}_panLeft(e,i){u.setFromMatrixColumn(i,0),u.multiplyScalar(-e),this._panOffset.add(u)}_panUp(e,i){this.screenSpacePanning===!0?u.setFromMatrixColumn(i,1):(u.setFromMatrixColumn(i,0),u.crossVectors(this.object.up,u)),u.multiplyScalar(e),this._panOffset.add(u)}_pan(e,i){const s=this.domElement;if(this.object.isPerspectiveCamera){const r=this.object.position;u.copy(r).sub(this.target);let n=u.length();n*=Math.tan(this.object.fov/2*Math.PI/180),this._panLeft(2*e*n/s.clientHeight,this.object.matrix),this._panUp(2*i*n/s.clientHeight,this.object.matrix)}else this.object.isOrthographicCamera?(this._panLeft(e*(this.object.right-this.object.left)/this.object.zoom/s.clientWidth,this.object.matrix),this._panUp(i*(this.object.top-this.object.bottom)/this.object.zoom/s.clientHeight,this.object.matrix)):(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - pan disabled."),this.enablePan=!1)}_dollyOut(e){this.object.isPerspectiveCamera||this.object.isOrthographicCamera?this._scale/=e:(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled."),this.enableZoom=!1)}_dollyIn(e){this.object.isPerspectiveCamera||this.object.isOrthographicCamera?this._scale*=e:(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled."),this.enableZoom=!1)}_updateZoomParameters(e,i){if(!this.zoomToCursor)return;this._performCursorZoom=!0;const s=this.domElement.getBoundingClientRect(),r=e-s.left,n=i-s.top,a=s.width,l=s.height;this._mouse.x=r/a*2-1,this._mouse.y=-(n/l)*2+1,this._dollyDirection.set(this._mouse.x,this._mouse.y,1).unproject(this.object).sub(this.object.position).normalize()}_clampDistance(e){return Math.max(this.minDistance,Math.min(this.maxDistance,e))}_handleMouseDownRotate(e){this._rotateStart.set(e.clientX,e.clientY)}_handleMouseDownDolly(e){this._updateZoomParameters(e.clientX,e.clientX),this._dollyStart.set(e.clientX,e.clientY)}_handleMouseDownPan(e){this._panStart.set(e.clientX,e.clientY)}_handleMouseMoveRotate(e){this._rotateEnd.set(e.clientX,e.clientY),this._rotateDelta.subVectors(this._rotateEnd,this._rotateStart).multiplyScalar(this.rotateSpeed);const i=this.domElement;this._rotateLeft(f*this._rotateDelta.x/i.clientHeight),this._rotateUp(f*this._rotateDelta.y/i.clientHeight),this._rotateStart.copy(this._rotateEnd),this.update()}_handleMouseMoveDolly(e){this._dollyEnd.set(e.clientX,e.clientY),this._dollyDelta.subVectors(this._dollyEnd,this._dollyStart),this._dollyDelta.y>0?this._dollyOut(this._getZoomScale(this._dollyDelta.y)):this._dollyDelta.y<0&&this._dollyIn(this._getZoomScale(this._dollyDelta.y)),this._dollyStart.copy(this._dollyEnd),this.update()}_handleMouseMovePan(e){this._panEnd.set(e.clientX,e.clientY),this._panDelta.subVectors(this._panEnd,this._panStart).multiplyScalar(this.panSpeed),this._pan(this._panDelta.x,this._panDelta.y),this._panStart.copy(this._panEnd),this.update()}_handleMouseWheel(e){this._updateZoomParameters(e.clientX,e.clientY),e.deltaY<0?this._dollyIn(this._getZoomScale(e.deltaY)):e.deltaY>0&&this._dollyOut(this._getZoomScale(e.deltaY)),this.update()}_handleKeyDown(e){let i=!1;switch(e.code){case this.keys.UP:e.ctrlKey||e.metaKey||e.shiftKey?this.enableRotate&&this._rotateUp(f*this.keyRotateSpeed/this.domElement.clientHeight):this.enablePan&&this._pan(0,this.keyPanSpeed),i=!0;break;case this.keys.BOTTOM:e.ctrlKey||e.metaKey||e.shiftKey?this.enableRotate&&this._rotateUp(-f*this.keyRotateSpeed/this.domElement.clientHeight):this.enablePan&&this._pan(0,-this.keyPanSpeed),i=!0;break;case this.keys.LEFT:e.ctrlKey||e.metaKey||e.shiftKey?this.enableRotate&&this._rotateLeft(f*this.keyRotateSpeed/this.domElement.clientHeight):this.enablePan&&this._pan(this.keyPanSpeed,0),i=!0;break;case this.keys.RIGHT:e.ctrlKey||e.metaKey||e.shiftKey?this.enableRotate&&this._rotateLeft(-f*this.keyRotateSpeed/this.domElement.clientHeight):this.enablePan&&this._pan(-this.keyPanSpeed,0),i=!0;break}i&&(e.preventDefault(),this.update())}_handleTouchStartRotate(e){if(this._pointers.length===1)this._rotateStart.set(e.pageX,e.pageY);else{const i=this._getSecondPointerPosition(e),s=.5*(e.pageX+i.x),r=.5*(e.pageY+i.y);this._rotateStart.set(s,r)}}_handleTouchStartPan(e){if(this._pointers.length===1)this._panStart.set(e.pageX,e.pageY);else{const i=this._getSecondPointerPosition(e),s=.5*(e.pageX+i.x),r=.5*(e.pageY+i.y);this._panStart.set(s,r)}}_handleTouchStartDolly(e){const i=this._getSecondPointerPosition(e),s=e.pageX-i.x,r=e.pageY-i.y,n=Math.sqrt(s*s+r*r);this._dollyStart.set(0,n)}_handleTouchStartDollyPan(e){this.enableZoom&&this._handleTouchStartDolly(e),this.enablePan&&this._handleTouchStartPan(e)}_handleTouchStartDollyRotate(e){this.enableZoom&&this._handleTouchStartDolly(e),this.enableRotate&&this._handleTouchStartRotate(e)}_handleTouchMoveRotate(e){if(this._pointers.length==1)this._rotateEnd.set(e.pageX,e.pageY);else{const s=this._getSecondPointerPosition(e),r=.5*(e.pageX+s.x),n=.5*(e.pageY+s.y);this._rotateEnd.set(r,n)}this._rotateDelta.subVectors(this._rotateEnd,this._rotateStart).multiplyScalar(this.rotateSpeed);const i=this.domElement;this._rotateLeft(f*this._rotateDelta.x/i.clientHeight),this._rotateUp(f*this._rotateDelta.y/i.clientHeight),this._rotateStart.copy(this._rotateEnd)}_handleTouchMovePan(e){if(this._pointers.length===1)this._panEnd.set(e.pageX,e.pageY);else{const i=this._getSecondPointerPosition(e),s=.5*(e.pageX+i.x),r=.5*(e.pageY+i.y);this._panEnd.set(s,r)}this._panDelta.subVectors(this._panEnd,this._panStart).multiplyScalar(this.panSpeed),this._pan(this._panDelta.x,this._panDelta.y),this._panStart.copy(this._panEnd)}_handleTouchMoveDolly(e){const i=this._getSecondPointerPosition(e),s=e.pageX-i.x,r=e.pageY-i.y,n=Math.sqrt(s*s+r*r);this._dollyEnd.set(0,n),this._dollyDelta.set(0,Math.pow(this._dollyEnd.y/this._dollyStart.y,this.zoomSpeed)),this._dollyOut(this._dollyDelta.y),this._dollyStart.copy(this._dollyEnd);const a=(e.pageX+i.x)*.5,l=(e.pageY+i.y)*.5;this._updateZoomParameters(a,l)}_handleTouchMoveDollyPan(e){this.enableZoom&&this._handleTouchMoveDolly(e),this.enablePan&&this._handleTouchMovePan(e)}_handleTouchMoveDollyRotate(e){this.enableZoom&&this._handleTouchMoveDolly(e),this.enableRotate&&this._handleTouchMoveRotate(e)}_addPointer(e){this._pointers.push(e.pointerId)}_removePointer(e){delete this._pointerPositions[e.pointerId];for(let i=0;i<this._pointers.length;i++)if(this._pointers[i]==e.pointerId){this._pointers.splice(i,1);return}}_isTrackingPointer(e){for(let i=0;i<this._pointers.length;i++)if(this._pointers[i]==e.pointerId)return!0;return!1}_trackPointer(e){let i=this._pointerPositions[e.pointerId];i===void 0&&(i=new h.Vector2,this._pointerPositions[e.pointerId]=i),i.set(e.pageX,e.pageY)}_getSecondPointerPosition(e){const i=e.pointerId===this._pointers[0]?this._pointers[1]:this._pointers[0];return this._pointerPositions[i]}_customWheelEvent(e){const i=e.deltaMode,s={clientX:e.clientX,clientY:e.clientY,deltaY:e.deltaY};switch(i){case 1:s.deltaY*=16;break;case 2:s.deltaY*=100;break}return e.ctrlKey&&!this._controlActive&&(s.deltaY*=10),s}}function Ee(t){this.enabled!==!1&&(this._pointers.length===0&&(this.domElement.setPointerCapture(t.pointerId),this.domElement.ownerDocument.addEventListener("pointermove",this._onPointerMove),this.domElement.ownerDocument.addEventListener("pointerup",this._onPointerUp)),!this._isTrackingPointer(t)&&(this._addPointer(t),t.pointerType==="touch"?this._onTouchStart(t):this._onMouseDown(t),this._cursorStyle==="grab"&&(this.domElement.style.cursor="grabbing")))}function De(t){this.enabled!==!1&&(t.pointerType==="touch"?this._onTouchMove(t):this._onMouseMove(t))}function $e(t){switch(this._removePointer(t),this._pointers.length){case 0:this.domElement.releasePointerCapture(t.pointerId),this.domElement.ownerDocument.removeEventListener("pointermove",this._onPointerMove),this.domElement.ownerDocument.removeEventListener("pointerup",this._onPointerUp),this.dispatchEvent(me),this.state=_.NONE,this._cursorStyle==="grab"&&(this.domElement.style.cursor="grab");break;case 1:const e=this._pointers[0],i=this._pointerPositions[e];this._onTouchStart({pointerId:e,pageX:i.x,pageY:i.y});break}}function je(t){let e;switch(t.button){case 0:e=this.mouseButtons.LEFT;break;case 1:e=this.mouseButtons.MIDDLE;break;case 2:e=this.mouseButtons.RIGHT;break;default:e=-1}switch(e){case h.MOUSE.DOLLY:if(this.enableZoom===!1)return;this._handleMouseDownDolly(t),this.state=_.DOLLY;break;case h.MOUSE.ROTATE:if(t.ctrlKey||t.metaKey||t.shiftKey){if(this.enablePan===!1)return;this._handleMouseDownPan(t),this.state=_.PAN}else{if(this.enableRotate===!1)return;this._handleMouseDownRotate(t),this.state=_.ROTATE}break;case h.MOUSE.PAN:if(t.ctrlKey||t.metaKey||t.shiftKey){if(this.enableRotate===!1)return;this._handleMouseDownRotate(t),this.state=_.ROTATE}else{if(this.enablePan===!1)return;this._handleMouseDownPan(t),this.state=_.PAN}break;default:this.state=_.NONE}this.state!==_.NONE&&this.dispatchEvent(G)}function Re(t){switch(this.state){case _.ROTATE:if(this.enableRotate===!1)return;this._handleMouseMoveRotate(t);break;case _.DOLLY:if(this.enableZoom===!1)return;this._handleMouseMoveDolly(t);break;case _.PAN:if(this.enablePan===!1)return;this._handleMouseMovePan(t);break}}function Te(t){this.enabled===!1||this.enableZoom===!1||this.state!==_.NONE||(t.preventDefault(),this.dispatchEvent(G),this._handleMouseWheel(this._customWheelEvent(t)),this.dispatchEvent(me))}function Me(t){this.enabled!==!1&&this._handleKeyDown(t)}function Le(t){switch(this._trackPointer(t),this._pointers.length){case 1:switch(this.touches.ONE){case h.TOUCH.ROTATE:if(this.enableRotate===!1)return;this._handleTouchStartRotate(t),this.state=_.TOUCH_ROTATE;break;case h.TOUCH.PAN:if(this.enablePan===!1)return;this._handleTouchStartPan(t),this.state=_.TOUCH_PAN;break;default:this.state=_.NONE}break;case 2:switch(this.touches.TWO){case h.TOUCH.DOLLY_PAN:if(this.enableZoom===!1&&this.enablePan===!1)return;this._handleTouchStartDollyPan(t),this.state=_.TOUCH_DOLLY_PAN;break;case h.TOUCH.DOLLY_ROTATE:if(this.enableZoom===!1&&this.enableRotate===!1)return;this._handleTouchStartDollyRotate(t),this.state=_.TOUCH_DOLLY_ROTATE;break;default:this.state=_.NONE}break;default:this.state=_.NONE}this.state!==_.NONE&&this.dispatchEvent(G)}function Ae(t){switch(this._trackPointer(t),this.state){case _.TOUCH_ROTATE:if(this.enableRotate===!1)return;this._handleTouchMoveRotate(t),this.update();break;case _.TOUCH_PAN:if(this.enablePan===!1)return;this._handleTouchMovePan(t),this.update();break;case _.TOUCH_DOLLY_PAN:if(this.enableZoom===!1&&this.enablePan===!1)return;this._handleTouchMoveDollyPan(t),this.update();break;case _.TOUCH_DOLLY_ROTATE:if(this.enableZoom===!1&&this.enableRotate===!1)return;this._handleTouchMoveDollyRotate(t),this.update();break;default:this.state=_.NONE}}function xe(t){this.enabled!==!1&&t.preventDefault()}function ze(t){t.key==="Control"&&(this._controlActive=!0,this.domElement.getRootNode().addEventListener("keyup",this._interceptControlUp,{passive:!0,capture:!0}))}function Ie(t){t.key==="Control"&&(this._controlActive=!1,this.domElement.getRootNode().removeEventListener("keyup",this._interceptControlUp,{passive:!0,capture:!0}))}var Ne=Object.defineProperty,He=Object.getOwnPropertyDescriptor,Ue=(t,e,i,s)=>{for(var r=s>1?void 0:s?He(e,i):e,n=t.length-1,a;n>=0;n--)(a=t[n])&&(r=(s?a(e,i,r):a(r))||r);return s&&r&&Ne(e,i,r),r};let O=class{constructor(){c(this,"_canvas");c(this,"proxyReceiver",new o.x);c(this,"isInitialized",!1)}get canvas(){return this._canvas}set canvas(t){t.style={width:t.width+"",height:t.height+""},this._canvas=t}};O=Ue([o.scoped(o.Lifecycle.ContainerScoped)],O);var Ye=Object.defineProperty,Fe=Object.getOwnPropertyDescriptor,Ve=(t,e,i,s)=>{for(var r=s>1?void 0:s?Fe(e,i):e,n=t.length-1,a;n>=0;n--)(a=t[n])&&(r=(s?a(e,i,r):a(r))||r);return s&&r&&Ye(e,i,r),r},Ze=(t,e)=>(i,s)=>e(i,s,t);let $=class extends o.ProxyEventHandlersBlueprint{constructor(t){super(),this._service=t;for(const e of o.PROXY_EVENT_LISTENERS)this[`${e}$$`]=new o.Subject,this[`${e}$`]=this[`${e}$$`].pipe(),this[e]=i=>{const s={...i,type:i.type||e};this._service.proxyReceiver.handleEvent(s),this._service.proxyReceiver.ownerDocument.handleEvent(s),this[`${e}$$`].next(i)}}};$=Ve([o.scoped(o.Lifecycle.ContainerScoped),Ze(0,o.inject(O))],$);var Ke=Object.defineProperty,We=Object.getOwnPropertyDescriptor,Xe=(t,e,i,s)=>{for(var r=s>1?void 0:s?We(e,i):e,n=t.length-1,a;n>=0;n--)(a=t[n])&&(r=(s?a(e,i,r):a(r))||r);return s&&r&&Ke(e,i,r),r};let j=class{constructor(){c(this,"fps",60);c(this,"frame",1e3/this.fps);c(this,"timer",new h.Timer);c(this,"initialTime",Date.now());c(this,"elapsed",0);c(this,"previousDelta",0);c(this,"delta",0);c(this,"deltaRatio",0);c(this,"enabled",!1)}init(t){this.timer.connect(t)}step(){this.timer.update(),this.elapsed=this.timer.getElapsed(),this.delta=this.elapsed-this.previousDelta,this.previousDelta=this.elapsed,this.deltaRatio=this.delta/this.frame}};j=Xe([o.scoped(o.Lifecycle.ContainerScoped)],j);var qe=Object.defineProperty,Be=Object.getOwnPropertyDescriptor,Ge=(t,e,i,s)=>{for(var r=s>1?void 0:s?Be(e,i):e,n=t.length-1,a;n>=0;n--)(a=t[n])&&(r=(s?a(e,i,r):a(r))||r);return s&&r&&qe(e,i,r),r},Qe=(t,e)=>(i,s)=>e(i,s,t);let S=class{constructor(t){c(this,"_beforeStep$$",new o.Subject);c(this,"_oldElapsed",0);c(this,"beforeStep$",this._beforeStep$$.asObservable());c(this,"step$",ye().pipe(we(({elapsed:t})=>{var e;this._oldElapsed!==t&&((e=this._beforeStep$$)==null||e.next(o.U(this._service,[])),this._oldElapsed=t)}),o.filter(()=>this._service.enabled),Ce(()=>this._service.enabled),o.map(()=>o.U(this._service,[])),o.share()));this._service=t}};S=Ge([o.scoped(o.Lifecycle.ContainerScoped),Qe(0,o.inject(j))],S);var Je=Object.defineProperty,ke=Object.getOwnPropertyDescriptor,et=(t,e,i,s)=>{for(var r=s>1?void 0:s?ke(e,i):e,n=t.length-1,a;n>=0;n--)(a=t[n])&&(r=(s?a(e,i,r):a(r))||r);return s&&r&&Je(e,i,r),r},ne=(t,e)=>(i,s)=>e(i,s,t);let I=class{constructor(t,e){c(this,"_initialAnimationFrameId");c(this,"_subscriptions",[]);this._controller=t,this._service=e,this._subscriptions.push(this._controller.step$.subscribe(this._service.step.bind(this._service)))}init(t){this.enabled(t)}frame(){return this._service.frame}deltaTime(t){return typeof t=="number"&&(this._service.delta=t),this._service.delta}deltaRatio(t){return typeof t=="number"&&(this._service.deltaRatio=t),this._service.deltaRatio}enabled(t){return typeof t=="boolean"&&(this._service.enabled=t),this._service.enabled}dispose(){this._initialAnimationFrameId!==void 0&&cancelAnimationFrame(this._initialAnimationFrameId),this._service.enabled=!1}beforeStep$(){return this._controller.beforeStep$}step$(){return this._controller.step$}};I=et([o.scoped(o.Lifecycle.ContainerScoped),ne(0,o.inject(S)),ne(1,o.inject(j))],I);var tt=Object.defineProperty,it=Object.getOwnPropertyDescriptor,st=(t,e,i,s)=>{for(var r=s>1?void 0:s?it(e,i):e,n=t.length-1,a;n>=0;n--)(a=t[n])&&(r=(s?a(e,i,r):a(r))||r);return s&&r&&tt(e,i,r),r};let b=class{constructor(){c(this,"width",0);c(this,"height",0);c(this,"aspect",0);c(this,"pixelRatio",0);c(this,"frustrum",5);c(this,"enabled",!0)}init(t,e){this.height=Number(t.height??this.height),this.width=Number(t.width??this.width),this.aspect=this.width/this.height,this.enabled=e===void 0?!0:!!e}};b=st([o.scoped(o.Lifecycle.ContainerScoped)],b);var rt=Object.defineProperty,ot=Object.getOwnPropertyDescriptor,nt=(t,e,i,s)=>{for(var r=s>1?void 0:s?ot(e,i):e,n=t.length-1,a;n>=0;n--)(a=t[n])&&(r=(s?a(e,i,r):a(r))||r);return s&&r&&rt(e,i,r),r},at=(t,e)=>(i,s)=>e(i,s,t);let P=class{constructor(t){c(this,"instance");c(this,"enabled",!0);this._sizesService=t}set aspectRatio(t){var e;this.instance instanceof h.PerspectiveCamera&&(this.instance.aspect=t),(this.instance instanceof h.PerspectiveCamera||this.instance instanceof h.OrthographicCamera)&&((e=this.instance)==null||e.updateProjectionMatrix())}set quaternion(t){var e;(e=this.instance)==null||e.quaternion.copy(t)}set position(t){var e;(e=this.instance)==null||e.position.copy(t)}set rotation(t){var e;(e=this.instance)==null||e.rotation.copy(t)}init(t){if(this.dispose(),t===o.DefaultCameraType.PERSPECTIVE||t===void 0){this.instance=new h.PerspectiveCamera(70,this._sizesService.width/this._sizesService.height,.1,100),this.instance.position.z=8;return}t===o.DefaultCameraType.ORTHOGRAPHIC&&(this.instance=new h.OrthographicCamera(-this._sizesService.aspect*this._sizesService.frustrum/2,this._sizesService.aspect*this._sizesService.frustrum/2,this._sizesService.frustrum/2,-this._sizesService.frustrum/2,-50,50))}dispose(){this.instance instanceof h.Camera&&((this.instance instanceof h.PerspectiveCamera||this.instance instanceof h.OrthographicCamera)&&this.instance.clearViewOffset(),this.instance.clear(),this.instance=void 0)}};P=nt([o.scoped(o.Lifecycle.ContainerScoped),at(0,o.inject(b))],P);var ht=Object.defineProperty,ct=Object.getOwnPropertyDescriptor,lt=(t,e,i,s)=>{for(var r=s>1?void 0:s?ct(e,i):e,n=t.length-1,a;n>=0;n--)(a=t[n])&&(r=(s?a(e,i,r):a(r))||r);return s&&r&&ht(e,i,r),r},ae=(t,e)=>(i,s)=>e(i,s,t);let N=class{constructor(t,e){c(this,"step$");this.timerController=t,this._service=e,this.step$=this.timerController.step$.pipe(o.filter(()=>this._service.enabled))}};N=lt([o.scoped(o.Lifecycle.ContainerScoped),ae(0,o.inject(S)),ae(1,o.inject(P))],N);var pt=Object.defineProperty,_t=Object.getOwnPropertyDescriptor,dt=(t,e,i,s)=>{for(var r=s>1?void 0:s?_t(e,i):e,n=t.length-1,a;n>=0;n--)(a=t[n])&&(r=(s?a(e,i,r):a(r))||r);return s&&r&&pt(e,i,r),r},L=(t,e)=>(i,s)=>e(i,s,t);let H=class{constructor(t,e,i){c(this,"_subscriptions",[]);this._sizesService=t,this._controller=e,this._service=i}init(){this._service.init(),this._subscriptions.push(this._controller.step$.subscribe(()=>{var t;this._service.enabled&&(this._service.aspectRatio=this._sizesService.aspect,(this._service.instance instanceof h.PerspectiveCamera||this._service.instance instanceof h.OrthographicCamera)&&((t=this._service.instance)==null||t.updateProjectionMatrix()))}))}enabled(t){return typeof t=="boolean"&&(this._service.enabled=t),this._service.enabled}aspectRatio(t){return t&&(this._service.aspectRatio=t),this._service.aspectRatio}instance(t){return t&&(this._service.instance=t),this._service.instance}position(t){return t&&(this._service.position=t),this._service.position}quaternion(t){return t&&(this._service.quaternion=t),this._service.quaternion}dispose(){this._subscriptions.forEach(t=>t.unsubscribe()),this._service.dispose()}};H=dt([o.scoped(o.Lifecycle.ContainerScoped),L(0,o.inject(b)),L(1,o.inject(N)),L(2,o.inject(P))],H);var ut=Object.defineProperty,ft=Object.getOwnPropertyDescriptor,mt=(t,e,i,s)=>{for(var r=s>1?void 0:s?ft(e,i):e,n=t.length-1,a;n>=0;n--)(a=t[n])&&(r=(s?a(e,i,r):a(r))||r);return s&&r&&ut(e,i,r),r};let C=class{constructor(){c(this,"scene",new h.Scene);c(this,"enabled",!0)}};C=mt([o.scoped(o.Lifecycle.ContainerScoped)],C);var ve=Object.defineProperty,vt=Object.getOwnPropertyDescriptor,bt=(t,e,i)=>e in t?ve(t,e,{enumerable:!0,configurable:!0,writable:!0,value:i}):t[e]=i,Pt=(t,e,i,s)=>{for(var r=s>1?void 0:s?vt(e,i):e,n=t.length-1,a;n>=0;n--)(a=t[n])&&(r=(s?a(e,i,r):a(r))||r);return s&&r&&ve(e,i,r),r},A=(t,e)=>(i,s)=>e(i,s,t),gt=(t,e,i)=>bt(t,e+"",i);let g=class{constructor(t,e,i){c(this,"enabled",!0);c(this,"instance");this._worldService=t,this._cameraService=e,this._sizesService=i}setWebGLRenderer(t){this.instance=new h.WebGLRenderer({canvas:t,context:t.getContext("webgl2",{stencil:!0,powerPreference:"high-performance"}),powerPreference:"high-performance",depth:!0,antialias:!0}),this.instance.autoClear=!1,this.instance.setPixelRatio(g.RENDERER_PIXEL_RATIO),this.instance.setClearColor(0,0),this.instance.shadowMap.enabled=!0,this.instance.shadowMap.type=h.PCFSoftShadowMap,this.instance.outputColorSpace=h.SRGBColorSpace,this.instance.toneMapping=h.CineonToneMapping,this.instance.toneMappingExposure=1.75}setSize(t,e){var i;(i=this.instance)==null||i.setSize(t,e)}render(){this.enabled&&this._cameraService.instance instanceof h.Camera&&this.instance instanceof h.WebGLRenderer&&(this.instance.setViewport(0,0,this._sizesService.width,this._sizesService.height),this.instance.render(this._worldService.scene,this._cameraService.instance))}};gt(g,"RENDERER_PIXEL_RATIO",1);g=Pt([o.scoped(o.Lifecycle.ContainerScoped),A(0,o.inject(C)),A(1,o.inject(P)),A(2,o.inject(b))],g);var yt=Object.defineProperty,St=Object.getOwnPropertyDescriptor,Ct=(t,e,i,s)=>{for(var r=s>1?void 0:s?St(e,i):e,n=t.length-1,a;n>=0;n--)(a=t[n])&&(r=(s?a(e,i,r):a(r))||r);return s&&r&&yt(e,i,r),r},he=(t,e)=>(i,s)=>e(i,s,t);let R=class{constructor(t,e){c(this,"resize$");this._appController=t,this._service=e,this.resize$=this._appController.resize$$.pipe(o.filter(()=>this._service.enabled))}};R=Ct([o.scoped(o.Lifecycle.ContainerScoped),he(0,o.inject($)),he(1,o.inject(b))],R);var wt=Object.defineProperty,Ot=Object.getOwnPropertyDescriptor,Et=(t,e,i,s)=>{for(var r=s>1?void 0:s?Ot(e,i):e,n=t.length-1,a;n>=0;n--)(a=t[n])&&(r=(s?a(e,i,r):a(r))||r);return s&&r&&wt(e,i,r),r},x=(t,e)=>(i,s)=>e(i,s,t);let U=class{constructor(t,e,i){c(this,"step$");c(this,"resize$");this._service=t,this._timerController=e,this._sizesController=i,this.step$=this._timerController.step$.pipe(o.filter(()=>this._service.enabled)),this.resize$=this._sizesController.resize$.pipe(o.filter(()=>this._service.enabled))}};U=Et([o.scoped(o.Lifecycle.ContainerScoped),x(0,o.inject(g)),x(1,o.inject(S)),x(2,o.inject(R))],U);var Dt=Object.defineProperty,$t=Object.getOwnPropertyDescriptor,jt=(t,e,i,s)=>{for(var r=s>1?void 0:s?$t(e,i):e,n=t.length-1,a;n>=0;n--)(a=t[n])&&(r=(s?a(e,i,r):a(r))||r);return s&&r&&Dt(e,i,r),r},ce=(t,e)=>(i,s)=>e(i,s,t);let Y=class{constructor(t,e){this._controller=t,this._service=e}init(t){this._controller.step$.subscribe(()=>this._service.render()),this._controller.resize$.subscribe(e=>this._service.setSize(e.windowWidth,e.windowHeight)),this._service.setWebGLRenderer(t)}enabled(t){return typeof t=="boolean"&&(this._service.enabled=t),this._service.enabled}instance(){return this._service.instance}setSize(t){return this._service.setSize(t.x,t.y)}render(){return this._service.render()}dispose(){var t;(t=this._service.instance)==null||t.dispose(),this._service.instance=void 0}};Y=jt([o.scoped(o.Lifecycle.ContainerScoped),ce(0,o.inject(U)),ce(1,o.inject(g))],Y);var Rt=Object.defineProperty,Tt=Object.getOwnPropertyDescriptor,Mt=(t,e,i,s)=>{for(var r=s>1?void 0:s?Tt(e,i):e,n=t.length-1,a;n>=0;n--)(a=t[n])&&(r=(s?a(e,i,r):a(r))||r);return s&&r&&Rt(e,i,r),r},le=(t,e)=>(i,s)=>e(i,s,t);let F=class{constructor(t,e){this._controller=t,this._service=e}init(t){this._controller.resize$.subscribe(e=>{this._service.width=e.windowWidth,this._service.height=e.windowHeight,this._service.aspect=e.windowWidth/e.windowHeight}),this._service.init(t)}dispose(){}aspect(t){return typeof t=="number"&&(this._service.aspect=t),this._service.aspect}enabled(t){return typeof t=="boolean"&&(this._service.enabled=t),this._service.enabled}frustrum(t){return typeof t=="number"&&(this._service.frustrum=t),this._service.frustrum}height(t){return typeof t=="number"&&(this._service.height=t),this._service.height}pixelRatio(t){return typeof t=="number"&&(this._service.pixelRatio=t),this._service.pixelRatio}width(t){return typeof t=="number"&&(this._service.width=t),this._service.width}resize$(){return this._controller.resize$}};F=Mt([o.scoped(o.Lifecycle.ContainerScoped),le(0,o.inject(R)),le(1,o.inject(b))],F);var Lt=Object.defineProperty,At=Object.getOwnPropertyDescriptor,xt=(t,e,i,s)=>{for(var r=s>1?void 0:s?At(e,i):e,n=t.length-1,a;n>=0;n--)(a=t[n])&&(r=(s?a(e,i,r):a(r))||r);return s&&r&&Lt(e,i,r),r},zt=(t,e)=>(i,s)=>e(i,s,t);let V=class{constructor(t){c(this,"_beforeRender$$",new o.Subject);c(this,"_afterRender$$",new o.Subject);c(this,"beforeRender$",this._beforeRender$$.pipe(o.share()));c(this,"afterRender$",this._afterRender$$.pipe(o.share()));this._worldService=t,this._worldService.scene.onBeforeRender=()=>this._beforeRender$$.next({}),this._worldService.scene.onAfterRender=()=>this._afterRender$$.next({})}};V=xt([o.scoped(o.Lifecycle.ContainerScoped),zt(0,o.inject(C))],V);var It=Object.defineProperty,Nt=Object.getOwnPropertyDescriptor,Ht=(t,e,i,s)=>{for(var r=s>1?void 0:s?Nt(e,i):e,n=t.length-1,a;n>=0;n--)(a=t[n])&&(r=(s?a(e,i,r):a(r))||r);return s&&r&&It(e,i,r),r},pe=(t,e)=>(i,s)=>e(i,s,t);let Z=class{constructor(t,e){this._service=t,this._controller=e}init(){}dispose(){}scene(t){return t instanceof h.Scene&&(this._service.scene=t),this._service.scene}enabled(t){return typeof t=="boolean"&&(this._service.enabled=t),this._service.enabled}getBeforeRender$(){return this._controller.beforeRender$}getAfterRender$(){return this._controller.afterRender$}};Z=Ht([o.scoped(o.Lifecycle.ContainerScoped),pe(0,o.inject(C)),pe(1,o.inject(V))],Z);var Ut=Object.defineProperty,Yt=Object.getOwnPropertyDescriptor,Ft=(t,e,i,s)=>{for(var r=s>1?void 0:s?Yt(e,i):e,n=t.length-1,a;n>=0;n--)(a=t[n])&&(r=(s?a(e,i,r):a(r))||r);return s&&r&&Ut(e,i,r),r},w=(t,e)=>(i,s)=>e(i,s,t);let K=class{constructor(t,e,i,s,r){c(this,"enabled",!1);c(this,"cameraControls");c(this,"miniCamera");c(this,"miniCameraControls");c(this,"axesHelper");c(this,"gridHelper");this._appService=t,this._sizesService=e,this._rendererService=i,this._cameraService=s,this._worldService=r}_renderMiniCamera(){var t,e,i,s,r;!this.enabled||!this.miniCamera||((t=this._rendererService.instance)==null||t.setScissorTest(!0),(e=this._rendererService.instance)==null||e.setViewport(this._sizesService.width-this._sizesService.width/3,this._sizesService.height-this._sizesService.height/3,this._sizesService.width/3,this._sizesService.height/3),(i=this._rendererService.instance)==null||i.setScissor(this._sizesService.width-this._sizesService.width/3,this._sizesService.height-this._sizesService.height/3,this._sizesService.width/3,this._sizesService.height/3),(s=this._rendererService.instance)==null||s.render(this._worldService.scene,this.miniCamera),(r=this._rendererService.instance)==null||r.setScissorTest(!1))}initMiniCamera(){this.disposeMiniCamera(),this.enabled&&(this.miniCamera=new h.PerspectiveCamera(75,this._sizesService.width/this._sizesService.height,.1,500),this.miniCamera.position.z=10,this.miniCamera.position.x=-5)}initOrbitControl(){var t;this.cameraControls&&((t=this.cameraControls)==null||t.dispose()),!(!this.enabled||!(this._cameraService.instance instanceof h.Camera))&&this._cameraService.instance instanceof h.Camera&&(this.cameraControls=new oe(this._cameraService.instance,this._appService.proxyReceiver),this.cameraControls.rotateSpeed=.1,this.cameraControls.enableDamping=!0)}initMiniCameraOrbitControls(){this.miniCameraControls&&this.miniCameraControls.dispose(),!(!this.enabled||!this.miniCamera)&&(this.miniCameraControls=new oe(this.miniCamera,this._appService.proxyReceiver),this.miniCameraControls.rotateSpeed=.15,this.miniCameraControls.enableDamping=!0)}initAxesHelper(t){this.enabled&&(this.axesHelper=new h.AxesHelper(t),this._worldService.scene.add(this.axesHelper))}initGridHelper(t){this.gridHelper&&this._worldService.scene.remove(this.gridHelper),this.enabled&&(this.gridHelper=new h.GridHelper(t,t),this._worldService.scene.add(this.gridHelper))}disposeMiniCamera(){this.miniCamera instanceof h.Camera&&(this.miniCamera.clearViewOffset(),this.miniCamera.clear(),this.miniCamera=void 0)}update(){var t,e;(t=this.cameraControls)==null||t.update(),(e=this.miniCameraControls)==null||e.update(),this._renderMiniCamera()}dispose(){var t,e,i,s;this.disposeMiniCamera(),(t=this.cameraControls)==null||t.dispose(),this.cameraControls=void 0,(e=this.miniCameraControls)==null||e.dispose(),this.miniCameraControls=void 0,this.axesHelper&&this._worldService.scene.remove(this.axesHelper),(i=this.axesHelper)==null||i.dispose(),this.axesHelper=void 0,this.gridHelper&&this._worldService.scene.remove(this.gridHelper),(s=this.gridHelper)==null||s.dispose(),this.gridHelper=void 0}};K=Ft([o.scoped(o.Lifecycle.ContainerScoped),w(0,o.inject(O)),w(1,o.inject(b)),w(2,o.inject(g)),w(3,o.inject(P)),w(4,o.inject(C))],K);var Vt=Object.defineProperty,Zt=Object.getOwnPropertyDescriptor,Kt=(t,e,i,s)=>{for(var r=s>1?void 0:s?Zt(e,i):e,n=t.length-1,a;n>=0;n--)(a=t[n])&&(r=(s?a(e,i,r):a(r))||r);return s&&r&&Vt(e,i,r),r},_e=(t,e)=>(i,s)=>e(i,s,t);let W=class{constructor(t,e){c(this,"step$");this.timerController=t,this._service=e,this.step$=this.timerController.step$.pipe(o.filter(()=>this._service.enabled))}};W=Kt([o.scoped(o.Lifecycle.ContainerScoped),_e(0,o.inject(S)),_e(1,o.inject(P))],W);var Wt=Object.defineProperty,Xt=Object.getOwnPropertyDescriptor,qt=(t,e,i,s)=>{for(var r=s>1?void 0:s?Xt(e,i):e,n=t.length-1,a;n>=0;n--)(a=t[n])&&(r=(s?a(e,i,r):a(r))||r);return s&&r&&Wt(e,i,r),r},de=(t,e)=>(i,s)=>e(i,s,t);let X=class{constructor(t,e){c(this,"_subscriptions",[]);this._service=t,this._controller=e}init(t){this._service.enabled=!!t.enableDebug,this._service.enabled&&(t.withMiniCamera&&this._service.initMiniCamera(),t.enableControls&&(this._service.initOrbitControl(),this._service.initMiniCameraOrbitControls()),typeof(t==null?void 0:t.axesSizes)=="number"&&this._service.initAxesHelper(t.axesSizes),typeof(t==null?void 0:t.gridSizes)=="number"&&this._service.initGridHelper(t.gridSizes),this._subscriptions.push(this._controller.step$.subscribe(()=>{this._service.update()})))}enabled(t){return t&&(this._service.enabled=t),this._service.enabled}miniCamera(t){return t&&(this._service.miniCamera=t),this._service.miniCamera}getAxesHelper(){return this._service.axesHelper}getCameraControls(){return this._service.cameraControls}getGridHelper(){return this._service.gridHelper}getMiniCameraControls(){return this._service.miniCameraControls}getStep$(){return this._controller.step$}dispose(){this._service.dispose(),this._subscriptions.forEach(t=>t.unsubscribe())}};X=qt([o.scoped(o.Lifecycle.ContainerScoped),de(0,o.inject(K)),de(1,o.inject(W))],X);var Bt=Object.defineProperty,Gt=Object.getOwnPropertyDescriptor,Qt=(t,e,i,s)=>{for(var r=s>1?void 0:s?Gt(e,i):e,n=t.length-1,a;n>=0;n--)(a=t[n])&&(r=(s?a(e,i,r):a(r))||r);return s&&r&&Bt(e,i,r),r};let T=class{constructor(){c(this,"loadedResources",{});c(this,"toLoadCount",0);c(this,"loadedCount",0)}handleLoad(t){const{source:e,resource:i,loadedCount:s,toLoadCount:r}=t;i&&(this.loadedResources[e.name]=i,this.toLoadCount=s,this.loadedCount=r)}};T=Qt([o.scoped(o.Lifecycle.ResolutionScoped)],T);var Jt=Object.defineProperty,kt=Object.getOwnPropertyDescriptor,ei=(t,e,i,s)=>{for(var r=s>1?void 0:s?kt(e,i):e,n=t.length-1,a;n>=0;n--)(a=t[n])&&(r=(s?a(e,i,r):a(r))||r);return s&&r&&Jt(e,i,r),r},ti=(t,e)=>(i,s)=>e(i,s,t);let q=class{constructor(t){c(this,"load$",o.fromEvent(self,"message").pipe(o.filter(t=>{var e,i,s;return((e=t.data)==null?void 0:e.token)===o.LOADER_SERIALIZED_LOAD_TOKEN&&!!((s=(i=t.data)==null?void 0:i.payload)!=null&&s.resource)}),o.map(t=>{var i,s,r,n,a;const{payload:e}=t.data||{};if(((i=e==null?void 0:e.source)==null?void 0:i.type)==="gltf"){const l=e.resource,p=(s=l.animations)==null?void 0:s.map(v=>h.AnimationClip.parse(v)),d=(r=l.cameras)==null?void 0:r.map(v=>o.w(v)),y=(n=l.scenes)==null?void 0:n.map(v=>o.w(v)),E=y==null?void 0:y[0];return{...e,resource:{...l,animations:p,cameras:d,scene:E,scenes:y}}}return((a=e==null?void 0:e.source)==null?void 0:a.type)==="font"?{...e,resource:new o.Font(e.resource.data)}:e}),o.share()));c(this,"loadCompleted$",this.load$.pipe(o.filter(t=>!!t&&t.toLoadCount===t.loadedCount),o.map(()=>o.E(this._service,["loadedCount","loadedResources","toLoadCount"])),o.share()));this._service=t}};q=ei([o.scoped(o.Lifecycle.ContainerScoped),ti(0,o.inject(T))],q);var ii=Object.defineProperty,si=Object.getOwnPropertyDescriptor,ri=(t,e,i,s)=>{for(var r=s>1?void 0:s?si(e,i):e,n=t.length-1,a;n>=0;n--)(a=t[n])&&(r=(s?a(e,i,r):a(r))||r);return s&&r&&ii(e,i,r),r},ue=(t,e)=>(i,s)=>e(i,s,t);let B=class{constructor(t,e){c(this,"_subscriptions",[]);this._controller=t,this._service=e}init(){this._subscriptions.push(this._controller.load$.subscribe(this._service.handleLoad.bind(this._service)))}getLoadedResources(){return this._service.loadedResources}getLoadedCount(){return this._service.loadedCount}getToLoadCount(){return this._service.toLoadCount}getLoad$(){return this._controller.load$}getLoadCompleted$(){return this._controller.loadCompleted$}dispose(){this._subscriptions.forEach(t=>t.unsubscribe())}};B=ri([o.scoped(o.Lifecycle.ContainerScoped),ue(0,o.inject(q)),ue(1,o.inject(T))],B);var oi=Object.defineProperty,ni=Object.getOwnPropertyDescriptor,ai=(t,e,i,s)=>{for(var r=s>1?void 0:s?ni(e,i):e,n=t.length-1,a;n>=0;n--)(a=t[n])&&(r=(s?a(e,i,r):a(r))||r);return s&&r&&oi(e,i,r),r},m=(t,e)=>(i,s)=>e(i,s,t);exports.AppModule=class extends o.AppProxyEventHandlersBlueprint{constructor(e,i,s,r,n,a,l,p,d){super(),this._controller=e,this._service=i,this.timer=s,this.sizes=r,this.camera=n,this.world=a,this.renderer=l,this.loader=p,this.debug=d,this._initProxyEvents()}_initProxyEvents(){o.PROXY_EVENT_LISTENERS.forEach(e=>{this[`${e}$`]=()=>{var i;return(i=this._controller)==null?void 0:i[`${e}$`]},this[e]=i=>{var s,r;return(r=(s=this._controller)==null?void 0:s[e])==null?void 0:r.call(s,i)}})}getProxyReceiver(){return this._service.proxyReceiver}getCanvas(){return this._service.canvas}getIsInitialized(){return this._service.isInitialized}getBeforeStep$(){return this.timer.beforeStep$()}getStep$(){return this.timer.step$()}getBeforeRender$(){return this.world.getBeforeRender$()}getAfterRender$(){return this.world.getAfterRender$()}init(e){this._service.canvas=e.canvas,!(this._service.isInitialized||!this._service.canvas)&&(this._service.isInitialized=!0,this.sizes.init(this._service.canvas),this.camera.init(),this.world.init(),this.renderer.init(this._service.canvas),this.timer.init(e.startTimer),this.loader.init(),this.debug.init(e))}dispose(){this.sizes.dispose(),this.camera.dispose(),this.world.dispose(),this.renderer.dispose(),this.timer.dispose(),this.loader.dispose(),this.debug.dispose()}};exports.AppModule=ai([o.scoped(o.Lifecycle.ContainerScoped),m(0,o.inject($)),m(1,o.inject(O)),m(2,o.inject(I)),m(3,o.inject(F)),m(4,o.inject(H)),m(5,o.inject(Z)),m(6,o.inject(Y)),m(7,o.inject(B)),m(8,o.inject(X))],exports.AppModule);var hi=o.requireWorker();const Q=o.getDefaultExportFromCjs(hi),ci=Q.expose;Q.registerSerializer;Q.Transfer;const li=t=>{const e=o.instance.createChildContainer(),i=e.resolve(exports.AppModule),s={container:e,module:i},r={},n=l=>{var E,v,J,k,ee,te,ie;if(!((E=l.data)!=null&&E.canvas)&&!((v=l.data)!=null&&v.mainThread)||i.getIsInitialized())return;const p=!!((J=l.data)!=null&&J.startTimer),d=!!((k=l.data)!=null&&k.withMiniCamera),y=!!((ee=l.data)!=null&&ee.fullScreen);i.init({...l.data,canvas:(t==null?void 0:t.canvas)||l.data.canvas||(l.data.mainThread?(te=self==null?void 0:self.document)==null?void 0:te.getElementsByTagName("canvas")[0]:void 0),startTimer:p,withMiniCamera:d,fullScreen:y}),(ie=t==null?void 0:t.onReady)==null||ie.call(t,s),self==null||self.removeEventListener("message",n)};e.register(o.CONTAINER_TOKEN,{useValue:e}),o.PROXY_EVENT_LISTENERS.forEach(l=>{var p,d;r[l]=(d=(p=i[l])==null?void 0:p.bind)==null?void 0:d.call(p,i)}),self==null||self.addEventListener("message",n);const a={...r,getProxyReceiver:i.getProxyReceiver.bind(i),getIsInitialized:i.getIsInitialized.bind(i),getBeforeStep$:i.getBeforeStep$.bind(i),getBeforeRender$:i.getBeforeRender$.bind(i),getStep$:i.getStep$.bind(i),getAfterRender$:i.getAfterRender$.bind(i),dispose:i.dispose.bind(i)};o.instance.register("MAIN_THREAD_APP",{useValue:a});try{ci(a)}catch(l){console.warn("Failed to expose the app module.",l.message)}return s};exports.launchApp=li;
|
|
1
|
+
"use strict";var _e=Object.defineProperty;var ue=(t,e,i)=>e in t?_e(t,e,{enumerable:!0,configurable:!0,writable:!0,value:i}):t[e]=i;var c=(t,e,i)=>ue(t,typeof e!="symbol"?e+"":e,i);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("./FontLoader-76d20F_i.js"),h=require("three");var fe={now:function(){return performance.now()},delegate:void 0},x={schedule:function(t){var e=requestAnimationFrame,i=cancelAnimationFrame,s=x.delegate;s&&(e=s.requestAnimationFrame,i=s.cancelAnimationFrame);var r=e(function(o){i=void 0,t(o)});return new n.Subscription(function(){return i==null?void 0:i(r)})},requestAnimationFrame:function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];return requestAnimationFrame.apply(void 0,n.__spreadArray([],n.__read(t)))},cancelAnimationFrame:function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];return cancelAnimationFrame.apply(void 0,n.__spreadArray([],n.__read(t)))},delegate:void 0};function me(t){return t?pe(t):be}function pe(t){return new n.Observable(function(e){var i=t||fe,s=i.now(),r=0,o=function(){e.closed||(r=x.requestAnimationFrame(function(a){r=0;var l=i.now();e.next({timestamp:t?l:a,elapsed:l-s}),o()}))};return o(),function(){r&&x.cancelAnimationFrame(r)}})}var be=pe();function ve(t,e){return e===void 0&&(e=!1),n.operate(function(i,s){var r=0;i.subscribe(n.createOperatorSubscriber(s,function(o){var a=t(o,r++);(a||e)&&s.next(o),!a&&s.complete()}))})}function ge(t,e,i){var s=n.isFunction(t)||e||i?{next:t,error:e,complete:i}:t;return s?n.operate(function(r,o){var a;(a=s.subscribe)===null||a===void 0||a.call(s);var l=!0;r.subscribe(n.createOperatorSubscriber(o,function(p){var _;(_=s.next)===null||_===void 0||_.call(s,p),o.next(p)},function(){var p;l=!1,(p=s.complete)===null||p===void 0||p.call(s),o.complete()},function(p){var _;l=!1,(_=s.error)===null||_===void 0||_.call(s,p),o.error(p)},function(){var p,_;l&&((p=s.unsubscribe)===null||p===void 0||p.call(s)),(_=s.finalize)===null||_===void 0||_.call(s)}))}):n.identity}const J={type:"change"},B={type:"start"},de={type:"end"},D=new h.Ray,k=new h.Plane,Pe=Math.cos(70*h.MathUtils.DEG2RAD),u=new h.Vector3,f=2*Math.PI,d={NONE:-1,ROTATE:0,DOLLY:1,PAN:2,TOUCH_ROTATE:3,TOUCH_PAN:4,TOUCH_DOLLY_PAN:5,TOUCH_DOLLY_ROTATE:6},M=1e-6;class ee extends h.Controls{constructor(e,i=null){super(e,i),this.state=d.NONE,this.target=new h.Vector3,this.cursor=new h.Vector3,this.minDistance=0,this.maxDistance=1/0,this.minZoom=0,this.maxZoom=1/0,this.minTargetRadius=0,this.maxTargetRadius=1/0,this.minPolarAngle=0,this.maxPolarAngle=Math.PI,this.minAzimuthAngle=-1/0,this.maxAzimuthAngle=1/0,this.enableDamping=!1,this.dampingFactor=.05,this.enableZoom=!0,this.zoomSpeed=1,this.enableRotate=!0,this.rotateSpeed=1,this.keyRotateSpeed=1,this.enablePan=!0,this.panSpeed=1,this.screenSpacePanning=!0,this.keyPanSpeed=7,this.zoomToCursor=!1,this.autoRotate=!1,this.autoRotateSpeed=2,this.keys={LEFT:"ArrowLeft",UP:"ArrowUp",RIGHT:"ArrowRight",BOTTOM:"ArrowDown"},this.mouseButtons={LEFT:h.MOUSE.ROTATE,MIDDLE:h.MOUSE.DOLLY,RIGHT:h.MOUSE.PAN},this.touches={ONE:h.TOUCH.ROTATE,TWO:h.TOUCH.DOLLY_PAN},this.target0=this.target.clone(),this.position0=this.object.position.clone(),this.zoom0=this.object.zoom,this._cursorStyle="auto",this._domElementKeyEvents=null,this._lastPosition=new h.Vector3,this._lastQuaternion=new h.Quaternion,this._lastTargetPosition=new h.Vector3,this._quat=new h.Quaternion().setFromUnitVectors(e.up,new h.Vector3(0,1,0)),this._quatInverse=this._quat.clone().invert(),this._spherical=new h.Spherical,this._sphericalDelta=new h.Spherical,this._scale=1,this._panOffset=new h.Vector3,this._rotateStart=new h.Vector2,this._rotateEnd=new h.Vector2,this._rotateDelta=new h.Vector2,this._panStart=new h.Vector2,this._panEnd=new h.Vector2,this._panDelta=new h.Vector2,this._dollyStart=new h.Vector2,this._dollyEnd=new h.Vector2,this._dollyDelta=new h.Vector2,this._dollyDirection=new h.Vector3,this._mouse=new h.Vector2,this._performCursorZoom=!1,this._pointers=[],this._pointerPositions={},this._controlActive=!1,this._onPointerMove=ye.bind(this),this._onPointerDown=we.bind(this),this._onPointerUp=Ce.bind(this),this._onContextMenu=Re.bind(this),this._onMouseWheel=Ee.bind(this),this._onKeyDown=De.bind(this),this._onTouchStart=$e.bind(this),this._onTouchMove=je.bind(this),this._onMouseDown=Se.bind(this),this._onMouseMove=Oe.bind(this),this._interceptControlDown=Te.bind(this),this._interceptControlUp=Me.bind(this),this.domElement!==null&&this.connect(this.domElement),this.update()}set cursorStyle(e){this._cursorStyle=e,e==="grab"?this.domElement.style.cursor="grab":this.domElement.style.cursor="auto"}get cursorStyle(){return this._cursorStyle}connect(e){super.connect(e),this.domElement.addEventListener("pointerdown",this._onPointerDown),this.domElement.addEventListener("pointercancel",this._onPointerUp),this.domElement.addEventListener("contextmenu",this._onContextMenu),this.domElement.addEventListener("wheel",this._onMouseWheel,{passive:!1}),this.domElement.getRootNode().addEventListener("keydown",this._interceptControlDown,{passive:!0,capture:!0}),this.domElement.style.touchAction="none"}disconnect(){this.domElement.removeEventListener("pointerdown",this._onPointerDown),this.domElement.ownerDocument.removeEventListener("pointermove",this._onPointerMove),this.domElement.ownerDocument.removeEventListener("pointerup",this._onPointerUp),this.domElement.removeEventListener("pointercancel",this._onPointerUp),this.domElement.removeEventListener("wheel",this._onMouseWheel),this.domElement.removeEventListener("contextmenu",this._onContextMenu),this.stopListenToKeyEvents(),this.domElement.getRootNode().removeEventListener("keydown",this._interceptControlDown,{capture:!0}),this.domElement.style.touchAction="auto"}dispose(){this.disconnect()}getPolarAngle(){return this._spherical.phi}getAzimuthalAngle(){return this._spherical.theta}getDistance(){return this.object.position.distanceTo(this.target)}listenToKeyEvents(e){e.addEventListener("keydown",this._onKeyDown),this._domElementKeyEvents=e}stopListenToKeyEvents(){this._domElementKeyEvents!==null&&(this._domElementKeyEvents.removeEventListener("keydown",this._onKeyDown),this._domElementKeyEvents=null)}saveState(){this.target0.copy(this.target),this.position0.copy(this.object.position),this.zoom0=this.object.zoom}reset(){this.target.copy(this.target0),this.object.position.copy(this.position0),this.object.zoom=this.zoom0,this.object.updateProjectionMatrix(),this.dispatchEvent(J),this.update(),this.state=d.NONE}pan(e,i){this._pan(e,i),this.update()}dollyIn(e){this._dollyIn(e),this.update()}dollyOut(e){this._dollyOut(e),this.update()}rotateLeft(e){this._rotateLeft(e),this.update()}rotateUp(e){this._rotateUp(e),this.update()}update(e=null){const i=this.object.position;u.copy(i).sub(this.target),u.applyQuaternion(this._quat),this._spherical.setFromVector3(u),this.autoRotate&&this.state===d.NONE&&this._rotateLeft(this._getAutoRotationAngle(e)),this.enableDamping?(this._spherical.theta+=this._sphericalDelta.theta*this.dampingFactor,this._spherical.phi+=this._sphericalDelta.phi*this.dampingFactor):(this._spherical.theta+=this._sphericalDelta.theta,this._spherical.phi+=this._sphericalDelta.phi);let s=this.minAzimuthAngle,r=this.maxAzimuthAngle;isFinite(s)&&isFinite(r)&&(s<-Math.PI?s+=f:s>Math.PI&&(s-=f),r<-Math.PI?r+=f:r>Math.PI&&(r-=f),s<=r?this._spherical.theta=Math.max(s,Math.min(r,this._spherical.theta)):this._spherical.theta=this._spherical.theta>(s+r)/2?Math.max(s,this._spherical.theta):Math.min(r,this._spherical.theta)),this._spherical.phi=Math.max(this.minPolarAngle,Math.min(this.maxPolarAngle,this._spherical.phi)),this._spherical.makeSafe(),this.enableDamping===!0?this.target.addScaledVector(this._panOffset,this.dampingFactor):this.target.add(this._panOffset),this.target.sub(this.cursor),this.target.clampLength(this.minTargetRadius,this.maxTargetRadius),this.target.add(this.cursor);let o=!1;if(this.zoomToCursor&&this._performCursorZoom||this.object.isOrthographicCamera)this._spherical.radius=this._clampDistance(this._spherical.radius);else{const a=this._spherical.radius;this._spherical.radius=this._clampDistance(this._spherical.radius*this._scale),o=a!=this._spherical.radius}if(u.setFromSpherical(this._spherical),u.applyQuaternion(this._quatInverse),i.copy(this.target).add(u),this.object.lookAt(this.target),this.enableDamping===!0?(this._sphericalDelta.theta*=1-this.dampingFactor,this._sphericalDelta.phi*=1-this.dampingFactor,this._panOffset.multiplyScalar(1-this.dampingFactor)):(this._sphericalDelta.set(0,0,0),this._panOffset.set(0,0,0)),this.zoomToCursor&&this._performCursorZoom){let a=null;if(this.object.isPerspectiveCamera){const l=u.length();a=this._clampDistance(l*this._scale);const p=l-a;this.object.position.addScaledVector(this._dollyDirection,p),this.object.updateMatrixWorld(),o=!!p}else if(this.object.isOrthographicCamera){const l=new h.Vector3(this._mouse.x,this._mouse.y,0);l.unproject(this.object);const p=this.object.zoom;this.object.zoom=Math.max(this.minZoom,Math.min(this.maxZoom,this.object.zoom/this._scale)),this.object.updateProjectionMatrix(),o=p!==this.object.zoom;const _=new h.Vector3(this._mouse.x,this._mouse.y,0);_.unproject(this.object),this.object.position.sub(_).add(l),this.object.updateMatrixWorld(),a=u.length()}else console.warn("WARNING: OrbitControls.js encountered an unknown camera type - zoom to cursor disabled."),this.zoomToCursor=!1;a!==null&&(this.screenSpacePanning?this.target.set(0,0,-1).transformDirection(this.object.matrix).multiplyScalar(a).add(this.object.position):(D.origin.copy(this.object.position),D.direction.set(0,0,-1).transformDirection(this.object.matrix),Math.abs(this.object.up.dot(D.direction))<Pe?this.object.lookAt(this.target):(k.setFromNormalAndCoplanarPoint(this.object.up,this.target),D.intersectPlane(k,this.target))))}else if(this.object.isOrthographicCamera){const a=this.object.zoom;this.object.zoom=Math.max(this.minZoom,Math.min(this.maxZoom,this.object.zoom/this._scale)),a!==this.object.zoom&&(this.object.updateProjectionMatrix(),o=!0)}return this._scale=1,this._performCursorZoom=!1,o||this._lastPosition.distanceToSquared(this.object.position)>M||8*(1-this._lastQuaternion.dot(this.object.quaternion))>M||this._lastTargetPosition.distanceToSquared(this.target)>M?(this.dispatchEvent(J),this._lastPosition.copy(this.object.position),this._lastQuaternion.copy(this.object.quaternion),this._lastTargetPosition.copy(this.target),!0):!1}_getAutoRotationAngle(e){return e!==null?f/60*this.autoRotateSpeed*e:f/60/60*this.autoRotateSpeed}_getZoomScale(e){const i=Math.abs(e*.01);return Math.pow(.95,this.zoomSpeed*i)}_rotateLeft(e){this._sphericalDelta.theta-=e}_rotateUp(e){this._sphericalDelta.phi-=e}_panLeft(e,i){u.setFromMatrixColumn(i,0),u.multiplyScalar(-e),this._panOffset.add(u)}_panUp(e,i){this.screenSpacePanning===!0?u.setFromMatrixColumn(i,1):(u.setFromMatrixColumn(i,0),u.crossVectors(this.object.up,u)),u.multiplyScalar(e),this._panOffset.add(u)}_pan(e,i){const s=this.domElement;if(this.object.isPerspectiveCamera){const r=this.object.position;u.copy(r).sub(this.target);let o=u.length();o*=Math.tan(this.object.fov/2*Math.PI/180),this._panLeft(2*e*o/s.clientHeight,this.object.matrix),this._panUp(2*i*o/s.clientHeight,this.object.matrix)}else this.object.isOrthographicCamera?(this._panLeft(e*(this.object.right-this.object.left)/this.object.zoom/s.clientWidth,this.object.matrix),this._panUp(i*(this.object.top-this.object.bottom)/this.object.zoom/s.clientHeight,this.object.matrix)):(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - pan disabled."),this.enablePan=!1)}_dollyOut(e){this.object.isPerspectiveCamera||this.object.isOrthographicCamera?this._scale/=e:(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled."),this.enableZoom=!1)}_dollyIn(e){this.object.isPerspectiveCamera||this.object.isOrthographicCamera?this._scale*=e:(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled."),this.enableZoom=!1)}_updateZoomParameters(e,i){if(!this.zoomToCursor)return;this._performCursorZoom=!0;const s=this.domElement.getBoundingClientRect(),r=e-s.left,o=i-s.top,a=s.width,l=s.height;this._mouse.x=r/a*2-1,this._mouse.y=-(o/l)*2+1,this._dollyDirection.set(this._mouse.x,this._mouse.y,1).unproject(this.object).sub(this.object.position).normalize()}_clampDistance(e){return Math.max(this.minDistance,Math.min(this.maxDistance,e))}_handleMouseDownRotate(e){this._rotateStart.set(e.clientX,e.clientY)}_handleMouseDownDolly(e){this._updateZoomParameters(e.clientX,e.clientX),this._dollyStart.set(e.clientX,e.clientY)}_handleMouseDownPan(e){this._panStart.set(e.clientX,e.clientY)}_handleMouseMoveRotate(e){this._rotateEnd.set(e.clientX,e.clientY),this._rotateDelta.subVectors(this._rotateEnd,this._rotateStart).multiplyScalar(this.rotateSpeed);const i=this.domElement;this._rotateLeft(f*this._rotateDelta.x/i.clientHeight),this._rotateUp(f*this._rotateDelta.y/i.clientHeight),this._rotateStart.copy(this._rotateEnd),this.update()}_handleMouseMoveDolly(e){this._dollyEnd.set(e.clientX,e.clientY),this._dollyDelta.subVectors(this._dollyEnd,this._dollyStart),this._dollyDelta.y>0?this._dollyOut(this._getZoomScale(this._dollyDelta.y)):this._dollyDelta.y<0&&this._dollyIn(this._getZoomScale(this._dollyDelta.y)),this._dollyStart.copy(this._dollyEnd),this.update()}_handleMouseMovePan(e){this._panEnd.set(e.clientX,e.clientY),this._panDelta.subVectors(this._panEnd,this._panStart).multiplyScalar(this.panSpeed),this._pan(this._panDelta.x,this._panDelta.y),this._panStart.copy(this._panEnd),this.update()}_handleMouseWheel(e){this._updateZoomParameters(e.clientX,e.clientY),e.deltaY<0?this._dollyIn(this._getZoomScale(e.deltaY)):e.deltaY>0&&this._dollyOut(this._getZoomScale(e.deltaY)),this.update()}_handleKeyDown(e){let i=!1;switch(e.code){case this.keys.UP:e.ctrlKey||e.metaKey||e.shiftKey?this.enableRotate&&this._rotateUp(f*this.keyRotateSpeed/this.domElement.clientHeight):this.enablePan&&this._pan(0,this.keyPanSpeed),i=!0;break;case this.keys.BOTTOM:e.ctrlKey||e.metaKey||e.shiftKey?this.enableRotate&&this._rotateUp(-f*this.keyRotateSpeed/this.domElement.clientHeight):this.enablePan&&this._pan(0,-this.keyPanSpeed),i=!0;break;case this.keys.LEFT:e.ctrlKey||e.metaKey||e.shiftKey?this.enableRotate&&this._rotateLeft(f*this.keyRotateSpeed/this.domElement.clientHeight):this.enablePan&&this._pan(this.keyPanSpeed,0),i=!0;break;case this.keys.RIGHT:e.ctrlKey||e.metaKey||e.shiftKey?this.enableRotate&&this._rotateLeft(-f*this.keyRotateSpeed/this.domElement.clientHeight):this.enablePan&&this._pan(-this.keyPanSpeed,0),i=!0;break}i&&(e.preventDefault(),this.update())}_handleTouchStartRotate(e){if(this._pointers.length===1)this._rotateStart.set(e.pageX,e.pageY);else{const i=this._getSecondPointerPosition(e),s=.5*(e.pageX+i.x),r=.5*(e.pageY+i.y);this._rotateStart.set(s,r)}}_handleTouchStartPan(e){if(this._pointers.length===1)this._panStart.set(e.pageX,e.pageY);else{const i=this._getSecondPointerPosition(e),s=.5*(e.pageX+i.x),r=.5*(e.pageY+i.y);this._panStart.set(s,r)}}_handleTouchStartDolly(e){const i=this._getSecondPointerPosition(e),s=e.pageX-i.x,r=e.pageY-i.y,o=Math.sqrt(s*s+r*r);this._dollyStart.set(0,o)}_handleTouchStartDollyPan(e){this.enableZoom&&this._handleTouchStartDolly(e),this.enablePan&&this._handleTouchStartPan(e)}_handleTouchStartDollyRotate(e){this.enableZoom&&this._handleTouchStartDolly(e),this.enableRotate&&this._handleTouchStartRotate(e)}_handleTouchMoveRotate(e){if(this._pointers.length==1)this._rotateEnd.set(e.pageX,e.pageY);else{const s=this._getSecondPointerPosition(e),r=.5*(e.pageX+s.x),o=.5*(e.pageY+s.y);this._rotateEnd.set(r,o)}this._rotateDelta.subVectors(this._rotateEnd,this._rotateStart).multiplyScalar(this.rotateSpeed);const i=this.domElement;this._rotateLeft(f*this._rotateDelta.x/i.clientHeight),this._rotateUp(f*this._rotateDelta.y/i.clientHeight),this._rotateStart.copy(this._rotateEnd)}_handleTouchMovePan(e){if(this._pointers.length===1)this._panEnd.set(e.pageX,e.pageY);else{const i=this._getSecondPointerPosition(e),s=.5*(e.pageX+i.x),r=.5*(e.pageY+i.y);this._panEnd.set(s,r)}this._panDelta.subVectors(this._panEnd,this._panStart).multiplyScalar(this.panSpeed),this._pan(this._panDelta.x,this._panDelta.y),this._panStart.copy(this._panEnd)}_handleTouchMoveDolly(e){const i=this._getSecondPointerPosition(e),s=e.pageX-i.x,r=e.pageY-i.y,o=Math.sqrt(s*s+r*r);this._dollyEnd.set(0,o),this._dollyDelta.set(0,Math.pow(this._dollyEnd.y/this._dollyStart.y,this.zoomSpeed)),this._dollyOut(this._dollyDelta.y),this._dollyStart.copy(this._dollyEnd);const a=(e.pageX+i.x)*.5,l=(e.pageY+i.y)*.5;this._updateZoomParameters(a,l)}_handleTouchMoveDollyPan(e){this.enableZoom&&this._handleTouchMoveDolly(e),this.enablePan&&this._handleTouchMovePan(e)}_handleTouchMoveDollyRotate(e){this.enableZoom&&this._handleTouchMoveDolly(e),this.enableRotate&&this._handleTouchMoveRotate(e)}_addPointer(e){this._pointers.push(e.pointerId)}_removePointer(e){delete this._pointerPositions[e.pointerId];for(let i=0;i<this._pointers.length;i++)if(this._pointers[i]==e.pointerId){this._pointers.splice(i,1);return}}_isTrackingPointer(e){for(let i=0;i<this._pointers.length;i++)if(this._pointers[i]==e.pointerId)return!0;return!1}_trackPointer(e){let i=this._pointerPositions[e.pointerId];i===void 0&&(i=new h.Vector2,this._pointerPositions[e.pointerId]=i),i.set(e.pageX,e.pageY)}_getSecondPointerPosition(e){const i=e.pointerId===this._pointers[0]?this._pointers[1]:this._pointers[0];return this._pointerPositions[i]}_customWheelEvent(e){const i=e.deltaMode,s={clientX:e.clientX,clientY:e.clientY,deltaY:e.deltaY};switch(i){case 1:s.deltaY*=16;break;case 2:s.deltaY*=100;break}return e.ctrlKey&&!this._controlActive&&(s.deltaY*=10),s}}function we(t){this.enabled!==!1&&(this._pointers.length===0&&(this.domElement.setPointerCapture(t.pointerId),this.domElement.ownerDocument.addEventListener("pointermove",this._onPointerMove),this.domElement.ownerDocument.addEventListener("pointerup",this._onPointerUp)),!this._isTrackingPointer(t)&&(this._addPointer(t),t.pointerType==="touch"?this._onTouchStart(t):this._onMouseDown(t),this._cursorStyle==="grab"&&(this.domElement.style.cursor="grabbing")))}function ye(t){this.enabled!==!1&&(t.pointerType==="touch"?this._onTouchMove(t):this._onMouseMove(t))}function Ce(t){switch(this._removePointer(t),this._pointers.length){case 0:this.domElement.releasePointerCapture(t.pointerId),this.domElement.ownerDocument.removeEventListener("pointermove",this._onPointerMove),this.domElement.ownerDocument.removeEventListener("pointerup",this._onPointerUp),this.dispatchEvent(de),this.state=d.NONE,this._cursorStyle==="grab"&&(this.domElement.style.cursor="grab");break;case 1:const e=this._pointers[0],i=this._pointerPositions[e];this._onTouchStart({pointerId:e,pageX:i.x,pageY:i.y});break}}function Se(t){let e;switch(t.button){case 0:e=this.mouseButtons.LEFT;break;case 1:e=this.mouseButtons.MIDDLE;break;case 2:e=this.mouseButtons.RIGHT;break;default:e=-1}switch(e){case h.MOUSE.DOLLY:if(this.enableZoom===!1)return;this._handleMouseDownDolly(t),this.state=d.DOLLY;break;case h.MOUSE.ROTATE:if(t.ctrlKey||t.metaKey||t.shiftKey){if(this.enablePan===!1)return;this._handleMouseDownPan(t),this.state=d.PAN}else{if(this.enableRotate===!1)return;this._handleMouseDownRotate(t),this.state=d.ROTATE}break;case h.MOUSE.PAN:if(t.ctrlKey||t.metaKey||t.shiftKey){if(this.enableRotate===!1)return;this._handleMouseDownRotate(t),this.state=d.ROTATE}else{if(this.enablePan===!1)return;this._handleMouseDownPan(t),this.state=d.PAN}break;default:this.state=d.NONE}this.state!==d.NONE&&this.dispatchEvent(B)}function Oe(t){switch(this.state){case d.ROTATE:if(this.enableRotate===!1)return;this._handleMouseMoveRotate(t);break;case d.DOLLY:if(this.enableZoom===!1)return;this._handleMouseMoveDolly(t);break;case d.PAN:if(this.enablePan===!1)return;this._handleMouseMovePan(t);break}}function Ee(t){this.enabled===!1||this.enableZoom===!1||this.state!==d.NONE||(t.preventDefault(),this.dispatchEvent(B),this._handleMouseWheel(this._customWheelEvent(t)),this.dispatchEvent(de))}function De(t){this.enabled!==!1&&this._handleKeyDown(t)}function $e(t){switch(this._trackPointer(t),this._pointers.length){case 1:switch(this.touches.ONE){case h.TOUCH.ROTATE:if(this.enableRotate===!1)return;this._handleTouchStartRotate(t),this.state=d.TOUCH_ROTATE;break;case h.TOUCH.PAN:if(this.enablePan===!1)return;this._handleTouchStartPan(t),this.state=d.TOUCH_PAN;break;default:this.state=d.NONE}break;case 2:switch(this.touches.TWO){case h.TOUCH.DOLLY_PAN:if(this.enableZoom===!1&&this.enablePan===!1)return;this._handleTouchStartDollyPan(t),this.state=d.TOUCH_DOLLY_PAN;break;case h.TOUCH.DOLLY_ROTATE:if(this.enableZoom===!1&&this.enableRotate===!1)return;this._handleTouchStartDollyRotate(t),this.state=d.TOUCH_DOLLY_ROTATE;break;default:this.state=d.NONE}break;default:this.state=d.NONE}this.state!==d.NONE&&this.dispatchEvent(B)}function je(t){switch(this._trackPointer(t),this.state){case d.TOUCH_ROTATE:if(this.enableRotate===!1)return;this._handleTouchMoveRotate(t),this.update();break;case d.TOUCH_PAN:if(this.enablePan===!1)return;this._handleTouchMovePan(t),this.update();break;case d.TOUCH_DOLLY_PAN:if(this.enableZoom===!1&&this.enablePan===!1)return;this._handleTouchMoveDollyPan(t),this.update();break;case d.TOUCH_DOLLY_ROTATE:if(this.enableZoom===!1&&this.enableRotate===!1)return;this._handleTouchMoveDollyRotate(t),this.update();break;default:this.state=d.NONE}}function Re(t){this.enabled!==!1&&t.preventDefault()}function Te(t){t.key==="Control"&&(this._controlActive=!0,this.domElement.getRootNode().addEventListener("keyup",this._interceptControlUp,{passive:!0,capture:!0}))}function Me(t){t.key==="Control"&&(this._controlActive=!1,this.domElement.getRootNode().removeEventListener("keyup",this._interceptControlUp,{passive:!0,capture:!0}))}var Ae=Object.defineProperty,Le=Object.getOwnPropertyDescriptor,xe=(t,e,i,s)=>{for(var r=s>1?void 0:s?Le(e,i):e,o=t.length-1,a;o>=0;o--)(a=t[o])&&(r=(s?a(e,i,r):a(r))||r);return s&&r&&Ae(e,i,r),r};let S=class{constructor(){c(this,"_canvas");c(this,"proxyReceiver",new n.x);c(this,"isInitialized",!1)}init(t){if(!t)throw new Error("Core App Canvas is not initialized.");this.canvas=t,this.isInitialized=!0}get canvas(){return this._canvas}set canvas(t){t.style={width:t.width+"",height:t.height+""},this._canvas=t}};S=xe([n.scoped(n.Lifecycle.ContainerScoped)],S);var ze=Object.defineProperty,He=Object.getOwnPropertyDescriptor,Ie=(t,e,i,s)=>{for(var r=s>1?void 0:s?He(e,i):e,o=t.length-1,a;o>=0;o--)(a=t[o])&&(r=(s?a(e,i,r):a(r))||r);return s&&r&&ze(e,i,r),r},Ne=(t,e)=>(i,s)=>e(i,s,t);let $=class extends n.ProxyEventHandlersBlueprint{constructor(t){super(),this._service=t;for(const e of n.PROXY_EVENT_LISTENERS)this[`${e}$$`]=new n.Subject,this[`${e}$`]=this[`${e}$$`].pipe(),this[e]=i=>{const s={...i,type:i.type||e};this._service.proxyReceiver.handleEvent(s),this._service.proxyReceiver.ownerDocument.handleEvent(s),this[`${e}$$`].next(i)}}};$=Ie([n.scoped(n.Lifecycle.ContainerScoped),Ne(0,n.inject(S))],$);var Ue=Object.defineProperty,We=Object.getOwnPropertyDescriptor,Ye=(t,e,i,s)=>{for(var r=s>1?void 0:s?We(e,i):e,o=t.length-1,a;o>=0;o--)(a=t[o])&&(r=(s?a(e,i,r):a(r))||r);return s&&r&&Ue(e,i,r),r};let j=class{constructor(){c(this,"fps",60);c(this,"frame",1e3/this.fps);c(this,"timer",new h.Timer);c(this,"initialTime",Date.now());c(this,"elapsed",0);c(this,"previousDelta",0);c(this,"delta",0);c(this,"deltaRatio",0);c(this,"enabled",!1)}init(t){this.timer.connect(t)}step(){this.timer.update(),this.elapsed=this.timer.getElapsed(),this.delta=this.elapsed-this.previousDelta,this.previousDelta=this.elapsed,this.deltaRatio=this.delta/this.frame}};j=Ye([n.scoped(n.Lifecycle.ContainerScoped)],j);var Ve=Object.defineProperty,Fe=Object.getOwnPropertyDescriptor,Ze=(t,e,i,s)=>{for(var r=s>1?void 0:s?Fe(e,i):e,o=t.length-1,a;o>=0;o--)(a=t[o])&&(r=(s?a(e,i,r):a(r))||r);return s&&r&&Ve(e,i,r),r},Ke=(t,e)=>(i,s)=>e(i,s,t);let w=class{constructor(t){c(this,"_beforeStep$$",new n.Subject);c(this,"_oldElapsed",0);c(this,"beforeStep$",this._beforeStep$$.asObservable());c(this,"step$",me().pipe(ge(({elapsed:t})=>{var e;this._oldElapsed!==t&&((e=this._beforeStep$$)==null||e.next(n.J(this._service,[])),this._oldElapsed=t)}),n.filter(()=>this._service.enabled),ve(()=>this._service.enabled),n.map(()=>n.J(this._service,[])),n.share()));this._service=t}};w=Ze([n.scoped(n.Lifecycle.ContainerScoped),Ke(0,n.inject(j))],w);var Xe=Object.defineProperty,qe=Object.getOwnPropertyDescriptor,Be=(t,e,i,s)=>{for(var r=s>1?void 0:s?qe(e,i):e,o=t.length-1,a;o>=0;o--)(a=t[o])&&(r=(s?a(e,i,r):a(r))||r);return s&&r&&Xe(e,i,r),r},te=(t,e)=>(i,s)=>e(i,s,t);let z=class{constructor(t,e){c(this,"_initialAnimationFrameId");c(this,"_subscriptions",[]);this._controller=t,this._service=e,this._subscriptions.push(this._controller.step$.subscribe(this._service.step.bind(this._service)))}init(t){this.enabled(t)}frame(){return this._service.frame}deltaTime(t){return typeof t=="number"&&(this._service.delta=t),this._service.delta}deltaRatio(t){return typeof t=="number"&&(this._service.deltaRatio=t),this._service.deltaRatio}enabled(t){return typeof t=="boolean"&&(this._service.enabled=t),this._service.enabled}dispose(){this._initialAnimationFrameId!==void 0&&cancelAnimationFrame(this._initialAnimationFrameId),this._service.enabled=!1,this._subscriptions.forEach(t=>t.unsubscribe()),this._subscriptions=[]}beforeStep$(){return this._controller.beforeStep$}step$(){return this._controller.step$}};z=Be([n.scoped(n.Lifecycle.ContainerScoped),te(0,n.inject(w)),te(1,n.inject(j))],z);var Ge=Object.defineProperty,Qe=Object.getOwnPropertyDescriptor,Je=(t,e,i,s)=>{for(var r=s>1?void 0:s?Qe(e,i):e,o=t.length-1,a;o>=0;o--)(a=t[o])&&(r=(s?a(e,i,r):a(r))||r);return s&&r&&Ge(e,i,r),r};let g=class{constructor(){c(this,"width",0);c(this,"height",0);c(this,"wrapperWidth",0);c(this,"wrapperHeight",0);c(this,"windowWidth",0);c(this,"windowHeight",0);c(this,"aspect",0);c(this,"pixelRatio",1);c(this,"frustrum",5);c(this,"enabled",!0);c(this,"fullscreen",!1);c(this,"hasCanvasWrapper",!1)}init(t,e=1,i=!0,s=!1,r=!0){this.height=Number(t.height??this.height),this.width=Number(t.width??this.width),this.aspect=this.width/this.height,this.pixelRatio=typeof e=="number"?e:1,this.fullscreen=i,this.hasCanvasWrapper=s,this.enabled=r}handleResize(t){this.width=t.width,this.height=t.height,this.wrapperWidth=t.wrapperWidth,this.wrapperHeight=t.wrapperHeight,this.windowWidth=t.windowWidth,this.windowHeight=t.windowHeight,this.aspect=this.fullscreen?t.windowWidth/t.windowHeight:this.hasCanvasWrapper?t.wrapperWidth/t.wrapperHeight:t.width/t.height,console.log("size",this)}getViewPortSizes(){return{width:this.fullscreen?this.windowWidth:this.hasCanvasWrapper?this.wrapperWidth:this.width,height:this.fullscreen?this.windowHeight:this.hasCanvasWrapper?this.wrapperHeight:this.height}}};g=Je([n.scoped(n.Lifecycle.ContainerScoped)],g);var ke=Object.defineProperty,et=Object.getOwnPropertyDescriptor,tt=(t,e,i,s)=>{for(var r=s>1?void 0:s?et(e,i):e,o=t.length-1,a;o>=0;o--)(a=t[o])&&(r=(s?a(e,i,r):a(r))||r);return s&&r&&ke(e,i,r),r},it=(t,e)=>(i,s)=>e(i,s,t);let P=class{constructor(t){c(this,"instance");c(this,"enabled",!0);this._sizes=t}set aspectRatio(t){var e;this.instance instanceof h.PerspectiveCamera&&(this.instance.aspect=t),(this.instance instanceof h.PerspectiveCamera||this.instance instanceof h.OrthographicCamera)&&((e=this.instance)==null||e.updateProjectionMatrix())}set quaternion(t){var e;(e=this.instance)==null||e.quaternion.copy(t)}set position(t){var e;(e=this.instance)==null||e.position.copy(t)}set rotation(t){var e;(e=this.instance)==null||e.rotation.copy(t)}init(t){if(this.dispose(),t===n.DefaultCameraType.PERSPECTIVE||t===void 0){this.instance=new h.PerspectiveCamera(70,this._sizes.aspect,.1,100),this.instance.position.z=8;return}t===n.DefaultCameraType.ORTHOGRAPHIC&&(this.instance=new h.OrthographicCamera(-this._sizes.aspect*this._sizes.frustrum/2,this._sizes.aspect*this._sizes.frustrum/2,this._sizes.frustrum/2,-this._sizes.frustrum/2,-50,50))}handleStep(){var t;this.aspectRatio=this._sizes.aspect,(this.instance instanceof h.PerspectiveCamera||this.instance instanceof h.OrthographicCamera)&&((t=this.instance)==null||t.updateProjectionMatrix())}dispose(){this.instance instanceof h.Camera&&((this.instance instanceof h.PerspectiveCamera||this.instance instanceof h.OrthographicCamera)&&this.instance.clearViewOffset(),this.instance.clear(),this.instance=void 0)}};P=tt([n.scoped(n.Lifecycle.ContainerScoped),it(0,n.inject(g))],P);var st=Object.defineProperty,rt=Object.getOwnPropertyDescriptor,nt=(t,e,i,s)=>{for(var r=s>1?void 0:s?rt(e,i):e,o=t.length-1,a;o>=0;o--)(a=t[o])&&(r=(s?a(e,i,r):a(r))||r);return s&&r&&st(e,i,r),r},ie=(t,e)=>(i,s)=>e(i,s,t);let H=class{constructor(t,e){c(this,"step$");this.timerController=t,this._service=e,this.step$=this.timerController.step$.pipe(n.filter(()=>this._service.enabled))}};H=nt([n.scoped(n.Lifecycle.ContainerScoped),ie(0,n.inject(w)),ie(1,n.inject(P))],H);var ot=Object.defineProperty,at=Object.getOwnPropertyDescriptor,ht=(t,e,i,s)=>{for(var r=s>1?void 0:s?at(e,i):e,o=t.length-1,a;o>=0;o--)(a=t[o])&&(r=(s?a(e,i,r):a(r))||r);return s&&r&&ot(e,i,r),r},se=(t,e)=>(i,s)=>e(i,s,t);let I=class{constructor(t,e){c(this,"_subscriptions",[]);this._controller=t,this._service=e}init(){this._service.init(),this._subscriptions.push(this._controller.step$.subscribe(this._service.handleStep.bind(this._service)))}enabled(t){return typeof t=="boolean"&&(this._service.enabled=t),this._service.enabled}aspectRatio(t){return t&&(this._service.aspectRatio=t),this._service.aspectRatio}instance(t){return t&&(this._service.instance=t),this._service.instance}position(t){return t&&(this._service.position=t),this._service.position}quaternion(t){return t&&(this._service.quaternion=t),this._service.quaternion}dispose(){this._subscriptions.forEach(t=>t.unsubscribe()),this._subscriptions=[],this._service.dispose()}};I=ht([n.scoped(n.Lifecycle.ContainerScoped),se(0,n.inject(H)),se(1,n.inject(P))],I);var ct=Object.defineProperty,lt=Object.getOwnPropertyDescriptor,pt=(t,e,i,s)=>{for(var r=s>1?void 0:s?lt(e,i):e,o=t.length-1,a;o>=0;o--)(a=t[o])&&(r=(s?a(e,i,r):a(r))||r);return s&&r&&ct(e,i,r),r};let y=class{constructor(){c(this,"scene",new h.Scene);c(this,"enabled",!0)}};y=pt([n.scoped(n.Lifecycle.ContainerScoped)],y);var dt=Object.defineProperty,_t=Object.getOwnPropertyDescriptor,ut=(t,e,i,s)=>{for(var r=s>1?void 0:s?_t(e,i):e,o=t.length-1,a;o>=0;o--)(a=t[o])&&(r=(s?a(e,i,r):a(r))||r);return s&&r&&dt(e,i,r),r},A=(t,e)=>(i,s)=>e(i,s,t);let O=class{constructor(t,e,i){c(this,"enabled",!0);c(this,"enabledAutoResize",!0);c(this,"instance");this._worldService=t,this._cameraService=e,this._sizes=i}init(t){this.instance=new h.WebGLRenderer({canvas:t,context:t.getContext("webgl2",{stencil:!0,powerPreference:"high-performance"}),powerPreference:"high-performance",depth:!0,antialias:!0}),this.instance.autoClear=!1,this.instance.setPixelRatio(this._sizes.pixelRatio),this.instance.setClearColor(0,0),this.instance.shadowMap.enabled=!0,this.instance.shadowMap.type=h.PCFSoftShadowMap,this.instance.outputColorSpace=h.SRGBColorSpace,this.instance.toneMapping=h.CineonToneMapping,this.instance.toneMappingExposure=1.75}handleAutoResize(){var i;if(!this.enabledAutoResize||!(this.instance instanceof h.WebGLRenderer))return;const{width:t,height:e}=this._sizes.getViewPortSizes();(i=this.instance)==null||i.setSize(t,e)}render(){if(!(this._cameraService.instance instanceof h.Camera)||!(this.instance instanceof h.WebGLRenderer))return;const t=this._sizes.fullscreen?this._sizes.windowWidth:this._sizes.hasCanvasWrapper?this._sizes.wrapperWidth:this._sizes.width,e=this._sizes.fullscreen?this._sizes.windowHeight:this._sizes.hasCanvasWrapper?this._sizes.wrapperHeight:this._sizes.height;this.instance.setViewport(0,0,t,e),this.instance.render(this._worldService.scene,this._cameraService.instance)}};O=ut([n.scoped(n.Lifecycle.ContainerScoped),A(0,n.inject(y)),A(1,n.inject(P)),A(2,n.inject(g))],O);var ft=Object.defineProperty,mt=Object.getOwnPropertyDescriptor,bt=(t,e,i,s)=>{for(var r=s>1?void 0:s?mt(e,i):e,o=t.length-1,a;o>=0;o--)(a=t[o])&&(r=(s?a(e,i,r):a(r))||r);return s&&r&&ft(e,i,r),r},re=(t,e)=>(i,s)=>e(i,s,t);let R=class{constructor(t,e){c(this,"resize$");this._appController=t,this._service=e,this.resize$=this._appController.resize$$.pipe(n.filter(()=>this._service.enabled))}};R=bt([n.scoped(n.Lifecycle.ContainerScoped),re(0,n.inject($)),re(1,n.inject(g))],R);var vt=Object.defineProperty,gt=Object.getOwnPropertyDescriptor,Pt=(t,e,i,s)=>{for(var r=s>1?void 0:s?gt(e,i):e,o=t.length-1,a;o>=0;o--)(a=t[o])&&(r=(s?a(e,i,r):a(r))||r);return s&&r&&vt(e,i,r),r},L=(t,e)=>(i,s)=>e(i,s,t);let N=class{constructor(t,e,i){c(this,"step$");c(this,"resize$");this._service=t,this._timerController=e,this._sizesController=i,this.step$=this._timerController.step$.pipe(n.filter(()=>this._service.enabled)),this.resize$=this._sizesController.resize$.pipe(n.filter(()=>this._service.enabled))}};N=Pt([n.scoped(n.Lifecycle.ContainerScoped),L(0,n.inject(O)),L(1,n.inject(w)),L(2,n.inject(R))],N);var wt=Object.defineProperty,yt=Object.getOwnPropertyDescriptor,Ct=(t,e,i,s)=>{for(var r=s>1?void 0:s?yt(e,i):e,o=t.length-1,a;o>=0;o--)(a=t[o])&&(r=(s?a(e,i,r):a(r))||r);return s&&r&&wt(e,i,r),r},ne=(t,e)=>(i,s)=>e(i,s,t);let U=class{constructor(t,e){c(this,"_subscriptions",[]);this._controller=t,this._service=e}init({canvas:t}){this._subscriptions.push(this._controller.step$.subscribe(this._service.render.bind(this._service)),this._controller.resize$.subscribe(this._service.handleAutoResize.bind(this._service))),this._service.init(t)}enabled(t){return typeof t=="boolean"&&(this._service.enabled=t),this._service.enabled}enabledAutoResize(t){return typeof t=="boolean"&&(this._service.enabledAutoResize=t),this._service.enabledAutoResize}instance(){return this._service.instance}render(){return this._service.render()}dispose(){var t;this._subscriptions.forEach(e=>e.unsubscribe()),this._subscriptions=[],(t=this._service.instance)==null||t.dispose(),this._service.instance=void 0}};U=Ct([n.scoped(n.Lifecycle.ContainerScoped),ne(0,n.inject(N)),ne(1,n.inject(O))],U);var St=Object.defineProperty,Ot=Object.getOwnPropertyDescriptor,Et=(t,e,i,s)=>{for(var r=s>1?void 0:s?Ot(e,i):e,o=t.length-1,a;o>=0;o--)(a=t[o])&&(r=(s?a(e,i,r):a(r))||r);return s&&r&&St(e,i,r),r},oe=(t,e)=>(i,s)=>e(i,s,t);let W=class{constructor(t,e){c(this,"_subscriptions",[]);this._controller=t,this._service=e}init({canvas:t,pixelRatio:e,fullScreen:i,hasCanvasWrapper:s}){this._subscriptions.push(this._controller.resize$.subscribe(this._service.handleResize.bind(this._service))),this._service.init(t,e,i,s)}dispose(){this._subscriptions.forEach(t=>t.unsubscribe()),this._subscriptions=[]}enabled(t){return typeof t=="boolean"&&(this._service.enabled=t),this._service.enabled}frustrum(t){return typeof t=="number"&&(this._service.frustrum=t),this._service.frustrum}height(t){return typeof t=="number"&&(this._service.height=t),this._service.height}width(t){return typeof t=="number"&&(this._service.width=t),this._service.width}wrapperHeight(t){return typeof t=="number"&&(this._service.wrapperHeight=t),this._service.wrapperHeight}wrapperWidth(t){return typeof t=="number"&&(this._service.wrapperWidth=t),this._service.wrapperWidth}windowHeight(t){return typeof t=="number"&&(this._service.windowHeight=t),this._service.windowHeight}windowWidth(t){return typeof t=="number"&&(this._service.windowWidth=t),this._service.windowWidth}aspect(t){return typeof t=="number"&&(this._service.aspect=t),this._service.aspect}pixelRatio(t){return typeof t=="number"&&(this._service.pixelRatio=t),this._service.pixelRatio}getViewPortSizes(){return this._service.getViewPortSizes()}resize$(){return this._controller.resize$}};W=Et([n.scoped(n.Lifecycle.ContainerScoped),oe(0,n.inject(R)),oe(1,n.inject(g))],W);var Dt=Object.defineProperty,$t=Object.getOwnPropertyDescriptor,jt=(t,e,i,s)=>{for(var r=s>1?void 0:s?$t(e,i):e,o=t.length-1,a;o>=0;o--)(a=t[o])&&(r=(s?a(e,i,r):a(r))||r);return s&&r&&Dt(e,i,r),r},Rt=(t,e)=>(i,s)=>e(i,s,t);let Y=class{constructor(t){c(this,"_beforeRender$$",new n.Subject);c(this,"_afterRender$$",new n.Subject);c(this,"beforeRender$",this._beforeRender$$.pipe(n.share()));c(this,"afterRender$",this._afterRender$$.pipe(n.share()));this._worldService=t,this._worldService.scene.onBeforeRender=()=>this._beforeRender$$.next({}),this._worldService.scene.onAfterRender=()=>this._afterRender$$.next({})}};Y=jt([n.scoped(n.Lifecycle.ContainerScoped),Rt(0,n.inject(y))],Y);var Tt=Object.defineProperty,Mt=Object.getOwnPropertyDescriptor,At=(t,e,i,s)=>{for(var r=s>1?void 0:s?Mt(e,i):e,o=t.length-1,a;o>=0;o--)(a=t[o])&&(r=(s?a(e,i,r):a(r))||r);return s&&r&&Tt(e,i,r),r},ae=(t,e)=>(i,s)=>e(i,s,t);let V=class{constructor(t,e){this._service=t,this._controller=e}init(){}dispose(){}scene(t){return t instanceof h.Scene&&(this._service.scene=t),this._service.scene}enabled(t){return typeof t=="boolean"&&(this._service.enabled=t),this._service.enabled}getBeforeRender$(){return this._controller.beforeRender$}getAfterRender$(){return this._controller.afterRender$}};V=At([n.scoped(n.Lifecycle.ContainerScoped),ae(0,n.inject(y)),ae(1,n.inject(Y))],V);var Lt=Object.defineProperty,xt=Object.getOwnPropertyDescriptor,zt=(t,e,i,s)=>{for(var r=s>1?void 0:s?xt(e,i):e,o=t.length-1,a;o>=0;o--)(a=t[o])&&(r=(s?a(e,i,r):a(r))||r);return s&&r&&Lt(e,i,r),r},C=(t,e)=>(i,s)=>e(i,s,t);let F=class{constructor(t,e,i,s,r){c(this,"enabled",!1);c(this,"cameraControls");c(this,"miniCamera");c(this,"miniCameraControls");c(this,"axesHelper");c(this,"gridHelper");this._appService=t,this._sizes=e,this._rendererService=i,this._cameraService=s,this._worldService=r}_renderMiniCamera(){var i,s,r,o,a;if(!this.enabled||!this.miniCamera)return;const{width:t,height:e}=this._sizes.getViewPortSizes();(i=this._rendererService.instance)==null||i.setScissorTest(!0),(s=this._rendererService.instance)==null||s.setViewport(t-t/3,e-e/3,t/3,e/3),(r=this._rendererService.instance)==null||r.setScissor(t-t/3,e-e/3,t/3,e/3),(o=this._rendererService.instance)==null||o.render(this._worldService.scene,this.miniCamera),(a=this._rendererService.instance)==null||a.setScissorTest(!1)}initMiniCamera(){this.disposeMiniCamera(),this.enabled&&(this.miniCamera=new h.PerspectiveCamera(75,this._sizes.aspect,.1,500),this.miniCamera.position.z=10,this.miniCamera.position.x=-5)}initOrbitControl(){var t;this.cameraControls&&((t=this.cameraControls)==null||t.dispose()),!(!this.enabled||!(this._cameraService.instance instanceof h.Camera))&&this._cameraService.instance instanceof h.Camera&&(this.cameraControls=new ee(this._cameraService.instance,this._appService.proxyReceiver),this.cameraControls.rotateSpeed=.1,this.cameraControls.enableDamping=!0)}initMiniCameraOrbitControls(){this.miniCameraControls&&this.miniCameraControls.dispose(),!(!this.enabled||!this.miniCamera)&&(this.miniCameraControls=new ee(this.miniCamera,this._appService.proxyReceiver),this.miniCameraControls.rotateSpeed=.15,this.miniCameraControls.enableDamping=!0)}initAxesHelper(t){this.enabled&&(this.axesHelper=new h.AxesHelper(t),this._worldService.scene.add(this.axesHelper))}initGridHelper(t){this.gridHelper&&this._worldService.scene.remove(this.gridHelper),this.enabled&&(this.gridHelper=new h.GridHelper(t,t),this._worldService.scene.add(this.gridHelper))}disposeMiniCamera(){this.miniCamera instanceof h.Camera&&(this.miniCamera.clearViewOffset(),this.miniCamera.clear(),this.miniCamera=void 0)}update(){var t,e;(t=this.cameraControls)==null||t.update(),(e=this.miniCameraControls)==null||e.update(),this._renderMiniCamera()}dispose(){var t,e,i,s;this.disposeMiniCamera(),(t=this.cameraControls)==null||t.dispose(),this.cameraControls=void 0,(e=this.miniCameraControls)==null||e.dispose(),this.miniCameraControls=void 0,this.axesHelper&&this._worldService.scene.remove(this.axesHelper),(i=this.axesHelper)==null||i.dispose(),this.axesHelper=void 0,this.gridHelper&&this._worldService.scene.remove(this.gridHelper),(s=this.gridHelper)==null||s.dispose(),this.gridHelper=void 0}};F=zt([n.scoped(n.Lifecycle.ContainerScoped),C(0,n.inject(S)),C(1,n.inject(g)),C(2,n.inject(O)),C(3,n.inject(P)),C(4,n.inject(y))],F);var Ht=Object.defineProperty,It=Object.getOwnPropertyDescriptor,Nt=(t,e,i,s)=>{for(var r=s>1?void 0:s?It(e,i):e,o=t.length-1,a;o>=0;o--)(a=t[o])&&(r=(s?a(e,i,r):a(r))||r);return s&&r&&Ht(e,i,r),r},he=(t,e)=>(i,s)=>e(i,s,t);let Z=class{constructor(t,e){c(this,"step$");this.timerController=t,this._service=e,this.step$=this.timerController.step$.pipe(n.filter(()=>this._service.enabled))}};Z=Nt([n.scoped(n.Lifecycle.ContainerScoped),he(0,n.inject(w)),he(1,n.inject(P))],Z);var Ut=Object.defineProperty,Wt=Object.getOwnPropertyDescriptor,Yt=(t,e,i,s)=>{for(var r=s>1?void 0:s?Wt(e,i):e,o=t.length-1,a;o>=0;o--)(a=t[o])&&(r=(s?a(e,i,r):a(r))||r);return s&&r&&Ut(e,i,r),r},ce=(t,e)=>(i,s)=>e(i,s,t);let K=class{constructor(t,e){c(this,"_subscriptions",[]);this._service=t,this._controller=e}init(t){var e,i,s,r,o;this._service.enabled=!!((e=t.debug)!=null&&e.enabled),this._service.enabled&&((i=t.debug)!=null&&i.withMiniCamera&&this._service.initMiniCamera(),(s=t.debug)!=null&&s.enableControls&&(this._service.initOrbitControl(),this._service.initMiniCameraOrbitControls()),typeof((r=t.debug)==null?void 0:r.axesSizes)=="number"&&this._service.initAxesHelper(t.debug.axesSizes),typeof((o=t.debug)==null?void 0:o.gridSizes)=="number"&&this._service.initGridHelper(t.debug.gridSizes),this._subscriptions.push(this._controller.step$.subscribe(this._service.update.bind(this._service))))}enabled(t){return t&&(this._service.enabled=t),this._service.enabled}miniCamera(t){return t&&(this._service.miniCamera=t),this._service.miniCamera}getAxesHelper(){return this._service.axesHelper}getCameraControls(){return this._service.cameraControls}getGridHelper(){return this._service.gridHelper}getMiniCameraControls(){return this._service.miniCameraControls}getStep$(){return this._controller.step$}dispose(){this._service.dispose(),this._subscriptions.forEach(t=>t.unsubscribe()),this._subscriptions=[]}};K=Yt([n.scoped(n.Lifecycle.ContainerScoped),ce(0,n.inject(F)),ce(1,n.inject(Z))],K);var Vt=Object.defineProperty,Ft=Object.getOwnPropertyDescriptor,Zt=(t,e,i,s)=>{for(var r=s>1?void 0:s?Ft(e,i):e,o=t.length-1,a;o>=0;o--)(a=t[o])&&(r=(s?a(e,i,r):a(r))||r);return s&&r&&Vt(e,i,r),r};let T=class{constructor(){c(this,"loadedResources",{});c(this,"toLoadCount",0);c(this,"loadedCount",0)}handleLoad(t){const{source:e,resource:i,loadedCount:s,toLoadCount:r}=t;i&&(this.loadedResources[e.name]=i,this.toLoadCount=s,this.loadedCount=r)}};T=Zt([n.scoped(n.Lifecycle.ResolutionScoped)],T);var Kt=Object.defineProperty,Xt=Object.getOwnPropertyDescriptor,qt=(t,e,i,s)=>{for(var r=s>1?void 0:s?Xt(e,i):e,o=t.length-1,a;o>=0;o--)(a=t[o])&&(r=(s?a(e,i,r):a(r))||r);return s&&r&&Kt(e,i,r),r},Bt=(t,e)=>(i,s)=>e(i,s,t);let X=class{constructor(t){c(this,"load$",n.fromEvent(self,"message").pipe(n.filter(t=>{var e,i,s;return((e=t.data)==null?void 0:e.token)===n.LOADER_SERIALIZED_LOAD_TOKEN&&!!((s=(i=t.data)==null?void 0:i.payload)!=null&&s.resource)}),n.map(t=>{var i,s,r,o,a;const{payload:e}=t.data||{};if(((i=e==null?void 0:e.source)==null?void 0:i.type)==="gltf"){const l=e.resource,p=(s=l.animations)==null?void 0:s.map(b=>h.AnimationClip.parse(b)),_=(r=l.cameras)==null?void 0:r.map(b=>n.m(b)),v=(o=l.scenes)==null?void 0:o.map(b=>n.m(b)),E=v==null?void 0:v[0];return{...e,resource:{...l,animations:p,cameras:_,scene:E,scenes:v}}}return((a=e==null?void 0:e.source)==null?void 0:a.type)==="font"?{...e,resource:new n.Font(e.resource.data)}:e}),n.share()));c(this,"loadCompleted$",this.load$.pipe(n.filter(t=>!!t&&t.toLoadCount===t.loadedCount),n.map(()=>n.U(this._service,["loadedCount","loadedResources","toLoadCount"])),n.share()));this._service=t}};X=qt([n.scoped(n.Lifecycle.ContainerScoped),Bt(0,n.inject(T))],X);var Gt=Object.defineProperty,Qt=Object.getOwnPropertyDescriptor,Jt=(t,e,i,s)=>{for(var r=s>1?void 0:s?Qt(e,i):e,o=t.length-1,a;o>=0;o--)(a=t[o])&&(r=(s?a(e,i,r):a(r))||r);return s&&r&&Gt(e,i,r),r},le=(t,e)=>(i,s)=>e(i,s,t);let q=class{constructor(t,e){c(this,"_subscriptions",[]);this._controller=t,this._service=e}init(){this._subscriptions.push(this._controller.load$.subscribe(this._service.handleLoad.bind(this._service)))}getLoadedResources(){return this._service.loadedResources}getLoadedCount(){return this._service.loadedCount}getToLoadCount(){return this._service.toLoadCount}getLoad$(){return this._controller.load$}getLoadCompleted$(){return this._controller.loadCompleted$}dispose(){this._subscriptions.forEach(t=>t.unsubscribe()),this._subscriptions=[]}};q=Jt([n.scoped(n.Lifecycle.ContainerScoped),le(0,n.inject(X)),le(1,n.inject(T))],q);var kt=Object.defineProperty,ei=Object.getOwnPropertyDescriptor,ti=(t,e,i,s)=>{for(var r=s>1?void 0:s?ei(e,i):e,o=t.length-1,a;o>=0;o--)(a=t[o])&&(r=(s?a(e,i,r):a(r))||r);return s&&r&&kt(e,i,r),r},m=(t,e)=>(i,s)=>e(i,s,t);exports.AppModule=class extends n.AppProxyEventHandlersBlueprint{constructor(e,i,s,r,o,a,l,p,_){super(),this._controller=e,this._service=i,this.timer=s,this.sizes=r,this.camera=o,this.world=a,this.renderer=l,this.loader=p,this.debug=_,this._initProxyEvents()}_initProxyEvents(){n.PROXY_EVENT_LISTENERS.forEach(e=>{this[`${e}$`]=()=>{var i;return(i=this._controller)==null?void 0:i[`${e}$`]},this[e]=i=>{var s,r;return(r=(s=this._controller)==null?void 0:s[e])==null?void 0:r.call(s,i)}})}getProxyReceiver(){return this._service.proxyReceiver}getCanvas(){return this._service.canvas}getIsInitialized(){return this._service.isInitialized}getBeforeStep$(){return this.timer.beforeStep$()}getStep$(){return this.timer.step$()}getBeforeRender$(){return this.world.getBeforeRender$()}getAfterRender$(){return this.world.getAfterRender$()}init(e){this._service.init(e.canvas),this.sizes.init(e),this.camera.init(),this.world.init(),this.renderer.init(e),this.timer.init(e.startTimer),this.loader.init(),this.debug.init(e)}dispose(){this.sizes.dispose(),this.camera.dispose(),this.world.dispose(),this.renderer.dispose(),this.timer.dispose(),this.loader.dispose(),this.debug.dispose()}};exports.AppModule=ti([n.scoped(n.Lifecycle.ContainerScoped),m(0,n.inject($)),m(1,n.inject(S)),m(2,n.inject(z)),m(3,n.inject(W)),m(4,n.inject(I)),m(5,n.inject(V)),m(6,n.inject(U)),m(7,n.inject(q)),m(8,n.inject(K))],exports.AppModule);var ii=n.requireWorker();const G=n.getDefaultExportFromCjs(ii),si=G.expose;G.registerSerializer;G.Transfer;const ri=async t=>{const e=n.instance.createChildContainer(),i=e.resolve(exports.AppModule),s={container:e,module:i},r={},o=l=>{var _,v,E,b,Q;if(!((_=l.data)!=null&&_.initApp)||!((v=l.data)!=null&&v.canvas)&&!((E=l.data)!=null&&E.mainThread)||i.getIsInitialized())return;const p=l.data.canvas||(t==null?void 0:t.canvas)||(l.data.mainThread?(b=self==null?void 0:self.document)==null?void 0:b.getElementsByTagName("canvas")[0]:void 0);i.init({...l.data,canvas:p}),(Q=t==null?void 0:t.onReady)==null||Q.call(t,s),self==null||self.removeEventListener("message",o)};e.register(n.CONTAINER_TOKEN,{useValue:e}),n.PROXY_EVENT_LISTENERS.forEach(l=>{var p,_;r[l]=(_=(p=i[l])==null?void 0:p.bind)==null?void 0:_.call(p,i)}),self==null||self.addEventListener("message",o);const a={...r,getProxyReceiver:i.getProxyReceiver.bind(i),getIsInitialized:i.getIsInitialized.bind(i),getBeforeStep$:i.getBeforeStep$.bind(i),getBeforeRender$:i.getBeforeRender$.bind(i),getStep$:i.getStep$.bind(i),getAfterRender$:i.getAfterRender$.bind(i),dispose:i.dispose.bind(i)};n.instance.register("MAIN_THREAD_APP",{useValue:a});try{si(a)}catch(l){const p=l instanceof Error?l.message:"Unknown error";console.warn("Unable to expose the App Module.",p)}return s};exports.launchApp=ri;
|