340fe7f656
fixes to subtree and lshift, as well as some cast() improvements
2023-10-15 16:18:33 -07:00
45265faec4
oneshot available at toplevel
2023-10-15 16:18:33 -07:00
46a7f60460
add @oneshot decorator
2023-10-15 16:18:33 -07:00
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
0efd9afd16
find_toplevel -> tops
2023-10-15 16:18:33 -07:00
64413f69d4
create no longer exists. Make mk() give similar ordering as mkpat()
2023-10-15 16:18:33 -07:00
37e4c03547
fix return value
2023-10-15 16:18:33 -07:00
94691dac85
top is always a string
2023-10-15 16:18:33 -07:00
4eee4d19e9
cleanup
2023-10-15 16:18:33 -07:00
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 Tree
s
...
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
7cc732248e
add missing functions to tree
2023-10-15 16:18:33 -07:00
98728521fd
add Pather.mk()
2023-10-15 16:18:33 -07:00
460222ce6e
add name arg
2023-10-15 16:18:33 -07:00
f1a380b170
pather reorganization/clenaup
2023-10-15 16:18:33 -07:00
38585e5a9e
add lshift operator to MutableLibrary
2023-10-15 16:18:33 -07:00