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.72
5 files changed
+36−6
dashboard/ui/dock-kicad.svg+7−2@@ -1,7 +1,12 @@ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24"- fill="none" stroke="currentColor" stroke-width="1.7"+ fill="none" stroke="#e6edf3" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round" role="img" aria-label="KiCad bridge">- <!-- What the user works on: a board outline with a 45-degree routed trace+ <!-- Stroke is HARDCODED #e6edf3, not currentColor (icons rule 2, learned by+ nb the hard way 2026-08-24): a favicon is an ISOLATED DOCUMENT with no+ host to inherit from, so currentColor resolves to black and the icon+ vanishes on the dark tab strip. The INLINE copy in the dashboard header+ keeps currentColor, which is correct there.+ What the user works on: a board outline with a 45-degree routed trace between two through-hole pads. NOT KiCad's badge (icons skill rule 4: never ship the wrapped vendor's mark). SIZED FOR 16px, not for 256: a pad ring only keeps its hole if the inner
docs/img/dock-kicad.svg+7−2@@ -1,7 +1,12 @@ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24"- fill="none" stroke="currentColor" stroke-width="1.7"+ fill="none" stroke="#e6edf3" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round" role="img" aria-label="KiCad bridge">- <!-- What the user works on: a board outline with a 45-degree routed trace+ <!-- Stroke is HARDCODED #e6edf3, not currentColor (icons rule 2, learned by+ nb the hard way 2026-08-24): a favicon is an ISOLATED DOCUMENT with no+ host to inherit from, so currentColor resolves to black and the icon+ vanishes on the dark tab strip. The INLINE copy in the dashboard header+ keeps currentColor, which is correct there.+ What the user works on: a board outline with a 45-degree routed trace between two through-hole pads. NOT KiCad's badge (icons skill rule 4: never ship the wrapped vendor's mark). SIZED FOR 16px, not for 256: a pad ring only keeps its hole if the inner
package.json+1−1@@ -1,6 +1,6 @@ { "slug": "kicad-bridge",- "version": "1.0.71",+ "version": "1.0.72", "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.71",+ "version": "1.0.72", "tags": [ "kicad", "pcb",
skills/kicad-bridge-dev/SKILL.md+20@@ -680,6 +680,26 @@ sid/tid) and again CLOSED (history + resume path) and confirm the phrase lands unsubmitted. The lookup recipe is implemented in stage_phrase() (census first; history EXCLUDES open threads by design). +### Test an icon the way it LOADS, not the way it is convenient (2026-08-24)++Our app mark is `docs/img/dock-kicad.svg` (mirrored to `dashboard/ui/`): a line+drawing of a board outline with a 45-degree trace between two pad rings, never+KiCad's badge (adom-ui-design `icons` rule 4: shipping the wrapped vendor's+logo makes the tab strip a logo salad). Two traps, both paid for:++1. **Size for 16px, not for 256.** The first cut used r=2 pad rings; at tab+ size the holes closed into blobs. r=2.5 with a 1.7 stroke keeps ~1.1px of+ hole at 16px. Judge it beside two sibling icons, never alone.+2. **`currentColor` in a FILE is black.** A favicon/`<img src>` is an ISOLATED+ DOCUMENT with no host to inherit from, so `currentColor` resolves to black+ and the icon vanishes on a dark tab strip. The standalone file hardcodes+ `#e6edf3`; only the INLINE copy in the dashboard header keeps+ `currentColor`. My 16px test missed this because I rendered the SVG INLINE+ in a host page that set a color - the test could not fail the way+ production fails. Render icons through `<img src>` at 16px on `#161b22`+ and check the icon is THERE (count bright pixels), not merely that it looks+ good.+ ### The footprint stale-cache remedy is a TREE REFRESH, not a restart (2026-08-22, #51) `View > Refresh` (F5) on the Footprint Editor frame reloads the library TREE,