Skip to content

FixedMathSharp v6.0.0

Latest

Choose a tag to compare

@mrdav30 mrdav30 released this 30 Jun 20:49

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 FixedBoundArea into a true 2D Vector2d AABB.
  • Made FixedBoundBox the explicit 3D AABB type with named factories:
    • FromMinMax, FromCenterAndSize, and FromCenterAndScope.
  • Removed hidden FixedBoundBox.Vertices array storage in favor of allocation-free GetCorner and CopyCorners.
  • Added new reusable primitives:
    • FixedBoundCircle, FixedRay2d, FixedSegment2d, FixedTriangle2d, FixedSegment, and FixedTriangle.
  • Standardized bounds intersection semantics so default Intersects methods are boundary-inclusive.
  • Added IntersectsStrict where positive area/volume overlap matters.
  • Tightened radius handling for FixedBoundSphere and added explicit BoundingSphereState.
  • Added optional FixedMathSharp.Chronicler / .Lean companion packages for deterministic ChronicleHashWriter helpers.
  • Expanded bounds, geometry, serialization, and benchmark coverage.

Breaking Changes

  • 3D FixedBoundArea semantics were removed. Use FixedBoundBox for 3D bounds and FixedBoundArea for pure 2D planar bounds.
  • new FixedBoundBox(center, size) was removed; use named factories.
  • FixedBoundBox.Vertices was removed; use GetCorner or CopyCorners.
  • Boundary-touching bounds now count as intersections by default; use IntersectsStrict for positive overlap only.
  • Direct serialized/hash handling of FixedBoundArea and FixedBoundSphere should be reviewed.

See MIGRATION.md for more details.