Native (X, Y, Z)-axis offset subtracted from each decoded coordinate
BEFORE narrowing to f32 (issue #1804: georeferenced point clouds carry
~1e6-1e7 m absolute map coordinates — e.g. IfcMapConversion's
Eastings/Northings/OrthogonalHeight — and narrowing those straight to
f32 quantises to ~0.5-1 m before any alignment math ever sees them).
The subtraction happens in f64 (plain JS number arithmetic) right
here, at the same point the LAS header's own offset is added back in
— so the residual written to the Float32Array stays small/precise
regardless of how large the source coordinates are. undefined (the
default) subtracts nothing, preserving prior behaviour byte-for-byte.
Native (X, Y, Z)-axis offset subtracted from each decoded coordinate BEFORE narrowing to f32 (issue #1804: georeferenced point clouds carry ~1e6-1e7 m absolute map coordinates — e.g.
IfcMapConversion's Eastings/Northings/OrthogonalHeight — and narrowing those straight to f32 quantises to ~0.5-1 m before any alignment math ever sees them). The subtraction happens in f64 (plain JS number arithmetic) right here, at the same point the LAS header's own offset is added back in — so the residual written to theFloat32Arraystays small/precise regardless of how large the source coordinates are.undefined(the default) subtracts nothing, preserving prior behaviour byte-for-byte.