← Commit history

plan: phase 1 second pass status

John Lauer ·7441e52965 ·28d ago ·parent b2b2a59
1 file changed +1
docs/rust-port-plan.md+1
@@ -10,6 +10,7 @@ Written 2026-09-11 from a full audit of the 0.9.350 source, the Adom Bridge (ab) | 2026-09-11 | Phase 1 started. Rust workspace under `rust/` on this page: `kicad-platform` (Windows, macOS, Linux implementations behind one trait), `kicad-core`, `kicad-bridge`. 13 headless verbs (describe, status, readiness with alternatives, list_versions, diagnostics, run_drc, run_erc, the five exports, uninstall). Windows exe is 598 KB with no runtime; smoke-tested on ConfRoomROG: KiCad 10.0.5 found, DRC on a real board in 2.5 s, SVG and Gerber exports. macOS and Linux targets type-check. | | 2026-09-11 | The four ab-core asks filed as [adom/adom-bridge#184](https://wiki.adom.inc/adom/adom-bridge/issues/184). | | 2026-09-11 | Phase 2 de-risked before it starts: `kicad-ipc-rs` 0.5.1 (blocking feature) cross-builds for Windows from the container with mingw and cmake, and a probe on ConfRoomROG connected to the running PCB editor and returned KiCad 10.0.5, the open board and its nets in 8 ms. One build note for the record: on the gnu target nng needs `advapi32` appended to the link line (`cargo:rustc-link-arg=-ladvapi32` from a build script), or the IPC listener fails to link. |+| 2026-09-11 | Phase 1, second pass: 33 verbs in the native binary. Added the netlist group (extract_netlist, trace_net, find_connections, analyze_connections), the lint group (lint_board, lint_schematic, lint_library, format_upgrade), libraries and settings (list_symbols, list_footprints, adom_library_status, get_settings, set_settings, list_design_rules, set_design_rules) and maintenance (model_check, pcm_list, pcm_install, pcm_uninstall, check_for_updates). 73 tests in kicad-core, including parser tests on real KiCad 10 DRC and ERC reports produced by service-kicad. The HTTPS client sits behind a `net` cargo feature so the macOS type-check runs from a box without a darwin C toolchain. Smoke on ConfRoomROG: every verb answers with the Python shapes; one fix found there (a kicad-cli plot check that times out on a 500-symbol stock library was reported as a refusal, in Python too). PCM zip handling is std-only (inflate and SHA-256 written in the crate) so the binary carries no zip or crypto dependency. Schematic edit, misc (ipc_api, export_molecule, errors, log_tail) and install groups in progress. |  ## The goal in one sentence