Installation
Choose your framework. The registry installs the component and its runtime dependency.
Installation unavailable
The preview is public, but its installable release is still being prepared.
The registry command writes the component to src/lib/components/ui/GrainyMesh.svelte and installs its dependencies.
The registry command writes the component to src/components/ui/GrainyMesh.tsx and installs its dependencies.
The registry command writes the component to src/components/ui/GrainyMesh.vue and installs its dependencies.
Basic usage
The shader fills its parent. Your layout decides whether that parent is a card, hero, or viewport.
Component API
Types below match the selected Svelte component.
Additional classes for the parent-sized root element.
- Type
string
Speed of the moving color pools.
- Type
number- Default
0.35- Range / values
0–2
Amount of movement and bending in the color pools.
- Type
number- Default
2- Range / values
0–2
Size of the color pools within the canvas.
- Type
number- Default
2- Range / values
0.4–3
Clockwise rotation of the composition in degrees.
- Type
number- Default
0- Range / values
-180–180
Width of the soft transitions between colors.
- Type
number- Default
0.5- Range / values
0–2
Dark color between the light pools.
- Type
string- Default
"#15161D"
Color around the edges of the light pools.
- Type
string- Default
"#5858D6"
Color of the broad middle tones.
- Type
string- Default
"#9990DF"
Color at the brightest part of the pools.
- Type
string- Default
"#D6B7DD"
Strength of the dusty texture and scattered pigment.
- Type
number- Default
1- Range / values
0–1
Size of the coarse grain in CSS pixels, independent of the pattern.
- Type
number- Default
0.5- Range / values
0.5–4
Stops the render loop while keeping the current frame visible.
- Type
boolean- Default
false
Caps render resolution independently from the element size.
- Type
number- Default
2- Range / values
1–3
Scales GPU resolution without changing layout dimensions.
- Type
number- Default
1- Range / values
0.25–1
Runs after the shader is mounted successfully, including a WebGL fallback.
- Type
(backend: ShaderBackend) => void- Range / values
webgpu, webgl
Runs when automatic initialization changes the requested WebGPU backend to WebGL.
- Type
(backend: ShaderBackend, reason: string) => void- Range / values
webgl
Reports source-loading or renderer failures so the host application can decide how to recover.
- Type
(error: Error) => void
Exposes the imperative component lifecycle methods.
- Type
Component public instance- Range / values
pause, resume, reset, resize, destroy
Types below match the selected React component.
Additional classes for the parent-sized root element.
- Type
string
Speed of the moving color pools.
- Type
number- Default
0.35- Range / values
0–2
Amount of movement and bending in the color pools.
- Type
number- Default
2- Range / values
0–2
Size of the color pools within the canvas.
- Type
number- Default
2- Range / values
0.4–3
Clockwise rotation of the composition in degrees.
- Type
number- Default
0- Range / values
-180–180
Width of the soft transitions between colors.
- Type
number- Default
0.5- Range / values
0–2
Dark color between the light pools.
- Type
string- Default
"#15161D"
Color around the edges of the light pools.
- Type
string- Default
"#5858D6"
Color of the broad middle tones.
- Type
string- Default
"#9990DF"
Color at the brightest part of the pools.
- Type
string- Default
"#D6B7DD"
Strength of the dusty texture and scattered pigment.
- Type
number- Default
1- Range / values
0–1
Size of the coarse grain in CSS pixels, independent of the pattern.
- Type
number- Default
0.5- Range / values
0.5–4
Stops the render loop while keeping the current frame visible.
- Type
boolean- Default
false
Caps render resolution independently from the element size.
- Type
number- Default
2- Range / values
1–3
Scales GPU resolution without changing layout dimensions.
- Type
number- Default
1- Range / values
0.25–1
Runs after the shader is mounted successfully, including a WebGL fallback.
- Type
(backend: ShaderBackend) => void- Range / values
webgpu, webgl
Runs when automatic initialization changes the requested WebGPU backend to WebGL.
- Type
(backend: ShaderBackend, reason: string) => void- Range / values
webgl
Reports source-loading or renderer failures so the host application can decide how to recover.
- Type
(error: Error) => void
Exposes the imperative component lifecycle methods.
- Type
GrainyMeshHandle- Range / values
pause, resume, reset, resize, destroy
Types below match the selected Vue component.
Additional classes for the parent-sized root element.
- Type
string
Speed of the moving color pools.
- Type
number- Default
0.35- Range / values
0–2
Amount of movement and bending in the color pools.
- Type
number- Default
2- Range / values
0–2
Size of the color pools within the canvas.
- Type
number- Default
2- Range / values
0.4–3
Clockwise rotation of the composition in degrees.
- Type
number- Default
0- Range / values
-180–180
Width of the soft transitions between colors.
- Type
number- Default
0.5- Range / values
0–2
Dark color between the light pools.
- Type
string- Default
"#15161D"
Color around the edges of the light pools.
- Type
string- Default
"#5858D6"
Color of the broad middle tones.
- Type
string- Default
"#9990DF"
Color at the brightest part of the pools.
- Type
string- Default
"#D6B7DD"
Strength of the dusty texture and scattered pigment.
- Type
number- Default
1- Range / values
0–1
Size of the coarse grain in CSS pixels, independent of the pattern.
- Type
number- Default
0.5- Range / values
0.5–4
Stops the render loop while keeping the current frame visible.
- Type
boolean- Default
false
Caps render resolution independently from the element size.
- Type
number- Default
2- Range / values
1–3
Scales GPU resolution without changing layout dimensions.
- Type
number- Default
1- Range / values
0.25–1
Runs after the shader is mounted successfully, including a WebGL fallback.
- Type
(backend: ShaderBackend) => void- Range / values
webgpu, webgl
Runs when automatic initialization changes the requested WebGPU backend to WebGL.
- Type
(backend: ShaderBackend, reason: string) => void- Range / values
webgl
Reports source-loading or renderer failures so the host application can decide how to recover.
- Type
(error: Error) => void
Exposes the imperative component lifecycle methods.
- Type
Component public instance- Range / values
pause, resume, reset, resize, destroy