Installation
Choose your framework. The registry installs one component file and its PixiJS 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/MetallicLogo.svelte and installs its dependencies.
The registry command writes the component to src/components/ui/MetallicLogo.tsx and installs its dependencies.
The registry command writes the component to src/components/ui/MetallicLogo.vue and installs its dependencies.
The generated component builds its SVG distance field in the browser and does not upload artwork to a server.
The studio environment is procedural, so the component does not need an HDR texture.
Overview
The SVG silhouette is converted to the same signed-distance geometry used by Physical Glass Logo, including its transform, bevel profile, corner smoothing, and internal-ridge handling.
A conductive GGX material reflects a procedural studio environment with white panels and warm and cool lights. Perspective rays keep the flat face visually active while the bevel bends those reflections around the outline.
Basic usage
The shader fills its parent. Your layout decides whether that parent is a card, hero, or viewport.
- Bevel width, height, curvature, and surface smoothing match the geometry controls in Physical Glass Logo.
- Lower roughness for sharp chrome reflections. Raise it for a softer satin finish.
- Brushing perturbs only the material normal; it does not change the SVG silhouette or bevel profile.
- Set Speed to zero to stop the studio lights, then use Environment rotation to position them manually.
- Simple, filled SVG silhouettes produce the cleanest normals and internal ridges.
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 metallic silhouette.
- Type
string- Range / values
Inline SVG, URL, or data URL
Speed of the reflected studio lights.
- Type
number- Default
0.35- Range / values
0–2
Size of the SVG metal solid 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 metal silhouette in degrees.
- Type
number- Default
0- Range / values
-180–180
Width of the sloped front edge, measured inward from the SVG outline.
- Type
number- Default
0.5- Range / values
0.01–0.5
Rise from the outer edge to the central face; higher values make the bevel steeper.
- Type
number- Default
0.25- Range / values
0–0.25
Controls how quickly the bevel flattens toward the center.
- Type
number- Default
6- Range / values
0.25–6
Radius used to average the distance-field gradient around corners and internal ridges.
- Type
number- Default
0.01- Range / values
0.0005–0.04
Base reflectance color of the metal.
- Type
string- Default
"#C5C8D2"
Blends between a coated surface and conductive metal.
- Type
number- Default
1- Range / values
0–1
Softness of the reflected lights and specular highlight.
- Type
number- Default
0.18- Range / values
0.04–1
Strength of the fine directional texture in the metal.
- Type
number- Default
0.08- Range / values
0–1
Color of the cool studio light reflected by the metal.
- Type
string- Default
"#5867D3"
Color of the warm studio light reflected by the metal.
- Type
string- Default
"#D7A06E"
Brightness of the reflected studio environment.
- Type
number- Default
1.25- Range / values
0–3
Contrast between dark and bright reflected panels.
- Type
number- Default
1.1- Range / values
0.25–2
Starting angle of the reflected studio lights.
- Type
number- Default
15- Range / values
0–360
Stops the render loop while keeping the current frame visible.
- Type
boolean- Default
false
Enables pointer-driven effects when the shader supports them.
- 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
Inline SVG markup, an SVG URL, or a data URL used as the metallic silhouette.
- Type
string- Range / values
Inline SVG, URL, or data URL
Speed of the reflected studio lights.
- Type
number- Default
0.35- Range / values
0–2
Size of the SVG metal solid 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 metal silhouette in degrees.
- Type
number- Default
0- Range / values
-180–180
Width of the sloped front edge, measured inward from the SVG outline.
- Type
number- Default
0.5- Range / values
0.01–0.5
Rise from the outer edge to the central face; higher values make the bevel steeper.
- Type
number- Default
0.25- Range / values
0–0.25
Controls how quickly the bevel flattens toward the center.
- Type
number- Default
6- Range / values
0.25–6
Radius used to average the distance-field gradient around corners and internal ridges.
- Type
number- Default
0.01- Range / values
0.0005–0.04
Base reflectance color of the metal.
- Type
string- Default
"#C5C8D2"
Blends between a coated surface and conductive metal.
- Type
number- Default
1- Range / values
0–1
Softness of the reflected lights and specular highlight.
- Type
number- Default
0.18- Range / values
0.04–1
Strength of the fine directional texture in the metal.
- Type
number- Default
0.08- Range / values
0–1
Color of the cool studio light reflected by the metal.
- Type
string- Default
"#5867D3"
Color of the warm studio light reflected by the metal.
- Type
string- Default
"#D7A06E"
Brightness of the reflected studio environment.
- Type
number- Default
1.25- Range / values
0–3
Contrast between dark and bright reflected panels.
- Type
number- Default
1.1- Range / values
0.25–2
Starting angle of the reflected studio lights.
- Type
number- Default
15- Range / values
0–360
Stops the render loop while keeping the current frame visible.
- Type
boolean- Default
false
Enables pointer-driven effects when the shader supports them.
- 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
MetallicLogoHandle- 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 metallic silhouette.
- Type
string- Range / values
Inline SVG, URL, or data URL
Speed of the reflected studio lights.
- Type
number- Default
0.35- Range / values
0–2
Size of the SVG metal solid 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 metal silhouette in degrees.
- Type
number- Default
0- Range / values
-180–180
Width of the sloped front edge, measured inward from the SVG outline.
- Type
number- Default
0.5- Range / values
0.01–0.5
Rise from the outer edge to the central face; higher values make the bevel steeper.
- Type
number- Default
0.25- Range / values
0–0.25
Controls how quickly the bevel flattens toward the center.
- Type
number- Default
6- Range / values
0.25–6
Radius used to average the distance-field gradient around corners and internal ridges.
- Type
number- Default
0.01- Range / values
0.0005–0.04
Base reflectance color of the metal.
- Type
string- Default
"#C5C8D2"
Blends between a coated surface and conductive metal.
- Type
number- Default
1- Range / values
0–1
Softness of the reflected lights and specular highlight.
- Type
number- Default
0.18- Range / values
0.04–1
Strength of the fine directional texture in the metal.
- Type
number- Default
0.08- Range / values
0–1
Color of the cool studio light reflected by the metal.
- Type
string- Default
"#5867D3"
Color of the warm studio light reflected by the metal.
- Type
string- Default
"#D7A06E"
Brightness of the reflected studio environment.
- Type
number- Default
1.25- Range / values
0–3
Contrast between dark and bright reflected panels.
- Type
number- Default
1.1- Range / values
0.25–2
Starting angle of the reflected studio lights.
- Type
number- Default
15- Range / values
0–360
Stops the render loop while keeping the current frame visible.
- Type
boolean- Default
false
Enables pointer-driven effects when the shader supports them.
- 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