D17 — CLI, Python module and plugin share one route function¶
Decision¶
The CLI's route and the Python module's route() call one function (tmk::app::run_route_job); the KiCad plugin uses the module in-process when importable, else the binary
Alternatives¶
Bindings that drive Router directly; plugin with the binary only
Reason¶
Identical results by construction (tested byte for byte); no subprocess when the module fits KiCad's Python, and the binary still works when it does not