Toggle Sidebar B
AppearanceLight & dark mode D

Aero Shards

A GPU-driven wind sculpture of folded foil shards with crisp detail, content-safe placements, and responsive pointer interactions.

Default

Move the pointer to push the shards, click for a ripple, and press and hold to gather them around the cursor. Needs a browser with WebGPU; elsewhere the background color still shows and an error event fires. Every prop is wired to the controls underneath.

Light previewReplay previewOpen in new tab
New Creative Components

Don't touch them, they are pretty sharp!

Get started Learn more

Customize

Background
Shards
Accent
Placement
Material
Detail
Flow
Effect
Interaction
Scale1
Spread1
Depth1
Speed1
Spin1
Density1.5
Shard Size1.1
Stretch1
Turbulence1
Glow1
Edge Softness2
Bloom0.5
Grain0.05
Chromatic Aberration0.0075
Transition Duration1
Interaction Radius1.5
Interaction Strength0.5
Ripple Intensity1

API Reference

AeroShards

PropTypeDefaultDescription
backgroundColorstring"#120F17"Background behind the wind sculpture. Lighting and bloom adapt automatically to light surfaces.
shardColorstring"#896ABD"Primary body color for the shards.
accentColorstring"#A855F7"Accent color used to derive reflections, depth, and highlights.
placement'right' | 'left' | 'center' | 'full'"full"Places the sculpture while preserving a content-safe region.
material'pearl' | 'chrome' | 'satin'"pearl"Applies a complete lighting and surface finish.
detail'bold' | 'balanced' | 'fine'"balanced"Balances shard count and size into a finished visual texture.
flow'stream' | 'vortex' | 'ribbon'"stream"Morphs the same shards between a flowing stream, circulating vortex, and twisted ribbon without restarting the animation.
rippleIntensitynumber1Strength of the click/release wave and its accent-colored illumination. Set to 0 to disable ripples.
holdToGatherbooleantruePress and hold to gather a softly circulating cloud around the cursor; release to unfurl. Respects interaction="none", pause, and reduced motion.
effect'none' | 'dither' | 'ascii'"none"Applies ordered color dithering or compact, shape-matched ASCII before postprocessing. Stylized modes use fewer, larger shards for readability; none preserves the original render.
scalenumber1Zooms the complete shard field without changing its shard count or individual shard size.
spreadnumber1Controls how tightly the shards gather around the flow path.
depthnumber1Controls front-to-back volume and perspective variation.
speednumber1Controls the shared travel speed of every shard.
spinnumber1Controls how quickly shards roll around their direction of travel.
interaction'none' | 'repel' | 'attract'"repel"Disables interaction or enables damped cursor repulsion/attraction and click ripples across the field.
densitynumber1.5Fine-tuning multiplier for the shard count selected by detail.
shardSizenumber1.1Fine-tuning multiplier for the shard size selected by detail.
stretchnumber1Controls shard length without changing their overall count.
turbulencenumber1Fine-tuning multiplier for the turbulence produced by motion.
glownumber1Fine-tuning multiplier for emissive edges and reflected highlights.
edgeSoftnessnumber2Controls analytic antialiasing without blurring the whole image.
bloomnumber0.5Adds a soft halo without blurring the shards; on light backgrounds the halo uses the shard and accent colors.
grainnumber0.05Adds screen-space film grain; set to 0 for a completely clean render.
chromaticAberrationnumber0.0075Adds RGB edge separation; set to 0 for a color-neutral finish. Dither and ASCII use subtler separation to preserve their fine patterns.
transitionDurationnumber1Controls the transition time for placement and flow formation changes.
interactionRadiusnumber1.5Scales the soft, flow-aligned reach of the cursor interaction.
interactionStrengthnumber0.5Fine-tuning multiplier for the selected interaction force.
pausedbooleanfalseFreezes the shard field.
@error(error: Error) => void-Emitted when WebGPU setup or rendering fails.

Accessibility

Keyboard shortcuts and ARIA behavior.

  • The root is aria-hidden and ignores pointer events; it is a decorative background, so put real content above it.
  • With prefers-reduced-motion set, the shard field freezes and click ripples are skipped.
  • Rendering sleeps while the element is off screen or the tab is hidden.