Skip to main content
This page is the demo

A 3D cloud you can put in a receipt.
The same Gaussians, everywhere.

A learned Gaussian-splat codec (the SOG / self-organizing-Gaussian family) decodes through a float network, so the reconstructed cloud — and its hash — drift between machines: never receiptable. wai.splat.int_codec is the opposite: a Gaussian splat is a tensor of per-Gaussian attributes (position, scale, rotation, colour, opacity), and the synthesis here is a stack of integer convolutions + integer IGDN over a factorized-rANS latent — the same pure-i64 Rust the native sink runs, compiled to wasm32, no float, no ML runtime. So the decoded attribute tensor is byte-identical on every machine, and this page re-checks its hash against the native reference before a (sink-supplied) rasterizer draws it. That is splat-equivalence — the attributes are the contract, a 3D cloud you can pin. It is the 3D sibling of the learned image codec (wai.neural.int_hyper).

decoding…
gaussians attrs decode attribute hash

Why this is the moat

The cloud you see was reconstructed in your browser from a ~ KB learned model + a tiny rANS bitstream, and before it drew, the page hashed the decoded attribute tensor and checked it against the hash the native reference produced — they match, byte-for-byte. A float splat codec can't make that promise: its Gaussians drift between machines, so you can't pin them. This decode is integer all the way down (the transposed convolutions are integer accumulation + an arithmetic-shift requant, IGDN is integer isqrt, the latent comes off an integer rANS), so the cloud hash is portable. The rasterizer that presents it stays the sink's choice — WAI pins the attributes, not the pixels. Reference engine + conformance corpus in the open-standards repo, Apache-2.0.