Kaleidoscope Free for Aperveil 1.0 WebGPU shader

Find a new symmetry.

A mirrored kaleidoscope background for React with adjustable segments and twist. Explore color looks and export the animated WebGPU effect.

Part of the Free collection for Aperveil 1.0. Public live preview and Color Looks are open. Free Export Kits do not require an account. Purchasing is not available yet.

Free for Aperveil 1.0React exportRaw WGSL

Inside Kaleidoscope.

Kaleidoscope folds a procedural field into mirrored angular segments. Segment count changes the symmetry while zoom, bands, twist and spin shape the movement.

The effect does not sample a camera feed or uploaded image. It generates its own pattern and does not output editable vector geometry.

0.586 ms legacy timing (method not recorded; not a pure GPU measurement). 1440x900 @ dpr 2; Metal driver on macOS Version 26.6.2 (Build 25G83); measured 2026-09-02. This is a recorded headless sample, not a browser FPS or mobile-performance guarantee.

Segments

Number of mirrored wedges around the centre.

Zoom

How much of the pattern fits in each wedge; higher values make it finer.

Band count

Number of interference bands in the pattern.

Sharpness

How crisp the edges between the two colours are.

Color Looks preserve these settings. Open the editor for all 13 controls.

From preview to your project.

Choose a Look, tune it in the editor, then download the Export Kit. Install the runtime and copy the generated component into your project.

Every control in the editor is a typed prop. Leave a prop out to keep the value you exported; change one and the running shader updates without restarting. Give the surface a size and pass fallback for browsers without WebGPU.

In Next.js, use a client component and give its container an explicit size. Keep headings, links and accessible content in HTML above the decorative canvas.

Part of the Free collection for Aperveil 1.0. Public live preview and Color Looks are open. Free Export Kits do not require an account. Purchasing is not available yet.

Open editor & export
Markdown guide

Usage example — download Kaleidoscope.tsx from the editor first. This example imports that local file; it is not the shader component itself.

Terminal
npm install ./vendor/aperveil-runtime-0.1.0.tgz ./vendor/aperveil-react-0.1.0.tgz
Kaleidoscope usage
"use client";

import Kaleidoscope from "./Kaleidoscope";

export default function Hero() {
  return (
    <Kaleidoscope
      className="hero-shader"
      segments={12} background="#07060fff"
      fallback={<div className="hero-shader-fallback" />}
    />
  );
}

// .hero-shader { width: 100%; height: 560px; }

Download and extract the complete Export Kit first. Run its local package command from the ZIP root, then copy the component into your project. Public npm and CLI distribution is coming soon.

Made for a real interface.

Create a visual opening for a creative festival. Keep the main message short and positioned away from the busiest central intersections.

Kaleidoscope used behind an example interface
MANYFOLD / CREATIVE ENCOUNTERSExample composition

A gathering of perspectives

One space. Many ways to see.

An invitation to meet at the intersection of moving image, sound and experimental design.

Look

Moving image and new forms.

Listen

Sound from another angle.

Illustrative layout, not a customer project. The image is a still preview of the selected Look.

An illustrative layout. Your content stays in HTML; the shader sets the atmosphere.

Try this surface in the editor

Before you ship.

What this surface does, where it fits, and where it stops.

All shaders

Make Kaleidoscope yours.

Open editor