136 Commits

Author SHA1 Message Date
abd2d18bca [AutoTool / SimpleTool] remove append arg 2026-01-19 22:13:54 -08:00
1cf8f769fc [SimpleTool/AutoTool] clarify some error messages 2026-01-19 22:13:54 -08:00
1d1a4a0e32 [AutoTool/SimpleTool/BasicTool] Rename BasicTool->SimpleTool and remove transition handling. Export AutoTool and SimpleTool at top level. 2026-01-19 22:13:54 -08:00
eff538f348 [AutoTool] pass in kwargs to straight fn call 2026-01-19 22:13:54 -08:00
c65bc3bfd5 [AutoTool] consolidate duplicate code for path() and render() 2026-01-19 22:13:54 -08:00
1ebd4d5b3b [AutoTool] add add_complementary_transitions() 2026-01-19 22:13:54 -08:00
9cb51e86e5 [AutoTool] Use more dataclasses to clarify internal code 2026-01-19 22:13:54 -08:00
15b3599b3e [AutoTool] support min/max length for straight segments 2026-01-19 22:13:54 -08:00
bb75c7addb [BasicTool/AutoTool] fix port orientation for straight segments when using RenderPather 2026-01-19 22:13:54 -08:00
b7c20c74a8 [AutoTool] Add first pass for AutoTool 2026-01-19 22:13:54 -08:00
4f6c91ebdb [RenderPather] add wrapped label/ref/polygon/rect functions 2026-01-19 22:13:54 -08:00
667885b195 [Pather/RenderPather/PatherMixin] clean up imports 2026-01-19 22:13:54 -08:00
b02ba3ef01 [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:13:54 -08:00
890ba03340 [pather] code style changes 2026-01-19 22:13:54 -08:00
e20bcdc79f [BasicTool] enable straight to handle trees (not just flat patterns) 2026-01-19 22:13:54 -08:00
a16deaf0cf [builder.tools] Handle in_ptype=None 2026-01-19 22:13:54 -08:00
ad00ade097 [Tool] correctly set input ptype 2025-05-28 00:39:44 -07:00
385a37e0a2 [Pather] fix path_into for some 2-bend cases 2025-05-28 00:39:25 -07:00
jan
284c7e4fd0 Use quoted first arg for cast()
ruff rule TC006
2025-04-15 17:25:56 -07:00
0e34242ba5 misc type hint fixes 2025-03-03 00:52:04 -08:00
cd60dcc765 add the toolctx() context manager to simplify temporary retool() calls 2025-02-25 21:09:04 -08:00
93471a221c add ok_connections arg to allow plugging mismatched ports without warnings 2025-02-25 21:09:04 -08:00
62fc64c344 iteration and collection simplifications 2024-07-28 20:31:41 -07:00
38e9d5c250 use strict zip 2024-07-28 20:31:41 -07:00
8035daee7e mark intentionally unused args 2024-07-28 20:31:41 -07:00
4c69e773fd pass kwargs down into gen_straight() 2024-07-28 20:31:41 -07: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
4c721feaec re-exports: import x as x 2024-07-28 19:34:17 -07:00
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
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
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
jan
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
jan
9a7a5583ed Add Tree/TreeView and allow Builder to ingest them 2023-10-20 23:14:47 -07:00
jan
1bdb998085 Generalize underscore into SINGLE_USE_PREFIX 2023-10-15 23:01:47 -07:00
jan
2229ee5d25 surface BasicTool and PathTool at top level 2023-10-15 16:24:20 -07:00
jan
5f5c78455b Add missing final vertex when the path ends in a bend 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