Commit Graph

692 Commits

Author SHA1 Message Date
jan
d6ab8a1f34 Bump version to v3.0. Note that MAJOR BREAKING CHANGES were introduced almost everywhere in this version -- see the readme to understand how everything works now. 2023-10-15 23:12:33 -07:00
jan
83e82db5da doc typo 2023-10-15 23:10:58 -07:00
jan
73ce794fec import pack2d by default 2023-10-15 23:07:37 -07:00
jan
3a6807707b Add more docs 2023-10-15 23:07:28 -07:00
jan
1bdb998085 Generalize underscore into SINGLE_USE_PREFIX 2023-10-15 23:01:47 -07:00
jan
668d4b5d8b docstring updates 2023-10-15 18:31:58 -07:00
jan
2229ee5d25 surface BasicTool and PathTool at top level 2023-10-15 16:24:20 -07:00
jan
6ba44e375b remove todo 2023-10-15 16:21:51 -07:00
jan
f12f14e087 Add RenderPather tutorial, tutorial README, and some minor doc updates 2023-10-15 16:18:34 -07:00
jan
ef3bec01ce Replicate routing using paths 2023-10-15 16:18:34 -07:00
jan
5f5c78455b Add missing final vertex when the path ends in a bend 2023-10-15 16:18:34 -07:00
jan
1c7b0ce5e1 Start working on a pather tutorial 2023-10-15 16:18:34 -07:00
jan
8c14401788 add Library.map_layers 2023-10-15 16:18:34 -07:00
jan
4de82ab2ba fix transition calculation 2023-10-15 16:18:34 -07:00
jan
5a6826f8e5 stop taking in base_name -- tools can set their own cell names 2023-10-15 16:18:34 -07:00
jan
bfd81f777c Cleanup based on flake8 lint 2023-10-15 16:18:34 -07:00
jan
dec084818a some further work on Tool interface 2023-10-15 16:18:34 -07:00
jan
590b6b36bd No need for Builder 2023-10-15 16:18:34 -07:00
jan
80e0c5daa8 path() should return a tree 2023-10-15 16:18:34 -07:00
jan
5001664547 doc updates 2023-10-15 16:18:34 -07:00
jan
333b21ecf4 more design pattern docs 2023-10-15 16:18:34 -07:00
jan
0aa4a6ee7a doc updates 2023-10-15 16:18:34 -07:00
jan
fa7a850ec3 Add some notes on shorthand 2023-10-15 16:18:34 -07:00
jan
621f8420f8 comment grammar 2023-10-15 16:18:34 -07:00
jan
a3b356ac14 save new name on a separate line, for debugging convenience 2023-10-15 16:18:34 -07:00
jan
2f9c7e61ee add <= operator for library (returns an Abstract) 2023-10-15 16:18:34 -07:00
jan
3245de99b3 Add NoReturn __contains__ with a more descriptive error message 2023-10-15 16:18:34 -07:00
jan
c02c2f90ef add mkport() for safely making ports 2023-10-15 16:18:34 -07:00
jan
772e42ebf1 references to Pattern should be forward references 2023-10-15 16:18:34 -07:00
jan
8d2d1ffd50 Allow Pattern.ref() to take an Abstract 2023-10-15 16:18:34 -07:00
jan
ceaa4923ef fix broken import 2023-10-15 16:18:34 -07:00
jan
f40c74adb5 improve docs and variable names 2023-10-15 16:18:34 -07:00
jan
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
jan
63e8f0b10e fix old variable name 2023-10-15 16:18:33 -07:00
jan
99f3b0871a missing import 2023-10-15 16:18:33 -07:00
jan
d5608786ea Remove more mentions of AutoSlots 2023-10-15 16:18:33 -07:00
jan
6866d44021 simplify imports and use new approach 2023-10-15 16:18:33 -07:00
jan
a2cc94794e don't need to deepcopy twice 2023-10-15 16:18:33 -07:00