app
KiCad - the KiCad Bridge
Public Made by Adomby adom
Reference implementation of the KiCad bridge: multi-instance Python server, forward path via kicad-cli, reverse path via in-process plugin. Most complex of the three bundled bridges.
← Commit history
Publish 1.0.48
3 files changed
+28−13
package.json+1−1@@ -1,6 +1,6 @@ { "slug": "kicad-bridge",- "version": "1.0.47",+ "version": "1.0.48", "type": "app", "description": "Skills for your container so your AI knows how to drive the KiCad bridge. The bridge runtime itself is the release zip; Adom Bridge loads that.", "tags": [
page.json+1−1@@ -4,7 +4,7 @@ "slug": "kicad-bridge", "title": "KiCad - the KiCad Bridge", "brief": "Reference implementation of the KiCad bridge — multi-instance Python server, forward path via kicad-cli, reverse path via in-process plugin. Most complex of the three bundled bridges.",- "version": "1.0.47",+ "version": "1.0.48", "tags": [ "kicad", "pcb",
skills/kicad-bridge-dev/SKILL.md+26−11@@ -587,17 +587,32 @@ Implementation (win_taskbar.py): window - the exact inverse of what it did before 0.9.230, both conclusions derived from the same one-sentence meaning. -3. **Identity is not activity** (2026-08-23, caught on John's taskbar). The- BASE icon (AUMID + iconPath, `_ensure_identity`) repairs the white-box shell- cache we poisoned; it claims nothing about driving, so it must be- UNCONDITIONAL: an always-on `_identity_sweeper` thread (20s) stamps every- pcbnew/eeschema window, whoever opened it, verb or no verb. Before the- sweeper, identity rode only on the badge path - so a window the user opened- themselves (or one carrying the pre-.v2 stamp from an old bridge process)- stayed a white box indefinitely, while a window a test verb had touched sat- correct beside it. Badges and bars stay activity-gated; the base icon never- is. Corollary: you cannot restamp identity by calling a passive verb -- that's rule 1 working as designed; the sweeper is the mechanism.+3. **This bridge stamps NO AUMIDs, ever** (John, 2026-08-23: "i just want+ default kicad behavior"). History: an early AI experiment stamped+ per-window AUMIDs on eeschema/pcbnew, at least once before icon extraction+ succeeded - Windows caches the icon PER AUMID STRING, so those buttons+ became permanent white boxes surviving KiCad reinstalls. Two generations of+ "fix" (fresh .v2 strings, then an always-on identity sweeper, 0.9.240-242)+ replaced the poison with Adom-flavoured identity - still an override, still+ wrong. The real fix (0.9.243) is REMOVAL: `_identity_repair()` runs once+ per boot, blanks the per-window AppUserModelID property (ctypes COM;+ VT_EMPTY - AD's set_window_identity has no clear path) on every+ eeschema/pcbnew window, deletes every HKCU `Adom.KiCad.*` registration,+ and hide/re-shows each button (never the foreground window) because Win11+ bakes tiles at button creation.+ The overlay badge and progress bar NEVER needed an AUMID - ITaskbarList3+ works per-hwnd on native buttons - so activity indication is unaffected.+ KNOW THE BASELINE before diagnosing: with all overrides removed, DEFAULT+ KiCad on Win11 with taskbar buttons combined shows a GENERIC WHITE icon for+ grouped standalone pcbnew/eeschema windows - a known upstream issue+ (kicad.info forum: "PCB Editor Icon turn white in taskbar if open as+ standalone app and using merge taskbar"). Verified on-box 2026-08-23: exe+ icon resource intact (ExtractAssociatedIcon renders), zero AUMIDs on any+ window, full icon-cache rebuild + explorer restart changed nothing, and no+ "Kicad.Kicad.*" string exists in any shipped binary - the installer stamps+ that AUMID onto the MAIN shortcut only, which is why kicad.exe's button+ renders and the editors' group doesn't. So a white editor-group icon is+ stock behaviour, not our damage; do not "fix" it without John asking. ### The footprint stale-cache remedy is a TREE REFRESH, not a restart (2026-08-22, #51)