6ec94fb3c3
import Sequence et al from collections.abc not typing
2024-07-28 19:33:16 -07:00
cda895a7d3
remove Builder.path() to avoid confusion with Pather.path()
2024-06-03 17:09:43 -07:00
6db4bb96db
Create an ordering for everything
...
In order to make layouts more reproducible
Also add pattern.sort() and file.utils.preflight_check()
optionally don't sort elements
elements aren't re-ordered that often, sorting them is slow, and the
sort criteria are arbitrary, so we might want to only sort stuff by name
2024-06-03 17:00:20 -07:00
30982d742b
make sure kwargs get passed into gen_straight()
2024-06-03 16:53:03 -07:00
447d4ba35b
improve path_into docs and error messages
2024-06-03 16:52:34 -07:00
70a51ed8ef
path_into should use destination port's ptype by default
2024-06-03 16:26:12 -07:00
8d122cbd2e
add path_into()
2024-03-30 18:01:08 -07:00
383b5a0bef
add plug_into arg
2023-11-24 23:55:39 -08:00
2516f06e40
add missing returns
2023-11-18 12:28:33 -08:00
1f6d78386c
pass kwargs down into tool's path() calls
2023-11-12 02:30:11 -08:00
41d670eef3
Add missing f for f-strings
2023-11-12 02:29:52 -08:00
55e3066485
Wrap Pattern functions for label, ref, polygon, etc.
2023-10-27 21:59:48 -07:00
9a7a5583ed
Add Tree/TreeView and allow Builder to ingest them
2023-10-20 23:14:47 -07:00
1bdb998085
Generalize underscore into SINGLE_USE_PREFIX
2023-10-15 23:01:47 -07:00
2229ee5d25
surface BasicTool and PathTool at top level
2023-10-15 16:24:20 -07:00
5f5c78455b
Add missing final vertex when the path ends in a bend
2023-10-15 16:18:34 -07:00
4de82ab2ba
fix transition calculation
2023-10-15 16:18:34 -07:00
5a6826f8e5
stop taking in base_name -- tools can set their own cell names
2023-10-15 16:18:34 -07:00
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
ceaa4923ef
fix broken import
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
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
f7f5a62f54
Update comments
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
97ccd8c303
fix missing tools prop
2023-10-15 16:18:33 -07:00
91465b7175
don't keep track of y-mirroring separately from x
2023-10-15 16:18:33 -07:00
9bc8d29b85
renderbuilder fixes
2023-10-15 16:18:33 -07:00
9a28e1617c
renderpather, get_bounds includes repetitions, Boundable
2023-10-15 16:18:33 -07:00
93ab0a942d
misc fixes
2023-10-15 16:18:33 -07:00
9a077ea2df
move to dicty layers and targets
2023-10-15 16:18:33 -07:00
6b240de268
delete FlatBuilder (Builder subsumes it)
2023-10-15 16:18:33 -07:00
3028ea0941
pather fixes / type updates
2023-10-15 16:18:33 -07:00
5f24ceb13f
add RenderPather
2023-10-15 16:18:33 -07:00
de0d35d3d7
cleanup
2023-10-15 16:18:33 -07:00
1008b6aabd
split pather into its own file
2023-10-15 16:18:33 -07:00
f0a71bfb8b
redo library class naming
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
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
cf634f1c16
port translation is already handled in Pattern
2023-10-15 16:18:33 -07:00
4482ede3a7
use Self type
2023-10-15 16:18:33 -07:00