e009417eed
[shapes] move to per-shape purpose-built _from_raw constructors
2026-06-20 16:23:08 -07:00
8d50f497f1
[repetition / others] copies should get their own repetitions
2026-03-31 22:15:21 -07:00
f34b9b2f5c
[Text] fixup bounds and normalized form
2026-03-31 21:22:35 -07:00
ff8ca92963
cleanup
2026-02-16 20:48:15 -08:00
51ced2fe83
[Text] use translate instead of offset
2026-02-15 00:07:43 -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
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
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
284c7e4fd0
Use quoted first arg for cast()
...
ruff rule TC006
2025-04-15 17:25:56 -07:00
da7118f521
misc cleanup
2024-07-29 03:13:36 -07:00
e159c80b0c
improve error generation and handling
2024-07-28 20:31:41 -07:00
8035daee7e
mark intentionally unused args
2024-07-28 20:31:41 -07:00
d5adf57bc6
fix repr outside of class
2024-07-28 19:35:44 -07:00
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
0618be91d4
delete some old code
2023-10-15 16:18:33 -07:00
91465b7175
don't keep track of y-mirroring separately from x
2023-10-15 16:18:33 -07:00
9a28e1617c
renderpather, get_bounds includes repetitions, Boundable
2023-10-15 16:18:33 -07:00
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
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
7ca017d993
wip again
2023-10-15 16:18:32 -07:00
7aaf73cb37
WIP: make libraries and names first-class!
2023-10-15 16:18:32 -07:00
4cc824526b
fix deepcopy for locked shapes
2022-04-17 19:04:18 -07:00
a4fe3d9e2e
Use ArrayLike and NDArray wherever possible. Some type fixes and some related corner cases
2022-02-23 15:47:38 -08:00
89f327ba37
reformat some multiline arg lists and add missing 'None' return types
2022-02-23 15:16:25 -08:00
886bd59726
should be casting with numpy.array() not .ndarray()
2021-06-22 19:00:43 -07:00
8e1c05cf73
add mirror2d() to Rotatable
2020-11-09 22:05:56 -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
c6684936cf
Improve docs, error messages, and type annotations
2020-09-26 17:33:46 -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
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
fa8fc52dd6
Improve consistency of ndarray members
2020-05-11 18:49:30 -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
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
2259e7987b
don't rename shape.to_polygons() args
2019-06-09 23:59:55 -07:00