Commit Graph

1404 Commits

Author SHA1 Message Date
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
Mikolaj Wielgus f3112dd886 Display navmeshes 2026-03-11 18:58:19 +01:00
Mikolaj Wielgus 09e1e35151 Wrap `Board` in `NavmesherBoard` 2026-03-11 10:26:23 +01:00
Mikolaj Wielgus a8e14753d9 Import wires and vias of wiring 2026-03-11 09:06:33 +01:00
Mikolaj Wielgus 058f86f9c2 Remove implementation of arcs 2026-03-11 08:59:55 +01:00
Mikolaj Wielgus 8cd52ca75c Flip components if flipped in Specctra DSN 2026-03-11 08:30:52 +01:00
Mikolaj Wielgus fde7b163df Add appearance panel, show only enabled layers 2026-03-11 00:49:33 +01:00
Mikolaj Wielgus 8a50e70a6a Load layers to primitives 2026-03-10 22:18:31 +01:00
Mikolaj Wielgus 5e6ddac19f Import and display segments in pads 2026-03-10 18:08:56 +01:00
Mikolaj Wielgus d9927d1231 Add and display polygons 2026-03-10 14:23:55 +01:00
Mikolaj Wielgus b07c770aee Remove commit formatting check for now 2026-03-10 13:51:36 +01:00
Mikolaj Wielgus 4264d2c52d feat(topola/specctra): Insert and display rectangular pins 2026-03-10 13:48:59 +01:00
Mikolaj Wielgus c927ad281f Add polygon insertion 2026-03-10 13:13:38 +01:00
Mikolaj Wielgus f4a8bee711 feat(topola-egui): Implement import of circular pads 2026-03-10 01:49:22 +01:00
Mikolaj Wielgus 5f7f8fe14e feat(topola-egui): Add zooming to fit 2026-03-09 23:04:40 +01:00
Mikolaj Wielgus e9778fd653 feat(topola): Add navmesher to maintain navmeshes 2026-03-09 21:54:45 +01:00
Mikolaj Wielgus d589266df5 chore(committed): Get rid of allowed scope list for now 2026-03-09 18:42:11 +01:00
Mikolaj Wielgus 74b9004ed9 feat(topola-egui): Make stroke width independent of scale factor 2026-03-09 16:49:11 +01:00
Mikolaj Wielgus b1ab710adb feat(topola-egui): Display loaded board's boundary 2026-03-09 16:01:42 +01:00
Mikolaj Wielgus 78242f16fc feat(topola/board): Load boundary into `Board` 2026-03-09 13:30:59 +01:00
Mikolaj Wielgus 439c005fa2 Begin rewrite. Recreate basic, incomplete project 2026-03-08 22:51:30 +01:00
Mikolaj Wielgus 3b56eb74c9 fix(geometry/primitive): Fix constants altered during debugging 2025-12-01 01:32:46 +01:00
Mikolaj Wielgus 5eedf3bbaf fix(router/navmesh): Add (failed) attempt to prune some navedges
This did not achieve the intended goal, but I'm committing it anyway
just to have it in history.
2025-12-01 01:04:07 +01:00
Mikolaj Wielgus f94733e0f0 feat(topola-egui): Add option to display bend endpoint tangents
This is just to be able to debug navmesh pruning.
2025-11-30 22:25:15 +01:00
Mikolaj Wielgus 62a4d6c413 refactor(drawing/drawing): Rename `.primitive(...)` to `.primitive_ref(...)` 2025-11-30 13:57:58 +01:00
Mikolaj Wielgus 2c94b50290 feat(router/thetastar): Highlight currently attempted navedge 2025-11-29 19:03:12 +01:00
Mikolaj Wielgus b9b52fb977 feat(topola-egui): Display origin-destination by default 2025-11-29 16:02:41 +01:00
Mikolaj Wielgus 9568505e7e fix(router/navmesh): Don't simplify navedges if rotation sense switches on prenavedge 2025-11-29 01:41:13 +01:00