← Commit history

README: full 55-verb catalog + expanded APS section (disabled old search, ABE native sign-in, why-Autodesk, verb table)

John Lauer ·facc969098 ·3mo ago ·parent 865bd92
2 files changed +129−10
README.md+128−9
@@ -157,16 +157,57 @@ array + screenshots** and the AI can never fly blind past one. - `fusion_check_dialogs` polls the dialog array on demand; `fusion_dismiss_blocking_dialogs` clears   the known-safe ones. -## โšก Fast cloud search + file management (APS)+## โšก Fast cloud search + file management (APS) - the ONLY cloud-search path -`fusion_aps_search` finds any design in the team's Fusion cloud in ~2 seconds (server-indexed - not-a slow tree walk), plus browse / recent / file-info / versions / upload / download / folder creation.+`fusion_aps_search` finds any design in the team's Fusion cloud in **~2 seconds** (server-indexed),+plus browse / recent / file-info / versions / upload / download / folder creation, and+`fusion_aps_open` opens any design by name at any folder depth. -**Authentication:** APS uses Autodesk's official OAuth (PKCE). Setup is **once per company** - an-admin registers the APS app (`fusion_aps_set_client_id`), then **each user signs in once** in a-browser (`fusion_aps_signin`); tokens refresh silently afterward. It is **per-org by design**: each-company uses its own APS app, credentials, and quota. **You are never charged** - the bridge caps-all calls to Autodesk's free tier.+### Why APS (and why the old in-app search is now DISABLED)++Autodesk offers **no fast file-search API** for Fusion. The only in-app option walks the cloud+folder tree from the add-in, which takes **30+ minutes** and can **crash Fusion** (WinError 10054).+We searched far and wide; **APS (Autodesk Platform Services) Data Management is the only thing+Autodesk offers that actually works.** So as of **v1.6.76** the old verbs+(`fusion_search_cloud_files`, `fusion_walk_cloud_tree`) are **hard-disabled in code** - they return+an error that redirects to APS and can no longer reach (or crash) Fusion. There is no fallback;+APS is the path. It costs a one-time OAuth sign-in, and once set up it is fast and stays signed in.++### Authentication (one-time, then silent)++APS uses Autodesk's official OAuth (PKCE). Setup is **once per company** (an admin registers the+APS app, `fusion_aps_set_client_id`), then **each user signs in once** (`fusion_aps_signin`);+tokens refresh silently afterward. Per-org by design: each company uses its own APS app and quota.+**You are never charged** - the bridge caps all calls to Autodesk's free tier.++The bridge **checks APS state in code on every cloud call** (`_aps_guarded`) and returns a rich,+self-teaching `_hint` (is it configured? signed in? token live? the full verb list, and the exact+next step) so the AI is never stuck on an opaque auth error.++### ๐Ÿฅ‡ Best sign-in: your NATIVE Chrome/Edge via ABE (adom-browser-extension)++Autodesk's email OTP / 2FA and "which profile is signed in" headaches vanish if the AI drives the+browser you're **already logged into Autodesk** with. That is what **ABE+([adom-browser-extension](https://wiki.adom.inc/adom/adom-browser-extension))** provides. If ABE+isn't installed, the AI will walk you through the one-time install, then open the Autodesk auth URL+in your real profile and capture the token - **no password typing**. Fallback:+`fusion_aps_signin {allowDefaultBrowser:true}` (OS default browser).++### APS verbs++| Verb | Does |+|---|---|+| `fusion_aps_status` | configured? signed in? token live? + never-charge meter |+| `fusion_aps_signin` | one-time OAuth sign-in (prefer ABE native browser) |+| `fusion_aps_search {query}` | server-indexed name search across the whole team hub |+| `fusion_aps_open {query}` | find + open a design in Fusion, any folder depth |+| `fusion_aps_browse` / `fusion_aps_recent` | walk hubs/projects/folders ยท newest-modified designs |+| `fusion_aps_file_info` / `fusion_aps_versions` | version history / who / when / size |+| `fusion_aps_download` / `fusion_aps_upload` | pull/push a cloud file (no Fusion needed) |+| `fusion_aps_create_folder` | make a subfolder (never dump loose files in a shared root) |+| `fusion_aps_set_browser` / `get_browser` / `forget_browser` | remember the native browser+profile |+| `fusion_aps_set_client_id` | set the org's PKCE client id (once per company) |+| ~~`fusion_search_cloud_files`~~ / ~~`fusion_walk_cloud_tree`~~ | โ›” **DISABLED** (crashed Fusion) - use `fusion_aps_search` |  **Cloud hygiene:** the bridge NEVER writes to a shared project root - uploads default to an **Adom AI Workspace** folder with per-task subfolders, and `fusion_cleanup_cloud_files` deletes@@ -189,6 +230,84 @@ The AI does the whole setup - the user never gets handed a download link:   installs the add-in to every add-in directory Fusion has ever used, and fires an AD toast the   moment a step genuinely needs the user (sign-in, 2FA, license acceptance). +## Full verb catalog++All verbs return a rich `_hint`. `fusion_describe '{}'` is the machine-readable source of truth; this table is generated from it.+_55 verbs._++**Lifecycle**++- `fusion_start` - Launch Fusion 360 (if needed) and wait for the AdomBridge add-in to be ready.+- `fusion_stop` - Gracefully STOP Fusion 360: close docs cleanly + WM_CLOSE, then wait+- `fusion_kill` - Force-KILL Fusion 360 (taskkill /F) - the desperate path for when fusion_stop cannot close it (stuck modal / wedged proc+- `fusion_close_window` - Close the active Fusion document/window.+- `fusion_get_app_state` - Current app state: running, active document, workspace, isElectronics+- `fusion_readiness` - FAST readiness check (does NOT launch Fusion): is the Fusion host app installed + running + the bridge ready to drive? A+- `fusion_new_electronics_from_eagle` - Import a legacy EAGLE .sch (+ paired .brd) into a NEW Fusion electronics design so the parts INSTANTIATE (schematic + po+- `fusion_notify_owner` - LAST-RESORT human escalation: toast the user's MAIN computer (fans out cross-AD to every peer on the relay, so it reache++**Cloud search & files (APS)**++- `fusion_aps_status` - APS state: configured, signed in, token live, never-charge meter.+- `fusion_aps_set_client_id` - Set the org's APS (PKCE) client id used for cloud search.+- `fusion_aps_signin` - Open the Autodesk sign-in in the REMEMBERED browser+profile (not the OS default); a background listener captures the tok+- `fusion_aps_set_browser` - Remember the browser+profile that authed to Autodesk so every later sign-in reuses it (power users have many browsers/pr+- `fusion_aps_get_browser` - Show the remembered Autodesk sign-in browser (None until set).+- `fusion_aps_forget_browser` - Forget the remembered Autodesk sign-in browser (re-detect next time).+- `fusion_aps_search` - Server-indexed search across the whole team hub (seconds, not a 30-min folder walk).+- `fusion_aps_open` - Find a cloud design by name and open it in Fusion (any folder depth)+- `fusion_open_by_urn` - Open a cloud ELECTRONICS DESIGN by URN+- `fusion_aps_browse` - Browse hubs/projects/folders without launching Fusion.+- `fusion_aps_recent` - Most-recently-modified designs across the team hub, newest first.+- `fusion_aps_file_info` - Version history + who/when/size for a file (tip + recent versions).+- `fusion_aps_versions` - Full (uncapped) version history of a file.+- `fusion_aps_download` - Download a cloud file to the local machine (no Fusion needed).+- `fusion_aps_upload` - Upload a local file as a NEW cloud file (free Data Management; needs data:write scope)+- `fusion_aps_create_folder` - Create a subfolder in a project (free; needs data:create scope)+- `fusion_aps_get` - Raw authenticated GET against a free APS path (dev/verify helper).+- ~~`fusion_walk_cloud_tree`~~ โ›” - โ›” DISABLED (returns an error): the in-app add-in walk took 30+ min and CRASHED Fusion (WinError 10054)+- ~~`fusion_search_cloud_files`~~ โ›” - โ›” DISABLED (returns an error): the in-app add-in search took 30+ min and CRASHED Fusion (WinError 10054)++**Electronics**++- `fusion_show_schematic` - Switch the OPEN electronics design to its SCHEMATIC view (the symmetric partner of fusion_show_2d_board / fusion_show_3d+- `fusion_show_2d_board` - Switch the OPEN electronics design to its 2D PCB Editor (board layout) view+- `fusion_show_3d_board` - Switch the OPEN electronics design to its 3D PCB view (populated board)+- `fusion_board_info` - Raw board geometry XML (copper/arcs/lines) for the open board.+- `fusion_open_lbr` - Import an EAGLE .lbr library into Fusion's Electronics LIBRARY editor (Content Manager / Electronics Library workspace),+- `fusion_attach_3d_package` - Attach a real 3D chip model to a library package, end to end: opens the .lbr (library active), runs Electron.Create3DPac+- `fusion_install_fusion` - Install Fusion 360 FOR the user - downloads Autodesk's official Client Downloader and streams the free trial silently, w+- `fusion_generate_package` - Generate an IPC-7351-compliant parametric 3D package via Fusion's BUILT-IN ElectronicsPackageGenerator (EPG) - ~50 packa+- `fusion_make_3d_package` - Create a RENDERING component 3D package (FOOTPRINT + chip, aligned) for ONE part, fully programmatically with ZERO GUI d+- `fusion_build_library_3d` - Build a RENDERING multi-part 3D library in ONE call - the whole programmatic pipeline+- `fusion_capture_library_views` - Capture the LIBRARY-EDITOR views EEs trust: the schematic SYMBOL (full pinout), the FOOTPRINT (pads + layer stack), and +- `fusion_cleanup_cloud_files` - PRECISELY delete a list of cloud files by lineage urn - SAFE cleanup of AI-created clutter+- `fusion_run_modeling_script` - Run an adsk.fusion modeling script in the live session (sketches/extrudes/params)+- `fusion_set_preference` - Set Fusion appearance/navigation preferences in the LIVE session - applies immediately, NO restart+- `fusion_get_preferences` - Read current Fusion appearance/navigation preferences (theme, activeTheme, invertScrollZoom, orbitScheme, modelingOrient++**CAD & 3D export**++- `fusion_export_step` - Export the active design to STEP (needs the 3D view).++**Manufacturing**++- `fusion_export_gerbers` - Run the bundled JLCPCB CAM job (auto 2/4-layer) to produce the gerber + drill ZIP.+- `fusion_export_bom` - Export a Bill of Materials CSV (grouped by value+package) from the open board.+- `fusion_export_cpl` - Export the Component Placement List (pick-and-place) CSV.+- `fusion_set_design_rules` - Load manufacturing-grade DRC into the open board (JLCPCB 2/4-layer profiles).+- `fusion_load_design_rules` - Load a bundled .edru design-rule set into the board.+- `fusion_detect_layers` - Detect 2-layer vs 4-layer board (ULP + CAM comparison).+- `fusion_dismiss_blocking_dialogs` - Detect + classify (and optionally dismiss) blocking Fusion dialogs.+- `fusion_electron_run` - Run an EAGLE/Electron command in the open board (the generic extension point, e.g+- `fusion_electron_zoom` - Smoothly ZOOM the schematic/2D board for a recording (the whole motion is one call)+- `fusion_electron_pan` - Smoothly PAN + zoom the view to frame a board-coordinate box (mm; get part positions from fusion_board_info)+- `fusion_electron_select` - SELECT a part (by reference designator, or x/y board mm) and surface its properties - the way clicking a part reveals th++**Self**++- `fusion_describe` - Self-describe every verb the bridge exposes (this list) for AD's Verbs tab + runner.+ ## Install (via Adom Desktop)  ```bash@@ -196,7 +315,7 @@ adom-desktop bridge_install '{"manifestUrl": "https://wiki.adom.inc/api/v1/pages adom-wiki pkg install adom/adom-desktop-fusion-bridge   # the skills pack for your AI ``` -Auto-updates via `updateManifestUrl` (AD polls on launch + every 4h). 54 verbs -+Auto-updates via `updateManifestUrl` (AD polls on launch + every 4h). 55 verbs - `fusion_describe '{}'` returns the full machine-readable catalog. More demos:  <video controls width="100%" src="https://wiki.adom.inc/api/v1/pages/adom-desktop-fusion-bridge/files/library2-3d-montage.mp4"></video>
page.json+1−1
@@ -1,6 +1,6 @@ {   "slug": "adom-desktop-fusion-bridge",-  "version": "1.6.52",+  "version": "1.6.53",   "type": "app",   "description": "Drive Autodesk Fusion 360 from the cloud via Adom Desktop: 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 with browse/recent/versions, cloud download/upload and folder creation, and in-app parametric modeling. Never-charge: APS calls are capped to the free tier.",   "dependencies": {