Fused output scan: AABB of centers3D + max Cholesky row norm, in
ONE pass over the projected arrays — computed here, where the data is
already hot (and, for the nD worker path, OFF the main thread), so
the GPU commit doesn't re-run two O(N) main-thread scans per commit
(see GSplatsProjectionBounds). Float semantics match the commit
path's fallback scans exactly: Math.min/Math.max per component
(Box3.expandByPoint), |L00|, √(L10²+L11²), √(L20²+L21²+L22²).
Fused output scan: AABB of
centers3D+ max Cholesky row norm, in ONE pass over the projected arrays — computed here, where the data is already hot (and, for the nD worker path, OFF the main thread), so the GPU commit doesn't re-run two O(N) main-thread scans per commit (seeGSplatsProjectionBounds). Float semantics match the commit path's fallback scans exactly:Math.min/Math.maxper component (Box3.expandByPoint),|L00|,√(L10²+L11²),√(L20²+L21²+L22²).Exported for the fused-vs-brute-force unit tests.