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
v1.9.70: state base64 downscale
4 files changed
+25−7
BRIDGE_VERSION+1−1@@ -1 +1 @@-1.9.69+1.9.70
CHANGELOG.md+7@@ -3,6 +3,13 @@ All notable changes to the Adom Bridge Fusion 360 bridge, newest first. Canonical: https://wiki.adom.inc/adom/fusion-bridge ยท GitHub backup: `adom-inc/fusion-bridge` +## 1.9.70 - 2026-08-18 (ralph)++- **fusion_state imageAs:base64 now DOWNSCALES instead of refusing.** On a PIL-less bridge the+ capture is a ~24MB BMP, which blew the 4MB inline cap, so every Dashboard surface card came back+ with no image at all (found by driving the Library surface end to end). It now falls back to the+ stdlib downscaler (<=1280px) exactly like the tour gallery, and says so in screenshotNote.+ ## 1.9.69 - 2026-08-18 (ralph loop findings) - **Driving badge: diagnostics + transport fallback.** The badge silently never appeared on one box
adom-bridge-fusion-manifest.json+4−4@@ -1,10 +1,10 @@ { "manifest_version": 1, "name": "fusion360",- "version": "1.9.69",- "url": "https://wiki.adom.inc/download/adom/fusion-bridge/1.9.69/adom-bridge-fusion-v1.9.69.zip",- "sha256": "8ed73542d0b42a1ae74a5df2295cd388ffa74c745d506c7ec164349a5de1bf21",- "size": 408678,+ "version": "1.9.70",+ "url": "https://wiki.adom.inc/download/adom/fusion-bridge/1.9.70/adom-bridge-fusion-v1.9.70.zip",+ "sha256": "791673017933c7589428c09e75209122cdd99d826e33fc5fb17710b28cc92d4d",+ "size": 408960, "verbPrefixes": [ "fusion_" ],
server.py+13−2@@ -4559,8 +4559,19 @@ def _handle_fusion_state(fusion_info: dict, args: dict) -> dict: if len(raw) <= 4 * 1024 * 1024: result["screenshotBase64"] = _b64.b64encode(raw).decode("ascii") else:- result["screenshotNote"] = ("PNG is %dKB (>4MB inline cap) - pull "- "result.screenshot via read_file." % (len(raw) // 1024))+ # DOWNSCALE instead of refusing (ralph, 2026-08-18: a PIL-less bridge+ # saves 24MB BMPs, so every Dashboard surface card came back with no+ # image at all). Same path the tour gallery uses.+ small = _shot_b64_small(shot["savedTo"], max_w=1280)+ if small:+ result["screenshotBase64"] = small+ result["screenshotNote"] = ("downscaled to <=1280px (raw capture is "+ "%dMB) - pull result.screenshot for full size"+ % (len(raw) // (1024 * 1024)))+ else:+ result["screenshotNote"] = ("capture is %dKB (>4MB inline cap) and could "+ "not be downscaled - pull result.screenshot "+ "via read_file." % (len(raw) // 1024)) except Exception as e: result["screenshotError"] = str(e) hints = []