Engineering notes
Short write-ups from building a soft-body 2048 in Rust + WebGPU.
June 11, 2026
One physics engine shipping to web, iOS, and desktop from a single codebase —
and why a borrow checker means you stop spending your own review cycles being
your AI assistant's linter.
June 11, 2026
Our Suika-like's top piece could never be made — not hard, impossible. ~3,200
bot playtests caught it, fixed it, and turned game difficulty into a measured
dose-response curve. They also found a real bug in this game.
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.
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.