pub fn compute_bounds(positions: &[f32]) -> Result<Vec<f32>, JsError>
Axis-aligned bounding box as six floats: [minX, minY, minZ, maxX, maxY, maxZ].
[minX, minY, minZ, maxX, maxY, maxZ]
Returned as plain numbers so JavaScript never holds WebAssembly memory for it.