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/ParticleLogo.svelte and installs its dependencies.
The registry command writes the component to src/components/ui/ParticleLogo.tsx and installs its dependencies.
The registry command writes the component to src/components/ui/ParticleLogo.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
Inline SVG markup, an SVG URL, or a data URL used as the particle silhouette.
- Type
string- Range / values
Inline SVG, URL, or data URL
Size of the particle logo within its container.
- Type
number- Default
1- Range / values
0.2–2
Horizontal position in normalized container units.
- Type
number- Default
0- Range / values
-0.5–0.5
Vertical position in normalized container units.
- Type
number- Default
0- Range / values
-0.5–0.5
Clockwise rotation of the particle logo in degrees.
- Type
number- Default
0- Range / values
-180–180
Number of grains distributed through the logo. Higher counts form a denser silhouette.
- Type
number- Default
80000- Range / values
2000–80000
Diameter of a grain in CSS pixels before perspective scaling.
- Type
number- Default
2- Range / values
0.5–5
Thickness of the particle cloud relative to the logo.
- Type
number- Default
0.09- Range / values
0–0.6
Spread of the grains around the SVG outline, giving the volume soft, sandy edges.
- Type
number- Default
0.0225- Range / values
0–0.08
Reach of the cursor relative to the logo size.
- Type
number- Default
0.45- Range / values
0.03–1
Distance particles travel away from their resting positions near the cursor.
- Type
number- Default
0.1- Range / values
0–0.2
Speed of cursor tracking and the return to the resting shape.
- Type
number- Default
6.3- Range / values
0.5–20
Maximum cursor-driven tilt in degrees.
- Type
number- Default
0- Range / values
0–24
Speed of the gentle particle motion within the resting logo.
- Type
number- Default
0.04- Range / values
0–2
Distance particles drift from the SVG silhouette while idle.
- Type
number- Default
0.01125- Range / values
0–0.04
Base color of the grains before lighting.
- Type
string- Default
"#9084FF"
Color of the light and specular highlights.
- Type
string- Default
"#F0F2FF"
Ambient tint of grains deeper inside the logo.
- Type
string- Default
"#363764"
Direction of the light around the front of the logo.
- Type
number- Default
135- Range / values
0–360
Brightness of the directional light and particle highlights.
- Type
number- Default
1.2- Range / values
0–3
Stops the render loop while keeping the current frame visible.
- Type
boolean- Default
false
Enables particle displacement and tilt around the pointer. Disabling fades out the pointer response; the animation continues.
- Type
boolean- Default
true- Range / values
true, 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
Inline SVG markup, an SVG URL, or a data URL used as the particle silhouette.
- Type
string- Range / values
Inline SVG, URL, or data URL
Size of the particle logo within its container.
- Type
number- Default
1- Range / values
0.2–2
Horizontal position in normalized container units.
- Type
number- Default
0- Range / values
-0.5–0.5
Vertical position in normalized container units.
- Type
number- Default
0- Range / values
-0.5–0.5
Clockwise rotation of the particle logo in degrees.
- Type
number- Default
0- Range / values
-180–180
Number of grains distributed through the logo. Higher counts form a denser silhouette.
- Type
number- Default
80000- Range / values
2000–80000
Diameter of a grain in CSS pixels before perspective scaling.
- Type
number- Default
2- Range / values
0.5–5
Thickness of the particle cloud relative to the logo.
- Type
number- Default
0.09- Range / values
0–0.6
Spread of the grains around the SVG outline, giving the volume soft, sandy edges.
- Type
number- Default
0.0225- Range / values
0–0.08
Reach of the cursor relative to the logo size.
- Type
number- Default
0.45- Range / values
0.03–1
Distance particles travel away from their resting positions near the cursor.
- Type
number- Default
0.1- Range / values
0–0.2
Speed of cursor tracking and the return to the resting shape.
- Type
number- Default
6.3- Range / values
0.5–20
Maximum cursor-driven tilt in degrees.
- Type
number- Default
0- Range / values
0–24
Speed of the gentle particle motion within the resting logo.
- Type
number- Default
0.04- Range / values
0–2
Distance particles drift from the SVG silhouette while idle.
- Type
number- Default
0.01125- Range / values
0–0.04
Base color of the grains before lighting.
- Type
string- Default
"#9084FF"
Color of the light and specular highlights.
- Type
string- Default
"#F0F2FF"
Ambient tint of grains deeper inside the logo.
- Type
string- Default
"#363764"
Direction of the light around the front of the logo.
- Type
number- Default
135- Range / values
0–360
Brightness of the directional light and particle highlights.
- Type
number- Default
1.2- Range / values
0–3
Stops the render loop while keeping the current frame visible.
- Type
boolean- Default
false
Enables particle displacement and tilt around the pointer. Disabling fades out the pointer response; the animation continues.
- Type
boolean- Default
true- Range / values
true, 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
ParticleLogoHandle- Range / values
pause, resume, reset, resize, destroy
Types below match the selected Vue component.
Additional classes for the parent-sized root element.
- Type
string
Inline SVG markup, an SVG URL, or a data URL used as the particle silhouette.
- Type
string- Range / values
Inline SVG, URL, or data URL
Size of the particle logo within its container.
- Type
number- Default
1- Range / values
0.2–2
Horizontal position in normalized container units.
- Type
number- Default
0- Range / values
-0.5–0.5
Vertical position in normalized container units.
- Type
number- Default
0- Range / values
-0.5–0.5
Clockwise rotation of the particle logo in degrees.
- Type
number- Default
0- Range / values
-180–180
Number of grains distributed through the logo. Higher counts form a denser silhouette.
- Type
number- Default
80000- Range / values
2000–80000
Diameter of a grain in CSS pixels before perspective scaling.
- Type
number- Default
2- Range / values
0.5–5
Thickness of the particle cloud relative to the logo.
- Type
number- Default
0.09- Range / values
0–0.6
Spread of the grains around the SVG outline, giving the volume soft, sandy edges.
- Type
number- Default
0.0225- Range / values
0–0.08
Reach of the cursor relative to the logo size.
- Type
number- Default
0.45- Range / values
0.03–1
Distance particles travel away from their resting positions near the cursor.
- Type
number- Default
0.1- Range / values
0–0.2
Speed of cursor tracking and the return to the resting shape.
- Type
number- Default
6.3- Range / values
0.5–20
Maximum cursor-driven tilt in degrees.
- Type
number- Default
0- Range / values
0–24
Speed of the gentle particle motion within the resting logo.
- Type
number- Default
0.04- Range / values
0–2
Distance particles drift from the SVG silhouette while idle.
- Type
number- Default
0.01125- Range / values
0–0.04
Base color of the grains before lighting.
- Type
string- Default
"#9084FF"
Color of the light and specular highlights.
- Type
string- Default
"#F0F2FF"
Ambient tint of grains deeper inside the logo.
- Type
string- Default
"#363764"
Direction of the light around the front of the logo.
- Type
number- Default
135- Range / values
0–360
Brightness of the directional light and particle highlights.
- Type
number- Default
1.2- Range / values
0–3
Stops the render loop while keeping the current frame visible.
- Type
boolean- Default
false
Enables particle displacement and tilt around the pointer. Disabling fades out the pointer response; the animation continues.
- Type
boolean- Default
true- Range / values
true, 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