64 Commits

Author SHA1 Message Date
8b53f816df [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:13:54 -08:00
2cf187fdb8 def-in-loop needs assigments for vars 2024-07-28 20:31:41 -07:00
38e9d5c250 use strict zip 2024-07-28 20:31:41 -07:00
01fe53dc79 fix final assignment and clarify what's going 2024-07-28 19:37:20 -07:00
6ec94fb3c3 import Sequence et al from collections.abc not typing 2024-07-28 19:33:16 -07:00
jan
6db4bb96db Create an ordering for everything
In order to make layouts more reproducible
Also add pattern.sort() and file.utils.preflight_check()

optionally don't sort elements
elements aren't re-ordered that often, sorting them is slow, and the
sort criteria are arbitrary, so we might want to only sort stuff by name
2024-06-03 17:00:20 -07:00
jan
24c77fd3c3 remove custom __copy__
no longer necessary now that we're not locking anything
2023-11-18 12:29:36 -08:00
jan
0aa4a6ee7a doc updates 2023-10-15 16:18:34 -07:00
jan
9a28e1617c renderpather, get_bounds includes repetitions, Boundable 2023-10-15 16:18:33 -07:00
jan
9a077ea2df move to dicty layers and targets 2023-10-15 16:18:33 -07:00
jan
bb3caf1ad7 comment updates 2023-10-15 16:18:33 -07:00
jan
4eee4d19e9 cleanup 2023-10-15 16:18:33 -07:00
ea2eaa4603 fix rounding 2023-10-15 16:18:33 -07:00
4482ede3a7 use Self type 2023-10-15 16:18:33 -07:00
1463535676 modernize type annotations 2023-10-15 16:18:33 -07:00
9d42df831e remove per-shape polygonization state 2023-10-15 16:18:33 -07:00
jan
d9ae8dd6e3 wip 2023-10-15 16:18:32 -07:00
2635c6c20c some type updates 2023-10-15 16:18:32 -07:00
c7f3e7ee52 Remove support for dose
Since there isn't GDS/OASIS level support for dose, this can be mostly
handled by using arbitrary layers/dtypes directly. Dose scaling isn't
handled as nicely that way, but it corresponds more directly to what
gets written to file.
2023-10-15 16:18:32 -07:00
a0ca53f57a get rid of "identifier" 2023-10-15 16:18:32 -07:00
jan
7ca017d993 wip again 2023-10-15 16:18:32 -07:00
jan
7aaf73cb37 WIP: make libraries and names first-class! 2023-10-15 16:18:32 -07:00
jan
8edb7b0956 round().astype() -> rint(...) 2023-01-11 18:29:28 -08:00
jan
a4aa50d814 fix another instance where numpy prohibits using not bounds 2022-02-28 23:43:16 -08:00
jan
20be409341 fix numpy complaining about .any() / .all() 2022-02-28 23:03:23 -08:00
jan
a4fe3d9e2e Use ArrayLike and NDArray wherever possible. Some type fixes and some related corner cases 2022-02-23 15:47:38 -08:00
jan
89f327ba37 reformat some multiline arg lists and add missing 'None' return types 2022-02-23 15:16:25 -08:00
4796676a4e use ArrayLike when accepting pseudo-ndarrays 2021-06-22 18:59:13 -07:00
f364970403 style and type fixes (per flake8)
could potentially fix some bugs in `Library` class and dxf reader
2020-10-16 19:00:50 -07:00
c6684936cf Improve docs, error messages, and type annotations 2020-09-26 17:33:46 -07:00
f51144ae6a misc doc/import/typing fixes 2020-09-20 16:32:17 -07:00
49a3b4e322 add support for annotations
and other fixes
2020-09-20 16:32:17 -07:00
d14182998b various fixes 2020-09-20 16:32:17 -07:00
629a6a9ba2 enable per-shape repetitions 2020-09-20 16:32:16 -07:00
bab40474a0 Add repetitions and split up code into traits 2020-09-20 16:32:16 -07:00
8302286a7a allow using a string for the layer
Can't use it in gdsii, but no reason to forbit it in masque...
2020-05-17 14:11:47 -07:00
6b09fc0c20 make section comments more prominent 2020-05-11 20:31:35 -07:00
a440f2e256 add Shape.set_layer() 2020-05-11 20:31:21 -07:00
c79eee2a8c Stricter locking (lock contained ndarrays and turn lists into tuples) 2020-05-11 19:29:00 -07:00
157df47884 Improve type annotations based on mypy errors 2020-05-11 19:09:35 -07:00
334633662e Remove extra __author__ declarations 2020-05-11 18:41:13 -07:00
df179c9233 Improve type annotations for layer 2020-05-11 18:39:02 -07:00
jan
5adabfd25a Docstring format change
(new param and return format)
Also some minor code formatting fixes in utils
2020-02-17 21:02:53 -08:00
e0db621595 allow locking of all objects 2019-12-13 21:18:31 -08:00
032c410b43 Add mirror_x to extrinsic properties
It's not implemented for Polygon shapes, since I haven't thought about
how to normalize those for reflection yet
2019-05-17 00:41:26 -07:00
16c6bfc70a Cosmetic changes to argument lists 2019-05-17 00:39:46 -07:00
38f64f7c62 Use __slots__ for class members
Also use the other sort of type hints for instance variables
2019-05-17 00:37:56 -07:00
9ab1372c7b Allow shapes to carry an arbitrary identifier (Tuple) 2019-05-13 23:55:14 -07:00
8fe8bbd655 Normalization-related fixes 2019-04-20 14:18:52 -07:00
e3586a4574 fix variable names (manhattanize_fast fixes) 2019-04-16 22:24:43 -07:00