Mikolaj Wielgus
|
342081bbe5
|
Scale shapes imported from LibrePCB via DSN correctly
|
2026-05-24 21:41:08 +02:00 |
Mikolaj Wielgus
|
acd41dcb1d
|
Add `can2usb` from LibrePCB to test suite
|
2026-05-24 21:31:19 +02:00 |
Mikolaj Wielgus
|
f9ea3940d2
|
Load outlines to its own separate layer and group
|
2026-05-24 02:52:45 +02:00 |
Mikolaj Wielgus
|
ca517f62bd
|
Create layer groups, assign each layer to one of it
|
2026-05-24 00:04:14 +02:00 |
Mikolaj Wielgus
|
58be28cc8b
|
Move `topola/src/compounds/` directory under `topola/src/layout/`
|
2026-05-23 21:03:22 +02:00 |
Mikolaj Wielgus
|
a947a72a02
|
Encapsulate layer indices in new `LayerId` type
|
2026-05-23 20:28:57 +02:00 |
Mikolaj Wielgus
|
1b9673e3e7
|
Derive `From` on id types
|
2026-05-23 19:38:01 +02:00 |
Mikolaj Wielgus
|
c525af7fca
|
Apply `derive(Delta)` on `Board` instead of manually implementing
|
2026-05-22 01:26:53 +02:00 |
Mikolaj Wielgus
|
459c4b41ee
|
Add interfaces to move components
|
2026-05-20 15:15:33 +02:00 |
Mikolaj Wielgus
|
24af694c6b
|
Distinguish one layer as active
|
2026-05-19 23:54:10 +02:00 |
Mikolaj Wielgus
|
2ed6e13a50
|
Expand `layout.rs` into new module directory
|
2026-05-19 23:24:43 +02:00 |
Mikolaj Wielgus
|
692ec68ec2
|
Expand `board.rs` into a new module directory
|
2026-05-19 21:16:10 +02:00 |
Mikolaj Wielgus
|
d2d43b99c3
|
Implement function to resolve pin-with-layer selection to component selection
|
2026-05-19 16:00:55 +02:00 |
Mikolaj Wielgus
|
76bad7a2a0
|
Import and keep track of component names
|
2026-05-19 15:08:30 +02:00 |
Mikolaj Wielgus
|
25efbd1627
|
Rearrange and rename selections and compounds
|
2026-05-19 14:05:40 +02:00 |
Mikolaj Wielgus
|
e536e94039
|
Add new type of compound, component
|
2026-05-18 23:29:59 +02:00 |
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 |