Rendered Quality Hides Scene Defects
A camera path can conceal giant primitives, duplicates, floaters, weak opacity, or unstable bounds until the scene reaches another renderer or viewpoint.
splatgrade parses real ASCII PLY fields, resolves common log-scale and opacity encodings, and reports robust scene statistics plus localized findings.
The Demo
The 36-Gaussian fixture receives grade D and score 49. It contains two giant primitives, three duplicate pairs, four low-opacity Gaussians, and two floaters.
The gate catches structural artifact risks. Perceptual quality still depends on view coverage, appearance, renderer settings, and human inspection.
Research Basis
Current 3DGS quality research emphasizes view-dependent and structural distortions that conventional image metrics can miss.
Read the 3D Gaussian Splatting quality assessment.
A Corrupted Scene Slipped Through Clean
A quality gate that gets fooled by the exact corruption it exists to catch is worse than no gate at all. The PLY parser zipped each vertex row's raw values against its declared property list without checking the lengths matched.
Verified directly: a vertex row truncated mid-write, missing its trailing opacity value, silently zipped short and filled the gap with a default of full opacity 1.0 — the scene scored a clean 100, grade A, with zero flagged artifacts. Separately, a hand-edited header with a bare "element" line (no name) crashed the parser outright with an unhandled exception rather than a clean rejection.
Fixed by rejecting any vertex row with fewer fields than its declared properties, and any header line the parser can't interpret, with a clear error instead of a silent default or a crash. The published demo numbers — grade D, score 49, two giant primitives, three duplicate pairs, four low-opacity Gaussians, two floaters — are unchanged.