bfd81f777c
Cleanup based on flake8 lint
2023-10-15 16:18:34 -07:00
dec084818a
some further work on Tool interface
2023-10-15 16:18:34 -07:00
590b6b36bd
No need for Builder
2023-10-15 16:18:34 -07:00
80e0c5daa8
path() should return a tree
2023-10-15 16:18:34 -07:00
5001664547
doc updates
2023-10-15 16:18:34 -07:00
333b21ecf4
more design pattern docs
2023-10-15 16:18:34 -07:00
0aa4a6ee7a
doc updates
2023-10-15 16:18:34 -07:00
fa7a850ec3
Add some notes on shorthand
2023-10-15 16:18:34 -07:00
621f8420f8
comment grammar
2023-10-15 16:18:34 -07:00
a3b356ac14
save new name on a separate line, for debugging convenience
2023-10-15 16:18:34 -07:00
2f9c7e61ee
add <= operator for library (returns an Abstract)
2023-10-15 16:18:34 -07:00
3245de99b3
Add NoReturn __contains__ with a more descriptive error message
2023-10-15 16:18:34 -07:00
c02c2f90ef
add mkport() for safely making ports
2023-10-15 16:18:34 -07:00
772e42ebf1
references to Pattern should be forward references
2023-10-15 16:18:34 -07:00
8d2d1ffd50
Allow Pattern.ref() to take an Abstract
2023-10-15 16:18:34 -07:00
ceaa4923ef
fix broken import
2023-10-15 16:18:34 -07:00
f40c74adb5
improve docs and variable names
2023-10-15 16:18:34 -07:00
9de382b856
Fix major bugs in presort
2023-10-15 16:18:34 -07:00
169e5a1f12
Lots of doc updates
2023-10-15 16:18:34 -07:00
d79a0a6388
get rid of Pather.mk()
2023-10-15 16:18:34 -07:00
6975787717
remove unused import
2023-10-15 16:18:34 -07:00
c4ff53a0ba
fix isinstance call arg order
2023-10-15 16:18:34 -07:00
3415a16cd1
Give a more explicit error message
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
8fe7b14f4b
repr updates
2023-10-15 16:18:34 -07:00
086d07a82d
Add the option to use explicit x= or y= in path_to
2023-10-15 16:18:33 -07:00
d02ea400a0
Move plug/place/interface to Pattern
...
Since Pattern has ports already, these should live in Pattern and get
wrapped elsewhere. Builder becomes a context-holder (holding .library
and .dead) and some code duplication goes away.
2023-10-15 16:18:33 -07:00
4bca0e2638
clean some old code
2023-10-15 16:18:33 -07:00
33377df883
add notes about ports
2023-10-15 16:18:33 -07:00
63e8f0b10e
fix old variable name
2023-10-15 16:18:33 -07:00
99f3b0871a
missing import
2023-10-15 16:18:33 -07:00
d5608786ea
Remove more mentions of AutoSlots
2023-10-15 16:18:33 -07:00
6866d44021
simplify imports and use new approach
2023-10-15 16:18:33 -07:00
a2cc94794e
don't need to deepcopy twice
2023-10-15 16:18:33 -07:00
c2008f2719
Improve arc arclength estimation (untested)
2023-10-15 16:18:33 -07:00
e2c7f8c8cc
various doc updates
2023-10-15 16:18:33 -07:00
04e15f7c85
use retstep instead of subtracting
2023-10-15 16:18:33 -07:00
a5ddfc76ca
speed up get_bounds when called on a manhattan ref
2023-10-15 16:18:33 -07:00
0c0012def0
find_ptransform -> find_port_transform
2023-10-15 16:18:33 -07:00
468322ceb9
add has_ports()
2023-10-15 16:18:33 -07:00
d4bb466ad9
add mutate_other arg
2023-10-15 16:18:33 -07:00
e6ff6daa32
move __repr__ higher
2023-10-15 16:18:33 -07:00
f7f5a62f54
Update comments
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
efac8efa90
update some examples
2023-10-15 16:18:33 -07:00
31d97d8df0
add retool()
2023-10-15 16:18:33 -07:00
3b2be804e2
Only remove existing ports
2023-10-15 16:18:33 -07:00
b443a2a41e
add prune_layers and prune_refs
2023-10-15 16:18:33 -07:00