← Commit history
README.md+1−1
@@ -11,7 +11,7 @@ verbs.  ```bash adom-wiki pkg install barrett-land/adom-desktop-altium-bridge   # the skill, in the container-adom-desktop bridge_install '{"manifestUrl":"https://wiki.adom.inc/download/barrett-land/adom-desktop-altium-bridge/0.0.54/altium-bridge-manifest.json"}'+adom-desktop bridge_install '{"manifestUrl":"https://wiki.adom.inc/download/barrett-land/adom-desktop-altium-bridge/0.0.55/altium-bridge-manifest.json"}' adom-desktop --ai-thread "<your thread>" altium_ping '{}' ``` 
SKILL.md+1−1
@@ -12,7 +12,7 @@ forwards work into the running GUI as DelphiScript via `X2.EXE`. ## Install  ```bash-adom-desktop bridge_install '{"manifestUrl":"https://wiki.adom.inc/download/barrett-land/adom-desktop-altium-bridge/0.0.54/altium-bridge-manifest.json"}'+adom-desktop bridge_install '{"manifestUrl":"https://wiki.adom.inc/download/barrett-land/adom-desktop-altium-bridge/0.0.55/altium-bridge-manifest.json"}' adom-desktop --ai-thread "<your thread>" altium_ping '{}'   # -> {"altiumInstalled": true, "version": "..."} ``` 
altium-bridge-manifest.json+3−3
@@ -1,3 +1,3 @@-{ "manifest_version": 1, "name": "altium", "version": "0.0.54",-  "url": "https://wiki.adom.inc/download/barrett-land/adom-desktop-altium-bridge/0.0.54/altium-bridge-v0.0.54.zip",-  "sha256": "52814d564cea5b270efaf06d7c4f4f30cc61fcc2996a1ddde3a4f4bd823da8f2", "size": 45070, "released_at": "2026-08-12T20:37:09Z" }+{ "manifest_version": 1, "name": "altium", "version": "0.0.55",+  "url": "https://wiki.adom.inc/download/barrett-land/adom-desktop-altium-bridge/0.0.55/altium-bridge-v0.0.55.zip",+  "sha256": "9c5ca279b70390bbb163defacc510bf3f2e644a8caf8d517d7abb559923a7696", "size": 45119, "released_at": "2026-08-12T20:55:04Z" }
altium-bridge-v0.0.55.zipadded
⋯ 1 unchanged line ⋯
bridge-src/BRIDGE_VERSION+1−1
@@ -1 +1 @@-0.0.54+0.0.55
bridge-src/__pycache__/server.cpython-312.pyc
⋯ 1 unchanged line ⋯
bridge-src/addin/AdomAltium/AdomAltium.pas+9−21
@@ -2095,27 +2095,15 @@ begin                             end;                         end; -                        { reset the stroke width for whatever layer it now sits on.-                          Tracks expose Width, arcs expose LineWidth, and pads/regions-                          expose neither -- so try in turn rather than switch on an-                          ObjectId constant. }-                        if (nm <> '') and (widths.Values[nm] <> '') then-                        begin-                            li := StrToIntDef(widths.Values[nm], 0);-                            if li > 0 then-                            begin-                                try-                                    Prim.Width := MilsToCoord(li / 25.4);-                                    Inc(widthed);-                                except-                                    try-                                        Prim.LineWidth := MilsToCoord(li / 25.4);-                                        Inc(widthed);-                                    except-                                    end;-                                end;-                            end;-                        end;+                        { NOTE: stroke width is deliberately NOT set here.+                          Prim is an IPCB_Primitive, which declares no Width/LineWidth,+                          and DelphiScript resolves property names at COMPILE time --+                          so `try Prim.Width := ...` does not fail at runtime, it fails+                          to compile and takes the whole script engine down. Setting+                          widths needs a typed IPCB_Track / IPCB_Arc variable and the+                          matching ObjectId test, verified against a known-good Altium+                          script rather than guessed. Layer remapping is the useful+                          half and it works; widths are a separate follow-up. }                          Prim := It.NextPCBObject;                     end;
bridge-src/bridge.json+1−1
@@ -2,7 +2,7 @@   "manifest_version": 1,   "name": "altium",   "displayName": "Altium Bridge",-  "version": "0.0.54",+  "version": "0.0.55",   "description": "Drives Altium Designer from a container: build, clone and edit file-based symbol/footprint/Integrated libraries with LCSC/JLCPCB part numbers attached, and generate batch outputs (STEP, PDF, Gerber, BOM, CPL) from an OutJob. Pairs with the container-side altium-jlc orchestrator (adom-jlcpcb + chip-fetcher).",   "homepage": "https://wiki.adom.inc/adom/adom-desktop-altium-bridge",   "author": "Adom Inc.",
bridge-src/server.py+2−2
@@ -186,8 +186,8 @@ def handle_remap_fp_layers(args: dict) -> dict:     KiCad's 0.12mm silk and 0.05mm courtyard both arrive at Altium's 10 mil default.      remap  = "SrcName|DstName;..."      matched by layer NAME-    widths = "LayerName|microns;..."    applied after the remap (microns keep it integral)-    footprint = a name, or '' / '*' for the whole library."""+    footprint = a name, or '' / '*' for the whole library.+    Stroke widths are NOT reset here -- see the note in AdomAltium.pas."""     keys = ("pcblib", "footprint", "remap", "widths")     return addin_call("remap_fp_layers", {k: args.get(k) for k in keys},                       timeout=args.get("timeout", 240))
package.json+1−1
@@ -1,6 +1,6 @@ {   "slug": "adom-desktop-altium-bridge",-  "version": "0.0.54",+  "version": "0.0.55",   "type": "app",   "description": "Adom Desktop bridge for Altium Designer: file-based symbol/footprint/IntLib authoring with LCSC/JLCPCB part numbers, Gerber/BOM/CPL batch output, and an in-process .NET extension adding parameterized headless verbs - STEP export with hole and copper options, and KiCad import with no wizard.",   "tags": [
page.json+11−7
@@ -1,8 +1,8 @@ {   "slug": "adom-desktop-altium-bridge",-  "version": "0.0.54",+  "version": "0.0.55",   "type": "app",-  "description": "Adom Desktop bridge for Altium Designer \u2014 build and edit file-based symbol/footprint/Integrated libraries with LCSC/JLCPCB part numbers attached, and generate batch outputs (STEP, PDF, Gerber, BOM, CPL) from an OutJob, by driving Altium via DelphiScript.",+  "description": "Adom Desktop bridge for Altium Designer: file-based symbol/footprint/IntLib authoring with LCSC/JLCPCB part numbers, Gerber/BOM/CPL batch output, and an in-process .NET extension adding parameterized headless verbs - STEP export with hole and copper options, and KiCad import with no wizard.",   "tags": [     "app",     "adom-desktop",@@ -18,6 +18,7 @@   },   "needs_sudo": false,   "hero": {+    "type": "image",     "path": "docs/hero.png"   },   "author": {@@ -25,13 +26,16 @@     "email": "[email protected]"   },   "discovery_triggers": [-    "add a part to my altium library",     "drive altium from claude",     "altium bridge",-    "export step from altium",+    "export step from altium headless",+    "add a part to my altium library",+    "altium extension",+    "install altium extension",+    "altium step export",     "run an altium outjob",-    "build an altium footprint",-    "altium symbol library"+    "import kicad into altium",+    "altium kicad importer"   ],   "discovery_pitch": "Use when the user wants Claude to author or edit Altium libraries, or to generate STEP/PDF/Gerber/BOM/CPL from an Altium board on their Windows machine.",   "sample_prompts": [@@ -48,4 +52,4 @@       "prompt": "Is the Altium bridge connected and what version is it?"     }   ]-}+}\ No newline at end of file