The SDF release
Version 0.2.0 adds a new SDF operator family, Kinect v2 support, multi-camera switching, a color correction suite on the Output node, a redesigned MIDI Dashboard node, and result caching for texture and post-effect operators.
SDF, a new operator family
SDF operators describe shapes as signed distance fields and render them by raymarching on the GPU. Boolean operations, blends, and repetition are computed in the field itself, with no mesh geometry involved.
SDF Primitive: 26 shapes, including Sphere, Box, Torus, Capsule, Gyroid, Menger Sponge, Mandelbulb, Apollonian, Julia Set, Kali IFS, and an FBM Rock.
SDF 2D Shape and SDF Convert: 13 flat shapes including Text, converted to solids by Extrude, Revolve, Helix Sweep, Cross Section, or Field to Solid.
SDF Combine: Union, Subtract, Intersect, XOR, Morph, Pipe, Engrave, Groove, and Tongue, each in Hard, Smooth, Round, Chamfer, Stairs, or Columns mode. Edge Glow lights the seam between two shapes, with a repeat control and an Edge Color texture input.
SDF Effector: 26 deformers grouped as Warp, Repeat, Mirror, Shell, and Remap, including Twist, Bend, Displace, Mobius Sweep, Kaleidoscope, grid and polar repeats, Spiral Zoom, and Onion Shell.
SDF Field: 11 fields that drive displacement and per-cell variation, including a Texture Field and a Particle Field that reads a live particle system as metaballs.
Mesh to SDF converts an imported model into an SDF operand. Kinect SDF does the same with a live depth camera feed.
SDF Material: PBR plus Toon, Matcap, Gooch, and Hologram shading modes. Iridescence, rim, subsurface, and raymarched reflections. Texture slots with a Map Anchor option that keeps maps fixed to the shape as it moves.
SDF Light: Ring, Line, Orb, and Beam types, with gradient support. Beam renders a volumetric shaft that scene geometry occludes.
SDF Environment: HDRI lighting, skybox, rotation, intensity, and background brightness.
SDF Camera: orbit and Smooth Fly navigation with WASDQE while dragging, a depth of field block, aim and focus ports, auto-rotate, and a fisheye lens up to 360 degrees.
SDF Render: quality presets, soft shadows, ambient occlusion, distance fog, four tone mapping curves, and FXAA or supersampled anti-aliasing. Volume (Cloud) mode marches lit, self-shadowed density instead of a surface. Extra outputs carry Depth, Normal, Object ID, Step Heat, and World Pos.
Polygonize: the 3D Mesh output converts the field into mesh geometry at grid sizes from 32³ to 128³, so an SDF form can feed cloners, extrusion, lighting, and every other 3D operator.
SDF editing stays responsive. The default engine, Fast Draft, opens patches in seconds, and a note on the node lists any features (shadows, AO, volume mode) the full engine would add. Lighting and material edits apply without a rebuild of the whole scene, and switching a Combine's mode or blend applies immediately. A status pill in the viewport shows build progress and an ETA during long operations.
Kinect
Kinect v2 (Xbox One) is supported alongside Azure Kinect, with depth, color, and IR streams through the same operators.
Body tracking outputs a segmentation mask and skeletons.
The Kinect Joint modifier drives a parameter from one of 25 skeleton joints on a chosen axis. Values are meters in camera space, and the modifier holds its last value when the body leaves the frame.
Multicam
The Multicam and SDF Multicam operators hold five camera slots mapped to hotkeys 2 through 6. Hotkey 1 selects the free viewport, which stores its framing. A switch transitions to the target camera along the shortest rotation arc, with smoothing amount and speed controls, and operates while playback is paused. The active slot is a normal parameter, so MIDI, modifiers, and the timeline can also switch cameras.
Performance
Operators whose parameters and inputs are unchanged no longer re-render each frame. A fully static scene draws at almost no cost.
The fixed particle count cap of 1,048,576 is removed. Counts are now limited by the graphics hardware and a 2 GB memory budget, about 26.8 million particles. A request over the limit shows a warning with the applied count.
Firefox-specific performance corrections and faster graph drawing at high node counts.
Particles
Sub-particle systems: a Particle System has a second output that connects to another system's Emitter input, so a child system spawns on the parent's particles. Chains can continue to further systems.
Trail Renderer draws ribbon trails along each particle's path, with thickness, taper, fade, and dash controls. The Quantized Motion effector restricts travel to a 6 or 18 direction lattice. A Curl Advect effector is added.
Color From Mesh: a particle samples the mesh color at its spawn point once, at birth, and keeps that color for its lifetime. Density coloring with a contrast control is also added.
Every effector gains a Particle Use Amount that limits it to a share of the particles; two effectors with the same amount act on different particles. Force effectors gain Speed Variance and Speed Bias. The Colorize effector gains a Blend Mode.
The Point Renderer accepts a wired Sprite Sheet, both flat renderers gain sheet playback controls (loop, ping-pong, play once, random cell, frame offset), and the Particle System gains a Hide From Reflections toggle.
3D and surfaces
Null: a transform parent. Surfaces wired into a Null follow its position, rotation, and scale while keeping their own offsets. Nulls nest.
Extrude Faces adds animated Noise Extrude, extruded side walls with per-axis subdivision, Thicken, Across Seams, Random Hide, and field-driven piece control.
Audio (FFT) deformer with five modes: Displace, Spectrum (a 128-band ribbon along an axis), Ripple, Wave, and Jitter, with frequency region controls.
Platonic solid primitives. Merge Faces handles triangulated meshes, cylinder seams, and pole regions. Cloners gain a Quantize effector.
All three material operators accept a Bump (Height) map, composed over a Normal map when both are wired. Area lights split diffuse and specular contributions. Mapping gains a Relative anchor that keeps a projected texture fixed to the object under group transforms.
Reflection and shading updates: live probe reflections, tighter ambient occlusion, dither-free screen-space reflections, and a post FXAA pass.
The pop-out viewport window accepts camera input and hotkeys and sets the render resolution from its own window size and monitor. The viewport also gains a Flat Wire render mode, a scene statistics readout, orthographic view hotkeys, and a quad view.
Generators and texture operators
Worley cellular noise with F1, F2, and F2 minus F1 outputs and three distance metrics. A Noiserator operator selects among the noise algorithms from a dropdown.
Value shaping controls (Exponent, Amplitude, Offset) on every generator with a monochrome output.
Blend carries the full set of blend modes. Composite grows from four placement modes to 27 operations with per-pixel mask control.
Quantize with independent value and position stages. Lookup now applies its LUT and reads .cube files and 2D LUT images. Threshold outputs a binary mask and gains a Between comparator and Multiply to Source. Ramp uses the multi-stop gradient editor and corrects radial ramps for render aspect.
Image, Video, Webcam, NDI In, and Spout In gain six fit modes and a Wrap mode (Repeat, Mirror, Hold, or Transparent) for the area added when fitting the source to the render size.
HDRI files show tonemapped thumbnails in the Resources panel.
Post effects
Pixel Sort with Reorder and Streak modes. Time Warp samples each pixel from a point in frame history selected by a mask's luminance. RGB Delay delays channels independently, in Ghost or Split mode.
Bloom gains an advanced blur-pyramid mode alongside the unchanged default. Gradient Colorizer accepts a texture as its ramp.
Theme: samples a wired texture at each UI region's screen position and applies the sampled colors to the application chrome, with Accents and Full Takeover modes and an update rate control.
Color and output
A color correction suite on the Output node: tone mapping, white balance, exposure, contrast, highlights and shadows, vibrance, curves, per-channel gain, and LUT loading, grouped and collapsed by default.
Master Opacity and Master Speed accept MIDI and audio-reactive control.
MIDI Dashboard
The Dashboard node draws its routed controls directly on the node as knobs, pads, and faders that move with incoming MIDI. Controls respond to drag, tap, and double-click reset on the node, and the node is resizable. Faders are added at eight per bank, each control carries its own parameters and a right-click behavior menu, and one knob can map to multiple parameters.
Modifiers and animation
A bound parameter's base value is editable without unbinding its modifier, and each binding selects Add or Replace.
New Lag modifier with separate rise and fall time constants, plus Constant and Null modifiers. The LFO gains a Gaussian waveform and an optional Phase input.
Exported videos play modifier motion at the correct speed at every frame rate. The global pause button stops all simulations and node animations.
Node graph
Tab place and chain: Tab places the highlighted operator, connects it to the previous one, and reopens the palette. Multi-select fan-out connects several selected nodes to one target in a single drag.
Wire routing: wires exit perpendicular to the port face, run in separate lanes, and route around nodes, including a node being dragged. Right-click drag cuts wires. Nodes can be inserted into an existing wire, and the insert search filters to operators valid at both ends.
Collapse shrinks every node to its title bar and restores the previous layout when toggled back. Node thumbnails fill the node body.
Value boxes evaluate arithmetic (100/3, 2^8). Right-click resets a slider to its default. A scrub drag no longer stops at the screen edge, and a press-drag ladder selects the adjustment scale.
Multi-edit: editing a parameter with several same-type nodes selected applies the edit to all of them.
Patches and sharing
View-only patches: a patch can be shared without exposing its graph. Exposed parameters remain controllable.
Saving a creation uploads a standalone image with the patch file, and retired node types are mapped to their replacements so patches from earlier versions open with their saved settings.