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 an embedded audio track and 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.

Audio in the file

A scene with a soundtrack carries it inline, and the audio track is the scene clock's master. A scene without one 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 defines how to reconstruct splat state at a given time and nothing beyond that. How that state is drawn is out of scope.

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.