Skip to content

Releases: JCash/voronoi

jc_voronoi 0.10.2

Choose a tag to compare

@JCash JCash released this 25 Jul 16:10

Added "Install" section in readme
Updated npm release package

Full Changelog: v0.10.1...v0.10.2

jc_voronoi 0.10.1

Choose a tag to compare

@JCash JCash released this 25 Jul 15:54

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

Choose a tag to compare

@JCash JCash released this 22 Jul 09:06

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_iter and caller-owned jcv_edge values.
  • Removed jcv_diagram_get_next_edge, jcv_edge.next, jcv_graphedge, and jcv_site.edges.
  • Site edges now use jcv_site_get_edges() and jcv_edge_next().
  • jcv_delauney_edge.edge is 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_fn implementations using jcv_site.edges must be updated.

Modified jcv_delauney_begin api

Choose a tag to compare

@JCash JCash released this 22 Jan 19:00
v0.9.0

compile fix

Delauney triangulation

Choose a tag to compare

@JCash JCash released this 25 Dec 11:58
  • Added iterator for Delauney triangles
  • Fix for missing border edges
  • Fix for inserting duplicate edges

jc_voronoi v0.7.0

Choose a tag to compare

@JCash JCash released this 02 Nov 11:59
  • 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

Choose a tag to compare

@JCash JCash released this 21 Oct 19:15

Removed JCV_FABS/JCV_CEIL/JCV_FLOOR in favor of internal implementations
Performance optimisations

jc_voronoi v0.5.0

Choose a tag to compare

@JCash JCash released this 14 Oct 15:38
  • 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

Choose a tag to compare

@JCash JCash released this 03 Jun 15:39
c1bc7e1
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

Choose a tag to compare

@JCash JCash released this 20 Apr 21:57
  • Added clipping box as input argument (Automatically calculated if needed)
  • Input points are pruned based on bounding box