PageSourceSearch

https://twelveearths.com/assets/chunks/chunk-a8acef22.js

js twelveearths.com collected 2026-10-06 16:19:15 UTC 4,922 bytes, 1 lines download raw bytes

1import{r as l,j as e,a0 as V}from"./chunk-7c95c149.js";import{u as C,C as H,D as S,f as I}from"./chunk-87cee1fa.js";import{a as k}from"./chunk-6b9675d7.js";import{V as f,C as b,D as w,M as v,d as D}from"./chunk-5e59878c.js";import{B as T,g as E}from"./chunk-d120f533.js";import{u as x}from"./chunk-a256095a.js";import{H as B}from"./chunk-8b458796.js";import{u as R}from"./chunk-09156800.js";import{P as L}from"./chunk-aa898620.js";import"./chunk-56865e9e.js";import"./chunk-bd799850.js";import"./chunk-ab25de1f.js";import"./chunk-cf010ec4.js";function $({x:n,y:r,radius:a=1e3,...t}){const{nodes:s,materials:c}=C(`/sites/abrigo/terrain/2048/terrain-${n}-${r}.glb`),o=l.useMemo(()=>{const i=s.Node.geometry.clone();return new T().bend(i,"z",-1/a),i},[s,a]);return e.jsx("group",{...t,dispose:null,children:e.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:o,material:c.default})})}function G({...n}){const{scenes:r}=C("/sites/abrigo/terrain/buildings.glb");return e.jsx("primitive",{object:r[0],dispose:null})}function P({width:n=1,height:r=1,radius:a,widthSegments:t,heightSegments:s}){t||(t=Math.max(n,1)),s||(s=Math.max(r,1));const c=l.useMemo(()=>{const o=new T,i=new D(n,r,t,s);return o.bend(i,"y",-1/a),i},[n,r,t,s,a]);return e.jsx("primitive",{attach:"geometry",object:c})}const N=({radius:n=1e3,width:r=.3,feather:a=.1,density:t=1})=>
1{const s=Math.PI*n,c=R("/sites/pachon-tololo/gradient.png"),o=R("/sites/pachon-tololo/gradient-end.png");return e.jsxs(e.Fragment,{children:[e.jsx(m,{position:[-s/2,0,0],radius:n,children:e.jsxs("mesh",{"rotation-x":-90*Math.PI/180,children:[e.jsx(P,{width:s,height:r,radius:n}),e.jsx("meshBasicMaterial",{color:new b(10,10,10),side:w,alphaMap:c,transparent:!0})]})}),e.jsx(m,{position:[5*r/2,0,0],radius:n,children:e.jsxs("mesh",{"rotation-x":-90*Math.PI/180,children:[e.jsx(P,{width:5*r,height:r,radius:n}),e.jsx("meshBasicMaterial",{color:new b(10,10,10),side:w,alphaMap:o,transparent:!0})]})})]})},m=({radius:n=1e3,position:r=[0,0,0],children:a})=>{Array.isArray(r)?r=new f().fromArray(r):new f().constructor===r.constructor?r=new f().copy(r):r=new f().setScalar(r);const t=r.x,s=r.y,c=r.z,o=-1/n,i=t*o,d=Math.sin(i),p=Math.cos(i);return r.x=-(s-1/o)*d,r.y=(s-1/o)*p+1/o,r.z=c,e.jsx("group",{position:r,children:e.jsx("group",{"rotation-z":-t/n,children:a})})},g=k(m);function W(){const n=l.useRef(E(76)),r=1800/934,a=I(s=>s.size),t=l.useRef(null);return l.useEffect(()=>{if(t.current){if(t.current.aspect=a.width/a.height,t.current.aspect>r){const s=Math.tan(v.degToRad(n.current/2)),c=t.current.aspect/r,o=s/c;t.current.fov=v.radToDeg(Math.atan(o))*2}else t.current.fov=n.current;t.current.updateProjectionMatrix()}},[a]),e.jsx("group",{"rotation-z":-4*Math.PI/180,children:e.jsx(L,{ref:t,makeDefault:!0,rotation:[0,-90*Math.PI/180,0]})})}function z({progress:n,render:r=!0,full:a=!0}){const{shadowColor:t,er:s,rr:c,fogRange:o,cameraHeight:i,cameraScrollRange:d,ringWidth:p,ringOffsetVertical:j,ringOffsetHorizontal:O,ringOffsetForward:A,ringScrollRange:F}={shadowColor:"#3e5065",fogRange:[0,144],er:5,rr:3.24,cameraHeight:6.9,cameraScrollRange:[-190,-60],ringWidth:1.59,ringOffsetHorizontal:.9,ringOffsetVertical:.9,ringOffsetForward:22,ringScrollRange:[-200,108]},h=Math.pow(10,s),M=Math.pow(10,c);return e.jsxs(H,{dpr:1,style:{pointerEvents:"inherit"},children:[!r&&e.jsx(S,{}),a&&e.jsxs(e.Fragment,{children:[e.jsx("fog",{attach:"fog",color:"#bdd9e8",near:o[0],far:o[1]}),[...Array(15).keys()].map(u=>[...Array(3).keys()].map(y=>e.jsx(l.Suspense,{fallback:null,children:e.jsx("group",{position:[0,0,0],scale:[15,15,15],rotation:[0,180*Math.PI/180,0],children:e.jsx($,{x:24-u-4,y,radius:h})})},`${u}-${y}`)))]}),a&&e.jsxs(e.Fragment,{children:[e.jsx(l.Suspense,{fallback:null,children:e.jsx("group",{position:[0,0,0],scale:[15,15,15],rotation:[0,180*Math.PI/180,0],children:e.jsx(G,{})})}),e.jsx("directionalLight",{position:[-40,50,-50],intensity:1}),e.jsx("ambientLight",{color:t})]}),e.jsx(m,{position:[0,15*.106451,0],radius:h,children:e.jsxs(B,{className:"bottom-0 left-0 text-white font-mono font-medium text-sm w-20",distanceFactor:40,children:[e.jsx("div",{children:"Abrigo do Lagar Velho"}),e.jsx("div",{children:"▼"})]})}),e.jsx(g,{position:n.to([.3,.8],d).to(u=>[u,0,0]),radius:h+i,children:e.jsxs("group",{position:[0,i,0],children:[e.jsx(W,{}),a&&e.jsx(g,{position:[A,0,0],radius:h+i,children:e.jsx(g,{position:n.to([.3,.8],F).to(u=>[u,0,0]),radius:M-j,children:e.jsx("group",{position:[0,j,O],children:e.jsx(l.Suspense,{fallback:null,children:e.jsx(N,{radius:M,width:p})})})})})]})})]})}function se(){const n=V(0);return l.useEffect(()=>{setTimeout(()=>{n.start(1,{config:{duration:2e4}})},3e3)},[]),e.jsx(z,{progress:n})}function ae(){const n=x(t=>t.progress),r=x(t=>t.inView),a=x(t=>t.setOverlayMounted);return l.useEffect(()=>{a(!0)},[]),e.jsx(z,{progress:n,full:!1,render:r})}export{ae as ApproachOverlay,G as Buildings,$ as Terrain,se as default};

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.