Commit Graph

112 Commits

Author SHA1 Message Date
Mikolaj Wielgus a9040d0bd3 test: Add automatic test routine for tht_db25_to_tht_db25 test 2025-11-17 01:27:08 +01:00
Mikolaj Wielgus 84cdbba5d0 test: Add unilayer THT DB-25 to THT DB-25 test, without testing routine for now 2025-11-15 22:07:54 +01:00
Mikolaj Wielgus 2f9596df5d refactor: Rename "single_layer" to "unilayer" 2025-11-15 22:07:54 +01:00
Jaro Habiger f11d5907db test: add triangle problem
see issue #11 ("Implement ROAR optimizer") for context.
2025-11-05 12:10:42 +01:00
Mikolaj Wielgus f7f2e8f422 test: Update test command files to fix CI failures due to missing JSON fields
Commands used (Fish shell):

```
for f in tests/**.cmd; jq '(.done[] |
select(.MultilayerAutoroute).MultilayerAutoroute[1].planar.timeout) =
{"initial": 1.0, "progress_bonus": 0.005}' $f | sponge $f; end

for f in tests/**.cmd; jq '(.done[] |
select(.MultilayerAutoroute).MultilayerAutoroute[1].timeout) =
{"initial": 5.0, "progress_bonus": 0.5}' $f | sponge $f; end

for f in tests/**.cmd; jq '(.done[] |
select(.Autoroute).Autoroute[1].timeout) |= {"initial": 1.0,
"progress_bonus": 0.005}' $f | sponge $f; end
```
2025-11-04 23:28:01 +01:00
Mikolaj Wielgus d896fe7322 refactor(autorouter/autorouter): Store terminating dots in configuration instead of ratsnest 2025-10-24 03:48:35 +02:00
Mikolaj Wielgus 87f63fd96f test: Don't use `.terminating_dots(...)`, as it won't be accessible since next commit 2025-10-24 01:32:17 +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 63764a7e29 test: Add stable multivibrator test, the first multilayer autorouting test 2025-10-20 00:30:44 +02:00
Mikolaj Wielgus 3856319dc9 test: Use correct principal layer instead of layer 0 in assertion 2025-10-19 20:39:45 +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 2895277e73 fix: Fix build and test errors due to botched last commit 2025-10-14 02:21:48 +02:00
Mikolaj Wielgus a3521e7286 feat(autorouter/anterouter): Add option to set fanout clearance 2025-10-07 22:37:50 +02:00
Mikolaj Wielgus 9a5b2095d5 feat(autorouter/autorouter): Implement germ of multilayer autorouting 2025-09-27 15:45:10 +02:00
Mikolaj Wielgus ecb8ab4758 test: Fix test build error 2025-09-23 16:37:37 +02:00
Mikolaj Wielgus a4a000feb9 feat(autorouter/ratsnest): Have ratlines across layers 2025-09-23 13:25:32 +02:00
Mikolaj Wielgus 5ec5b2f809 test: Add astable_multivibrator test project (no testing code yet) 2025-09-20 23:20:11 +02:00
Mikolaj Wielgus 5abce8b655 test: Report route lengths for benchmarking purposes 2025-09-17 14:38:46 +02:00
Mikolaj Wielgus e7e3e7b6f8 test: Add test routines for `4x4_1206_led_matrix_breakout` 2025-09-17 13:26:34 +02:00
Mikolaj Wielgus 979493efe4 test: Use `rstest_reuse` crate to reuse test cases 2025-09-17 12:26:13 +02:00
Mikolaj Wielgus 59115b20d1 test: Use rstest to parametrizedly split tests into plain and with_undo_redo_replay 2025-09-17 12:14:52 +02:00
Mikolaj Wielgus a390c67e4f test: Split test_tht_de9_to_tht_de9 into two test routines to measure speed better 2025-09-17 11:32:32 +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 e0cfc521ef refactor(geometry/geometry): Replace `NodeIndex<usize>` with just `usize`
This is a step towards ceasing to use Petgraph as internal storage for
geometry.
2025-09-15 22:42:45 +02:00
Mikolaj Wielgus 6a2102e0a2 refactor(graph): Rename `GetPetgraphIndex` to `GetIndex` 2025-09-15 22:42:45 +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 cf100ac6f6 test: Add 4x4_1206_led_matrix_breakout test project (no testing code yet) 2025-08-23 12:07:06 +02: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 2b95832cf7 test: Test tht_de9_to_tht_de9 with permuted autorouting as well 2025-07-19 21:42:53 +02:00
Mikolaj Wielgus 09c98f2d17 feat(autorouter/autoroute): Add option to toggle permutation
Updated with the following command in Fish shell:

```
for f in tests/**.cmd; jq ".done?.[].Autoroute[1].permutate |= false" $f | sponge $f; end
```
2025-07-19 21:42:47 +02:00
Mikolaj Wielgus f09aa053b6 test: Make tests attempt re-autoroute after undoing all 2025-07-17 21:08:46 +02:00
Mikolaj Wielgus 6f1abeebd9 test: Fix test failures due to latest commit being botched 2025-07-14 13:40:40 +02:00
Mikolaj Wielgus 43005eb864 feat(autorouter/autorouter): Add presorting by ratline intersection count and length
Sadly, this does not work well for the DE-9 to DE-9 test, but it is a
step forward.
2025-07-14 13:26:38 +02:00
Mikolaj Wielgus 0752817538 refactor(autorouter/ratsnest): Split out ratline code to new file, ratline.rs 2025-07-14 13:26:38 +02:00
Mikolaj Wielgus ebd115c3dd test: Add `tht_de9_to_tht_de9` test to automated testing 2025-07-09 14:55:40 +02:00
Mikolaj Wielgus 24d119ad04 refactor(router/navmesh): Rename "navvertex" to "navnode"
Easier to pronounce.
2025-05-25 18:01:26 +02:00
Ellen Emilia Anna Zscheile 122ff0122f fix(board): make Poly' apex generation non-lazy
- insert polygon parts before polygon compound
2025-04-17 15:03:14 +02:00
Ellen Emilia Anna Zscheile 6eb941a137 feat: merge planar-brute-embed into the topola monorepo
- feat: use OrderedPair instead of custon BandName/BandUid (note: changes ordering of BandUid)
- fix(crates): rename planar-brute-embed to planar-incr-embed
2025-02-16 18:31:31 +01:00
Ellen Emilia Anna Zscheile 0fde34204f refactor(drawing,geometry): move GetLayer from drawing::graph to geometry 2025-02-10 11:30:54 +01:00
Ellen Emilia Anna Zscheile 2e4b3b52ab chore: cargo fmt 2025-02-10 11:28:19 +01:00
Ellen Emilia Anna Zscheile e1d875ae72 chore: fix most warnings 2025-02-10 11:25:55 +01:00
Ellen Emilia Anna Zscheile cf36177097 refactor: don't export modules only containing a single item 2025-02-02 22:03:12 +00:00
Mikolaj Wielgus ee9f15498d chore(tests): update reference number of navvertices to make CI pass
This will now work because Topola is now deterministic across runs.
2025-01-09 03:59:57 +01:00
Mikolaj Wielgus 44c30caafe chore(licensing): add REUSE license headers to `**.{rs,md,toml}` files
I ran the following command in Fish shell:

```
reuse annotate --skip-unrecognised --copyright="Topola contributors" --license="MIT" **.{rs,md,toml}
```

The choice of year 2024 in the copyright statements is intentional.
2024-12-29 22:47:00 +01:00
Mikolaj Wielgus 1567a9a83e style: rename "squeeze through under bands" to "(...) bends"
Everywhere except in translatable strings. I'm not changing these
because I prefer this to be done via Weblate.
2024-12-29 01:43:36 +01:00
Alain Emilia Anna Zscheile 07f5398ef0 chore: run cargo fmt 2024-12-13 14:17:12 +01:00
hakki 422d1fe65c unittests: initial simple non-rectangle routing test 2024-12-12 21:29:46 +00:00
Alain Emilia Anna Zscheile 1fd61f773c feat: improve Selection API (BREAKS HISTORY)
Test command files were rewritten using:

```
for f in tests/**/*.cmd; do jq ".done?.[].Autoroute[0] |= .selectors" "$f" | sponge "$f"; done
```
(compatible with bash/zsh/...)
2024-12-08 16:20:05 +00:00
Mikolaj Wielgus df1578a094 test: test the number of navmesh vertices 2024-12-07 05:41:00 +01:00
Alain Emilia Anna Zscheile ac2b664901 chore: remove fp-info-cache files from repo 2024-12-06 20:52:37 +01:00