v3.2.0
✨ What's new?
As the holidays come to an end, we're excited to announce a new release of the Burst Triangulator!
🆕 New generic types support!
In this version, there is finally support for the int2
and fp2
(fixed-point Q31.32) types. These types are crucial as they ensure that the triangulation result is independent of the hardware architecture, making them suitable for use in scenarios such as lockstep simulations (e.g., in multiplayer RTS games).
The supported features for each type in this version are as follows:
type | delaunay | constraints | holes | refinement | preprocessors | notes |
---|---|---|---|---|---|---|
float2 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | |
Vector2 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | Via float2 reinterpret |
double2 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | |
fp2 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | Requires additional package1 |
int2 | ✔️ | ✔️ | 🟡2 | ❌ | 🟡3 | Support up to |
Below the benchmark:
📝 Changelog
Added
- Support for additional types:
Vector2
,int2
, andfp2
(fixed-point in Q31.32 format). Note:fp2
requires an optional dependency. Refer to the manual for more details. - (Internal) Introduced
TrianglesComparer
to simplify triangle assertions in tests. Args
is now blittable and can be used in Burst-compiled static methods.- Enhanced validation logs to include position information.
Changed
- (Internal) Various simplifications, minor performance improvements, refactoring, and additional code comments.
Deprecated
AsNativeArray()
andManagedInput
have been deprecated for safety reasons. UseAsNativeArray(out Handle handle)
instead. Refer to the manual for more information.
Fixed
- Corrected the refinement of concentric shells segment splitting factor alpha.
- Fixed safety issues with
AsNativeArray
. - Fully collinear input is now handled correctly.
Full Changelog: v3.1.0...v3.2.0
-
This feature is available through an optional dependency. Users must install
com.danielmansson.mathematics.fixedpoint
. More info in the documentation. ↩ -
In the current implementation, holes are fully supported with
Settings.AutoHolesAndBoundary
. However, manual holes withint2
coordinates may not guarantee that the given hole can be created. An additional extension is planned in the future to support holes with manual floating-point precision forint2
. ↩ -
Support for
Preprocessor.COM
with translation only is available. ↩