diff --git a/CHANGELOG.md b/CHANGELOG.md index be8e935..5e36ba0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,29 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 For online version see [Github Releases]. +## [3.2.0] – 2024-08-28 + +### Added + +- Support for additional types: `Vector2`, `int2`, and `fp2` (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()` and `ManagedInput` have been deprecated for safety reasons. Use `AsNativeArray(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. + ## [3.1.0] – 2024-08-01 ### Added @@ -210,6 +233,7 @@ options in the triangulation settings, aka `RestoreBoundary`. [Github Releases]: https://github.com/andywiecko/BurstTriangulator/releases +[3.2.0]: https://github.com/andywiecko/BurstTriangulator/releases/tag/v3.2.0 [3.1.0]: https://github.com/andywiecko/BurstTriangulator/releases/tag/v3.1.0 [3.0.0]: https://github.com/andywiecko/BurstTriangulator/releases/tag/v3.0.0 [2.5.0]: https://github.com/andywiecko/BurstTriangulator/releases/tag/v2.5.0 diff --git a/Documentation~/manual/getting-started.md b/Documentation~/manual/getting-started.md index 23890a8..8a722cb 100644 --- a/Documentation~/manual/getting-started.md +++ b/Documentation~/manual/getting-started.md @@ -28,7 +28,7 @@ Then, in the dependencies section, provide the desired version of the package: ```json "dependencies": { - "com.andywiecko.burst.triangulator": "3.1.0", + "com.andywiecko.burst.triangulator": "3.2.0", ... ``` diff --git a/Documentation~/override/partials/breadcrumb.tmpl.partial b/Documentation~/override/partials/breadcrumb.tmpl.partial index 14dd4ac..6f646ff 100644 --- a/Documentation~/override/partials/breadcrumb.tmpl.partial +++ b/Documentation~/override/partials/breadcrumb.tmpl.partial @@ -13,6 +13,6 @@
v3.1.0
+ ">v3.2.0 \ No newline at end of file diff --git a/README.md b/README.md index f9071be..5d5b669 100644 --- a/README.md +++ b/README.md @@ -10,16 +10,16 @@ A single-file package which provides Delaunay triangulation of the given set of ## ✨ Supported Features -- **Delaunay triangulation** [ᵈᵒᶜˢ↗](https://andywiecko.github.io/BurstTriangulator/manual/examples/triangulation.html) -- **Constrained triangulation** [ᵈᵒᶜˢ↗](https://andywiecko.github.io/BurstTriangulator/manual/examples/constrained-triangulation.html) -- **Mesh refinement** (angle and area parameters) [ᵈᵒᶜˢ↗](https://andywiecko.github.io/BurstTriangulator/manual/examples/mesh-refinement.html) -- **Holes and restoring boundary** (manual and auto) [ᵈᵒᶜˢ↗](https://andywiecko.github.io/BurstTriangulator/manual/examples/holes-and-boundaries.html) -- **Support for `Unity.Jobs` pipeline** [ᵈᵒᶜˢ↗](https://andywiecko.github.io/BurstTriangulator/manual/advanced/input-jobs.html) -- **Input preprocessors** [ᵈᵒᶜˢ↗](https://andywiecko.github.io/BurstTriangulator/manual/advanced/preprocessor.html) -- **Input validation** [ᵈᵒᶜˢ↗](https://andywiecko.github.io/BurstTriangulator/manual/advanced/input-validation.html) -- **Generic coordinates** (`float2`, `double2`) [ᵈᵒᶜˢ↗](https://andywiecko.github.io/BurstTriangulator/manual/advanced/generic-coordinates.html) -- **Native support** (low level API) [ᵈᵒᶜˢ↗](https://andywiecko.github.io/BurstTriangulator/manual/advanced/unsafe-triangulator.html) -- **Managed input support** [ᵈᵒᶜˢ↗](https://andywiecko.github.io/BurstTriangulator/manual/advanced/input-managed.html) +- **Delaunay triangulation** [ᵈᵒᶜˢ](https://andywiecko.github.io/BurstTriangulator/manual/examples/triangulation.html) +- **Constrained triangulation** [ᵈᵒᶜˢ](https://andywiecko.github.io/BurstTriangulator/manual/examples/constrained-triangulation.html) +- **Mesh refinement** (angle and area parameters) [ᵈᵒᶜˢ](https://andywiecko.github.io/BurstTriangulator/manual/examples/mesh-refinement.html) +- **Holes and restoring boundary** (manual and auto) [ᵈᵒᶜˢ](https://andywiecko.github.io/BurstTriangulator/manual/examples/holes-and-boundaries.html) +- **Support for `Unity.Jobs` pipeline** [ᵈᵒᶜˢ](https://andywiecko.github.io/BurstTriangulator/manual/advanced/input-jobs.html) +- **Input preprocessors** [ᵈᵒᶜˢ](https://andywiecko.github.io/BurstTriangulator/manual/advanced/preprocessor.html) +- **Input validation** [ᵈᵒᶜˢ](https://andywiecko.github.io/BurstTriangulator/manual/advanced/input-validation.html) +- **Generic coordinates** (`float2`, `double2`, `Vector2`, `int2`, and fixed-point `Q31.32`) [ᵈᵒᶜˢ](https://andywiecko.github.io/BurstTriangulator/manual/advanced/generic-coordinates.html) +- **Native support** (low level API) [ᵈᵒᶜˢ](https://andywiecko.github.io/BurstTriangulator/manual/advanced/unsafe-triangulator.html) +- **Managed input support** [ᵈᵒᶜˢ](https://andywiecko.github.io/BurstTriangulator/manual/advanced/input-managed.html) To view the documentation for the manual and scripting API access it online [**here**][manual] or navigate to `Documentation~/` and build this using `docfx.json`. @@ -56,8 +56,8 @@ and to triangulate unit box $[(0, 0), (1, 0), (1, 1), (0, 1)]$: ```csharp using var positions = new NativeArray(new[] -{ - new(0, 0), new(1, 0), new(1, 1), new(0, 1) +{ + new(0, 0), new(1, 0), new(1, 1), new(0, 1) }, Allocator.Persistent); using var triangulator = new Triangulator(Allocator.Persistent) { diff --git a/package.json b/package.json index ab71297..ad41243 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "com.andywiecko.burst.triangulator", - "version": "3.1.0", + "version": "3.2.0", "displayName": "Burst Triangulator", "description": "A single-file package which provides Delaunay triangulation of the given set of points with constraints and mesh refinement.", "unity": "2022.2",