Commit graph

42 commits

Author SHA1 Message Date
jan
a89f07c441 [Port] add describe() for logging 2026-03-07 23:36:14 -08:00
jan
7ad59d6b89 [boolean] Add basic boolean functionality (boolean() and Polygon.boolean()) 2026-02-16 17:42:19 -08:00
jan
cf822c7dcf [Port] add more logging to aid in debug 2026-02-16 12:23:40 -08:00
jan
abf236a046 [mirror / flip_across] improve documentation 2026-02-15 19:46:47 -08:00
48f7569c1f [traits] Formalize Flippable and Pivotable depending on Positionable 2026-02-15 14:34:10 -08:00
8a56679884 Clean up types/imports 2026-02-15 12:40:47 -08:00
2b7ad00204 [Port] add custom __deepcopy__ 2026-02-15 00:57:47 -08:00
2d63e72802 fixup! [Mirrorable / Flippable] Bifurcate mirror into flip (relative to line) vs mirror (relative to own offset/origin) 2026-02-15 00:49:34 -08:00
44986bac67 [Mirrorable / Flippable] Bifurcate mirror into flip (relative to line) vs mirror (relative to own offset/origin) 2026-02-15 00:05:53 -08:00
jan
c366add952 [Port] mirror() should not mirror port position, only orientation 2026-01-19 22:20:09 -08:00
jan
bc8c0ee580 add some whitespace 2026-01-19 22:20:09 -08:00
3593b4aec7 [Port] add Port.measure_travel() 2026-01-19 22:20:09 -08:00
6a494b99a0 [ports] make port mismatch deltas more obvious 2026-01-19 22:20:09 -08:00
705a1cef78 [error, ports] Make stack traces more directly reflect teh location of the issue 2026-01-19 22:20:09 -08:00
b8ab3b91f5 misc cleanup: variable naming, typing, comments 2026-01-19 22:20:09 -08:00
0c04bf8ea3 Various type-checking improvements 2026-01-19 22:20:09 -08:00
93471a221c add ok_connections arg to allow plugging mismatched ports without warnings 2025-02-25 21:09:04 -08:00
4e862d6853 cleanup 2024-12-12 23:47:46 -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
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
jan
94aa853a49 add plugged() for manually-aligned ports 2024-06-03 16:57:07 -07:00
bb054b9eee port .copy() should deepcopy 2024-06-03 16:54:25 -07:00
jan
7353617878 add .x and .y aliases for .offset 2023-10-20 23:19:28 -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
0c0012def0 find_ptransform -> find_port_transform 2023-10-15 16:18:33 -07:00
jan
91465b7175 don't keep track of y-mirroring separately from x 2023-10-15 16:18:33 -07:00
jan
2ed868ec25 split out find_ptransform (static version, only need ports) 2023-10-15 16:18:33 -07:00
4482ede3a7 use Self type 2023-10-15 16:18:33 -07:00
1463535676 modernize type annotations 2023-10-15 16:18:33 -07:00
a35bf9770a Default to adding ports at the origin 2023-10-15 16:18:32 -07:00
5452bc5608 more fixes and improvements 2023-10-15 16:18:32 -07:00
f4537a0feb Lots of progress on tutorials 2023-10-15 16:18:32 -07:00
e812c69bfb get rid of Mapping stuff on PortsList 2023-10-15 16:18:32 -07:00
6b01b43559 flake8-aided fixes 2023-10-15 16:18:32 -07:00
557c6c98dc more wip -- most central stuff is first pass done 2023-10-15 16:18:32 -07:00
6549faddbb wip -- more fixes 2023-10-15 16:18:32 -07:00
jan
9efb6f0eeb wip 2023-10-15 16:18:32 -07:00