PageSourceSearch

https://spaitial.ai/assets/index-CENmS4c0.js

js spaitial.ai collected 2026-10-02 05:13:16 UTC 38,268 bytes, 11 lines download raw bytes

1import{c as p,j as e,r as i,L as f,e as b,o as k,p as _,C as S,q as I,i as P,l as R}from"./index-TyCB-ehG.js";import{A as g}from"./arrow-right-X3ulFsap.js";import{u as $,Q as D,M as z,B as T}from"./move-T4z0Yr9I.js";import{A as W}from"./arrow-up-right-Dqcx93I0.js";import{S as E}from"./sparkles-CyrHFmwP.js";import{L as C}from"./loader-circle-BvfJl5lw.js";function L(t,a){return $(t,D)}const q=[["path",{d:"M2.97 12.92A2 2 0 0 0 2 14.63v3.24a2 2 0 0 0 .97 1.71l3 1.8a2 2 0 0 0 2.06 0L12 19v-5.5l-5-3-4.03 2.42Z",key:"lc1i9w"}],["path",{d:"m7 16.5-4.74-2.85",key:"1o9zyk"}],["path",{d:"m7 16.5 5-3",key:"va8pkn"}],["path",{d:"M7 16.5v5.17",key:"jnp8gn"}],["path",{d:"M12 13.5V19l3.97 2.38a2 2 0 0 0 2.06 0l3-1.8a2 2 0 0 0 .97-1.71v-3.24a2 2 0 0 0-.97-1.71L17 10.5l-5 3Z",key:"8zsnat"}],["path",{d:"m17 16.5-5-3",key:"8arw3v"}],["path",{d:"m17 16.5 4.74-2.85",key:"8rfmw"}],["path",{d:"M17 16.5v5.17",key:"k6z78m"}],["path",{d:"M7.97 4.42A2 2 0 0 0 7 6.13v4.37l5 3 5-3V6.13a2 2 0 0 0-.97-1.71l-3-1.8a2 2 0 0 0-2.06 0l-3 1.8Z",key:"1xygjf"}],["path",{d:"M12 8 7.26 5.15",key:"1vbdud"}],["path",{d:"m12 8 4.74-2.85",key:"3rx089"}],["path",{d:"M12 13.5V8",key:"1io7kd"}]],O=p("boxes",q);const U=[["path",{d:"M13.997 4a2 2 0 0 1 1.76 1.05l.486.9A2 2 0 0 0 18.003 7H20a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V9a2 2 0 0 1 2-2h1.997a2 2 0 0 0 1.759-1.048l.489-.904A2 2 0 0 1 10.004 4z",key:"18u6gg"}],["circle",{cx:"12",cy:"13",r:"3",key:"1vg3eu"}]],G=p("camera",U);const F=[["path",{d:"M12 15V3",key:"m9g1x1"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["path",{d:"m7 10 5 5 5-5",key:"brsn70"}]],H=p("download",F);const V=[["path",{d:"m15 15 6 6",key:"1s409w"}],["path",{d:"m15 9 6-6",key:"ko1vev"}],["path",{d:"M21 16v5h-5",key:"1ck2sf"}],["path",{d:"M21 8V3h-5",key:"1qoq8a"}],["path",{d:"M3 16v5h5",key:"1t08am"}],["path",{d:"m3 21 6-6",key:"wwnumi"}],["path",{d:"M3 8V3h5",key:"1ln10m"}],["path",{d:"M9 9 3 3",key:"v551iv"}]],B=p("expand",V);const Y=[["path",{d:"M9 17H7A5 5 0 0 1 7 7h2",key:"8i5ue5"}],["path",{d:"M15 7h2a5 5 0 1 1 0 10h-2",key:"1b9ql8"}],["line",{x1:"8",x2:"16",y1:"12",y2:"12",key:"1jonct"}]],Z=p("link-2",Y);const Q=[["path",{d:"M4.037 4.688a.495.495 0 0 1 .651-.651l16 6.5a.5.5 0 0 1-.063.947l-6.124 1.58a2 2 0 0 0-1.438 1.435l-1.579 6.126a.5.5 0 0 1-.947.063z",key:"edeuup"}]],K=p("mouse-pointer-2",Q);const X=[["path",{d:"M15.707 21.293a1 1 0 0 1-1.414 0l-1.586-1.586a1 1 0 0 1 0-1.414l5.586-5.586a1 1 0 0 1 1.414 0l1.586 1.586a1 1 0 0 1 0 1.414z",key:"nt11vn"}],["path",{d:"m18 13-1.375-6.874a1 1 0 0 0-.746-.776L3.235 2.028a1 1 0 0 0-1.207 1.207L5.35 15.879a1 1 0 0 0 .776.746L13 18",key:"15qc1e"}],["path",{d:"m2.3 2.3 7.286 7.286",key:"1wuzzi"}],["circle",{cx:"11",cy:"11",r:"2",key:"xmgehs"}]],J=p("pen-tool",X);const ee=[["path",{d:"M18 16.98h-5.99c-1.1 0-1.95.94-2.48 1.9A4 4 0 0 1 2 17c.01-.7.2-1.4.57-2",key:"q3hayz"}],["path",{d:"m6 17 3.13-5.78c.53-.97.1-2.18-.5-3.1a4 4 0 1 1 6.89-4.06",key:"1go1hn"}],["path",{d:"m12 6 3.13 5.73C15.66 12.7 16.9 13 18 13a4 4 0 0 1 0 8",key:"qlwsc0"}]],te=p("webhook",ee);const ae=[["path",{d:"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z",key:"1xq2db"}]],se=p("zap",ae);function n({children:t,delay:a=0,className:r="",as:s="div"}){const c=i.useRef(null),[l,o]=i.useState(!1);return i.useEffect(()=>{const x=c.current;if(!x)return;if(typeof IntersectionObserver>"u"){o(!0);return}const h=new IntersectionObserver(([m])=>{m?.isIntersecting&&(o(!0),h.disconnect())},{threshold:.12,rootMargin:"0px 0px -8% 0px"});return h.observe(x),()=>h.disconnect()},[]),e.jsx(s,{ref:c,className:`reveal ${l?"is-in":""} ${r}`,style:{"--reveal-delay":`${a}ms`},children:t})}function re({children:t,tone:a="light",className:r=""}){const s=a==="dark"?"text-night-body":a==="flip"?"text-faintish":"text-muted-foreground";return e.jsxs("p",{className:`flex items-center gap-2.5 font-mono text-[11px] font-medium uppercase tracking-[0.24em] ${s} ${r}`,children:[e.jsx("span",{className:"h-1 w-1 rounded-full bg-primary"}),t]})}const A="group relative inline-flex h-11 items-center justify-center gap-2 overflow-hidden rounded-md bg-primary px-5 text-sm font-medium text-primary-foreground shadow-[0_1px_0_0_rgba(255,255,255,0.18)_inset,0_8px_24px_-12px_color-mix(in_oklch,var(--color-primary)_70%,transparent)] transition-all duration-200 hover:-translate-y-
1px hover:shadow-[0_1px_0_0_rgba(255,255,255,0.2)_inset,0_14px_34px_-12px_color-mix(in_oklch,var(--color-primary)_75%,transparent)] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary focus-visible:ring-offset-2";function v({children:t,className:a="",withArrow:r=!0,...s}){return e.jsxs("button",{className:`${A} ${a}`,...s,children:[e.jsx("span",{className:"pointer-events-none absolute inset-0 -translate-x-full bg-gradient-to-r from-transparent via-white/25 to-transparent transition-transform duration-700 group-hover:translate-x-full"}),e.jsx("span",{className:"relative",children:t}),r&&e.jsx(g,{className:"relative h-4 w-4 transition-transform duration-200 group-hover:translate-x-0.5"})]})}function ne({children:t,href:a,className:r="",withArrow:s=!0,external:c=!0}){return e.jsxs("a",{href:a,...c?{target:"_blank",rel:"noopener noreferrer"}:{},className:`${A} ${r}`,children:[e.jsx("span",{className:"pointer-events-none absolute inset-0 -translate-x-full bg-gradient-to-r from-transparent via-white/25 to-transparent transition-transform duration-700 group-hover:translate-x-full"}),e.jsx("span",{className:"relative",children:t}),s&&e.jsx(g,{className:"relative h-4 w-4 transition-transform duration-200 group-hover:translate-x-0.5"})]})}function ie({onTryClick:t}){const a=i.useRef(null);return i.useEffect(()=>{const r=a.current;if(!r||window.matchMedia("(prefers-reduced-motion: reduce)").matches||window.matchMedia("(pointer: coarse)").matches)return;let s=0;const c=l=>{cancelAnimationFrame(s),s=requestAnimationFrame(()=>{const o=l.clientX/window.innerWidth-.5,x=l.clientY/window.innerHeight-.5;r.style.setProperty("--px",`${o*-18}px`),r.style.setProperty("--py",`${x*-18}px`)})};return window.addEventListener("pointermove",c),()=>{cancelAnimationFrame(s),window.removeEventListener("pointermove",c)}},[]),e.jsx("section",{className:"relative w-full overflow-hidden bg-night text-white",children:e.jsxs("div",{className:"relative flex min-h-[100svh] flex-col",children:[e.jsxs("div",{className:"absolute inset-0 overflow-hidden","aria-hidden":"true",children:[e.jsx("div",{ref:a,className:"absolute inset-0",style:{transform:"translate3d(var(--px, 0px), var(--py, 0px), 0)",transition:"transform 0.3s ease-out"},children:e.jsx("img",{src:"/hero-background.png",alt:"",className:"kenburns absolute inset-0 h-full w-full object-cover"})}),e.jsx("div",{className:"aurora opacity-50"}),e.jsx("div",{className:"absolute inset-0 bg-gradient-to-b from-night/80 via-night/20 to-night/95"}),e.jsx("div",{className:"absolute inset-0",style:{background:"radial-gradient(120% 80% at 50% 120%, color-mix(in oklch, var(--color-primary) 16%, transparent), transparent 55%)"}}),e.jsx("div",{className:"absolute inset-0",style:{background:"radial-gradient(110% 110% at 50% 35%, transparent 45%, var(--color-night) 100%)"}}),e.jsx("div",{className:"absolute inset-0 opacity-[0.5] mix-blend-overlay",style:{backgroundImage:`url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")`}})]}),e.jsxs("div",{className:"relative z-10 flex flex-1 flex-col items-center justify-center px-6 pt-28 pb-20 text-center md:px-8",children:[e.jsx("div",{"aria-hidden":"true",className:"pointer-events-none absolute inset-0 -z-0",style:{background:"radial-gradient(58% 50% at 50% 46%, color-mix(in oklch, var(--color-night) 82%, transparent) 0%, color-mix(in oklch, var(--color-night) 42%, transparent) 48%, transparent 76%)"}}),e.jsxs("div",{className:"animate-fade-in stagger-delay-0 relative mb-6 inline-flex items-center gap-2 rounded-full border border-white/15 bg-night/45 px-4 py-2 font-mono text-[11px] font-medium uppercase tracking-[0.2em] text-white/75 backdrop-blur-md",children:[e.jsx("span",{className:"h-1.5 w-1.5 rounded-full bg-primary"}),"Frontier lab for world models"]}),e.jsx("h1",{className:"animate-fade-in stagger-delay-1 relative max-w-5xl px-2 pb-[0.12em] text-[clamp(2.5rem,6.4vw,5.25rem)] font-normal leading-[1.06] tracking-[-0.025em] text-white",style:{textShadow:"0 2px 44px rgba(0,0,0,0.6)"}
1,children:"SpAItial is building physically-grounded world models"}),e.jsxs("p",{className:"animate-fade-in stagger-delay-2 relative mt-7 max-w-2xl text-balance text-lg leading-relaxed text-white/85 md:text-xl",style:{textShadow:"0 1px 24px rgba(0,0,0,0.55)"},children:["Our Echo model family outputs persistent 3D worlds that you can explore in real time. Read the"," ",e.jsx(f,{to:"/blog/$slug",params:{slug:"echo-2-release"},className:"text-white underline underline-offset-4 transition-colors hover:text-primary",children:"Echo-2 announcement"}),"."]}),e.jsxs("div",{className:"animate-fade-in stagger-delay-3 relative mt-10 flex flex-col items-center gap-4 sm:flex-row",children:[e.jsx(v,{onClick:t,className:"h-12 px-7 text-base",children:"Try Echo"}),e.jsxs(f,{to:"/gallery",className:"group inline-flex h-12 items-center justify-center gap-2 rounded-md border border-white/25 bg-night/40 px-6 text-base font-medium text-white ring-1 ring-inset ring-white/5 backdrop-blur-md transition-all duration-200 hover:-translate-y-px hover:border-white/40 hover:bg-night/60",children:["Worlds created with Echo",e.jsx(g,{className:"h-4 w-4 transition-transform group-hover:translate-x-0.5"})]})]})]})]})})}function le(){const{clientConfig:t}=b({from:"__root__"}),a=i.useRef(null),r=i.useRef(null),[s,c]=i.useState(!1),[l,o]=i.useState(!1),[x,h]=i.useState(!0),{data:m}=L({queryKey:["public-gallery",{limit:1}],queryFn:()=>_({data:{limit:1}}),staleTime:300*1e3}),d=m?.data?.[0];i.useEffect(()=>{const u=new IntersectionObserver(([M])=>{M?.isIntersecting&&(c(!0),u.disconnect())},{threshold:.1,rootMargin:"100px"});return a.current&&u.observe(a.current),()=>u.disconnect()},[]),i.useEffect(()=>{if(!l)return;const u=setTimeout(()=>h(!1),4e3);return()=>clearTimeout(u)},[l]);const j=i.useCallback(()=>{h(!1),r.current?.focus()},[]),y=d?k(t.dashboardUrl,d):null;return e.jsxs("section",{ref:a,className:"grain relative w-full overflow-hidden bg-night py-24 md:py-32",children:[e.jsx("div",{className:"aurora opacity-60","aria-hidden":"true"}),e.jsx("div",{"aria-hidden":"true",className:"pointer-events-none absolute inset-0 z-[2]",style:{background:"radial-gradient(100% 60% at 50% 110%, color-mix(in oklch, var(--color-primary) 12%, transparent), transparent 60%)"}}),e.jsxs("div",{className:"relative z-[3] container mx-auto px-6 md:px-8 lg:px-12",children:[e.jsxs("div",{className:"mx-auto mb-12 flex max-w-3xl flex-col items-center text-center md:mb-16",children:[e.jsx(n,{children:e.jsx("h2",{className:"text-balance text-[clamp(1.9rem,4vw,3.25rem)] font-normal leading-[1.04] tracking-display text-white",children:"Step inside this world generated by Echo-2"})}),e.jsx(n,{delay:80,children:e.jsx("p",{className:"mt-5 max-w-2xl text-base leading-relaxed text-night-body",children:"This is a persistent world created with Echo, rendered interactively in your browser, with camera control over a stable 3D space. You can move through the world and explore it."})})]}),e.jsx(n,{delay:130,children:e.jsxs("div",{className:"relative mx-auto max-w-5xl",children:[e.jsx("div",{"aria-hidden":"true",className:"absolute -inset-6 -z-0",style:{background:"radial-gradient(55% 55% at 50% 45%, color-mix(in oklch, var(--color-primary) 18%, transparent), transparent 72%)",filter:"blur(44px)"}}),e.jsxs("div",{className:"relative aspect-[4/3] overflow-hidden rounded-xl border border-night-hairline bg-night-soft shadow-[0_40px_120px_-40px_rgba(0,0,0,0.7)] sm:aspect-[16/10]",onClick:j,children:[d?.thumbnail_url&&e.jsx("img",{src:d.thumbnail_url,alt:d.caption??"Featured 3D world",className:`absolute inset-0 h-full w-full object-cover transition-opacity duration-700 ${l?"opacity-0":"opacity-100"}`}),!l&&s&&e.jsx("div",{className:"absolute inset-0 z-10 flex items-center justify-center bg-night-soft",children:e.jsxs("div",{className:"flex flex-col items-center gap-3",children:[e.jsx("div",{className:"h-8 w-8 animate-spin rounded-full border-2 border-night-hairline border-t-primary"}),e.jsx("span",{className:"font-mono text-xs uppercase tracking-wider text-night-faint",children:"Loading world..."})]})}
1),s&&y&&e.jsx("iframe",{ref:r,src:y,className:`absolute inset-0 h-full w-full transition-opacity duration-700 ${l?"opacity-100":"opacity-0"}`,allow:"accelerometer; gyroscope; fullscreen",allowFullScreen:!0,loading:"lazy",title:"Interactive 3D world preview",onLoad:()=>o(!0),tabIndex:0}),!d&&s&&e.jsx("div",{className:"absolute inset-0 flex items-center justify-center bg-night-soft",children:e.jsx("p",{className:"font-mono text-xs uppercase tracking-wider text-night-faint",children:"Loading preview..."})}),x&&l&&e.jsx("div",{className:"pointer-events-none absolute inset-0 z-20 flex items-center justify-center",children:e.jsxs("div",{className:"flex items-center gap-2 rounded-full border border-night-hairline/70 bg-black/70 px-4 py-2.5 text-sm text-white/90 backdrop-blur-md sm:gap-3 sm:px-5 sm:py-3",children:[e.jsx(z,{className:"h-4 w-4 sm:h-5 sm:w-5"}),e.jsx("span",{className:"text-xs sm:text-sm",children:"Drag to explore"})]})}),e.jsxs("div",{className:"pointer-events-none absolute inset-x-0 bottom-0 z-20 hidden items-end justify-between p-4 md:flex",children:[e.jsxs("div",{className:"flex items-center gap-2 rounded-lg border border-night-hairline/60 bg-black/60 px-3 py-2 backdrop-blur-md",children:[e.jsxs("div",{className:"flex flex-col items-center gap-0.5",children:[e.jsx("kbd",{className:"flex h-6 w-6 items-center justify-center rounded border border-white/20 font-mono text-xs text-white/70",children:"W"}),e.jsx("div",{className:"flex gap-0.5",children:["A","S","D"].map(u=>e.jsx("kbd",{className:"flex h-6 w-6 items-center justify-center rounded border border-white/20 font-mono text-xs text-white/70",children:u},u))})]}),e.jsx("span",{className:"font-mono text-[11px] uppercase tracking-wider text-white/50",children:"Move"})]}),e.jsxs("div",{className:"flex items-center gap-2 rounded-lg border border-night-hairline/60 bg-black/60 px-3 py-2 backdrop-blur-md",children:[e.jsx(K,{className:"h-5 w-5 text-white/70"}),e.jsx("span",{className:"font-mono text-[11px] uppercase tracking-wider text-white/50",children:"Drag to look"})]})]})]}),e.jsxs("div",{className:"mt-6 flex flex-col items-center justify-center gap-3 sm:flex-row sm:gap-6",children:[e.jsxs("p",{className:"font-mono text-xs uppercase tracking-wider text-night-faint",children:[e.jsx("span",{className:"md:hidden",children:"Drag to look around"}),e.jsx("span",{className:"hidden md:inline",children:"Click and drag to look around • WASD to move"})]}),d&&e.jsxs("a",{href:`${t.dashboardUrl}/worlds/${d.id}`,target:"_blank",rel:"noopener noreferrer",className:"group inline-flex items-center gap-1.5 text-sm font-medium text-white transition-colors hover:text-primary",children:["Open full viewer",e.jsx(W,{className:"h-4 w-4 transition-transform group-hover:translate-x-0.5 group-hover:-translate-y-0.5"})]})]})]})})]})]})}const oe=[{id:"image-to-world",icon:G,title:"Image to World",shortDesc:"Turn any image or 360° panorama into a 3D explorable world."},{id:"text-to-world",icon:E,title:"Text to World",shortDesc:"Generate 3D worlds from a text prompt."},{id:"edit-and-refine",icon:J,title:"Edit & Refine",shortDesc:"Sculpt, paint, and quickly refine your world with powerful tools."},{id:"export-anywhere",icon:H,title:"Export Anywhere",shortDesc:"Export to popular 3D formats (SPZ, PLY, SOG, Collision Meshes, etc.)"}
1,{id:"share-instantly",icon:Z,title:"Share Instantly",shortDesc:"Share a link and view in the browser"}];function ce({onTryClick:t}){return e.jsx("section",{className:"theme-fade relative w-full border-t border-line bg-page py-24 md:py-32",children:e.jsx("div",{className:"container relative mx-auto px-6 md:px-8 lg:px-12",children:e.jsxs("div",{className:"grid gap-12 lg:grid-cols-[1.1fr_1fr] lg:items-center lg:gap-16 xl:gap-24",children:[e.jsx(n,{className:"order-2 lg:order-1",children:e.jsx(de,{})}),e.jsxs("div",{className:"order-1 flex flex-col justify-center lg:order-2",children:[e.jsx(n,{delay:80,children:e.jsx("h2",{className:"text-balance text-[clamp(1.9rem,4vw,3.25rem)] font-normal leading-[1.04] tracking-display text-strong",children:"Create, edit, and share worlds."})}),e.jsx(n,{delay:140,children:e.jsx("p",{className:"mt-5 max-w-md text-base leading-relaxed text-dim",children:"The SpAItial app allows you to explore and build with Echo: You can generate worlds from images, text, and panoramas. Edit, share, and view worlds created with Echo."})}),e.jsx("ul",{className:"mt-10 flex flex-col",children:oe.map((a,r)=>{const s=a.icon;return e.jsx(n,{as:"li",delay:r*70,children:e.jsxs("div",{className:"group flex items-start gap-4 border-t border-line-soft py-4 transition-colors last:border-b hover:border-line",children:[e.jsx("div",{className:"flex h-10 w-10 shrink-0 items-center justify-center rounded-md border border-line bg-raised text-dim transition-colors group-hover:border-primary/50 group-hover:text-primary",children:e.jsx(s,{className:"h-[18px] w-[18px]",strokeWidth:1.5})}),e.jsxs("div",{className:"min-w-0 flex-1 pt-0.5",children:[e.jsx("h3",{className:"text-[15px] font-medium text-strong",children:a.title}),e.jsx("p",{className:"mt-0.5 text-sm leading-relaxed text-faintish",children:a.shortDesc})]})]})},a.id)})}),e.jsx(n,{delay:120,children:e.jsx("div",{className:"mt-9",children:e.jsx(v,{onClick:t,children:"Try Echo"})})})]})]})})})}function de(){return e.jsxs("div",{className:"relative",children:[e.jsx("div",{"aria-hidden":"true",className:"absolute -inset-5 -z-0 opacity-80",style:{background:"radial-gradient(60% 60% at 30% 30%, color-mix(in oklch, var(--color-primary) 16%, transparent), transparent 70%)",filter:"blur(44px)"}}),e.jsxs("div",{className:"relative overflow-hidden rounded-xl border border-line bg-raised shadow-[0_40px_120px_-44px_rgba(0,0,0,0.4)]",children:[e.jsxs("div",{className:"flex items-center gap-2 border-b border-line px-4 py-2.5",children:[e.jsx("span",{className:"h-2.5 w-2.5 rounded-full border border-line"}),e.jsx("span",{className:"h-2.5 w-2.5 rounded-full border border-line"}),e.jsx("span",{className:"h-2.5 w-2.5 rounded-full border border-line"}),e.jsx("span",{className:"ml-3 font-mono text-[11px] text-faintish",children:"spaitial · studio"})]}),e.jsx("div",{className:"aspect-[4/3] sm:aspect-[16/11]",children:e.jsx("video",{className:"h-full w-full object-cover",autoPlay:!0,loop:!0,muted:!0,playsInline:!0,poster:"/world_preview.jpg",children:e.jsx("source",{src:"https://pub-fd1d4d4f8ef34c7e8597ee625f885bf9.r2.dev/final_app_intro.mp4",type:"video/mp4"})})})]})]})}const xe="https://developers.spaitial.ai",me="https://docs.spaitial.ai/api/getting-started",pe=[{icon:se,title:"One request to Echo",description:"Submit an image, prompt, or panorama and receive an async world generation job."}
1,{icon:O,title:"3DGS deliverables",description:"Request SPZ or SOG Gaussian Splat outputs that are ready for real-time viewers."},{icon:te,title:"Webhooks for async worlds",description:"Subscribe to delivery events instead of polling—fire and forget."},{icon:S,title:"Agent-ready API",description:"Put spatial generation inside tools, agents, simulations, and creative pipelines."}];function he(){return e.jsxs("section",{className:"grain relative w-full overflow-hidden bg-night py-24 md:py-32",children:[e.jsx("div",{className:"aurora opacity-50","aria-hidden":"true"}),e.jsx("div",{className:"relative z-[3] container mx-auto px-6 md:px-8 lg:px-12",children:e.jsxs("div",{className:"grid items-center gap-14 lg:grid-cols-[1fr_1.05fr] lg:gap-16 xl:gap-20",children:[e.jsxs("div",{className:"flex min-w-0 flex-col justify-center",children:[e.jsx(n,{children:e.jsx(re,{tone:"dark",children:"For developers"})}),e.jsx(n,{delay:80,children:e.jsx("h2",{className:"mt-5 text-balance text-[clamp(1.9rem,4vw,3.25rem)] font-normal leading-[1.04] tracking-display text-white",children:"Build with the SpAItial API"})}),e.jsx(n,{delay:140,children:e.jsx("p",{className:"mt-5 max-w-md text-base leading-relaxed text-night-body",children:"The API is direct access to Echo for agents, tools, simulations, creative systems, and any product that needs generated Gaussian Splat worlds."})}),e.jsx("div",{className:"mt-10 grid gap-x-8 gap-y-7 sm:grid-cols-2",children:pe.map((t,a)=>{const r=t.icon;return e.jsx(n,{delay:a*70,children:e.jsxs("div",{className:"group flex gap-3.5",children:[e.jsx("div",{className:"flex h-10 w-10 shrink-0 items-center justify-center rounded-md border border-night-hairline bg-night-soft text-night-body transition-colors group-hover:border-primary/50 group-hover:text-primary",children:e.jsx(r,{className:"h-[18px] w-[18px]",strokeWidth:1.5})}),e.jsxs("div",{className:"min-w-0 pt-0.5",children:[e.jsx("h3",{className:"text-[15px] font-medium text-white",children:t.title}),e.jsx("p",{className:"mt-0.5 text-sm leading-relaxed text-night-faint",children:t.description})]})]})},t.title)})}),e.jsx(n,{delay:120,children:e.jsxs("div",{className:"mt-10 flex flex-wrap items-center gap-3",children:[e.jsx(ne,{href:xe,children:"Get API keys"}),e.jsxs("a",{href:me,target:"_blank",rel:"noopener noreferrer",className:"inline-flex h-11 items-center justify-center gap-2 rounded-md border border-night-hairline bg-night-soft px-5 text-sm font-medium text-white transition-colors hover:border-night-faint hover:bg-night-raised",children:[e.jsx(I,{className:"h-4 w-4"}),e.jsx("span",{children:"Read the API docs"})]})]})})]}),e.jsx(n,{delay:120,className:"min-w-0",children:e.jsx(ue,{})})]})})]})}function ue(){return e.jsxs("div",{className:"relative",children:[e.jsx("div",{"aria-hidden":"true",className:"absolute -inset-5 -z-0 opacity-80",style:{background:"radial-gradient(60% 60% at 60% 40%, color-mix(in oklch, var(--color-primary) 18%, transparent), transparent 70%)",filter:"blur(46px)"}}),e.jsxs("div",{className:"relative overflow-hidden rounded-xl border border-night-hairline bg-[#0d0d10] shadow-[0_40px_120px_-40px_rgba(0,0,0,0.8)]",children:[e.jsxs("div",{className:"flex items-center gap-2 border-b border-night-hairline px-4 py-3",children:[e.jsx("span",{className:"h-2.5 w-2.5 rounded-full bg-[#ff5f57]"}),e.jsx("span",{className:"h-2.5 w-2.5 rounded-full bg-[#febc2e]"}),e.jsx("span",{className:"h-2.5 w-2.5 rounded-full bg-[#28c840]"}),e.jsx("span",{className:"ml-3 font-mono text-xs text-night-faint",children:"create-world.sh"})]}),e.jsx("pre",{className:"overflow-x-auto px-5 py-5 font-mono text-[13px] leading-[1.7]",children:e.jsxs("code",{children:[e.jsx("span",{className:"text-night-faint",children:"# Generate a Gaussian Splat world with Echo"}),`
2`,e.jsx("span",{className:"text-[#7ee0c0]",children:"curl"}),e.jsx("span",{className:"text-white",children:" -X POST "}),e.jsx("span",{className:"text-primary",children:"https://api.spaitial.ai/v1/worlds"}),e.jsx("span",{className:"text-night-faint",children:" \\"}),`
3  `,e.jsx("span",{className:"text-white",children:"-H "}),e.jsx("span",{className:"text-[#e6c07b]",children:'"Authorization: Bearer spt_live_…"'}),e.jsx("span",{className:"text-night-faint",children:" \\"}),`
4  `,e.jsx("span",{className:"text-white",children:"-H "}),e.jsx("span",{className:"text-[#e6c07b]",children:'"Content-Type: application/json"'}),e.jsx("span",{className:"text-night-faint",children:" \\"}),`
5  `,e.jsx("span",{className:"text-white",children:"-d "}),e.jsx("span",{className:"text-[#e6c07b]",children:"'{"}),`
6    `,e.jsx("span",{className:"text-[#8fd3ff]",children:'"input"'}),e.jsxs("span",{className:"text-white",children:[": ","{ "]}),e.jsx("span",{className:"text-[#8fd3ff]",children:'"type"'}),e.jsx("span",{className:"text-white",children:": "}),e.jsx("span",{className:"text-[#e6c07b]",children:'"text"'}),e.jsx("span",{className:"text-white",children:", "}),e.jsx("span",{className:"text-[#8fd3ff]",children:'"prompt"'}),e.jsx("span",{className:"text-white",children:": "}),e.jsx("span",{className:"text-[#e6c07b]",children:'"a moonlit film set in a forest"'}),e.jsxs("span",{className:"text-white",children:[" ","}"]}),e.jsx("span",{className:"text-white",children:","}),`
7    `,e.jsx("span",{className:"text-[#8fd3ff]",children:'"model"'}),e.jsx("span",{className:"text-white",children:": "}),e.jsx("span",{className:"text-[#e6c07b]",children:'"default"'}),e.jsx("span",{className:"text-white",children:","}),`
8    `,e.jsx("span",{className:"text-[#8fd3ff]",children:'"output_format"'}),e.jsx("span",{className:"text-white",children:": "}),e.jsx("span",{className:"text-[#e6c07b]",children:'"sog"'}),`
9  `,e.jsx("span",{className:"text-[#e6c07b]",children:"}'"}),`
10
11`,e.jsxs("span",{className:"text-night-faint",children:["# → ","{",' "request_id": "req_xyz", "status": "queued" ',"}"]}),e.jsx("span",{className:"caret ml-0.5 inline-block h-[1.05em] w-[7px] translate-y-[2px] bg-primary"})]})}),e.jsxs("div",{className:"flex items-center gap-2 border-t border-night-hairline px-5 py-3 font-mono text-xs text-night-faint",children:[e.jsx("span",{className:"h-1.5 w-1.5 rounded-full bg-primary"}),e.jsx("span",{children:"The default alias resolves to the current Echo production model."})]})]})]})}const w=8,fe=[{colSpan:2,rowSpan:2},{colSpan:1,rowSpan:1},{colSpan:1,rowSpan:1},{colSpan:1,rowSpan:2},{colSpan:1,rowSpan:1},{colSpan:2,rowSpan:1},{colSpan:1,rowSpan:1},{colSpan:1,rowSpan:1}];function ge({onSeeMoreClick:t}){const[a,r]=i.useState(null),{clientConfig:s}=b({from:"__root__"}),{data:c,isLoading:l}=L({queryKey:["public-gallery",{limit:w}],queryFn:()=>_({data:{limit:w}}),staleTime:300*1e3}),o=c?.data??[],x=i.useCallback(m=>{r(m)},[]),h=i.useCallback(()=>{r(null)},[]);return e.jsxs("section",{className:"theme-fade relative w-full border-t border-line bg-page py-24 md:py-32",children:[e.jsxs("div",{className:"container mx-auto px-6 md:px-8 lg:px-12",children:[e.jsxs("div",{className:"mb-12 flex flex-col gap-6 md:mb-16 md:flex-row md:items-end md:justify-between",children:[e.jsx("div",{children:e.jsx(n,{delay:80,children:e.jsx("h2",{className:"mt-5 max-w-2xl text-balance text-[clamp(1.9rem,4vw,3.25rem)] font-normal leading-[1.04] tracking-display text-strong",children:"Explore worlds created with Echo"})})}),e.jsx(n,{delay:120,children:e.jsxs("button",{onClick:t,className:"group inline-flex items-center gap-1.5 text-sm font-medium text-strong transition-colors hover:text-primary",children:["Explore worlds",e.jsx(g,{className:"h-4 w-4 transition-transform group-hover:translate-x-0.5"})]})})]}),l?e.jsx("div",{className:"flex min-h-[400px] items-center justify-center",children:e.jsx(C,{className:"h-8 w-8 animate-spin text-primary"})}):o.length>0?e.jsx("div",{className:"grid auto-rows-[180px] grid-cols-2 gap-3 md:auto-rows-[200px] md:grid-cols-4 md:gap-4 lg:auto-rows-[220px]",children:o.slice(0,8).map((m,d)=>{const j=fe[d]??{colSpan:1,rowSpan:1};return e.jsx(be,{world:m,layout:j,index:d,onClick:()=>x(m)},m.id)})}):e.jsx("div",{className:"flex min-h-[300px] items-center justify-center rounded-xl border border-dashed border-line",children:e.jsxs("div",{className:"flex flex-col items-center gap-3 text-center",children:[e.jsx(T,{className:"h-10 w-10 text-faintish"}),e.jsx("p",{className:"text-faintish",children:"No worlds available yet."})]})})]}),a&&e.jsx(je,{world:a,onClose:h,dashboardUrl:s.dashboardUrl})]})}function be({world:t,layout:a,index:r,onClick:s}){return e.jsxs("button",{onClick:s,className:`animate-fade-in group relative overflow-hidden rounded-xl border border-night-hairline bg-night-soft transition-all duration-300 hover:border-primary/50 hover:shadow-[0_24px_70px_-26px_color-mix(in_oklch,var(--color-primary)_45%,transparent)] ${a.colSpan===2?"col-span-2":"col-span-1"} ${a.rowSpan===2?"row-span-2":"row-span-1"}`,style:{animationDelay:`${r*80}ms`},children:[t.thumbnail_url&&e.jsx("img",{src:t.thumbnail_url,alt:t.caption??"World preview",className:"h-full w-full object-cover transition-transform duration-700 ease-out group-hover:scale-[1.06]",loading:r<4?"eager":"lazy"}),e.jsx("div",{className:"absolute inset-0 bg-gradient-to-t from-black/75 via-black/10 to-transparent transition-opacity duration-300"}),t.category&&e.jsx("div",{className:"absolute top-3 left-3",children:e.jsx("span",{className:"rounded-full border border-white/15 bg-black/40 px-2.5 py-1 font-mono text-[10px] font-medium uppercase tracking-wider text-white/90 backdrop-blur-md",children:t.category})}),e.jsxs("div",{className:"absolute top-3 right-3 flex translate-y-1 items-center gap-1.5 rounded-full bg-primary px-3 py-1.5 text-xs font-medium text-primary-foreground opacity-0 shadow-lg transition-all duration-300 group-hover:translate-y-0 group-hover:opacity-100",children:[e.jsx(B,{className:"h-3.5 w-3.5"}),"Inspect output"]}),e.jsxs("div",{className:"absolute inset-x-0 bottom-0 p-4 text-left",children:[e.jsx("h3",{className:"truncate text-sm font-medium text-white md:text-base",children:t.caption??"Untitled"}),t.creator?.name&&e.jsxs("p",{className:"mt-0.5 truncate text-xs text-white/55",children:["by ",t.creator.name]})]})]})}function je({world:t,onClose:a,dashboardUrl:r}){const[s,c]=i.useState(!1),l=k(r,t);return i.useEffect(()=>{const o=x=>{x.key==="Escape"&&a()};return document.addEventListener("keydown",o),document.body.style.overflow="hidden",()=>{document.removeEventListener("keydown",o),document.body.style.overflow="unset"}},[a]),e.jsxs("div",{className:"fixed inset-0 z-[60] bg-black",onClick:a,children:[t.thumbnail_url&&e.jsx("img",{src:t.thumbnail_url,alt:t.caption??"World preview",className:`absolute inset-0 h-full w-full object-cover transition-opacity duration-700 ${s?"opacity-0":"opacity-100"}`}),l&&e.jsx("iframe",{src:l,className:`absolute inset-0 h-full w-full transition-opacity duration-700 ${s?"opacity-100":"opacity-0"}`,allow:"accelerometer; gyroscope; fullscreen",allowFullScreen:!0,loading:"eager",title:`3D viewer for ${t.caption??"world"}`,onLoad:()=>c(!0),onClick:o=>o.stopPropagation()}),!s&&e.jsx("div",{className:"absolute inset-0 flex items-center justify-center bg-black/50",children:e.jsxs("div",{className:"flex flex-col items-center gap-3",children:[e.jsx(C,{className:"h-8 w-8 animate-spin text-primary"}),e.jsx("span",{className:"font-mono text-xs uppercase tracking-wider text-white/60",children:"Loading world..."})]})}),e.jsx("div",{className:"pointer-events-none absolute inset-x-0 bottom-0 z-20 flex justify-center px-4 pb-[calc(env(safe-area-inset-bottom)+1rem)]",onClick:o=>o.stopPropagation(),children:e.jsxs("div",{className:"pointer-events-auto flex max-w-full items-center gap-2 rounded-full border border-white/10 bg-black/60 px-2 py-1.5 backdrop-blur-md",children:[e.jsx("button",{onClick:a,className:"flex h-10 w-10 shrink-0 items-center justify-center rounded-full text-white/80 transition-colors hover:bg-white/10 hover:text-white","aria-label":"Close viewer (Esc)",children:e.jsx("svg",{className:"h-4 w-4",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:e.jsx("path",{d:"M18 6L6 18M6 6l12 12"})})}),e.jsx("div",{className:"h-5 w-px bg-white/20"}),e.jsx("span",{className:"max-w-[200px] truncate px-2 text-sm text-white/60 sm:max-w-xs",children:t.caption??"Untitled"})]})})]})}const ve="https://developers.spaitial.ai",N="group/cta inline-flex items-center gap-1.5 text-sm font-medium text-strong underline-offset-4 transition-colors hover:text-primary";function ye(){const{clientConfig:t}=b({from:"__root__"}),a=new URL("/worlds?create=true",t.dashboardUrl).toString(),r=[{tag:"New model",badge:"NEW",date:"May 2026",title:"Echo HQ",description:"Our highest-quality Echo checkpoint for richer geometry, sharper detail, and more stable Gaussian Splat worlds.",icon:E,ctaLabel:"Try in app",externalHref:a},{tag:"API",badge:"NEW",date:"May 2026",title:"Developer API",description:"Programmable access to Echo. Generate persistent 3DGS worlds from your own tools, agents, and pipelines.",icon:S,ctaLabel:"Open developer platform",externalHref:ve},{tag:"Announcement",badge:"NEW",date:"Jun 2026",title:"Startup Program",description:"Credits, priority API access, and a direct line to the lab for teams using Echo, our world model.",icon:P,ctaLabel:"Ap
11ply to the program",to:"/startups"}];return e.jsx("section",{className:"theme-fade relative w-full border-t border-line bg-page py-24 md:py-32",children:e.jsxs("div",{className:"container relative mx-auto px-6 md:px-8 lg:px-12",children:[e.jsx("div",{className:"mb-12 max-w-2xl md:mb-16",children:e.jsx(n,{delay:80,children:e.jsx("h2",{className:"mt-5 text-balance text-[clamp(1.9rem,4vw,3.25rem)] font-normal leading-[1.04] tracking-display text-strong",children:"Latest releases from the lab"})})}),e.jsx("div",{className:"grid gap-6 md:grid-cols-2 lg:grid-cols-3",children:r.map((s,c)=>e.jsx(n,{delay:c*90,children:e.jsx(we,{release:s})},s.title))})]})})}function we({release:t}){const a=t.icon;return e.jsxs("article",{className:"theme-fade group relative flex h-full flex-col overflow-hidden rounded-xl border border-line bg-raised p-6 transition-all duration-300 hover:-translate-y-1 hover:border-primary/40 hover:shadow-[0_28px_70px_-30px_color-mix(in_oklch,var(--color-primary)_40%,transparent)]",children:[e.jsx("span",{className:"absolute inset-x-0 top-0 h-px scale-x-0 bg-linear-to-r from-transparent via-primary to-transparent transition-transform duration-500 group-hover:scale-x-100"}),e.jsxs("div",{className:"mb-5 flex items-start justify-between gap-3",children:[e.jsx("div",{className:"flex h-11 w-11 items-center justify-center rounded-md border border-line bg-page text-dim transition-colors group-hover:border-primary/40 group-hover:text-primary",children:e.jsx(a,{className:"h-5 w-5",strokeWidth:1.5})}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("span",{className:"inline-flex items-center gap-1 rounded-full bg-primary/15 px-2 py-0.5 text-[10px] font-semibold uppercase tracking-wider text-primary",children:t.badge}),e.jsx("span",{className:"font-mono text-[11px] text-faintish",children:t.date})]})]}),e.jsx("p",{className:"mb-2 font-mono text-[11px] font-medium uppercase tracking-[0.18em] text-faintish",children:t.tag}),e.jsx("h3",{className:"mb-2 text-xl font-medium tracking-tight text-strong",children:t.title}),e.jsx("p",{className:"mb-6 text-sm leading-relaxed text-dim",children:t.description}),e.jsx("div",{className:"mt-auto",children:e.jsx(Ne,{release:t})})]})}function Ne({release:t}){return t.to?e.jsxs(f,{to:t.to,className:N,children:[e.jsx("span",{children:t.ctaLabel}),e.jsx(g,{className:"h-4 w-4 transition-transform group-hover/cta:translate-x-0.5"})]}):e.jsxs("a",{href:t.externalHref,target:"_blank",rel:"noopener noreferrer",className:N,children:[e.jsx("span",{children:t.ctaLabel}),e.jsx(g,{className:"h-4 w-4 transition-transform group-hover/cta:translate-x-0.5"})]})}function ke({onTryClick:t}){return e.jsxs("section",{className:"grain relative w-full overflow-hidden bg-night py-28 md:py-40",children:[e.jsxs("div",{className:"absolute inset-0","aria-hidden":"true",children:[e.jsx("img",{src:"/cta_img.png",alt:"",className:"h-full w-full object-cover opacity-40"}),e.jsx("div",{className:"absolute inset-0",style:{background:"radial-gradient(80% 70% at 50% 50%, transparent 0%, color-mix(in oklch, var(--color-night) 70%, transparent) 55%, var(--color-night) 100%)"}}),e.jsx("div",{className:"absolute inset-0 bg-night/30"}),e.jsx("div",{className:"aurora opacity-50"})]}),e.jsxs("div",{className:"relative z-[3] container mx-auto flex flex-col items-center px-6 text-center md:px-8 lg:px-12",children:[e.jsx(n,{children:e.jsxs("p",{className:"flex items-center justify-center gap-2.5 font-mono text-[11px] font-medium uppercase tracking-[0.24em] text-night-body",children:[e.jsx("span",{className:"h-1 w-1 rounded-full bg-primary"}),"Build with Echo"]})}),e.jsx(n,{delay:80,children:e.jsx("h2",{className:"mt-6 max-w-3xl text-balance text-[clamp(2.25rem,5.5vw,4.25rem)] font-normal leading-[1.05] tracking-display text-white",children:"The next interface is spatial"})}),e.jsx(n,{delay:140,children:e.jsx("p",{className:"mt-6 max-w-lg text-lg leading-relaxed text-night-body",children:"Generate persistent worlds with Echo, explore worlds created with Echo, or join the creators helping define what spatial AI becomes."})}),e.jsx(n,{delay:200,children:e.jsxs("div",{className:"mt-10 flex flex-col items-center gap-5",children:[e.jsx(v,{onClick:t,className:"h-12 px-7 text-base",children:"Try Echo"}),e.jsxs("div",{className:"flex flex-wrap items-center justify-center gap-x-2 gap-y-1 text-sm font-medium text-night-body",children:[e.jsx(f,{to:"/creative-partners",className:"underline-offset-4 transition-colors hover:text-white hover:underline",children:"creators can apply for credits and early access"}),e.jsx("span",{"aria-hidden":"true",children:"·"}),e.jsx(f,{to:"/startups",className:"underline-offset-4 transition-colors hover:text-white hover:underline",children:"startups can apply too"}),e.jsx("span",{"aria-hidden":"true",children:"·"}),e.jsx(f,{to:"/enterprise",className:"underline-offset-4 transition-colors hover:text-white hover:underline",children:"enterprises can talk to us"})]})]})})]})]})}function _e(){const t=R(),{clientConfig:a}=b({from:"__root__"}),r=()=>{t({to:"/gallery"})},s=()=>{window.location.href=new URL("/worlds?create=true",a.dashboardUrl).toString()};return e.jsxs(e.Fragment,{children:[e.jsx(ie,{onTryClick:s}),e.jsx(le,{}),e.jsx(ce,{onTryClick:s}),e.jsx(he,{}),e.jsx(ge,{onSeeMoreClick:r}),e.jsx(ye,{}),e.jsx(ke,{onTryClick:s})]})}function Ie(){return e.jsx("main",{className:"relative min-h-screen bg-background",children:e.jsx(_e,{})})}
11export{Ie as component};

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.