1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[59322],{35735:(e,t,n)=>{n.d(t,{NP:()=>i,uw:()=>r});var o=n(90625);let s=new WeakMap;function r(e){var t,n,r,i;let a;try{a=new o.JeP({antialias:!0,powerPreference:"high-performance"})}catch(e){return console.error("[xr] WebGL unavailable:",e),null}a.setPixelRatio(Math.min(window.devicePixelRatio,2)),a.setSize(e.width,e.height),a.outputColorSpace=o.er$,a.xr.enabled=!0,null==(t=(n=a.xr).setFoveation)||t.call(n,1),null==(r=(i=a.xr).setFramebufferScaleFactor)||r.call(i,1);let l=t=>{var n;t.preventDefault(),a.setAnimationLoop(null),null==(n=e.onContextLost)||n.call(e)};return a.domElement.addEventListener("webglcontextlost",l,!1),s.set(a,l),e.host.appendChild(a.domElement),a}function i(e){e.setAnimationLoop(null);let t=s.get(e);t&&(e.domElement.removeEventListener("webglcontextlost",t,!1),s.delete(e));try{var n,o,r;null==(o=(r=e.xr).getSession)||null==(n=o.call(r))||n.end()}catch(e){}e.forceContextLoss(),e.dispose(),e.domElement.remove()}},59322:(e,t,n)=>{n.r(t),n.d(t,{GeneratedSoakRoom:()=>c});var o=n(4536),s=n(11092),r=n(90625),i=n(14404),a=n(74678),l=n(55116),d=n(35735);function c(e){let{glbUrl:t}
1=e,n=(0,s.useRef)(null),[c,h]=(0,s.useState)(null),[u,p]=(0,s.useState)("loading"),[w,m]=(0,s.useState)(!1),[f,b]=(0,s.useState)(!1),[g,x]=(0,s.useState)(!1);return(0,s.useEffect)(()=>{let e=n.current;if(!e)return;let o=navigator.xr;(null==o?void 0:o.isSessionSupported)?o.isSessionSupported("immersive-vr").then(h).catch(()=>h(!1)):h(!1);let s=e.clientWidth||window.innerWidth,c=e.clientHeight||window.innerHeight,u=(0,d.uw)({host:e,width:s,height:c,onContextLost:()=>m(!0)});if(!u)return void m(!0);let w=i.Z.createButton(u);w.style.position="absolute",w.style.bottom="24px",w.style.left="50%",w.style.transform="translateX(-50%)",e.appendChild(w);let f=new r.Z58;f.background=new r.Q1f("#bcc7cd"),f.fog=new r.jUj("#bcc7cd",34,95);let g=new r.ubm(60,s/c,.1,200);g.position.set(0,1.6,4.6);let x=new a.N(g,u.domElement);x.target.set(0,1.1,0),x.enablePan=!1,x.minDistance=1.5,x.maxDistance=12,x.maxPolarAngle=Math.PI/1.9,x.mouseButtons.RIGHT=r.kBv.ROTATE,x.update(),f.add(new r.dth(0xffffff,6969924,1.05));let v=new r.ZyN(0xfff2e0,.95);v.position.set(4,8,5),f.add(v);let y=[],k=null,S=!1,j=new r.KPJ;j.onError=e=>{console.warn("[GeneratedSoak] A texture/resource failed to load (".concat(e,"). The scene still renders. ")+"If you're on Brave, set Shields to Down for this site â its fingerprint protection can block image/texture decoding even when WebGL is enabled. Otherwise it's a corrupt/oversized texture in the .glb."),S||b(!0)},new l.B(j).load(t,e=>{S||(k=e.scene,f.add(k),k.traverse(e=>{var t;let n=null==(t=e.userData)?void 0:t.motion;n&&y.push({obj:e,kind:n,phase:Math.random()*Math.PI*2,baseY:e.position.y,baseX:e.position.x,baseRotZ:e.rotation.z})}),p("ready"))},void 0,()=>{S||p("error")});let E=new r.zD7;u.setAnimationLoop(()=>{let e=E.getElapsedTime();for(let t of y)switch(t.kind){case"sway":t.obj.rotation.z=t.baseRotZ+.05*Math.sin(.8*e+t.phase);break;case"ripple":t.obj.position.y=t.baseY+.04*Math.sin(1.6*e+t.phase);break;case"drift":t.obj.position.x=t.baseX+3*Math.sin(.15*e+t.phase);break;case"fireflies":t.obj.position.y=t.baseY+.5*Math.sin(1.1*e+t.phase),t.obj.position.x=t.baseX+.6*Math.sin(.7*e+1.7*t.phase)}x.update(),u.render(f,g)});let L=()=>{let t=e.clientWidth||window.innerWidth,n=e.clientHeight||window.innerHeight;g.aspect=t/n,g.updateProjectionMatrix(),u.setSize(t,n)};return L(),window.addEventListener("resize",L),window.addEventListener("orientationchange",L),()=>{S=!0,window.removeEventListener("resize",L),window.removeEventListener("orientationchange",L),x.dispose(),k&&k.traverse(e=>{var t;e.geometry&&e.geometry.dispose();let n=e.material;Array.isArray(n)?n.forEach(e=>e.dispose()):null==n||null==(t=n.dispose)||t.call(n)}),w.remove(),(0,d.NP)(u)}},[t]),(0,o.jsxs)("div",{ref:n,className:"xr-host",children:[!1===c&&"ready"===u&&(0,o.jsxs)("p",{className:"xr-host__note",children:["Open this in a WebXR headset browser (Meta Quest Browser) and tap ",(0,o.jsx)("strong",{children:"Enter VR"}),". You can also look around here with your mouse."]}),"loading"===u&&!w&&(0,o.jsx)("p",{className:"xr-host__note",children:"Generating the spaceâ¦"}),"error"===u&&!w&&(0,o.jsx)("p",{className:"xr-host__note",children:"Couldnât load this generated space."}),w&&(0,o.jsxs)("p",{className:"xr-host__note",children:["This browser blocked 3D (WebGL). If youâre on ",(0,o.jsx)("strong",{children:"Brave"}),", click the Shields (lion) icon and set Shields to ",(0,o.jsx)("strong",{children:"Down for this site"}),", then reload. Works as-is in Safari, Edge, Chrome, and the Meta Quest browser."]}),f&&"ready"===u&&!g&&(0,o.jsxs)("div",{className:"xr-host__note",children:[(0,o.jsx)("button",{type:"button",onClick:()=>x(!0),"aria-label":"Dismiss",style:{float:"right",marginLeft:12,cursor:"pointer",background:"transparent",border:0,fontSize:16,lineHeight:1,color:"inherit"},children:"\xd7"}),(0,o.jsxs)("p",{style:{margin:0},children:["Some artwork didnât load (you may see a blank sign) â the space still works. On"," ",(0,o.jsx)("strong",{children:"Brave"}),", its fingerprint shield can block image decoding even with WebGL on: set Shields ",(0,o.jsx)("strong",{children:"Down for this site"})," and reload. In Safari/Edge/Chrome/Quest it loads fully."]})]})]})}}}]);
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.