material_palette library
Classes
- AnimatedShaderParams
- An ImplicitlyAnimatedWidget that smoothly transitions ShaderParams (and an optional backgroundColor) whenever they change.
- AnimatedShaderParamsState
- State for AnimatedShaderParams.
- BurnShaderWrap
- A shader wrapper that applies a burn dissolve effect to its child.
- ClickableRippleShaderWrap
- A shader wrapper that applies a click/touch-triggered ripple effect.
- FbmGradientShaderFill
- A shader wrapper that renders an FBM (Fractional Brownian Motion) gradient effect.
- GrittyGradientShaderFill
- A shader wrapper that renders an animated gritty gradient effect.
- MarbleSmearShaderFill
- A shader wrapper that renders an animated marble/agate pattern with smudge interaction.
- Offset3D
- Simple 3D offset class for light direction.
- ParamGroups
- Composable building blocks for shader definitions.
- PerlinGradientShaderFill
- A shader wrapper that renders a Perlin noise gradient effect.
- PixelDissolveShaderWrap
- A shader wrapper that applies a pixel dissolve effect to its child.
- RadialBurnShaderWrap
- A shader wrapper that applies a radial burn dissolve effect to its child.
- RadialFbmGradientShaderFill
- A shader wrapper that renders a radial FBM gradient effect.
- RadialGrittyGradientShaderFill
- A shader wrapper that renders an animated radial gritty gradient effect.
- RadialPerlinGradientShaderFill
- A shader wrapper that renders a radial Perlin noise gradient effect.
- RadialPixelDissolveShaderWrap
- A shader wrapper that applies a radial pixel dissolve effect to its child.
- RadialSimplexGradientShaderFill
- A shader wrapper that renders a radial Simplex noise gradient effect.
- RadialSmokeShaderWrap
- A shader wrapper that applies a radial smoke dissolve effect to its child.
- RadialTurbulenceGradientShaderFill
- A shader wrapper that renders a radial Turbulence noise gradient effect.
- RadialVoronoiGradientShaderFill
- A shader wrapper that renders a radial Voronoi cellular noise gradient effect.
- RadialVoronoiseGradientShaderFill
- A shader wrapper that renders a radial Voronoise gradient effect.
- RippleShaderWrap
- A shader wrapper that applies a time-based ripple effect to its child.
- ShaderAnimationConfig
- A declarative animation configuration for shader widgets.
- ShaderCardData
- Data for a shader card
- ShaderDefinition
- Bundles layout + defaults + uiDefaults for one shader.
- ShaderFill
- A generic, reusable wrapper for procedural shaders that use CustomPaint. Unlike ShaderWrap, this doesn't sample a child widget - it renders procedurally generated content directly.
- ShaderMaterial
- A shader material assigned to a canvas shape.
- ShaderMaterialRegistry
- Registry providing default params, uniform setting, and serialization for all shader material types.
- ShaderNames
- Shader name constants
- ShaderParams
- Generic immutable parameter bag for any shader. All scalar values (including flattened Offset/Offset3D components) live in values; colors live in colors.
- ShaderParamsTween
- A Tween that interpolates between two ShaderParams using ShaderParams.lerp.
- ShaderPreset
- ShaderSmudgeData
- A smudge gesture for interactive shaders (start → end drag).
- ShaderTouchPoint
- A single touch/tap point for interactive shaders.
- ShaderUIDefaults
- Map-based slider ranges for all parameters of a shader.
- ShaderWrap
- A generic, reusable wrapper that applies a fragment shader to its child. Subclasses or users can provide a uniformsCallback to set arbitrary uniforms.
- SimplexGradientShaderFill
- A shader wrapper that renders a Simplex noise gradient effect.
- SliderRange
- Defines the label and min/max range for a single slider control.
- SmokeShaderWrap
- A shader wrapper that applies a smoke dissolve effect to its child.
- TappableBurnShaderWrap
- A shader wrapper that applies a tap-triggered burn dissolve effect.
- TappablePixelDissolveShaderWrap
- A shader wrapper that applies a tap-triggered pixel dissolve effect.
- TappableSlurpShaderWrap
- A shader wrapper that applies a tap-triggered slurp effect.
- TappableSmokeShaderWrap
- A shader wrapper that applies a tap-triggered smoke dissolve effect.
- TurbulenceGradientShaderFill
- A shader wrapper that renders a Turbulence noise gradient effect.
- UniformField
- A single uniform field in a shader's layout.
- UniformLayout
- Ordered list of uniform fields after the standard header (width, height, time).
- VoronoiGradientShaderFill
- A shader wrapper that renders a Voronoi cellular noise gradient effect.
- VoronoiseGradientShaderFill
- A shader wrapper that renders a Voronoise gradient effect (blend of Voronoi and noise).
Enums
- PresetNames
- ShaderAnimationMode
- Controls how a shader widget drives its time uniform.
- ShaderMaterialType
- All available shader material types for the shape builder. Excludes MarbleSmear (which requires interactive state).
- UniformFieldType
Extensions
- FragmentShaderHelpers on FragmentShader
- Helpers for setting multi-component uniforms on a FragmentShader.
Constants
-
allParamNames
→ const List<
String> - Every unique parameter name string used across all shader definitions.
-
allShaderNames
→ const List<
String> - Canonical list of all shader names in display order.
-
allShaders
→ const List<
ShaderCardData> - All available shaders
Properties
- burnShaderDef → ShaderDefinition
-
final
- clickRippleShaderDef → ShaderDefinition
-
final
- fbmGradientDef → ShaderDefinition
-
final
- grittyGradientDef → ShaderDefinition
-
final
- marbleSmearShaderDef → ShaderDefinition
-
final
- perlinGradientDef → ShaderDefinition
-
final
- pixelDissolveShaderDef → ShaderDefinition
-
final
-
presets
→ Map<
PresetNames, ShaderPreset> -
final
- radialBurnShaderDef → ShaderDefinition
-
final
- radialFbmGradientDef → ShaderDefinition
-
final
- radialGrittyGradientDef → ShaderDefinition
-
final
- radialPerlinGradientDef → ShaderDefinition
-
final
- radialPixelDissolveShaderDef → ShaderDefinition
-
final
- radialSimplexGradientDef → ShaderDefinition
-
final
- radialSmokeShaderDef → ShaderDefinition
-
final
- radialTurbulenceGradientDef → ShaderDefinition
-
final
- radialVoronoiGradientDef → ShaderDefinition
-
final
- radialVoronoiseGradientDef → ShaderDefinition
-
final
- rippleShaderDef → ShaderDefinition
-
final
-
shaderDefinitions
→ Map<
ShaderMaterialType, ShaderDefinition> -
Maps each ShaderMaterialType to its definition.
Only contains the 14 material types (excludes interactive-only shaders).
no setter
-
shaderDefinitionsByName
→ Map<
String, ShaderDefinition> -
Maps shader card names to their definitions.
no setter
- simplexGradientDef → ShaderDefinition
-
final
- smokeShaderDef → ShaderDefinition
-
final
- tappableBurnShaderDef → ShaderDefinition
-
final
- tappablePixelDissolveShaderDef → ShaderDefinition
-
final
- tappableSlurpShaderDef → ShaderDefinition
-
final
- tappableSmokeShaderDef → ShaderDefinition
-
final
- turbulenceGradientDef → ShaderDefinition
-
final
- voronoiGradientDef → ShaderDefinition
-
final
- voronoiseGradientDef → ShaderDefinition
-
final
Functions
-
pingPong(
double t) → double - Converts a monotonically increasing value into a 0→1→0 ping-pong wave.
-
setShaderUniforms(
FragmentShader shader, Size size, double time, ShaderParams params, UniformLayout layout) → int -
Write the standard header + all params to a FragmentShader according to
layout.
Typedefs
- FillUniformsCallback = void Function(FragmentShader shader, Size size, double time)
-
Callback for setting shader uniforms on a fill (procedural) shader.
Receives the FragmentShader, current Size, and elapsed
timein seconds. - UniformsCallback = void Function(UniformsSetter uniforms, Size size, double time)
-
Callback for setting shader uniforms.
Receives the
UniformsSetter, current Size, and elapsedtimein seconds.