764 Commits

Author SHA1 Message Date
8fa1d0479c [error] also exclude concurrent.futures.process from traces 2026-01-19 22:20:09 -08:00
a4b93419b4 [error] also exclude frames starting with '<frozen' 2026-01-19 22:20:09 -08:00
549193534f [file.svg] use logger.warning over warnings.warn (for flexibility) 2026-01-19 22:20:09 -08:00
6a494b99a0 [ports] make port mismatch deltas more obvious 2026-01-19 22:20:09 -08:00
705a1cef78 [error, ports] Make stack traces more directly reflect teh location of the issue 2026-01-19 22:20:09 -08:00
b8ab3b91f5 misc cleanup: variable naming, typing, comments 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
e5f0c85560 [BasicTool] enable straight to handle trees (not just flat patterns) 2026-01-19 22:20:09 -08:00
2961ae5471 [builder.tools] Handle in_ptype=None 2026-01-19 22:20:09 -08:00
ba05e40f84 [traits.annotatable] Don't break when setting annotations to None 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
jan
fbe804750b [PolyCollection] add PolyCollection shape
based on ndarrays of vertices and offsets
2026-01-19 22:20:09 -08:00
aee0d5b619 [utils.curves] ignore re-import of trapeziod 2026-01-19 22:20:09 -08:00
e00d82bbc4 allow annotations to be None
breaking change, but properties are seldom used by anyone afaik
2026-01-19 22:20:09 -08:00
jan
4d74eea253 [file.gdsii] attributes may have key=126 2025-10-12 23:34:39 -07:00
325a8b9590 [circle] fix mirror ignoring axis 2025-09-14 12:36:17 -07:00
jan
c071b33732 Bump version to v3.4 release v3.4 2025-08-17 21:05:15 +02:00
jan
42a7df3055 add pytest config 2025-08-17 21:03:23 +02:00
5e0eef7c59 [dxf] match ezdxf syntax changes 2025-05-28 00:40:24 -07:00
ad00ade097 [Tool] correctly set input ptype 2025-05-28 00:39:44 -07:00
385a37e0a2 [Pather] fix path_into for some 2-bend cases 2025-05-28 00:39:25 -07:00
35e28acb89 [polygon] Only call rotate if necessary 2025-04-21 19:07:21 -07:00
jan
c1bfee1ddd [library] minor stylistic cleanup 2025-04-15 17:34:05 -07:00
jan
560c165f2e remove deprecated rule from ignore list 2025-04-15 17:26:33 -07:00
jan
284c7e4fd0 Use quoted first arg for cast()
ruff rule TC006
2025-04-15 17:25:56 -07:00
jan
1eac3baf6a [pattern] add arg to , useful for whole-library scaling 2025-04-15 17:21:49 -07:00
5a4b9609bd close code block 2025-03-12 23:14:45 -07:00
30cfa0da31 Bump version to v3.3 v3.3 2025-03-12 23:11:35 -07:00
d11c910dfd [utils.curves] improve type annotations 2025-03-12 23:10:49 -07:00
9b2f8599e6 [utils.curves] use numpy.trapezoid for 2.0 compatibility
fall back to trapz if import fails
2025-03-12 23:09:45 -07:00
6c76e1f5cf Add R90 and R180 constants for rotation shorthand 2025-03-12 23:04:51 -07:00
6567394fbf [utils.curves.bezier] Fix and clarify bezier() code
- Accuracy fix (incorrect +1 term)
- Explicitly index last dim of `nodes`
- Suppress warnings about div by zero
- simplify `umul` and `udiv` calculation
2025-03-04 23:00:52 -08:00
858ef4a114 [utils.curves.euler_bend] add num_point arg and improve naming 2025-03-03 00:53:34 -08:00
b27b1d93d8 [utils.curves.bezier] improve handling of non-ndarray inputs 2025-03-03 00:52:51 -08:00
c74573e7dd [Arc] improve some variable names 2025-03-03 00:52:24 -08:00
0e34242ba5 misc type hint fixes 2025-03-03 00:52:04 -08:00
c3534beb3f [utils.curves.bezier] be more explicit about broadcast axes 2025-02-25 21:27:16 -08:00
cae6de69c1 [path] Fix calls to numpy.linalg.solve for numpy 2 2025-02-25 21:15:32 -08:00
f14528654b [utils.curves] add masque.utils.curves with Bezier and Euler curves 2025-02-25 21:09:04 -08:00
6631c5e558 clear out some old TODOs 2025-02-25 21:09:04 -08:00
cd60dcc765 add the toolctx() context manager to simplify temporary retool() calls 2025-02-25 21:09:04 -08:00
fcb470a02c use cast() to clarify some type checker complaints 2025-02-25 21:09:04 -08:00
93471a221c add ok_connections arg to allow plugging mismatched ports without warnings 2025-02-25 21:09:04 -08:00
4e862d6853 cleanup 2024-12-12 23:47:46 -08:00
9917355bb0 speed up prune_empty() on large patterns 2024-12-12 23:47:28 -08:00
jan
94a1b3d793 cleanup comment 2024-10-14 17:25:01 -07:00
jan
7c7a7e916c Fix offset handling in polygon normalized_form() 2024-10-14 17:24:49 -07:00