← Commit history

fusion-lane: propose physical_properties, preferences, select_items, cancel_run (agreed by altium-lane, kicad-lane) and their equivalents

Colby Knox ·ad6bcbde61 ·8d ago ·parent 71e07ee
2 files changed +151
tools/equivalents/fusion360.json+19
@@ -514,5 +514,24 @@   "fusion_edit_pours",   "partial",   "minimum width, clearance, thermals, rank and orphans, refilled and read back (net and layer name a pour when it is the only one there); a pour's net cannot be moved in place (a polygon belongs to its signal)"+ ],+ "physical_properties": [+  "fusion_physical_properties",+  "exact"+ ],+ "preferences": [+  "fusion_preferences",+  "exact",+  "Fusion's appearance and navigation settings, applied live with no restart"+ ],+ "select_items": [+  "fusion_select_items",+  "partial",+  "parts by designator; verified is always false, since Fusion does not report its electronics selection back"+ ],+ "cancel_run": [+  "fusion_cancel_run",+  "partial",+  "library imports (fusion_create_library, fusion_install_library_bundle): the only long jobs that stop between steps"  ] }
tools/proposed/fusion-lane.json+132
@@ -510,5 +510,137 @@    "standard-lane",    "altium-lane"   ]+ },+ {+  "name": "physical_properties",+  "tier": "native",+  "summary": "Per component: volume, mass, density, surface area and centre of mass, from the tool's own materials. A tool with no materials or part masses answers unsupported with the reason. Read only.",+  "input": {+   "names": "[component name] (default every component)",+   "accuracy": "low|medium|high|veryhigh, default low"+  },+  "output": {+   "count": "int",+   "properties": "{name: {volume_cm3, mass_kg, density, area_cm2, center_of_mass}}"+  },+  "hint": "bodies gives each part's box on the board; this gives what it weighs.",+  "pitfalls": [+   "Mass is only as good as the material on the part."+  ],+  "related": [+   "bodies",+   "component_data"+  ],+  "example": {+   "names": [+    "Enclosure"+   ]+  },+  "longRunning": false,+  "timeoutSeconds": 120,+  "proposedBy": "fusion-lane",+  "since": "0.30.14",+  "agreedBy": [+   "altium-lane",+   "kicad-lane"+  ]+ },+ {+  "name": "preferences",+  "tier": "app",+  "summary": "Read the tool's own settings, or change them with set. Reports per key what was applied; a setting that cannot change while the tool runs is refused by name.",+  "input": {+   "set": "{key: value} (omit to read)"+  },+  "output": {+   "current": "{key: value}",+   "applied": "{key: {ok, requested}} (with set)"+  },+  "hint": "Read first: the keys differ per tool.",+  "pitfalls": [+   "Some tools write settings back on exit, so set may need the tool closed."+  ],+  "related": [+   "tool_update"+  ],+  "example": {+   "set": {+    "lengthUnit": "mm"+   }+  },+  "longRunning": false,+  "timeoutSeconds": 30,+  "proposedBy": "fusion-lane",+  "since": "0.30.14",+  "agreedBy": [+   "altium-lane",+   "kicad-lane"+  ]+ },+ {+  "name": "select_items",+  "tier": "app",+  "summary": "Select parts in the open schematic or board by designator, or clear the selection. verified says whether the tool could read the selection back.",+  "input": {+   "refs": "[designator]",+   "clear": "bool"+  },+  "output": {+   "selected": "[ref]",+   "failed": "[{ref, error}]",+   "verified": "bool"+  },+  "hint": "select_net selects one net; sch_zoom also frames the view; selection reads what the user selected.",+  "pitfalls": [+   "A tool that cannot report its selection answers verified:false: look at the view."+  ],+  "related": [+   "select_net",+   "sch_zoom",+   "selection"+  ],+  "example": {+   "refs": [+    "R1",+    "R2"+   ]+  },+  "longRunning": false,+  "timeoutSeconds": 30,+  "proposedBy": "fusion-lane",+  "since": "0.30.14",+  "agreedBy": [+   "altium-lane",+   "kicad-lane"+  ]+ },+ {+  "name": "cancel_run",+  "tier": "app",+  "summary": "Stop a long job the bridge started. Cooperative, not a kill: the job finishes the step it is on and keeps what is done. With nothing to stop it answers cancelRequested:false and says why.",+  "input": {+   "runId": "str (default the latest run in flight)"+  },+  "output": {+   "cancelRequested": "bool",+   "runId": "str",+   "stage": "str at the time of the request"+  },+  "hint": "Poll the job's own status verb to see it stop.",+  "pitfalls": [+   "Which jobs can stop differs per bridge: Fusion's library imports, KiCad's autoroute, Altium's multi-step verbs between steps."+  ],+  "related": [+   "status"+  ],+  "example": {},+  "longRunning": false,+  "timeoutSeconds": 30,+  "proposedBy": "fusion-lane",+  "since": "0.30.14",+  "agreedBy": [+   "altium-lane",+   "kicad-lane"+  ]  } ]