← Commit history

v0.1.4: Barrett-parity library manipulation (clone/rename/read/copy/remove for symbols and footprints)

John Lauer ·dde42a202f ·1mo ago ·parent f92845a
6 files changed +35−6
CHANGELOG.md+3
@@ -1,5 +1,8 @@ # Changelog +## 0.1.4 — 2026-08-30+- Barrett-parity library manipulation: clone_symbol (all display modes, 555 primitives verified), rename_symbol, read_symbol (pins/params/modes read-back), copy_footprint (pads+bodies+drawing), rename_footprint, remove_footprint. Smoke-tested on the LAN7800 libraries with zero dialogs.+ ## 0.1.3 — 2026-08-30 - Symbol quality pass (John caught colliding 4-side names): tools/symbol_modes.py sizes bodies from measured pin-name lengths, std = CCW datasheet wrap (distinct from 2-column), die outline is a centred square skipped when it cannot fit; all ten modes frame-checked. - set_params/add_models parameters are hidden metadata (visible ones piled over the symbol).
SKILL.md+2
@@ -65,6 +65,8 @@ Altium is a licensed host app. The bridge never installs it silently; it detects | `altium_build_footprint` / `altium_build_symbol_modes` | author a footprint from a `tools/kicad2altium.py` spec (via pads, roundrect, mech layers) / ONE symbol with N display modes | `libraryPath`, `spec` | | `altium_add_models` / `altium_symbol_mode` | N footprint models + params on a symbol / switch display mode + frame | `symbolName`, `models[]`, `params` / `mode` | | `altium_test_board` / `altium_board_shape` / `altium_swap_footprint` | wired test board, rectangular board shape, footprint swap keeping nets | `footprintName`, `wMm`,`hMm`, `assigns` |+| `altium_clone_symbol` / `altium_rename_symbol` / `altium_remove_symbol` / `altium_read_symbol` | library manipulation on a SchLib (clone carries every display mode) | `from`,`to` / `symbolName` |+| `altium_copy_footprint` / `altium_rename_footprint` / `altium_remove_footprint` | the same for a PcbLib (copy carries pads, bodies, drawing) | `from`,`to` / `footprintName` | | `altium_pcb_report` / `altium_normalize_bodies` | ground truth (pads/bodies/nets/tracks with bboxes) / centre bodies on pads | `want:"board"`, `footprintName` | | `altium_save` | save the focused document (pre-clears a dangling transaction) | `filePath` | | `altium_signin_status` / `altium_license` / `altium_connect_workspace` | account + licence + workspace state; drive the License Management page (`action: show\|refresh\|use_license\|start_trial`) | — |
adom-bridge-altium-manifest.json+4−4
@@ -1,9 +1,9 @@ {   "name": "altium",-  "version": "0.1.3",-  "url": "https://wiki.adom.inc/download/adom/altium-bridge/0.1.3/adom-bridge-altium-v0.1.3.zip",-  "sha256": "18d44c9c7c518464d0ba9a3e3dd2feeb9458fb02228caaf4df3a4837b1382cbc",-  "size": 89586,+  "version": "0.1.4",+  "url": "https://wiki.adom.inc/download/adom/altium-bridge/0.1.4/adom-bridge-altium-v0.1.4.zip",+  "sha256": "18d981e360c0cef06edb7cd1292267909c6fe52e9da7dfebc4a04d2156e92054",+  "size": 91365,   "verbPrefixes": [     "altium_"   ],
adom-bridge-altium-v0.1.4.zipadded
⋯ 1 unchanged line ⋯
bridge.json+25−1
@@ -2,7 +2,7 @@   "manifest_version": 1,   "name": "altium",   "displayName": "Altium Designer",-  "version": "0.1.3",+  "version": "0.1.4",   "description": "Drive Altium Designer from Adom: a resident DelphiScript agent (eval + the 1,100-command process launcher), the X2 -R command line, UIA over the VCL shell, dialogs by PID, screenshots of every Altium window, and Altium 365.",   "homepage": "https://wiki.adom.inc/adom/altium-bridge",   "docs": "https://wiki.adom.inc/adom/altium-bridge",@@ -128,6 +128,30 @@     {       "name": "altium_remove_symbol",       "description": "Remove a component from a SchLib by LibReference"+    },+    {+      "name": "altium_clone_symbol",+      "description": "Clone a symbol in a SchLib (all display modes) under a new LibReference"+    },+    {+      "name": "altium_rename_symbol",+      "description": "Rename a SchLib component"+    },+    {+      "name": "altium_read_symbol",+      "description": "Read a symbol back: pins, params, description, display modes"+    },+    {+      "name": "altium_copy_footprint",+      "description": "Copy a footprint in a PcbLib under a new name (pads + bodies + drawing)"+    },+    {+      "name": "altium_rename_footprint",+      "description": "Rename a PcbLib footprint"+    },+    {+      "name": "altium_remove_footprint",+      "description": "Remove a footprint from a PcbLib"     }   ],   "statusVerb": "altium_status",
package.json+1−1
@@ -1,6 +1,6 @@ {   "slug": "altium-bridge",-  "version": "0.1.3",+  "version": "0.1.4",   "type": "app",   "description": "Skills for your container so your AI knows how to drive the Altium Designer bridge (altium_* verbs). The bridge runtime itself is the release zip; Adom Bridge loads that.",   "tags": [