Fusion - the Fusion 360 Bridge
Public Made by Adomby adom
Drive Autodesk Fusion 360 from the cloud via Adom Bridge: component libraries, IPC package generation, board layout, exports (STEP/Gerbers/BOM/CPL), fast APS cloud search, and parametric modeling.
fusion_new_electronics_from_eagle: Open dialog is never filled, reply says it was cancelled but it stays up and blocks Fusion
Summary
fusion_new_electronics_from_eagle {schPath, brdPath} fires ImportSCHAndBRDCmd, finds Fusion's native Windows Open dialog, and never puts the path into it. The File name box stays empty and the dialog stays on the Documents root. The verb then returns failure saying it cancelled the dialog, but the dialog is still on screen and Fusion's main thread stays blocked until the dialog is closed by hwnd. This is 4 of 4 attempts on bridge 1.13.21 (and the same error string on 1.13.14 earlier the same evening). It looks like a regression or a new variant of closed #90: the dialog is now detected, but it is not driven and not really closed.
Environment
- fusion-bridge 1.13.21 (readinessOwner exe), Fusion add-in 1.0.26 (expectedAddinVersion 1.0.26, addinStale false)
- Adom Bridge 2.1.168 and Hydrogen 1.0.666 (as noted on Oct 29), Windows 11 PC with the Adom-Workspace WSL container
- Caller: adom-aiflow 0.2.26,
adom-aiflow fusion schematic(Fusion lane) - Fusion 360 build: not captured (fusion_get_app_state does not report it)
fusion_readiness (via fusion_status alias) right before the run:
{"addinStale":false,"addinVersion":"1.0.26","aliasOf":"fusion_readiness","bridgeVersion":"1.13.21","expectedAddinVersion":"1.0.26","hostApp":"Fusion 360","installed":true,"installing":false,"kicadIngest":false,"lastReadyAt":"2026-10-29T20:25:22","lastSignedInAt":"2026-10-29T20:25:22","readinessOwner":"exe","ready":true,"running":true,"statusVerb":"fusion_get_app_state","success":true,"timeoutSeconds":60}
Exact calls
AI Flow (tools/fusion-project.py around lines 970 to 984) makes these two bridge calls:
fusion_board_seed {libraryPath, outDir, name:"Seed", title, outlineMm, fixed, rules}succeeds and writesSeed.sch(4.5 KB) andSeed.brd(14.8 KB) into one space-free folder on the C drive:C:\Users\<user>\Documents\AdomAiFlow\<run>\design\. Both files exist on disk after the failure.fusion_new_electronics_from_eagle {"schPath": "<that folder>/Seed.sch", "brdPath": "<that folder>/Seed.brd"}, then pollsfusion_eagle_import_status {runId}until the stage is not running.
The import status result error, as surfaced by AI Flow:
the design import did not finish: Fusion's Open dialog did not accept 'Seed.sch' (it was not in the folder the dialog showed, or the name did not match); the bridge cancelled the dialog so nothing is left on screen.
That text is the open_dialog_stuck branch in new_electronics_from_eagle (rust/bridge/src/orchestrations.rs), so the reply carries "errorCode": "open_dialog_stuck", "wanted": "Seed.sch", "imported": [] and the _hint "Nothing was imported. Put the .sch and .brd together in one space-free folder, pass both absolute paths, and retry; or use the dialog-free routes ...". The full raw reply JSON was not preserved by the caller, only the error string above.
Actual
- The Windows Open dialog (title "Open", filter "All supported files") sits at the Documents root with an empty File name box. The bridge did not type the full path and did not browse to the folder. The inputs already meet the hint's conditions (both files together, absolute paths, no spaces in the folder), so the hint's advice does not apply.
- The reply says "the bridge cancelled the dialog so nothing is left on screen", but the dialog is still open. The
desktop_close_window {hwnd}step after the 8 second wait did not close it. - While the dialog is up,
fusion_get_app_statefails withmain_thread_busy(run_modeling_script "from another bridge/session"). fusion_dismiss_blocking_dialogsreturns "No blocking Fusion dialog is open" (count 0), whilefusion_check_dialogsreports 1 open dialog (kind file_dialog, resolution "cancelled safely with WM_CLOSE"). The two verbs disagree, and neither one actually clears it.- Only
fusion_close_window {hwnd}sent by hand cleared the dialog and freed Fusion. - Each attempt leaves two empty "Untitled" electronics documents open.
Expected
- The bridge fills the File name box with the full path and submits it, as the code intends (
desktop_ui_seton the "File name:" Edit with submit), or the fallback click route works. - If that fails, the dialog really is closed before the verb returns, and the reply does not claim it was cancelled unless the dialog is gone.
fusion_dismiss_blocking_dialogstreats a leftover native Open dialog as blocking and closes it, consistent withfusion_check_dialogs.- The empty seed documents created by the failed import are closed.
Repro
4 of 4 attempts on Oct 29, 2026 across two separate AI Flow runs on the same PC. The second attempt of the second run was from a clean Fusion session (half-finished designs closed, no dialogs open). Earlier the same evening the same error string appeared 3 times on bridge 1.13.14, so it is not a one-off.
Steps: in a clean Fusion session, call fusion_board_seed to write Seed.sch and Seed.brd to a space-free folder, then call fusion_new_electronics_from_eagle with both absolute paths and poll fusion_eagle_import_status.
Workaround
None that keeps the caller's flow. The schematic stage is blocked, so placement, routing and DRC cannot run. The _hint points at fusion_open_board {filePath} and fusion_schematic {action:"open"} as dialog-free routes, but AI Flow's schematic stage calls fusion_new_electronics_from_eagle, so the run stops here. STEP imports reportedly go through the same dialog path.
Related: #90 (closed), where this verb raised an Open dialog the bridge could not see.