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.95
5 files changed
+25−4
dashboard/kicad_dashboard.py+1−1@@ -49,7 +49,7 @@ from http.server import BaseHTTPRequestHandler, ThreadingHTTPServer from pathlib import Path from urllib.parse import unquote, urlparse -VERSION = "4.2.1"+VERSION = "4.3.0" AI_THREAD = "kicad-dashboard" DEFAULT_PORT = 8931 UI_DIR = Path(__file__).resolve().parent / "ui"
dashboard/ui/index.html+9@@ -26,6 +26,15 @@ body{background:var(--bg);color:var(--text-body);font:15px/1.5 'Satoshi',sans-se ::-webkit-scrollbar-thumb:hover{background:rgba(0,184,177,.55);background-clip:padding-box} ::-webkit-scrollbar-corner{background:transparent} body{overflow-x:hidden} /* the page never scrolls horizontally */+/* FLUID, and the FLEET GUTTER. No max-width: a dashboard fills its window like+ a native app. The 16px horizontal padding is the contract (newbie-panel+ 2.3.0): the panel's border box must equal documentElement.clientWidth - 32,+ so every app's panel is the same width at the same pane and the 700px+ two-column threshold is crossed by all of them together. This rule was lost+ in an earlier CSS deletion, which left the panel full-bleed at 734 and the+ page content hugging the left edge - visible in my own frame, and I did not+ look hard enough at it. */+main{margin:0;padding:20px 16px 84px} header{height:44px;display:flex;align-items:center;gap:12px;padding:0 16px;margin:0;border-radius:0;background:var(--surface);border-bottom:1px solid var(--border);overflow:hidden} /* The header was the ONLY thing overflowing narrow panes: measured at a real 236px surface the nowrap brand + target chip + four ghost buttons pushed
dashboard/ui/newbie-panel.js+13−1@@ -421,6 +421,18 @@ var cols = cs.gridTemplateColumns.split(' ').filter(Boolean).length; rows.push({ what: 'columns at this width', want: panel.getBoundingClientRect().width >= TWO_COL_MIN ? '2' : '1', got: String(cols), pass: true });+ /* THE GUTTER ROW. Four apps measured at the SAME 744px pane reported panel widths of+ * 734, 735, 702 and 694, because each page put a different amount of its own padding+ * around the mount point. 694 is under the 700 threshold, so that app rendered ONE+ * column while the other three rendered TWO, at an identical pane width. The panel was+ * conformant in all four; the PAGE around it was not. The fleet gutter is 16px a side,+ * so the panel's border box is the pane minus 32. */+ var vw = document.documentElement.clientWidth;+ var want32 = vw - 32, gotW = Math.round(panel.getBoundingClientRect().width);+ var gutterOk = Math.abs(gotW - want32) <= 2;+ if (!gutterOk) ok = false;+ rows.push({ what: 'panel gutter', want: want32 + 'px wide (16px a side)',+ got: gotW + 'px (' + Math.round((vw - gotW) / 2) + 'px a side)', pass: gutterOk }); var fam = getComputedStyle(panel.querySelector('.anp-phrase span') || panel).fontFamily; var famOk = /Satoshi/.test(fam); if (!famOk) ok = false;@@ -428,6 +440,6 @@ return { ok: ok, rows: rows }; } - root.AdomNewbiePanel = { mount: mount, toast: toast, selfCheck: selfCheck, version: '2.1.2',+ root.AdomNewbiePanel = { mount: mount, toast: toast, selfCheck: selfCheck, version: '2.3.0', TWO_COL_MIN: TWO_COL_MIN, PHRASE_BUDGET: PHRASE_BUDGET }; })(typeof window !== 'undefined' ? window : this);
package.json+1−1@@ -1,6 +1,6 @@ { "slug": "kicad-bridge",- "version": "1.0.94",+ "version": "1.0.95", "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.94",+ "version": "1.0.95", "tags": [ "kicad", "pcb",