← Commit history

0.9.283: Wiki #73: kicad_list_design_rules and kicad_set_design_rules consume adom/pcb-design-rules at call time (fab, layers, process; layers defaults to the board's copper count; stages <stem>.kicad_dru with backup; runs DRC with it). Wiki #62: kicad_list_symbols (bridge inventory + kicadParser), and kicad_show_library resolves an MPN/file name to the real symbol name (exact, case-insensitive, unique prefix) reporting aliasedFrom/aliasHow. Navigation trace no longer implies the filter was not applied when wx answers WM_GETTEXT with ''. kicad-bridge-dev skill records the #71 lessons.

John Lauer ·19293f064c ·1mo ago ·parent 0975877
3 files changed +14−2
BRIDGE_VERSION+1−1
@@ -1 +1 @@-0.9.282\ No newline at end of file+0.9.283\ No newline at end of file
SKILL.md+12
@@ -234,3 +234,15 @@ If you ever find yourself wanting to talk directly to the KiCad bridge process: ## KiCad's verdict vs the bridge's reader (from 0.9.279)  A `.kicad_sym` the bridge's reader balances can still be one KiCad refuses, and KiCad then lists that library EMPTY in the Symbol Editor (one malformed symbol hides the whole file). `kicadParser` on `kicad_adom_library_status`, `kicad_lint_library`, install results and the `kicad_show_library` error is KiCad's own answer: `ok`, `symbols` (KiCad's inventory), `error` (KiCad's words). `kicad_install_symbol` and `kicad_install_library` refuse a file KiCad refuses (`errorCode kicad_refuses_symbol` / `kicad_refuses_library`) and write nothing. If a library is already poisoned: `kicad_adom_library_heal {"mode":"prune","dryRun":true}` names the culprit(s); without `dryRun` it rebuilds from the symbols KiCad accepts and keeps the original as `.pruned.bak`.++### Design rules by fab (from 0.9.283, wiki #73)++Rules live on the wiki page adom/pcb-design-rules and are fetched at call time, so a rule change is a wiki publish, not a bridge release.++- `kicad_list_design_rules {"fab": "jlcpcb"}` (fab optional): fabs, processes, layer counts, file URLs. InstaPCB (`adom-instapcb`) is the house baseline and is listed first.+- `kicad_set_design_rules {"fab": "adom-instapcb", "layers": 2, "boardPath": "C:/.../board.kicad_pcb"}`: downloads the fab's `.kicad_dru`, stages it as `<board stem>.kicad_dru` (KiCad loads that name automatically; an existing file is backed up next to it), then runs DRC with it and returns the violations. `layers` defaults to the board's copper count, `druPath` uses a local file instead, `runDrc:false` only stages, `keepExisting:true` refuses to replace.++### Symbol names vs file names (from 0.9.283, wiki #62)++- `kicad_list_symbols {"libraryName": "Adom"}` (default Adom, or `libraryPath`): the names inside the library, plus `kicadParser.symbols` (what KiCad itself loads).+- `kicad_show_library` resolves an MPN or file name to the real symbol name (exact, then case-insensitive, then a unique prefix match) and reports `aliasedFrom` / `aliasHow`; an ambiguous or missing name is stated in `aliasNote`.
bridge.json+1−1
@@ -2,7 +2,7 @@   "manifest_version": 1,   "name": "kicad",   "displayName": "KiCad EDA",-  "version": "0.9.282",+  "version": "0.9.283",   "description": "Reverse bridge for KiCad \u2014 board/schematic introspection, lint via kicad-cli, plugin install, multi-instance probe, in-process DRC.",   "homepage": "https://wiki.adom.inc/adom/adom-bridge",   "author": "Adom Inc.",