t2-mapper/docs/assets/AudioEmitter-3VHhCc7Y.js

1 line
7.4 KiB
JavaScript
Raw Permalink Normal View History

2026-04-08 23:48:42 -07:00
import{r as e}from"./chunk-DECur_0Z.js";import{n as t,r as n,t as r}from"./jsx-runtime-BpGWiA-R.js";import{a as i,s as a}from"./react-three-fiber.esm-El6vNTZj.js";import{t as o}from"./Html-CXAi5FD_.js";import{a as s,c,i as l,o as u}from"./SettingsProvider-BdqQ2Cm4.js";import{Wt as d,c as f,l as p,u as m,xt as h}from"./three.module-DKAirPAO.js";import{r as g}from"./loaders-5n1D4iOD.js";import{t as _}from"./logger-B058WGzf.js";import{r as v}from"./engineStore-B1KAgiiF.js";import{r as y}from"./cameraTourStore-CtH3IrnD.js";import{n as b}from"./DebugBounds-CZKrvsAw.js";var x={Label:`_Label_12q7d_1`},S=t(),C=e(n(),1),w=r(),T=[0,0,0],E=new d;function D(e,t,n,r){let i=e.matrixWorld.elements;return(t-i[12])*-i[8]+(n-i[13])*-i[9]+(r-i[14])*-i[10]<0}var O=200;function k(e){let t=(0,S.c)(9),n;t[0]===e?n=t[1]:(n=e===void 0?{}:e,t[0]=e,t[1]=n);let{opacity:r,fadeDistance:a}=n,o=r===void 0?`fadeWithDistance`:r,s=a===void 0?O:a,c=o===`fadeWithDistance`,l=(0,C.useRef)(null),[u,d]=(0,C.useState)(o!==0),f=(0,C.useRef)(`0`),p;t[2]!==s||t[3]!==c||t[4]!==u||t[5]!==o?(p=e=>{let{camera:t}=e,n=l.current;if(!n)return;n.getWorldPosition(E);let r=D(t,E.x,E.y,E.z);if(c){let e=r?1/0:t.position.distanceTo(E),n=e<s;u!==n&&d(n),f.current=n?Math.max(0,Math.min(1,1-e/s)).toString():`0`}else{let e=!r&&o!==0;u!==e&&d(e),f.current=o.toString()}},t[2]=s,t[3]=c,t[4]=u,t[5]=o,t[6]=p):p=t[6],i(p);let m;return t[7]===u?m=t[8]:(m={groupRef:l,isVisible:u,opacityRef:f},t[7]=u,t[8]=m),m}var A=(0,C.memo)(function(e){let t=(0,S.c)(13),{children:n,color:r,position:a,opacity:s,fadeDistance:c}=e,l=r===void 0?`white`:r,u=a===void 0?T:a,d=s===void 0?`fadeWithDistance`:s,f;t[0]!==c||t[1]!==d?(f={opacity:d,fadeDistance:c},t[0]=c,t[1]=d,t[2]=f):f=t[2];let{groupRef:p,isVisible:m,opacityRef:h}=k(f),g=(0,C.useRef)(null),_;t[3]===h?_=t[4]:(_=()=>{g.current&&(g.current.style.opacity=h.current)},t[3]=h,t[4]=_),i(_);let v;t[5]!==n||t[6]!==l||t[7]!==m||t[8]!==u?(v=m?(0,w.jsx)(o,{position:u,center:!0,children:(0,w.jsx)(`div`,{ref:g,className:x.Label,style:{color:l},children:n})}):null,t[5]=n,t[6]=l,t[7]=m,t[8]=u,t[9]=v):v=t[9];let y;return t[10]!==p||t[11]!==v?(y=(0,w.jsx)(`group`,{ref:p,children:v}),t[10]=p,t[11]=v,t[12]=y):y=t[12],y}),j=(0,C.createContext)(void 0);function M(e){let t=(0,S.c)(11),{children:n}=e,r=a(F),{audioVolume:i}=s(),o;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(o={audioLoader:null,audioListener:null},t[0]=o):o=t[0];let[c,l]=(0,C.useState)(o),u,d;t[1]===r?(u=t[2],d=t[3]):(u=()=>{let e=new m,t=r.children.find(P);t||(t=new p,r.add(t)),l({audioLoader:e,audioListener:t});let n=()=>{let e=t.context;!e||e.state!==`suspended`||e.resume().finally(()=>{document.removeEventListener(`click`,n),document.removeEventListener(`keydown`,n),document.removeEventListener(`touchend`,n)})};document.addEventListener(`click`,n),document.addEventListener(`keydown`,n),document.addEventListener(`touchend`,n);let i=v.subscribe(N,e=>{let n=t.context;n&&(e===`paused`?n.suspend():n.state===`suspended`&&n.resume())});return()=>{document.removeEventListener(`click`,n),document.removeEventListener(`keydown`,n),document.removeEventListener(`touchend`,n),i(),t&&r.remove(t)}},d=[r],t[1]=r,t[2]=u,t[3]=d),(0,C.useEffect)(u,d);let f,h;t[4]!==c.audioListener||t[5]!==i?(f=()=>{c.audioListener?.setMasterVolume(i)},h=[i,c.audioListener],t[4]=c.audioListener,t[5]=i,t[6]=f,t[7]=h):(f=t[6],h=t[7]),(0,C.useEffect)(f,h);let g;return t[8]!==c||t[9]!==n?(g=(0,w.jsx)(j.Provider,{value:c,children:n}),t[8]=c,t[9]=n,t[10]=g):g=t[10],g}function N(e){return e.playback.status}function P(e){return e instanceof p}function F(e){return e.camera}function I(){let e=(0,C.useContext)(j);if(e===void 0)throw Error(`useAudio must be used within AudioProvider`);return e}var L=_(`AudioEmitter`),R=new Map,z=new Map;c(e=>{let t=v.getState().playback.rate;for(let[n,r]of z)try{n.setPlaybackRate(r*(e?t:1))}catch{}});function B(e,t=1){z.set(e,t)}function V(e){z.delete(e)}var H=0;function U(){return H}function W(){H++;for(let[e]of z){try{e.stop()}catch{}try{e.disconnect()}catch{}}z.clear()}v.subscribe(e=>e.playback.rate,e=>{for(let[t,n