e7a1d1824a
add mktree
2023-04-07 18:13:21 -07:00
9c9d3c3928
redo library class naming
2023-04-07 18:08:42 -07:00
c7505a12b0
should be union; we want to exclude dangling refs
2023-04-07 16:55:50 -07:00
abef8771db
fixes to subtree and lshift, as well as some cast() improvements
2023-04-07 16:48:40 -07:00
f1baf8b577
oneshot available at toplevel
2023-04-07 16:33:59 -07:00
355af43fe4
add @oneshot decorator
2023-04-07 16:33:23 -07:00
e8b5c7dec8
lshift operator shouldn't special-case trees
...
Instead, just call .tops() if there are multiple cells, and fail if
there are multiple tops
2023-04-07 15:29:14 -07:00
438b81e62e
find_toplevel -> tops
2023-04-07 15:20:51 -07:00
41409cf4f7
create no longer exists. Make mk() give similar ordering as mkpat()
2023-04-06 17:09:46 -07:00
0a14325af8
fix return value
2023-04-06 17:06:41 -07:00
5b1abf5f72
top is always a string
2023-04-06 17:06:13 -07:00
463c41b62a
cleanup
2023-04-06 17:03:31 -07:00
62b82eb230
get rid of NamedPattern in favor of just returning a tuple
2023-04-06 16:52:01 -07:00
3e48cc7190
Drop ports when repeating
2023-03-31 13:35:18 -07:00
2364288ba7
port translation is already handled in Pattern
2023-03-31 13:34:49 -07:00
ddcd38674f
drop ability to use python-gdsii
2023-03-19 10:18:01 -07:00
742058885f
fix rounding
2023-03-19 10:17:37 -07:00
0917b02a31
str(namedpattern) should just return its name
2023-03-19 10:17:30 -07:00
c515ada2f8
updates to Pattern.polygonize()
2023-03-19 10:17:09 -07:00
68ac593270
update to newer ezdxf
2023-03-19 10:16:54 -07:00
e87b13c4eb
Need to check against self, since we may add new conflicts as we go
2023-02-24 09:34:26 -08:00
f5d1fd2c29
Pipe-operator does not support forward references
2023-02-23 16:23:06 -08:00
28424be3db
add polygon() and label() convenience methods
2023-02-23 13:42:26 -08:00
a710494dd8
use Self type
2023-02-23 13:37:34 -08:00
c9402500e2
modernize type annotations
2023-02-23 13:15:32 -08:00
dfd745a76b
fix error message
2023-02-23 11:26:07 -08:00
23c64b4f63
remove per-shape polygonization state
2023-02-23 11:25:40 -08:00
7a4a96ff5f
fixes based on mypy
2023-02-09 16:43:06 -08:00
3191866ce0
add prune_empty and delete()
2023-02-09 16:38:42 -08:00
8c42145e44
fixes/updates
2023-02-09 16:38:33 -08:00
1d720b6577
Drop ports by default
2023-02-08 09:26:44 -08:00
38a7ba6434
force 'wb' mode for gzipfile
2023-02-08 09:26:24 -08:00
2e8d06ad6e
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-02-08 08:51:30 -08:00
ea1a882c4e
pass along library for bounds
2023-02-08 08:46:38 -08:00
ed8f2c1864
fix precache
2023-02-08 08:44:42 -08:00
492565c1a6
redo library merging
2023-02-08 08:44:36 -08:00
c6b8027b4d
pass along tools
2023-02-08 08:44:17 -08:00
e8348dfa75
Make default quiet for underscores
2023-02-07 14:34:47 -08:00
81b381e031
always apply postprocess
2023-02-07 14:25:56 -08:00
cca6b90830
misc fixes
2023-02-07 14:24:34 -08:00
d079b44883
Revert "allow ports2data to take a tree"
...
This reverts commit 44f823c736
.
LazyLibrary can't take Trees anymore, so no need for it.
2023-02-07 09:19:01 -08:00
1d649389a0
LazyLibrary should not contain Tree
s
...
altering itself during iteration is not a good idea
2023-02-06 19:01:42 -08:00
dc2c12c26f
missing import
2023-02-06 19:00:56 -08:00
a1c4cdee1e
fix type for __contains__
2023-02-06 18:58:53 -08:00
44f823c736
allow ports2data to take a tree
2023-02-06 12:39:43 -08:00
9d466882a0
misc fixes
2023-02-06 12:11:53 -08:00
369bad9ae4
Only allow 1-sized Libraries
2023-02-04 09:28:53 -08:00
ee6d857cad
Allow lshift to operate on any library. If only one name, return it, else None
2023-02-04 09:08:05 -08:00
5e2018a1a1
add missing functions to tree
2023-02-04 09:06:51 -08:00
5446a8c40b
add Pather.mk()
2023-02-04 09:06:31 -08:00