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/PhosphorMesh.svelte and installs its dependencies.
The registry command writes the component to src/components/ui/PhosphorMesh.tsx and installs its dependencies.
The registry command writes the component to src/components/ui/PhosphorMesh.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 traveling crests and evolving waves. Set to zero for a still surface.
- Type
number- Default
0.6- Range / values
0–3
Size of the folds. The pattern continues beyond every edge at any scale.
- Type
number- Default
1- Range / values
0.25–2.5
Rotation of the isometric composition in the screen plane, in degrees.
- Type
number- Default
0- Range / values
-180–180
Height of the surface relief under the fixed isometric camera.
- Type
number- Default
1- Range / values
0–2
Number of dots across each fold.
- Type
number- Default
2- Range / values
0.35–2
Strength of the soft light around the ridges.
- Type
number- Default
3- Range / values
0–3
Overall brightness of the surface and its highlights.
- Type
number- Default
1.5- Range / values
0.25–4
Color of the dark spaces between dots.
- Type
string- Default
"#16171D"
Color of the dots across the surface and bright crests.
- Type
string- Default
"#F0F2FF"
Color of the diffused light between dots.
- Type
string- Default
"#C2C6FF"
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 traveling crests and evolving waves. Set to zero for a still surface.
- Type
number- Default
0.6- Range / values
0–3
Size of the folds. The pattern continues beyond every edge at any scale.
- Type
number- Default
1- Range / values
0.25–2.5
Rotation of the isometric composition in the screen plane, in degrees.
- Type
number- Default
0- Range / values
-180–180
Height of the surface relief under the fixed isometric camera.
- Type
number- Default
1- Range / values
0–2
Number of dots across each fold.
- Type
number- Default
2- Range / values
0.35–2
Strength of the soft light around the ridges.
- Type
number- Default
3- Range / values
0–3
Overall brightness of the surface and its highlights.
- Type
number- Default
1.5- Range / values
0.25–4
Color of the dark spaces between dots.
- Type
string- Default
"#16171D"
Color of the dots across the surface and bright crests.
- Type
string- Default
"#F0F2FF"
Color of the diffused light between dots.
- Type
string- Default
"#C2C6FF"
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
PhosphorMeshHandle- 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 traveling crests and evolving waves. Set to zero for a still surface.
- Type
number- Default
0.6- Range / values
0–3
Size of the folds. The pattern continues beyond every edge at any scale.
- Type
number- Default
1- Range / values
0.25–2.5
Rotation of the isometric composition in the screen plane, in degrees.
- Type
number- Default
0- Range / values
-180–180
Height of the surface relief under the fixed isometric camera.
- Type
number- Default
1- Range / values
0–2
Number of dots across each fold.
- Type
number- Default
2- Range / values
0.35–2
Strength of the soft light around the ridges.
- Type
number- Default
3- Range / values
0–3
Overall brightness of the surface and its highlights.
- Type
number- Default
1.5- Range / values
0.25–4
Color of the dark spaces between dots.
- Type
string- Default
"#16171D"
Color of the dots across the surface and bright crests.
- Type
string- Default
"#F0F2FF"
Color of the diffused light between dots.
- Type
string- Default
"#C2C6FF"
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