assets.splats.semantics_metadata to convert
Gaussian centers and Gaussian sizes into metric, ground-aligned coordinates.
Read the scale metadata
Completed world responses include SPZ URLs and scale metadata together:metric_scale_factor converts raw generated asset units to meters.
ground_plane_offset places the metric ground plane at y = 0.
Apply center and size scale
Apply scale to Gaussian centers and Gaussian sizes:ground_plane_offset to Gaussian sizes.
Handle log-scale fields
Some Gaussian splat formats exposescale_0, scale_1, and scale_2 as
log-space values. If your decoder gives you log scales, add the logarithm of the
metric scale instead of multiplying the log values directly:
scale_0, scale_1, and scale_2 directly is only correct if
your decoder exposes those fields as linear sizes.
Convert renderer axes separately
semantics_metadata converts raw Marble SPZ coordinates to a metric,
ground-aligned frame. It does not include renderer-specific axis conversion.
Generated Marble SPZ assets use the marble_raw_opencv convention. If your
engine uses an OpenGL or Three.js-style frame, apply your engine’s axis
conversion after applying metric scale and ground alignment. Marble’s web
viewer applies a 180 degree rotation around the X axis for generated SPZ assets.