// undine docs
Roadmap
Undine is an evolving system.
This page organizes the future-facing notes from the documentation so roadmap information has its own stable home.
Recently landed
Undine evolves stage by stage. Below are the larger pieces that have already shipped in the current beta and shape what the solver can do today.
| Area | What landed | Effect |
|---|---|---|
| Pipeline | GPU-resident water fast path: particle data stays on device between frames for supported resident routes. | Water fast-path measures on the order of 2× the FPS of the equivalent CPU path on the same scene and hardware; advanced dense-material routes remain gated separately. |
| Pressure | PCG with V-cycle multigrid preconditioning, sym. RBGS smoother selectable from the panel. | Robust convergence on harder scenes without abandoning FP32 speed. |
| Pressure | FP32 tolerance floor (√N · ε_f32 · safety), true-residual refresh, retry chain (FP64 → MG → CPU). | Long bakes don't silently diverge; breakdowns are handled, logged, recovered. |
| Bricks | Sparse active regions with halo, capability inventory, demotion-aware authority state. | Empty space costs nothing; large domains stay tractable. |
| Advanced viscosity | pro_strain_rate exact-viscosity backend and THICK_EXACT opt-in preset defined as a dense-material numerical route. | Dense materials get a stronger viscous foundation without pretending that memory, plasticity, or GPU-resident paste behavior is already solved. |
| Rheology | Newtonian / Bingham / Herschel-Bulkley models with yield-stress, shear-thinning, apparent-viscosity clamps, Picard outer solve, and temporal anti-flicker blend. | Real yield-stress hold-shape and shear-thinning on top of the solver, controllable and stable; Newtonian stays the default. |
| Collider slip capture | State-based tangential response (impact vs settled) with no-slip capture and per-state tangent/stick scaling. | Materials can slide on the way down and grip once they rest, without gluing the fluid or killing splash. |
| Vorticity | Fedkiw-style two-pass confinement (∇×v, normalize, restore). | Recovers small-scale curl lost to numerical diffusion. |
| Collisions | CUDA-accelerated SDF bake (LBVH, slab-based). | Animated colliders bakeable per-frame without TDR; armature/shapekey deformation captured correctly. |
| Streamflow | Live preview with Streamflow Points and Mesh Every Frame end-modes; runtime contract. | The preset shown in the panel is the preset that runs. No silent fallbacks. |
| Whitewater FX | Beta one-way secondary particles for spray, foam, and bubbles with realtime preview budgets and a separate Production Bake path. | Adds controllable renderable detail without participating in the primary solve. |
| Meshing | Anisotropic DENSITY_MC scalar route with covariance-matrix kernel and velocity fallback. | Surfaces stop looking like marbles and start looking like sheets and drips. |
| Output | Native Alembic export with per-vertex .velocities. | Renderer-side motion blur is physically aligned with the sim — no auxiliary AOVs. |
Advanced viscosity and dense materials
This is the advanced branch for high-viscosity materials: thick honey, chocolate, toothpaste, frosting, creams, and paste-like masses with stronger retention of ridges, ribbons, strands, and folds. The solver foundation and rheology are production-stable; viscoelastic memory and paste forces are the experimental, CPU-first frontier.
The honest description is CPU-first where it matters, physically richer than scalar viscosity, prepared for future GPU work, and protected by explicit diagnostics. It should not be marketed as a full MPM solver, fully GPU-resident paste solver, final EVP/plasticity system, or guaranteed realistic chocolate/frosting production model.
| Layer | Role | Release posture |
|---|---|---|
| PRO Exact / THICK_EXACT | pro_strain_rate selected through numerics.viscosity_mode = "pro_strain_rate"; THICK_EXACT enables the exact viscous base for dense materials. | Stable, opt-in numerical preset. Host CPU only; not viscoelastic memory by itself. |
| Rheology | Newtonian / Bingham / Herschel-Bulkley with yield-stress, shear-thinning, apparent-viscosity clamps, and temporal anti-flicker blend. | Stable production layer; Newtonian remains the default. |
| Viscoelastic memory (VISC-PRO) | CPU-first Maxwell/Oldroyd-B state in a six-component SoA ViscoelasticState (stores tauK so div(tauK) maps directly to acceleration), with a regularized yield↔elastic hold-shape coupling. | Experimental, CPU-only, OFF by default. Under FULL Resident strict it blocks unless the user opts into the CPU bridge; upper-convected is not wired yet. |
| Paste forces | Cohesion, SDF adhesion, and simplified wetting/contact-angle behavior for controlled free-surface and wall bands. | CPU reference first, hard delta-v clamps, route must block or degrade before pressure if no GPU equivalent exists. |
| GPU/resident honesty | Advanced viscosity and paste forces do not silently join the resident pipeline. | Unsupported in base release or experimental behind a flag until parity, stability, and fallback diagnostics are proven. No GPU/resident PRO Exact and no stable multigrid for PRO Exact. |
Future Development
Future direction follows the same staged philosophy: improve one stage at a time without disrupting the others. The list below is what's on the table; ordering depends on which scenes are surfacing the next limit.
| Area | Direction | Why it matters |
|---|---|---|
| Solver | Additional pressure preconditioners, smarter MG level cap selection. | Faster convergence on adversarial geometry without manual tuning. |
| GPU | Wider sparse-bricks coverage (full-pages mode, currently frozen-internal). | Lower memory pressure on very large domains. |
| Meshing | Direct GPU isosurface extraction, persistent VDB grid reuse across frames. | Lower meshify cost, smoother frame-to-frame surfaces. |
| Emitters | Velocity-aware emission, scripted rate curves, animated trigger volumes. | Tighter control over how a shot's liquid actually starts. |
| Materials | Validated GPU parity for ProStrainRate and paste forces; optional EVP/plasticity only after the reference path is stable. | Finer dense-material control without overstating what the release base supports. |
| Diagnostics | Live overlay of CFL, residual, divergence in the 3D viewport. | Read the numbers without leaving the sim. |
| Tooling | Headless solve from CLI, render-farm-friendly job format. | Take Undine off the workstation when scenes outgrow it. |
How the solver can evolve
The architecture of Undine is designed to allow the solver to evolve gradually without requiring disruptive rewrites.
Because the simulation pipeline is modular, individual solver stages can be upgraded as new approaches become available while preserving a stable foundation for existing workflows.
The runtime contract guarantees that a new internal path can land without changing the meaning of presets the user has already saved — the contract is the seam between artist-facing intent and solver-facing implementation.
Long-term Goal
The long-term goal is to develop a fluid simulation system that can compete with dedicated simulation tools while remaining tightly integrated with Blender.
'Compete' here means specific, measurable things: comparable visual quality on water and dense high-viscosity shots; iteration speed that fits inside a single workday on supported routes; numerical transparency that lets a technical artist or TD diagnose a scene without filing a support ticket.