Desktop application Experimental
Interactive Video
Tearing, heating, baking, searing, exploding, magnetizing, growing: in 2.5D.

Crucible2.5D

A comprehensive 2D physical simulation laboratory coupling MPM, SPH and Eulerian fluids, with tearing, heating, anisotropic material structure, baking, explosions, magnetism and living materials that can grow. It's called 2.5D because I added approximate depth support to keep porous materials connected: a tunnel through a flat 2D slice can split it in two, while material outside that slice can still hold it together.

Explore connections Brochure · 18 chapters ↓
Particles ↔ grids ↔ materials
TransferEvolveCouple
The magnetic probe draws a tall column from the pool while smaller peaks form along the surrounding surface. The colored, shaded particles show a planar simulation; the apparent depth is rendered.
The magnetic probe draws a tall column from the pool while smaller peaks form along the surrounding surface. The colored, shaded particles show a planar simulation; the apparent depth is rendered.
An implemented pipeline

One world, several numerical representations

Follow an intervention through the quantities it changes: motion, heat, material state and the fields that connect them.

  1. 01

    Choose the material

    Geometry, particle family and constitutive parameters define the experiment.

  2. 02

    Advance motion

    SPH neighborhoods and MPM particle–grid transfers update fluids and deformable solids.

  3. 03

    Exchange fields

    Contact impulses, thermal mixtures and Eulerian air connect otherwise separate solvers.

  4. 04

    Change the state

    Damage, phase, magnetization and living fields alter the material's response.

  5. 05

    Inspect the mechanism

    Compare models and diagnostic fields beside the rendered result.

Architecture

Coupling is the central experiment

Separate SPH, MPM and Eulerian passes exchange impulses and heat in a shared editable scene.

Materials

Direction and history shape failure

An anisotropic damage path adds structural tensors, retained driving history and nonlocal damage regularization.

Inspection

The internal fields remain visible

Fire, magnetic response and artificial-life experiments expose the fields behind the rendered behavior.

Capabilities / connected systems

Read the system by what it makes possible

Related techniques belong to one family. Follow a family into the interface, recorded results and mathematical detail.

01 / 06

01 · MPM

Material particles retain deformation and history while a transfer grid mediates motion.

MLS/APIC transferElastic, plastic and fluid branchesInspectable intermediate state
Feature set · 3 capabilities
  • MLS/APIC transferQuadratic stencils, affine momentum and constitutive stress share a particle–grid cycle.
  • Elastic, plastic and fluid branchesCorotated solids, snow-style history and volumetric fluids use the same infrastructure.
  • Inspectable intermediate stateTransfer weights, grid fields and material state explain how the motion was produced.
02 / 06

02 · SPH

Liquid pressure and interfaces arise from weighted local neighborhoods.

WCSPH density and pressureViscosity, XSPH and surface tensionCodimensional threads
Feature set · 3 capabilities
  • WCSPH density and pressureA normalized cubic kernel and spatial neighbor lookup drive the liquid update.
  • Viscosity, XSPH and surface tensionDistinct local operations control damping, particle noise and interface coherence.
  • Codimensional threadsTangent and thinness estimates adapt density treatment for narrow bridges and filaments.
03 / 06

03 · Eulerian fluid

A fixed grid carries air motion, temperature, smoke and reactive fields.

MAC velocity and pressure projectionAdvection, forces and diffusionFire and blast extensions
Feature set · 3 capabilities
  • MAC velocity and pressure projectionFace velocities are corrected by an iterative pressure-potential solve.
  • Advection, forces and diffusionTransport, buoyancy, temperature diffusion and boundaries shape the surrounding flow.
  • Fire and blast extensionsOxygen/fuel fields, sealed-cavity state and reduced propagating fronts produce readable reactions.
04 / 06

04 · Coupling

Follow the momentum and heat exchanged between solvers.

SPH ↔ MPM contactCapacity-weighted heatAir, SDF and external fields
Feature set · 3 capabilities
  • SPH ↔ MPM contactA persistent return-impulse accumulator makes the deformable body respond to the liquid.
  • Capacity-weighted heatContact gathers a mixture temperature while particles and air exchange thermal state.
  • Air, SDF and external fieldsScalar injection, drag, constraints and field feedback follow an explicit pass schedule.
05 / 06

MPM extensions

The same mechanics grows into direction-aware, thermal and magnetic material experiments.

AnisoMPM and fractureThermal MPM and processingFerrofluidLiving fields
Feature set · 4 capabilities
  • AnisoMPM and fractureFiber stress, a structural damage tensor, matched toughness, retained history and nonlocal regularization.
  • Thermal MPM and processingReversible softening, phase-related budgets, irreversible cure, shell/core response and pressure-driven rupture.
  • FerrofluidFluid and viscous constitutive stress, field-gradient forces and gated directional/interface terms.
  • Living fieldsSmoothLife, Lenia and reaction–diffusion rules connect procedural state to material vitality and growth.
06 / 06

Build, intervene, inspect

The UI makes the interfaces part of the experiment.

Named comparison scenesInteractive toolsPipeline diagnosticsDevelopment and maturity
Feature set · 4 capabilities
  • Named comparison scenesJet, tear, thermal, backdraft and ferro benches isolate a mechanism before mixing systems.
  • Interactive toolsMaterial brushes, terrain, heating, cooling, wind and field tools act directly in the scene.
  • Pipeline diagnosticsVelocity, stress, temperature, damage and field views expose the quantities behind the surface.
  • Development and maturityA feature inventory separates checked mechanisms, optional extensions, visual models and remaining gaps.
Technical brochure · 18 chapters

Inside Crucible2.5D

Three simulation methods share one scene: the material point method (MPM) carries deforming solids and their history, smoothed particle hydrodynamics (SPH) handles liquids, and a fixed Eulerian grid transports air, smoke and heat. Coupling them makes new experiments possible: a jet pushes a deformable body, a hot wall changes a material, a grain direction steers damage, and a magnetic field shapes a fluid.

Description · what it doesExplanation · how it worksTheory · equations & assumptions

Scan the descriptions and figures, or open a layer for the implementation and mathematical detail.

01 · Purpose

Three solvers. One material laboratory.

Video A sandbox, several kinds of matter · A native sandbox tour: enable the living-culture field, watch a green body grow over its support, then switch scenes to pull a deformable block and move particles through containers and channels.
Description · at a glance

Crucible2.5D is a material laboratory built around three simulation methods: MLS/APIC MPM, weakly compressible SPH, and Eulerian fluid flow. Its mechanics remain planar; the 2.5D name reflects selected thickness and support approximations. The point is to combine their strengths in scenes that can be edited and inspected while they run: liquid jets, tearing solids, heat-driven processing, ferrofluid, fire and blast.

I built Crucible2.5D as a 2D testbed for advanced simulation techniques I encountered in SIGGRAPH papers and demonstrations, and wanted to understand by implementing and combining them. Keeping the world planar makes local interventions, fields and failures easier to see, and leaves more of an interactive frame budget for material state and solver coupling. Particle count, grid resolution, field iterations and stiffness-dependent substeps still determine what fits that budget.

The recordings below show desktop sessions: 35 complete takes, just over eighteen minutes in all. Start with living material growing over a support, then compare food surfaces and follow heat, tearing, magnetism and blast in their own sections. Alternate takes are grouped under expandable headings; playback stays at its original speed with audio available.

The laboratory overview, finished food surfaces and representation comparison introduce the whole project. MPM, SPH and Eulerian flow then have their own sections. The coupling section traces what the solvers exchange, where each quantity is stored, and when it is applied. Later material extensions build on that foundation.

The native application combines C++ orchestration, OpenGL compute passes and an interactive material editor. A scene can contain deformable or flowing particles, surrounding air, analytic terrain, temperature, damage and external fields. Not every combination is a validated multiphysics model. Some are deliberate visual experiments, and others have specific numerical support that can be traced through the pipeline viewer and source.

The project grew through hands-on implementation: write a material law, build a revealing scene, inspect a failure, then retain an alternative when it answers a different question. Some changes repair a specific exchange or scale error; others trade physical scope for a more expressive interactive model. Keeping those branches visible makes the engineering history part of the experiment.

ExplanationPlanar mechanics and approximate depth supportA smaller computational domain makes experimentation practical, but it also changes topology and mechanics.

A pore that crosses a narrow ligament in a planar body can cut its only load path. In a three-dimensional porous solid, material may still connect around that opening through depth. Increasing a 2D stiffness parameter cannot recreate a missing connection, so a crumb-like sample may separate or slump differently even when its appearance resembles a 3D porous material.

Magnetic peaks have a similar dimensional boundary. A pointed profile in this plane does not establish the curvature, spacing or connectivity of a three-dimensional spike array. The visible height is simulated in-plane; the shaded depth is presentation. The magnetic model also includes explicit surface traction and corrugation seeding.

Thickness, occupancy and support controls explore selected missing effects with affordable approximations. They remain useful comparative models inside the testbed, with their assumptions exposed; a full volumetric solid or ferrofluid would require a different spatial representation and a larger computational budget.

The thermal chapter makes this visible in four native recordings: excessive breakup, larger cracked pieces, cohesive heated bodies with 2.5D support, and variants of that extra support.

Explanation · 1 media examplesStill frames and source diagramsEarlier captures and diagrams remain available for closer inspection.
Image Native desktop capture: colored particle/material surfaces and luminous presentation. The original constitutive and field settings were not recorded, so this is appearance evidence rather than a numerical benchmark.
02 · Food studio / surface appearance

Refined surfaces: from diagnostic state to finished appearance

Original density surfaceOriginal density surface
Refined Food skinRefined Food skin
Comparison From diagnostic surface to finished appearance · Identical paused geometry, temperature and history, shown without and with Food skin. Smooth casing, crust, crumb and interior shading refine the presentation of the same simulation.
Description · at a glance

Food skin is the refined presentation of the same simulated material. The original density and particle views expose structure for inspection; the finished surface adds smooth casing, golden bun crust, porous crumb, cheese, oil and a distinct interior at torn edges. The comparison below shows what this finishing layer contributes. Every capture comes from the native application.

Material coordinates keep the small texture attached as an object stretches. Comparing the original shell with newly exposed boundaries gives a torn edge a different interior appearance. Temperature and stored cooking history drive the live look; separate cooking, char and pore-detail controls let a recording explore appearance without changing the solver.

Compare the diagnostic surface with the finished appearance by dragging the divider. Both captures use the same paused geometry, temperature and material history. Rounded lighting supplies the impression of depth; the simulation supplies the silhouette and material state.

Explanation · 3 media examplesCrust, crumb and heatActual native captures of the food surface, before and after solver-driven changes.
Image Burger Close-up · Starting composition with a golden crust, smooth cheese and partly cooked patty.
Image The same burger after 480 running frames · Cheese sags and spreads, while the porous buns develop openings. Native history changes the shading. These material analogues are not calibrated food chemistry.
Image Open Crumb Loaf · Five openings are missing-particle geometry; fine crumb pores are shader detail.
Explanation · 2 media examplesSix prepared food scenesOpen Presets → Recording studio. Choose a food scene, then Load and run or Load paused.

Food Studio composes sausage, burger, crumb and oil on one board. Sausage Heat & Tear holds a notched body on a skewer; pull the free end with Spring Drag. Open Crumb Loaf exposes the pore walls. Cheese Pull & Press pairs a hanging strand with a falling weight. Burger Close-up lets the cheese sag and the patty brown. Oil Skillet catches three finite liquid drops.

Food beauty studio controls the surface, gloss, rounded depth, pore detail and dark or warm background. Use simulated cooking follows the material history; turning it off exposes an explicitly labeled appearance preview. P runs or pauses, R resets, U hides the interface, and I returns to a conventional particle/surface comparison.

Image A force-driven cheese pull and falling-weight press · After 300 frames, the hanging material has opened and slipped from the peg while the weight spreads the other sample. An aggressive material test, not a sustained hanging-strand result.
Image Oil Skillet · Native SPH droplets settle into a reflective pool. Low particle density remains spray or droplets; this view does not turn them into steam.
ExplanationWhat the image establishesPlanar deformation with shaded depth; a useful food-material analogue.

The renderer builds a distance field from the visible particle silhouette and uses it for broad surface normals. This avoids lighting every particle lump separately. Procedural texture adds casing, crumb and char detail. Rounded shading is a presentation choice; it does not add a three-dimensional mesh, hidden connectivity or a calibrated cooking model.

Maillard material supplies browning and drying but has no tensile-fracture law. The tear scene therefore joins two Maillard sections with a notched Tear Skin band. The new heat-and-drag recording shows that setup separating completely. The earlier force-only probe opened gaps without completing the central tear, so this result belongs to the combined heated-and-pulled setup. Keep Food skin enabled before pulling so the renderer can distinguish the original shell from a new edge.

Large loaf openings are authored geometry; smaller pores are surface texture informed by the porosity field and an appearance control. Char is separate from porosity. Sparse oil remains droplets or aerosol: it does not become steam merely because it spreads out.

The new solid-food scenes use reduced gravity for a slower specimen scale. Their Maillard samples begin in a documented partly cooked, dry-set state: the existing wet-viscosity branch can contract too aggressively at these settings. This is a chosen operating range for a recording, not evidence that the wet model has been repaired. The oil skillet keeps normal gravity.

Explanation · 2 media examplesCompare the drawing, keep the stateThe original field view remains selectable. Cooking previews are independent of simulated heating.
Image Sausage Heat & Tear · Partly cooked initial material with a visible skewer and notched connector. This is the baseline for the appearance comparison.
Image Display-only comparison · The same paused geometry and temperature, with Cooking appearance preview 0.90 and Extra char 0.88. This image demonstrates the shader range; it is not a simulated burn timeline.
03 · Architecture / three simulation methods

Water and jelly need more than bouncing dots

Description · at a glance

A handful of beads and a drop of water can both be drawn as particles, but they answer different mechanical questions. Independent particles carry position and velocity; contacts keep them from overlapping. Water also needs a response to local compression. Jelly needs that response plus a memory of how the material was stretched or sheared.

In SPH, a particle is a sample of a continuous material. Neighbor kernels estimate density, compression creates pressure, and viscosity responds to relative motion. The native pressure law is weakly compressible: it penalizes excess density rather than enforcing exact incompressibility. In MPM, material points retain deformation and history while a temporary grid mediates forces. That stored deformation lets an elastic body push back toward its rest shape.

So particles are not the limitation: SPH and MPM both use them. Molecular dynamics, spring networks and particle constraints can also produce fluid or solid behavior with suitable interactions. The missing ingredients in a simple ballistic/contact demo are the constitutive law, collective spatial response and—in a solid—persistent strain. MPM can represent a fluid too; its material branch deliberately removes elastic shear memory.

SubsystemPrimary representationMain responsibility
SPHParticles and neighbor kernelsPressure, viscosity and liquid interfaces
MPMParticles plus transfer gridStress, deformation, plasticity and material history
Eulerian airStaggered grid and scalar fieldsAir motion, pressure projection and advected quantities
SDF boundariesAnalytic distance fieldsTerrain collision, constraints and selected heat exchange
Theory / mathematicsDensity answers compression; deformation answers shapeThe SPH pressure law and MPM elastic update show what each particle needs to store.

The SPH branch estimates density with its normalized two-dimensional kernel and uses a clamped linear pressure law. Negative pressure is suppressed; free-boundary support and thin structures receive additional treatments. Viscosity and surface tension are separate mechanisms, not consequences of drawing overlapping circles.

An MPM material point carries a deformation gradient F. The affine velocity field updates it, and the constitutive branch converts deformation into stress. Rotation by itself is not strain: the corotated model removes the polar rotation R before penalizing distortion. Plasticity, temperature and damage can then change the rest state or stress response.

ρi=∑jmjWh(xi−xj),pi=kimax⁡(ρi−ρ0,i,0)\rho_i=\sum_jm_jW_h(x_i-x_j),\qquad p_i=k_i\max(\rho_i-\rho_{0,i},0)
The implemented SPH pressure penalizes compression above rest density. It is not a pressure-Poisson incompressibility constraint.
Fpn+1=(I+Δt Cp)Fpn,τ=2μ(F−R)FT+λ(J−1)JIF_p^{n+1}=(I+\Delta t\,C_p)F_p^n,\qquad \tau=2\mu(F-R)F^T+\lambda(J-1)J I
C approximates the local velocity gradient, J=det F, and τ is the base fixed-corotated Kirchhoff stress. Material branches and extensions alter this response.
Interactive schematic

Same dots. Different material.

Same dots. Different material.

Apply the same compression, shear or rigid rotation to three patches. Compare what a point model, resting liquid and elastic material can respond to.

Open separately ↗

Wheel over the scene may zoom; move outside it to scroll the page.

Preview of Same dots. Different material.

A computed constitutive-response experiment with prescribed deformation. It isolates density and elastic memory; it does not advance the native SPH or MPM solver.

Suspended · activate to run; playback pauses after the full panel leaves the vertical viewport.

Capability family

01 · MPM

Material particles retain deformation and history while a transfer grid mediates motion.

04 · 01 / Material point method

MPM: deformable matter keeps its history

Description · at a glance

An MPM step transfers particle mass, momentum and stress information onto the grid, updates grid motion under the selected forces and constraints, then transfers the result back. The implementation uses MLS/APIC-style information and a smooth local stencil to preserve more structure than a position-only particle update.

The same transfer framework serves several constitutive families. Corotated elastic solids recover shape; snow-style plasticity changes the stored rest state; fluids retain volumetric response without shear memory; fiber stress reinforces a preferred direction. Thermal response, damage and magnetic stress extend those material branches. This is why melting, tearing and field-driven liquids belong to the same MPM story.

The constitutive branch determines what deformation means. Elastic response, plastic flow, thermal softening and damage require different state and update rules. A material preset therefore represents a collection of model choices and coefficients, not merely a color and viscosity slider. The grid visualization and transfer schematic make those choices easier to connect to the resulting motion.

This shared transfer is a versatile starting point, not a complete recipe for every material. Tearing needs a fracture or damage law; baking-like behavior needs heat transfer, processing history and changing constitutive response. The MPM extensions later in this brochure add those mechanisms, with their assumptions and current limits stated alongside the results.

Source-authored schematic of particle-to-grid and grid-to-particle transfer. This explains the representation; it is not a captured numerical result.
Diagram Source-authored schematic of particle-to-grid and grid-to-particle transfer. This explains the representation; it is not a captured numerical result.
particles → grid mass/momentum/stress → grid update → particles
The transfer grid mediates dynamics while particles retain material state. Conservation and stability depend on the complete transfer, boundary and coupling implementation.
Material branchState or responseNative experiment
Corotated elasticityDeformation gradient F, rotation and elastic stressSoft Jelly, Rubber, Stiff Elastic
Snow / plasticityPlastic projection and persistent compression historySoft Snow, Packed Snow
Directional solidsFiber reinforcement plus isotropic matrix stressWood, Rope, Bamboo, Carbon Fiber
Thermal / processingTemperature, conversion and phase-related historiesMelting, Bake Oven, Glaze Kiln
FerrofluidFluid pressure, viscous stress and gated magnetic termsFerro-Spike Bench
Theory / mathematicsBoth transfers must use the same nine-node stencilQuadratic B-spline weights give a fixed support and a constant affine moment matrix.

For one coordinate, the stencil starts at floor(x/h − 1/2), so the local coordinate f lies in [1/2, 3/2). The three weights below are combined by an outer product in two dimensions. Their sum is one; with complete support this is the mass-partition property used by the scatter.

The same origin, weights and distances must be used by both directions. A mismatch can produce apparently plausible motion while corrupting a derived field. The solver internals document an earlier scatter/gather mismatch in the damage Laplacian as a concrete example.

For this complete quadratic stencil the second moment is h²I/4. Its inverse supplies the factor 4/h² in both stress transfer and reconstruction of the affine velocity matrix. That coefficient belongs to the basis; changing it independently changes the method.

w0(f)=12(32−f)2,w1(f)=34−(f−1)2,w2(f)=12(f−12)2w_0(f)=\tfrac12(\tfrac32-f)^2,\quad w_1(f)=\tfrac34-(f-1)^2,\quad w_2(f)=\tfrac12(f-\tfrac12)^2
f is the local coordinate relative to the stencil origin; the 2D weight is wᵢ(fₓ)wⱼ(fᵧ).
Dp=∑iwip(xi−xp)(xi−xp)T=h24ID_p=\sum_i w_{ip}(x_i-x_p)(x_i-x_p)^T=\frac{h^2}{4}I
h is grid spacing; xₚ is the particle position, xᵢ a grid node, and wᵢₚ the complete two-dimensional stencil weight. Boundary truncation needs separate treatment.
Source evidenceStencil, MLS identity and transfer diagrams ↗Shared transfer weightsoffline_projs/Physics_2D/shaders/common/mpm_utils.glsl
Theory / mathematicsOne transfer pipeline, several constitutive responsesThe material branch produces stress; the shared transfer transports its effect.

The particle deformation gradient is advanced using its affine velocity field. Elastic branches derive stress from that deformation; plastic branches modify singular values or stored rest state; thermal and damage branches modify the response using additional histories. These choices change the mechanics without replacing the transfer machinery.

In the notation below, τ denotes the Kirchhoff-like stress passed to the MLS transfer and Vₚ the reference particle area used by the implementation. The stress impulse and APIC affine momentum share the same node displacement, so the code combines them before scattering. Grid velocities then rebuild the particle velocity and affine matrix.

The implementation accumulates scaled integers on the grid, with finite precision and range. Velocity clamps and bounded substeps also influence the visible result. Partition of unity alone does not prove exact conservation for the complete sandbox with these interventions.

Resolution and stepping remain important. Stiffness-dependent substep choices are authored and capped; they do not establish a universal stability guarantee. Increasing stiffness or changing the grid can move a scene outside a previously useful operating range even when the same preset name is retained.

Fpn+1=(I+Δt Cp)FpnF^{n+1}_p=(I+\Delta t\,C_p)F^n_p
F is the deformation gradient, C the local affine velocity matrix, and Δt the substep duration.
Ap=mpCp−Δt VpτpDp−1A_p=m_pC_p-\Delta t\,V_p\tau_pD_p^{-1}
A is the combined affine/stress transfer coefficient; m is particle mass and D the stencil second moment.
(mv)i+=wip [mpvp+Ap(xi−xp)](mv)_i\mathrel{+}=w_{ip}\,[m_pv_p+A_p(x_i-x_p)]
Each particle adds weighted momentum to node i. This is the unscaled MLS transfer; the native path additionally handles occupancy and fixed-point storage.
Source evidenceTransfer ledger and integer accumulators ↗Constitutive branches and P2Goffline_projs/Physics_2D/shaders/physics/mpm_p2g.comp
Interactive schematic

One particle, nine grid nodes

One particle, nine grid nodes

Drag a particle to inspect the actual quadratic interpolation basis: mass conservation, position reproduction and affine velocity gather.

Open separately ↗

Wheel over the scene may zoom; move outside it to scroll the page.

Preview of One particle, nine grid nodes

An event-driven transfer-basis study. It isolates the MPM interpolation rule; it does not run the native stress, collision or time-integration solver.

Suspended · activate to run; playback pauses after the full panel leaves the vertical viewport.

05 · Connection / choose a representation for the question

Why the same mechanics becomes FEM in Modal2D

Description · at a glance

Crucible2.5D asks how material moves through large deformation, contact, flow and changing topology. Modal2D asks which small vibrations a particular object supports, and what a strike will sound like. Those goals favor different numerical work, even though both start from mass, internal forces and boundary conditions.

Modal2D assembles a mass matrix and stiffness matrix from a mesh whose geometry, thickness, material and supports matter to the instrument. Its eigenmodes turn that spatial problem into a compact set of oscillators. A small frequency error can mean an audibly mistuned note, so the shape model, discretization and convergence matter—not simply whether the motion looks convincing.

FEM is possible for large-deformation physics too; it needs suitable nonlinear, contact and topology handling. MPM itself uses a grid basis and a weak-form discretization with moving material samples. This is a choice of representation and workload, not a rule that one project needs accurate physics and the other does not.

QuestionCrucible2.5DModal2D
State to preserveMoving material, deformation, plasticity, heat and damageGeometry-dependent vibration shapes and modal amplitudes
Geometry over timeFlow, tearing and large rearrangementSmall motion around the shape used for the modal solve
Numerical workRepeated spatial transfers, force updates and couplingFEM assembly and eigensolve, then inexpensive modal playback
Accuracy to inspectStability, conservation, interfaces and resolution sensitivityFrequencies, mode shapes, boundary conditions and mode truncation
Theory / mathematicsA fast spring preview is a different approximationThe native editor uses a small spring-lattice eigensolve during shape dragging; full FEM follows on release.

The current quick preview uses a 10×6 lumped-mass lattice with axial and diagonal springs and computes six modes. It provides immediate qualitative feedback while dimensions change. It does not preserve arbitrary mesh holes, detailed boundary geometry or the same stiffness formulation as the full FEM solve. The source warns that its absolute frequencies can differ substantially; that warning is not a new measured error bound.

A separate cavity shortcut is a user-tuned two-pole bandpass resonance. It is not a geometry-derived spatial pressure-mode solve. Conversely, fixed-mode Rayleigh-quotient sensitivities accelerate shape adjustment using FEM matrices; those are FEM-derived approximations, not another spring solver.

Mu¨+Cu˙+Ku=f(t),Kϕk=ωk2Mϕk,u(t)≈∑kϕkqk(t)M\ddot u+C\dot u+Ku=f(t),\qquad K\phi_k=\omega_k^2M\phi_k,\qquad u(t)\approx\sum_k\phi_kq_k(t)
The eigenvectors depend on the actual modeled object. Modal playback evolves qk using the chosen excitation and per-mode damping; it does not repeatedly solve the full spatial mesh.
Capability family

02 · SPH

Liquid pressure and interfaces arise from weighted local neighborhoods.

06 · 02 / Smoothed particle hydrodynamics

SPH: pressure and interfaces from particle neighborhoods

Description · at a glance

The SPH solver uses weakly compressible pressure, viscosity, local surface-tension terms and additional velocity smoothing. Neighbor structure determines which particles exchange these quantities. Signed-distance collision handling and continuous collision checks help keep fast particles from simply passing through boundaries.

A hashed cell structure finds nearby particles. Density is accumulated with a normalized 2D cubic spline of support 2h; the force stage combines pressure gradients, viscosity and interface terms. XSPH then smooths relative particle velocities. The Codim Threads branch detects a local tangent and thinness, adapting the density treatment when a fluid bridge becomes line-like.

The sand-castle and jet-style scenes are useful because their expected interaction is legible: the liquid should transfer momentum to the deformable material rather than merely overlap it. The current SPH-to-MPM path records a reaction impulse, scatters it to a persistent grid and lets the MPM side consume it in the following update. This is a concrete return path, improving on a one-way visual interaction.

OperationInformation it usesWhat to inspect
Density + pressureNeighbor masses, cubic kernel, rest densityCompression and free-boundary density
Viscosity + XSPHRelative velocities within the supportDamping versus particle noise
Surface tensionLocal interface structureDrops, necks and reconnecting bridges
Codimensional adaptationTangent and thinness estimateThin threads versus a bulk blob
Collision + return reactionSDF normals and MPM contactA jet transfers motion to the deformable body
ExplanationBulk liquid and thin filaments use different local informationDensity estimation, smoothing and codimensional adaptation explain the visible motion.

WCSPH estimates density from neighboring masses and turns density deviation into pressure. Viscosity and XSPH velocity smoothing damp different kinds of local motion; surface-tension terms encourage coherent boundaries. Changing the smoothing scale changes both the neighborhood and which features the solver can resolve.

The Codim Threads route estimates local tangent and thinness information and adapts the density kernel toward a line-like treatment. This helps thin bridges retain a different character from a bulk 2D blob. It is an explicit adaptive approximation, rather than a general dimensional-invariance result.

In the jet experiment, the contact reaction is stored as an impulse. Dividing it by grid mass supplies a velocity change; multiplying by the timestep again would incorrectly make this interaction depend on the number of updates. Clearing even nodes with no current MPM mass prevents old reactions accumulating until new material arrives.

That mechanism does not justify a blanket claim of exact coupled momentum conservation. Sampling, spatial transfer, boundary constraints and the staggered update can still introduce error. The meaningful diagnostic is to inspect the jet, reaction transfer and material response together, then compare parameter changes under the same setup.

ρi=∑jmjW(xi−xj,h)\rho_i=\sum_j m_jW(x_i-x_j,h)
This is the standard bulk density estimate: ρᵢ is density, mⱼ neighbor mass, W the smoothing kernel and h its scale. The codimensional route modifies kernel treatment.
Source evidenceBulk and adaptive density kernelsoffline_projs/Physics_2D/shaders/physics/sph_density.compContact reaction scatteroffline_projs/Physics_2D/shaders/physics/sph_mpm_reaction.comp
Interactive schematic

A neighborhood becomes a liquid

A neighborhood becomes a liquid

Drag a probe through the actual 2D cubic kernel, inspect density contributions, and switch to the gradient that underlies local forces.

Open separately ↗

Wheel over the scene may zoom; move outside it to scroll the page.

Preview of A neighborhood becomes a liquid

Computed kernel interpolation on prescribed particles. It exposes support and density; the native SPH motion solver remains in the desktop application.

Suspended · activate to run; playback pauses after the full panel leaves the vertical viewport.

Capability family

03 · Eulerian fluid

A fixed grid carries air motion, temperature, smoke and reactive fields.

07 · 03 / Grid-based fluid

Eulerian flow: transport, projection and reactive air

Video Heat travels up a confined column. · A particle-filled funnel is heated at its base. A bright plume grows through the neck and throws glowing droplets above the bowl before fire spreads around the container.
Description · at a glance

The air route uses a staggered velocity grid with pressure projection, advection and buoyancy-related forcing. Smoke, temperature, fuel and oxygen fields add visible and reactive quantities to that motion. The pressure solve uses an iterative grid method, so its iteration budget and boundaries are part of the experiment.

A MAC grid separates cell-centered scalars from velocities on faces. Advection transports the fields; force passes add buoyancy and selected injections; a pressure-potential solve repairs the velocity divergence; boundary passes enforce no-through-flow at solid faces. Temperature diffusion and the oxygen/fuel stages add further field updates. This is a full solver family, with smoke serving as a visible tracer of its motion.

Combustion-inspired behavior includes oxygen limitation, fuel accumulation, smoldering and a backdraft scenario. The chamber demonstration makes the causal sequence readable: a restricted environment can retain fuel while oxygen is scarce; changing access to oxygen changes the reaction. These are authored reduced rules rather than detailed chemical kinetics or a validated fire-safety model.

StageRepresentationDiagnostic
AdvectionFace velocity and scalar fieldsA smoke pattern follows the transported flow
ForcesBuoyancy, gravity-related terms and authored injectionVelocity arrows before projection
Pressure projectionCell pressure potential correcting face velocityDivergence before and after the solve
Diffusion + exchangeAir temperature and sampled particle stateHeat spreading through air and boundaries
Reaction / cavity modelsOxygen, fuel, reachability and stored pressureA sealed chamber versus an opened vent
Theory / mathematicsPressure projection removes unwanted divergenceFace velocities and cell-centered pressure turn a flow constraint into a grid solve.

The MAC grid stores horizontal and vertical velocity on cell faces. Advection and forces produce a provisional velocity. The pressure solve then finds a correction whose gradient removes divergence, with solid faces constrained by the SDF boundary.

The implementation stores a pressure potential whose scale already incorporates the velocity-correction convention. Its projection shader subtracts pressure differences divided by grid spacing, without another timestep multiplier. Additional blast or expansion sources alter the target divergence instead of behaving like ordinary incompressible advection.

The iterative pressure budget determines how well this discrete constraint is met. Pressure and divergence views diagnose the correction and residual; smoke brightness alone cannot establish that the projection has converged.

∇h2π=∇h ⁣⋅u∗−s,un+1=u∗−∇hπ\nabla_h^2\pi=\nabla_h\!\cdot u^*-s,\qquad u^{n+1}=u^*-\nabla_h\pi
u* is provisional face velocity, π the stored pressure potential, s target divergence from active sources, and ∇h the discrete grid operators. With s=0, this targets discrete incompressibility.
Source evidenceMAC pressure correctionoffline_projs/Physics_2D/shaders/physics/euler_project.compAir and source schedule ↗
ExplanationA sealed chamber changes the reaction conditionsReachability, oxygen depletion and stored fuel make backdraft a sequence of state changes.

A coarse airtight grid records whether a region can reach the outer air. The oxygen pass uses this open/closed information to choose a replenishment rate. Hot smoky cells consume oxygen, while a low-oxygen smoldering branch can accumulate unburnt fuel vapor.

Opening a cavity changes access to oxygen. The backdraft branch uses the stored fuel and updated conditions to create a flash and associated flow effects. The explanation therefore follows four fields—reachability, oxygen, fuel and temperature—rather than identifying orange pixels with a single physical quantity.

The ordinary projection pressure and the airtight stored-pressure model have different purposes. A pressure solve used to constrain velocity is not automatically a thermodynamic equation of state. The chamber model and explicit front model provide the additional reduced behavior.

The field views matter because similar orange imagery can be produced by very different states. Fuel, oxygen, temperature and airflow explain whether the displayed response comes from available reactants, transport or a rendering choice. A useful recording shows those intermediate quantities alongside the visible flame.

Source evidenceOxygen and smolderingoffline_projs/Physics_2D/shaders/physics/euler_oxygen.compFuel flash stageoffline_projs/Physics_2D/shaders/physics/euler_backdraft.compCavity and vent mechanics ↗
Explanation · 2 media examplesStill frames and source diagramsEarlier captures and diagrams remain available for closer inspection.
Image Fire & Forge preset: twin flames above the central material, with blue particles in the adjacent compartments.
Source-authored ignition sequence, relating material state and reaction stages. It is a model explanation rather than a claim of chemical calibration.
Diagram Source-authored ignition sequence, relating material state and reaction stages. It is a model explanation rather than a claim of chemical calibration.
Interactive schematic

Watch pressure repair a velocity field

Watch pressure repair a velocity field

Compare before and after on a computed MAC grid. Move the forcing region and watch the divergence fall as the pressure solve converges.

Open separately ↗

Wheel over the scene may zoom; move outside it to scroll the page.

Preview of Watch pressure repair a velocity field

A 32 × 20 pressure-projection calculation with shared color scales and measured residual. Advection, combustion and particle coupling are separate native stages.

Suspended · activate to run; playback pauses after the full panel leaves the vertical viewport.

08 · Air / topology, storage and release

Airtightness turns heating into a pressure event

Description · at a glance

An open flame can shed hot gas into its surroundings. The same source inside a sealed pocket has to interact with the enclosure: energy and gas accumulate, the walls carry a load, and a breach changes the possible escape paths. The interesting behavior is the transition from storing an effect to releasing it through a newly available opening.

The native sandbox builds coarse occupancy and outside-reachability fields. A cell is enclosed when the outside cannot reach it through the current mask. Trapped pressure, heat and fuel-related state evolve alongside the material; cracks and moving matter can change that connectivity. The mask is deliberately coarse and thresholded, so a visually tiny gap may not yet be an open cell path.

Airtightness and pressure are different questions. Connectivity identifies a possible escape route; conductance, stored state and the release model determine the resulting motion. A pressure projection that tries to remove velocity divergence cannot, by itself, store the thermodynamics of a sealed gas volume. That is why this laboratory has a separate trapped-pressure and venting path.

ExplanationThe explosive material and the room each carry their own stateDo not confuse a particle’s modeled shell with the geometric airtightness of the scene.

Firecracker, Reactive Burn and Sealed Charge share a local progression: ignition or cooking, gas production, pressure buildup, cracking and release. Existing particle-state lanes carry the progress variables. Gas and the remaining seal determine a pressure surrogate; cracks weaken the seal, so a charge can bleed its pressure before a strong release occurs.

The vent gate depends on both cracking and pressure. Opening it deposits an authored fragment kick and heat while consuming gas and damping affine motion. Different thresholds and rates create a sharp firecracker, a slower deflagrating material or a tightly held charge. These are reduced material state machines, not resolved chemical detonations.

The surrounding enclosure is a second layer. Its reachability mask can trap and release effects at the scene scale. A material’s local sealed-charge state does not prove that its surrounding cavity is geometrically closed; both models can operate in the same scene.

ExplanationA physical vessel is more than an explosive material presetShell geometry and core contents give the weapon system an additional scene-scale lifecycle.

The weapon/vessel system separately tracks shell integrity, core gas and heat, leaks, pressure, triggering and post-rupture vent decay. Pressure, impact and fuse/sensor triggers are distinct controls; Custom Physical disables the shortcut triggers so that the vessel response can be inspected on its own terms.

That object-level lifecycle is not the same state machine as a grain of Firecracker or Sealed Charge material. Nor is either one the outside-reachability mask of the room. Keeping these three scales separate explains why a material can vent locally, a vessel can rupture, and the room can still retain a pressure effect.

Theory / mathematicsTopology, gas energy and front arrival need separate diagnosticsA binary closed/open label is not a calibrated pressure equation.

The outside-reachability calculation runs at a coarser resolution than the air grid. Occupancy thresholds and finite propagation can delay or remove a narrow opening. A useful resolution test therefore compares the mask itself, not only the rendered wall.

The chamber schematic conserves its small model’s mass and energy ledger, including enthalpy transported through the opening. That gives intuition for stored energy and release rate, but it does not validate native thermodynamics: the native implementation uses cellwise pressure evolution, clamps and authored gains.

The optional vent-front route detects newly opened, previously pressurized regions, clusters them and launches directional fronts. Deducting the assigned release before the legacy vent path prevents applying the same stored contribution twice. Front arrival and geometric pressure waves remain distinct from solving compressible flow.

pV=mRT,U˙=Q˙−Q˙cool−m˙outhout+m˙inhinpV=mRT,\qquad \dot U=\dot Q-\dot Q_{\mathrm{cool}}-\dot m_{\mathrm{out}}h_{\mathrm{out}}+\dot m_{\mathrm{in}}h_{\mathrm{in}}
The illustrative fixed-volume chamber tracks internal energy U and enthalpy h carried by mass flow. A complete moving-wall model would also account for boundary work. This is the schematic’s reference model, not the native pressure update.
Interactive schematic

A tiny opening changes the whole chamber.

A tiny opening changes the whole chamber.

Compare a sealed chamber, permanent vent and delayed breach. The flood-filled mask and the pressure history answer different parts of the question.

Open separately ↗

Wheel over the scene may zoom; move outside it to scroll the page.

Preview of A tiny opening changes the whole chamber.

Computed connectivity plus a separate dimensionless ideal-gas chamber model. The opening is prescribed; the native sandbox uses different pressure and vent surrogates.

Suspended · activate to run; playback pauses after the full panel leaves the vertical viewport.

09 · Explosive scenes

Shock fronts are an explicit reduced model

Video Impacts, rings and a growing fire · Projectiles cross a native test range of deformable targets. Impacts produce expanding rings, displaced particles and large evolving fire and smoke fields; repeated shots change the scene instead of replaying a fixed explosion.
Description · at a glance

The default legacy blast combines authored heat, push and smoke responses. A separate selectable Sedov-style mode propagates a geometric front and deposits impulses, heat and air motion as that front crosses the scene. Its strong-front expansion follows a two-dimensional similarity scaling before continuing near a configured acoustic speed. This makes arrival and affected regions inspectable without solving a full compressible flow system.

This distinction is essential. A moving ring and a convincing impulse response do not establish a resolved pressure discontinuity from a compressible Euler solver. The open blast range is best understood as a reduced propagation and coupling experiment, with explicit assumptions about energy, front speed and deposited effects.

Current native shock passes include sampled SDF visibility checks. A front reaching the right radius is therefore only one part of applying an impulse: the route to its receiver also matters. Thin geometry and particle-material shielding remain limitations. The study below isolates arrival between frames and a simple wall test; it does not identify the unshown blast-mode setting in a recording.

Explanation · 3 media examplesChange the charge. Change the surroundings.Block configuration, an already hot target range, and a chamber with an open entrance.
Video Build the event from blocks · The custom launcher exposes its shell, isolation, sensor, fuse, propellant, containment, blast and payload settings while projectiles are fired into an empty range. The resulting rings, particle spray and hot flow connect the block-based editor to visible scene behavior.
Video A low-heat charge meets a hot scene · The launcher selects Concussion Charge, whose intended role is a strong push with little added heat. Here it strikes an already hot material range, so the resulting footage also contains ignition, large flames and smoke; it is not an isolated shock measurement.
Video Fire through an open chamber · A launcher sends projectiles through a chamber with an open left entrance. Hot flow curls around the internal shelf, ceiling and boundary while repeated impacts build a larger fire field.
Theory / mathematicsA front transports an arrival event through the sceneThe strong-front radius follows a 2D scaling before an acoustic-speed continuation.

The front is represented by an origin, energy, previous radius and current radius. Each update sweeps an annulus. GPU passes deposit divergence sources, heat, smoke, directional wind and particle impulses in their appropriate places in the schedule.

The reduced strong-front scaling follows the two-dimensional similarity exponent. The implementation continues at a configured acoustic speed when expansion would otherwise slow below it, and uses a softened inverse-square radial overpressure envelope. Energy and gains are simulation parameters, not a claim of calibrated explosive yield.

A persistent particle guard prevents the same front from repeatedly kicking a particle merely because it occupies the rendered ring for several frames. Owner exemptions avoid double-counting a rupturing vessel’s own casing impulse. Front-crossing impulses do not receive a second timestep factor.

R(t)∝(Et2ρ)1/4,Δp(R)=kpER2+rc2R(t)\propto\left(\frac{Et^2}{\rho}\right)^{1/4},\qquad \Delta p(R)=\frac{k_pE}{R^2+r_c^2}
R is radius, t front age, E the model energy, ρ ambient density, kp an authored pressure gain and rc a core softening radius. The first relation states the 2D similarity scaling, not the full continued native law.
Source evidenceFront model and impulse contractoffline_projs/Physics_2D/src/physics/eulerian/shock_front.hBlast deposition and caveats ↗
ExplanationA breach can convert stored pressure into a directed frontThe cavity release and outward blast share an explicit budget.

The optional vent-front path compares previous and current reachability. Newly opened cells with sufficient prior pressure are clustered; the outside-field gradient provides an aperture direction. The strongest clusters spawn cone-shaped fronts.

A configured fraction of stored pressure is assigned to the new front, and the corresponding cavity region is deducted before the legacy release path runs. Vent fronts carry an impulse while cavity heat remains on its existing path. This ownership rule reduces double application of the same release.

This optional route is off by default in the inspected front parameters. It complements the closed-chamber and blast-range scenes; it should not be inferred from every visible smoke jet.

The intermediate front and affected-region views are therefore more informative than bloom alone. They explain why an object is pushed at a particular moment and distinguish a propagation rule from an instantaneous radial force.

Source evidenceBreach clustering and budget deductionoffline_projs/Physics_2D/src/physics/eulerian/shock_front.cppVent sequence ↗
Explanation · 1 media examplesStill frames and source diagramsEarlier captures and diagrams remain available for closer inspection.
Image Weapon Launcher with Time Bomb selected, showing an orange blast plume and scattered particles above the bounded scene.
Interactive schematic

The front moves between frames.

The front moves between frames.

Compare a thin sampled ring with swept arrival. Change the time step, then place a wall between the source and its probes.

Open separately ↗

Wheel over the scene may zoom; move outside it to scroll the page.

Preview of The front moves between frames.

A stationary-probe teaching model isolates arrival and direct visibility. It does not solve compressible flow, combustion, reflection or diffraction.

Suspended · activate to run; playback pauses after the full panel leaves the vertical viewport.

Capability family

04 · Coupling

Follow the momentum and heat exchanged between solvers.

10 · 04 / Shared world

Coupling: follow momentum, heat and state across the boundary

Video From a cold pot to hot overflow · A large yellow specimen settles into a vessel above a burning fuel bed. The contents soften and surge, then spill over the rim while the fire fills the open pot.
Description · at a glance

The representations do not share one universal pressure or constitutive solve. They exchange specific quantities at specific stages. That explicit structure is the useful technical story: a contact reaction can wait in an accumulator; heat can be mixed on a grid; air can receive smoke and temperature before feeding drag and ambient conditions back to particles.

The SPH jet and thermal-contact benches isolate two of these loops. The diagram below makes the accounting visible before adding spatial sampling and constraints. In the native application, pipeline textures and particle fields expose the same ownership questions inside the larger coupled simulation.

The original mechanical v2 path is optional and is narrower than its “two-way” label suggests. Separating recorded, deposited and actually applied reaction exposes missing terms, receiver-grid losses and velocity clamps. Thermal exchange v2 is a different path and is enabled by default.

The full-contact experiment closes one specific gap: it returns repulsion, restitution and contact damping, deposited at the original contact position. It is available under A/B models → Coupling v2 → Full contact reaction (experimental), with the new option off by default. This improves the local accounting without replacing the existing contact law or erasing receiver-grid losses.

InterfaceExchangeBoundary of the model
SPH ↔ MPMContact response; optional penalty-only or full-contact reaction; thermal mixtureFull-contact mode closes the local restitution/damping omission. Delayed grid transfer, empty cells and caps still limit the applied reaction.
MPM ↔ Eulerian airHeat, smoke and related scalar injection; sampled temperature and dragField sampling and pass order affect the response
Particles ↔ magnetic fieldsOccupancy / material sources; field and stress feedbackAnalytic drive plus iterative self-field and authored surface terms
SDF → particles / airCollision normals, friction and boundary temperatureKinematic terrain has no dynamic momentum response
Explanation · 1 media examplesA second route through the fuel potOne complete session, including the ribbon and cascade setups before the heated pot.
Video A ribbon, a cascade, then a fired loaf · This take briefly visits a supported ribbon and a stepped liquid basin, then follows a loaf-like specimen heating above the fuel pot. The Create panel selects Vent Crumb during the later segment.
ExplanationA frame is a schedule of exchangesFollow where a force or temperature is written, and when the next solver reads it.

The MPM transfer grid is cleared and rebuilt each substep. Persistent material state stays with the particles. Eulerian velocity and scalar fields, in contrast, evolve on their own grids. The SPH neighbor structure answers a third question: which particles fall inside a kernel support?

The coupling distinguishes instantaneous impulses from rates integrated over a timestep. Original Coupling v2 stores the reaction of the SPH penalty force in a persistent accumulator; the next MPM grid pass consumes and clears it. Restitution and contact damping also change SPH velocity, but that original return path does not include their reactions. A return accumulator is therefore progress toward two-way coupling, not proof that every contact impulse is balanced.

This ordering explains otherwise puzzling differences between two visually similar interventions. A force applied before pressure projection can be redistributed by the air solve; a directional gust applied after projection is a separate contribution. Likewise, a post-transfer particle force has not yet participated in the shared-grid contact calculation.

The frame order is part of the model. A transfer performed before one subsystem's update may be consumed by another on the next step. That staggered coupling can be useful and stable in a chosen scene, but it should not be described as one simultaneous solve of every physical equation.

RepresentationPersistent informationExchange / diagnostic
MPM particlesDeformation, affine motion, temperature, material historyMass and momentum scatter / transfer-grid view
SPH particlesPosition, velocity, thermal and material stateNeighbor kernels / contact reaction
Eulerian airFace velocities; advected scalar fieldsProjection, heat, fuel and oxygen views
SDF and cavity gridsBoundary shape; conduction and reachabilityNormals, wall heat and sealed/open masks
Source evidenceSubsystem schedule and exchanges ↗Reaction consumption and boundary orderoffline_projs/Physics_2D/shaders/physics/mpm_grid_op.comp
Theory / mathematicsA tested improvement: return every contact-velocity changeSeparate the locally recorded impulse from what reaches the receiving MPM material.

Original v2 recorded the opposite of the repulsion impulse, although restitution and contact damping changed SPH velocity afterward. Full-contact mode adds those missing changes and preserves the position where the contact was evaluated. Its scatter therefore uses the original contact stencil, rather than the position after recovery and integration.

The ledger deliberately excludes gravity, SPH internal forces, mouse input, XSPH, SDF contact and positional recovery. Those are distinct operations, not part of the MPM contact reaction. Legacy and penalty-only v2 keep their existing execution paths.

The retained GPU regression dispatches the production force, scatter and receiving-grid shaders in a hidden OpenGL context. It compares against an independent double-precision response, isolates each contact term, varies timestep and mass/index placement, checks zero contact and one-time consumption, and tests the first moment of deposition. All 783 checks passed on an RTX 4080 Laptop GPU; the largest comparison error was about 5.0 × 10⁻⁶ in simulation units. Old-mode outputs were byte-identical to checkpoint shaders in those controlled cases.

The same probe deliberately demonstrates remaining losses: an impulse of magnitude 1.25207 deposits into the grid, but an empty receiver applies zero; a near-empty capped receiver applies only 1.8 × 10⁻⁵. Boundaries, fixed-point rounding, receiver movement and the next-step delay also remain. The regression verifies this local correction. Whole-scene conservation and long-run stability remain separate questions.

Δvcontact=arepΔt+Δvrest+adampΔt\Delta v_{\mathrm{contact}}=a_{\mathrm{rep}}\Delta t+\Delta v_{\mathrm{rest}}+a_{\mathrm{damp}}\Delta t
Separate contact acceleration integrated over the step from the instantaneous restitution velocity change.
Jrecorded=−mSPHΔvcontactJ_{\mathrm{recorded}}=-m_{\mathrm{SPH}}\Delta v_{\mathrm{contact}}
The opposite impulse is recorded at the contact sampling position.
Jrecorded⟶Jdeposited⟶JappliedJ_{\mathrm{recorded}}\longrightarrow J_{\mathrm{deposited}}\longrightarrow J_{\mathrm{applied}}
These quantities need not be equal: empty cells, caps, boundaries and delayed application intervene.
Controlled caseWhat it establishes
Repulsion / restitution / damping separately and togetherOnly the MPM-contact velocity changes enter the reaction.
60 / 120 / 240 Hz; heterogeneous masses and nonzero offsetsTime integration and local/global indexing match the independent reference.
Original-position scatter; zero-contact and consumed recordsThe intended stencil is used; stale impulses do not reappear.
Old modes versus preserved production shadersByte-identical force outputs and deposition in the regression scenes.
Broad / empty / nearly empty receiving gridsLocal accounting succeeds while transfer losses remain observable.
Interactive schematic

Follow an exchange all the way back

Follow an exchange all the way back

Switch between an impulse ledger and contact heat. Vary the participants and inspect what is stored before the other solver consumes it.

Open separately ↗

Wheel over the scene may zoom; move outside it to scroll the page.

Preview of Follow an exchange all the way back

Ideal exchange calculations illustrate the native ownership and scheduling. Conservation in this small ledger does not prove conservation for the full spatially coupled sandbox.

Suspended · activate to run; playback pauses after the full panel leaves the vertical viewport.

Capability family

MPM extensions

The same mechanics grows into direction-aware, thermal and magnetic material experiments.

11 · MPM extension / directional mechanics

AnisoMPM and fracture: direction changes where damage grows

Video A drag opens a visible tear · A spring drag stretches a grain-marked particle body, leaving a narrowed connection before the upper piece separates and rises away from the lower fragment.
Description · at a glance

There are two related directional effects. Fiber reinforcement changes the constitutive stress even while a material is intact. The newer AnisoMPM damage branch then changes how positive tensile stress drives weakening: it adds a structural tensor, a matched toughness normalization, retained maximum history, and a nonlocal damage field. Comparing these separately avoids mistaking a stronger fiber for a different fracture criterion.

The anisotropic damage work introduces directional structure rather than relying only on an instantaneous scalar break threshold. A structural tensor carries preferred orientation; a damage-driving history prevents the material from forgetting a previously reached load; a nonlocal term spreads the interaction over a chosen length scale. Residual stiffness keeps the damaged response from becoming a completely unconstrained numerical singularity.

The Aniso Tear Bench compares legacy, isotropic and anisotropic choices in a common scene. This makes fiber direction and damage localization visible as algorithmic differences. The same loading can produce a different fracture pattern because the material model changes how deformation contributes to the driving field.

The nonlocal AnisoMPM fracture modes are selectable and default-off in the audited source. They are currently enrolled in three material branches—Brittle, Tough and Ortho Tear. Adding a material name to a profile table is insufficient without the matching constitutive hooks.

Explanation · 1 media examplesPull, heat, and change the load pathA separate deformation-and-heating take; the filename alone does not establish metallurgical annealing.
Video Drag it. Heat it. Compare the remaining shape. · Two notched gray bodies are pulled and heated in turn. One tears under the drag; continued heating makes both lose height and retain a flattened shape.
Theory / mathematicsDirectional stress drives a monotone damage historyA structural tensor changes which tensile loading contributes to fracture.

The damage branch takes the positive spectral part of the undegraded Cauchy stress, so compression and previously weakened stress do not replace the intended tensile driver. A usable fiber direction is rotated by the polar rotation; the isotropic control sets the structural tensor to the identity.

The critical stress is normalized for the authored uniaxial stretch criterion. That matters when comparing isotropic and anisotropic modes: switching directionality should not accidentally change the reference toughness. The history option retains the maximum driving value, subject to an explicit cap.

The damage evolution uses a gathered Laplacian, an explicit positivity constraint and a bounded update rate. Residual stiffness prevents total loss of stiffness. The formulas below summarize the branch; the code also includes threshold floors and parameter clamps.

A=I+αaaT,Φ=(Aσ+):(σ+A)σc2A=I+\alpha aa^T,\qquad \Phi=\frac{(A\sigma_+):(\sigma_+ A)}{\sigma_c^2}
a is the rotated unit fiber direction, α anisotropy, σ₊ positive tensile stress and σc the normalized critical stress. The colon denotes Frobenius contraction.
D~n=min⁡ ⁣(Dmax⁡,max⁡(D~n−1,ζ⟨Φ−1⟩+))\widetilde D^{n}=\min\!\left(D_{\max},\max\left(\widetilde D^{n-1},\zeta\langle\Phi-1\rangle_+\right)\right)
With history enabled, D̃ stores the maximum thresholded drive; ζ scales damage growth and Dmax caps it. ⟨x⟩₊ = max(x,0).
ηd˙=⟨(1−d)D~−d+ℓ02∇2d⟩+,g(d)=(1−k)(1−d)2+k\eta\dot d=\left\langle(1-d)\widetilde D-d+\ell_0^2\nabla^2d\right\rangle_+,\qquad g(d)=(1-k)(1-d)^2+k
d∈[0,1] is damage, η the response timescale, ℓ₀ the regularization length and k residual stiffness; g scales stress. The implementation bounds the explicit step.
Source evidenceAnisotropic damage updateoffline_projs/Physics_2D/shaders/physics/mpm_p2g.compNonlocal damage gatheroffline_projs/Physics_2D/shaders/physics/mpm_damage_gather.comp
ExplanationSeparate orientation, toughness and grid resolutionA matched comparison makes the anisotropic result informative.

The Aniso Tear Bench exposes legacy, isotropic and anisotropic choices under a common loading setup. Rotating fibers while keeping the reference toughness fixed tests the directional driver. Showing the damage field reveals where the result originates before the visible body separates.

The current regularization length is a configured ratio times grid spacing. Changing resolution with the same ratio changes that physical length. A resolution study should track the intended length as well as loading, constitutive parameters and substeps; otherwise a changed crack width can be an expected model change.

Source evidenceScatter/gather and damage sensitivity ↗Length-scale and timestep limitsoffline_projs/Physics_2D/shaders/physics/mpm_p2g.comp
Explanation · 2 media examplesStill frames and source diagramsEarlier captures and diagrams remain available for closer inspection.
Source-authored explanation of the damage/front construction. The anisotropic comparison scene supplies the corresponding interactive experiment.
Diagram Source-authored explanation of the damage/front construction. The anisotropic comparison scene supplies the corresponding interactive experiment.
Image Hanging Grain, early native frame 120: across-grain loading on the left has opened the neck; along-grain loading on the right still retains a strand. The same geometry uses different fiber directions. Both specimens eventually fall as the grips also fail, so this demonstrates a useful transient contrast, not a validated fracture benchmark.
Interactive schematic

Rotate the fibers. Change the damage.

Rotate the fibers. Change the damage.

A matched isotropic / anisotropic comparison computes the normalized tensile driver, retained history and nonlocal damage update through a load–unload cycle.

Open separately ↗

Wheel over the scene may zoom; move outside it to scroll the page.

Preview of Rotate the fibers. Change the damage.

Prescribed stress on a one-dimensional strip isolates the damage law. These colored strips are computed damage fields, not a native fracture animation.

Suspended · activate to run; playback pauses after the full panel leaves the vertical viewport.

12 · MPM extension / heat and material history

Thermal MPM: melting, curing and shell–core processing

Video Change the shape where the heat lands. · Localized heating and cooling are applied to two dense circular specimens beside a softer sample. The heated regions lose their original outline, opening gaps and slumping into fragments.
Description · at a glance

Thermal work includes contact exchange, diffusion, external heating, cooling and material-dependent response. A contact-temperature mixture replaces the older maximum-temperature behavior that could ratchet a system upward merely through repeated contact. The revised transfer is still one part of a larger update containing sources, cooling and bounds.

Material processing extends beyond a single melting threshold. The project explores curing, phase change, gas production, crust formation and different surface/core behavior. Clay, wax, epoxy and baking-inspired presets use these histories to create visibly distinct transitions. Their parameters are authored for the laboratory and are not presented as calibrated constitutive data for industrial manufacturing or food science.

The recordings make three distinctions visible: softening changes the response now; a setting or processing variable preserves a history; and prolonged flow can remove the distortion that would otherwise drive shape recovery. The next section isolates that last distinction. For shell/core materials, setting the exterior first also changes how an expanding interior is restrained.

Porous Growth Comparison isolates another issue: a material should not pull itself back to its unexpanded shape merely because its gas-driven rest area grew. An optional correction now measures elastic stress and tearing against that grown rest shape. Scene 143 compares it with the legacy law and separates both from the scalar thickness controls.

  • The thermal bench isolates contact exchange before adding combustion or material conversion.
  • The advanced bake bench compares authored surface/core and processing histories.
  • Temperature, conversion state and visible appearance should be inspected separately.
Explanation · 4 media examplesPores, cracks, and a little extra supportFour native recordings distinguish excessive fragmentation, retained cracks and the cohesion added by the 2.5D support controls.

The missing depth becomes visible when a heated porous body starts to break. In a planar model, an opening can cut the only remaining material connection. The first take shows excessive fragmentation into separated strands; the second keeps larger pieces and develops cracks, a more useful appearance for the intended steamed-bun material.

The two support takes show the other side of the experiment: the bodies deform under continued heating but remain together. Different levels of extra support change the deformation and cracking while keeping the overall response firmer. Here, 2.5D means an approximation of depth support in a planar simulation: selected material gains and optional support forces stand in for effects of thickness. It does not add a volumetric solid or recover real connections behind each pore.

These are qualitative native sessions, with different materials, fuel arrangements and hand-applied heating. They make the behavior and its limitations visible; they do not isolate one support coefficient or establish a physically calibrated baking model. The matched scene and retained-height measurements below provide a separate, controlled comparison.

Video Excessive fragmentation · The heated specimen separates into many narrow strands and collapses across the supports. This is the unwanted failure case: the intended bun-like body loses far more cohesion than a few surface cracks would imply.
Video Cracks with larger pieces remaining · Heating opens cracks and the body slumps, but larger portions remain together. This is closer to the intended appearance of a cracked steamed bun; cracking itself is not treated as a failure of the model.
Video Extra depth support keeps the bodies together · With the 2.5D support setup, the three heated bodies remain cohesive through the take. Their silhouettes settle and the original holes flatten, so holding together does not mean preserving the initial shape.
Video Different levels of extra support · The support variants retain firmer overall bodies while showing different deformation and cracking. This take explores the strength of the added support; the materials and heating vary, so the left-to-right order is not a calibrated ranking.
Explanation · 2 media examplesPure 2D and a thickness surrogate: repeat the same sceneMatched native captures show a modest change in retained height, while the bodies still settle and their cavities partly close.

Scene 143, Recording: Porous Growth Comparison, starts three equal domes with two particle-free holes each. Left to right: Steam Bun, Crust Dough, Crumb Loaf. All begin at 365 K under the same 560 K radial heater. The captures below use identical initial conditions and 10,605 particles, stopped after 600 frames. Compare a material with itself across images: the middle specimen sits closer to the heater.

Both captures use the corrected growth law. Pure 2D disables the additional support routes; Thickness surrogate enables the existing Bake/Kiln gains for shell/core stiffness, rest area, retained gas and tear thresholds. Steam Bun retains 0.690 world units of height here versus 0.623 in pure 2D. This is a bounded result from this scene: every body settles, and a scalar thickness gain cannot recreate material connections behind a through-hole.

Material in this fixturePure 2D heightThickness-surrogate height
Steam Bun0.6230.690
Crust Dough0.6290.720
Crumb Loaf0.6130.699
Image Pure 2D · frame 600. Corrected growth stress with thickness and z-occupancy support off. The two holes in each original dome have flattened into narrow cavities.
Image Thickness surrogate · frame 600. The same corrected law and initial scene with Bake/Kiln thickness gains enabled. The material retains modestly more height in this run; the original cavities still partly close.
Theory / mathematicsLet free growth be a stress-free rest stateThe optional correction measures both elastic terms against the inflated rest shape and keeps external loading able to drive tearing.

The previous law used the inflated target area in its volume term, while the corotated term still measured deformation from the unexpanded rotation. At free isotropic growth the first term therefore pulled inward even when the volume term was satisfied. The optional law applies an isotropic growth split to both terms. It also stops setting from erasing the grown deformation, measures tear strain relative to growth and removes Crumb Loaf’s direct pore-state-to-tear source. Mechanical strain and shell/core mismatch still produce damage.

Growth-consistent porous stress is selectable under Advanced → Bake / Thickness. It is enabled by the corrected scene-143 modes and defaults off elsewhere. Only Steam Bun, Crust Dough and Crumb Loaf are enrolled. The production-shader regression passes 234 checks, including free rotated growth, loaded response and 24 byte-exact checkpoint comparisons with the option disabled. Four 600-frame full-engine runs retain finite particle and material states; these checks establish local properties, not convergence or a calibrated baking law.

Fg=JrestI,Fe=F/Jrest,Je=J/JrestF_g=\sqrt{J_{\mathrm{rest}}}I,\qquad F_e=F/\sqrt{J_{\mathrm{rest}}},\qquad J_e=J/J_{\mathrm{rest}}
The 2D isotropic growth map separates the intended rest-area expansion from elastic deformation.
τ=2μ(Fe−R)FeT+λ(Je−1)JeI\tau=2\mu(F_e-R)F_e^T+\lambda(J_e-1)J_eI
Both elastic terms vanish when F equals the freely grown rotation. This is the optional native constitutive choice; viscosity, heating, setting and other state updates remain separate.
Source evidenceOptional porous-growth constitutive branchesoffline_projs/Physics_2D/shaders/physics/mpm_p2g.compProduction-shader invariants and disabled-mode regressionoffline_projs/Physics_2D/tests/porous_growth_test.cpp
Explanation · 3 media examplesBaking, crusts and supported samplesWatch shell/core materials and supported spans change, then use the schematic to separate temperature, setting and venting.
Video Two benches. Different thermal histories. · Heat is swept across the Porous Bake Bench, then the Pottery Bench. Samples develop different silhouettes and particle-scale textures under localized heating.
Video Build a kiln-material comparison by hand. · Enhanced clay and crumb presets are added to the same box, then heated locally. Compact bodies and softer porous forms respond differently as their surfaces warm and deform.
Video Metal, crust and thin heated strips · A short tour moves from paired metal bending supports to crust bridges and four thin heated spans. Local heating changes sag, collapse, and the material left on each support; the scene changes during the take.
Explanation · 4 media examplesMove the heat across the materialLocal heating rows and a cold/hot glass drape. Geometry, material and brush exposure vary; these are exploratory takes.
Video The same brush meets five different bodies. · A row of five specimens is heated from left to right. Pale caps, red bodies and the final porous sample collapse and spread differently while tall flame columns develop.
Video Compact blocks become different silhouettes. · Four specimens of different height are heated in sequence. The flatter samples stay compact while the taller right-side samples develop open particle-scale structures and collapse outward.
Video Cold pane, hot drape · Two glass strips begin above rounded formers. One falls aside while the heated copy drapes and collects around its former and catch tray; continued local heating changes the silhouette.
Video Heat brushed across a row of bodies · The heat brush moves across several particle bodies in the Fracture Test box. Their heated upper surfaces soften and change shape while the lower portions remain comparatively intact.
Theory / mathematicsContact temperature is a weighted mixtureHot and cold participants relax toward a shared temperature, not the maximum neighbor.

Thermal particles contribute weighted heat capacity and heat-capacity times temperature to a shared grid. The consume pass gathers numerator and denominator and relaxes toward their ratio. A hot particle can therefore cool while heating colder neighbors; adding cold water lowers the mixture temperature.

The native MPM consume pass decodes differently scaled fixed-point accumulators and uses a relaxation coefficient of 0.45 times the substep. The displayed equations describe the exchange in unscaled units. They separate a sensible contact target from other operations such as material phase changes, external heaters, cooling and clamps.

Equal exchange rates and matched transfers matter for conservation. A weighted target is not by itself a proof that every source, boundary or differing participant update preserves total thermal energy.

Tmix=∑pwpmpcpTp∑pwpmpcpT_{\mathrm{mix}}=\frac{\sum_p w_p m_p c_p T_p}{\sum_p w_p m_p c_p}
w is the transfer/gather weight, m mass, c effective heat capacity and T temperature. The sum describes participating thermal particles.
Tpn+1=Tpn+γΔt (Tmix−Tpn)T_p^{n+1}=T_p^n+\gamma\Delta t\,(T_{\mathrm{mix}}-T_p^n)
γ is the exchange rate; the current MPM consume uses 0.45 in the simulation’s time units. This is a contact step, not the entire thermal update.
Source evidenceMixture consume and fixed-point decodingoffline_projs/Physics_2D/shaders/physics/mpm_contact_mix.compHeat paths through the system ↗
ExplanationProcessing state distinguishes melting, curing and shell formationThe same temperature can lead to a different response because the material remembers how it arrived there.

Reversible softening changes stiffness as temperature varies. Plasticity stores a changed rest configuration. Curing stores a conversion that does not simply reverse on cooling. Phase transitions can include a latent-heat budget. These are different state updates, even when each initially looks like a solid getting softer.

Shell/core presets add separate surface and interior histories. A crust or glaze can mature while its interior remains compliant or produces gas. Resulting mismatch can bend, inflate, split or vent the body. The authored profiles turn this into a material-interaction experiment rather than a calibrated manufacturing predictor.

The useful comparison is a repeatable heating sequence with temperature and state fields visible. Two materials may look similar initially yet diverge because one softens, another cures and another forms a resistant shell. Recording only the final glowing image would conceal the mechanism that distinguishes them.

MechanismExample familyUseful paired observation
Softening / rehardeningWax, hot glassTemperature and deformation during heating and cooling
Irreversible conversionClay, epoxy, ceramicConversion state before and after cooling
Shell versus coreGlaze Clay, Crust DoughSurface state versus core expansion
Thermoelastic mismatchQuench Steel, Spring Steel StripTemperature gradient versus bending / residual response
Gas and rupturePuff Clay, Firecracker PelletStored pressure / conversion versus vent timing
Source evidenceThermal and processing branchesoffline_projs/Physics_2D/shaders/physics/mpm_p2g.comp
Explanation · 4 media examplesStill frames and source diagramsEarlier captures and diagrams remain available for closer inspection.
Image Melting preset: a deformed blue particle body and orange plume inside the container, with environment controls visible.
Source-authored thermal-contact schematic. Current numerical behavior also depends on diffusion, sources, cooling and clamping.
Diagram Source-authored thermal-contact schematic. Current numerical behavior also depends on diffusion, sources, cooling and clamping.
Image Metal Bend Bench at 1,200 frames: the cold strip retains a deep bend under its bead, while the preheated copy collapses into its tray. The existing one-way heat-treatment model supplies this contrast; it does not simulate a full annealing cycle.
Image Kiln Silhouettes at 1,200 frames: three initially arched ceramic-family specimens under controlled heating end with visibly different retained structure and spreading. The middle blister-glaze arch remains open while the neighboring forms collapse into their trays.
Interactive schematic

The skin sets. The core keeps changing.

The skin sets. The core keeps changing.

Heat reaches a fast-setting shell before the gas-generating core. Compare their histories, then add strain to open a modeled vent.

Open separately ↗

Wheel over the scene may zoom; move outside it to scroll the page.

Preview of The skin sets. The core keeps changing.

Computed two-compartment heat exchange and native-inspired crust/gas rates. The cross section and scalar tear diagnostic are a reduced teaching model; the recordings show native MPM behavior.

Suspended · activate to run; playback pauses after the full panel leaves the vertical viewport.

Interactive schematic

The temperature falls. The history stays.

The temperature falls. The history stays.

Scrub a heating–cooling cycle and compare temperature, reversible stiffness and retained conversion across the same material strip.

Open separately ↗

Wheel over the scene may zoom; move outside it to scroll the page.

Preview of The temperature falls. The history stays.

Computed 1D diffusion and a native softening law, paired with illustrative conversion kinetics. The native project adds deformation, phase budgets and material-specific processing.

Suspended · activate to run; playback pauses after the full panel leaves the vertical viewport.

13 · From the recording / recoverable distortion

Cool before the shape memory is lost.

Video A limited window for recovery · Short heating leaves a window for recovery on cooling; prolonged local heating progressively destroys that response. In this take, successive heat/cool brush passes deform the blue body, ending with a low, hollowed shape that cooling does not restore to its initial outline.

Cooling early can preserve enough structure for a deformed body to recover. Heat it for too long and the material can lose the elastic distortion that drove that recovery. Cooling then restores stiffness in a changed shape. I explore that distinction with successive heat and cool brush passes in the recording.

A compatible mechanism exists in the native phase-material branch: heating reduces stiffness and relaxes the deformation gradient. Cooling reverses the phase fraction, but it does not undo that relaxation. The specimen’s exact material is not visible in this take, so the study illustrates this source-backed mechanism without claiming to reconstruct its settings.

Interactive schematic

Cool before the elastic memory is lost.

Cool before the elastic memory is lost.

Hold the same distortion in two samples. Change the heating duration, cool both, then release the load and compare the remaining shape.

Open separately ↗

Wheel over the scene may zoom; move outside it to scroll the page.

Preview of Cool before the elastic memory is lost.

A local reduction of the native phase-material reset, with prescribed heating and ideal unloading. It omits transport, contacts and spatial flow; teaching updates are not recording seconds.

Suspended · activate to run; playback pauses after the full panel leaves the vertical viewport.

14 · MPM extension / magnetics and related fields

Ferrofluid: field forces become material stress

Video Magnetic lift and mechanical drag · The probe field lifts a narrow column and forms neighboring surface peaks; Spring Drag then pulls a selected patch directly. Switching back to the magnet produces another tall filament and reshapes the pool. The status bar identifies the active tool throughout this continuous take.
Description · at a glance

Start with the same pool under two interventions. The magnetic probe pulls the material upward into a narrow column while neighboring surface peaks appear; Spring Drag grabs a selected patch and moves it mechanically. The status bar identifies each tool. Switching between them makes field-driven attraction and surface shaping visibly different from a direct local pull, although this hand-operated recording is not a force-matched benchmark.

The surface peaks are the familiar visual cue of ferrofluid: a liquid carrying magnetic particles that responds to an applied field. In three dimensions, the interface can form arrays of spikes across a surface; this planar laboratory shows their profile as peaks and narrow columns. The linked external research video provides that 3D context, including comparisons with real ferrofluid experiments. It is background for the phenomenon, not footage of Crucible or evidence that this simplified model reproduces the same physics.

The ferrofluid branch is built into MPM rather than applied only as a visual force on dots. It resets deformation to a volumetric fluid response, adds viscous stress from the affine velocity matrix, and incorporates coarse directional magnetic stress near the interface. The separate force pass handles field-gradient attraction. Pressure, translation, alignment and surface shaping therefore have distinct controls and failure modes.

The magnetic work combines external fields, material response and iterative field calculations. Temperature and remanence-related state can alter behavior, while simplified soft-iron handling introduces a separate approximation. The ferro-spike bench includes explicit traction and corrugation seeding, so its spikes should not be advertised as an instability emerging solely from a complete self-consistent field solve.

The companion recordings expose field direction while the probe moves, then introduce induced and permanent magnetic responses. Field colors are diagnostic, not temperature or emitted light. A separate fantasy-style path prioritizes visual exploration; the opening sandbox tour also shows living-culture growth, which uses its own procedural field rules.

Explanation · 3 media examplesMore magnetic interactionsProbe motion and field direction, a pool with a solid inclusion, then soft iron and permanent-magnet exploration.
Video Move the pole; expose the field · A magnetic probe draws material upward, raising a narrow column and smaller surface spikes. These planar profiles echo the spikes seen across a 3D ferrofluid surface; the external reference below shows that phenomenon. The direction overlay reveals the changing field, and the later sequence adds other magnetic materials, including a displayed diamagnetic-fluid preset.
Video A field shared by liquid and solid · A responsive pool bends around its internal support. A large rounded body is added above it, and moving the magnetic probe reveals the field around both bodies through the direction-colored overlay.
Video Induced response and magnetic memory · The magnetic-material comparison begins with Soft Iron selected, then introduces ferrofluid and a permanent-magnet variant. The probe and direction-colored field make attraction, changing material shape and the retained field around the populated tray inspectable.
Theory / mathematicsBody force and constitutive stress do different workTranslating the fluid toward a source is different from stretching it along the field.

The inspected ferrofluid branch combines hydrostatic pressure and viscous stress. Its optional interface route adds a coarse 2D Maxwell-like directional term, using the drive field, a bounded contribution from the total field, occupancy and wall gates. The native comments distinguish this from an external negative-pressure well, which previously caused undesirable collapse patterns.

The constitutive path and Kelvin-style body-force path are complementary. The former changes how neighboring material transmits traction; the latter changes bulk motion in a field gradient. Surface corrugation, saturation, thermal response and remanence-related state add further choices. These are inspectable approximations with authored stabilization, not a complete continuum electromagnetics solver.

τ=−pI+μvisc(C+CT)+τmag\tau=-pI+\mu_{\mathrm{visc}}(C+C^T)+\tau_{\mathrm{mag}}
A schematic decomposition of the native ferrofluid stress: pressure p, viscous coefficient, APIC affine matrix C, and gated magnetic stress. The magnetic term is material- and interface-dependent.
Source evidenceFerrofluid constitutive and interface stress branchoffline_projs/Physics_2D/shaders/physics/mpm_p2g.compMagnetization and gradient-force pathoffline_projs/Physics_2D/shaders/physics/new_magnetic_force.comp
ExplanationExternal fields, magnetization and surface shaping are distinct controlsThe magnetic route combines analytic sources with a grid self-field and material memory.

The external pole field is evaluated analytically. Optional particle magnetization carries relaxation, saturation and remanence-related state; temperature changes the authored material response. The grid self-field contributes to the force gradient, while the inspected magnetization-state update responds to the external field to keep its feedback bounded.

Kelvin-style forces use spatial variation of total field magnitude. Surface traction and corrugation seeding add a separate visible spike mechanism. Comparing those controls independently shows which part comes from the field solve and which from explicit surface shaping.

The fantasy backend is a separate expressive force system. The distinction lets the same laboratory explore convincing field imagery and inspectable physical approximations without treating every material label as a validated electromagnetic model.

Source evidenceAnalytic sources and self-field solveoffline_projs/Physics_2D/src/physics/magnetic/new_magnetic_field.cppMagnetization, force and shapingoffline_projs/Physics_2D/shaders/physics/new_magnetic_force.compMagnetic coupling paths ↗
ExplanationA continuous field becomes material behaviorSensing, local field evolution, vitality and insertion form a closed procedural loop.

Living particles are scattered into occupancy fields. A blurred mask confines the field engine, and a selector switches among SmoothLife-inspired, Lenia and Gray–Scott rules. The evolving field is then sampled back by particles to update vitality, growth drive and membrane forces.

An optional revival field spreads the influence of nearby living material. Sculpt mode changes the existing material without adding mass; Grow mode can insert particles at detected membrane/frontier regions, bounded by an interval, per-step budget and total growth cap.

The diagnostic panel reports field mean, variation, mid-band coverage and living/dead occupancy. A field view beside the material view makes clear whether a change originated in the local rule, the confinement mask or the mechanical response.

Living Culture adds SmoothLife-, Lenia- and reaction–diffusion-inspired fields linked to particle insertion, vitality and membrane behavior. These systems connect continuous local rules to material presentation. They are mathematical and procedural life-like experiments, not biological tissue models. They belong as related studies around the core material-interaction workflow.

Field familyLocal ruleMaterial connection
SmoothLife / FoamInner/outer neighborhood response with separate parameter setsConfinement, vitality and membrane structure
LeniaKernel neighborhood with a smooth growth responseContinuous growth field sampled by particles
Gray–ScottTwo reacting and diffusing concentrationsPattern boundaries can drive membrane activity
Revival / insertionSpread field plus bounded frontier requestsRevive existing material or explicitly add particles
Source evidenceField selection, vitality, statistics and growthoffline_projs/Physics_2D/src/physics/living/living_culture.cppTwo-channel reaction–diffusion ruleoffline_projs/Physics_2D/shaders/physics/living_culture_field_gs.comp
Explanation · 2 media examplesStill frames and source diagramsEarlier captures and diagrams remain available for closer inspection.
Image Thermal Furnace preset with colored particle surfaces, magnetic-field visualization and the active probe-pole tool.
Image Native desktop capture of a patterned material/field surface. The image preserves the original appearance; it does not identify a validated constitutive or magnetic setup.
Interactive schematic

A field can translate, align and shape matter

A field can translate, align and shape matter

Move a pole and compare field direction, a computed gradient-force proxy and directional stress at a material probe.

Open separately ↗

Wheel over the scene may zoom; move outside it to scroll the page.

Preview of A field can translate, align and shape matter

An analytic pole-pair schematic separates the mechanisms. It does not replace the native magnetization solve or claim emergent ferrofluid spikes.

Suspended · activate to run; playback pauses after the full panel leaves the vertical viewport.

Recorded examples · 1Magnetic and material fieldsThe probe raises columns and surface peaks; a direct mechanical drag produces a different response in the same pool.
Image The magnetic probe draws a tall column from the pool while smaller peaks form along the surrounding surface. The colored, shaded particles show a planar simulation; the apparent depth is rendered.
Capability family

Build, intervene, inspect

The UI makes the interfaces part of the experiment.

15 · Recording studio / native application

One specimen. One intervention. A readable result.

Video One stack, several material responses. · A layered burger settles on the griddle. Local heating softens the stack and material from the filling spreads beyond the shelf while the upper silhouette persists.
Description · at a glance

Twenty-four recording compositions make the existing material laboratory easier to explore. Load the recording category in the native Scene Browser, then choose Load and run or Load paused. Empty magnetic and living-material containers let the act of placing a material introduce the experiment; comparison rows and matched supports keep the remaining scenes legible. P pauses, R resets the take paused, and U hides the interface.

Recording mode also separates the scene heater from its drawn gizmo. Hiding the interface no longer switches off the kiln source in these new scenes. The old linked behavior remains available as an explicit comparison; source temperature and actual activation are different settings.

The new capture controls separate how heat looks from how it evolves. Exposure, saturation, an emission threshold and ironbow/cool–warm/spectral temperature views change the presentation. A thermal reservoir changes the experiment. The optional symmetric-flux route targets one precise diffusion exchange error; it does not make the entire coupled engine energy-conserving.

Two burgers, two different heat experiments

Burger Griddle begins preheated at 420 K under a 590 K controlled source. Burger Press Pair compares 300 K and 480 K starting states with no continuing heater. Both use thermal MPM layers; their finite cooking and softening responses can saturate. Temperature view separates heat transfer from a subtle change in shaded appearance.

For a manual heat test, run the simulation, leave creation and selection modes, move the pointer onto a specimen and hold G. The brush is inactive over interface panels and while paused. Material beauty or Temperature reveals material-driven changes; Batch colors can hide browning. These food analogues soften, set and change color, but do not burn away like fuel.

RecordWhere to beginWhat the comparison reveals
Field-driven matterMagnetic Tank · Living PedestalPlace one ferrofluid or Culture Tissue specimen. Show the field, then the material responding to it.
Heat changes structureCrust & Kiln Gallery · Reaction RowA thick boule, tile and hollow vessel; then equal squares of different materials above small fuel pads.
Pores, growth and scalar thicknessPorous Growth Comparison · scene 143Reset the same heated geometry across pure 2D, corrected thickness, legacy thickness and z-occupancy support. Compare each material with itself across takes.
Force meets structureThree Grains · Layered PressIdentical loads across fiber directions; a layered bun/patty/stretch analogue under heat or a press.
Memory and indirect warmingMetal Heat Cycle · Glass Drape · Fuel & CauldronMatched cold/hot pieces; then a compact cauldron whose contents gently warm without a radius heater. The original thick-pot failure remains in the audit. Metal shows heat-treatment memory, not calibrated annealing.
An event needs roomRocket & Chamber RangeAn empty flight corridor, breakable door and three witness objects. Compare an intact chamber with the same scene opened.
Explanation · 3 media examplesScene 143: four controls, two separate questionsThe first pair isolates thickness gains; corrected versus legacy thickness isolates the growth law.

In Presets → Recording studio, load Recording: Porous Growth Comparison. Each mode button reloads identical geometry and pauses. P runs or pauses, U hides the interface, and R reloads the default corrected thickness route. Keep frame count and solver settings equal.

Z-occupancy adds an 8-bit remaining fraction that scales particle mass, momentum and heat deposits, with optional visible thinning. Its legacy support reduces gravity and applies a density-gradient pull. It supplies neither hidden 3D load paths nor conserved gas pressure. The authored holes here contain no particles; partial occupancy from Erase Wall is a different experiment.

At equal thickness, the corrected Crumb Loaf run has a mean tear channel of 0.0244 versus 0.0515 with the legacy law. The correction does not increase every material’s final height or reduce every damage measure. The images below retain both older routes so those differences can be inspected.

Mode buttonGrowth-consistent stressThickness gainsZ-occupancy/support
Pure 2DOnOffOff
Thickness surrogateOnOnOff
Legacy thicknessOffOnOff
Z-occupancy legacy forcesOnOnOn
Image Starting geometry · frame 1. Equal rounded specimens with two actual particle-free openings; left Steam Bun, center Crust Dough, right Crumb Loaf.
Image Legacy thickness · frame 600. Same initial geometry, heater and thickness gains, with the growth-consistent correction disabled.
Image Z-occupancy legacy forces · frame 600. Corrected stress and thickness gains plus the old occupancy/support heuristic. This scene remains planar, and the result is close to the thickness-surrogate run.
Explanation · 2 media examplesMore prepared comparisonsThe reaction row follows one arrangement; the longer bench tour explicitly visits several scenes.
Video Four materials on heated trays · Wax, crust dough, glaze clay, and timber begin as four square samples above compact fuel pads. One collapses into a puddle while the others soften, expand, darken, or topple as their different material laws respond.
Video From grain tests to heated arches. · A short tour moves through hanging and notched specimens, a matched impact row, and three kiln arches. The final heated comparison makes their different support and collapse behavior easy to see.
Explanation · 2 media examplesStill frames and source diagramsEarlier captures and diagrams remain available for closer inspection.
Image Matched Impact, native simulation at 480 frames: the green elastic span bends around its load, the pale snow-plasticity span has broken through, and the brown brittle span deforms differently. Hammer geometry and launch are matched; the target material laws and stiffness differ.
Image Burger Press Pair at 1,200 frames: equal presses load cold and preheated stacks of dough, Maillard material and cheese. Layer height, squeeze-out and spreading differ. These are stylized material analogues; a droplet escaping the catch tray remains visible.
16 · Controls and diagnostics

A scene is useful when its intermediate state can be read

Description · at a glance

The practical workflow starts from a named scene or a simple container, selects a material and introduces it through the available brushes or shaped batches. Boundary tools establish the environment; heat, cooling, blowing and field controls provide interventions. The pipeline viewer connects the visible scene to solver stages and diagnostic textures.

A focused comparison keeps one intervention and one principal response visible. The anisotropic tear bench highlights orientation and damage; the jet scene highlights momentum exchange; the thermal bench highlights contact; the backdraft chamber highlights oxygen and fuel; the ferro bench highlights field and surface forcing. More elaborate combinations become useful after those individual mechanisms are legible.

The native stills below show a directional material response and a thermal scene with its controls visible. Follow the fracture, thermal and coupling chapters for the corresponding motion examples and the limits of each comparison.

Image Magnetic appearance controls: Direction (hue) coloring, Lit Blob rendering, field sharpness and the selected Drive H Arrows debug view.
Image Grain direction changes the load path · At frame 120, the across-grain specimen on the left has separated at its neck while the along-grain specimen on the right retains a strand. This qualitative Hanging Grain scene illustrates orientation; it does not isolate the newer AnisoMPM damage law. The fracture chapter shows the full motion and limitations.
Image Inspecting a thermal scene · The native Melting scene keeps environment controls and SPH/MPM particle counts beside the deformed body and plume. This shows the available controls and visual state; it does not isolate contact-heat transfer or measure liquid-jet momentum.
ExplanationThe pipeline viewer exposes the solver’s intermediate representationsThe useful image is often the field that explains the motion.

The pipeline view connects solver diagrams to actual grid and particle stages: transfer, forces, projection, contact heat, magnetic fields and material-state updates. It supports reading the result as a chain of computations rather than a single shaded surface.

Three comparisons cover much of the system: hold geometry fixed while changing a constitutive branch; hold the material fixed while changing a coupling control; hold the scene fixed while changing numerical resolution or iteration budget. These separate model behavior, interface behavior and discretization effects.

The 2.5D presentation and occupancy extensions require their own interpretation. They can change visibility, apparent surface depth and selected transfer/support behavior, but the underlying spatial simulation remains a 2D laboratory.

Rendering adds particle surfaces, luminous temperature cues, field color and depth-like presentation. The later 2.5D occlusion work changes how depth and overlap are shown; it does not turn the underlying mechanics into a full three-dimensional solver. Presentation can be expressive while its relationship to the computed state remains explicit.

Source evidencePipeline visualizationsoffline_projs/Physics_2D/src/render/pipeline_viewer.cppTransfer and stability diagnostics ↗Mechanics boundaries and status ↗
17 · Feature maturity / source and runtime evidence

How much is implemented—and how much is established?

Description · at a glance

This inventory groups the system into 25 meaningful capabilities, excluding material-name variants, presets, UI and rendering cosmetics. Twenty-two have substantive implementations; three are stubs or deferred extensions. That is an implementation-scope estimate, not “88% physically correct.” A convincing scene, a complete code path and a calibrated numerical method are different achievements.

The recording set contains 35 native sessions covering refined food surfaces, living growth, field interactions, thermal processing, tearing, explosive scenes and porous depth-support comparisons. Three browser companions add independently checked reduced calculations for recovery, shell/core history and front arrival. These provide clearer behavioral evidence and explanation; they do not replace native convergence or calibration studies.

The three core solvers were exercised together in a new baseline run; stiffness v3 and Contact Heat v2 have documented feature-specific checks. Twelve further capabilities have implemented mechanisms with limited rollout or unresolved calibration, and five are partial coupling or deliberately reduced/artistic systems. These broad classifications describe readiness, not the absence of all testing: the new full-contact variant within the coupling capability now also has a retained, independently reviewed GPU regression.

The baseline check used the existing Debug executable with the current copied shaders and data in an isolated working directory. It reached 1,800 frames in 28 seconds with empty stderr and no high-severity GL or shader errors. Recurring medium-severity transfer warnings remain. This exercised initialization and default-scene progression; it was not a fresh build, a performance benchmark or an all-features acceptance test.

The porous-growth variant adds a separate retained regression: 234 production-shader checks, 24 exact disabled-mode checkpoint comparisons, and four finite 600-frame scene runs. This validates the local growth correction and its compatibility boundary; the broader thermal-processing and 2.5D-support capabilities retain their existing calibration limits.

Evidence levelCountWhat the count means
Baseline exercised3Real initialization and default-scene progression, without solver accuracy certification.
Recorded feature checks2Narrow recorded live checks; broader calibration remains separate.
Implemented / limited or awaiting validation12Working mechanisms whose rollout, combined behavior or calibration is incomplete.
Partial coupling / deliberately reduced or artistic5Intentional approximations or incomplete exchanges—not all are intended to become full physical models.
Stub or deferred3Absent mechanisms kept separate from the implemented feature count.
ExplanationBaseline exercised · 3 capabilitiesRead the implemented mechanism beside its actual evidence boundary.
CapabilityWhat existsRemaining boundary
MLS-MPM / APIC material pipelinePersistent deformation, affine transfer, material stress and particle↔grid updates.The new startup run advanced a scene with 4,778 MPM particles. No convergence or material-calibration result is implied.
SPH liquidsNeighbor density, clamped pressure EOS, viscosity, XSPH and interface terms.The same run advanced 8,686 SPH particles. It did not establish incompressibility or validate every thin-structure/contact mode.
Eulerian air / fluidMAC velocity, transport, forces and SDF-aware projection with 20 red-black Gauss–Seidel pressure iterations.The 512² air and 128² cavity grids initialized. An iteration count is not a guarantee that divergence is sufficiently small in every scene.
ExplanationRecorded feature checks · 2 capabilitiesRead the implemented mechanism beside its actual evidence boundary.
CapabilityWhat existsRemaining boundary
World-scale stiffness v3Default-on stiffness scaling and compression-floor changes are paired with more substeps.Recorded live checks include glass and tempered glass. This is family-level tuning, not measured calibration of every material.
Contact Heat v2Default-on capacity-weighted mixture transfers heat in both directions.Recorded ember quenching and water warming support the mechanism. Aggregate near-conservation differs from exact pairwise or whole-system conservation.
ExplanationImplemented / limited or awaiting validation · 12 capabilitiesRead the implemented mechanism beside its actual evidence boundary.
CapabilityWhat existsRemaining boundary
AnisoMPM fractureStress-driven, nonlocal damage, monotone history and selective degradation.Optional; only Brittle, Tough and Ortho Tear are enrolled. Shared damage-grid leakage across materials and live calibration remain open. Recorded seeded GPU probes exist, but their temporary harness was removed.
Thermal MPM and phase/state branchesDiffusion, temperature-dependent stiffness, softening and retained material state.Authored thermal behaviors have not collectively established thermodynamic consistency or latent-heat correctness across every branch.
Fiber / orthotropic mechanics and legacy tearingDirectional constitutive stress and along-/cross-grain response.Real directional terms coexist with heuristic legacy damage. This is separate from enrollment in the newer AnisoMPM fracture law.
SPH↔MPM momentum couplingOptional penalty-only v2 and the newer full-contact reaction variant, with passive restitution and rate-based positional recovery.The full-contact variant closes the local restitution/damping omission and passes 783 controlled GPU checks. Empty receivers, clipping and staggered application remain; whole-scene conservation and long-run stability are not established.
Pressure-vessel weaponsShell/core state, leaks, pressure buildup, pressure/impact/fuse triggers, rupture and vent decay.The state machine is substantial; its pressure and fragment response are reduced authored models, not calibrated gas dynamics.
Burn fronts, charring and quenchingDefault-on bounded burn-front and water-quench paths.Global thresholds, particle-index variation and overlapping cooling mechanisms still need combined scene calibration.
Oxygen, smolder and backdraftOptional oxygen/fuel fields, vapor accumulation and flash response.The old source-order defect is fixed. Chemistry options are still scene-selected and not a complete chemical kinetics model.
Sedov-style shock frontsOptional energy-driven arrival fronts, annular deposition and one-hit particle guards.Legacy remains default. Live-fire calibration and separately propagated reflected fronts are not established by the current implementation.
Baking and ceramicsRise, curing, shrinkage and temperature-dependent shell/core behavior.Stability v2 is on; differentiated profile LUT is off. Roughly eighteen named materials share eight branch clusters, not eighteen independent physical algorithms.
Ferrofluid and magnetic matterSelectable field backends, magnetization, self-field, gradient force and surface shaping.Legacy is default. Finite iterations, a 32-pole limit, world-up fallback and authored spike terms limit physical interpretation.
Electrostatic fieldsCharge rasterization, Poisson field solve and post-transfer qE force.Historical field-response checks exist; no retained current field-accuracy regression was found.
XPBD ropesDistance constraints with compliance and accumulated Jacobi corrections.A working rope chain does not imply cloth bending or a general shell constraint system.
ExplanationPartial coupling / deliberately reduced or artistic · 5 capabilitiesRead the implemented mechanism beside its actual evidence boundary.
CapabilityWhat existsRemaining boundary
Air, particle and SDF exchangesParticle sources, sampled air forces and thermal exchange are implemented.SDF geometry has no dynamic reaction; some wall/air channels remain one-way. There is no single conservative coupled solve.
Airtight cavity pressure and ventsOccupancy, outside reachability, retained pressure state and directed release.Pressure hold, gains and caps are authored approximations. This is not a compressible conservation-law solver.
Living cultures, colonies and regrowthProcedural fields guide MPM material, capped growth and revival.A designed living-material system: no metabolic energy budget, finite lifetime insertion allowance and proximity-based regrowth.
2.5D supportBake/Kiln gains alter the constitutive response; scalar z-occupancy scales deposits and optional visible thinning, with legacy gravity/cohesion support.Both routes remain planar. Scene 143 isolates their effects; neither reconstructs hidden depth connections, layered elasticity or conserved gas pressure.
Fantasy magnetics / superconducting-style effectsPersistent activation, exaggerated responses and repulsive variants.Intentional visual mechanisms. They do not solve a complete Maxwell/Meissner boundary-value problem or calibrated hysteresis law.
ExplanationStub or deferred · 3 capabilitiesRead the implemented mechanism beside its actual evidence boundary.
CapabilityWhat existsRemaining boundary
Triboelectric contact chargingA material/charge representation exists.No implemented friction/contact charge-transfer mechanism was found.
XPBD cloth bending and graph coloringRope constraints provide part of the infrastructure.Only two-endpoint distance constraints and chain construction are wired; the proposed cloth extensions remain unimplemented.
Reflected / mirrored shock frontsWalls affect the surrounding flow and aftermath.No independently propagated reflected-front system is implemented.
Theory / mathematicsWhat would raise the confidence level?A useful next test isolates a conserved quantity, a reference solution or a converging discretization.

For the core solvers, retain reproducible hydrostatic/dam-break, elastic-mode and pressure-projection tests with timestep and spatial-resolution studies. For coupling, measure what is recorded, deposited and actually consumed, including pending reaction between substeps. A local equal-and-opposite impulse is only the first check.

For fracture, hold the intended physical regularization length fixed while changing resolution and test separate material bodies in contact. For thermal processing, account for storage, transport, phase conversion and external energy. For magnetics, use controlled field cases before interpreting a visually plausible spike pattern as an emergent instability.

Several historical numerical probes were temporary and their test code was removed. The new full-contact mode retains its executable regression, reference tolerances and deliberate loss cases. The next step is to preserve comparable tests for the other mechanisms. Real-time pacing is also off by default: interactive rendering does not guarantee that simulated time advances at wall-clock speed.

18 · Development log / failure, revision and remaining gap

What each generation learned

Description · at a glance

This project evolved by testing a mechanism, inspecting where it failed, and changing the representation or update order. Some revisions repair a numerical error; others change the artistic objective. A new version does not automatically replace its predecessor, and a selectable implementation is not automatically a calibrated default.

The log groups related revisions by the problem each one exposed. Historical observations remain labeled as such, and source references retain the underlying record. Legacy comparison modes show what a changed stress law, field solve or exchange schedule contributes.

ExplanationFerrofluid feedback fixes and D1Correct the zero-field bias before evaluating magnetic surface behavior.
Original goal and obstacleRevisionImplemented scope / remaining issue
A tiny nonzero Langevin response at zero field was summed over particles and seeded self-magnetization. Later damping and capillary tuning suppressed symptoms, but the magnet still pulled mainly on a ring and a stationary held magnet failed to hold a pool.The zero-field response was corrected. D1 added raw-field inspection, grid-resolution selection, surface corrugation and distance falloff so the separate causes could be inspected.Implemented and preserved for comparison. D1 did not repair the cold-start, truncated field solve or its stack of force gates.
ExplanationNew MagneticA simpler field-and-force route trades the old gate stack for direct control.
Original goal and obstacleRevisionImplemented scope / remaining issue
Seven cold-start, high-resolution Poisson solves and multiple gates had produced a short-range field and a narrow surviving force band.Evaluate the external 2D pole field analytically, apply a capped Kelvin force without that gate stack, and hold material with a positional spring-damper. Add a smaller warm-started particle self-field, per-particle magnetization, spikes, and an overlay. External sources magnetize the material; its self-field affects force without driving the same runaway magnetization loop.Shipped as a selectable backend; Legacy remains the global default. The self-field still has finite-iteration lag, the pole list silently caps at 32, strong-source compaction remains, and remanent-force direction has a world-up fallback. The reduction from hundreds of millions to about 2.1 million Jacobi cell updates is an operation-count comparison, not a measured FPS multiplier.
ExplanationFantasy magnetic siblingStabilize a deliberate visual model without presenting it as calibrated magnetism.
Original goal and obstacleRevisionImplemented scope / remaining issue
Allowing total-field magnetization made activation propagate and latch, but a body's opposing demagnetization could reverse its magnetization every frame and produce visible flicker.An anti-flicker rule suppresses self-field reversal of latched magnetization while allowing a strong external field to rewrite it. Orbital forcing, stronger chains and persistent activation remain intentional visual behavior.Shipped, selectable, deliberately artistic. This is a sibling of New Magnetic, not a claim of more accurate magnetostatics. The stabilizer is a heuristic coercivity ratchet, not a measured material hysteresis law.
ExplanationAsh regrowth v2Give retained living state one writer so later passes do not erase regrowth.
Original goal and obstacleRevisionImplemented scope / remaining issue
Two shaders repeatedly wrote the same vitality/ash state; the later writer undid healing. A disabled neighbor pass and incompatible temperature bands made threshold tuning appear ineffective.Assign persistent state to one writer, align the thermal transition, and enable the supporting bio passes when living materials are present.Shipped and default-on. “Same organism” is still inferred from proximity rather than an object identity; nearby unrelated ash bodies can help revive each other.
ExplanationColony → expand-and-fill → BloomSeparate expansion from filling; prevent growth from becoming uncontrolled insertion.
Original goal and obstacleRevisionImplemented scope / remaining issue
Spawn-first growth appeared as popping 2×2 clusters and rapidly consumed particles. Rest-volume expansion made growth continuous but never saturated. Bounded Bloom stopped the runaway, but behaved more like one inflation than a changing organism.Separate continuous expansion from gap filling, then restrict insertion to interior tears and move rest volume toward a bounded target. Living materials also gained the missing thermal coupling that made them burnable.All shipped in the Colony/Bloom lineage. This older family retains cores, energy supply and a permanent dead-core mechanic that Culture does not have. Bloom's pattern engine does not determine its final form.
ExplanationAutomata → CultureMove from proliferating particles toward a continuous field that organizes existing matter.
Original goal and obstacleRevisionImplemented scope / remaining issue
Automata's guide was clamped above material occupancy, so it could not carve holes; its restrictive ring rule produced only eight insertions in the documented 2,520-frame run.Culture lets a higher-resolution continuous automaton form membranes, then moves existing particles toward its ridges. Sculpt mode rearranges existing mass; optional growth fills membrane cells under adjacency, density and lifetime-budget guards.Culture is the current default. Its porous form is clearest at the reduced gravity used by the showcase. Growth is capped by a counter, not metabolism, and surviving green tissue can reclaim a scar indefinitely. The documented 8–14 ms/frame cost is a historical observation, not a new benchmark.
ExplanationBaking stability and thickness experimentsMeasure strain against the expanding rest state so baking does not damage itself.
Original goal and obstacleRevisionImplemented scope / remaining issue
A risen loaf was judged against its uninflated rest stretch and therefore tore itself without an external load. Separate “2.5D” stiffness gains could delay a tear but could not transmit force across a gap in a single 2D MPM grid.Measure tension against the inflated rest state, so intended gas expansion is not counted as damage. Investigate bonds and layered/thickness representations separately from this stability fix.Bake Stability v2 is implemented and default-on. The bond-pair and full layered-grid options were proposals; they are not evidence that either architecture shipped.
ExplanationWorld-scale stiffnessReconcile world-scale stiffness, compression safeguards and the required substeps.
Original goal and obstacleRevisionImplemented scope / remaining issue
A material catalog authored with low moduli was too soft for a meter-scale world. A compression barrier softened the symptom, but tall solids still shortened.Scale structural and soft material families separately, raise the numerical compression floor, and increase substeps with stiffness.Stiffness v3 is now default-on. It explicitly trades more substeps for stability and load support; it remains a family-scale correction, not a complete measured material catalog or plasticity model.
ExplanationVisible thickness/2.5DUse thickness occupancy to enrich planar support while keeping its dimensional limits explicit.
Original goal and obstacleRevisionImplemented scope / remaining issue
The old thickness setting had no depth occupancy and no corresponding visual thinning. The first replacement also accidentally changed default-off transparency, saturated its coverage measure, and reduced gravity at the bottom of falling blocks.Store a per-particle thickness occupancy; weight the grid footprint and render coverage; add a local overhang support and lateral-cohesion rule. A review corrected alpha gating, a missed material-ID mask, coverage calibration and the free-fall discriminator.Implemented and default-off. This is an occupancy-aware 2D support approximation, not a layered 3D elasticity solver. “Denser neighbor” is a local support heuristic, not proof of a globally anchored load path.
ExplanationBake profilesDifferentiate processing histories through material profiles instead of names alone.
Original goal and obstacleRevisionImplemented scope / remaining issue
Several loaf and ceramic materials shared nearly the same base stiffness and thermal constants, so different names often produced similar behavior.A material-indexed profile supplies elastic base, setting temperature, rise/shrink behavior, cure rate, crust brittleness and oven-spring endpoints. Follow-up fixes restored the cure gradient and stoneware's brittle response.Implemented, selectable, default-off. It differentiates parameterized constitutive signatures; it does not give every material a wholly different solver or chemistry.
ExplanationAnisoMPM fractureReplace local tearing heuristics with retained, direction-aware and spatially regularized damage.
Original goal and obstacleRevisionImplemented scope / remaining issue
Independent strain thresholds produced diffuse failed particles, resolution-sensitive tears and residual stiffness. Applying damage to the fiber stress also destroyed the fibers that should hold a tear together.Introduce a stress-driven, nonlocal damage evolution, a characteristic length, monotone history and selective degradation that preserves fiber stress. Keep isotropic and anisotropic controls at matched toughness. A second review repaired damage normalization, gather alignment, stale history on particle reuse and threshold normalization.Implemented but default-off; only ORTHO_TEAR, BRITTLE and TOUGH are enrolled. More materials require constitutive-branch hooks, not merely profile-table rows. Damage can still cross material contacts through the shared unlabelled damage grid; live scene calibration remains outstanding.
ExplanationBurn-front and fire-system generationsBound burning, distinguish oxygen-starved states and keep heat sources in the correct pass order.
Original goal and obstacleRevisionImplemented scope / remaining issue
A hard temperature floor made barely ignited particles become strong heaters immediately, prevented water from extinguishing them, and kept ash hot. Earlier fire also lacked room-scale oxygen depletion and re-ignition of accumulated vapor.Replace floors with bounded self-heating, add ignition variation and finite burn-through, then add oxygen, low-oxygen smoldering, vapor/backdraft, structural charring and ember spotting.Burn Front v2 is default-on; the oxygen/smolder/backdraft features are selectable and enabled by relevant scenes. Water quenching overlaps the later contact-heat mechanism, and fire parameters have not all been calibrated together.
ExplanationFrom a blast effect to an energy-driven frontRepair source lifetime and ordering, then add an explicitly budgeted arrival front.
Original goal and obstacleRevisionImplemented scope / remaining issue
The legacy blast used unrelated heat/push/smoke profiles and an independently animated ring. Backdraft expansion was once written after the only divergence pass and then cleared before being consumed. Ruptured vessels had also kept emitting heat after their fuel should have expired.Fix vessel lifetime and source ordering. The optional Sedov mode ties a propagating front to one energy parameter, deposits sources before projection, adds the front gust afterward, and guards particles against repeated kicks. Vent-energy subtraction prevents the same stored energy being released twice.All are implemented. Source-order correction is default-on; Sedov, vent fronts and backdraft fronts remain selectable/default-off pending calibration. The surrounding airtightness solver is a coarse pressure/venting model, not a compressible Euler shock solver. Explicit reflected fronts remain deferred.
ExplanationContact heat and momentum couplingMake heat exchange bidirectional; begin recording the mechanical contact reaction.
Original goal and obstacleRevisionImplemented scope / remaining issue
The heat interface used maxima and one-way transfer, so a hot source could heat other material without cooling. Momentum contact could reflect SPH faster than it arrived, and MPM received no reaction.Contact Heat v2 uses capacity-weighted deposits and a common mixture temperature. Coupling v2 bounds restitution, makes positional recovery rate-based, and returns the penalty-force impulse to the MPM grid on the next step.Heat v2 is default-on and approximately aggregate-conserving. Momentum v2 is implemented/default-off. Its current reaction records the penalty term only: restitution and contact damping are not returned. Neither system makes SDF obstacles dynamic or unifies the solvers.
ExplanationFull contact reaction, with the remaining losses visibleA source audit becomes a default-off native correction and a retained GPU regression.
Original goal and obstacleRevisionEvidence and remaining boundary
Penalty-only v2 returned too little: restitution and contact damping were absent, and later particle motion could change the deposition stencil.Record all MPM-contact velocity changes, return their opposite impulse, and retain the original contact position. Preserve both older modes for comparison.783 production-shader assertions passed, with independent review and byte-identical old-mode regression outputs. Empty receivers, caps, boundaries and delayed application still prevent a global conservation claim. The new mode remains experimental and off by default.
ExplanationPorous growth: separate a rest-state correction from missing depthRepair the elastic response to free expansion, then retain matched planar comparisons instead of promising a 3D pore structure.
Original goal and obstacleRevisionEvidence and remaining boundary
The volume term used a grown rest area while the corotated term and setting relaxation still pulled toward the original shape. Thickness gains could amplify that inconsistency; missing depth connections were a separate limitation.An optional law uses growth-relative elastic deformation and tearing for three porous materials. Scene 143 resets identical geometry across corrected pure 2D, corrected thickness, legacy thickness and legacy z-occupancy support.234 GPU checks and 24 exact disabled-mode comparisons pass. Four matched engine runs show modest height and damage differences, with settling in all modes. The law is default-off outside its comparison scene and adds no 3D connectivity or gas-pressure conservation.
ExplanationPlans, corrected findings and current defaults are different evidenceThe retrospective corrects several older claims; it still needs source-level qualification.

The earlier mechanics status and soundness audit are useful historical snapshots. They predate later contact-heat, coupling, stiffness and fracture revisions. The later fracture investigation also retracted the claim that nonlocal regularization was entirely inactive: it was nonzero, but its scale and normalization needed correction.

The development record therefore distinguishes planned architecture, implemented code, recorded probes and broader calibration. The “real 2.5D” label denotes occupancy-weighted planar support and visual thinning, not a layered three-dimensional elasticity solve. Fantasy magnetics is an intentional visual sibling, not a failed attempt that should be judged as a calibrated physical material.

Full reading set · 6 documents

More in-depth tech documents

The complete articles are included below. Open a title for the full derivation, implementation discussion and original figures; each document loads when you reach it.

Full document · 01Solver internals

Open this document to read its complete text, figures and examples here.

Full document · 02Subsystem relationships

Open this document to read its complete text, figures and examples here.

Full document · 03Explosive laboratory

Open this document to read its complete text, figures and examples here.

Full document · 04Mechanics status

Open this document to read its complete text, figures and examples here.

Full document · 05Techniques, materials and scenes

Open this document to read its complete text, figures and examples here.

Full document · 06Development and model evolution

Open this document to read its complete text, figures and examples here.

Current scope

  • A real-time experimental sandbox with authored constitutive responses, stabilization and optional artistic forces; it is not a calibrated engineering or biological simulator.
  • Dimensionality changes the mechanics: pores that cross a narrow 2D ligament can sever its load path, while a 3D porous solid may retain connections around the opening through depth. Thickness and support heuristics approximate selected missing behavior; they do not recover full 3D topology.
  • Damage regularization is currently parameterized relative to grid spacing, and elastic substeps are capped. Resolution independence and unrestricted numerical stability are not established.
  • SPH–MPM reaction exchange is staged across steps. The entire coupled world is not claimed to conserve energy or momentum exactly.
  • Magnetic spikes and explosion fronts include explicit approximations. Rendered depth, glow and surface detail do not imply a full three-dimensional simulation.
  • The recordings demonstrate selected material responses and interactions. Broader numerical convergence and calibration against real materials remain open work.
Explore this fieldMinimal Membrane Computing π Through Physics
Page reviewed September 20, 2026. Demonstrations and technical notes reflect the showcased version.
Project overview