Mikolaj Wielgus
|
1ba0b47cef
|
test: Use `cargo nextest` instead of `cargo test` to show test run times
This will be very useful for optimizing and benchmarking.
|
2025-09-15 15:33:42 +02:00 |
Mikolaj Wielgus
|
aee8c42720
|
feat(autorouter/presorter): Take into account ratline-pad intersections
|
2025-09-11 23:25:03 +02:00 |
Mikolaj Wielgus
|
1b485e81a6
|
feat(autorouter/permuter): Implement permutation by ratline cut
Not yet used, and can get stuck in an infinite loop, but the cut seems
to work.
|
2025-09-09 16:24:15 +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
|
4326925bbf
|
feat(autorouter/permutator): Preorder and permutate over whole ratline conn. comps
This is not enough to autoroute 4x4_1206_led_matrix_breakout, but is as
usual, is a step forward.
|
2025-09-06 01:24:00 +02:00 |
Mikolaj Wielgus
|
19c6ede09a
|
refactor(autorouter/autorouter): Move ratline sorting to `permutator.rs`
|
2025-09-05 12:58:30 +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
|
e5e5f9513e
|
feat(autorouter/ratline): Only count interior ratline intersections
This hardly makes a difference for now, but may become useful later.
|
2025-09-04 17:03: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
|
eb0ee25565
|
fix(drawing/drawing): Don't infringe upon wraparound limbs and its fillets' limbs
Sadly, this degrades performance considerably. But we will improve it later.
|
2025-09-03 01:00:18 +02:00 |
Mikolaj Wielgus
|
c2cd565a9b
|
refactor(drawing/gear): Remove `GetPrevNextInChain` trait
It wasn't helpful after all.
|
2025-09-02 22:32:49 +02:00 |
Mikolaj Wielgus
|
9f7e10bc03
|
refactor(drawing/drawing): Add filtering predicate also for `.insert_cane(...)`
|
2025-09-02 19:58:30 +02:00 |
Mikolaj Wielgus
|
3ddf382325
|
refactor(drawing/drawing): Remove `*_with_infringement_filtering` suffix
Having a filter predicate is useful too often to keep two sets of
methods.
|
2025-09-02 19:46:39 +02:00 |
Mikolaj Wielgus
|
ce0424b3e6
|
fix(autorouter/autoroute): Skip permutations that result in nothing undone
|
2025-09-01 20:22:39 +02:00 |
Mikolaj Wielgus
|
3cc2315ebe
|
refactor(autorouter/autoroute): Move permuting to new trait
|
2025-09-01 16:43:42 +02:00 |
Gusted
|
8fb94c96ff
|
Translated using Weblate (Dutch)
Currently translated at 100.0% (63 of 63 strings)
Translation: Topola/Topola
Translate-URL: https://translate.codeberg.org/projects/topola/topola/nl/
|
2025-09-01 11:26:48 +00:00 |
Mikolaj Wielgus
|
03e70a1a7e
|
fix(router/navmesh): Don't unionize with fillets
|
2025-08-31 21:05:39 +02:00 |
Mikolaj Wielgus
|
3e466960fa
|
feat(router/prenavmesh): Have fillets as prenavnodes instead of long vertex chains
|
2025-08-31 14:34:28 +02:00 |
Mikolaj Wielgus
|
521bb0598a
|
refactor(specctra/design): Place fillet circles, netless for now
|
2025-08-30 16:52:17 +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
|
a9cb7f8848
|
fix(router/navmesh): Use union-find to have all overlapping navnodes actually added
|
2025-08-28 17:15:28 +02:00 |
Mikolaj Wielgus
|
0f4bf1b0be
|
fix(router/navmesh): Make sure all clearance-intersecting navnodes have the same edges
This does not yet fully fix the problem with routing around SMD pads
failing, but is a step forward.
|
2025-08-28 11:35:20 +02:00 |
Mikolaj Wielgus
|
41438eeccc
|
feat(drawing/gear): Implement finding next and previous gear in chain for fixed dots
|
2025-08-26 00:23:48 +02:00 |
Mikolaj Wielgus
|
310e983b1d
|
refactor(drawing/drawing): Move infringement and collision detection to drawing/query
|
2025-08-25 02:23:02 +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
|
6cb01dbb2a
|
refactor(router/thetastar): Factor out returning status
|
2025-08-24 00:12:45 +02:00 |
Mikolaj Wielgus
|
fca8e44269
|
feat(router/router): Backtrack if initial parent was on the same compound
|
2025-08-24 00:12:38 +02:00 |
Mikolaj Wielgus
|
b21f77c9ab
|
feat(router/thetastar): Transition state for each backtrack step for better debugging
|
2025-08-23 12:09:45 +02:00 |
Mikolaj Wielgus
|
5a1cb564dc
|
refactor(router/thetastar): Backtrack not once, but repeatedly, if condition is met
|
2025-08-23 12:09:45 +02:00 |
Mikolaj Wielgus
|
cf100ac6f6
|
test: Add 4x4_1206_led_matrix_breakout test project (no testing code yet)
|
2025-08-23 12:07:06 +02:00 |
Mikolaj Wielgus
|
676c24a428
|
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-23 12:07:06 +02:00 |
fogti
|
1ddca4e580
|
Translated using Weblate (German)
Currently translated at 100.0% (63 of 63 strings)
Translation: Topola/Topola
Translate-URL: https://translate.codeberg.org/projects/topola/topola/de/
|
2025-08-20 15:09:13 +00:00 |
Outbreak2096
|
eb538a6ffe
|
Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (63 of 63 strings)
Translation: Topola/Topola
Translate-URL: https://translate.codeberg.org/projects/topola/topola/zh_Hans/
|
2025-08-19 14:21:29 +00:00 |
Mikolaj Wielgus
|
ff6d00d34a
|
test: Add vga_dac_breakout test
This simple breakout board tests routing around SMD pads.
|
2025-08-19 15:55:20 +02:00 |
Mikolaj Wielgus
|
cc6065099b
|
fix(router/thetastar): Don't forget to rm. probe when there's shorter path already
This fixes a fatal race condition that made tht_de9_to_tht_de9 always
fail since 7eff7ad9f0a24a9688ab5235f01115f7c85b1ff4.
|
2025-08-19 15:55:20 +02:00 |
Mikolaj Wielgus
|
7bb1a1efbc
|
docs: Add some comments warning about race conditions, rename some identifiers
|
2025-08-19 15:55:20 +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
|
5fd4926fb6
|
feat(topola-egui): Display guide-bitangents on debug overlay
|
2025-08-16 01:17:29 +02:00 |
Mikolaj Wielgus
|
7fbfed710c
|
refactor(drawing/guide): Make method names somewhat clearer
|
2025-08-15 23:50:11 +02:00 |
Mikolaj Wielgus
|
177c8abb18
|
refactor(drawing/guide): Instead of trait, just impl guide methods on `Drawing`
|
2025-08-15 23:31:23 +02:00 |
Mikolaj Wielgus
|
9819879617
|
feat(topola-egui): Display guide-circles on debug overlay
|
2025-08-15 16:18:31 +02:00 |
Mikolaj Wielgus
|
fac52f9d8b
|
fix(drawing/drawing): Don't infringe on and from loose dots
These resulted in false positives for line-of-sight paths.
|
2025-08-12 22:04:21 +02:00 |
Mikolaj Wielgus
|
191e646d68
|
refactor(math/line): Rename `NormalLine` to `LineInGeneralForm`
The previous name sounded as if it was a normal (to some surface), which
is not the case.
|
2025-08-12 20:01:16 +02:00 |
Mikolaj Wielgus
|
987a4c6e9e
|
fix: Flip by X instead of rotating by 180 degrees
Obviously -- flip is undone by a flip, not a rotation. This corrects the
previous commit.
|
2025-08-11 21:15:40 +02:00 |
Mikolaj Wielgus
|
b7a5d2ccb8
|
fix(specctra-core): Rotate components placed on back by 180 degrees
|
2025-08-11 20:21:45 +02:00 |
Mikolaj Wielgus
|
ac7b24f939
|
refactor(autorouter/autoroute): Store vecs of edits instead of large edits
This results in a large copy, but it should be possible to refactor the
code later to get rid of this.
|
2025-08-10 11:30:50 +02:00 |
Mikolaj Wielgus
|
5bff83ecbd
|
refactor: Add method to join iterable of edits into one edit
|
2025-08-09 22:55:45 +02:00 |
Ellen Emilia Anna Zscheile
|
6f7586227c
|
feat(board/edit): Edit structures should implement Default trait
|
2025-08-09 22:44:33 +02:00 |
Mikolaj Wielgus
|
791291b82e
|
feat(router/draw): Try to add canes before trying to squeeze them through
|
2025-08-09 21:08:10 +02:00 |