Repository navigation
TraceMaker 0.8.0
TraceMaker 0.8.0 is the state of the project at the close of its roadmap (milestones M0 to M13). Every roadmap task is either built and measured or closed with the measurement that shows why it was not built.
Results
PCBench, 8 router variants, 120 s per board, judged by KiCad's own DRC (kicad-cli pcb drc). No board has an error added by routing.
| Tier | Boards | TraceMaker clean | Freerouting 2.5.0-RC12 (published) |
|---|---|---|---|
| A | 40 | 100% | 100% |
| B | 40 | 70.0% | 50.0% |
| C | 30 | 63.3% | 46.7% |
| D | 22 | 54.5% | 36.4% |
Test suite: 132 tests, passing in the release and CPU-only builds; the address-sanitizer build reports no memory error.
What is in it
- Routing: exact-geometry lattice router with rip-up and reroute, an eight-variant portfolio, GPU cost-to-go fields with an identical CPU path, escape planning, blind/buried and micro vias, length tuning, coupled differential pairs with twists.
- Placement: analytic placement, legalisation and annealing; routing-aware and ECO modes; from-scratch placement (
tracemaker-place --scratch) for boards whose parts have no placement yet. - Component-aware rules: part recognition, a rule catalogue, keep-outs, and net classes from impedance and current rules (
--component-rules on). - KiCad: native
.kicad_pcbreading and writing with byte-for-byte round trip of untouched content; a DRC that matches KiCad's; an IPC plugin (routing, re-routing, footprint moves, zone refill) checked in a running KiCad 10 GUI; a PCM package; Python bindings. - Determinism: a fixed work budget gives a byte-identical board at any thread count, with or without a GPU.
Fixed in this release
- Copper was routed across Margin-layer lines, which KiCad treats as the board edge.
- Pads without a hole that are listed on both sides were connected on the far side, which KiCad reports as unconnected.
- The DRC took minutes on boards with large zones (vme-wren 730 s, now 7 s; reports byte-identical).
- Failure reasons in the routing report could be stale after restarts.
Known limits
- Gates not met: from-scratch placement gives 85% clean boards on the held-out set against a gate of 90% (M8); 41% of the dense-package boards are clean (M9).
- Not measured: the placement comparison with SA-PCB (M7), and the viewer's frame rate.
- The address-sanitizer preset was not rerun end to end after its slow integration tests were adjusted; the thread-sanitizer preset was not run.
- The plugin's toolbar button after installing through KiCad's package manager was not checked.
- CUDA 12.x is required for the GPU path (the supported cards cannot use CUDA 13).
Documents
roadmap_testing.pdf(attached): every milestone and gate, all 132 tests, every benchmark run, the held-out sets and the experiments behind each decision.report.pdf(attached): design, method and benchmark results (2 October 2026; its tier figures predate this release).tracemaker-0.8.0.zip(attached): the KiCad PCM plugin package. It does not contain the engine; build it from source and pointTRACEMAKERat the binary (seekicad_plugin/README.md).
Licence: GPL-3.0-or-later with a CUDA linking permission.