70 Commits

Author SHA1 Message Date
fcb470a02c use cast() to clarify some type checker complaints 2025-02-25 21:09:04 -08:00
73193473df Fixup arclength calculation for wedges (or other thick arcs) 2024-10-05 11:24:40 -07:00
ef6c5df386 be more consistent about when copies are made 2024-07-29 03:13:23 -07:00
810a09f18b simplify comparison 2024-07-28 20:34:25 -07:00
48ffc9709e double quotes for docstrings 2024-07-28 20:31:41 -07:00
38e9d5c250 use strict zip 2024-07-28 20:31:41 -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
7f927c46b3 another arc fix 2023-10-27 23:31:22 -07:00
c7736a18c3 add missing arc endpoints 2023-10-27 21:55:17 -07:00
jan
bfd81f777c Cleanup based on flake8 lint 2023-10-15 16:18:34 -07:00
0ea3b6625f add missing end condition 2023-10-15 16:18:34 -07:00
272cfb7e48 fix arclength calculations giving invalid values or non-integral steps 2023-10-15 16:18:34 -07:00
jan
63e8f0b10e fix old variable name 2023-10-15 16:18:33 -07:00
jan
c2008f2719 Improve arc arclength estimation (untested) 2023-10-15 16:18:33 -07:00
04e15f7c85 use retstep instead of subtracting 2023-10-15 16:18:33 -07:00
e47f9b76b1 remove TODO labels from mypy #3004 comments 2023-10-15 16:18:33 -07:00
b872e19dec Improve arclength calculation for elliptical arcs 2023-10-15 16:18:33 -07:00
jan
91465b7175 don't keep track of y-mirroring separately from x 2023-10-15 16:18:33 -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
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
963918d1d9 various fixes and cleanup
mainly involving ports_to_data and data_to_ports
2023-10-15 16:18:32 -07:00
6b01b43559 flake8-aided fixes 2023-10-15 16:18:32 -07:00
jan
d9ae8dd6e3 wip 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
b188589b60 Fix / simplify some cases where the arc is a sector 2022-06-08 21:12:39 -07:00
jan
4cc824526b fix deepcopy for locked shapes 2022-04-17 19:04:18 -07: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
bce3d9f37c Avoid placing duplicate vertices when polygonizing an arc 2020-12-20 20:40:59 -08:00
b7383a30ca fix mirroring across y for arcs and ellipses 2020-12-05 14:49:57 -08: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
0e04633f61 Force use of keyword args on most constructors 2020-09-20 16:32:17 -07:00
49a3b4e322 add support for annotations
and other fixes
2020-09-20 16:32:17 -07:00
f57ccc073d add raw arg, which skips setter funcs 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
0fa073b488 Make sure linspace gets an integer number of points 2020-07-21 20:38:38 -07:00
c236fdb81b Add __repr__ methods to most objects`
These are closer to what __str__ should be and will likely change in the
future.
2020-05-11 20:31:07 -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
25c9e591cb shapes: unlock before modifying during deepcopy 2019-12-13 21:18:31 -08:00
e0db621595 allow locking of all objects 2019-12-13 21:18:31 -08:00