t2-mapper/docs/_next/static/chunks/b00acbf8afd8b4b6.js
2026-03-02 22:57:58 -08:00

1 line
No EOL
33 KiB
JavaScript

(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,99140,e=>{e.v({AnimationItem:"page-module__v6zvCa__AnimationItem",AnimationList:"page-module__v6zvCa__AnimationList",AnimationName:"page-module__v6zvCa__AnimationName",CanvasContainer:"page-module__v6zvCa__CanvasContainer",CheckboxField:"page-module__v6zvCa__CheckboxField",ClipName:"page-module__v6zvCa__ClipName",CyclicIcon:"page-module__v6zvCa__CyclicIcon",LoadingIndicator:"page-module__v6zvCa__LoadingIndicator",PlayButton:"page-module__v6zvCa__PlayButton",SectionLabel:"page-module__v6zvCa__SectionLabel",Sidebar:"page-module__v6zvCa__Sidebar",SidebarSection:"page-module__v6zvCa__SidebarSection",Spinner:"page-module__v6zvCa__Spinner",loadingComplete:"page-module__v6zvCa__loadingComplete",spin:"page-module__v6zvCa__spin"})},39724,e=>{"use strict";var t,n=e.i(43476),a=e.i(932),o=e.i(71645),r=e.i(75056),i=e.i(90072),s=e.i(17751),c=e.i(12598),l=e.i(31067),u=e.i(15080),m=e.i(71753),p=e.i(85413),d=Object.defineProperty,h=(e,t,n)=>{let a;return(a="symbol"!=typeof t?t+"":t)in e?d(e,a,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[a]=n,n};let f=new i.Ray,b=new i.Plane,g=Math.cos(Math.PI/180*70),v=(e,t)=>(e%t+t)%t;class y extends p.EventDispatcher{constructor(e,t){super(),h(this,"object"),h(this,"domElement"),h(this,"enabled",!0),h(this,"target",new i.Vector3),h(this,"minDistance",0),h(this,"maxDistance",1/0),h(this,"minZoom",0),h(this,"maxZoom",1/0),h(this,"minPolarAngle",0),h(this,"maxPolarAngle",Math.PI),h(this,"minAzimuthAngle",-1/0),h(this,"maxAzimuthAngle",1/0),h(this,"enableDamping",!1),h(this,"dampingFactor",.05),h(this,"enableZoom",!0),h(this,"zoomSpeed",1),h(this,"enableRotate",!0),h(this,"rotateSpeed",1),h(this,"enablePan",!0),h(this,"panSpeed",1),h(this,"screenSpacePanning",!0),h(this,"keyPanSpeed",7),h(this,"zoomToCursor",!1),h(this,"autoRotate",!1),h(this,"autoRotateSpeed",2),h(this,"reverseOrbit",!1),h(this,"reverseHorizontalOrbit",!1),h(this,"reverseVerticalOrbit",!1),h(this,"keys",{LEFT:"ArrowLeft",UP:"ArrowUp",RIGHT:"ArrowRight",BOTTOM:"ArrowDown"}),h(this,"mouseButtons",{LEFT:i.MOUSE.ROTATE,MIDDLE:i.MOUSE.DOLLY,RIGHT:i.MOUSE.PAN}),h(this,"touches",{ONE:i.TOUCH.ROTATE,TWO:i.TOUCH.DOLLY_PAN}),h(this,"target0"),h(this,"position0"),h(this,"zoom0"),h(this,"_domElementKeyEvents",null),h(this,"getPolarAngle"),h(this,"getAzimuthalAngle"),h(this,"setPolarAngle"),h(this,"setAzimuthalAngle"),h(this,"getDistance"),h(this,"getZoomScale"),h(this,"listenToKeyEvents"),h(this,"stopListenToKeyEvents"),h(this,"saveState"),h(this,"reset"),h(this,"update"),h(this,"connect"),h(this,"dispose"),h(this,"dollyIn"),h(this,"dollyOut"),h(this,"getScale"),h(this,"setScale"),this.object=e,this.domElement=t,this.target0=this.target.clone(),this.position0=this.object.position.clone(),this.zoom0=this.object.zoom,this.getPolarAngle=()=>u.phi,this.getAzimuthalAngle=()=>u.theta,this.setPolarAngle=e=>{let t=v(e,2*Math.PI),a=u.phi;a<0&&(a+=2*Math.PI),t<0&&(t+=2*Math.PI);let o=Math.abs(t-a);2*Math.PI-o<o&&(t<a?t+=2*Math.PI:a+=2*Math.PI),m.phi=t-a,n.update()},this.setAzimuthalAngle=e=>{let t=v(e,2*Math.PI),a=u.theta;a<0&&(a+=2*Math.PI),t<0&&(t+=2*Math.PI);let o=Math.abs(t-a);2*Math.PI-o<o&&(t<a?t+=2*Math.PI:a+=2*Math.PI),m.theta=t-a,n.update()},this.getDistance=()=>n.object.position.distanceTo(n.target),this.listenToKeyEvents=e=>{e.addEventListener("keydown",ee),this._domElementKeyEvents=e},this.stopListenToKeyEvents=()=>{this._domElementKeyEvents.removeEventListener("keydown",ee),this._domElementKeyEvents=null},this.saveState=()=>{n.target0.copy(n.target),n.position0.copy(n.object.position),n.zoom0=n.object.zoom},this.reset=()=>{n.target.copy(n.target0),n.object.position.copy(n.position0),n.object.zoom=n.zoom0,n.object.updateProjectionMatrix(),n.dispatchEvent(a),n.update(),c=s.NONE},this.update=(()=>{let t=new i.Vector3,o=new i.Vector3(0,1,0),r=new i.Quaternion().setFromUnitVectors(e.up,o),h=r.clone().invert(),v=new i.Vector3,y=new i.Quaternion,x=2*Math.PI;return function(){let E=n.object.position;r.setFromUnitVectors(e.up,o),h.copy(r).invert(),t.copy(E).sub(n.target),t.applyQuaternion(r),u.setFromVector3(t),n.autoRotate&&c===s.NONE&&R(2*Math.PI/60/60*n.autoRotateSpeed),n.enableDamping?(u.theta+=m.theta*n.dampingFactor,u.phi+=m.phi*n.dampingFactor):(u.theta+=m.theta,u.phi+=m.phi);let S=n.minAzimuthAngle,j=n.maxAzimuthAngle;isFinite(S)&&isFinite(j)&&(S<-Math.PI?S+=x:S>Math.PI&&(S-=x),j<-Math.PI?j+=x:j>Math.PI&&(j-=x),S<=j?u.theta=Math.max(S,Math.min(j,u.theta)):u.theta=u.theta>(S+j)/2?Math.max(S,u.theta):Math.min(j,u.theta)),u.phi=Math.max(n.minPolarAngle,Math.min(n.maxPolarAngle,u.phi)),u.makeSafe(),!0===n.enableDamping?n.target.addScaledVector(d,n.dampingFactor):n.target.add(d),n.zoomToCursor&&A||n.object.isOrthographicCamera?u.radius=U(u.radius):u.radius=U(u.radius*p),t.setFromSpherical(u),t.applyQuaternion(h),E.copy(n.target).add(t),n.object.matrixAutoUpdate||n.object.updateMatrix(),n.object.lookAt(n.target),!0===n.enableDamping?(m.theta*=1-n.dampingFactor,m.phi*=1-n.dampingFactor,d.multiplyScalar(1-n.dampingFactor)):(m.set(0,0,0),d.set(0,0,0));let C=!1;if(n.zoomToCursor&&A){let a=null;if(n.object instanceof i.PerspectiveCamera&&n.object.isPerspectiveCamera){let e=t.length();a=U(e*p);let o=e-a;n.object.position.addScaledVector(w,o),n.object.updateMatrixWorld()}else if(n.object.isOrthographicCamera){let e=new i.Vector3(N.x,N.y,0);e.unproject(n.object),n.object.zoom=Math.max(n.minZoom,Math.min(n.maxZoom,n.object.zoom/p)),n.object.updateProjectionMatrix(),C=!0;let o=new i.Vector3(N.x,N.y,0);o.unproject(n.object),n.object.position.sub(o).add(e),n.object.updateMatrixWorld(),a=t.length()}else console.warn("WARNING: OrbitControls.js encountered an unknown camera type - zoom to cursor disabled."),n.zoomToCursor=!1;null!==a&&(n.screenSpacePanning?n.target.set(0,0,-1).transformDirection(n.object.matrix).multiplyScalar(a).add(n.object.position):(f.origin.copy(n.object.position),f.direction.set(0,0,-1).transformDirection(n.object.matrix),Math.abs(n.object.up.dot(f.direction))<g?e.lookAt(n.target):(b.setFromNormalAndCoplanarPoint(n.object.up,n.target),f.intersectPlane(b,n.target))))}else n.object instanceof i.OrthographicCamera&&n.object.isOrthographicCamera&&(C=1!==p)&&(n.object.zoom=Math.max(n.minZoom,Math.min(n.maxZoom,n.object.zoom/p)),n.object.updateProjectionMatrix());return p=1,A=!1,!!(C||v.distanceToSquared(n.object.position)>l||8*(1-y.dot(n.object.quaternion))>l)&&(n.dispatchEvent(a),v.copy(n.object.position),y.copy(n.object.quaternion),C=!1,!0)}})(),this.connect=e=>{n.domElement=e,n.domElement.style.touchAction="none",n.domElement.addEventListener("contextmenu",et),n.domElement.addEventListener("pointerdown",G),n.domElement.addEventListener("pointercancel",$),n.domElement.addEventListener("wheel",J)},this.dispose=()=>{var e,t,a,o,r,i;n.domElement&&(n.domElement.style.touchAction="auto"),null==(e=n.domElement)||e.removeEventListener("contextmenu",et),null==(t=n.domElement)||t.removeEventListener("pointerdown",G),null==(a=n.domElement)||a.removeEventListener("pointercancel",$),null==(o=n.domElement)||o.removeEventListener("wheel",J),null==(r=n.domElement)||r.ownerDocument.removeEventListener("pointermove",Q),null==(i=n.domElement)||i.ownerDocument.removeEventListener("pointerup",$),null!==n._domElementKeyEvents&&n._domElementKeyEvents.removeEventListener("keydown",ee)};const n=this,a={type:"change"},o={type:"start"},r={type:"end"},s={NONE:-1,ROTATE:0,DOLLY:1,PAN:2,TOUCH_ROTATE:3,TOUCH_PAN:4,TOUCH_DOLLY_PAN:5,TOUCH_DOLLY_ROTATE:6};let c=s.NONE;const l=1e-6,u=new i.Spherical,m=new i.Spherical;let p=1;const d=new i.Vector3,y=new i.Vector2,x=new i.Vector2,E=new i.Vector2,S=new i.Vector2,j=new i.Vector2,C=new i.Vector2,P=new i.Vector2,T=new i.Vector2,_=new i.Vector2,w=new i.Vector3,N=new i.Vector2;let A=!1;const O=[],M={};function L(){return Math.pow(.95,n.zoomSpeed)}function R(e){n.reverseOrbit||n.reverseHorizontalOrbit?m.theta+=e:m.theta-=e}function z(e){n.reverseOrbit||n.reverseVerticalOrbit?m.phi+=e:m.phi-=e}const I=(()=>{let e=new i.Vector3;return function(t,n){e.setFromMatrixColumn(n,0),e.multiplyScalar(-t),d.add(e)}})(),k=(()=>{let e=new i.Vector3;return function(t,a){!0===n.screenSpacePanning?e.setFromMatrixColumn(a,1):(e.setFromMatrixColumn(a,0),e.crossVectors(n.object.up,e)),e.multiplyScalar(t),d.add(e)}})(),V=(()=>{let e=new i.Vector3;return function(t,a){let o=n.domElement;if(o&&n.object instanceof i.PerspectiveCamera&&n.object.isPerspectiveCamera){let r=n.object.position;e.copy(r).sub(n.target);let i=e.length();I(2*t*(i*=Math.tan(n.object.fov/2*Math.PI/180))/o.clientHeight,n.object.matrix),k(2*a*i/o.clientHeight,n.object.matrix)}else o&&n.object instanceof i.OrthographicCamera&&n.object.isOrthographicCamera?(I(t*(n.object.right-n.object.left)/n.object.zoom/o.clientWidth,n.object.matrix),k(a*(n.object.top-n.object.bottom)/n.object.zoom/o.clientHeight,n.object.matrix)):(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - pan disabled."),n.enablePan=!1)}})();function D(e){n.object instanceof i.PerspectiveCamera&&n.object.isPerspectiveCamera||n.object instanceof i.OrthographicCamera&&n.object.isOrthographicCamera?p=e:(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled."),n.enableZoom=!1)}function F(e){if(!n.zoomToCursor||!n.domElement)return;A=!0;let t=n.domElement.getBoundingClientRect(),a=e.clientX-t.left,o=e.clientY-t.top,r=t.width,i=t.height;N.x=a/r*2-1,N.y=-(o/i*2)+1,w.set(N.x,N.y,1).unproject(n.object).sub(n.object.position).normalize()}function U(e){return Math.max(n.minDistance,Math.min(n.maxDistance,e))}function Y(e){y.set(e.clientX,e.clientY)}function H(e){S.set(e.clientX,e.clientY)}function Z(){if(1==O.length)y.set(O[0].pageX,O[0].pageY);else{let e=.5*(O[0].pageX+O[1].pageX),t=.5*(O[0].pageY+O[1].pageY);y.set(e,t)}}function B(){if(1==O.length)S.set(O[0].pageX,O[0].pageY);else{let e=.5*(O[0].pageX+O[1].pageX),t=.5*(O[0].pageY+O[1].pageY);S.set(e,t)}}function K(){let e=O[0].pageX-O[1].pageX,t=O[0].pageY-O[1].pageY,n=Math.sqrt(e*e+t*t);P.set(0,n)}function X(e){if(1==O.length)x.set(e.pageX,e.pageY);else{let t=ea(e),n=.5*(e.pageX+t.x),a=.5*(e.pageY+t.y);x.set(n,a)}E.subVectors(x,y).multiplyScalar(n.rotateSpeed);let t=n.domElement;t&&(R(2*Math.PI*E.x/t.clientHeight),z(2*Math.PI*E.y/t.clientHeight)),y.copy(x)}function W(e){if(1==O.length)j.set(e.pageX,e.pageY);else{let t=ea(e),n=.5*(e.pageX+t.x),a=.5*(e.pageY+t.y);j.set(n,a)}C.subVectors(j,S).multiplyScalar(n.panSpeed),V(C.x,C.y),S.copy(j)}function q(e){var t;let a=ea(e),o=e.pageX-a.x,r=e.pageY-a.y,i=Math.sqrt(o*o+r*r);T.set(0,i),_.set(0,Math.pow(T.y/P.y,n.zoomSpeed)),t=_.y,D(p/t),P.copy(T)}function G(e){var t,a,r;!1!==n.enabled&&(0===O.length&&(null==(t=n.domElement)||t.ownerDocument.addEventListener("pointermove",Q),null==(a=n.domElement)||a.ownerDocument.addEventListener("pointerup",$)),r=e,O.push(r),"touch"===e.pointerType?function(e){switch(en(e),O.length){case 1:switch(n.touches.ONE){case i.TOUCH.ROTATE:if(!1===n.enableRotate)return;Z(),c=s.TOUCH_ROTATE;break;case i.TOUCH.PAN:if(!1===n.enablePan)return;B(),c=s.TOUCH_PAN;break;default:c=s.NONE}break;case 2:switch(n.touches.TWO){case i.TOUCH.DOLLY_PAN:if(!1===n.enableZoom&&!1===n.enablePan)return;n.enableZoom&&K(),n.enablePan&&B(),c=s.TOUCH_DOLLY_PAN;break;case i.TOUCH.DOLLY_ROTATE:if(!1===n.enableZoom&&!1===n.enableRotate)return;n.enableZoom&&K(),n.enableRotate&&Z(),c=s.TOUCH_DOLLY_ROTATE;break;default:c=s.NONE}break;default:c=s.NONE}c!==s.NONE&&n.dispatchEvent(o)}(e):function(e){let t;switch(e.button){case 0:t=n.mouseButtons.LEFT;break;case 1:t=n.mouseButtons.MIDDLE;break;case 2:t=n.mouseButtons.RIGHT;break;default:t=-1}switch(t){case i.MOUSE.DOLLY:if(!1===n.enableZoom)return;F(e),P.set(e.clientX,e.clientY),c=s.DOLLY;break;case i.MOUSE.ROTATE:if(e.ctrlKey||e.metaKey||e.shiftKey){if(!1===n.enablePan)return;H(e),c=s.PAN}else{if(!1===n.enableRotate)return;Y(e),c=s.ROTATE}break;case i.MOUSE.PAN:if(e.ctrlKey||e.metaKey||e.shiftKey){if(!1===n.enableRotate)return;Y(e),c=s.ROTATE}else{if(!1===n.enablePan)return;H(e),c=s.PAN}break;default:c=s.NONE}c!==s.NONE&&n.dispatchEvent(o)}(e))}function Q(e){!1!==n.enabled&&("touch"===e.pointerType?function(e){switch(en(e),c){case s.TOUCH_ROTATE:if(!1===n.enableRotate)return;X(e),n.update();break;case s.TOUCH_PAN:if(!1===n.enablePan)return;W(e),n.update();break;case s.TOUCH_DOLLY_PAN:if(!1===n.enableZoom&&!1===n.enablePan)return;n.enableZoom&&q(e),n.enablePan&&W(e),n.update();break;case s.TOUCH_DOLLY_ROTATE:if(!1===n.enableZoom&&!1===n.enableRotate)return;n.enableZoom&&q(e),n.enableRotate&&X(e),n.update();break;default:c=s.NONE}}(e):function(e){if(!1!==n.enabled)switch(c){case s.ROTATE:let t;if(!1===n.enableRotate)return;x.set(e.clientX,e.clientY),E.subVectors(x,y).multiplyScalar(n.rotateSpeed),(t=n.domElement)&&(R(2*Math.PI*E.x/t.clientHeight),z(2*Math.PI*E.y/t.clientHeight)),y.copy(x),n.update();break;case s.DOLLY:var a,o;if(!1===n.enableZoom)return;(T.set(e.clientX,e.clientY),_.subVectors(T,P),_.y>0)?(a=L(),D(p/a)):_.y<0&&(o=L(),D(p*o)),P.copy(T),n.update();break;case s.PAN:if(!1===n.enablePan)return;j.set(e.clientX,e.clientY),C.subVectors(j,S).multiplyScalar(n.panSpeed),V(C.x,C.y),S.copy(j),n.update()}}(e))}function $(e){var t,a,o;(function(e){delete M[e.pointerId];for(let t=0;t<O.length;t++)if(O[t].pointerId==e.pointerId)return void O.splice(t,1)})(e),0===O.length&&(null==(t=n.domElement)||t.releasePointerCapture(e.pointerId),null==(a=n.domElement)||a.ownerDocument.removeEventListener("pointermove",Q),null==(o=n.domElement)||o.ownerDocument.removeEventListener("pointerup",$)),n.dispatchEvent(r),c=s.NONE}function J(e){if(!1!==n.enabled&&!1!==n.enableZoom&&(c===s.NONE||c===s.ROTATE)){var t,a;e.preventDefault(),n.dispatchEvent(o),(F(e),e.deltaY<0)?(t=L(),D(p*t)):e.deltaY>0&&(a=L(),D(p/a)),n.update(),n.dispatchEvent(r)}}function ee(e){if(!1!==n.enabled&&!1!==n.enablePan){let t=!1;switch(e.code){case n.keys.UP:V(0,n.keyPanSpeed),t=!0;break;case n.keys.BOTTOM:V(0,-n.keyPanSpeed),t=!0;break;case n.keys.LEFT:V(n.keyPanSpeed,0),t=!0;break;case n.keys.RIGHT:V(-n.keyPanSpeed,0),t=!0}t&&(e.preventDefault(),n.update())}}function et(e){!1!==n.enabled&&e.preventDefault()}function en(e){let t=M[e.pointerId];void 0===t&&(t=new i.Vector2,M[e.pointerId]=t),t.set(e.pageX,e.pageY)}function ea(e){return M[(e.pointerId===O[0].pointerId?O[1]:O[0]).pointerId]}this.dollyIn=(e=L())=>{D(p*e),n.update()},this.dollyOut=(e=L())=>{D(p/e),n.update()},this.getScale=()=>p,this.setScale=e=>{D(e),n.update()},this.getZoomScale=()=>L(),void 0!==t&&this.connect(t),this.update()}}let x=o.forwardRef(({makeDefault:e,camera:t,regress:n,domElement:a,enableDamping:r=!0,keyEvents:i=!1,onChange:s,onStart:c,onEnd:p,...d},h)=>{let f=(0,u.useThree)(e=>e.invalidate),b=(0,u.useThree)(e=>e.camera),g=(0,u.useThree)(e=>e.gl),v=(0,u.useThree)(e=>e.events),x=(0,u.useThree)(e=>e.setEvents),E=(0,u.useThree)(e=>e.set),S=(0,u.useThree)(e=>e.get),j=(0,u.useThree)(e=>e.performance),C=t||b,P=a||v.connected||g.domElement,T=o.useMemo(()=>new y(C),[C]);return(0,m.useFrame)(()=>{T.enabled&&T.update()},-1),o.useEffect(()=>(i&&T.connect(!0===i?P:i),T.connect(P),()=>void T.dispose()),[i,P,n,T,f]),o.useEffect(()=>{let e=e=>{f(),n&&j.regress(),s&&s(e)},t=e=>{c&&c(e)},a=e=>{p&&p(e)};return T.addEventListener("change",e),T.addEventListener("start",t),T.addEventListener("end",a),()=>{T.removeEventListener("start",t),T.removeEventListener("end",a),T.removeEventListener("change",e)}},[s,c,p,T,f,x]),o.useEffect(()=>{if(e){let e=S().controls;return E({controls:T}),()=>E({controls:e})}},[e,T]),o.createElement("primitive",(0,l.default)({ref:h,object:T,enableDamping:r},d))}),E=o.forwardRef(function({children:e,object:t,disable:n,disableX:a,disableY:r,disableZ:s,left:c,right:u,top:m,bottom:p,front:d,back:h,onCentered:f,precise:b=!0,cacheKey:g=0,...v},y){let x=o.useRef(null),E=o.useRef(null),S=o.useRef(null),[j]=o.useState(()=>new i.Box3),[C]=o.useState(()=>new i.Vector3),[P]=o.useState(()=>new i.Sphere);return o.useLayoutEffect(()=>{E.current.matrixWorld.identity(),j.setFromObject(null!=t?t:S.current,b);let e=j.max.x-j.min.x,o=j.max.y-j.min.y,i=j.max.z-j.min.z;j.getCenter(C),j.getBoundingSphere(P);let l=m?o/2:p?-o/2:0,g=c?-e/2:u?e/2:0,v=d?i/2:h?-i/2:0;E.current.position.set(n||a?0:-C.x+g,n||r?0:-C.y+l,n||s?0:-C.z+v),null==f||f({parent:x.current.parent,container:x.current,width:e,height:o,depth:i,boundingBox:j,boundingSphere:P,center:C,verticalAlignment:l,horizontalAlignment:g,depthAlignment:v})},[g,f,m,c,d,n,a,r,s,t,b,u,p,h,j,C,P]),o.useImperativeHandle(y,()=>x.current,[]),o.createElement("group",(0,l.default)({ref:x},v),o.createElement("group",{ref:E},o.createElement("group",{ref:S},e)))});var S=((t=S||{})[t.NONE=0]="NONE",t[t.START=1]="START",t[t.ACTIVE=2]="ACTIVE",t);let j=e=>1-Math.exp(-5*e)+.007*e,C=o.createContext(null);function P({children:e,maxDuration:t=1,margin:n=1.2,observe:a,fit:r,clip:s,interpolateFunc:c=j,onFit:l}){let p=o.useRef(null),{camera:d,size:h,invalidate:f}=(0,u.useThree)(),b=(0,u.useThree)(e=>e.controls),g=o.useRef(l);g.current=l;let v=o.useRef({camPos:new i.Vector3,camRot:new i.Quaternion,camZoom:1}),y=o.useRef({camPos:void 0,camRot:void 0,camZoom:void 0,camUp:void 0,target:void 0}),x=o.useRef(S.NONE),E=o.useRef(0),[P]=o.useState(()=>new i.Box3),T=o.useMemo(()=>{function e(){let e=P.getSize(new i.Vector3),t=P.getCenter(new i.Vector3),a=Math.max(e.x,e.y,e.z),o=d&&d.isOrthographicCamera?4*a:a/(2*Math.atan(Math.PI*d.fov/360)),r=d&&d.isOrthographicCamera?4*a:o/d.aspect;return{box:P,size:e,center:t,distance:n*Math.max(o,r)}}return{getSize:e,refresh(e){if(e&&e.isBox3)P.copy(e);else{let t=e||p.current;if(!t)return this;t.updateWorldMatrix(!0,!0),P.setFromObject(t)}if(P.isEmpty()){let e=d.position.length()||10;P.setFromCenterAndSize(new i.Vector3,new i.Vector3(e,e,e))}return v.current.camPos.copy(d.position),v.current.camRot.copy(d.quaternion),d&&d.isOrthographicCamera&&(v.current.camZoom=d.zoom),y.current.camPos=void 0,y.current.camRot=void 0,y.current.camZoom=void 0,y.current.camUp=void 0,y.current.target=void 0,this},reset(){let{center:t,distance:n}=e(),a=d.position.clone().sub(t).normalize();y.current.camPos=t.clone().addScaledVector(a,n),y.current.target=t.clone();let o=new i.Matrix4().lookAt(y.current.camPos,y.current.target,d.up);return y.current.camRot=new i.Quaternion().setFromRotationMatrix(o),x.current=S.START,E.current=0,this},moveTo(e){return y.current.camPos=Array.isArray(e)?new i.Vector3(...e):e.clone(),x.current=S.START,E.current=0,this},lookAt({target:e,up:t}){y.current.target=Array.isArray(e)?new i.Vector3(...e):e.clone(),t?y.current.camUp=Array.isArray(t)?new i.Vector3(...t):t.clone():y.current.camUp=d.up.clone();let n=new i.Matrix4().lookAt(y.current.camPos||d.position,y.current.target,y.current.camUp);return y.current.camRot=new i.Quaternion().setFromRotationMatrix(n),x.current=S.START,E.current=0,this},to({position:e,target:t}){return this.moveTo(e).lookAt({target:t})},fit(){if(!(d&&d.isOrthographicCamera))return this.reset();let e=0,t=0,a=[new i.Vector3(P.min.x,P.min.y,P.min.z),new i.Vector3(P.min.x,P.max.y,P.min.z),new i.Vector3(P.min.x,P.min.y,P.max.z),new i.Vector3(P.min.x,P.max.y,P.max.z),new i.Vector3(P.max.x,P.max.y,P.max.z),new i.Vector3(P.max.x,P.max.y,P.min.z),new i.Vector3(P.max.x,P.min.y,P.max.z),new i.Vector3(P.max.x,P.min.y,P.min.z)],o=y.current.camPos||d.position,r=y.current.target||(null==b?void 0:b.target),s=y.current.camUp||d.up,c=r?new i.Matrix4().lookAt(o,r,s).setPosition(o).invert():d.matrixWorldInverse;for(let n of a)n.applyMatrix4(c),e=Math.max(e,Math.abs(n.y)),t=Math.max(t,Math.abs(n.x));e*=2,t*=2;let l=(d.top-d.bottom)/e,u=(d.right-d.left)/t;return y.current.camZoom=Math.min(l,u)/n,x.current=S.START,E.current=0,g.current&&g.current(this.getSize()),this},clip(){let{distance:t}=e();return d.near=t/100,d.far=100*t,d.updateProjectionMatrix(),b&&(b.maxDistance=10*t,b.update()),f(),this}}},[P,d,b,n,f]);o.useLayoutEffect(()=>{if(b){let e=()=>{if(b&&y.current.target&&x.current!==S.NONE){let e=new i.Vector3().setFromMatrixColumn(d.matrix,2),t=v.current.camPos.distanceTo(b.target),n=(y.current.camPos||v.current.camPos).distanceTo(y.current.target),a=(1-E.current)*t+E.current*n;b.target.copy(d.position).addScaledVector(e,-a),b.update()}x.current=S.NONE};return b.addEventListener("start",e),()=>b.removeEventListener("start",e)}},[b]);let _=o.useRef(0);return o.useLayoutEffect(()=>{(a||0==_.current++)&&(T.refresh(),r&&T.reset().fit(),s&&T.clip())},[h,s,r,a,d,b]),(0,m.useFrame)((e,n)=>{if(x.current===S.START)x.current=S.ACTIVE,f();else if(x.current===S.ACTIVE){if(E.current+=n/t,E.current>=1)y.current.camPos&&d.position.copy(y.current.camPos),y.current.camRot&&d.quaternion.copy(y.current.camRot),y.current.camUp&&d.up.copy(y.current.camUp),y.current.camZoom&&d&&d.isOrthographicCamera&&(d.zoom=y.current.camZoom),d.updateMatrixWorld(),d.updateProjectionMatrix(),b&&y.current.target&&(b.target.copy(y.current.target),b.update()),x.current=S.NONE;else{let e=c(E.current);y.current.camPos&&d.position.lerpVectors(v.current.camPos,y.current.camPos,e),y.current.camRot&&d.quaternion.slerpQuaternions(v.current.camRot,y.current.camRot,e),y.current.camUp&&d.up.set(0,1,0).applyQuaternion(d.quaternion),y.current.camZoom&&d&&d.isOrthographicCamera&&(d.zoom=(1-e)*v.current.camZoom+e*y.current.camZoom),d.updateMatrixWorld(),d.updateProjectionMatrix()}f()}}),o.createElement("group",{ref:p},o.createElement(C.Provider,{value:T},e))}var T=e.i(79123),_=e.i(91907),w=e.i(25947),N=e.i(86855),A=e.i(51475),O=e.i(11889),M=e.i(56373),L=e.i(86447),R=e.i(1559),z=e.i(78440),I=e.i(59129),k=e.i(25998),V=e.i(18364),D=e.i(70238),F=e.i(91996),U=e.i(29402),Y=e.i(97442);let H={"shapes.vl2":"Shapes","TR2final105-client.vl2":"Team Rabbit 2"},Z=(0,F.getResourceList)().filter(e=>e.startsWith("shapes/")&&e.endsWith(".dts")).map(e=>{let[t,n]=(0,F.getSourceAndPath)(e),a=n.split("/").pop()??n,o=H[t]??(t||"Loose");return{resourceKey:e,displayName:a,shapeName:a,sourcePath:t,groupName:o}}),B=new Map(Z.map(e=>[e.shapeName,e])),K=function(e){let t=new Map;for(let n of e){let e=t.get(n.groupName)??[];e.push(n),t.set(n.groupName,e)}return t.forEach((e,n)=>{t.set(n,(0,U.default)(e,[e=>e.displayName.toLowerCase()],["asc"]))}),(0,U.default)(Array.from(t.entries()),[([e])=>+("Shapes"!==e),([e])=>e.toLowerCase()],["asc","asc"])}(Z),X="u">typeof navigator&&/Mac|iPhone|iPad|iPod/.test(navigator.platform);function W(e){let t,r,i,s,c,l,u,m,p,d,h,f,b,g,v,y,x,E=(0,a.c)(42),{value:S,onChange:j}=e,[C,P]=(0,o.useState)(""),T=(0,o.useRef)(null);E[0]!==j?(t=e=>{e&&(j(e),T.current?.blur())},E[0]=j,E[1]=t):t=E[1],E[2]===Symbol.for("react.memo_cache_sentinel")?(r=e=>{(0,o.startTransition)(()=>P(e))},E[2]=r):r=E[2],E[3]!==t||E[4]!==S?(i={placement:"bottom-start",resetValueOnHide:!0,selectedValue:S,setSelectedValue:t,setValue:r},E[3]=t,E[4]=S,E[5]=i):i=E[5];let _=(0,V.useComboboxStore)(i);E[6]!==_?(s=()=>{let e=e=>{"k"===e.key&&(e.metaKey||e.ctrlKey)&&(e.preventDefault(),T.current?.focus(),_.show())};return document.addEventListener("keydown",e),()=>document.removeEventListener("keydown",e)},c=[_],E[6]=_,E[7]=s,E[8]=c):(s=E[7],c=E[8]),(0,o.useEffect)(s,c),E[9]!==S?(l=B.get(S),E[9]=S,E[10]=l):l=E[10];let w=l;e:{let e,t;if(!C){let e;E[11]===Symbol.for("react.memo_cache_sentinel")?(e={type:"grouped",groups:K},E[11]=e):e=E[11],u=e;break e}E[12]!==C?(e=(0,D.matchSorter)(Z,C,{keys:["displayName","groupName"]}),E[12]=C,E[13]=e):e=E[13];let n=e;E[14]!==n?(t={type:"flat",shapes:n},E[14]=n,E[15]=t):t=E[15],u=t}let N=u,A=w?.displayName??S,M="flat"===N.type?0===N.shapes.length:0===N.groups.length;return E[16]!==_?(m=()=>{try{document.exitPointerLock()}catch{}_.show()},p=e=>{"Escape"!==e.key||_.getState().open||T.current?.blur()},E[16]=_,E[17]=m,E[18]=p):(m=E[17],p=E[18]),E[19]!==A||E[20]!==m||E[21]!==p?(d=(0,n.jsx)(O.Combobox,{ref:T,autoSelect:!0,placeholder:A,className:Y.default.Input,onFocus:m,onKeyDown:p}),E[19]=A,E[20]=m,E[21]=p,E[22]=d):d=E[22],E[23]!==A?(h=(0,n.jsx)("div",{className:Y.default.SelectedValue,children:(0,n.jsx)("span",{className:Y.default.SelectedName,children:A})}),E[23]=A,E[24]=h):h=E[24],E[25]===Symbol.for("react.memo_cache_sentinel")?(f=(0,n.jsx)("kbd",{className:Y.default.Shortcut,children:X?"⌘K":"^K"}),E[25]=f):f=E[25],E[26]!==d||E[27]!==h?(b=(0,n.jsxs)("div",{className:Y.default.InputWrapper,children:[d,h,f]}),E[26]=d,E[27]=h,E[28]=b):b=E[28],E[29]!==N.groups||E[30]!==N.shapes||E[31]!==N.type?(g="flat"===N.type?N.shapes.map(q):N.groups.map(e=>{let[t,a]=e;return(0,n.jsxs)(I.ComboboxGroup,{className:Y.default.Group,children:[(0,n.jsx)(k.ComboboxGroupLabel,{className:Y.default.GroupLabel,children:t}),a.map(q)]},t)}),E[29]=N.groups,E[30]=N.shapes,E[31]=N.type,E[32]=g):g=E[32],E[33]!==M?(v=M&&(0,n.jsx)("div",{className:Y.default.NoResults,children:"No shapes found"}),E[33]=M,E[34]=v):v=E[34],E[35]!==g||E[36]!==v?(y=(0,n.jsx)(R.ComboboxPopover,{portal:!0,gutter:4,autoFocusOnHide:!1,className:Y.default.Popover,children:(0,n.jsxs)(L.ComboboxList,{className:Y.default.List,children:[g,v]})}),E[35]=g,E[36]=v,E[37]=y):y=E[37],E[38]!==_||E[39]!==b||E[40]!==y?(x=(0,n.jsxs)(z.ComboboxProvider,{store:_,children:[b,y]}),E[38]=_,E[39]=b,E[40]=y,E[41]=x):x=E[41],x}function q(e){return(0,n.jsx)(M.ComboboxItem,{value:e.shapeName,className:Y.default.Item,focusOnHover:!0,children:(0,n.jsx)("span",{className:Y.default.ItemName,children:e.displayName})},e.shapeName)}e.i(13876);var G=e.i(58647),Q=e.i(38847),$=e.i(32424),J=e.i(54970),ee=e.i(86608),et=e.i(33870),en=e.i(99140),ea=e.i(7368);let eo=new s.QueryClient,er=new i.Color(.1,.1,.1),ei={toneMapping:i.NoToneMapping,outputColorSpace:i.SRGBColorSpace},es=(0,$.createScriptLoader)(),ec=(0,et.createScriptCache)(),el={findFiles:e=>{let t=(0,J.default)(e,{nocase:!0});return(0,F.getResourceList)().filter(e=>t(e)).map(e=>{let[,t]=(0,F.getSourceAndPath)(e);return t})},isFile:e=>null!=(0,F.getResourceMap)()[(0,F.getResourceKey)(e)]},eu=(0,Q.createParser)({parse:e=>e,serialize:e=>e,eq:(e,t)=>e===t}).withDefault("deploy_inventory.dts");function em(e){"batch.flushed"===e.type&&G.engineStore.getState().applyRuntimeBatch(e.events,{tick:e.tick})}function ep(e){e instanceof Error&&"AbortError"===e.name||console.error("Shape runtime failed:",e)}function ed(){let e,t,n=(0,a.c)(3),r=o.useContext(C);return n[0]!==r?(e=()=>{r.refresh().fit()},t=[r],n[0]=r,n[1]=e,n[2]=t):(e=n[1],t=n[2]),(0,o.useEffect)(e,t),null}function eh(e){let t,n,r,i,s=(0,a.c)(11),{shapeName:c,onAnimations:l}=e,u=(0,_.useStaticShape)(c);s[0]!==c?(t=e=>e.runtime.sequenceAliases.get(c.toLowerCase()),s[0]=c,s[1]=t):t=s[1];let m=(0,G.useEngineSelector)(t);if(s[2]!==u.animations||s[3]!==u.scene||s[4]!==m){let e,t=new Map;if(u.scene.traverse(e=>{let n=e.userData;n?.vis_sequence&&null!=n.vis_cyclic&&t.set(n.vis_sequence.toLowerCase(),!!n.vis_cyclic)}),m)for(let[t,n]of(e=new Map,m))e.set(n,t);n=u.animations.map(n=>({name:n.name,alias:e?.get(n.name.toLowerCase())??null,cyclic:t.get(n.name.toLowerCase())??null})),s[2]=u.animations,s[3]=u.scene,s[4]=m,s[5]=n}else n=s[5];let p=n,d=(0,o.useEffectEvent)(l);return s[6]!==p||s[7]!==d?(r=()=>{d(p)},s[6]=p,s[7]=d,s[8]=r):r=s[8],s[9]!==p?(i=[p],s[9]=p,s[10]=i):i=s[10],(0,o.useEffect)(r,i),null}function ef(e){let t,n,r=(0,a.c)(5),{object:i,runtime:s,animation:c}=e;return r[0]!==c||r[1]!==i||r[2]!==s?(t=()=>{if(s&&c){for(let e=0;e<4;e++)s.$.nsCall("ShapeBase","stopThread",i,e);return s.$.nsCall("ShapeBase","playThread",i,0,c),()=>{for(let e=0;e<4;e++)s.$.nsCall("ShapeBase","stopThread",i,e)}}},n=[s,i,c],r[0]=c,r[1]=i,r[2]=s,r[3]=t,r[4]=n):(t=r[3],n=r[4]),(0,o.useEffect)(t,n),null}function eb(e){let t,o,r,i,s,c,l,u=(0,a.c)(19),{shapeName:m,runtime:p,onAnimations:d,selectedAnimation:h}=e;u[0]!==p||u[1]!==m?(t=function(e,t){let n;if(e){for(let a of e.state.objectsById.values())if(a.shapeFile&&String(a.shapeFile).toLowerCase()===t.toLowerCase()){n=a._name;break}}return{_id:99999,_class:"StaticShapeData",_className:"StaticShape",...n?{datablock:n}:{}}}(p,m),u[0]=p,u[1]=m,u[2]=t):t=u[2];let f=t;return u[3]===Symbol.for("react.memo_cache_sentinel")?(o=(0,n.jsx)(_.ShapeRenderer,{}),u[3]=o):o=u[3],u[4]!==d||u[5]!==m?(r=(0,n.jsx)(eh,{shapeName:m,onAnimations:d}),u[4]=d,u[5]=m,u[6]=r):r=u[6],u[7]!==f||u[8]!==p||u[9]!==h?(i=(0,n.jsx)(ef,{object:f,runtime:p,animation:h}),u[7]=f,u[8]=p,u[9]=h,u[10]=i):i=u[10],u[11]===Symbol.for("react.memo_cache_sentinel")?(s=(0,n.jsx)(ed,{}),u[11]=s):s=u[11],u[12]!==r||u[13]!==i?(c=(0,n.jsxs)(E,{children:[o,r,i,s]}),u[12]=r,u[13]=i,u[14]=c):c=u[14],u[15]!==f||u[16]!==m||u[17]!==c?(l=(0,n.jsx)(w.ShapeInfoProvider,{type:"StaticShape",object:f,shapeName:m,children:c}),u[15]=f,u[16]=m,u[17]=c,u[18]=l):l=u[18],l}function eg(){let e,t=(0,a.c)(1);return t[0]===Symbol.for("react.memo_cache_sentinel")?(e=(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("ambientLight",{intensity:.6}),(0,n.jsx)("directionalLight",{position:[50,80,30],intensity:1.2})]}),t[0]=e):e=t[0],e}function ev(){let e,t,s,l,u,m,p,d,h,f,b,g,v,y,E,S,j=(0,a.c)(31),[C,_]=(0,Q.useQueryState)("shape",eu),w=function(){let e,t,n=(0,a.c)(2),[r,i]=(0,o.useState)(null);return n[0]===Symbol.for("react.memo_cache_sentinel")?(e=()=>{let e=new AbortController,t=!1,{runtime:n,ready:a}=(0,ee.runServer)({missionName:"SC_Normal",missionType:"CTF",runtimeOptions:{loadScript:es,fileSystem:el,cache:ec,signal:e.signal,ignoreScripts:ea.ignoreScripts}});a.then(()=>{t||e.signal.aborted||(G.engineStore.getState().setRuntime(n),i(n))}).catch(ep),G.engineStore.getState().setRuntime(n);let o=n.subscribeRuntimeEvents(em);return()=>{t=!0,e.abort(),o(),G.engineStore.getState().clearRuntime(),n.destroy()}},t=[],n[0]=e,n[1]=t):(e=n[0],t=n[1]),(0,o.useEffect)(e,t),r}();j[0]===Symbol.for("react.memo_cache_sentinel")?(e=[],j[0]=e):e=j[0];let[O,M]=(0,o.useState)(e),[L,R]=(0,o.useState)("");j[1]===Symbol.for("react.memo_cache_sentinel")?(t=e=>{M(e),R("")},j[1]=t):t=j[1];let z=t,[I,k]=(0,o.useState)(!0);return j[2]!==w?(s=()=>{if(w){let e=setTimeout(()=>k(!1),300);return()=>clearTimeout(e)}},l=[w],j[2]=w,j[3]=s,j[4]=l):(s=j[3],l=j[4]),(0,o.useEffect)(s,l),j[5]!==w||j[6]!==I?(u=I&&(0,n.jsx)("div",{className:en.default.LoadingIndicator,"data-complete":!!w,children:(0,n.jsx)("div",{className:en.default.Spinner})}),j[5]=w,j[6]=I,j[7]=u):u=j[7],j[8]===Symbol.for("react.memo_cache_sentinel")?(m={type:i.PCFShadowMap},p={background:er},d={position:[5,3,5],fov:90},j[8]=m,j[9]=p,j[10]=d):(m=j[8],p=j[9],d=j[10]),j[11]===Symbol.for("react.memo_cache_sentinel")?(h=(0,n.jsx)(eg,{}),j[11]=h):h=j[11],j[12]!==C||j[13]!==w||j[14]!==L?(f=(0,n.jsx)(P,{fit:!0,clip:!0,observe:!0,margin:1.5,children:(0,n.jsx)(o.Suspense,{fallback:null,children:(0,n.jsx)(eb,{shapeName:C,runtime:w,onAnimations:z,selectedAnimation:L},C)})}),j[12]=C,j[13]=w,j[14]=L,j[15]=f):f=j[15],j[16]===Symbol.for("react.memo_cache_sentinel")?(b=(0,n.jsx)(N.DebugElements,{}),g=(0,n.jsx)(x,{makeDefault:!0}),j[16]=b,j[17]=g):(b=j[16],g=j[17]),j[18]!==f?(v=(0,n.jsx)(r.Canvas,{frameloop:"always",gl:ei,shadows:m,scene:p,camera:d,children:(0,n.jsxs)(A.TickProvider,{children:[h,f,b,g]})}),j[18]=f,j[19]=v):v=j[19],j[20]!==v||j[21]!==u?(y=(0,n.jsxs)("div",{className:en.default.CanvasContainer,children:[u,v]}),j[20]=v,j[21]=u,j[22]=y):y=j[22],j[23]!==O||j[24]!==C||j[25]!==L||j[26]!==_?(E=(0,n.jsx)(ex,{currentShape:C,onChangeShape:_,animations:O,selectedAnimation:L,onChangeAnimation:R}),j[23]=O,j[24]=C,j[25]=L,j[26]=_,j[27]=E):E=j[27],j[28]!==y||j[29]!==E?(S=(0,n.jsx)(c.QueryClientProvider,{client:eo,children:(0,n.jsx)("main",{children:(0,n.jsxs)(T.SettingsProvider,{onClearFogEnabledOverride:ey,children:[y,E]})})}),j[28]=y,j[29]=E,j[30]=S):S=j[30],S}function ey(){}function ex(e){let t,o,r,i,s,c,l,u=(0,a.c)(19),{currentShape:m,onChangeShape:p,animations:d,selectedAnimation:h,onChangeAnimation:f}=e,{debugMode:b,setDebugMode:g}=(0,T.useDebug)();return u[0]!==m||u[1]!==p?(t=(0,n.jsx)("div",{className:en.default.SidebarSection,children:(0,n.jsx)(W,{value:m,onChange:p})}),u[0]=m,u[1]=p,u[2]=t):t=u[2],u[3]!==g?(o=e=>g(e.target.checked),u[3]=g,u[4]=o):o=u[4],u[5]!==b||u[6]!==o?(r=(0,n.jsx)("input",{id:"debugInput",type:"checkbox",checked:b,onChange:o}),u[5]=b,u[6]=o,u[7]=r):r=u[7],u[8]===Symbol.for("react.memo_cache_sentinel")?(i=(0,n.jsx)("label",{htmlFor:"debugInput",children:"Debug"}),u[8]=i):i=u[8],u[9]!==r?(s=(0,n.jsx)("div",{className:en.default.SidebarSection,children:(0,n.jsxs)("div",{className:en.default.CheckboxField,children:[r,i]})}),u[9]=r,u[10]=s):s=u[10],u[11]!==d||u[12]!==f||u[13]!==h?(c=d.length>0&&(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("div",{className:en.default.SidebarSection,children:(0,n.jsx)("div",{className:en.default.SectionLabel,children:"Animations"})}),(0,n.jsx)("div",{className:en.default.AnimationList,children:d.map(e=>(0,n.jsxs)("div",{className:en.default.AnimationItem,"data-active":h===e.name,onClick:()=>f(h===e.name?"":e.name),children:[(0,n.jsx)("button",{className:en.default.PlayButton,title:`Play ${e.alias??e.name}`,children:h===e.name?"■":"▶"}),(0,n.jsx)("span",{className:en.default.AnimationName,children:e.alias??e.name}),e.alias&&(0,n.jsx)("span",{className:en.default.ClipName,title:`GLB clip: ${e.name}`,children:e.name}),!0===e.cyclic&&(0,n.jsx)("span",{className:en.default.CyclicIcon,title:"Cyclic (looping)",children:"∞"})]},e.name))})]}),u[11]=d,u[12]=f,u[13]=h,u[14]=c):c=u[14],u[15]!==t||u[16]!==s||u[17]!==c?(l=(0,n.jsxs)("div",{className:en.default.Sidebar,children:[t,s,c]}),u[15]=t,u[16]=s,u[17]=c,u[18]=l):l=u[18],l}function eE(){let e,t=(0,a.c)(1);return t[0]===Symbol.for("react.memo_cache_sentinel")?(e=(0,n.jsx)(o.Suspense,{children:(0,n.jsx)(ev,{})}),t[0]=e):e=t[0],e}e.s(["default",()=>eE],39724)}]);