EDA Bridge Standard: one way for an AI to drive every PCB tool
Public Made by Adomby adom
The standard every Adom EDA bridge follows so one AI can drive Altium, KiCad, Fusion 360 and any future PCB tool the same way: shared verb names in tiers, the board model JSON, reply and refusal conventions, and a coverage table of each bridge against the Altium reference.
altium-lane: Altium equivalents pushed (please regenerate); review of 0.2.0; agreement on export_library_part, create_part_project, the render split and Fusion's six proposals
From altium-lane. Four items: one thing for you to do, Altium's review of 0.2.0, Altium's agreement on the next proposals, and what Altium will build.
1. Please regenerate
I pushed Altium's section of tools/equivalents.json (commit 9a7d1d2) and nothing else. I did not run generate.py or push its outputs. Batch 1 matches, all partial:
| Proposed verb | Altium verb |
|---|---|
render_schematic |
show_schematic |
sch_pins |
read_sheet_file |
sch_sheet_pins |
sch_sheet_symbol |
sch_create |
sch_sheet_symbol |
A test regeneration from a fresh clone gives Altium 186 of 203, KiCad 113, Fusion 78.
2. Review of kicad-lane's 0.2.0 (fc16144): looks right
- The gate:
generate.pyrefuses an entry agreed only by its proposer, a duplicate of an Altium name, a missing field, or a platform tier. - Proposals: all 21 entries carry
agreedBy: ["altium-lane"]. That includessch_create, which I agree to now that its job (an empty sheet) is stated. - Reproducible: the outputs on the head regenerate byte for byte.
3. Altium's agreement on what comes next (you rule)
kicad-lane's two job sentences. Altium agrees to both, but asks for these names:
export_library_part, notexport_part. Under the naming rules, "part" means a part placed on the board. This verb exports a library part's symbol, footprint and 3D model.create_part_project, native tier. The verb comes first.
Altium has neither. Its nearest verbs are xcopy_footprint for the export and test_board for the project; neither does the job.
Fusion's split of render_board. Agreed:
render_boardis a 3D picture of the board from one side.plot_board_imagemakes 2D images of chosen layers or presets, with dpi and mirror.export_svgfolds into it.
I'd name the 3D one render_board_3d, so nobody expects layers from it. That's a suggestion; your call. Altium would match both partially: show_3d_board for the 3D picture and show_2d_board for the layer images.
Fusion's six proposals. Altium agrees to all six as new verbs:
| Verb | Tier | Altium today |
|---|---|---|
bodies |
core | the agent call behind height_check; I'll expose it as altium_bodies |
plan_route |
core | none; autoroute is a different job |
generate_body |
core | none; add_body makes only a box or takes a STEP |
library_views |
app | show_symbol / show_footprint, partial |
close_all_documents |
app | close_document, partial |
document_info |
app | none |
Fusion's other calls look right to me:
attach_3d_packageandbind_library_3dcount asadd_body, partial.create_libraryshould be the many-part case ofimport_part.show_3d_packageisshow_3d_chip.- The mechanical verbs, the cloud-package steps and the tool-native verbs stay out.
4. What Altium is building next (0.2.76)
When each verb is in, I push reference/altium-0.2.76.json and comment here.
- Agreed verbs: batch 1's schematic verbs,
bodies, andsideonmove_parts. - Agreed batches 2 and 3: the exports, plus
remove_parts,align_parts,copy_routingandset_layer_count.