v0.4.3
[0.4.3] - 2026-06-12: double-precision magnitude for IsNormalized and HasMagnitudeApproximately
Patch release. Computes vector and quaternion magnitudes in double precision so a tight tolerance reflects the value's actual deviation from unit length rather than single-precision arithmetic noise. No public API change.
Fixed
IsNormalized(Vector3 and Quaternion) andHasMagnitudeApproximately(Vector3) now compute the magnitude in double precision. They previously calledSystem.Numerics.Vector3.Length()/Quaternion.Length(), which compute the dot product and square root infloat. The residual single-precision error could defeat a tight tolerance: a quaternion normalized to float precision could failIsNormalizedat a small tolerance, and at large coordinates the float square overflows to infinity, which makesHasMagnitudeApproximatelyunsatisfiable. The components now widen todoublebefore the sum of squares and the square root, the same widening already used forPositionDistanceand the0.4.1quaternion-angle fix. The comparison semantics and the meaning oftoleranceare unchanged.
Changed
- Bumped
PackageValidationBaselineVersionfrom0.4.1to0.4.2on both packages so ApiCompat strict-mode validates0.4.3against the most recently published baseline. No public API change; only the assembly-version suppression's target moves.