t2-mapper/docs/_next/static/chunks/97346c3751717c47.js
2026-03-12 16:34:43 -07:00

1 line
No EOL
5.3 KiB
JavaScript

(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,29055,e=>{"use strict";var t=e.i(43476),r=e.i(71645),n=e.i(15080),o=e.i(71753),i=e.i(90072),u=e.i(25645),c=e.i(12979),a=e.i(51434),s=e.i(79123),l=e.i(89887),f=e.i(58647);let d=(0,u.createLogger)("AudioEmitter"),h=new Map,p=new Map;function y(e,t=1){p.set(e,t)}function m(e){p.delete(e)}let g=0;function S(){return g}function R(){for(let[e]of(g++,p)){try{e.stop()}catch{}try{e.disconnect()}catch{}}p.clear()}function b(e,t){let r=t(e),n=r?.filename;if(!n)return null;let o=n.endsWith(".wav")?n:`${n}.wav`,i=r.description,u=null!=i?t(i):void 0,c=u?.is3D??!0,a=u?.isLooping??!1,s=u?.referenceDistance??20;return{filename:o,is3D:c,isLooping:a,refDist:s,maxDist:u?.maxDistance??100,volume:u?.volume??1}}function M(e,t,r,n,o){let u;try{u=(0,c.audioToUrl)(e.filename)}catch{return}let a=f.engineStore.getState().playback.rate,s=g;D(u,r,r=>{if(s===g)try{if(e.is3D&&o){let u=new i.PositionalAudio(t);u.setBuffer(r),u.setDistanceModel("inverse"),u.setRefDistance(e.refDist),u.setMaxDistance(e.maxDist),u.setRolloffFactor(1),u.setVolume(e.volume),u.setPlaybackRate(a),n&&u.position.copy(n),o.add(u),p.set(u,1),u.play(),u.source.onended=()=>{p.delete(u);try{u.disconnect()}catch{}o.remove(u)}}else{let n=new i.Audio(t);n.setBuffer(r),n.setVolume(e.volume),n.setPlaybackRate(a),p.set(n,1),n.play(),n.source.onended=()=>{p.delete(n);try{n.disconnect()}catch{}}}}catch{}})}function D(e,t,r){h.has(e)?r(h.get(e)):t.load(e,t=>{h.set(e,t),r(t)},void 0,t=>{d.error("Audio load error %s: %o",e,t)})}f.engineStore.subscribe(e=>e.playback.rate,e=>{for(let[t,r]of p)try{t.setPlaybackRate(r*e)}catch{}});let k=(0,r.memo)(function({entity:e}){let{debugMode:u}=(0,s.useDebug)(),f=e.audioFileName??"",d=e.audioVolume??1,h=e.audioMinDistance??1,p=e.audioMaxDistance??1,y=e.audioMinLoopGap??0,m=e.audioMaxLoopGap??0,g=e.audioIs3D??!0?1:0,S=e.audioIsLooping??!0,[R,b,M]=e.position??[0,0,0],k=(0,n.useThree)(e=>e.scene),v=(0,n.useThree)(e=>e.camera),{audioLoader:A,audioListener:T}=(0,a.useAudio)(),{audioEnabled:P}=(0,s.useSettings)(),w=(0,r.useRef)(null),x=(0,r.useRef)(null),B=(0,r.useRef)(null),E=(0,r.useRef)(!1),L=(0,r.useRef)(!1),C=(0,r.useRef)(new i.Vector3(R,b,M)),G=(0,r.useRef)(0),V=()=>{null!=x.current&&(clearTimeout(x.current),x.current=null),null!=B.current&&(clearTimeout(B.current),B.current=null)};(0,r.useEffect)(()=>{let e;if(A&&T){if(G.current++,g){let t=new i.PositionalAudio(T);t.position.copy(C.current),t.setDistanceModel("inverse"),t.setRefDistance(h),t.setMaxDistance(p),t.setRolloffFactor(1),t.setVolume(d),e=t,k.add(e)}else(e=new i.Audio(T)).setVolume(d);return w.current=e,()=>{V();try{e.stop()}catch{}try{e.disconnect()}catch{}g&&k.remove(e),w.current=null,E.current=!1,L.current=!1}}},[A,T,g,h,p,d,k]);let j=(e,t)=>{if(S)if(y>0||m>0){let r=Math.max(0,y),n=Math.max(r,m),o=r===n?r:Math.random()*(n-r)+r;e.loop=!1;let i=()=>{t===G.current&&(!1===e.isPlaying?x.current=setTimeout(()=>{if(t===G.current)try{e.play(),j(e,t)}catch{}},o):B.current=setTimeout(i,100))};B.current=setTimeout(i,100)}else e.setLoop(!0)},F=e=>{if(!A)return;let t=G.current;if(E.current)try{e.isPlaying||(e.play(),j(e,t))}catch{}else{let r;try{r=(0,c.audioToUrl)(f)}catch{return}D(r,A,r=>{if(t===G.current&&!e.buffer){e.setBuffer(r),E.current=!0;try{e.play(),j(e,t)}catch{}}})}};return(0,r.useEffect)(()=>{let e=w.current;e&&!g&&P&&f&&F(e)},[P,g,f,A,T]),(0,o.useFrame)(()=>{let e=w.current;if(!e||!g||!P||!f)return;let t=v.position.distanceTo(C.current),r=L.current,n=t<=p;if(n&&!r)L.current=!0,F(e);else if(!n&&r){L.current=!1,V();try{e.stop()}catch{}}}),(0,r.useEffect)(()=>{let e=w.current;if(e&&!P){V();try{e.stop()}catch{}L.current=!1}},[P]),u?(0,t.jsxs)("mesh",{position:C.current,children:[(0,t.jsx)("sphereGeometry",{args:[h,12,12]}),(0,t.jsx)("meshBasicMaterial",{color:"#00ff00",wireframe:!0,opacity:.05,transparent:!0,toneMapped:!1}),(0,t.jsx)(l.FloatingLabel,{color:"#00ff00",position:[0,h+1,0],children:f})]}):null});e.s(["AudioEmitter",0,k,"audioBufferCache",0,h,"getCachedAudioBuffer",()=>D,"getSoundGeneration",()=>S,"playOneShotSound",()=>M,"resolveAudioProfile",()=>b,"stopAllTrackedSounds",()=>R,"trackSound",()=>y,"untrackSound",()=>m])},9962,e=>{"use strict";var t=e.i(71645),r=e.i(90072),n=e.i(12979),o=e.i(51434),i=e.i(29055),u=e.i(79123),c=e.i(58647);function a(){let{audioLoader:e,audioListener:a}=(0,o.useAudio)(),{audioEnabled:s}=(0,u.useSettings)(),l=(0,c.useEngineSelector)(e=>e.playback.streamSnapshot?.chatMessages),f=(0,c.useEngineSelector)(e=>e.playback.streamSnapshot?.timeSec),d=(0,t.useRef)(new WeakSet),h=(0,t.useRef)(new Map);return(0,t.useEffect)(()=>{if(!s||!e||!a||!l?.length||null==f)return;let t=d.current,o=h.current;for(let u of l){if(!t.has(u)){if((t.add(u),u.soundPath)&&!(Math.abs(f-u.timeSec)>2))try{let t=(0,n.audioToUrl)(u.soundPath),s=u.soundPitch??1,l=c.engineStore.getState().playback.rate,f=u.sender,d=(0,i.getSoundGeneration)();(0,i.getCachedAudioBuffer)(t,e,e=>{if(d!==(0,i.getSoundGeneration)())return;if(f){let e=o.get(f);if(e){try{e.stop()}catch{}(0,i.untrackSound)(e);try{e.disconnect()}catch{}o.delete(f)}}let t=new r.Audio(a);t.setBuffer(e),t.setPlaybackRate(s*l),(0,i.trackSound)(t,s),f&&o.set(f,t),t.play(),t.source.onended=()=>{(0,i.untrackSound)(t);try{t.disconnect()}catch{}f&&o.get(f)===t&&o.delete(f)}})}catch{}}}},[s,e,a,l,f]),null}e.s(["ChatSoundPlayer",()=>a])}]);