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/AsciiLogo.svelte and installs its dependencies.
The registry command writes the component to src/components/ui/AsciiLogo.tsx and installs its dependencies.
The registry command writes the component to src/components/ui/AsciiLogo.vue and installs its dependencies.
The generated component builds its SVG distance field locally and does not upload artwork to a server.
The bitmap glyph set and film grain are procedural, so no font or texture assets are required. Bloom is composed in a second GPU pass.
Overview
ASCII Logo converts an SVG silhouette into a stable grid of bitmap characters over the darkest product-palette color.
A soft band travels from the bottom to the top of the logo, changing glyph shapes and feeding a bloom layer while luminance-aware film grain unifies the result.
Basic usage
The shader fills its parent. Your layout decides whether that parent is a card, hero, or viewport.
- Use Glyph size to balance silhouette fidelity against the legibility of individual characters.
- Set Speed to zero for a static logo. Shimmer width and intensity remain available for positioning a still highlight.
- Simple, filled SVG silhouettes retain the clearest outline at larger glyph sizes.
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 ASCII silhouette.
- Type
string- Range / values
Inline SVG, URL, or data URL
Speed of the shimmer as it rises through the logo.
- Type
number- Default
0.8- Range / values
0–2
Size of the SVG silhouette 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 ASCII silhouette in degrees.
- Type
number- Default
0- Range / values
-180–180
Color behind the ASCII silhouette.
- Type
string- Default
"#131315"
Base color of the ASCII characters.
- Type
string- Default
"#131315"
Width and height of each ASCII cell in render pixels.
- Type
number- Default
12- Range / values
8–32
Vertical spread of the light moving through the glyphs.
- Type
number- Default
0.35- Range / values
0.03–0.5
Amount of white light mixed into the active glyphs.
- Type
number- Default
0.9- Range / values
0–1.5
Minimum glyph luminance that contributes to the bloom.
- Type
number- Default
0.2- Range / values
0.2–0.95
Width of the transition into the extracted highlights.
- Type
number- Default
0.4- Range / values
0.01–0.4
Horizontal and vertical bloom radius in render pixels.
- Type
number- Default
48- Range / values
0–48
Brightness of the blurred glyph highlights.
- Type
number- Default
3- Range / values
0–3
Strength of the luminance-aware grain across the canvas.
- Type
number- Default
0.08- Range / values
0–0.3
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 ASCII silhouette.
- Type
string- Range / values
Inline SVG, URL, or data URL
Speed of the shimmer as it rises through the logo.
- Type
number- Default
0.8- Range / values
0–2
Size of the SVG silhouette 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 ASCII silhouette in degrees.
- Type
number- Default
0- Range / values
-180–180
Color behind the ASCII silhouette.
- Type
string- Default
"#131315"
Base color of the ASCII characters.
- Type
string- Default
"#131315"
Width and height of each ASCII cell in render pixels.
- Type
number- Default
12- Range / values
8–32
Vertical spread of the light moving through the glyphs.
- Type
number- Default
0.35- Range / values
0.03–0.5
Amount of white light mixed into the active glyphs.
- Type
number- Default
0.9- Range / values
0–1.5
Minimum glyph luminance that contributes to the bloom.
- Type
number- Default
0.2- Range / values
0.2–0.95
Width of the transition into the extracted highlights.
- Type
number- Default
0.4- Range / values
0.01–0.4
Horizontal and vertical bloom radius in render pixels.
- Type
number- Default
48- Range / values
0–48
Brightness of the blurred glyph highlights.
- Type
number- Default
3- Range / values
0–3
Strength of the luminance-aware grain across the canvas.
- Type
number- Default
0.08- Range / values
0–0.3
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
AsciiLogoHandle- 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 ASCII silhouette.
- Type
string- Range / values
Inline SVG, URL, or data URL
Speed of the shimmer as it rises through the logo.
- Type
number- Default
0.8- Range / values
0–2
Size of the SVG silhouette 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 ASCII silhouette in degrees.
- Type
number- Default
0- Range / values
-180–180
Color behind the ASCII silhouette.
- Type
string- Default
"#131315"
Base color of the ASCII characters.
- Type
string- Default
"#131315"
Width and height of each ASCII cell in render pixels.
- Type
number- Default
12- Range / values
8–32
Vertical spread of the light moving through the glyphs.
- Type
number- Default
0.35- Range / values
0.03–0.5
Amount of white light mixed into the active glyphs.
- Type
number- Default
0.9- Range / values
0–1.5
Minimum glyph luminance that contributes to the bloom.
- Type
number- Default
0.2- Range / values
0.2–0.95
Width of the transition into the extracted highlights.
- Type
number- Default
0.4- Range / values
0.01–0.4
Horizontal and vertical bloom radius in render pixels.
- Type
number- Default
48- Range / values
0–48
Brightness of the blurred glyph highlights.
- Type
number- Default
3- Range / values
0–3
Strength of the luminance-aware grain across the canvas.
- Type
number- Default
0.08- Range / values
0–0.3
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