All eight cases below are written in Rust and compiled to WebAssembly — zero runtime dependencies, no framework, no build toolchain in the browser. Game rules and numerical computation live entirely on the Rust side; JavaScript only loads the modules, paints the canvas and forwards input, so every case is genuinely playable right here on the page.
Rust → WebAssembly · Zero DependencyGame logic written entirely in Rust and compiled to WebAssembly. Includes the SRS rotation system, lock delay, and exported ground-truth snake heading — playable by keyboard, on-screen pad or swipe.
Four computational geometry cases plus two physics simulations, each with a parameter panel and live runtime metrics. Drag a slider to change point counts, angles and time, and watch the algorithm behave.
Games validate interaction and state machines — the most underestimated part of a real product. Scientific visualization and physics simulation validate algorithms and numerical accuracy: when the maths or physics is wrong nothing crashes, it just quietly returns wrong answers, which is exactly why assertions have to back it up. Together they cover the two most common classes of engineering risk in delivery.
Hand-written extern C exports with no wasm-bindgen: the artifact is the bare wasm, with no generated JS glue step.
Rust writes drawing commands into linear memory; the front end reads them sequentially with getUint32 — zero copy, no string parsing.
Geometry asserts areas, simulation asserts energy drift: math and physics errors surface in unit tests rather than on a customer site.
Page copy and case metadata are injected by the build script, and both language versions share one renderer, so the two can never drift apart.