0.5.0
June 8, 20260.5 - Splats, point clouds and signals. Gaussian splatting lands, depth becomes 3D, and the Sine Wave grows up into an LFO.
Added
- Gaussian Splatting (.ply / 3DGS). Load a real splat cloud with full SH degree-3 view-dependent colour, GPU-sorted every frame, auto-framed on load. Two rasterizers to choose from: the capped tile rasterizer (fast) and a global-sort one (no per-tile cap). Relight the splats with the scene lights (diffuse plus specular), and crop the cloud by wiring a cube or sphere into the clip port. A Splat Quality dial trades resolution for FPS.
- Point-cloud view for splats - see the cloud as flat coloured dots instead of gaussians, with adjustable point size and a density dial to thin it out.
- Depth Point Cloud node (3D) - feed it a colour texture plus a depth map and it builds a real 3D point cloud (depth-displaced, tinted by the colour), orbitable in the scene and depth-tested against your geometry.
- Depth Key node (Video) - mask a video by an EXTERNAL depth map: isolate a depth band (near/far, target/width/falloff) and output a masked, cutout, or grayscale result. Drive one clip's mask from another clip's depth.
- Depth Glitch node (Post-FX) - a stylistic block-tear effect with black edges and background bleed, for faking the look of broken depth.
- LFO node (the renamed, grown-up Sine Wave). 10 shapes - Sine, Square, Triangle, Sawtooth, Pulse plus White, Sample and Hold, Smooth, Fractal and Brown noise - with seed and slew/smoothing for the noise types, and a live scope in the inspector that traces the real output value.
- Custom shaders now have an editable Output Resolution (presets plus custom width x height) in the inspector.
- Preview viewport zoom: a Fit / slider / 100% control with scroll bars, plus Cmd-scroll to zoom.
Changed
- The Node Library is reorganized into collapsible groups: 3D (Scene / Geometry / Lights / Camera / Material / Modifiers / Effects), Post-FX (Blur and Sharpen / Color / Stylize / Distort / Glitch / Light / Key and Composite), Modifiers (Signal / Value / Audio) and Generators (Noise / Pattern). Vision and Vector nodes are now reachable from the library too.
- Fullscreen output (F9) is now truly edge-to-edge with square corners, and you can drive the 3D camera (orbit / pan / dolly) directly in fullscreen. Frame the output with Cmd-scroll zoom, arrow-key pan, A to cycle Fit / Fill / 1:1, R to rotate 180 degrees, H/V to flip, M to mirror the preview's zoom, 0 to reset.
Fixed
- Integer parameters now round-trip through save / load. Custom shader resolution, star sides, fractal octaves, voronoi points, Text 3D segments and others were silently resetting to defaults on reopen.
- Changing a node's output resolution no longer crashes the feedback nodes (Frame Buffer, Temporal Filter, Frame Delay) - their internal textures now resize in step with the input.
- Global-sort splats: fixed coarse depth keys that caused a blocky depth glitch; the cap rasterizer's per-tile limit was raised so dense clouds drop fewer splats.
0.4.3
June 3, 20260.4.3D, a kind of Unreal update. We focused on making 3D better.
Added
- Local / Global gizmo space. A toolbar toggle (or the X key) flips the move / rotate / scale handles between world axes and the object's own axes, so you can nudge a rotated object along its own forward or up.
- Fly the viewport camera with WASD / QE, and tune the fly speed with the scroll wheel. F frames the selected object and widens the camera's near / far clip planes so large objects aren't sliced by the frustum.
- Keyframe object transforms straight from the timeline. With REC on, dragging a gizmo or flying the camera drops keyframes automatically.
- HDRI / Environment node drives image-based lighting, and can show as the scene background.
- Wireframe display with an adjustable line width, plus a textures-off toggle, in the Scene3D inspector.
- Audio Input can capture specific input channels (multichannel).
- Timeline rubber-band marquee selects keyframes across channels in any direction, and Delete removes the selection. Unified undo now covers inspector fields, timeline keyframes, gizmo moves, and camera navigation.
Changed
- 3D scenes render with a transparent background by default, so the layer composites over any 2D source beneath it.
- Redesigned move gizmo with cone arrowheads and slimmer, shorter handles. Cameras and lights now draw shape-distinct editor icons (a camera body with a lens, a light bulb), and gizmos hide during playback.
- Numeric inspector fields are directly typeable.
Fixed
- HDRI environment no longer flickers back to the procedural sky.
- Scene3D reconnects correctly after a node is deleted, camera ports target reliably, and an empty scene clears to transparent instead of magenta.
- Keyframed transforms no longer fight manual control when the playhead is parked.
- Fullscreen output hides the menubar fully so it covers the whole screen.
0.4.2
June 2, 2026Blob Tracker , track moving or bright blobs with bounding boxes
Added
- Blob Tracker node (Vision), built for EDUMEX , tracks moving (frame-diff) or bright (luma) blobs in any texture and draws a bounding box around each one, with optional connecting lines (mesh / nearest / chain) and centroid dots. Persistent per-blob IDs, adjustable threshold / size filters / detection rate, and blobCount + blob1X/Y/Size outputs. Runs fully async (GPU downscale plus a non-blocking readback) so it never stalls the render.
- "4. Blob Tracker" example project (File → New from Example) , Plasma → Blob Tracker → composite, showing the boxes drawn over the source.
Fixed
- Inspector sliders now use sensible ranges. Frame Feedback (decay / zoom / rotation) and other nodes whose parameters fell back to a guessed range , which could pin the slider at its edge and feel unadjustable , now seed their range from the timeline's parameter registry.
0.4.1
June 1, 2026Drag any value onto an inspector field, audio-reactive transforms
Added
- Parameter links, drag the link dot next to any numeric inspector field onto a node's output to drive that value from it. Wire a Sound Modifier to Position / Rotation / Scale (or any float param) so audio, LFOs, or any scalar animate the transform.
- A ghost line follows the cursor while dragging a link, and compatible outputs highlight green.
- Linked parameters show a green cable on the canvas plus a synthetic input row on the target node, so the routing reads like a normal connection.
- Click a linked dot to open a scale / offset editor (value = source × scale + offset) with an Unlink button.
Changed
- Parameter links are sampled every frame after evaluation, so they drive both 3D transforms and 2D / PostFX float params live, and are saved with the project.
0.4.0
May 29, 2026Live audio input, OSC remote control, real extruded Text 3D, viewport picking, scene hierarchy, and a faster engine
Added
- Audio Input node, live Core Audio capture with device picker, gain, dBFS level meter, and optional system passthrough; analyzers (Audio Bands, Beat Sync) now read from any audio source upstream.
- Remote Parameters panel (Cmd+Shift+P) listing every animatable port with its OSC / MIDI / MCP address, so external controllers can drive the graph over OSC.
- Real extruded Text 3D geometry, CoreText glyph outlines triangulated into front/back caps and side walls (winding-agnostic, so CFF and TrueType fonts both render), replacing the old alpha-mask quad. Includes a font picker popover with live preview.
- Straight-skeleton Text 3D bevels, large, self-intersecting bevels that meet in the center on curved typography, with a custom bevel profile curve editor (draggable Catmull-Rom spline) alongside Chamfer / Round / Concave / Step presets and a Classic / Skeleton mode toggle.
- 3D viewport picking, click a mesh, camera, or light in the composition to select it (cameras and lights get a synthetic pick volume tied to their marker).
- Scene Hierarchy panel above the inspector, groups every 3D node by family with eye-toggle visibility and click-to-select.
- Multi-select and group transforms, Shift / Cmd click in the viewport or hierarchy; the gizmo applies one world delta to the whole selection.
- Floating gizmo toolbar on the viewport (translate / rotate / scale) with 1 / 2 / 3 shortcuts.
- Bug reporter (Help → Report a Bug…) with auto-attached diagnostics, plus Help-menu links to Releases and Documentation.
- Timeline export to H.264 and ProRes with quality presets.
- Library tabs (Nodes / Media) in the left sidebar.
Changed
- Skeleton is now the default Text 3D bevel mode; the inspector is reorganized into Geometry / Bevel shape / Tessellation groups with the profile picker on its own full-width row.
- Default workspace split is 50/50 between the composition viewport and the node graph, and the node graph auto-fits all nodes when a project opens.
- Shader code editor rewritten with a custom scroll / line-number container so MSL source renders reliably inside R3NE's layer-backed window.
- Composition viewport is drag-resizable; the right inspector was widened so long sliders fit their value labels.
- Sidebar panels no longer draw under the window titlebar, and the window title / status bar now show the real app version.
Fixed
- Timeline keyframes now drive the input ports the renderer actually reads, animating blur radius, generator, and most PostFX parameters was previously frozen.
- Fullscreen output on a secondary monitor now reliably puts pixels on screen (standard window path + pull-mode rendering that survives capture boxes / converters).
- Glyphs with holes (O, B, P, R, A) now triangulate completely, fixed an ear-clipping stall on bridge-merge duplicate vertices.
- Round and Concave bevel profiles were inverted; high-quality bevels no longer produce holes or corner spikes.
- Text 3D (depth, bevel, profile, segments, custom curve) and Audio Input settings are now persisted on save.
Performance
- Separable two-pass Gaussian blur (≈16× fewer samples).
- Cached downstream adjacency and O(n) topological evaluation for dirty propagation; O(inputs) port propagation.
- Per-frame scratch-buffer reuse in the Scene3D render path and a value-type Text 3D mesh key (no per-frame string allocation).
- Autosave JSON encode + write moved off the main thread; PersonSegmentation per-pixel diagnostics gated behind debug builds.
0.3.5
May 17, 20263D gizmos, vector graphics, pose / audio tracking, scene snapshots, OSC
Added
- 3D translate / rotate / scale gizmos in the viewport, colored axis bars with arrow caps, rotation rings, scale handles, hover highlight, shift-snapping (0.1 unit / 15° / 0.1 factor), and 1/2/3 mode shortcuts plus a floating toolbar.
- Vector graphics pipeline, import SVG, modify with effectors (trim, repeat, distort), render flat or extruded to 3D meshes.
- Pose Tracking node, Vision body keypoints with smoothed interpolation between detections.
- Audio Bands + Beat Sync nodes, FFT-based multi-band amplitude plus tempo/beat triggers.
- Scene Snapshots, 128-slot grid panel for storing and recalling full graph states.
- OSC input, incoming OSC messages map to any animatable port over UDP.
- Three Get Started example projects covering common patterns.
- Scene3D transparent background, alpha-aware sky branch so 3D layers composite cleanly over the 2D pipeline.
Changed
- Scene3D inputs are now dynamic like Root, one empty slot per family always available, trimmed on disconnect, capped at 32 / 16 / 16.
- Scene3D node body collapses input rows to just colored dots (no labels) so the canvas stays readable as inputs grow.
- Composition viewport is now drag-resizable from the splitter.
- Gizmo overlay honors the letterboxed scene rectangle so handles align with the rendered texture at any window aspect.
- Face Detection now streams the source video unchanged and renders boxes / mask as a separate overlay, full frame rate on live cameras.
Fixed
- MaterialData.default no longer flagged with an unnecessary nonisolated(unsafe) attribute.
- Custom shader filters can now receive multiple texture inputs.
- Several save-persistence gaps (Tile, Tint, Plasma scale/complexity, gradient colors) closed by routing all writes through universal port defaults.
0.3.1
May 2, 2026Auto-update fix, color picker overhaul, save reliability
Fixed
- Sparkle auto-update never offered new versions because every build shipped with the same CFBundleVersion. Bumped build number tracking and the appcast now uses proper integer sparkle:version.
- Color picker now updates continuously while the panel is open, replaced the SwiftUI ColorPicker / NSColorWell stack with a Button + KVO bridge to NSColorPanel.
- Several node parameters (Plasma scale/complexity, Gradient colors, etc.) were not persisted on save, encoder now universally captures port defaults and decoder restores them.
- Stale connection layer left drawn after replacing a connection on an occupied input.
- Could not connect/reconnect to Root after disconnecting one of multiple inputs.
Added
- Drag-and-drop from Finder onto the canvas, auto-detects image / video / sound by extension and spawns the appropriate node.
- Drag-and-drop from the Media Library to the canvas.
- Sound type in Media Library, with auto-registration from SoundLoader nodes.
Changed
- Root node redesigned again: smaller (96×96) flat black square with magnet-style connection points centered on each side.
- Nodes with parameters as ports (DepthEstimation et al.) now respect uiMin/uiMax/uiPrecision hints for crisp slider ranges.
- Connection layer cleanup runs only when the graph structure changes, no more wasted sweeps during pan/zoom.
0.3.0
April 30, 2026Real-time depth, unified inspector, and a faster canvas
Added
- Depth Estimation node, DepthAnything V2 (CoreML) running async in the background, with animatable params (near, far, smoothing, invert, isolate band).
- Drag-and-drop from the Node Library directly onto the canvas.
- Universal copy / paste / cut for every node type (Cmd+C, Cmd+X, Cmd+V), round-trips through the project serializer so nothing is left behind.
- Liquid Glass splash screen with the R3NE wordmark.
- Inspector-side checkbox rendering for boolean ports.
- Per-port UI hints (range, precision) so auto-generated sliders match the param's intent.
Changed
- Inspector panels unified, numeric params now live in a single Inputs section instead of being duplicated above and below.
- Root node redesigned as a flat black square with the R glyph in #e5e7eb.
- Node placement cascades diagonally so freshly-created nodes don't pile up on top of each other.
- Transport bar widened so the frame counter no longer clips on long compositions.
Fixed
- Color picker stopped applying changes after the first edit while the panel was open.
- Tint node lost its color on save.
- Topological sort and PostFX attachment graph now cache and invalidate on structure change, significant CPU savings on large graphs.
- Removed waitUntilCompleted GPU stalls (saves 2–5 ms per frame).
0.2.0
March 24, 2026Auto-update, distribution
Added
- MCP server bundled as the r3ne plugin.
- Documentation site at r3ne.app/docs.
0.1.0
February 18, 2026Public beta seed
Added
- Initial node graph engine with 2D, generators, post-FX, shading, modifiers, sound, video, and a 3D scene with PBR.
- Live shader authoring in MSL with @input annotations.
- Timeline with keyframes, MIDI mapping, and headless export.
- FFGL plugin for Resolume Arena and a TouchDesigner TOP plugin.