Skip to content

Releases: g5t/polystar

v0.4.5

16 Sep 21:19
@g5t g5t

Choose a tag to compare

Equivalent to v0.4.4 but with more wheels

A bug due to rounding errors in platform-specific cross-product
implementations caused equivalent vectors to have different cross
products. Namely two identical vectors should always have zero cross
product, but on Arm macOS they were sometimes non-zero.
Now a check looks for equal _indexed_ vectors before the cross product
is performed, because if the edge vectors share an index they intersect
at one of their ends and determining in- or out-ness is difficult at
best.

v0.4.4

26 Aug 16:10
@g5t g5t

Choose a tag to compare

Polygon creation checks user indexing now

Previously a user could provide polygon border/wire information that
did not correctly index the provided vertices. Now such input
immediately raises a runtime error to alert a user to the problem as
early as possible.

v0.4.2

25 Aug 19:13
@g5t g5t

Choose a tag to compare

Bugfix for Polygon intersection

v0.4.1

19 Aug 13:53
@g5t g5t
a41a754

Choose a tag to compare

Better polygon intersection

- Implemented and tested polygon intersection via Weiler-Atherton
  algorithm

v0.3.0

16 Jul 12:55
@g5t g5t

Choose a tag to compare

Add numpy 2 support through update pybind11

v0.2.0

05 Jul 15:54
@g5t g5t

Choose a tag to compare

Internal changes to make module distributable

- The triangle library is now built directly into every target instead
  of included as a shared library. This would lead to longer build times
  but each worker only builds one target, so it has no CI/CD impact.

- The C++ standard API for std::optional is not fully implemented on all
  macOS systems. Importantly, the `value()` method is marked as
  unavailable. Thankfully we can sidestep the problem by dereferncing
  the optional value or using pointer semantics such that `opt.value()`
  becomes `*opt` and `opt.value().method()` becomes `opt->method()`.
  These changes should not effect the Python interface.