27 Commits

Author SHA1 Message Date
11306dbb56 [Pather / RenderPather] move common functionality into PatherMixin; redo hierarchy
- (BREAKING change) Pather.mpath no longer wraps the whole bus into a
container, since this has no equivalent in RenderPather. Possible this
functionality will return in the future
- Removed `tool_port_names` arg from Pather functions
- In general RenderPather should be much closer to Pather now
2026-01-19 22:20:09 -08:00
fc9d4c6ba2 [pather] code style changes 2026-01-19 22:20:09 -08:00
385a37e0a2 [Pather] fix path_into for some 2-bend cases 2025-05-28 00:39:25 -07:00
cd60dcc765 add the toolctx() context manager to simplify temporary retool() calls 2025-02-25 21:09:04 -08:00
39d9b88fa4 flatten indentation where it makes sense 2024-07-28 20:31:29 -07:00
9d5b1ef5e6 type annotation updates 2024-07-28 19:44:04 -07:00
6ec94fb3c3 import Sequence et al from collections.abc not typing 2024-07-28 19:33:16 -07:00
jan
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
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
1f6d78386c pass kwargs down into tool's path() calls 2023-11-12 02:30:11 -08:00
jan
1bdb998085 Generalize underscore into SINGLE_USE_PREFIX 2023-10-15 23:01:47 -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
80e0c5daa8 path() should return a tree 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
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
jan
97ccd8c303 fix missing tools prop 2023-10-15 16:18:33 -07:00
jan
9bc8d29b85 renderbuilder fixes 2023-10-15 16:18:33 -07:00
jan
3028ea0941 pather fixes / type updates 2023-10-15 16:18:33 -07:00
jan
de0d35d3d7 cleanup 2023-10-15 16:18:33 -07:00
jan
1008b6aabd split pather into its own file 2023-10-15 16:18:33 -07:00