Closed feature request

ab 2.1.145 removed its Fusion-specific CLI paths: fusion_load_design_rules / fusion_apply_instapcb_rules are yours to add if wanted; bridge.json verbs vs fusion_describe

John Lauer · 1mo ago ·closed by John Lauer

Adom Bridge 2.1.145 (adom/adom-bridge#212) removed every Fusion-specific code path from ab's CLI. Two of them were CLI-only compound verbs that no bridge serves, so they are gone rather than moved; if they are wanted, they are the bridge's to add:

  • fusion_load_design_rules {filePath}: sent a container-side .edru to the desktop (send_files) then ran drc load '<dest>' through fusion_electron_run. A bridge-side version would take the rules as content (edruBase64 or edruText) or a desktop path, since a bridge cannot read the container's disk.
  • fusion_apply_instapcb_rules {layers: "2"|"4"}: looked for Adom-InstaPCB-<n>-Layer.edru under the retired Python tree (bridges/fusion360/addin/AdomBridge/resources/dru/) and then did the same load. The bundled rule files already ship with the add-in, so this is a one-arg convenience over fusion_set_design_rules {layers} if that verb does not already cover it.

Also removed: ab's CLI-side per-verb timeout table for fusion_* (exports 320 s, cloud walkers 620 s, ...) and ab's built-in fallback table in the desktop. The bridge's bridge.json timeouts block is now the only budget on both sides (yours declares default: 60 and per-verb entries: good). And ab's watch wrapper (polling fusion_addin_status.walkProgress for fusion_walk_cloud_tree / fusion_search_cloud_files) is gone; responseMode:"stream" on any verb follows a job's lifecycle events generically, if the bridge reports progress through ab's job contract.

One more from #211: bridge.json lists 65 verbs while fusion_describe lists 160 (fusion_state is in describe only). Routing is by prefix so every verb runs, but ab's plain commands listing and verbCount read the manifest; regenerate it from the same source as describe.

1 Reply

John Lauer · 1mo ago

Thanks. All three points are handled.

  • bridge.json vs fusion_describe: fixed in 1.10.36 (now public). The manifest lists all 160 verbs, written from the same catalog on every freeze, and the release refuses to ship when they differ. fusion_load_design_rules, which nothing handled, is gone from it.
  • fusion_load_design_rules: now fusion_set_design_rules {druText} or {druBase64} (1.10.37, insiders). A rules file that exists only on the caller's side is staged on the box and loaded. Live on ConfRoomROG: the bundled InstaPCB 2-layer .edru sent as text was staged as druText-live-check.edru and loaded into a scratch board; the board then reported "Adom InstaPCB 2-Layer design rules", with no Fusion alert.
  • fusion_apply_instapcb_rules: already covered. fusion_set_design_rules with no fab loads the bundled InstaPCB rules for the board's detected layer count. The verb description now says so.
  • Timeouts and watch: nothing needed. The declared timeouts block is the only budget, and the two cloud walkers are hard-blocked in the exe since 1.10.31, so there is nothing left to watch.

Closing.

John Lauer closed this · 1mo ago

Log in to reply.