Releases: JCash/voronoi
Releases · JCash/voronoi
Release list
jc_voronoi 0.10.2
Added "Install" section in readme
Updated npm release package
Full Changelog: v0.10.1...v0.10.2
jc_voronoi 0.10.1
What's Changed
- Added support for Wasm library by @JCash in #101
- Add CMake support by @JCash in #102
- Prepare npm package release and update performance fixtures by @JCash in #103
- Initial documentation by @JCash in #104
- Initial Homebrew support by @JCash in #105
- Update the WebAssembly API and benchmark documentation by @JCash in #106
Full Changelog: v0.10.0...v0.10.1
jc_voronoi 0.10.0
0.10.0
- Replaced the beachline scan with a RAVL tree, eliminating pathological scaling. The 100k pathological case improves from approximately 9.15 s to 19.43 ms.
- Replaced persistent graph-edge copies with shared edges and per-site iterators, substantially reducing retained memory.
- Added packed unique-vertex storage and the
jcv_get_num_vertices()/jcv_diagram_get_vertices()APIs. - Optimized edge sorting with an overflow-safe pseudo-angle.
- Skip gap filling for interior cells when using the default box clipper.
- Improved handling of nearly collinear sites.
- Added more regression tests, documentation, examples, and showcases.
Breaking changes
- Edge traversal now uses
jcv_edge_iterand caller-ownedjcv_edgevalues. - Removed
jcv_diagram_get_next_edge,jcv_edge.next,jcv_graphedge, andjcv_site.edges. - Site edges now use
jcv_site_get_edges()andjcv_edge_next(). jcv_delauney_edge.edgeis now embedded rather than a pointer.- Site array order is not guaranteed to match input order; use
site.index. - Public structs are no longer packed and their layouts have changed.
- Removed
JCV_DISABLE_STRUCT_PACKING; defining it now has no effect. - Custom clipper
fill_fnimplementations usingjcv_site.edgesmust be updated.
Modified jcv_delauney_begin api
Delauney triangulation
- Added iterator for Delauney triangles
- Fix for missing border edges
- Fix for inserting duplicate edges
jc_voronoi v0.7.0
- Added support for clipping against convex polygons
- Added JCV_EDGE_INTERSECT_THRESHOLD for edge intersections
- Fixed issue where the bounds calculation wasn’t considering all points
jc_voronoi v0.6.0
Removed JCV_FABS/JCV_CEIL/JCV_FLOOR in favor of internal implementations
Performance optimisations
jc_voronoi v0.5.0
- Fixed issue where the graph edge had the wrong edge assigned (issue #28)
- Fixed issue where a point was falsely passing the jcv_is_valid() test (issue #22)
- Fixed jcv_diagram_get_edges() so it now returns all edges (issue #28)
- Added jcv_diagram_get_next_edge() to skip zero length edges (issue #10)
- Added defines JCV_CEIL/JCV_FLOOR/JCV_FLT_MAX for easier configuration
jc_voronoi v0.4.0
Merge dev to master (#17) * CI tests * Added bounding box to jcv_diagram_generate() Input points are now culled against the bounding box Added .csv support to test program * Added missing file * Windown compile fixes * Added missing include for linux * Added an examples folder * Ensure to include stdlib.h for malloc/free (#14) * Updated max number of events that can be used at the same time (#16) * Increased the maximum number of events the priority queue can have * Added test for max num events
jc_voronoi v0.3.0
- Added clipping box as input argument (Automatically calculated if needed)
- Input points are pruned based on bounding box