CrazyGLCrazyGLHomeExploreGitHubBrowse heroesLoading hero…← Back to gallery@crazygl/package-galaxy

Package Galaxy

An infinite 3D galaxy of npm package stars clustered by ecosystem, with glowing comets streaking through the field. Seamless on every axis, fog-baked depth, soft nebula clouds in the deep background.

ReactWebGL3DInteractiveFont#galaxy#particles#three#registry#sbom#comet#stars#nebula#premium

Usage

import PackageGalaxy from '@crazygl/hero-package-galaxy';

export default function Page() {
  return (
    <PackageGalaxy
      heading="Every package, mapped."
      starCount={1600}
      labelNames={'react\nthree\nvite\nnext'}
    />
  );
}

Customise

  • GalaxystarCount, clusterCount, starColor, accentColor, clusterTintStrength, starScale.
  • AtmospherefogIntensity (depth fade), nebulaIntensity.
  • MotionflightSpeed, cameraDriftSpeed (weave), pointerParallax, twinkleStrength.
  • CometscometCount, cometSpeed, cometColor, cometTrailLength.
  • LabelsshowLabels, labelSample, labelNames, labelStyle, plus font/colour controls.
  • BackgroundtransparentBackground, bgTop / bgBottom.

Best for

  • Developer tools, package registries, and SBOM / supply-chain platforms
  • Open-source ecosystem and dependency-mapping products
  • Dev-platform and infrastructure launch pages that want a vast, exploratory feel
  • AI / data products needing an "endless universe of nodes" backdrop
01 · Install the package

One command, zero config.

npm install @crazygl/hero-package-galaxy
02 · Render the component

Import once, drop it in.

The component takes the same props you see in the live customizer on the right — every default ships poster-quality.

hero.tsx
import PackageGalaxy from '@crazygl/hero-package-galaxy';

export default function Landing() {
  return (
    <PackageGalaxy />
  );
}
03 · Use it in a page

SSR-safe by default.

The wrapper renders static HTML on the server and only initialises the canvas after hydration, so search engines see your copy.

page.tsx
// app/page.tsx — works in SSR-first frameworks (Next, Remix, Astro, etc.)
'use client';

import PackageGalaxy from '@crazygl/hero-package-galaxy';

export default function Page() {
  return (
    <section>
      <PackageGalaxy
        heading="Say hi."
        subheading="Your new hero."
      />
      <article>
        <h2>Welcome</h2>
        <p>Your content keeps its own voice below the hero.</p>
      </article>
    </section>
  );
}
You might also like

Similar heroes

Galaxy Tunnel

A cinematic flythrough — thousands of glowing particles streaming past a virtual camera with velocity trails, bloom, and chromatic vignette.

Starfield Warp

Deep parallax star field. The cursor bends space around it — stars near the pointer pull into curved trails toward the lens centre.

Black Hole Lens

Gravitational lensing of a star field, dust motes, and the deep nebula behind a singularity. A Doppler-shifted accretion disk burns in the equatorial plane — bluer where it rushes toward you, redder where it falls away.

Depth Wave Field

A perspective grid of small glowing dots forms an undulating 3D wave terrain that recedes into the distance and fades to black — the look of a topographic depth-sensing point cloud. Smooth traveling waves ripple through the field; crests glow electric violet, troughs and far rows sink into deep indigo. The pointer pushes a ripple toward the cursor.

Data Rain 3D

Characters, digits and small symbols fall through a real 3D perspective volume. Near glyphs are large and bright, far ones shrink and dissolve into depth fog. Move the cursor and the falling stream curves around it, like rain hitting an invisible umbrella.

ASCII Nebula

The whole background is a grid of ASCII glyphs that, from afar, reads as a soft drifting nebula — dense glyphs where the cloud is thick, sparse where it thins. The pointer locally reveals hidden structure: nearby glyphs grow larger, rotate slightly, and switch to denser symbols.
Live customizer

Package Galaxy

Transparent backgroundSky topSky bottomStar count1600How many package stars to render. Below 600 reads as a sparse sky; above 2200 starts to feel uniformly dense — sweet spot 1400–2000.Ecosystem clusters7How many ecosystem clusters host the stars. 5–8 reads as a constellation map; 12 feels like many smaller hubs.Accent (highlighted)Colour of the brightest highlighted stars.Star colourCluster tint variety0.55How much each cluster's stars deviate from the base star colour. 0 = uniform sky; 1 = each cluster has its own hue.Star size1Fog (depth fade)0.65How aggressively distant stars fade into the void. 0 = crisp pin-sharp field; 0.65 = cinematic depth bake; 1 = strong haze, only nearby stars visible.Nebula clouds0.4Opacity of the soft cloud sprites painted into the deep background. 0 = pure starfield; 0.4 = subtle gas wash; 1 = vivid painterly nebula.Flight speed1How fast the camera travels forward through the galaxy. 0 freezes forward motion (camera still weaves); 1 is a cinematic glide; >2 reads as fast hyperspace cruise.Weave amplitude0.6How widely the camera weaves side-to-side / up-down while flying forward. 0 = perfectly straight flight; 0.6 = gentle sway; >1.5 = pronounced banking.Pointer parallax0.5Twinkle0.65Per-star brightness flicker. 0 = static field; 0.6 is a calm twinkle; >1 reads as agitation.Concurrent comets6How many comets are alive at once. 0 disables comets entirely; 6 is a calm trickle; 14 is a meteor shower.Comet speed1How fast comets streak across the field. 1 is cinematic; >2 reads as hyper-speed.Comet colourColour of the comet head and trail. Warm whites read most realistic.Trail length1How long the comet tail is. 1 = standard ~48-segment tail; 0.3 = short bright pulse; 1.6 = long sweeping streak.Show package labelsWhen on, a small sample of stars (5–10) display their package name as floating text.Sample size8Package names (one per line)Each non-empty line is a label drawn over one sampled star. From code, pass a string[] (or a single string).Label font size14pxPixel size of the label text. 11 reads as a subtle annotation; 14–18 is comfortable on most viewports; 24+ feels like editorial pull quotes.Label styleVisual treatment of each label. Pill = rounded chip (default), Frame = boxed border, Tag = [bracketed] inline mark, Minimal = text only with strong shadow.Label font weightLabel background colorBase color of the label chip background (pill/frame styles). Dark navy reads best behind bright text against the starfield.Label background opacity0.85Opacity of the label chip background (pill/frame styles). 0 = transparent (rely on text shadow); 1 = solid contrast.Label text colorHeading FontSubheading FontInteractivityWhich input drives the hero — try Scroll if you want the page to drive motion.
CrazyGL · crazygl.comProgrammable hero sections for real websites.