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