← Back to all sparks
M

Meshes.jl

DEVOPS
Velocity2.5

Computational geometry in Julia

Meshes.jl ships one pull request at a time, and most of them are geometry correctness

juliacomputational-geometryperformancenumerical-correctnessmaintenance
Current state
The library releases at a rate of several patch versions a week, each carrying a single merged pull request. The current run is evenly split between performance work - an optimised centroid and measure for planar polygons, further GJK tuning, a neighbour-search refactor - and correctness fixes to the same primitives, including a wrong centroid calculation and PolyArea incorrectly adding inner-ring area.
Where it's heading
The pattern of optimising a function and then correcting its definition a release later suggests the core geometric predicates are being systematically revisited rather than extended. This is depth work on a settled API: the same handful of operations getting faster and more numerically defensible, including on non-standard number types like BigFloat.
Prediction
Expect the single-PR cadence to continue through the remaining core predicates, with measure and centroid variants for further geometry types the most likely targets. Nothing in these entries points to new geometry abstractions.

Recent moves

  1. 27d ago

    Faster centroid and measure for planar polygons

    Optimises centroid and measure for planar polygons, the most frequently called predicates in the library. A narrow release but a direct performance win for mesh-heavy workloads.

    View source ↗
  2. 1mo ago

    Further GJK optimisation

    Further optimisation of the GJK intersection routine, continuing a thread of tightening the collision-detection path.

    View source ↗
  3. 1mo ago

    Centroid definitions reviewed and corrected

    Reviews and corrects centroid definitions in response to a reported wrong calculation. A definitional fix in the same area being optimised a few releases later.

    View source ↗
  4. 1mo ago

    StackOverflow fixed for atol/rtol on BigFloat

    Fixes a StackOverflowError when calling atol or rtol on non-Float types such as BigFloat, which surfaced through integrals over BigFloat boxes. A narrow numeric-type edge case.

    View source ↗
  5. 1mo ago

    Neighbour search refactor

    An internal refactor of neighbour search with no described change in behaviour. Groundwork rather than a user-visible release.

    View source ↗
  6. 1mo ago

    polyarea docs clarify clockwise orientation

    Documentation clarifying clockwise orientation in polyarea, closing a report that area and measure on PolyArea wrongly added inner-ring area. Documentation-level resolution of a correctness question.

    View source ↗