|
|
d95ddbb6b9
|
[Arc] return clearer errors when working with an invalid arclength
|
2026-04-16 19:39:42 -07:00 |
|
|
|
df578d7764
|
[PolyCollection] copy vertex offsets when making normalized form
|
2026-04-01 21:15:44 -07:00 |
|
|
|
8d50f497f1
|
[repetition / others] copies should get their own repetitions
|
2026-03-31 22:15:21 -07:00 |
|
|
|
2176d56b4c
|
[Arc] Error out on zero radius
|
2026-03-31 22:03:42 -07:00 |
|
|
|
f1e25debec
|
[Ellipse] force radii to float dtype
|
2026-03-31 22:03:19 -07:00 |
|
|
|
2952e6ef8f
|
[Arc / Ellipse / Circle] gracefully handle large arclen
|
2026-03-31 21:42:16 -07:00 |
|
|
|
c303a0c114
|
[Ellipse / Arc] improve bounds calculation
|
2026-03-31 21:41:49 -07:00 |
|
|
|
f34b9b2f5c
|
[Text] fixup bounds and normalized form
|
2026-03-31 21:22:35 -07:00 |
|
|
|
89cdd23f00
|
[Arc / Ellipse] make radii hashable
|
2026-03-31 21:22:15 -07:00 |
|
|
|
3beadd2bf0
|
[Path] preserve cap extensions in normalized form, and scale them with scale()
|
2026-03-31 09:24:22 -07:00 |
|
|
|
1bcf5901d6
|
[Path] preserve width from normalized form
|
2026-03-31 09:23:19 -07:00 |
|
|
|
db22237369
|
[PathCap] clean up comment
|
2026-03-09 11:20:04 -07:00 |
|
|
|
ea93a7ef37
|
[remove_colinear_vertices / Path] add preserve_uturns and use it for paths
|
2026-03-09 03:28:31 -07:00 |
|
|
|
495babf837
|
[Path] revert endcap changes to avoid double-counting
|
2026-03-09 03:27:39 -07:00 |
|
|
|
5d20a061fd
|
[Path / Polygon] improve normalized_form approach to follow documented order
|
2026-03-09 02:42:13 -07:00 |
|
|
|
25b8fe8448
|
[Path.to_polygons] Use linalg.solve() where possible; fallback to lstsq if singular
|
2026-03-09 02:41:15 -07:00 |
|
|
|
6c96968341
|
[Path] improve robustness of intersection calculations
|
2026-03-09 01:09:37 -07:00 |
|
|
|
a467a0baca
|
[Path] simplify conditional
|
2026-03-09 00:17:50 -07:00 |
|
|
|
fb822829ec
|
[Polygon] rect() should call rectangle() with positive width/height
no big deal, but this makes vertex order consistent
|
2026-03-08 22:42:48 -07:00 |
|
|
|
838c742651
|
[Path] Improve comparisons: compare vertices
|
2026-03-08 22:41:37 -07:00 |
|
|
|
9a76ce5b66
|
[Path] cap_extensions=None should mean [0, 0] when using custom extensions
|
2026-03-08 22:41:11 -07:00 |
|
|
|
2019fc0d74
|
[Path] Circular cap extensions should translate to square, not empty
|
2026-03-08 22:40:08 -07:00 |
|
|
|
e3f8d28529
|
[Path] improve __lt__ for endcaps
|
2026-03-08 22:37:30 -07:00 |
|
|
|
d32a5ee762
|
[dxf] fix typos
|
2026-03-08 14:53:28 -07:00 |
|
|
|
049864ddc7
|
[manhattanize_fast] Improve handling of grids smaller than the shape
|
2026-03-08 10:10:46 -07:00 |
|
|
|
3bf7efc404
|
[Polygon] fix offset error messages
|
2026-03-08 09:48:03 -07:00 |
|
|
|
ff8ca92963
|
cleanup
|
2026-02-16 20:48:15 -08:00 |
|
|
|
7ad59d6b89
|
[boolean] Add basic boolean functionality (boolean() and Polygon.boolean())
|
2026-02-16 17:42:19 -08:00 |
|
|
|
48f7569c1f
|
[traits] Formalize Flippable and Pivotable depending on Positionable
|
2026-02-15 14:34:10 -08:00 |
|
|
|
8a56679884
|
Clean up types/imports
|
2026-02-15 12:40:47 -08:00 |
|
|
|
9bb0d5190d
|
[Arc] improve some edge cases when calculating arclengths
|
2026-02-15 01:37:53 -08:00 |
|
|
|
ad49276345
|
[Arc] improve bounding box edge cases
|
2026-02-15 01:35:43 -08:00 |
|
|
|
fe70d0574b
|
[Arc] Improve handling of full rings
|
2026-02-15 01:34:56 -08:00 |
|
|
|
36fed84249
|
[PolyCollection] fix slicing
|
2026-02-15 01:31:15 -08:00 |
|
|
|
278f0783da
|
[PolyCollection] gracefully handle empty PolyCollections
|
2026-02-15 01:26:06 -08:00 |
|
|
|
2d63e72802
|
fixup! [Mirrorable / Flippable] Bifurcate mirror into flip (relative to line) vs mirror (relative to own offset/origin)
|
2026-02-15 00:49:34 -08:00 |
|
|
|
51ced2fe83
|
[Text] use translate instead of offset
|
2026-02-15 00:07:43 -08:00 |
|
|
|
19fac463e4
|
[Shape] fix annotation
|
2026-02-15 00:07:27 -08:00 |
|
|
|
44986bac67
|
[Mirrorable / Flippable] Bifurcate mirror into flip (relative to line) vs mirror (relative to own offset/origin)
|
2026-02-15 00:05:53 -08:00 |
|
|
|
accad3db9f
|
Prefer [1 - axis] for clarity
|
2026-02-14 19:20:50 -08:00 |
|
|
|
48034b7a30
|
[Polygon.rect] raise a PatternError when given the wrong number of args
instead of assert
|
2026-01-19 22:20:09 -08:00 |
|
|
|
82f3e7ab8f
|
[PolyCollection] rename setter arg to placate linter
|
2026-01-19 22:20:09 -08:00 |
|
|
|
34a43a707c
|
[Path / PolyCollection / Polygon] fix order of rotation/offset
|
2026-01-19 22:20:09 -08:00 |
|
|
|
aca49dc7e3
|
[Polygon / Path / PolyCollection] Force polygon/path offset to (0, 0)
And disallow setting it.
This offset was basically just a footgun.
|
2026-01-19 22:20:09 -08:00 |
|
|
|
e231fa89cb
|
[Polygon.rect] use floats more explicitly
|
2026-01-19 22:20:09 -08:00 |
|
|
|
0c04bf8ea3
|
Various type-checking improvements
|
2026-01-19 22:20:09 -08:00 |
|
|
|
314910d363
|
[shapes] Don't create empty dicts for annotations
|
2026-01-19 22:20:09 -08:00 |
|
|
|
fbe804750b
|
[PolyCollection] add PolyCollection shape
based on ndarrays of vertices and offsets
|
2026-01-19 22:20:09 -08:00 |
|
|
|
325a8b9590
|
[circle] fix mirror ignoring axis
|
2025-09-14 12:36:17 -07:00 |
|
|
|
35e28acb89
|
[polygon] Only call rotate if necessary
|
2025-04-21 19:07:21 -07:00 |
|