Skip to main content

.4dgs

An open container format for 4D gaussian splat scenes — gaussians whose position, opacity and existence vary continuously over time, optionally with native spatial audio sources whose 3D poses can move over time, plus a default camera trajectory.

One self-contained, seekable file. Length-prefixed records, temporal chunking, streaming and indexed reads, and SDKs in five languages held to a shared conformance suite. Apache-2.0.

Why the format looks the way it does

One resource

A whole scene — geometry, appearance, motion, audio and camera — is one file, one URL, one cache entry.

Continuous time

Each gaussian carries its own birth time, temporal extent, motion and validity window, so the number of live gaussians varies over time with no frame machinery.

Seekable without a sidecar

A byte-range index maps time to chunks. Displaying an arbitrary instant reads the file's own index and then only the ranges that instant needs.

Bounded memory

Every read path is streamable. No conforming reader ever needs the whole file resident, on any path.

Native spatial audio

Independent sources carry encoded audio, timing, gain and fixed or moving 3D poses. The scene clock stays authoritative; a scene without audio carries nothing at all.

Forward compatible by construction

Every top-level structure is a length-prefixed, opcode-tagged record, so a reader skips what it does not recognize instead of failing.

Stated error bounds

Lossy encodings declare, per attribute, the maximum deviation a decoder may observe, and the encoder is expected to verify it.

Renderer-agnostic

The format reconstructs gaussian and audio-source state at a given time. Drawing, listener pose, HRTF, attenuation and mixing stay in the renderer/player.

SDKs

Support is stated per feature, not per language: the feature support matrix records only what the conformance suite proves, and a partial SDK is a documented state rather than a defect.