a89f07c441
[Port] add describe() for logging
2026-03-07 23:36:14 -08:00
7ad59d6b89
[boolean] Add basic boolean functionality (boolean() and Polygon.boolean())
2026-02-16 17:42:19 -08:00
cf822c7dcf
[Port] add more logging to aid in debug
2026-02-16 12:23:40 -08:00
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
c366add952
[Port] mirror() should not mirror port position, only orientation
2026-01-19 22:20:09 -08:00
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
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
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
7353617878
add .x and .y aliases for .offset
2023-10-20 23:19:28 -07:00
3245de99b3
Add NoReturn __contains__ with a more descriptive error message
2023-10-15 16:18:34 -07:00
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
91465b7175
don't keep track of y-mirroring separately from x
2023-10-15 16:18:33 -07:00
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
9efb6f0eeb
wip
2023-10-15 16:18:32 -07:00