CrazyGLCrazyGLHomeExploreGitHubBrowse heroesLoading hero…← Back to gallery@crazygl/touch-sparkle-grid

Touch Sparkle Grid

A dark perspective grid floor receding into the distance. Pointer movement emits glowing magenta-pink and cyan sparkle particles that drift, fade, and die — a soft halo glows where the cursor rests.

ReactWebGLInteractiveFont#interactive#particles#grid#perspective#sparkles#pointer#additive#premium

Usage

import TouchSparkleGrid from '@crazygl/hero-touch-sparkle-grid';

export default function Hero() {
  return (
    <TouchSparkleGrid
      heading="Touch the grid."
      sparkleRate={2}
      colorA="#ff3eb5"
      colorB="#3effff"
    />
  );
}

Notable controls

  • Sparkle rate (0.54, sweet spot ~2) — sparks emitted per unit of pointer travel; higher makes denser, more lavish trails.
  • Sparkle lifetime (0.42.5s, default 1.2) — how long embers linger before fading; longer leaves a glowing wake.
  • Perspective depth (0.41.6) — how far the floor recedes; larger pushes the vanishing point deeper for a more dramatic stage.
  • Horizon fade (01, default 0.85) — how quickly the grid dissolves into the dark; high values sell the depth.
  • Halo intensity (03) — brightness of the glow under the cursor; set to 0 to remove it entirely.
01 · Install the package

One command, zero config.

npm install @crazygl/hero-touch-sparkle-grid
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 TouchSparkleGrid from '@crazygl/hero-touch-sparkle-grid';

export default function Landing() {
  return (
    <TouchSparkleGrid />
  );
}
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 TouchSparkleGrid from '@crazygl/hero-touch-sparkle-grid';

export default function Page() {
  return (
    <section>
      <TouchSparkleGrid
        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

Gravity Grid

Perspective-tilted wireframe plane warped by metallic spheres. The grid bends around each ball like a rubber sheet, and the cursor adds a fourth distortion well.

Particle Slider

A cinematic auto-playing slider built on one shared particle engine. Each slide picks a visualization — magnetic sphere, spiral galaxy, liquid wave field, vortex portal, image-to-particle, particle text, neural cloud, cube lattice, orbital rings, terrain — and the thousands of particles MORPH from one formation into the next instead of resetting. The field reacts to the pointer (repel / attract / magnetic). Per-slide heading, subheading, CTA, text transition and layout. Dark, premium, developer-grade.

Magnetic Field Lines

Thousands of particles stream along smooth, divergence-free flow lines — a live visualisation of an invisible magnetic field. The pointer drops a new magnetic pole into the field; lines visibly bend, swirl, and repel around the cursor.

Fireflies

Glowing fireflies drift over a stylised mountain horizon. The cursor attracts the swarm and makes them flare bright.

Particle Typography

A dusty 3D volume of tiny floating characters — abstract micro-typography drifting in depth. The pointer pulls characters into rings and streams, and where the cursor dwells the dust briefly organises itself into a real word before scattering back into the haze.

Magnetic Dot Cloud

Thousands of floating 3D points settle into a soft sphere of light. Wherever you point, a gravity well opens — nearby dots erupt radially outward from the sphere's centre, bulging the cloud like a living particle sculpture. A critically-damped spring eases every swell in and out; idle, the whole field drifts and turns.
Live customizer

Touch Sparkle Grid

Grid colourHue of the perspective grid lines. Cool blues read as digital floor; warm tones lean retro.Grid spacing0.18Distance between grid lines in floor-space units. Smaller = denser mesh.Perspective depth1How far the floor recedes. Larger = deeper vanishing point.Horizon fade0.85How aggressively the grid dissolves into the horizon. 0 = grid extends to infinity, 1 = fades quickly into the dark.Sparkle size4pxBase point size for each spark in device pixels.Sparkle rate2Sparks emitted per unit of pointer travel. Higher = denser trail.Sparkle lifetime1.2sHow long each spark lives before recycling.Sparkle AHot magenta-pink end of the random palette.Sparkle BCool cyan end of the random palette.Halo radius0.35Size of the soft glow that follows the pointer.Halo intensity1.2Brightness of the pointer halo. 0 removes it entirely.Transparent backgroundBackgroundBackdrop colour behind the grid. Near-black sells the depth.InteractivityWhich input drives the hero — try Scroll if you want the page to drive motion.
CrazyGL · crazygl.comProgrammable hero sections for real websites.