← Commit history

v0.9.92: library-only browse mode (open a LIBRARY without demanding a part load) in both editors

John Lauer ·8f165afea5 ·2mo ago ·parent 2fcbc3c
6 files changed +37−7
BRIDGE_VERSION+1−1
@@ -1 +1 @@-0.9.91+0.9.92
adom-bridge-kicad-manifest.json+5−5
@@ -1,15 +1,15 @@ {   "manifest_version": 1,   "name": "kicad",-  "version": "0.9.91",-  "url": "https://wiki.adom.inc/download/adom/kicad-bridge/0.9.91/adom-bridge-kicad-v0.9.91.zip",-  "sha256": "57f61e83695437208d0dcf5a826e260f93a1aecde546ce4ab344ef415676d8a0",-  "size": 384655,+  "version": "0.9.92",+  "url": "https://wiki.adom.inc/download/adom/kicad-bridge/0.9.92/adom-bridge-kicad-v0.9.92.zip",+  "sha256": "8e5b2159ed87fad4a7e0b1be7a6d912bda21c61d9c87251e1e4a5bdfdff5383e",+  "size": 385143,   "verbPrefixes": [     "kicad_"   ],   "healthEndpoint": "/status",-  "released_at": "2026-08-14T18:38:58Z",+  "released_at": "2026-08-14T18:49:19Z",   "hero": "https://wiki.adom.inc/blob/app/kicad-bridge/kicad-hero.png",   "languages": [     "Python",
adom-bridge-kicad-v0.9.92.zipadded
⋯ 1 unchanged line ⋯
bridge.json+1−1
@@ -2,7 +2,7 @@   "manifest_version": 1,   "name": "kicad",   "displayName": "KiCad EDA",-  "version": "0.9.91",+  "version": "0.9.92",   "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.",
handlers/open_footprint_editor.py+14
@@ -696,6 +696,20 @@ def handle_open_footprint_editor(kicad_info: dict, args: dict) -> dict:         return {"success": True, "output": "Footprint Editor opened successfully."}      search_text = footprint_name or library_name++    # v0.9.92: LIBRARY-ONLY browse mode (mirror of the symbol editor).+    if library_name and not footprint_name:+        _background_navigate_win32_fp(fp_hwnd, library_name, verify="\u0000never")+        return {+            "success": True,+            "libraryShown": library_name,+            "output": f"Footprint Editor open with the '{library_name}' library filtered and selected. "+                      f"No footprint was requested, so none was loaded into the canvas.",+            "via": "win32-library-browse",+            "_hint": ("Library browse mode: the tree is filtered to the library. To load a part, "+                      "call again with footprintName too."),+        }+     _verify = (footprint_name or search_text).lower()      # v0.9.89: plugin-free background load first (the 0.9.86 symbol-editor tier).
handlers/open_symbol_editor.py+16
@@ -551,6 +551,22 @@ def handle_open_symbol_editor(kicad_info: dict, args: dict) -> dict:     # navigate below is the fallback when no plugin instance is alive.     # v0.9.77 (#20): wait up to 12s for the plugin on a cold-started eeschema —     # first-probe give-up was why symbolName silently produced an empty editor.+    # v0.9.92: LIBRARY-ONLY mode — "open the Device library" is a browse ask, not+    # a part-load. Filter the tree to the library, select+expand its row, and+    # report success without demanding a title change (no part was requested).+    if library_name and not symbol_name:+        if _background_navigate_win32(sym_hwnd, library_name, verify="\u0000never"):+            pass  # title-verify can't apply; fall through to the success below+        return {+            "success": True,+            "libraryShown": library_name,+            "output": f"Symbol Editor open with the '{library_name}' library filtered and selected. "+                      f"No symbol was requested, so none was loaded into the canvas.",+            "via": "win32-library-browse",+            "_hint": ("Library browse mode: the tree is filtered to the library. To load a part into "+                      "the canvas, call again with symbolName too."),+        }+     _verify = (symbol_name or search_text).lower()     _pl = _plugin_background_load(search_text, library_name, wait_plugin_s=4.0)     if str(_pl.get("loaded")) in ("True", "unverified"):