Phase 5 updates

Phase 5 · Slice 19 ·

Unity.Mathematics

  • A Unity.Mathematics assembly (same name and namespace as the package): the vector and matrix types over bool, int, uint, float, double and half come from dotnet/Unity.Mathematics/generate.py (constructors, conversions, operators, swizzles, indexers, formatting, hashes with the package's constants, componentwise math, mul, determinants and inverses); quaternion, the matrix constructors, RigidTransform, AffineTransform, Random, noise and the scalar functions are written by hand.
  • Results follow the package's definitions: float functions through double as on Mono, its NaN rules in min/max, its half rounding, Random's xorshift sequences, webgl-noise's algorithms (MIT, credited).
  • Unity projects' scripts and asmdefs referencing the package (by name or GUID) compile against it, as do MCP's exec snippets.
  • The mathematics scenario (422 checks: types, conversions, functions, bits, halves, matrices, quaternions and Euler angles, transforms, Random, noise) matches Unity in both runs; 43 scenarios pass.
  • Next: NativeArray, Unity.Collections and the C# Job System on the Rust job system.