← Commit history

demo: declare 300s timeout (AD was cutting it at 60s), and offer the install with honest tier facts (30-day trial is full-featured; Personal Use free but limits electronics; expired still opens/views)

John Lauer ·2fd5d169d8 ·2mo ago ·parent a63d18c
5 files changed +38−12
BRIDGE_VERSION+1−1
@@ -1 +1 @@-1.6.84+1.6.85
bridge.json+3−2
@@ -2,7 +2,7 @@   "manifest_version": 1,   "name": "fusion360",   "displayName": "Autodesk Fusion 360",-  "version": "1.6.84",+  "version": "1.6.85",   "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/adom-desktop-fusion-bridge",   "author": "Adom Inc.",@@ -172,7 +172,8 @@       "start": 90,       "install_fusion": 90,       "set_preference": 40,-      "get_preferences": 25+      "get_preferences": 25,+      "demo": 300     },     "prefixes": [       {
page.json+2−3
@@ -1,6 +1,6 @@ {   "slug": "adom-desktop-fusion-bridge",-  "version": "1.6.84",+  "version": "1.6.85",   "type": "app",   "description": "Installs this bridge's skills into your container so your AI knows how to drive the bridge. The bridge runtime itself is loaded by Adom Desktop from the release zip.",   "dependencies": {@@ -73,6 +73,5 @@     "set up the fusion bridge"   ],   "discovery_pitch": "Use the Adom Desktop Fusion 360 bridge when the user wants to DRIVE Autodesk Fusion 360 from the cloud: open/search their team's Fusion cloud designs, lay out a PCB or do electronics, export STEP/IGES/STL/Gerbers/BOM, or build a component library with real rendering 3D. It runs Fusion on the user's own machine via Adom Desktop. NOT for web/browser/login/form-filling (that's the native-browser extension) and NOT for KiCad (that's the kicad bridge).",-  "brief": "Drive Autodesk Fusion 360 from the cloud via Adom Desktop: component libraries, IPC package generation, board layout, exports (STEP/Gerbers/BOM/CPL), fast APS cloud search, and parametric modeling.",-  "visibility": "public"+  "brief": "Drive Autodesk Fusion 360 from the cloud via Adom Desktop: component libraries, IPC package generation, board layout, exports (STEP/Gerbers/BOM/CPL), fast APS cloud search, and parametric modeling." }\ No newline at end of file
server.py+14−4
@@ -3619,10 +3619,20 @@ def _orchestrate_demo(args: dict) -> dict:     rd = _handle_fusion_readiness({}, {})     if not rd.get("installed"):         return _out("not_installed",-            "Fusion 360 isn't installed yet - I can install it for you (free trial is plenty for this demo).",-            "OFFER the install, then call fusion_install_fusion (streams the free trial, 10-30 min; "-            "poll fusion_readiness until installed:true), then call fusion_demo again. See the "-            "fusion-onboarding skill.")+            "Fusion 360 isn't installed yet - want me to install it? It's a free 30-day trial with "+            "everything switched on, so the whole tour works: real boards, schematics, 3D, Gerber and "+            "BOM exports, cloud search. After the trial, Fusion for Personal Use stays free for "+            "non-commercial work (hobby PCBs up to 2 layers), and even an expired install can still "+            "OPEN and VIEW your designs.",+            "OFFER the install - do not just report it is missing. Say what they GET: the free 30-day "+            "trial is FULL-FEATURED (every step of this demo works: electronics, schematic, 2D/3D "+            "board, Gerbers/BOM/CPL, APS cloud search). Be honest about after: Fusion for Personal Use "+            "is free for non-commercial use but LIMITS electronics (about 2 layers / 2 schematic "+            "sheets / small board area) and some exports; an expired or read-only install can still "+            "OPEN + VIEW + browse designs (it only blocks save/export/modify), so their work is never "+            "locked away. Then call fusion_install_fusion (no shell approval needed; streams the "+            "installer, 10-30 min), poll fusion_readiness until installed:true, and call fusion_demo "+            "again to continue the tour. Full flow: the fusion-onboarding skill.")     if not rd.get("running"):         steps.append("launched Fusion")         _handle_launch({}, {})
skills/fusion-demo/SKILL.md+18−2
@@ -87,8 +87,24 @@ Close by offering next steps in the user's own words, not verb names: "export th a SOIC-8 with my part number etched on it", "check this against JLCPCB rules", "find my other boards". The full catalog is `fusion_describe`. -## If something is missing+## If Fusion isn't installed: offer it, and say what they actually get++Do not just report "not installed". OFFER, and be concrete AND honest about the tiers:++- **Free 30-day trial: fully featured.** Every step of this demo works - electronics design,+  schematic, 2D board, 3D board, Gerber/BOM/CPL exports, APS cloud search. This is the one to start+  on; there is no reason to hedge about it.+- **After the trial: Fusion for Personal Use is free** for non-commercial work. Still genuinely+  useful for hobby PCBs, but it LIMITS electronics (roughly 2 layers, 2 schematic sheets, a modest+  board area) and some export options. Say that plainly rather than letting them discover it.+- **Even an expired / read-only install still OPENS and VIEWS designs** (it only blocks+  save/export/modify), so nothing they make gets locked away.++Then `fusion_install_fusion` (no shell approval needed, streams the installer, 10-30 min), poll+`fusion_readiness` until `installed:true`, and call `fusion_demo` again to pick the tour back up.+Full flow: **fusion-onboarding**.++## If something else is missing -- Fusion not installed -> offer the install, `fusion_install_fusion`, then resume (fusion-onboarding). - Nothing to open -> ask which board, or `fusion_aps_search` and open the first hit. - Never end a demo on an error screen. If a stage fails, say what you tried, and offer the next thing.