Display-space AABB of a mesh projection, over the vertices the emitted index
actually references.
The Mesh member of the <Geometry>ProjectionBounds family
(LinesProjectionBounds, GSplatsProjectionBounds): same min/max 3-tuples,
computed by the projection and consumed by computeMeshBounds to set the
geometry's box and sphere.
It carries NO per-element extent term, and that absence is the point. Lines add
maxWidth and gsplats maxRowNorm because their elements are sprites whose
rendered footprint exceeds their center. A triangle's extent IS its vertices, so a
mesh needs no expansion — the same reason a mesh contributes zero padding to scene
bounds on the write side.
Bounding the INDEXED vertices rather than the whole position buffer is what makes
this useful: under the no-compaction design position holds every vertex of the
whole nD mesh, including those whose triangles the slab cull removed, so a 4D
surface that translates over time would otherwise frame its entire trajectory
(#1252).
Display-space AABB of a mesh projection, over the vertices the emitted index actually references.
The Mesh member of the
<Geometry>ProjectionBoundsfamily (LinesProjectionBounds,GSplatsProjectionBounds): samemin/max3-tuples, computed by the projection and consumed bycomputeMeshBoundsto set the geometry's box and sphere.It carries NO per-element extent term, and that absence is the point. Lines add
maxWidthand gsplatsmaxRowNormbecause their elements are sprites whose rendered footprint exceeds their center. A triangle's extent IS its vertices, so a mesh needs no expansion — the same reason a mesh contributes zero padding to scene bounds on the write side.Bounding the INDEXED vertices rather than the whole position buffer is what makes this useful: under the no-compaction design
positionholds every vertex of the whole nD mesh, including those whose triangles the slab cull removed, so a 4D surface that translates over time would otherwise frame its entire trajectory (#1252).