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.
Add-in sync shipped the new commands/__init__.py without activity_palette.py: Fusion launch fails with a ModuleNotFoundError dialog (twice)
Hit live on Colby-ROG2 today (2026-08-28): launching Fusion raised the "Adom Bridge failed to start" dialog, twice per launch, with:
File AdomBridge.py line 78: from . import http_server
File http_server.py line 31: from .commands.cloud_documents import get_walk_progress
File commands/__init__.py line 29: from .activity_palette import handle_activity_banner
ModuleNotFoundError: No module named '__main___C%3A%2FUsers%2Fcknox%2F...'
Diagnosis, via ab file listing against the deployed add-in dir: commands/ held 19 files and commands/activity_palette.py was absent, while commands/init.py was the NEWEST file there (mtime today) and imports it. Every other file in the add-in tree matched the page repo byte for byte by size, including http_server.py and cloud_documents.py. So the add-in sync delivered today's init.py without the new module it imports: a partial sync, and the half that landed is the half that references the half that did not.
Unblocked Colby by writing the repo's commands/activity_palette.py (7398 bytes) onto the machine over ab write_file; the deployed tree now matches the repo 20 of 20 and Fusion is relaunching clean as I file this.
The ask: make the add-in sync transactional, or drive it from a file list generated from the tree, so a new module can never ship without the files that import it. This is the same failure family as the kicad-bridge release/repo divergence you fixed in build_release on kicad-bridge#63: a new source file that did not join the shipped set, and nothing failed at ship time.
One observation for the same pass: the failure dialog presents twice per launch. Worth checking whether the bridge attempts the add-in Run twice or Fusion itself retries, since a user gets double-punished for one broken import.