Commit Graph

696 Commits

Author SHA1 Message Date
jan
08291da167 fixes 2023-10-15 16:18:33 -07:00
jan
68318a1382 add functions for dealing with the topcell and its name 2023-10-15 16:18:33 -07:00
jan
31cf0047e7 add mktree 2023-10-15 16:18:33 -07:00
jan
f0a71bfb8b redo library class naming 2023-10-15 16:18:33 -07:00
jan
a07446808a should be union; we want to exclude dangling refs 2023-10-15 16:18:33 -07:00
jan
340fe7f656 fixes to subtree and lshift, as well as some cast() improvements 2023-10-15 16:18:33 -07:00
jan
45265faec4 oneshot available at toplevel 2023-10-15 16:18:33 -07:00
jan
46a7f60460 add @oneshot decorator 2023-10-15 16:18:33 -07:00
jan
d7e89ef5c8 lshift operator shouldn't special-case trees
Instead, just call .tops() if there are multiple cells, and fail if
there are multiple tops
2023-10-15 16:18:33 -07:00
jan
0efd9afd16 find_toplevel -> tops 2023-10-15 16:18:33 -07:00
jan
64413f69d4 create no longer exists. Make mk() give similar ordering as mkpat() 2023-10-15 16:18:33 -07:00
jan
37e4c03547 fix return value 2023-10-15 16:18:33 -07:00
jan
94691dac85 top is always a string 2023-10-15 16:18:33 -07:00
jan
4eee4d19e9 cleanup 2023-10-15 16:18:33 -07:00
jan
cbfbdf66a1 get rid of NamedPattern in favor of just returning a tuple 2023-10-15 16:18:33 -07:00
9115371b19 Drop ports when repeating 2023-10-15 16:18:33 -07:00
cf634f1c16 port translation is already handled in Pattern 2023-10-15 16:18:33 -07:00
09291e58f7 drop ability to use python-gdsii 2023-10-15 16:18:33 -07:00
ea2eaa4603 fix rounding 2023-10-15 16:18:33 -07:00
b744a11e8e str(namedpattern) should just return its name 2023-10-15 16:18:33 -07:00
f54193edf0 updates to Pattern.polygonize() 2023-10-15 16:18:33 -07:00
59c8f47f4d update to newer ezdxf 2023-10-15 16:18:33 -07:00
e5ed28a854 Need to check against self, since we may add new conflicts as we go 2023-10-15 16:18:33 -07:00
b4f36417fd Pipe-operator does not support forward references 2023-10-15 16:18:33 -07:00
45081c2d31 add polygon() and label() convenience methods 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
ada8c591a0 fix error message 2023-10-15 16:18:33 -07:00
9d42df831e remove per-shape polygonization state 2023-10-15 16:18:33 -07:00
7befe89af3 fixes based on mypy 2023-10-15 16:18:33 -07:00
f766a3ad64 add prune_empty and delete() 2023-10-15 16:18:33 -07:00
85a2eb6acc fixes/updates 2023-10-15 16:18:33 -07:00
069dde3648 Drop ports by default 2023-10-15 16:18:33 -07:00
e0939049dd force 'wb' mode for gzipfile 2023-10-15 16:18:33 -07:00
88adc08259 data_to_ports max_depth default to 0
Makes it more compatible with LazyLibrary -- with recursive approach, we
have to load all the subcells to run ports2data, but those subcells may
or may not exist (e.g. partial library, or maybe we've removed some
duplicates-to-be prior to merging with a different lib)
2023-10-15 16:18:33 -07:00
4ab718d578 pass along library for bounds 2023-10-15 16:18:33 -07:00
f834aaee47 fix precache 2023-10-15 16:18:33 -07:00
27d87a988d redo library merging 2023-10-15 16:18:33 -07:00
6f97f7e6db pass along tools 2023-10-15 16:18:33 -07:00
d0f76d150f Make default quiet for underscores 2023-10-15 16:18:33 -07:00
5ffcadb362 always apply postprocess 2023-10-15 16:18:33 -07:00
2ccef554db misc fixes 2023-10-15 16:18:33 -07:00
d349aa3366 Revert "allow ports2data to take a tree"
This reverts commit 44f823c736.
LazyLibrary can't take Trees anymore, so no need for it.
2023-10-15 16:18:33 -07:00
680da46f5c LazyLibrary should not contain Trees
altering itself during iteration is not a good idea
2023-10-15 16:18:33 -07:00
59a986546c missing import 2023-10-15 16:18:33 -07:00
19ac45a4f4 fix type for __contains__ 2023-10-15 16:18:33 -07:00
db7a98bb0f allow ports2data to take a tree 2023-10-15 16:18:33 -07:00
8687badac5 misc fixes 2023-10-15 16:18:33 -07:00
4a6584a60a Only allow 1-sized Libraries 2023-10-15 16:18:33 -07:00
4a94259249 Allow lshift to operate on any library. If only one name, return it, else None 2023-10-15 16:18:33 -07:00