Commit Graph

97 Commits

Author SHA1 Message Date
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
Mikolaj Wielgus d6fe67a373 feat(board,layout,drawing): implement edit recording
Not stored in the undo/redo objects yet.
2024-11-13 00:00:56 +00:00
Mikolaj Wielgus 2ef645bbaf fix(cli,tests): set routed_band_width to 100.0 where I forgot
This was making the CLI build and tests fail because my second previous
commit was botched.

For future reference, I fixed the *.cmd files by running the following
in Fish shell:

```
for f in tests/**.cmd
    jq ".done?.[].Autoroute[1].router_options.routed_band_width |= 100.0" $f | sponge $f
end
```
2024-10-22 14:58:20 +02:00
Mikolaj Wielgus bdc021cb6e refactor: destruct with `.dissolve()` autogenerated with `derive-getters` crate
Introduces `derive-getters` as a dependency.
2024-10-11 16:54:53 +02:00
Mikolaj Wielgus 8b9d4074e4 chore: perform forgotten rename of `command.rs` to `execution.rs` 2024-10-04 22:00:40 +02:00
Mikolaj Wielgus 389d9dc798 tests: comment out the test that fails nondeterministically 2024-10-04 03:25:14 +02:00
Mikolaj Wielgus bfcae7f308 egui: change "squeeze under" to "squeeze through under"
It's about pushing through a constrained space, not about squeezing
per se. I'm not using the word "push" because this term will probably be
restricted to a mechanism that is very different internally.
2024-10-02 01:12:46 +02:00
Mikolaj Wielgus cc0bf1845a terminology: suffix some single-verb object type names with "Stepper" 2024-10-01 14:27:57 +02:00
Mikolaj Wielgus 1c7042c8c3 autorouter: move `Execute` and `ExecuteWithStatus` to own file 2024-09-29 03:17:07 +02:00
Mikolaj Wielgus f414089521 tests: add forgotten files (again)
I once again have forgotten to commit some files.
2024-09-27 18:27:27 +02:00
Mikolaj Wielgus 39b8c572c7 tests: update command files to the new format 2024-09-27 18:01:56 +02:00
Mikolaj Wielgus 1642eacfbf tests: rename forgotten files and partially fix 3pin xlr test 2024-09-27 17:53:09 +02:00
Mikolaj Wielgus d43983a84d tests: clean up a bit in the tests directory 2024-09-27 01:59:25 +02:00
Mikolaj Wielgus 31bc9a9447 tests: update reference value in THT diode bridge rectifier test 2024-08-25 23:51:42 +02:00
Mikolaj Wielgus 541b7acb04 tests: fix compilation error 2024-08-22 03:08:55 +02:00
Mikolaj Wielgus ca27804c64 drawing: move band length measurement to new band refobject 2024-07-21 16:45:36 +02:00