Commit Graph

  • 4c6f5b4c43 Add methods to obtain pin and component attractions rewrite Mikolaj Wielgus 2026-06-03 01:40:26 +0200
  • 6cebbb2816 Add method to locate all component-component repulsions for given component Mikolaj Wielgus 2026-06-03 00:19:25 +0200
  • b3dc4089a4 Make nets keep track of pins they contain Mikolaj Wielgus 2026-06-02 23:38:39 +0200
  • dde3720e04 Implement basic computation of repulsion forces Mikolaj Wielgus 2026-06-02 18:09:40 +0200
  • 53a443615b Add (basic, WIP) methods to compute rect-overlaps of primitives Mikolaj Wielgus 2026-06-02 13:45:44 +0200
  • ce7db181a7 Add methods to locate primitive and component infringements Mikolaj Wielgus 2026-06-01 23:48:35 +0200
  • ae211b302e Add compass directions Mikolaj Wielgus 2026-06-01 13:45:03 +0200
  • 1264c3183a Add capability to move components by dragging mouse Mikolaj Wielgus 2026-05-29 16:09:30 +0200
  • 77950109fc Add interactor for moving components Mikolaj Wielgus 2026-05-29 12:28:35 +0200
  • a6d1fe7025 Don't skip pins without net in Specctra import Mikolaj Wielgus 2026-05-28 23:08:44 +0200
  • df5a9b57ec Make it possible to select whole components. Use different color for pin selection Mikolaj Wielgus 2026-05-28 22:14:53 +0200
  • 9221663d66 Select best layout objects, don't be strict over layer Mikolaj Wielgus 2026-05-28 11:27:24 +0200
  • 85f33f1a6c Exactly filter upon location after bbox hit Mikolaj Wielgus 2026-05-28 01:56:41 +0200
  • e1795413bd Actually display the drag selection box, and some fixes Mikolaj Wielgus 2026-05-27 23:27:46 +0200
  • 1a2c4aeec2 Make selection responsibility of `topola`, not `topola-egui`, with new `Workspace` struct Mikolaj Wielgus 2026-05-27 19:30:07 +0200
  • da7585b135 Add master interactor to rule all interactors (WIP, not used yet) Mikolaj Wielgus 2026-05-27 17:07:18 +0200
  • 623dc967ca Add methods to delete primitives and distribute some methods across new files Mikolaj Wielgus 2026-05-27 03:28:48 +0200
  • 5a3a870a13 Make containment mode dependent on left-to-right, right-to-left mouse drag Mikolaj Wielgus 2026-05-27 02:02:05 +0200
  • 15a7bc65f1 Implement selection of nets Mikolaj Wielgus 2026-05-27 00:45:30 +0200
  • 51005bb97c Make drag selection interactor take selection modes as input Mikolaj Wielgus 2026-05-27 00:21:13 +0200
  • 739bdafea2 Replace `RouteSelector` with `NetSelector` Mikolaj Wielgus 2026-05-26 12:16:45 +0200
  • 61c0134db4 Add drag selection interactors Mikolaj Wielgus 2026-05-26 12:12:07 +0200
  • 1b4bb49a89 Add location methods for inside rect and intersecting rect Mikolaj Wielgus 2026-05-26 01:27:06 +0200
  • d9a4c7a11f Add missing code for vias Mikolaj Wielgus 2026-05-25 23:32:39 +0200
  • eef69694fd Move location methods to new files Mikolaj Wielgus 2026-05-25 22:42:04 +0200
  • 31107559c8 Add selectors for routes to persistable selection Mikolaj Wielgus 2026-05-25 13:44:31 +0200
  • 39fb51d401 Get rid of layer groups. `LayerDesc`s already do the job Mikolaj Wielgus 2026-05-25 01:11:29 +0200
  • dd2ce0ce3b Instead of mapping colors to strings, map them to desc structs Mikolaj Wielgus 2026-05-25 00:46:55 +0200
  • 342081bbe5 Scale shapes imported from LibrePCB via DSN correctly Mikolaj Wielgus 2026-05-24 21:41:08 +0200
  • acd41dcb1d Add `can2usb` from LibrePCB to test suite Mikolaj Wielgus 2026-05-24 21:24:46 +0200
  • f9ea3940d2 Load outlines to its own separate layer and group Mikolaj Wielgus 2026-05-24 00:27:11 +0200
  • ca517f62bd Create layer groups, assign each layer to one of it Mikolaj Wielgus 2026-05-24 00:04:14 +0200
  • 58be28cc8b Move `topola/src/compounds/` directory under `topola/src/layout/` Mikolaj Wielgus 2026-05-23 21:03:22 +0200
  • a947a72a02 Encapsulate layer indices in new `LayerId` type Mikolaj Wielgus 2026-05-23 20:28:57 +0200
  • 1b9673e3e7 Derive `From` on id types Mikolaj Wielgus 2026-05-23 19:38:01 +0200
  • c525af7fca Apply `derive(Delta)` on `Board` instead of manually implementing Mikolaj Wielgus 2026-05-22 01:26:53 +0200
  • 459c4b41ee Add interfaces to move components Mikolaj Wielgus 2026-05-20 14:07:05 +0200
  • 24af694c6b Distinguish one layer as active Mikolaj Wielgus 2026-05-19 23:54:10 +0200
  • 2ed6e13a50 Expand `layout.rs` into new module directory Mikolaj Wielgus 2026-05-19 23:24:43 +0200
  • 692ec68ec2 Expand `board.rs` into a new module directory Mikolaj Wielgus 2026-05-19 20:54:39 +0200
  • d2d43b99c3 Implement function to resolve pin-with-layer selection to component selection Mikolaj Wielgus 2026-05-19 16:00:55 +0200
  • 76bad7a2a0 Import and keep track of component names Mikolaj Wielgus 2026-05-19 14:27:50 +0200
  • 25efbd1627 Rearrange and rename selections and compounds Mikolaj Wielgus 2026-05-19 12:43:09 +0200
  • e536e94039 Add new type of compound, component Mikolaj Wielgus 2026-05-18 23:29:59 +0200
  • bc5e205b90 Move nets and pins to separate directory, `compounds` Mikolaj Wielgus 2026-05-18 22:41:57 +0200
  • b05c31f767 Use `Index` instead of `Get` with unwrap Mikolaj Wielgus 2026-05-18 21:51:57 +0200
  • 79f859f8cb Add (not yet used) private interface to modify joints without segment, via updates Mikolaj Wielgus 2026-05-18 21:09:47 +0200
  • 618905f56d Add interfaces to modify joints, segments, vias, polygons Mikolaj Wielgus 2026-05-18 17:02:31 +0200
  • b2a75fd520 Split `Joint` into input `JointSpec` and actually stored `Joint` Mikolaj Wielgus 2026-05-18 15:02:44 +0200
  • 7f67a24808 Update `undoredo` to 0.10 Mikolaj Wielgus 2026-05-17 14:12:22 +0200
  • 272bdb326d Split `Via` into input `ViaSpec` and actually stored `Via` Mikolaj Wielgus 2026-05-17 03:01:59 +0200
  • 258b43267d Distribute `primitives.rs` into multiple files Mikolaj Wielgus 2026-05-17 02:34:23 +0200
  • 67f3426586 Split `Segment` into full `Segment` and input `SegmentSpec` Mikolaj Wielgus 2026-05-17 02:18:42 +0200
  • 36004b155b Explain in comments how to point-in-polygon checking method works Mikolaj Wielgus 2026-05-16 21:07:42 +0200
  • fc3857072c Wrap `NavmesherBoard` inside new `Router` struct Mikolaj Wielgus 2026-03-21 11:52:55 +0100
  • fa6c1ca522 Don't connect different-net primitives with ratlines Mikolaj Wielgus 2026-03-20 13:52:37 +0100
  • 1dc6519722 Display primitives in reverse order of layers Mikolaj Wielgus 2026-03-20 12:19:40 +0100
  • 780f1f9d11 Add separate methods to find all layer joints, segments, polygons Mikolaj Wielgus 2026-03-20 12:01:03 +0100
  • 9ea602baa4 Restore `NavmesherBoard` type, put it inside `Autorouter` Mikolaj Wielgus 2026-03-20 11:50:02 +0100
  • 657d33ac6e Display ratsnest Mikolaj Wielgus 2026-03-19 23:06:40 +0100
  • 07427a3831 Rename `NavmesherBoard` to `Autorouter`, move it to own file Mikolaj Wielgus 2026-03-19 22:37:33 +0100
  • 7f4d3eb420 Add ratsnest generation (not used yet) Mikolaj Wielgus 2026-03-19 21:43:51 +0100
  • f351728762 Add Kruskal's minimum spanning tree algorithm Mikolaj Wielgus 2026-03-19 19:50:50 +0100
  • a4d13a3435 Do some renamings, some changes in `Cargo.toml` Mikolaj Wielgus 2026-03-19 14:27:32 +0100
  • 2f52c1e236 Add method to calculate polygon centroid Mikolaj Wielgus 2026-03-19 14:12:54 +0100
  • 603160f660 Relicense to MIT OR Apache-2.0 Mikolaj Wielgus 2026-03-19 11:32:22 +0100
  • f9e6c1bdda Add methods to add multivertices to navmesher Mikolaj Wielgus 2026-03-19 11:20:54 +0100
  • 1b84eea06b Rename "navpolygon" to "obstacle" Mikolaj Wielgus 2026-03-18 15:04:47 +0100
  • 78b7d9ddbf Keep index to each primitive's navpolygon Mikolaj Wielgus 2026-03-17 16:06:41 +0100
  • 630e7a49d3 Simplify code in `navmesher.rs` a bit Mikolaj Wielgus 2026-03-17 14:04:31 +0100
  • 50b7dc26b0 Use `Vector2<i64>` instead of `[i64; 2]` in `navmesher.rs` Mikolaj Wielgus 2026-03-17 13:19:08 +0100
  • 41dd0a91f8 Revert "Store primitive id for each navpolygon to go back from navmesh to board" Mikolaj Wielgus 2026-03-16 22:28:25 +0100
  • 269e14645e Store primitive id for each navpolygon to go back from navmesh to board Mikolaj Wielgus 2026-03-16 22:05:25 +0100
  • 6a1ce72923 Bump `dearcut` version to 0.3.0 Mikolaj Wielgus 2026-03-16 21:11:00 +0100
  • 990462d046 Fix Specctra DSN parsing errors Mikolaj Wielgus 2026-03-15 01:24:06 +0100
  • 2e56d20065 Highlight primitives of selected pins Mikolaj Wielgus 2026-03-15 00:51:20 +0100
  • a71df91fc1 Toggle pin in pin selection upon click Mikolaj Wielgus 2026-03-14 23:31:29 +0100
  • 13c7bbb061 Find pin selector of what is under mouse pointer Mikolaj Wielgus 2026-03-14 22:04:08 +0100
  • 6992369041 Filter out bbox-located primitives for which hit-test fails Mikolaj Wielgus 2026-03-14 18:55:19 +0100
  • 7aed12dda9 Add method to check if polygon contains point Mikolaj Wielgus 2026-03-14 18:40:19 +0100
  • 2fc3b25fec Use `Vector2<i64>` instead of `[i64; 2]` Mikolaj Wielgus 2026-03-14 18:33:58 +0100
  • 68eafc1059 Add methods to locate joints, segments, polygons at point (bbox-only for now) Mikolaj Wielgus 2026-03-14 14:17:45 +0100
  • 95694ac931 Display bboxes of primitives Mikolaj Wielgus 2026-03-14 12:37:55 +0100
  • 7b5bffada8 Place joints, segments, polygons in R-trees Mikolaj Wielgus 2026-03-14 00:12:43 +0100
  • ce5634ee6a Revert "Keep track of primitive id associated with navpolygon" Mikolaj Wielgus 2026-03-13 23:23:14 +0100
  • 965080b8db Keep track of primitive id associated with navpolygon Mikolaj Wielgus 2026-03-13 22:56:46 +0100
  • 4afd0d7e3d Move primitives to new file and add enum to group them together Mikolaj Wielgus 2026-03-13 19:46:02 +0100
  • 5113f30fd5 Add selector and selection data structures Mikolaj Wielgus 2026-03-13 14:50:33 +0100
  • d77be1b0b3 Optionally assign primitives to pins Mikolaj Wielgus 2026-03-13 13:36:14 +0100
  • 3f362d62c3 Wrap net ids in `NetId` type Mikolaj Wielgus 2026-03-13 11:22:40 +0100
  • 69ce018d1f
    Translated using Weblate (Chinese (Simplified Han script)) Outbreak2096 2026-02-24 04:34:46 +0000
  • 9a7bf2d35b
    Translated using Weblate (German) fogti 2025-12-23 22:58:42 +0000
  • 8302a32555
    Translated using Weblate (Dutch) Gusted 2025-12-19 17:26:15 +0000
  • ba76d38fdb
    Translated using Weblate (Chinese (Simplified Han script)) vowstar 2025-12-05 19:13:50 +0000
  • 239d56ce19 docs: Add screenshots showing how to export DSN from KiCad and LibrePCB develop Mikolaj Wielgus 2026-03-12 22:33:32 +0100
  • 3f6073af03 Use board boundary as navmesh superpolygon instead of generating it Mikolaj Wielgus 2026-03-12 18:52:24 +0100
  • e36b631029 Underestimate instead of overestimating segment length Mikolaj Wielgus 2026-03-11 21:11:21 +0100
  • ab30432f6b Insert segments in navmesh Mikolaj Wielgus 2026-03-11 21:04:52 +0100
  • 13b97f84d6 Insert polygon pads in navmesh Mikolaj Wielgus 2026-03-11 19:17:44 +0100
  • f3112dd886 Display navmeshes Mikolaj Wielgus 2026-03-11 18:58:19 +0100