// 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.

AreaWhat landedEffect
PipelineGPU-resident fast path for water, explicit logged fallback routes for production viscosity/rheology.Eliminated ~2.3 ms per-substep D2H round-trip on water fast-path; 0.5 → up to 15 FPS on reference water scene.
PressurePCG with V-cycle multigrid preconditioning, sym. RBGS smoother selectable from the panel.Robust convergence on harder scenes without abandoning FP32 speed.
PressureFP32 tolerance floor (√N · ε_f32 · safety), true-residual refresh, retry chain (FP64 → MG → CPU).Long bakes don't silently diverge; breakdowns are handled, logged, recovered.
BricksSparse active regions with halo, capability inventory, demotion-aware authority state.Empty space costs nothing; large domains stay tractable.
ViscosityNewtonian and non-Newtonian rheology (Bingham, Herschel-Bulkley) for production honey, chocolate, slime.Production-grade viscous liquids with host-authoritative implicit routes where needed.
VorticityFedkiw-style two-pass confinement (∇×v, normalize, restore).Recovers small-scale curl lost to numerical diffusion.
CollisionsCUDA-accelerated SDF bake (LBVH, slab-based).Animated colliders bakeable per-frame without TDR; armature/shapekey deformation captured correctly.
StreamflowLive 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.
MeshingAnisotropic DENSITY_MC scalar route with covariance-matrix kernel and velocity fallback.Surfaces stop looking like marbles and start looking like sheets and drips.
OutputNative Alembic export with per-vertex .velocities.Renderer-side motion blur is physically aligned with the sim — no auxiliary AOVs.

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.

AreaDirectionWhy it matters
MPMFull elastoplastic Material Point Method: per-particle deformation gradient F, Neo-Hookean stress, snow/dough/cream material families.Enables solid-fluid hybrids, viscoelastic materials, and non-liquid material families a pure FLIP solver cannot touch.
MaterialsEVP (Elasto-Visco-Plastic) constitutive models, extended rheology yield surfaces.Finer control over viscoplastic, viscoelastic, and granular behavior beyond Bingham/Herschel-Bulkley.
SolverAdditional pressure preconditioners, smarter MG level cap selection.Faster convergence on adversarial geometry without manual tuning.
GPUWider sparse-bricks coverage (full-pages mode, currently frozen-internal).Lower memory pressure on very large domains.
MeshingDirect GPU isosurface extraction, persistent VDB grid reuse across frames.Lower meshify cost, smoother frame-to-frame surfaces.
EmittersVelocity-aware emission, scripted rate curves, animated trigger volumes.Tighter control over how a shot's liquid actually starts.
DiagnosticsLive overlay of CFL, residual, divergence in the 3D viewport.Read the numbers without leaving the sim.
ToolingHeadless 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, viscous, and elastoplastic shots; iteration speed that fits inside a single workday; numerical transparency that lets a technical artist or TD diagnose a scene without filing a support ticket.