ReactionDiffusion

A living Gray-Scott reaction-diffusion pattern that fills the layer and blooms wherever you drag the cursor

Props

  • preset

    Named Gray-Scott regime — drives the feed & kill rates for a whole family of patterns. Choose Custom to dial feed & kill by hand

    Type
    "coral" | "mitosis" | "spots" | "maze" | "worms" | "fingerprints" | "holes" | "solitons" | "bubbles" | "waves" | "flowers" | "custom"
    Default
    coral
  • feed

    Feed rate — how fast chemical U is replenished (used when Pattern = Custom)

    Type
    number
    Default
    0.0545
  • kill

    Kill rate — how fast chemical V is removed (used when Pattern = Custom)

    Type
    number
    Default
    0.062
  • diffusionRatio

    Ratio of the two chemicals' diffusion rates — shifts the pattern character (lower = tighter, more filament-like)

    Type
    number
    Default
    0.5
  • featureSize

    Size of the pattern features — lower shows finer, smaller cells; higher magnifies them into larger cells

    Type
    number
    Default
    3
  • speed

    Simulation steps per frame — higher evolves the pattern faster

    Type
    number
    Default
    6
  • brushSize

    Radius of the cursor brush that seeds new reagent as you drag

    Type
    number
    Default
    0.04
  • brushStrength

    How much reagent the cursor injects while dragging

    Type
    number
    Default
    0.6
  • colorA

    Background color (empty regions between cells)

    Type
    string
    Default
    transparent
  • colorC

    Accent color at the cell walls (mid pattern values)

    Type
    string
    Default
    #38bdf8
  • colorB

    Color of the dense cell interiors (high pattern values)

    Type
    string
    Default
    #e2f5ff
  • contrast

    Sharpness of the cell walls — higher gives crisper, more graphic edges

    Type
    number
    Default
    0.5
  • threshold

    Pattern level the colors are centered on — shifts the balance of background vs. cells

    Type
    number
    Default
    0.28
  • colorSpace

    Color space for color interpolation

    Type
    "linear" | "oklch" | "oklab" | "hsl" | "hsv" | "lch"
    Default
    oklch
  • relief

    Treats the pattern as a raised surface and shades it with a light — higher gives a more sculpted, three-dimensional look (0 for a flat, graphic look)

    Type
    number
    Default
    0.4
  • lightAngle

    Direction the surface light comes from, in degrees

    Type
    number
    Default
    135
  • childInfluence

    When a child layer is nested, how strongly its brightness biases the pattern — the preset sets the character, the child steers where it grows dense vs. sparse (0 ignores the child)

    Type
    number
    Default
    0.6
  • childContrast

    Contrast applied to the child's brightness before it drives the pattern — higher pushes toward a crisp two-tone split (edges), lower keeps smooth tonal shading

    Type
    number
    Default
    0.5
  • childThreshold

    Brightness level of the child that reads as neutral — shifts which tones grow the pattern vs. clear it

    Type
    number
    Default
    0.5
  • childInvert

    Flip which tones of the child grow the pattern (bright vs. dark areas)

    Type
    boolean
    Default
    false

Usage

<Shader>
  <ReactionDiffusion />
</Shader>