← 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.52/altium-bridge-manifest.json"}'+adom-desktop bridge_install '{"manifestUrl":"https://wiki.adom.inc/download/barrett-land/adom-desktop-altium-bridge/0.0.53/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.52/altium-bridge-manifest.json"}'+adom-desktop bridge_install '{"manifestUrl":"https://wiki.adom.inc/download/barrett-land/adom-desktop-altium-bridge/0.0.53/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.52",-  "url": "https://wiki.adom.inc/download/barrett-land/adom-desktop-altium-bridge/0.0.52/altium-bridge-v0.0.52.zip",-  "sha256": "4b51a8e71f221cdb601e45c65a1729a7ed3e09fbcedb7c4295a9cfb7f4c25834", "size": 45051, "released_at": "2026-08-12T20:34:35Z" }+{ "manifest_version": 1, "name": "altium", "version": "0.0.53",+  "url": "https://wiki.adom.inc/download/barrett-land/adom-desktop-altium-bridge/0.0.53/altium-bridge-v0.0.53.zip",+  "sha256": "4ea105a1203a7f78a96c9a6fe0444856c1ddc7bfa694101ca6392366df45fd60", "size": 45367, "released_at": "2026-08-12T20:35:44Z" }
altium-bridge-v0.0.53.zipadded
⋯ 1 unchanged line ⋯
bridge-src/BRIDGE_VERSION+1−1
@@ -1 +1 @@-0.0.52+0.0.53
bridge-src/addin/AdomAltium/AdomAltium.pas+29−2
@@ -1988,7 +1988,7 @@ var     layers   : TStringList;   { "<name>=<id>" }     remaps   : TStringList;   { "<srcname>=<dstname>" }     widths   : TStringList;   { "<layername>=<microns>" }-    i, li, dstId, moved, widthed, fpCount : Integer;+    i, li, dstId, moved, widthed, fpCount, renamed : Integer;     nm, s, item, a, b, LayerDump, PrimDump : String;     pos1, pos2 : Integer;     SavedOK  : Boolean;@@ -2014,7 +2014,7 @@ begin     layers := TStringList.Create;     remaps := TStringList.Create;     widths := TStringList.Create;-    moved := 0; widthed := 0; fpCount := 0; LayerDump := ''; PrimDump := '';+    moved := 0; widthed := 0; fpCount := 0; renamed := 0; LayerDump := ''; PrimDump := '';     try         GStage := 'enumerate layers';         for li := 1 to 100 do@@ -2063,6 +2063,32 @@ begin             end;         end; +        { If the destination layer already exists (a house library), primitives are+          MOVED onto it below. If it does not (a freshly imported library, whose+          mechanical layers still carry KiCad's names), there is nothing to move to --+          so RENAME the source layer instead. Same end state, and it preserves every+          primitive's position rather than relying on a layer-to-layer move. }+        GStage := 'rename source layers where no destination exists';+        for i := 0 to remaps.Count - 1 do+        begin+            a := remaps.Names[i];+            b := remaps.Values[a];+            if (a <> '') and (b <> '') then+            if (layers.Values[b] = '') and (layers.Values[a] <> '') then+            begin+                li := StrToIntDef(layers.Values[a], -1);+                if li > 0 then+                begin+                    try+                        Board.LayerObject[li].LayerName := b;+                        layers.Add(b + '=' + IntToStr(li));+                        Inc(renamed);+                    except+                    end;+                end;+            end;+        end;+         GStage := 'remap';         PCBServer.PreProcess;         for i := 0 to PcbLib.ComponentCount - 1 do@@ -2139,6 +2165,7 @@ begin     RespOk(', "footprints": ' + IntToStr(fpCount) +            ', "movedPrimitives": ' + IntToStr(moved) +            ', "widthsSet": ' + IntToStr(widthed) ++           ', "layersRenamed": ' + IntToStr(renamed) +            ', "layersSeen": ' + JStr(LayerDump) +            ', "primLayers": ' + JStr(PrimDump) +            ', "saved": ' + SavedStr);
bridge-src/bridge.json+1−1
@@ -2,7 +2,7 @@   "manifest_version": 1,   "name": "altium",   "displayName": "Altium Bridge",-  "version": "0.0.52",+  "version": "0.0.53",   "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.",
package.json+1−1
@@ -1,6 +1,6 @@ {   "slug": "adom-desktop-altium-bridge",-  "version": "0.0.52",+  "version": "0.0.53",   "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.52",+  "version": "0.0.53",   "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