1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[49276],{21716:(e,t,n)=>{n.r(t),n.d(t,{CIRCLE_INTERESTS:()=>v,POSE_HZ:()=>p,POSE_KEEPALIVE_S:()=>h,POSE_MIN_INTERVAL_S:()=>f,POSE_SNAP_DIST:()=>x,ROOM_R:()=>o,SEAT_COUNT:()=>r,SEAT_R:()=>l,TUB_R:()=>a,WATER_R:()=>i,angleDelta:()=>g,encodePose:()=>d,fadeForDistance:()=>y,parseMessage:()=>u,pickDaily:()=>b,seatPositions:()=>s,shouldSendPose:()=>m,smoothK:()=>w});let r=n(28490).ut,o=9,a=2.6,i=2.3,l=3.3;function s(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:r,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:l,n=[];for(let r=0;r<e;r++){let o=Math.PI/2+r/e*Math.PI*2,a=Math.cos(o)*t,i=Math.sin(o)*t;n.push({x:a,z:i,yaw:Math.atan2(-a,-i)})}return n}let c=e=>Math.round(100*e)/100;function d(e,t,n){let r=Math.hypot(e,t),a=r>o?o/r:1,i=n%(2*Math.PI);return i>Math.PI&&(i-=2*Math.PI),i<=-Math.PI&&(i+=2*Math.PI),{t:"p",x:c(e*a),z:c(t*a),r:c(i)}}function u(e){return"object"!=typeof e||null===e?null:"p"===e.t?"number"==typeof e.x&&"number"==typeof e.z&&"number"==typeof e.r&&Number.isFinite(e.x)&&Number.isFinite(e.z)&&Number.isFinite(e.r)?d(e.x,e.z,e.r):null:"e"===e.t&&"stoke"===e.k?{t:"e",k:"stoke"}:null}let p=10,f=.1,h=1.5;function m(e,t,n,r){if(!e)return!0;let o=r-n;return!(o<f)&&(!!(Math.hypot(t.x-e.x,t.z-e.z)>.015||Math.abs(g(e.r,t.r))>.03)||o>=h)}function g(e,t){let n=(t-e)%(2*Math.PI);return n>Math.PI&&(n-=2*Math.PI),n<-Math.PI&&(n+=2*Math.PI),n}function w(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:10;return 1-Math.exp(-t*e)}let x=3;function y(e){if(e>=1.1)return 1;let t=Math.max(0,e/1.1);return .15+t*t*(3-2*t)*.85}let v=["impressionism","photochrom","hokusai","birds","the-moon","maps","botanical","nebulae","lighthouses","winslow-homer","snowflakes","sailing-ships","hiroshige","butterflies","celestial-maps","van-gogh"];function b(e,t){var n;return 0===e.length?null:null!=(n=e[(Math.floor(t.getTime()/864e5)%e.length+e.length)%e.length])?n:null}},35735:(e,t,n)=>{n.d(t,{NP:()=>i,uw:()=>a});var r=n(90625);let o=new WeakMap;function a(e){var t,n,a,i;let l;try{l=new r.JeP({antialias:!0,powerPreference:"high-performance"})}catch(e){return console.error("[xr] WebGL unavailable:",e),null}l.setPixelRatio(Math.min(window.devicePixelRatio,2)),l.setSize(e.width,e.height),l.outputColorSpace=r.er$,l.xr.enabled=!0,null==(t=(n=l.xr).setFoveation)||t.call(n,1),null==(a=(i=l.xr).setFramebufferScaleFactor)||a.call(i,1);let s=t=>{var n;t.preventDefault(),l.setAnimationLoop(null),null==(n=e.onContextLost)||n.call(e)};return l.domElement.addEventListener("webglcontextlost",s,!1),o.set(l,s),e.host.appendChild(l.domElement),l}function i(e){e.setAnimationLoop(null);let t=o.get(e);t&&(e.domElement.removeEventListener("webglcontextlost",t,!1),o.delete(e));try{var n,r,a;null==(r=(a=e.xr).getSession)||null==(n=r.call(a))||n.end()}catch(e){}e.forceContextLoss(),e.dispose(),e.domElement.remove()}},49276:(e,t,n)=>{n.r(t),n.d(t,{CircleRoomOptimized:()=>M});var r=n(4536),o=n(11092),a=n(90625),i=n(14404),l=n(74678),s=n(36560);function c(e,t){let n=e.createBufferSource();return n.buffer=t,n.loop=!0,n.start(),n}function d(e,t,n){let r=e.createOscillator();return r.type=t,r.frequency.value=n,r.start(),r}function u(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1,o=e.createBiquadFilter();return o.type=t,o.frequency.value=n,o.Q.value=r,o}function p(e,t,n,r){let o=e.createGain();o.gain.value=t;let a=d(e,"sine",r),i=e.createGain();return i.gain.value=n,a.connect(i),i.connect(o.gain),o}function f(e,t,n,r,o){let a=arguments.length>5&&void 0!==arguments[5]?arguments[5]:1,i=e.createPanner();return i.panningModel="equalpower",i.distanceModel="inverse",i.refDistance=o,i.rolloffFactor=a,i.maxDistance=80,i.setPosition(t,n,r),i}let h=(e,t)=>e+Math.random()*(t-e);var m=n(35735),g=n(41566),w=n(32595),x=n(28490),y=n(61545),v=n(21716);let b=new a.Pq0(0,1,0),T=30*Math.PI/180;function M(e){var t;let{selfSeed:n="you",selfName:M="Explorer",backHref:E="/labs/spatial
1-soak",backLabel:k="Rooms",roomId:P=(0,x.mJ)("world","the-circle"),art:S=null,sponsor:R=null,signedIn:z=!0}=e,A=(0,o.useRef)(null),_=(0,o.useRef)(null),j=(0,o.useRef)(null),[C,L]=(0,o.useState)(null),[I,F]=(0,o.useState)(!1),[V,O]=(0,o.useState)(!1),[D,N]=(0,o.useState)(!1),[W,B]=(0,o.useState)(null),q=(0,o.useRef)(null),U=(0,o.useRef)([]),G=(0,o.useRef)(new Map),Y=(0,o.useRef)(!1),[Z,H]=(0,o.useState)("idle"),K=(0,o.useRef)("idle"),[X,$]=(0,o.useState)(0),[J,Q]=(0,o.useState)(!1),ee=(0,o.useRef)(!1),[et,en]=(0,o.useState)(!1),[er,eo]=(0,o.useState)(!1),ea=et||er,ei=(0,o.useCallback)(()=>{var e,t,n,r,o;let a=document;if(a.fullscreenElement||a.webkitFullscreenElement){null!=(null==(n=a.exitFullscreen)?void 0:n.call(a))||null==(r=a.webkitExitFullscreen)||r.call(a);return}if(er)return void eo(!1);let i=A.current,l=null!=(o=null==i||null==(e=i.requestFullscreen)?void 0:e.bind(i))?o:null==i||null==(t=i.webkitRequestFullscreen)?void 0:t.bind(i);l?Promise.resolve(l()).catch(()=>eo(!0)):eo(!0)},[er]);(0,o.useEffect)(()=>{let e=()=>{let e=document;en(!!(e.fullscreenElement||e.webkitFullscreenElement))};return document.addEventListener("fullscreenchange",e),document.addEventListener("webkitfullscreenchange",e),()=>{document.removeEventListener("fullscreenchange",e),document.removeEventListener("webkitfullscreenchange",e)}},[]),(0,o.useEffect)(()=>{if(!er)return;let e=document.body.style.overflow;document.body.style.overflow="hidden";let t=e=>{"Escape"===e.key&&eo(!1)};return window.addEventListener("keydown",t),()=>{document.body.style.overflow=e,window.removeEventListener("keydown",t)}},[er]);let[el,es]=(0,o.useState)(!1),[ec,ed]=(0,o.useState)(!1),eu=(0,o.useRef)(null),ep=(0,o.useCallback)(()=>{es(!1),ed(!0),eu.current&&(clearTimeout(eu.current),eu.current=null)},[]),ef=(0,o.useCallback)(()=>{if(C){var e;null==(e=_.current)||e.click();return}es(!0),eu.current&&clearTimeout(eu.current),eu.current=setTimeout(ep,5500)},[C,ep]);(0,o.useEffect)(()=>()=>{eu.current&&clearTimeout(eu.current)},[]);let eh=(0,o.useCallback)(()=>{N(e=>{let t=!e;if(t)j.current||(j.current=function(){let e=null,t=null,n=null,r=null,o=null,a=!1,i=0,l=0,s=0,m=(t,o)=>{if(!e||!n||!r)return;let a=e.createBufferSource();a.buffer=n;let i=u(e,"bandpass",o?h(380,750):h(1100,3600),o?5:h(6,12)),l=e.createGain(),s=o?h(.16,.26):h(.04,.14),c=o?h(.08,.16):h(.018,.06);l.gain.setValueAtTime(1e-4,t),l.gain.linearRampToValueAtTime(s,t+.003),l.gain.exponentialRampToValueAtTime(1e-4,t+.003+c),a.connect(i),i.connect(l),l.connect(r),a.start(t,h(0,1.5),.003+c+.05),setTimeout(()=>{try{a.stop()}catch(e){}l.disconnect()},(t-e.currentTime+c)*1e3+300)},g=(t,n)=>{if(!e)return;let r=d(e,"sine",4150+n),o=p(e,.5,.5,24+.02*n),i=e.createGain();i.gain.value=0,r.connect(o),o.connect(i),i.connect(t);let l=()=>{if(!e||!a)return;let t=e.currentTime+h(.8,3.2),n=3+Math.floor(3*Math.random());for(let e=0;e<n;e++){let n=t+.42*e;i.gain.setValueAtTime(1e-4,n),i.gain.linearRampToValueAtTime(.012,n+.05),i.gain.exponentialRampToValueAtTime(1e-4,n+.3)}w.push(setTimeout(l,(t-e.currentTime+.42*n+h(.5,2))*1e3))};w.push(setTimeout(l,h(200,1500)))},w=[];return{get running(){return a},start(){if(!a){if(a=!0,e||(()=>{var w;n=function(e){let t=e.createBuffer(1,2*e.sampleRate,e.sampleRate),n=t.getChannelData(0);for(let e=0;e<n.length;e++)n[e]=2*Math.random()-1;return t}(e=new(null!=(w=window.AudioContext)?w:window.webkitAudioContext)),(t=e.createGain()).gain.value=1e-4,t.connect(e.destination);let x=f(e,0,1.2,0,2.6,1.1);x.connect(t),(r=e.createGain()).gain.value=.5,r.connect(x);let y=u(e,"lowpass",95,.7);c(e,n).connect(y);let v=p(e,.16,.06,.09);y.connect(v),v.connect(r);let b=u(e,"highpass",5200,.6);c(e,n).connect(b);let T=p(e,.012,.006,.13);b.connect(T),T.connect(r);let M=f(e,0,.6,0,3.2,.9);M.connect(t);let E=u(e,"lowpass",290,.6);c(e,n).connect(E);let k=p(e,.34,.16,.11),P=p(e,.8,.18,.073);E.connect(k),k.connect(P),P.connect(M);let S=u(e,"bandpass",760,2.4);c(e,n).connect(S);let R=p(e,.02,.014,.21);S.connect(R),R.connect(M);let z=f(e,-12,.5,-7,8,1),A=f(e,11,.5,6,8,1);z.connect(t),A.connect(t),g(z,0),g(A,230);let _=u(e,"lowpass",380,.6);d(e,"sine",110).connect(_);let j=e.createGain();j.gain.value=.6,d(e,"sine",165).connect(j),j.connect(_);let C=e.createGain();C.gain.value=.35,d(e,"sine",220).connect(C),C.connect(_);let L=p(e,.045,.02,.033);_.connect(L),L.connect(t),i=e.currentTime+.5,l=e.currentTime+h(5,11),o=setInterval(()=>{if(!e||!a)return;let t=e.currentTime,n=t<s;for(;i<t+.35;)m(Math.max(i,t+.01),!1),i+=n?h(.03,.12):h(.12,.55);l<t+.35&&(m(Math.max(l,t+.01),!0),l=t+h(6,15))},150)})(),!e||!t){a=!1;return}e.resume(),t.gain.cancelScheduledValues(e.currentTime),t.gain.setValueAtTime(Math.max(t.gain.value,1e-4),e.currentTime),t.gain.exponentialRampToValueAtTime(.34,e.currentTime+2.2)}},stop(){if(!e||!t||!a)return;a=!1,t.gain.cancelScheduledValues(e.currentTime),t.gain.setValueAtTime(Math.max(t.gain.value,1e-4),e.currentTime),t.gain.exponentialRampToValueAtTime(1e-4,e.currentTime+.8);let n=e;setTimeout(()=>{a||n.suspend()},900)},dispose(){for(let e of(o&&(clearInterval(o),o=null),w))clearTimeout(e);w.length=0,a=!1,e&&(e.close().catch(()=>void 0),e=null),t=null,r=null,n=null},setListener(t,n,r,o,i,l){if(!e||!a)return;let s=e.listener;if("positionX"in s&&s.positionX){let a=e.currentTime;s.positionX.setTargetAtTime(t,a,.05),s.positionY.setTargetAtTime(n,a,.05),s.positionZ.setTargetAtTime(r,a,.05),s.forwardX.setTargetAtTime(o,a,.05),s.forwardY.setTargetAtTime(i,a,.05),s.forwardZ.setTargetAtTime(l,a,.05),s.upX.setTargetAtTime(0,a,.05),s.upY.setTargetAtTime(1,a,.05),s.upZ.setTargetAtTime(0,a,.05)}else s.setPosition(t,n,r),s.setOrientation(o,i,l,0,1,0)},stoke(){if(!e||!a||!r||!n)return;s=e.currentTime+1.6;let t=c(e,n),o=u(e,"bandpass",320,1.1);o.frequency.exponentialRampToValueAtTime(1400,e.currentTime+.9);let i=e.createGain();i.gain.setValueAtTime(1e-4,e.currentTime),i.gain.linearRampToValueAtTime(.16,e.currentTime+.35),i.gain.exponentialRampToValueAtTime(1e-4,e.currentTime+1.7),t.connect(o),o.connect(i),i.connect(r),setTimeout(()=>{try{t.stop()}catch(e){}},2e3)}}}()),j.current.start();else{var n;null==(n=j.current)||n.stop()}return t})},[]),em=(0,o.useCallback)(()=>
1{if(q.current){q.current.stop(),q.current=null,U.current=[],G.current.clear(),K.current="idle",H("idle"),$(0);return}let e=new w.VoiceMesh({roomId:P,displayName:M,spatial:!0,onState:e=>{K.current=e,H(e)},onPeers:e=>{U.current=e,$(e.length)},onPeerData:(e,t)=>{let n=(0,v.parseMessage)(t);n&&("p"===n.t?G.current.set(e,n):"stoke"===n.k&&(Y.current=!0))}});q.current=e,e.start()},[P,M]),eg=(0,o.useCallback)(()=>{Q(e=>{var t;let n=!e;return ee.current=n,null==(t=q.current)||t.setMuted(n),n})},[]);(0,o.useEffect)(()=>()=>{var e;null==(e=q.current)||e.stop(),q.current=null},[]);let ew=null!=(t=null==R?void 0:R.campaignId)?t:null;(0,o.useEffect)(()=>{if(!ew)return;let e="/api/sponsor/impression/".concat(encodeURIComponent(ew));navigator.sendBeacon?navigator.sendBeacon(e):fetch(e,{method:"POST",keepalive:!0}).catch(()=>{})},[ew]),(0,o.useEffect)(()=>{var e,t,r,o,c,d;let u=A.current;if(!u)return;let p=!1,f=navigator.xr;(null==f?void 0:f.isSessionSupported)?f.isSessionSupported("immersive-vr").then(L).catch(()=>L(!1)):L(!1);let h=null==(e=(t=window).matchMedia)?void 0:e.call(t,"(prefers-reduced-motion: reduce)").matches,w=u.clientWidth||window.innerWidth,x=u.clientHeight||window.innerHeight,M=(0,m.uw)({host:u,width:w,height:x,onContextLost:()=>F(!0)});if(!M)return void F(!0);M.toneMapping=a.FV,M.toneMappingExposure=1.1;let E=i.Z.createButton(M);E.style.display="none",E.style.visibility="hidden",E.style.pointerEvents="none",u.appendChild(E),_.current=E;let k=new a.Q1f("#101526"),P=new a.Z58;P.background=k,P.fog=new a.jUj(k,16,85);let C=(0,v.seatPositions)(),I=Math.PI/2+Math.PI/v.SEAT_COUNT,V={x:Math.cos(I)*v.SEAT_R,z:Math.sin(I)*v.SEAT_R,yaw:0};V.yaw=Math.atan2(-V.x,-V.z);let D=new a.ubm(64,w/x,.1,300);D.position.set(1.65*V.x,1.7,1.65*V.z);let N=new a.YJl;P.add(N);let W=new l.N(D,M.domElement);W.target.set(V.x,1.4,V.z),W.enablePan=!1,W.minDistance=1.6,W.maxDistance=6,W.maxPolarAngle=Math.PI/1.96,W.enableDamping=!0,W.dampingFactor=.09,W.mouseButtons.RIGHT=a.kBv.ROTATE,W.update();let Z=[],H=[],X=[],$=e=>(Z.push(e),e),J=e=>(H.push(e),e),Q=e=>(X.push(e),e),et={geo:$,mat:J,tex:Q},en={value:0},er=(0,y.eo)(et),eo=[],ea=$(new a.Gu$(1,18,12)),ei=$(new a.Ho_(1,1,1,18)),el=new a.dth(0x9db4d8,1708554,.62);P.add(el);let es=new a.ZyN(8296136,.3);es.position.set(30,40,-20),P.add(es);let ec=new a.HiM(0xffa14a,16,15,2);ec.position.set(0,1.2,0),P.add(ec),P.add((0,y.$q)(et,en,130));{let e=new a.BdL(M),t=new a.Z58;t.add((0,y.$q)(et,en,60));let n=e.fromScene(t,.04);P.environment=n.texture,e.dispose(),X.push(n.texture)}{let e=new Float32Array(720),t=0;for(;t<240;){let n=new a.Pq0(2*Math.random()-1,Math.random(),2*Math.random()-1).normalize();if(n.y<.06)continue;let r=105+18*Math.random();e[3*t]=n.x*r,e[3*t+1]=n.y*r,e[3*t+2]=n.z*r,t++}P.add((0,y.HL)(et,en,{positions:e,color:"#cfe0ff",sizePx:2.2,opacity:.8,twinkleSpeed:.7,additive:!0,attenuate:!1,map:er}));let n=new a.eaF(ea,J(new a.V9B({color:"#f2e9d4",fog:!1})));n.scale.setScalar(2.6),n.position.set(60,30,-45),P.add(n);let r=new a.kxk(J(new a.RoJ({map:er,color:"#f2e9d4",transparent:!0,opacity:.3,depthWrite:!1,fog:!1})));r.scale.setScalar(17),r.position.copy(n.position),P.add(r)}let ed=function(e){var t,n,r;let o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=null!=(t=o.fg)?t:"#0e1830",l=null!=(n=o.bg)?n:"rgba(247,243,237,0.95)",s="".concat(o.bold?"800":"600"," 40px system-ui, -apple-system, sans-serif"),c=document.createElement("canvas").getContext("2d");c.font=s;let d=Math.ceil(Math.min(c.measureText(e).width,620)+56),u=document.createElement("canvas");u.width=d,u.height=86;let p=u.getContext("2d");p.fillStyle=l,p.beginPath(),p.moveTo(22,0),p.arcTo(d,0,d,86,22),p.arcTo(d,86,0,86,22),p.arcTo(0,86,0,0,22),p.arcTo(0,0,d,0,22),p.closePath(),p.fill(),p.font=s,p.fillStyle=i,p.textAlign="center",p.textBaseline="middle",p.fillText(e,d/2,45,620);let f=new a.GOR(u);f.colorSpace=a.er$,f.anisotropy=4,X.push(f);let h=J(new a.RoJ({map:f,transparent:!0,depthWrite:!1,toneMapped:!1})),m=new a.kxk(h),g=(null!=(r=o.scale)?r:1)*.0042;return m.scale.set(d*g,86*g,1),m.renderOrder=12,m},eu=new a.eaF($(new a.tcD(v.ROOM_R+7,56)),J(new a._4j({color:"#16201a",roughness:1})));eu.rotation.x=-Math.PI/2,eu.position.y=-.02,P.add(eu);let ep=new a.eaF($(new a.rKP(v.TUB_R-.05,4.9,48)),J(new a._4j({color:"#4a3526",roughness:.85})));ep.rotation.x=-Math.PI/2,ep.position.y=.012,P.add(ep);let ef=new a.eaF($(new a.tcD(4.4,36)),J(new a.V9B({map:er,color:"#ff8a3c",transparent:!0,opacity:.1,blending:a.EZo,depthWrite:!1})));ef.rotation.x=-Math.PI/2,ef.position.y=.03,ef.renderOrder=2,P.add(ef);let eh=new a.eaF(ei,J(new a._4j({color:"#26474e",roughness:.55})));eh.scale.set(v.TUB_R,.78,v.TUB_R),eh.position.y=.39,P.add(eh);let em=new a.eaF($(new a.O3Y(v.TUB_R,.15,12,40)),J(new a._4j({color:"#6b4e33",roughness:.6})));em.rotation.x=Math.PI/2,em.position.y=.8,P.add(em);let eg=(0,y.Lg)(et,en);eg.color.set("#15454e"),eg.roughness=.12;let ew=new a.eaF($(new a.tcD(v.WATER_R,36,0,2*Math.PI)),eg);
1ew.rotation.x=-Math.PI/2,ew.position.y=.64,P.add(ew);let ex=new a.eaF(ei,J(new a._4j({color:"#0d2e34",emissive:new a.Q1f("#2fd4c8"),emissiveIntensity:.55,roughness:.4,side:a.hsX})));ex.scale.set(v.TUB_R-.12,.6,v.TUB_R-.12),ex.position.y=.34,P.add(ex),P.add((0,y.HL)(et,en,{count:24,box:{x:[-v.WATER_R,v.WATER_R],y:[.7,2.6],z:[-v.WATER_R,v.WATER_R]},color:"#bcd0d8",sizePx:60,maxPx:300,opacity:.07,drift:{x:.08,y:.5,z:.05},wrap:{y:2,origin:{x:0,y:.7,z:0}},jitter:.25,map:er}));{let e=J(new a._4j({color:"#5a4636",roughness:.8})),t=new a.ZLX(ei,e,v.SEAT_COUNT),n=new a.kn4;C.forEach((e,r)=>{n.compose(new a.Pq0(e.x,.25,e.z),new a.PTz,new a.Pq0(.42,.5,.42)),t.setMatrixAt(r,n)}),P.add(t)}let ey=new a.YJl;{let e=J(new a._4j({color:"#7a5a2c",roughness:.45,metalness:.7})),t=new a.eaF(ei,e);t.scale.set(.09,1,.09),t.position.y=.5,ey.add(t);let n=new a.eaF(ea,e);n.scale.set(.4,.16,.4),n.position.y=1.02,ey.add(n)}let ev=J(new a.V9B({color:"#ffb45a",transparent:!0,opacity:.95,blending:a.EZo,depthWrite:!1})),eb=new a.eaF(ea,ev);eb.scale.set(.15,.26,.15),eb.position.y=1.22,ey.add(eb);let eT=(0,y.HL)(et,en,{count:26,box:{x:[-.18,.18],y:[1.1,2.6],z:[-.18,.18]},color:"#ffae62",sizePx:5,opacity:.85,twinkleSpeed:3.4,drift:{x:.04,y:.55,z:.02},wrap:{y:1.5,origin:{x:0,y:1.1,z:0}},jitter:.12,additive:!0,map:er});ey.add(eT),P.add(ey);let eM=new a.YJl,eE=null,ek=-1;if(S){eM.position.set(0,0,-4.6);let e=J(new a._4j({color:"#4a3526",roughness:.8})),t=$(new a.Ho_(.03,.035,1.9,8));for(let[n,r]of[[-.42,.2],[.42,-.2],[0,0]]){let o=new a.eaF(t,e);o.position.set(n,.92,0===n?-.3:0),o.rotation.z=r,0===n&&(o.rotation.x=-.3),eM.add(o)}let n=S.width&&S.height&&S.height>0?S.width/S.height:4/3,o=Math.min(1.5,.95*n),i=Math.min(.95,o/n),l=new a.eaF($(new a.iNn(o+.1,i+.1,.05)),e);l.position.set(0,1.32,.03),eM.add(l);let s=new a.GYF(new Uint8Array([24,26,32,255]),1,1);s.needsUpdate=!0,Q(s),eE=J(new a._4j({map:s,roughness:.9,transparent:!0}));let c=new a.eaF($(new a.bdM(o,i)),eE);c.position.set(0,1.32,.062),eM.add(c);let d=ed([null!=(r=S.title)?r:"Tonightâs piece",S.creator].filter(Boolean).join(" \xb7 "),{scale:.62,bg:"rgba(20,26,40,0.92)",fg:"#eaf1ff"});d.position.set(0,.62,.2),eM.add(d),P.add(eM);let u=e=>{if(p||!eE)return void e.dispose();e.colorSpace=a.er$,e.anisotropy=8,X.push(e),M.initTexture(e),eE.map=e,eE.opacity=0,eE.needsUpdate=!0,ek=0},f=()=>{let e=new a.Tap;e.setCrossOrigin("anonymous"),e.load(S.url,e=>u(e),void 0,()=>{})};"function"==typeof createImageBitmap?(async()=>{try{let e=await fetch(S.url,{mode:"cors"});if(!e.ok)throw Error(String(e.status));let t=await e.blob(),n=await createImageBitmap(t,{imageOrientation:"flipY",premultiplyAlpha:"none",resizeWidth:1024,resizeQuality:"high"});if(p)return void n.close();let r=new a.gPd(n);r.flipY=!1,r.needsUpdate=!0,u(r)}catch(e){p||f()}})():f()}{let e=J(new a._4j({color:"#0d1410",roughness:1})),t=new a.ZLX($(new a.qFE(1,1,7)),e,7),n=new a.kn4;for(let e=0;e<7;e++){let r=e/7*Math.PI*2+.5,o=56+e%3*7;n.compose(new a.Pq0(Math.cos(r)*o,2.4,Math.sin(r)*o),new a.PTz,new a.Pq0(16+e%4*5,6+e%3*2.4,16)),t.setMatrixAt(e,n)}P.add(t),P.add((0,y.HL)(et,en,{count:30,box:{x:[-8,8],y:[.3,2.1],z:[-8,8]},color:"#ffe28a",sizePx:4,opacity:.75,twinkleSpeed:2.4,jitter:.9,additive:!0,map:er}))}let eP=new a.YJl,eS=null,eR=null,ez=new Map,eA="idle",e_=null,ej=null,eC=null,eL={sprite:null,t:-1,hold:1.6};if(R){eP.position.set(4.32,0,1.57),eP.rotation.y=Math.atan2(-4.32,-1.57);let e=J(new a._4j({color:"#3c2e20",roughness:.8}));for(let t of[-.52,.52]){let n=new a.eaF(ei,e);n.scale.set(.04,1.5,.04),n.position.set(t,.75,0),eP.add(n)}let t=document.createElement("canvas");t.width=512,t.height=288;let n=t.getContext("2d");if(n.fillStyle="#241c14",n.fillRect(0,0,512,288),n.strokeStyle="rgba(214,166,110,0.55)",n.lineWidth=5,n.strokeRect(10,10,492,268),R.isPaid&&(n.fillStyle="#ffb074",n.font="700 24px system-ui, sans-serif",n.textAlign="center",n.fillText("S P O N S O R",256,56)),n.fillStyle="#f7ead8",n.font="800 52px system-ui, sans-serif",n.textAlign="center",n.fillText(R.name,256,120,460),R.offer){n.fillStyle="#d8c4a8",n.font="600 30px system-ui, sans-serif";let e=R.offer.split(/\s+/),t=[],r="";for(let o of e){let e=r?"".concat(r," ").concat(o):o;if(n.measureText(e).width>440&&r){if(t.push(r),r=o,2===t.length)break}else r=e}
1t.length<2&&r?t.push(r):2===t.length&&(t[1]="".concat(t[1].slice(0,28),"â¦")),t.forEach((e,t)=>n.fillText(e,256,174+40*t,460))}let r=Q(new a.GOR(t));r.colorSpace=a.er$,r.anisotropy=4;let i=new a.eaF($(new a.bdM(1.18,.66)),J(new a.V9B({map:r,toneMapped:!1})));i.position.set(0,1.06,.03),eP.add(i);let l=new a.eaF($(new a.iNn(1.1,.035,.05)),J(new a.V9B({color:"#ffd9a0"})));l.position.set(0,1.46,.06),eP.add(l);let s=new a.eaF($(new a.bdM(1.3,.9)),J(new a.V9B({map:er,color:"#ffce8a",transparent:!0,opacity:.1,blending:a.EZo,depthWrite:!1})));s.position.set(0,1.1,.045),eP.add(s);let d=new a.eaF($(new a.tcD(.55,18)),J(new a.V9B({map:er,color:"#000000",transparent:!0,opacity:.28,depthWrite:!1})));if(d.rotation.x=-Math.PI/2,d.position.y=.018,d.renderOrder=2,eP.add(d),null==(o=R.action)?void 0:o.endpoint){let t=null!=(c=R.action.label.split(" ")[0])?c:"Connect",n=(e,t,n)=>{let r=document.createElement("canvas");r.width=320,r.height=96;let o=r.getContext("2d");o.fillStyle=t,o.beginPath(),o.moveTo(46,2),o.arcTo(318,2,318,94,46),o.arcTo(318,94,2,94,46),o.arcTo(2,94,2,2,46),o.arcTo(2,2,318,2,46),o.closePath(),o.fill(),o.fillStyle=n,o.font="800 38px system-ui, sans-serif",o.textAlign="center",o.textBaseline="middle",o.fillText(e,160,50,280);let i=Q(new a.GOR(r));
1return i.colorSpace=a.er$,i.anisotropy=4,i};ez.set("idle",n(t,"#e76a3a","#fff4e8")),ez.set("doing",n("Connectingâ¦","#7a4a32","#f0ddc8")),ez.set("done",n(R.action.doneLabel,"#1d5c54","#d8fff4")),ez.set("error",n("Try again","#5c2a22","#ffd8cc")),ez.set("signin",n("Sign in","#54422e","#ffe3bc"));let r=new a.eaF($(new a.iNn(1.04,.22,.03)),e);r.position.set(0,.56,.01),eP.add(r),eR=J(new a.V9B({map:ez.get(z?"idle":"signin"),transparent:!0,toneMapped:!1})),(eS=new a.eaF($(new a.bdM(.62,.19)),eR)).position.set(0,.56,.032),eP.add(eS),(e_=ed(R.action.doneLabel,{bg:"rgba(23,77,68,0.95)",fg:"#dcfff5",bold:!0,scale:1})).position.set(0,1.95,.1),e_.material.opacity=0,e_.visible=!1,eP.add(e_),(ej=ed("Sign in on the web to connect",{bg:"rgba(42,32,24,0.95)",fg:"#ffd9a0",scale:.8})).position.set(0,1.95,.1),ej.material.opacity=0,ej.visible=!1,eP.add(ej),(eC=ed("Session expired â reload this page",{bg:"rgba(42,32,24,0.95)",fg:"#ffd9a0",scale:.8})).position.set(0,1.95,.1),eC.material.opacity=0,eC.visible=!1,eP.add(eC)}P.add(eP)}let eI=e=>{eA=e;let t=ez.get(e);eR&&t&&(eR.map=t,eR.needsUpdate=!0)},eF=(e,t)=>{e&&(eL.sprite&&eL.sprite!==e&&(eL.sprite.material.opacity=0,eL.sprite.visible=!1),e.visible=!0,e.material.opacity=0,eL.sprite=e,eL.t=0,eL.hold=t)},eV=()=>{var e;let t=null==R||null==(e=R.action)?void 0:e.endpoint;if(t&&"doing"!==eA&&"done"!==eA){if(!z)return void(M.xr.isPresenting?eF(ej,2.6):window.location.assign("/login?next=".concat(encodeURIComponent(window.location.pathname))));eI("doing"),fetch(t,{method:"POST",credentials:"same-origin",headers:{"content-type":"application/json",...(0,s.l)()},body:"{}"}).then(e=>{e.ok?(eI("done"),eF(e_,1.6)):401===e.status?(eI("idle"),eF(eC,2.6)):eI("error")}).catch(()=>eI("error"))}},eO=(0,g.KV)((0,g.i$)(n));eO.position.set(V.x,0,V.z),eO.rotation.y=V.yaw,P.add(eO);let eD=J(new a.V9B({color:"#ffe7b0",transparent:!0,opacity:0,blending:a.EZo,depthWrite:!1})),eN=new a.eaF(ea,eD);eN.scale.setScalar(.05),eN.position.y=1.02,eO.add(eN);let eW=ed(" ",{scale:.4});eW.material.opacity=.001,eW.position.set(0,-5,0),P.add(eW);let eB=new Map,eq=J(new a.V9B({map:er,color:"#000000",transparent:!0,opacity:.3,depthWrite:!1})),eU=$(new a.tcD(.34,16)),eG=e=>{let t=eB.get(e);t&&(P.remove(t.group),t.group.remove(t.label,t.glow,t.shadow),(0,g.Vr)(t.group),t.glowMat.dispose(),eB.delete(e),G.current.delete(e))},eY=[{id:"ember",x:0,z:0,focus:{id:"ember",name:"The Ember",species:"The circleâs fire",lore:"Every circle keeps one. Tap it and it flares for everyone here â a small shared spark to mark a good story, a welcome, a goodbye. The water stays warm either way."}}];if(S){let e=[S.creator,S.date].filter(Boolean).join(", "),t=[S.institution,S.license?"".concat(S.license):"Public domain"].filter(Boolean).join(" \xb7 ");eY.push({id:"piece",x:0,z:-4.6,focus:{id:"piece",name:null!=(d=S.title)?d:"Tonightâs piece",species:e||"Artist unknown",lore:"Tonightâs piece â the same one for everyone in the Circle today. Start there if the words run dry. ".concat(t,".")}})}let eZ=0,eH=e=>{var t,n;eZ=1,null==(t=j.current)||t.stoke(),e&&(null==(n=q.current)||n.sendAppData({t:"e",k:"stoke"}))},eK=e=>B(e),eX=null,e$=new a.tBo,eJ=new a.I9Y,eQ=0,e0=0,e1=0,e2=e=>{eQ=e.clientX,e0=e.clientY,e1=performance.now()},e5=e=>{if(M.xr.isPresenting||Math.hypot(e.clientX-eQ,e.clientY-e0)>8||performance.now()-e1>600)return;let t=M.domElement.getBoundingClientRect();if(eJ.set((e.clientX-t.left)/t.width*2-1,-(2*((e.clientY-t.top)/t.height))+1),e$.setFromCamera(eJ,D),eS&&e$.intersectObject(eS,!1).length>0)return void eV();if(e$.intersectObject(ey,!0).length>0)return void eH(!0);if(R&&e$.intersectObject(eP,!0).length>0)return void((null==R?void 0:R.href)&&(R.href.startsWith("/")?window.location.assign(R.href):window.open(R.href,"_blank","noopener,noreferrer")));if(S&&e$.intersectObject(eM,!0).length>0){let e=eY.find(e=>"piece"===e.id);e&&(eX=e.id,eK(e.focus))}};M.domElement.addEventListener("pointerdown",e2),M.domElement.addEventListener("pointerup",e5),M.domElement.style.cursor="grab";let e4=M.xr.getController(0),e6=M.xr.getController(1);N.add(e4,e6);let e3=new a.kn4,e8=e=>{if(e3.identity().extractRotation(e.target.matrixWorld),e$.ray.origin.setFromMatrixPosition(e.target.matrixWorld),e$.ray.direction.set(0,0,-1).applyMatrix4(e3),eS&&e$.intersectObject(eS,!1).length>0)return void eV();e$.intersectObject(ey,!0).length>0&&eH(!0)};e4.addEventListener("selectstart",e8),e6.addEventListener("selectstart",e8);let e9={f:0,r:0,yaw:0},e7=e=>{if(!(e.repeat||(()=>{let e=document.activeElement;
1return!!e&&("INPUT"===e.tagName||"TEXTAREA"===e.tagName||e.isContentEditable)})()))switch(e.code){case"KeyW":case"ArrowUp":e9.f=1,e.preventDefault();break;case"KeyS":case"ArrowDown":e9.f=-1,e.preventDefault();break;case"KeyA":e9.r=-1,e.preventDefault();break;case"KeyD":e9.r=1,e.preventDefault();break;case"ArrowLeft":e9.yaw=1,e.preventDefault();break;case"ArrowRight":e9.yaw=-1,e.preventDefault()}},te=e=>{switch(e.code){case"KeyW":case"ArrowUp":1===e9.f&&(e9.f=0);break;case"KeyS":case"ArrowDown":-1===e9.f&&(e9.f=0);break;case"KeyA":-1===e9.r&&(e9.r=0);break;case"KeyD":1===e9.r&&(e9.r=0);break;case"ArrowLeft":1===e9.yaw&&(e9.yaw=0);break;case"ArrowRight":-1===e9.yaw&&(e9.yaw=0)}};window.addEventListener("keydown",e7),window.addEventListener("keyup",te);let tt={pos:new a.Pq0,quat:new a.PTz,target:new a.Pq0},tn=()=>{tt.pos.copy(D.position),tt.quat.copy(D.quaternion),tt.target.copy(W.target),N.position.set(W.target.x,0,W.target.z),N.add(D),D.position.set(0,0,0),D.quaternion.identity(),eO.visible=!1},tr=()=>{P.add(D),D.position.copy(tt.pos),D.quaternion.copy(tt.quat),W.target.copy(tt.target),W.update(),eO.visible=!0};M.xr.addEventListener("sessionstart",tn),M.xr.addEventListener("sessionend",tr);let to=!1,ta=!1,ti=setTimeout(()=>{to||(to=!0,O(!0))},5e3),tl=()=>{let e=u.clientWidth||window.innerWidth,t=u.clientHeight||window.innerHeight;M.setSize(e,t),D.aspect=e/t,D.updateProjectionMatrix()};window.addEventListener("resize",tl);let ts=new a.zD7,tc=new a.Pq0,td=new a.Pq0,tu=new a.Pq0,tp=new a.Pq0,tf=new a.Pq0,th=new a.Pq0,tm=!0,tg=null,tw=0,tx=()=>{var e,t,n,r,o,i,l,s,c,d,u,p,f,m,w;let x=Math.min(ts.getDelta(),.05),y=ts.elapsedTime,E=M.xr.isPresenting;if(en.value=h?.15*y:y,ek>=0&&eE&&((ek+=x/1)>=1?(eE.opacity=1,eE.transparent=!1,ek=-1):eE.opacity=ek),eL.sprite&&eL.t>=0){eL.t+=x;let e=eL.sprite.material,t=eL.t;e.opacity=t<.3?t/.3:t<.3+eL.hold?1:Math.max(0,1-(t-.3-eL.hold)/3.2),t>.3+eL.hold&&e.opacity<=0&&(eL.sprite.visible=!1,eL.t=-1)}Y.current&&(Y.current=!1,eH(!1));
1let k=h?0:.06*Math.sin(9.3*y)+.04*Math.sin(23.7*y),S=(eZ=Math.max(0,eZ-x/2.6))*eZ;if(ec.intensity=15+30*k+46*S,eb.scale.set(.15+.13*S,.26+k+.3*S,.15+.13*S),ef.material.opacity=.08+.2*k+.3*S,!h)for(let e of eo)e(y,x);if(E){let e=null==(n=(r=M.xr).getSession)?void 0:n.call(r),t=0,a=0,d=0;for(let n of null!=(o=null==e?void 0:e.inputSources)?o:[]){let e=n.gamepad;if(!e)continue;let r=e.axes,o=null!=(l=null!=(i=r[2])?i:r[0])?l:0,u=null!=(c=null!=(s=r[3])?s:r[1])?c:0;"right"===n.handedness?Math.abs(o)>.6&&(d=o):(Math.abs(o)>.18&&(t+=o),Math.abs(u)>.18&&(a+=u))}(t||a)&&(D.getWorldDirection(tc),tc.y=0,tc.normalize(),td.set(tc.z,0,-tc.x),N.position.addScaledVector(tc,-(2.8*a)*x),N.position.addScaledVector(td,2.8*t*x),function(e){let t=Math.hypot(e.x,e.z);t>v.ROOM_R&&(e.x=e.x/t*v.ROOM_R,e.z=e.z/t*v.ROOM_R)}(N.position)),0!==d&&tm?(tm=!1,D.getWorldPosition(tf),N.rotation.y-=Math.sign(d)*T,N.updateMatrixWorld(),D.getWorldPosition(th),N.position.x+=tf.x-th.x,N.position.z+=tf.z-th.z):0===d&&(tm=!0)}else{if((e9.f||e9.r)&&(tc.subVectors(W.target,D.position),tc.y=0,tc.lengthSq()>1e-5)){tc.normalize(),td.crossVectors(tc,b).normalize();let e=2.6*x,t=(tc.x*e9.f+td.x*e9.r)*e,n=(tc.z*e9.f+td.z*e9.r)*e;D.position.x+=t,D.position.z+=n,W.target.x+=t,W.target.z+=n,function(e,t){let n=Math.hypot(t.x,t.z);if(n>v.ROOM_R){let r=v.ROOM_R/n,o=t.x-t.x*r,a=t.z-t.z*r;t.x*=r,t.z*=r,e.x-=o,e.z-=a}}(D.position,W.target)}if(e9.yaw){let e=tf.subVectors(D.position,W.target);e.applyAxisAngle(b,1.7*e9.yaw*x),D.position.copy(W.target).add(e)}W.update()}let R=E?N.position.x:W.target.x,z=E?N.position.z:W.target.z,A=E?M.xr.getCamera():D;A.getWorldPosition(tu),A.getWorldDirection(tp);let _=Math.atan2(tp.x,tp.z);if(eO.position.set(R,0,z),eO.rotation.y=_,q.current&&"live"===K.current){let e=(0,v.encodePose)(R,z,_);(0,v.shouldSendPose)(tg,e,tw,y)&&(q.current.sendAppData(e),tg=e,tw=y);let t=ee.current?0:q.current.getSelfLevel();eD.opacity+=(.8*t-eD.opacity)*Math.min(1,12*x),eN.scale.setScalar(.05+.1*eD.opacity)}let L=U.current;if(L.length!==eB.size||L.some(e=>!eB.has(e.id))){let e=new Set(L.map(e=>e.id));for(let t of[...eB.keys()])e.has(t)||eG(t);L.forEach((e,t)=>{eB.has(e.id)||eB.set(e.id,((e,t)=>{let n=C[t%C.length],r=(0,g.KV)((0,g.Pf)(e.id));r.position.set(n.x,.5,n.z),r.rotation.y=n.yaw;let o=[];for(let e of(r.traverse(e=>{let t=e.material;Array.isArray(t)?o.push(...t):t&&o.push(t)}),o))e.transparent=!0,e.opacity=1;let i=ed(e.name,{bg:"rgba(20,30,50,0.92)",fg:"#eaf1ff",scale:.8});i.position.y=1.35,r.add(i);let l=new a.V9B({color:"#ffe7b0",transparent:!0,opacity:0,blending:a.EZo,depthWrite:!1}),s=new a.eaF(ea,l);s.scale.setScalar(.05),s.position.y=1.02,r.add(s);let c=new a.eaF(eU,eq);return c.rotation.x=-Math.PI/2,c.position.y=.014-r.position.y,r.add(c),P.add(r),{group:r,mats:o,label:i,glow:s,glowMat:l,shadow:c,cur:{x:n.x,z:n.z,r:n.yaw},target:null,level:0,fade:1}})(e,t+1))})}let I=(0,v.smoothK)(x);for(let[e,t]of eB){let n=null!=(p=G.current.get(e))?p:t.target;if(n&&n!==t.target&&(t.target=n),t.target){let e=t.target.x-t.cur.x,n=t.target.z-t.cur.z;Math.hypot(e,n)>v.POSE_SNAP_DIST?(t.cur.x=t.target.x,t.cur.z=t.target.z,t.cur.r=t.target.r):(t.cur.x+=e*I,t.cur.z+=n*I,t.cur.r+=(0,v.angleDelta)(t.cur.r,t.target.r)*I),t.group.position.x=t.cur.x,t.group.position.z=t.cur.z,t.group.position.y+=(0-t.group.position.y)*I,t.group.rotation.y=t.cur.r}null==(d=q.current)||d.setPeerPosition(e,t.group.position.x,t.group.position.y+1.1,t.group.position.z);let r=null!=(f=null==(u=q.current)?void 0:u.getPeerLevel(e))?f:0;t.level+=(r-t.level)*Math.min(1,12*x),t.glowMat.opacity=.85*t.level,t.glow.scale.setScalar(.05+.12*t.level);let o=Math.hypot(t.group.position.x-tu.x,t.group.position.z-tu.z),a=(0,v.fadeForDistance)(o);if(Math.abs(a-t.fade)>.01){for(let e of(t.fade=a,t.mats))e.opacity=a;t.label.material.opacity=a}t.shadow.position.y=.014-t.group.position.y}null==(e=q.current)||e.setListenerPose(tu.x,tu.y,tu.z,tp.x,tp.y,tp.z),null==(t=j.current)||t.setListener(tu.x,tu.y,tu.z,tp.x,tp.y,tp.z);let F=null,V=3.4;for(let e of eY){let t=Math.hypot(e.x-R,e.z-z);t<V&&(V=t,F=e)}let B=null!=(m=null==F?void 0:F.id)?m:null;B!==eX&&(eX=B,eK(null!=(w=null==F?void 0:F.focus)?w:null)),M.render(P,D),ta||(ta=!0,!to&&ta&&(to=!0,O(!0)))};return(async()=>{try{"function"==typeof M.compileAsync?await M.compileAsync(P,D):M.compile(P,D)}catch(e){}p||M.setAnimationLoop(tx)})(),()=>{var e;
1for(let t of(p=!0,clearTimeout(ti),window.removeEventListener("resize",tl),window.removeEventListener("keydown",e7),window.removeEventListener("keyup",te),M.domElement.removeEventListener("pointerdown",e2),M.domElement.removeEventListener("pointerup",e5),M.xr.removeEventListener("sessionstart",tn),M.xr.removeEventListener("sessionend",tr),e4.removeEventListener("selectstart",e8),e6.removeEventListener("selectstart",e8),null==(e=j.current)||e.dispose(),j.current=null,[...eB.keys()]))eG(t);for(let e of((0,g.Vr)(eO),W.dispose(),P.environment=null,Z))e.dispose();for(let e of H)e.dispose();for(let e of X)e.dispose();E.parentNode&&E.parentNode.removeChild(E),(0,m.NP)(M)}},[]);let ex={padding:"8px 13px",borderRadius:999,cursor:"pointer",background:"color-mix(in srgb, var(--paper) 92%, transparent)",border:"1px solid var(--surface-2)",boxShadow:"0 4px 14px rgba(12,59,70,0.14)",font:"800 0.82rem/1 var(--font-sans, system-ui)",color:"var(--water-ink)"},ey="idle"===Z?"Voices":"connecting"===Z?"Connectingâ¦":"denied"===Z?"Mic blocked":"full"===Z?"Circle full":"error"===Z?"Voice error":X>0?"Live \xb7 ".concat(X):"Live";return(0,r.jsxs)("div",{ref:A,className:"xr-host".concat(er?" xr-host--immersive":"").concat(ea?" xr-host--fs":""),children:[(0,r.jsxs)("div",{className:"xr-loading".concat(V?" is-ready":""),role:"status","aria-hidden":V,children:[(0,r.jsx)("span",{className:"xr-loading__sun","aria-hidden":"true"}),(0,r.jsx)("p",{className:"xr-loading__text",children:"Warming the waterâ¦"})]}),!er&&(0,r.jsxs)("a",{href:E,className:"xr-leave","aria-label":"Leave the Circle and go back",style:{position:"absolute",left:12,top:12,zIndex:7,display:"inline-flex",alignItems:"center",gap:6,padding:"8px 13px",borderRadius:999,textDecoration:"none",background:"color-mix(in srgb, var(--paper) 92%, transparent)",border:"1px solid var(--surface-2)",boxShadow:"0 4px 14px rgba(12,59,70,0.14)",font:"800 0.84rem/1 var(--font-sans, system-ui)",color:"var(--water-ink)"},children:["â ",k]}),!er&&(0,r.jsxs)("div",{style:{position:"absolute",left:12,top:54,zIndex:6,maxWidth:300,padding:"8px 13px",borderRadius:14,background:"color-mix(in srgb, var(--paper) 88%, transparent)",border:"1px solid var(--surface-2)",boxShadow:"0 4px 14px rgba(12,59,70,0.12)",color:"var(--water-ink)",pointerEvents:"none"},children:[(0,r.jsx)("div",{style:{font:"900 0.94rem/1.1 var(--font-sans, system-ui)",letterSpacing:"0.06em"},children:"THE CIRCLE"}),(0,r.jsx)("div",{style:{marginTop:3,font:"600 0.74rem/1.3 var(--font-sans, system-ui)",opacity:.82},children:"Eight seats, warm water. Turn voices on, walk the circle, tap the Ember to make it flare for everyone here."})]}),I&&(0,r.jsx)("div",{className:"xr-host__note",children:(0,r.jsxs)("p",{children:["This browser blocked 3D (WebGL). If youâre on ",(0,r.jsx)("strong",{children:"Brave"}),", lower Shields for this site and reload â it works in Safari, Edge, Chrome, and the Quest browser."]})}),!I&&!er&&(0,r.jsxs)("div",{style:{position:"absolute",right:12,bottom:12,zIndex:7,display:"flex",gap:8,flexWrap:"wrap",justifyContent:"flex-end"},children:[(0,r.jsx)("button",{type:"button",style:ex,onClick:em,"aria-pressed":"idle"!==Z,children:ey}),"idle"!==Z&&(0,r.jsx)("button",{type:"button",style:ex,onClick:eg,"aria-pressed":J,children:J?"Unmute":"Mute"}),(0,r.jsx)("button",{type:"button",style:ex,onClick:eh,"aria-pressed":D,children:D?"Sound on":"Sound off"}),(0,r.jsx)("button",{type:"button",style:ex,onClick:ei,"aria-pressed":ea,children:ea?"Exit full screen":"Full screen"})]}),!I&&!ec&&(0,r.jsx)("button",{type:"button",className:"xr-enter",onClick:ef,"aria-label":C?"Enter VR":"About VR mode",children:"Enter VR"}),el&&(0,r.jsxs)("div",{className:"xr-vrhint",role:"status",children:[(0,r.jsx)("button",{type:"button",className:"xr-vrhint__x",onClick:ep,"aria-label":"Close",children:"\xd7"}),(0,r.jsx)("span",{className:"xr-vrhint__sun","aria-hidden":"true"}),(0,r.jsxs)("p",{className:"xr-vrhint__text",children:[(0,r.jsx)("strong",{children:"Step inside in VR."})," Open this on a Meta\xa0Quest or Apple\xa0Vision\xa0Pro to sit in the Circle. For now, drag to look and use ",(0,r.jsx)("strong",{children:"WASD"})," to walk."]}),(0,r.jsx)("button",{type:"button",className:"xr-vrhint__ok",onClick:ep,children:"Got it"})]}),W&&!er&&(0,r.jsxs)("div",{role:"dialog","aria-label":W.name,style:{position:"absolute",left:"50%",bottom:74,transform:"translateX(-50%)",zIndex:8,width:"min(460px, 92vw)",padding:"15px 17px",borderRadius:16,background:"color-mix(in srgb, var(--paper) 95%, transparent)",border:"1px solid var(--surface-2)",boxShadow:"0 10px 30px rgba(12,59,70,0.22)",color:"var(--water-ink)"},children:[(0,r.jsx)("button",{type:"button",onClick:()=>B(null),"aria-label":"Close",style:{position:"absolute",right:8,top:6,border:0,background:"transparent",curs
1or:"pointer",font:"700 1.1rem/1 system-ui",color:"var(--water-ink)",opacity:.6},children:"\xd7"}),(0,r.jsx)("p",{style:{margin:0,font:"800 1.05rem/1.25 var(--font-sans, system-ui)"},children:W.name}),(0,r.jsx)("p",{style:{margin:"2px 0 0",font:"600 0.8rem/1.3 var(--font-sans, system-ui)",opacity:.72},children:W.species}),(0,r.jsx)("p",{style:{margin:"9px 0 0",font:"500 0.86rem/1.45 var(--font-sans, system-ui)",opacity:.92},children:W.lore})]})]})}}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.