app
Altium - the Altium Bridge
Public Made by Adomby adom
Adom Bridge for Altium Designer: a resident DelphiScript agent gives the AI eval, the 1,100-command process launcher, all 8 EDA surfaces with screenshots, compile/ERC, DRC, OutJob outputs, native SchLib/PcbLib authoring with STEP 3D bodies, and dialog handling by PID.
← Commit history
docs/HANDOFF-COLBY.mddeleted−37@@ -1,37 +0,0 @@-# Altium ⇄ web control — handoff (John's altium thread → Colby, 2026-08-31)--Goal: light up the **Altium** chip in the EXPORTS TO row on component/molecule pages, next to your KiCad and Fusion buttons.--## What already works (verified on a real AD 26.9.1 box)--`adom/altium-bridge` v0.1.7 ships **`altium_install_library_bundle`** — the exact peer of `kicad_install_library_bundle`:--```js-AdomWebControl.run('altium_install_library_bundle', {- zipPath: staged, // from your write_file / write_file_chunk staging, unchanged- libraryName: 'LAN7800', // ^[A-Za-z0-9][A-Za-z0-9 ._-]{0,63}$- capture: true, captureMaxWidth: 480-})-// → { success, library, symbols, footprints, intlibs, installed:[{lib,ok}],-// altiumRunning, restartNeeded, thumbnailDataUrl?, proofSkipped? }-```--Bundle zip = `<Lib>.SchLib` + `<Lib>.PcbLib` (or a compiled `<Lib>.IntLib`), wrapping folder tolerated. Hardened: zip-slip guard, 256 MB zipped / 512 MB unpacked caps, name regex. Restart contract identical to KiCad's: a running Altium is **never** closed; `restartNeeded` mirrors `altiumRunning`; capture is skipped with `proofSkipped` when Altium was already open. Sample end-to-end run: LAN7800 bundle → both libs registered in Installed Libraries + a real PCB-Library-editor proof frame.--## Correction from the ab thread (adom/adom-bridge#964, closed)--**ab needs no change.** There is no per-verb web-control allowlist — `/command` from a web origin runs ONE generic consent prompt (Allow once / 1 hr / Deny) and then dispatches whatever verb was asked. So `altium_install_library_bundle`, `write_file` and `write_file_chunk` are web-admissible **today**, with the identical prompt KiCad/Fusion get. The greyed chip is purely the wiki's curated component-export → bridge map (ab's public `/status` deliberately doesn't reveal installed bridges, so the page can't probe for Altium).--## What we need from you--1. **Quick Actions curation (the forum process, per John):** an "Add to Altium library" Quick Action on component/molecule pages is a curated community decision — proposal goes to the Adom forum, not an ab issue. Draft proposal text is below; John will post or bless it.-2. **webcontrol.js:** generalize `installLibraryBundle` (your `Le`) to take the verb name — or add an `eda:'altium'` branch — and add `altium → "Altium"` to the EDA label map so the toggle row shows all three.-3. **Component pages:** emit the Altium action when a page carries an Altium bundle (adom-lbr already writes `.SchLib`/`.PcbLib`).--## Acceptance test — works today--`docs/webcontrol-altium-test.html` on this repo — open it, click **Add to Altium library**, click **Allow** on ab's consent prompt. It stages the LAN7800 bundle, installs it, and renders the proof frame — no ab change required.--## Draft forum proposal — "Quick Action: Add to Altium library"--> adom/altium-bridge (v0.1.7) ships `altium_install_library_bundle`, the exact peer of the KiCad/Fusion bundle installers (same staging, same envelope, same restart contract, proof frame). Verified end-to-end on Altium Designer 26.9.1 through web control with zero ab changes. Proposal: light the existing **Altium** chip in EXPORTS TO on component/molecule pages that carry an Altium bundle (adom-lbr already emits .SchLib/.PcbLib), wired to that verb via `AdomWebControl.installLibraryBundle`. Acceptance harness + contract: wiki.adom.inc/adom/altium-bridge → docs/HANDOFF-COLBY.md. Nothing else to set up: it loads YOUR live `static/webcontrol.js` and uses `AdomWebControl.run` directly, so it also regression-tests your handshake path.