Jelly48 icon Jelly48

Engineering notes

Short write-ups from building a soft-body 2048 in Rust + WebGPU.

When the GPU is 99% overhead: measuring WebGPU dispatch cost in a tiny physics engine

June 10, 2026

Our soft-body engine ran 176 GPU dispatches a frame to simulate 192 particles. We measured where the time went — frame cost fit ~1.7 ms + ~12 µs per dispatch, independent of the workload — and ended up shipping a CPU solver in WebAssembly that runs the same frame 5–15× faster.

The physics of Jelly48: how a soft-body 2048 works

June 10, 2026

Every tile is a ring of 16 particles held together by springs-that-aren't-springs. XPBD constraints, gravity-tilt input, and merges that are real geometry: a boolean union of two jelly outlines that morphs into the next tile.