t2-mapper/docs/_next/static/chunks/2677e6a5750bb60c.js
2026-03-09 12:38:40 -07:00

1 line
No EOL
5.2 KiB
JavaScript

(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,60505,e=>{"use strict";var t=e.i(932),r=e.i(71645),n=e.i(71753),c=e.i(15080),i=e.i(90072),o=e.i(12631),a=e.i(12781),u=e.i(58647),l=e.i(93784),m=e.i(5729),s=e.i(79123),d=e.i(51475),p=e.i(89119);let v=1/d.TICK_RATE,y=new i.Vector3,E=new i.Vector3;function h(){let e,i,h,g,f,S,w,T,b,P,M,_,L,O,R=(0,t.c)(27),{adapter:I,gameStatus:A,sendMove:C}=(0,a.useLiveConnection)(),k=(0,u.useEngineStoreApi)(),{speedMultiplier:K}=(0,s.useControls)(),z=(0,r.useRef)(null),{gl:X}=(0,c.useThree)(),[,Y]=(0,o.useKeyboardControls)(),N=(0,r.useRef)(0),x=(0,r.useRef)(0);R[0]===Symbol.for("react.memo_cache_sentinel")?(e={yaw:0,pitch:0,prevYaw:0,prevPitch:0,initialized:!1,lastSyncedCamera:null},R[0]=e):e=R[0];let H=(0,r.useRef)(e),D=(0,r.useRef)(0);return R[1]!==I||R[2]!==A||R[3]!==k?(i=()=>{I&&("connected"===A||"authenticating"===A)?z.current!==I&&(console.log("[LiveObserver] wiring adapter to engine store"),k.getState().setRecording({source:"live",duration:1/0,missionName:null,gameType:null,streamingPlayback:I}),k.getState().setPlaybackStatus("playing"),z.current=I,H.current.initialized=!1,H.current.lastSyncedCamera=null):!I&&z.current&&(k.getState().setRecording(null),z.current=null,H.current.initialized=!1)},h=[I,A,k],R[1]=I,R[2]=A,R[3]=k,R[4]=i,R[5]=h):(i=R[4],h=R[5]),(0,r.useEffect)(i,h),R[6]!==X.domElement?(g=()=>{let e=!1,t=t=>{document.pointerLockElement?(N.current=N.current+.002*t.movementX,x.current=x.current+.002*t.movementY):e&&(N.current=N.current+t.movementX*m.MOUSE_SENSITIVITY,x.current=x.current+t.movementY*m.MOUSE_SENSITIVITY)},r=t=>{document.pointerLockElement||t.target!==X.domElement||(e=!0)},n=()=>{e=!1};return document.addEventListener("mousemove",t),document.addEventListener("mousedown",r),document.addEventListener("mouseup",n),()=>{document.removeEventListener("mousemove",t),document.removeEventListener("mousedown",r),document.removeEventListener("mouseup",n)}},f=[X.domElement],R[6]=X.domElement,R[7]=g,R[8]=f):(g=R[7],f=R[8]),(0,r.useEffect)(g,f),R[9]===Symbol.for("react.memo_cache_sentinel")?(S=()=>{let e=e=>{document.pointerLockElement&&z.current&&(e.stopImmediatePropagation(),z.current.cycleObserveNext())};return document.addEventListener("click",e,{capture:!0}),()=>{document.removeEventListener("click",e,{capture:!0})}},R[9]=S):S=R[9],R[10]!==X.domElement?(w=[X.domElement],R[10]=X.domElement,R[11]=w):w=R[11],(0,r.useEffect)(S,w),R[12]===Symbol.for("react.memo_cache_sentinel")?(T=()=>{let e=e=>{if("KeyO"!==e.code||e.metaKey||e.ctrlKey||e.altKey)return;let t=e.target;"INPUT"===t.tagName||"TEXTAREA"===t.tagName||t.isContentEditable||z.current&&(z.current.toggleObserverMode(),console.log(`[LiveObserver] observer mode: ${z.current.observerMode}`))};return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},b=[],R[12]=T,R[13]=b):(T=R[12],b=R[13]),(0,r.useEffect)(T,b),R[14]!==A||R[15]!==Y?(P=(e,t)=>{if(!z.current||"connected"!==A)return;let{lookUp:r,lookDown:n,lookLeft:c,lookRight:i}=Y();i&&(N.current=N.current+m.ARROW_LOOK_SPEED*t),c&&(N.current=N.current-m.ARROW_LOOK_SPEED*t),n&&(x.current=x.current+m.ARROW_LOOK_SPEED*t),r&&(x.current=x.current-m.ARROW_LOOK_SPEED*t)},R[14]=A,R[15]=Y,R[16]=P):P=R[16],(0,n.useFrame)(P),R[17]!==A||R[18]!==Y||R[19]!==C||R[20]!==K?(M=()=>{if(!z.current||"connected"!==A)return;let{forward:e,backward:t,left:r,right:n,up:c,down:i}=Y(),o=0,a=0,u=0;e&&(a=1),t&&(a-=1),r&&(o=-1),n&&(o+=1),c&&(u=1),i&&(u-=1);let l=N.current,m=x.current;N.current=0,x.current=0;let s=H.current;s.prevYaw=s.yaw,s.prevPitch=s.pitch,s.yaw=s.yaw+l,s.pitch=Math.max(-p.MAX_PITCH,Math.min(p.MAX_PITCH,s.pitch+m)),D.current=0;let d=Math.min(1,K);C({x:o*d,y:a*d,z:u*d,yaw:l,pitch:m,roll:0,trigger:[!1,!1,!1,!1,!1,!1],freeLook:!1})},R[17]=A,R[18]=Y,R[19]=C,R[20]=K,R[21]=M):M=R[21],(0,d.useTick)(M),R[22]!==A?(_=(e,t)=>{if(!z.current||"connected"!==A)return;let r=H.current,n=z.current.getSnapshot(),c=n?.camera;if(c&&c!==r.lastSyncedCamera&&"number"==typeof c.yaw&&"number"==typeof c.pitch){let e=N.current,t=x.current;r.prevYaw=r.initialized?r.yaw:c.yaw,r.prevPitch=r.initialized?r.pitch:c.pitch,r.yaw=c.yaw+e,r.pitch=Math.max(-p.MAX_PITCH,Math.min(p.MAX_PITCH,c.pitch+t)),r.lastSyncedCamera=c,r.initialized=!0}if(!r.initialized)return;D.current=D.current+t;let i=Math.min(1,D.current/v),o=r.prevYaw+(r.yaw-r.prevYaw)*i+N.current,a=Math.max(-p.MAX_PITCH,Math.min(p.MAX_PITCH,r.prevPitch+(r.pitch-r.prevPitch)*i+x.current)),[u,m,s,d]=(0,p.yawPitchToQuaternion)(o,a);if(c?.mode==="third-person"&&c.orbitTargetId){let t=l.streamPlaybackStore.getState().root,r=t?.children.find(e=>e.name===c.orbitTargetId);if(r){E.copy(r.position);let t=l.streamPlaybackStore.getState().entities.get(c.orbitTargetId);t?.renderType==="Player"&&(E.y=E.y+1);let n=Math.sin(a),i=Math.cos(a),u=Math.sin(o),m=Math.cos(o);if(y.set(-i,-u*n,-m*n),y.lengthSq()>1e-8){y.normalize();let t=Math.max(.1,c.orbitDistance??4);e.camera.position.copy(E).addScaledVector(y,t),e.camera.lookAt(E)}}}else e.camera.quaternion.set(u,m,s,d)},R[22]=A,R[23]=_):_=R[23],(0,n.useFrame)(_),R[24]!==k?(L=()=>()=>{z.current&&(k.getState().setRecording(null),z.current=null)},O=[k],R[24]=k,R[25]=L,R[26]=O):(L=R[25],O=R[26]),(0,r.useEffect)(L,O),null}e.s(["LiveObserver",()=>h])}]);