evolving
Makes a 3D noise basis morph in place over time instead of sliding across the canvas.
evolving(field: Field, opts: {rate: number}): Field
Import noise from shaders/std and use noise.evolving.
Wraps a basis that takes a 3D position (noiseField): the 2D pattern position from the framing outside becomes (x, y, time × rate). rate multiplies the layer's clock, on top of the definition's speed prop. It sits between the framing and the basis.
Parameters
| Name | Type | Notes |
|---|---|---|
field | Field | |
opts | {rate: number} |
Example
paint: rampOver(noiseTone(seededPlane(evolving(noiseField('perlin'), {rate: 0.3}), {scale: p('scale'), seed: p('seed')}), {contrast: p('contrast'), balance: p('balance')}), stops(p('colorSpace')))
Tip. The clock is the definition's
animatedTime: {speed: 'speed'}. Without it nothing moves.
See also
seededPlane— Frames a field on a zoomable plane: how big the pattern is and where it starts.curlSpeed— How fast a swirling flow moves at each point: soft eddies and streams that morph in place.