Commit Graph

27 Commits

Author SHA1 Message Date
Mikolaj Wielgus d50e346706 feat(autorouter/autorouter): Remove "compare detours"
This was a time-expensive way to presort ratlines, it's much faster to
instead operate on ratline line segments.
2025-10-22 01:44:52 +02:00
Mikolaj Wielgus b7fd6a0cab feat(autorouter/autorouter): Impl. rudimentary multilayer reconfigurator (not yet functional) 2025-10-21 18:00:55 +02:00
Mikolaj Wielgus f0c076a1f3 chore: Increase max. commit subject length to 90
Filenames seem to be included in subject length, resulting in rather
long messages, so I'm increasing the limit to spend less time trying to
keep the first commit message line short.
2025-10-20 18:20:01 +02:00
Mikolaj Wielgus 1d8745e15d refactor(autorouter/connected_components): Rename "conncomps" to "connected components"
It's easier to understand without abbreviation.
2025-10-20 14:05:44 +02:00
Mikolaj Wielgus 260aca064d refactor(autorouter/planar_reconfigurator): Return different status upon reconfiguration 2025-10-19 16:08:26 +02:00
Mikolaj Wielgus 212a63aa57 refactor(autorouter/autorouter): Do some renaming to distinguish multilayer from planar 2025-10-18 15:04:18 +02:00
Mikolaj Wielgus 8f59319902 feat(autorouter/autorouter): Have separate ratsnest for each (principal) layer 2025-10-15 15:15:02 +02:00
Mikolaj Wielgus 8095c3a89a feat(autorouter/anterouter): Don't anteroute fanout vias inside polys 2025-10-06 13:18:19 +02:00
Mikolaj Wielgus 1bbb068af9 feat(autorouter/compass_direction): Anteroute fanout vias in eight "compass" directions 2025-10-02 17:05:50 +02:00
Mikolaj Wielgus 9a5b2095d5 feat(autorouter/autorouter): Implement germ of multilayer autorouting 2025-09-27 15:45:10 +02:00
Mikolaj Wielgus da37fbe2ec feat(board/mod): Make it possible to iterate over nodes under pin name 2025-09-19 13:05:31 +02:00
Mikolaj Wielgus 71fdec2f06 refactor(autorouter/ratsnest): Move unionfind to new file, don't use `.graph()` there 2025-09-15 22:42:45 +02:00
Mikolaj Wielgus fe7c258851 refactor(autorouter/permutator): Move presorting to new file, `presorter.rs` 2025-09-07 16:40:29 +02:00
Mikolaj Wielgus 12ee2f3984 refactor(autorouter/permutator): Move permuter code to new `permuter.rs` file 2025-09-06 23:59:45 +02:00
Mikolaj Wielgus f99f31e356 refactor(autorouter/autoroute): Move permutator to new file, `permutator.rs` 2025-09-05 12:33:15 +02:00
Mikolaj Wielgus b49aa9e1b7 fix(autorouter/ratline): Don't count ratlines with shared endpoint as intersecting 2025-09-04 14:37:09 +02:00
Mikolaj Wielgus 4a057d3499 fix(math/mod): Move code pertaining to circles to new file, circle.rs 2025-08-29 13:36:48 +02:00
Mikolaj Wielgus ca4a2d1cbf refactor(drawing/query): Rename collect.rs to query.rs, change trait to direct impl 2025-08-24 22:31:10 +02:00
Mikolaj Wielgus 3738bacf6f fix(math/bitangents): Calculate bitangents even for intersecting circles
This fixes the bug where the router was failing to draw around SMD pads.
2025-08-19 15:46:12 +02:00
Mikolaj Wielgus 29dc59df04 refactor(router/navmesh): Split out navmesh triangulation into "prenavmesh" module 2025-07-09 14:55:40 +02:00
Ellen Emilia Anna Zscheile 38ef4d4a59 refactor(math/line): Put functions regarding NormalLines and Lines into a separate file 2025-06-28 23:08:51 +02:00
Ellen Emilia Anna Zscheile 59473c36c8 refactor(layout/layout): Put bands_between_* methods into separate file collect_bands.rs 2025-06-28 11:32:38 +02:00
Ellen Emilia Anna Zscheile a561b278fc feat(router/ng/router): Implementation of the topological router
- feat(autorouter): Prepare for population of planar Topo-Navmesh with existing routes
  See also issue #166.
- feat(topola-egui): Add dialog for topological navmesh layer selection
- feat(router/ng/eval): Optionally restrict set of allowed TopoNavmesh edges
- fix(router/ng/eval): Use poly_ext_handover
2025-06-27 15:15:24 +02:00
Ellen Emilia Anna Zscheile a4b1b3893c feat: Add interaction stepper for route building 2025-06-27 06:02:05 +02:00
Mikolaj Wielgus d0c304adbd feat(router/thetastar): Implement Theta* search algorithm
Closes https://codeberg.org/topola/topola/issues/121
2025-06-12 16:45:07 +02:00
Ellen Emilia Anna Zscheile eff197d410 chore: Update committed.toml 2025-05-30 21:06:42 +02:00
Mikolaj Wielgus 594bb51a57 chore: Use `committed` instead of `conventional-pre-commit`
The most important difference in this PR is that we now enforce scope
and subject line length. `conventional-pre-commit`, which we have been
using until now, does not appear to allow that unlike `committed` which
we will be now using.

On the other hand, `committed` doesn't allow to require having a scope,
unlike `conventional-pre-commit`, but I will probably submit them a PR
for this later.

I also find it questionable that disabling particular checks is to be
done by switching boolean options to false. Doing so by string options
would be more future-proof.

Also note that this has a check to make sure the commit message starts
with a verb. I am fine with this myself, but it may be an overkill.
2025-04-30 11:22:23 +00:00