FixedMathSharp v6 is a bounds and geometry hardening release focused on clearer dimensional ownership, deterministic hot-path behavior, and reusable lower-stack geometry for LSF libraries.
Highlights
- Reworked
FixedBoundAreainto a true 2DVector2dAABB. - Made
FixedBoundBoxthe explicit 3D AABB type with named factories:FromMinMax,FromCenterAndSize, andFromCenterAndScope.
- Removed hidden
FixedBoundBox.Verticesarray storage in favor of allocation-freeGetCornerandCopyCorners. - Added new reusable primitives:
FixedBoundCircle,FixedRay2d,FixedSegment2d,FixedTriangle2d,FixedSegment, andFixedTriangle.
- Standardized bounds intersection semantics so default
Intersectsmethods are boundary-inclusive. - Added
IntersectsStrictwhere positive area/volume overlap matters. - Tightened radius handling for
FixedBoundSphereand added explicitBoundingSphereState. - Added optional
FixedMathSharp.Chronicler/.Leancompanion packages for deterministicChronicleHashWriterhelpers. - Expanded bounds, geometry, serialization, and benchmark coverage.
Breaking Changes
- 3D
FixedBoundAreasemantics were removed. UseFixedBoundBoxfor 3D bounds andFixedBoundAreafor pure 2D planar bounds. new FixedBoundBox(center, size)was removed; use named factories.FixedBoundBox.Verticeswas removed; useGetCornerorCopyCorners.- Boundary-touching bounds now count as intersections by default; use
IntersectsStrictfor positive overlap only. - Direct serialized/hash handling of
FixedBoundAreaandFixedBoundSphereshould be reviewed.
See MIGRATION.md for more details.