Built for destruction
An in-house Swift and Metal engine for Mac that adds destruction to Jolt Physics, with a deterministic simulation at its core. It isn’t licensed to other developers; this page shows what it does.
Click the frame to apply load.
- Build, seed and inputsConnected to the next step by: run
- Simulationfixed stepConnected to the next step by: every time
- Same statesame digest
Deterministic by design
Every fracture, every collapse and every piece of rubble comes out of a seeded simulation on a fixed step. The same build, seed and inputs reach the same state, checked step by step with a state digest.
Today that lets us replay any session exactly and compare balance changes run for run. It is also the foundation for destruction at this scale that more than one machine can agree on.
- Impactpoint and impulseConnected to the next step by: seeds
- Voronoi seedsaround the hitConnected to the next step by: clip
- Convex cellsone body each
Impact-driven Voronoi fracture
Structures are built from convex members. A hit seeds a Voronoi pattern at the impact point and the member splits into convex cells, each its own physics body. Cut faces show aggregate and rebar.

Progressive collapse along load paths
Each building knows what holds up what. When a member fails, its load moves to its neighbors, and the ones that can’t carry it fail next.
- Fragmenta body with massConnected to the next step by: falls
- Landsstays in the worldConnected to the next step by: adds
- Loadon what is belowConnected to the next step by: fails or holds
- Crush or settle
Rubble keeps its weight
Debris doesn’t fade out. It stays in the world as bodies with weight: it loads and crushes what it lands on, and you can fly into it, shoot it and knock it down again.
- GeometryG-buffer in tile memoryConnected to the next step by: same pass
- LightingConnected to the next step by: then
- PostConnected to the next step by: then
- Frame
Single-pass deferred renderer
Metal draws the G-buffer and lights it in one render pass, keeping the G-buffer in tile memory instead of writing it out. Shadows, ambient occlusion, AgX tone mapping and MetalFX upscaling follow.
Measured, with conditions
The engine is held to performance gates on an M5 in Low Power Mode, on purpose: a gate that passes there leaves headroom at full power. An M1 Max is the older-machine check.
| Measure | Result | Conditions |
|---|---|---|
| 10,000 bodies asleep | 0.002 ms per physics step, p95 | Apple M5, Low Power Mode, 2026-09-29. Budget 0.75 ms. |
| 2,000 awake convex hulls | 1.81 ms per physics step, p95 | Apple M5, Low Power Mode, 2026-09-29. Budget 6 ms. |
| Crater edit to the terrain | 0.076 ms, worst case | Apple M5, Low Power Mode, 2026-09-29. Budget 1 ms. |
| Fracture fuzz test | 38,050 cells from 1,000 members, none failed | 2026-09-29 |
| Four office buildings collapsing at once | 8.80 ms per frame, p95; 7,113 bodies at the end | Apple M5, Low Power Mode, high quality, v0.9.0, 2026-10-01 |
| 25 office buildings collapsing at once | 37.26 ms per frame, p95; 39,766 bodies at the end | Apple M5, Low Power Mode, high quality, v0.9.0, 2026-10-01 |
| Play at Medium on an M1 Max | 31 frames per second; GPU 42 ms per frame | 6720 × 3780 display (25 million pixels), every pixel drawn, v0.14, 2026-10-05 |
| Play at High on an M1 Max | 24 frames per second; GPU 50 ms per frame | 6720 × 3780 display (25 million pixels), every pixel drawn, v0.14, 2026-10-05 |
From the engine’s benchmark records and the game’s session telemetry. p95 is the 95th percentile over the run. The M1 Max figures predate the 4K render cap with MetalFX upscaling that followed them; it hasn’t been measured on the M1 since.
Not every rung passes. Nine office buildings collapsing at once is the first that goes over the frame budget in Low Power Mode, and we publish that too.
Jolt Physics, and what we add
Rigid bodies, collision and the solver are Jolt Physics, compiled from source behind a C++ bridge. Trilithon Engine adds fracture, the load graph and progressive collapse, rubble with weight, the deterministic replay, and the Metal renderer. It is Mac-only and isn’t offered to other developers.