Commit Graph

77 Commits

Author SHA1 Message Date
Mikolaj Wielgus d5d2ffd9d8 layout: inflate infringement-testing shapes and bboxes
This results in unintentional infringements of linked traces. I'll fix
this in subsequent commits by increasing the number of
2024-02-10 00:41:46 +00:00
Mikolaj Wielgus b66995b30c shape,layout: restore and fix bend-seg collision detection 2024-02-08 18:11:34 +00:00
Mikolaj Wielgus 7fdf90b126 layout: fix misalignment of shifted bends 2024-02-08 00:00:24 +00:00
Mikolaj Wielgus 850941715e router,layout,draw: remove hardcoded widths 2024-02-07 00:00:57 +00:00
Mikolaj Wielgus fd73531687 layout: store rotation direction as joint order instead of in weights 2024-02-06 05:30:53 +00:00
Mikolaj Wielgus a395da4740 rules: use net as one of the conditions instead of netclass 2024-02-05 23:57:24 +00:00
Mikolaj Wielgus 17209c2a65 draw,layout: create an interface for accessing conditions 2024-02-05 02:53:31 +00:00
Mikolaj Wielgus e5ddf47eb3 draw,guide: construct guides from rules 2024-02-03 23:19:47 +00:00
Mikolaj Wielgus d2ff1826a0 layout: attach `Rules` storing design rules to `Layout` 2024-02-02 23:58:23 +00:00
Mikolaj Wielgus 01d285efb0 layout: move guide, segbend files to layout module 2024-02-01 22:23:04 +00:00
Mikolaj Wielgus 847309adae geometry: make the R-tree private with read-only ref getter 2024-02-01 00:40:06 +00:00
Mikolaj Wielgus 4be2a0ca73 layout,geometry: move R-tree code to a new file in geometry module 2024-01-31 22:15:20 +00:00
Mikolaj Wielgus 39bd393ff7 geometry: make graph private, encapsulate all mutating usage of it 2024-01-30 19:00:16 +00:00
Mikolaj Wielgus 410b029eb3 geometry: move shape to geometry module 2024-01-30 02:06:22 +00:00
Mikolaj Wielgus 8b1d95491d layout: move `GeometryIndex` and `GeometryWeight` to own file 2024-01-30 01:51:19 +00:00
Mikolaj Wielgus 43df065120 layout: move connectivity, band, loose to layout module 2024-01-30 00:43:56 +00:00
Mikolaj Wielgus ca23d45673 geometry: move `Geometry` to a new module that is one level deeper 2024-01-30 00:03:01 +00:00
Mikolaj Wielgus 7f044f018f layout,geometry: move bend reattachment to `Geometry` 2024-01-29 20:46:13 +00:00
Mikolaj Wielgus 67f985c980 geometry,primitive: move code for finding segs and bends to `Geometry` 2024-01-29 02:25:32 +00:00
Mikolaj Wielgus 684d0be641 geometry,primitive: move more code and narrow typing further
We replace all instances of `NodeIndex<usize>` in public interfaces of
`Geometry` except for `.first_rail()`, for which we make a dirty
exception.

We also improve terminology a bit:

- "joint" is renamed to "connection",
- "end" is renamed to "joint",
- "leg" is renamed to "limb".
2024-01-29 01:34:06 +00:00
Mikolaj Wielgus 87705653bd geometry: use narrower types for returned adjacents 2024-01-28 20:53:36 +00:00
Mikolaj Wielgus 4c3d0062b0 geometry,primitive: move first rail, core, inner, outer to `Geometry` 2024-01-28 18:25:02 +00:00
Mikolaj Wielgus 4bb513ee08 cleanup: remove unused imports and traits 2024-01-28 15:01:13 +00:00
Mikolaj Wielgus 59180cc600 primitive,geometry: move bend shape-making code to `Geometry` too 2024-01-28 14:53:26 +00:00
Mikolaj Wielgus c855853a79 primitive,geometry: move dot, seg shape-making code to `Geometry`
We still need to move the code for bends -- but that's for tomorrow.
2024-01-28 00:35:16 +00:00
Mikolaj Wielgus d35d8cd8dc geometry: parameterize `Geometry` with general weights and dot weights 2024-01-27 20:09:13 +00:00
Mikolaj Wielgus 3fe54290c6 geometry: rename geometry submodule to layout, small typing changes 2024-01-27 16:20:04 +00:00