app
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.
← Commit history
Publish 1.9.106
10 files changed
+31−12
BRIDGE_VERSION+1−1@@ -1 +1 @@-1.9.90+1.9.91
adom-bridge-fusion-manifest.json+4−4@@ -1,10 +1,10 @@ { "manifest_version": 1, "name": "fusion360",- "version": "1.9.90",- "url": "https://wiki.adom.inc/download/adom/fusion-bridge/1.9.105/adom-bridge-fusion-v1.9.90.zip",- "sha256": "f8bb0b9e3d0392f795cf7d86d6895f821f7db1a09f4797bfb9e5c8a6368f29a1",- "size": 428521,+ "version": "1.9.91",+ "url": "https://wiki.adom.inc/download/adom/fusion-bridge/1.9.106/adom-bridge-fusion-v1.9.91.zip",+ "sha256": "18ffb7e842fb07e2f1d2978e38228c30c780079d6919f70d423a67d3a8175567",+ "size": 428772, "verbPrefixes": [ "fusion_" ],
bin/fusion-dashboard⋯ 1 unchanged line ⋯
bridge.json+1−1@@ -2,7 +2,7 @@ "manifest_version": 1, "name": "fusion360", "displayName": "Autodesk Fusion 360",- "version": "1.9.90",+ "version": "1.9.91", "description": "Drive Autodesk Fusion 360 from the cloud: launch Fusion, electronics board layout, design rules, exports (STEP/IGES/STL/3MF/USDZ/OBJ/DXF/DWG/Gerbers/BOM/CPL), fast APS server-indexed cloud search plus browse/recent/file-info/versions, cloud file download/upload and folder creation, and in-app parametric modeling (fusion_run_modeling_script). Never-charge: APS calls are capped to the free tier.", "homepage": "https://wiki.adom.inc/adom/fusion-bridge", "author": "Adom Inc.",
dashboard/Cargo.lock+1−1@@ -4,7 +4,7 @@ version = 4 [[package]] name = "fusion-dashboard"-version = "1.9.105"+version = "1.9.106" dependencies = [ "serde_json", ]
dashboard/Cargo.toml+1−1@@ -1,6 +1,6 @@ [package] name = "fusion-dashboard"-version = "1.9.105"+version = "1.9.106" edition = "2021" [dependencies]
install.sh+1−1@@ -21,7 +21,7 @@ echo "Installed fusion-bridge skills: $(ls "$PKG_DIR/skills" 2>/dev/null | tr '\ # binary (the three-artifact pattern: bridge zip -> ab, THIS pkg -> container skills + # this download, page media -> wiki). Per the wiki's PKG_VS_RELEASE policy, binaries are # platform-tagged RELEASE assets, never tarball content - the installer fetches them.-DASH_VERSION="1.9.105"+DASH_VERSION="1.9.106" DASH_URL="https://wiki.adom.inc/download/adom/fusion-bridge/${DASH_VERSION}/fusion-dashboard" DEST="" if [ -w /usr/local/bin ]; then DEST=/usr/local/bin
package.json+1−1@@ -1,6 +1,6 @@ { "slug": "fusion-bridge",- "version": "1.9.105",+ "version": "1.9.106", "type": "app", "description": "This package installs the bridge's SKILLS into your container so your AI knows how to drive it; Adom Bridge loads the bridge runtime itself from the release zip.", "dependencies": {
page.json+1−1@@ -1,6 +1,6 @@ { "slug": "fusion-bridge",- "version": "1.9.105",+ "version": "1.9.106", "type": "app", "description": "This package installs the bridge's SKILLS into your container so your AI knows how to drive it; Adom Bridge loads the bridge runtime itself from the release zip.", "dependencies": {
server.py+20−1@@ -4826,9 +4826,28 @@ def _handle_fusion_state(fusion_info: dict, args: dict) -> dict: auto-refused over ~4MB - pull the path via read_file instead).""" running = _is_fusion_running() result = {"success": True, "running": running}+ # THESE TWO SURVIVE A CLOSED FUSION, ON PURPOSE (caught re-testing #82, 2026-08-20).+ # focusEvents is the QUIETNESS AUDIT LOG and timings is on-disk measured history -+ # neither needs the app to be up, and both are most likely to be asked for exactly when+ # it is NOT (after a run, reviewing what the bridge did). They used to sit below the+ # not-running early return, so an auditor closing Fusion lost the evidence.+ try:+ with _FOCUS_LOCK:+ result["focusEvents"] = list(_FOCUS_EVENTS[-20:])+ except Exception:+ result["focusEvents"] = []+ try:+ import timings as _tm0+ result["timings"] = _tm0.summary()+ _s0 = _tm0.sentence()+ if _s0:+ result["timingsSentence"] = _s0+ except Exception:+ pass if not running: result["_hint"] = ("Fusion is not running - nothing to render. fusion_start launches it "- "in the background; fusion_demo {mode:'tour'} cold-starts it itself.")+ "in the background; fusion_demo {mode:'tour'} cold-starts it itself. "+ "focusEvents and timings ARE still reported - they do not need Fusion.") result["output"] = json.dumps({"running": False}) return result info = get_fusion_window_info() or {}