Cursor
cursorCircular falloff field centered on the pointer, plus an aux velocity field encoded as RG (direction × magnitude, modulated by the same falloff). Radius and softness are in fractions of canvas width — circular on any aspect.
Nodes whose primary output is a raster image — sources that generate pixels, and modifiers that transform them.
cursorCircular falloff field centered on the pointer, plus an aux velocity field encoded as RG (direction × magnitude, modulated by the same falloff). Radius and softness are in fractions of canvas width — circular on any aspect.
fractureVariable-density Voronoi via a CPU-generated point set. Connect an image to the Density input and the cells will pack tighter where it's bright. Optional Lloyd's relaxation evens out the distribution.
gradientpolymorphicTwo-color gradient in linear, radial, polar or wave modes.
image-sourceUploads an image and produces it as the canonical output.
noiseMulti-algorithm fBm noise: Perlin / Simplex / Value / OpenSimplex family / Perlin Derivatives / Flow / Curl. Curl outputs a 2D vector encoded in R and G — feed into Displace for motion.
paintDraw on the main canvas while this node is selected.
solid-colorFills the frame with a single color.
textRenders text with a built-in transform. Primary is the rasterized image; aux exposes an SDF (jump-flood) and a vector path socket (coming soon).
texture-coordinateEmits the default per-pixel (u, v) as a UV field. Feed it into UV-aware generators (Image Source, Gradient, Perlin) — with Math in UV mode sitting in between to warp, offset, or animate the coordinates.
video-sourceLoad a video file and render its current frame. Sync the clock to scene time for deterministic playback (good for exports), or let it play on its own.
voronoiWorley/Voronoi cell noise with multiple output modes (F1, F2-F1, F2, cell-id, feature position) and selectable distance metric. Optional warp-field input distorts the cell lattice. For variable-density placement (more cells where an image is bright) use the Fracture node.
webcam-sourceLive webcam feed via getUserMedia. First eval triggers the browser permission prompt. Mirror toggle defaults on to match how video-chat tools render the feed.
asciipolymorphicRender the input image as a grid of glyphs — text characters from a palette string, or each image in a connected image_group. Brightness remapping, per-cell modulators, and an aux index output match the Array node's conventions.
bloomExtracts bright regions and blurs them into a glow.
color-correctionHue, saturation, brightness, contrast, and per-channel RGB curves.
color-rampRemaps the input's luminance through a gradient of user-defined color stops.
displaceOffset each pixel of the input by a vector read from a displacement image. Midlevel is the neutral (no-offset) value — 0.5 for signed 8-bit maps.
ditherQuantize the input image with error-diffusion or ordered dithering.
edge-detectExtract edges via Sobel or Prewitt 3×3 gradient convolution. Output is grayscale gradient magnitude — brighter = stronger edge. Threshold clamps weak responses to zero for binary edge maps.
gaussian-blurSeparable gaussian blur with adjustable radius.
hand-trackerpolymorphicDetect up to two hands in an incoming image using MediaPipe HandLandmarker. Primary output is the hand skeleton as a spline (21 landmarks wired into 21 bones per hand). Aux outputs expose left/right wrist positions as vec2; toggling Show fingers adds per-finger tip vec2s (thumb / index / middle / ring / pinky on each side). Detection is throttled via `detect_fps` and the output is exponentially smoothed so downstream motion stays fluid between detect calls.
mergepolymorphicBlends a base image with one or more layer images.
object-trackerDetect objects in an incoming image using MediaPipe. Emits bounding-box rectangles (spline) and per-detection centers (points). IDs persist across frames via IoU matching.
reaction-diffusionpolymorphicGray-Scott / FitzHugh-Nagumo reaction-diffusion patterns. Pick a preset, tune step count. Optional seed image sets the initial U/V fields (R → U, G → V); otherwise starts from a central splat.
sharpenSharpen an image with one of four kernel shapes. Box/diamond/cross are Laplacian-style (crisp); unsharp uses a Gaussian reference for softer falloff.
thresholdBinary luminance threshold — pixels brighter than the threshold become white, darker become black. Softness widens the transition into a feathered smoothstep edge; Invert swaps the two sides. Uses Rec. 709 luma weighting.
trailspolymorphicTemporal trails. Feedback mode: exponential analog-video look. Ring: stepped stop-motion feel. Velocity: directional motion blur along a vector or UV field.