Mikolaj Wielgus
|
bc5e205b90
|
Move nets and pins to separate directory, `compounds`
|
2026-05-18 22:41:57 +02:00 |
Mikolaj Wielgus
|
b05c31f767
|
Use `Index` instead of `Get` with unwrap
|
2026-05-18 21:52:26 +02:00 |
Mikolaj Wielgus
|
79f859f8cb
|
Add (not yet used) private interface to modify joints without segment, via updates
|
2026-05-18 21:09:47 +02:00 |
Mikolaj Wielgus
|
618905f56d
|
Add interfaces to modify joints, segments, vias, polygons
|
2026-05-18 17:02:31 +02:00 |
Mikolaj Wielgus
|
b2a75fd520
|
Split `Joint` into input `JointSpec` and actually stored `Joint`
|
2026-05-18 15:02:44 +02:00 |
Mikolaj Wielgus
|
7f67a24808
|
Update `undoredo` to 0.10
|
2026-05-18 14:21:06 +02:00 |
Mikolaj Wielgus
|
272bdb326d
|
Split `Via` into input `ViaSpec` and actually stored `Via`
|
2026-05-17 03:01:59 +02:00 |
Mikolaj Wielgus
|
258b43267d
|
Distribute `primitives.rs` into multiple files
|
2026-05-17 02:34:23 +02:00 |
Mikolaj Wielgus
|
67f3426586
|
Split `Segment` into full `Segment` and input `SegmentSpec`
|
2026-05-17 02:18:42 +02:00 |
Mikolaj Wielgus
|
36004b155b
|
Explain in comments how to point-in-polygon checking method works
|
2026-05-16 21:07:42 +02:00 |
Mikolaj Wielgus
|
fc3857072c
|
Wrap `NavmesherBoard` inside new `Router` struct
|
2026-03-21 11:52:55 +01:00 |
Mikolaj Wielgus
|
fa6c1ca522
|
Don't connect different-net primitives with ratlines
|
2026-03-20 20:01:46 +01:00 |
Mikolaj Wielgus
|
1dc6519722
|
Display primitives in reverse order of layers
|
2026-03-20 20:01:46 +01:00 |
Mikolaj Wielgus
|
780f1f9d11
|
Add separate methods to find all layer joints, segments, polygons
|
2026-03-20 20:01:46 +01:00 |
Mikolaj Wielgus
|
9ea602baa4
|
Restore `NavmesherBoard` type, put it inside `Autorouter`
|
2026-03-20 20:01:46 +01:00 |
Mikolaj Wielgus
|
657d33ac6e
|
Display ratsnest
|
2026-03-20 20:01:46 +01:00 |
Mikolaj Wielgus
|
07427a3831
|
Rename `NavmesherBoard` to `Autorouter`, move it to own file
|
2026-03-19 22:37:33 +01:00 |
Mikolaj Wielgus
|
7f4d3eb420
|
Add ratsnest generation (not used yet)
|
2026-03-19 21:46:04 +01:00 |
Mikolaj Wielgus
|
f351728762
|
Add Kruskal's minimum spanning tree algorithm
|
2026-03-19 19:50:50 +01:00 |
Mikolaj Wielgus
|
a4d13a3435
|
Do some renamings, some changes in `Cargo.toml`
|
2026-03-19 14:27:32 +01:00 |
Mikolaj Wielgus
|
2f52c1e236
|
Add method to calculate polygon centroid
|
2026-03-19 14:12:54 +01:00 |
Mikolaj Wielgus
|
603160f660
|
Relicense to MIT OR Apache-2.0
|
2026-03-19 11:32:22 +01:00 |
Mikolaj Wielgus
|
f9e6c1bdda
|
Add methods to add multivertices to navmesher
|
2026-03-19 11:20:54 +01:00 |
Mikolaj Wielgus
|
1b84eea06b
|
Rename "navpolygon" to "obstacle"
|
2026-03-18 15:04:47 +01:00 |
Mikolaj Wielgus
|
78b7d9ddbf
|
Keep index to each primitive's navpolygon
|
2026-03-17 16:06:41 +01:00 |
Mikolaj Wielgus
|
630e7a49d3
|
Simplify code in `navmesher.rs` a bit
|
2026-03-17 14:04:31 +01:00 |
Mikolaj Wielgus
|
50b7dc26b0
|
Use `Vector2<i64>` instead of `[i64; 2]` in `navmesher.rs`
|
2026-03-17 13:19:08 +01:00 |
Mikolaj Wielgus
|
41dd0a91f8
|
Revert "Store primitive id for each navpolygon to go back from navmesh to board"
This reverts commit 269e14645e.
|
2026-03-16 22:28:25 +01:00 |
Mikolaj Wielgus
|
269e14645e
|
Store primitive id for each navpolygon to go back from navmesh to board
|
2026-03-16 22:05:25 +01:00 |
Mikolaj Wielgus
|
6a1ce72923
|
Bump `dearcut` version to 0.3.0
|
2026-03-16 21:11:00 +01:00 |
Mikolaj Wielgus
|
990462d046
|
Fix Specctra DSN parsing errors
|
2026-03-15 01:24:06 +01:00 |
Mikolaj Wielgus
|
2e56d20065
|
Highlight primitives of selected pins
|
2026-03-15 00:51:20 +01:00 |
Mikolaj Wielgus
|
a71df91fc1
|
Toggle pin in pin selection upon click
|
2026-03-14 23:31:29 +01:00 |
Mikolaj Wielgus
|
13c7bbb061
|
Find pin selector of what is under mouse pointer
|
2026-03-14 22:04:08 +01:00 |
Mikolaj Wielgus
|
6992369041
|
Filter out bbox-located primitives for which hit-test fails
|
2026-03-14 18:55:19 +01:00 |
Mikolaj Wielgus
|
7aed12dda9
|
Add method to check if polygon contains point
|
2026-03-14 18:40:19 +01:00 |
Mikolaj Wielgus
|
2fc3b25fec
|
Use `Vector2<i64>` instead of `[i64; 2]`
|
2026-03-14 18:33:58 +01:00 |
Mikolaj Wielgus
|
68eafc1059
|
Add methods to locate joints, segments, polygons at point (bbox-only for now)
|
2026-03-14 14:17:45 +01:00 |
Mikolaj Wielgus
|
95694ac931
|
Display bboxes of primitives
|
2026-03-14 12:37:55 +01:00 |
Mikolaj Wielgus
|
7b5bffada8
|
Place joints, segments, polygons in R-trees
|
2026-03-14 00:12:43 +01:00 |
Mikolaj Wielgus
|
ce5634ee6a
|
Revert "Keep track of primitive id associated with navpolygon"
This reverts commit 965080b8db.
|
2026-03-13 23:23:14 +01:00 |
Mikolaj Wielgus
|
965080b8db
|
Keep track of primitive id associated with navpolygon
|
2026-03-13 22:56:46 +01:00 |
Mikolaj Wielgus
|
4afd0d7e3d
|
Move primitives to new file and add enum to group them together
|
2026-03-13 19:46:02 +01:00 |
Mikolaj Wielgus
|
5113f30fd5
|
Add selector and selection data structures
|
2026-03-13 14:50:33 +01:00 |
Mikolaj Wielgus
|
d77be1b0b3
|
Optionally assign primitives to pins
|
2026-03-13 13:36:14 +01:00 |
Mikolaj Wielgus
|
3f362d62c3
|
Wrap net ids in `NetId` type
|
2026-03-13 11:22:40 +01:00 |
Mikolaj Wielgus
|
3f6073af03
|
Use board boundary as navmesh superpolygon instead of generating it
|
2026-03-12 18:52:24 +01:00 |
Mikolaj Wielgus
|
e36b631029
|
Underestimate instead of overestimating segment length
|
2026-03-11 21:11:21 +01:00 |
Mikolaj Wielgus
|
ab30432f6b
|
Insert segments in navmesh
|
2026-03-11 21:04:52 +01:00 |
Mikolaj Wielgus
|
13b97f84d6
|
Insert polygon pads in navmesh
|
2026-03-11 19:17:44 +01:00 |