A 3D tower of translucent labelled slabs — CDN, Edge, API, Services, Database, Storage — that assemble tier-by-tier from the ground up, each slab settling with a soft physics-ish bounce. Thin glowing seams, real PhysicalMaterial transmission, PMREM HDRI lighting, pointer parallax. For high-end cloud / platform / infra-as-code landing pages.
import InfrastructureStackTower from '@crazygl/hero-infrastructure-stack-tower';
export default function Page() {
return (
<InfrastructureStackTower
heading="Your stack, end-to-end."
tierCount={6}
slabMaterial="solid"
accentColor="#7aa9ff"
/>
);
}tierCount (3–8) and tier1Label…tier8Label, applied top-to-bottom (Tier 1 is the top, Tier N the foundation).slabMaterial (solid / glass / frosted / metal), useAccentColor + accentColor or per-tier colours, seamColor/seamStrength, labelColor.slabWidth/Depth/Thickness/Gap/Bevel, towerOffsetX/Y.autoLoop, assemblySpeed, assemblyStagger, loopInterval, bounceStrength (0 = solid thunk).parallaxStrength, ambientFloat, keyColor, fillColor, envIntensity.contentAlign, padding, bgTop/bgBottom, showCTA + ctaLabel/onCTAClick.npm install @crazygl/hero-infrastructure-stack-towerThe component takes the same props you see in the live customizer on the right — every default ships poster-quality.
import InfrastructureStackTower from '@crazygl/hero-infrastructure-stack-tower';
export default function Landing() {
return (
<InfrastructureStackTower />
);
}The wrapper renders static HTML on the server and only initialises the canvas after hydration, so search engines see your copy.
// app/page.tsx — works in SSR-first frameworks (Next, Remix, Astro, etc.)
'use client';
import InfrastructureStackTower from '@crazygl/hero-infrastructure-stack-tower';
export default function Page() {
return (
<section>
<InfrastructureStackTower
heading="Say hi."
subheading="Your new hero."
/>
<article>
<h2>Welcome</h2>
<p>Your content keeps its own voice below the hero.</p>
</article>
</section>
);
}