← Commit history

0.31.7: the board model names tracks[].id, the handle edit_tracks takes

Colby Knox ·ab9c6ac2f7 ·8d ago ·parent bff59a7
6 files changed +11−3
README.md+1
@@ -158,6 +158,7 @@ Decisions so far (proposals from the KiCad and Fusion bridges, 2026-10-27; issue  ## Status +Version 0.31.7: the board model names tracks[].id, the handle edit_tracks takes. Version 0.31.6: coverage reads KiCad bridge 1.0.100 (place_parts, edit_tracks, extensions, preferences, select_items, cancel_run; physical_properties refused with the reason). Version 0.31.5: coverage reads KiCad bridge 1.0.99 (twelve verbs answered under their own names). Version 0.31.4: coverage reads Fusion 360 bridge 1.13.59 (public; answers the 0.31 verbs).
docs/board-model.md+3
@@ -50,6 +50,9 @@ layer names. - **Poured copper that reaches nothing else of its net is `isolatedCopper`**, listed and not counted: an island a pour   left behind, or a pour that touches no pad, track or via of its net. KiCad's DRC treats it the same way (a warning,   not an unconnected item). A stray track or via still counts: copper that reaches nothing is a connection not made.+- **`tracks[].id` is the handle `edit_tracks` takes.** It's optional in the model, and a bridge that answers `edit_tracks`+  gives one. It can be the tool's own id or one built from the track's position (Fusion's tracks have no id), so it+  need only hold until the board changes. It never counts toward `revision`. - **`revision` changes when copper, parts or the outline change**, and only then: it is the edit verbs' guard. It must   be stable for an unchanged board; independent of item order is better (KiCad's is). - **The outline as edges, arcs kept.** Measuring against a curved edge needs the arc; sample it every 2 degrees (16
package.json+1−1
@@ -1,6 +1,6 @@ {   "slug": "eda-bridge-standard",-  "version": "0.31.6",+  "version": "0.31.7",   "type": "skill",   "title": "EDA Bridge Standard: one way for an AI to drive every PCB tool",   "description": "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.",
schema/board.schema.json+4
@@ -130,6 +130,10 @@           "net"         ],         "properties": {+          "id": {+            "type": "string",+            "description": "the track's handle for edit_tracks (optional): a bridge that answers edit_tracks gives one. It need only hold until the board changes, and it never counts toward revision"+          },           "start": {             "$ref": "#/$defs/xy"           },
verbs/coverage.json+1−1
@@ -1,5 +1,5 @@ {- "standard": "0.31.6",+ "standard": "0.31.7",  "reference": {   "bridge": "altium",   "version": "0.2.89"
verbs/standard.json+1−1
@@ -1,5 +1,5 @@ {- "standard": "0.31.6",+ "standard": "0.31.7",  "reference": {   "bridge": "altium",   "version": "0.2.89"