What do the SPZ v4 and PlayCanvas SOG formats specify for compression, structure and licensing, and how do viewers describe their support?
SPZ v4 (MIT) is a 32-byte plaintext NGSP header plus independently ZSTD-compressed attribute streams (24-bit fixed-point positions, smallest-three 10-bit rotations); v1-3 gzip files are read-only. PlayCanvas's SOG stores quantised attributes as WebP images with log-domain positions/scales and gamma-space DC colour in a right-handed +Y-up frame, and PlayCanvas compares SOG (15-20x smaller than PLY, lossy), SPZ (about 10x, lossy) and lossless GLB with KHR_gaussian_splatting. Its SPZ script parser accepts only v4, up to 3 SH bands, ignoring the antialiased flag and vendor extensions.
SPZ v4 (MIT) is a 32-byte plaintext NGSP header plus independently ZSTD-compressed attribute streams (24-bit fixed-point positions, smallest-three 10-bit rotations); v1-3 gzip files are read-only. PlayCanvas's SOG stores quantised attributes as WebP images with log-domain positions/scales and gamma-space DC colour in a right-handed +Y-up frame, and PlayCanvas compares SOG (15-20x smaller than PLY, lossy), SPZ (about 10x, lossy) and lossless GLB with KHR_gaussian_splatting. Its SPZ script parser accepts only v4, up to 3 SH bands, ignoring the antialiased flag and vendor extensions.
Curator qualifications: Specs, docs and code read 2026-10-22; no file encoded, converted or imported. Compression ratios are vendor statements, not measured. Khronos glTF tree search for an SPZ extension not repeated.
Limitations: Specs, docs and code read 2026-10-22; no file encoded, converted or imported.
Evidence status: statements located in the cited sources by a correlated desk review (Claude); not executed; not independently reviewed.
Structured fields
{
"citations": [
{
"url": "https://github.com/playcanvas/developer.playcanvas.com/blob/052e6a1c959ee7654fbf6feccd9dd23ebe8c676d/docs/user-manual/gaussian-splatting/formats/sog.md",
"note": "nianticlabs/spz README.md at 5bf2945d (raw); nianticlabs/spz LICENSE at 5bf2945d (raw); PlayCanvas docs sog.md at 052e6a1c (raw); PlayCanvas docs spz.md at 052e6a1c (raw), Engine Support Notes; PlayCanvas docs formats/index.md at 052e6a1c (raw)"
},
{
"url": "https://github.com/playcanvas/developer.playcanvas.com/blob/052e6a1c959ee7654fbf6feccd9dd23ebe8c676d/docs/user-manual/gaussian-splatting/formats/spz.md",
"note": "nianticlabs/spz README.md at 5bf2945d (raw); nianticlabs/spz LICENSE at 5bf2945d (raw); PlayCanvas docs sog.md at 052e6a1c (raw); PlayCanvas docs spz.md at 052e6a1c (raw), Engine Support Notes; PlayCanvas docs formats/index.md at 052e6a1c (raw)"
},
{
"url": "https://github.com/playcanvas/developer.playcanvas.com/blob/052e6a1c959ee7654fbf6feccd9dd23ebe8c676d/LICENSE",
"note": "nianticlabs/spz README.md at 5bf2945d (raw); nianticlabs/spz LICENSE at 5bf2945d (raw); PlayCanvas docs sog.md at 052e6a1c (raw); PlayCanvas docs spz.md at 052e6a1c (raw), Engine Support Notes; PlayCanvas docs formats/index.md at 052e6a1c (raw)"
},
{
"url": "https://github.com/nianticlabs/spz/blob/5bf2945de1a003cee07133b1e495fe9c6ffdc7e7/README.md",
"note": "nianticlabs/spz README.md at 5bf2945d (raw); nianticlabs/spz LICENSE at 5bf2945d (raw); PlayCanvas docs sog.md at 052e6a1c (raw); PlayCanvas docs spz.md at 052e6a1c (raw), Engine Support Notes; PlayCanvas docs formats/index.md at 052e6a1c (raw)"
},
{
"url": "https://github.com/nianticlabs/spz/blob/5bf2945de1a003cee07133b1e495fe9c6ffdc7e7/LICENSE",
"note": "nianticlabs/spz README.md at 5bf2945d (raw); nianticlabs/spz LICENSE at 5bf2945d (raw); PlayCanvas docs sog.md at 052e6a1c (raw); PlayCanvas docs spz.md at 052e6a1c (raw), Engine Support Notes; PlayCanvas docs formats/index.md at 052e6a1c (raw)"
},
{
"url": "https://github.com/playcanvas/developer.playcanvas.com/blob/052e6a1c959ee7654fbf6feccd9dd23ebe8c676d/docs/user-manual/gaussian-splatting/formats/index.md",
"note": "nianticlabs/spz README.md at 5bf2945d (raw); nianticlabs/spz LICENSE at 5bf2945d (raw); PlayCanvas docs sog.md at 052e6a1c (raw); PlayCanvas docs spz.md at 052e6a1c (raw), Engine Support Notes; PlayCanvas docs formats/index.md at 052e6a1c (raw)"
}
]
}Evidence claims
- [sourced_fact] SPZ v4 (MIT) is a 32-byte plaintext NGSP header plus independently ZSTD-compressed attribute streams (24-bit fixed-point positions, smallest-three 10-bit rotations); v1-3 gzip files are read-only. PlayCanvas's SOG stores quantised attributes as WebP images with log-domain positions/scales and gamma-space DC colour in a right-handed +Y-up frame, and PlayCanvas compares SOG (15-20x smaller than PLY, lossy), SPZ (about 10x, lossy) and lossless GLB with KHR_gaussian_splatting. Its SPZ script parser accepts only v4, up to 3 SH bands, ignoring the antialiased flag and vendor extensions. · locator: nianticlabs/spz README.md at 5bf2945d (raw); nianticlabs/spz LICENSE at 5bf2945d (raw); PlayCanvas docs sog.md at 052e6a1c (raw); PlayCanvas docs spz.md at 052e6a1c (raw), Engine Support Notes; PlayCanvas docs formats/index.md at 052e6a1c (raw) source
Rights
| component | license | hosting | redistribution | modification | training | Evidence and notes |
|---|---|---|---|---|---|---|
| documentation | unknown | permitted | permitted | unknown | unknown | Applies to this original summary only, not to the cited sources. |
Linked records
- cites → https://github.com/nianticlabs/spz/blob/5bf2945de1a003cee07133b1e495fe9c6ffdc7e7/LICENSE
- cites → https://github.com/nianticlabs/spz/blob/5bf2945de1a003cee07133b1e495fe9c6ffdc7e7/README.md
- cites → https://github.com/playcanvas/developer.playcanvas.com/blob/052e6a1c959ee7654fbf6feccd9dd23ebe8c676d/LICENSE
- cites → https://github.com/playcanvas/developer.playcanvas.com/blob/052e6a1c959ee7654fbf6feccd9dd23ebe8c676d/docs/user-manual/gaussian-splatting/formats/index.md
- cites → https://github.com/playcanvas/developer.playcanvas.com/blob/052e6a1c959ee7654fbf6feccd9dd23ebe8c676d/docs/user-manual/gaussian-splatting/formats/sog.md
- cites → https://github.com/playcanvas/developer.playcanvas.com/blob/052e6a1c959ee7654fbf6feccd9dd23ebe8c676d/docs/user-manual/gaussian-splatting/formats/spz.md