blender - the Blender bridge
Public Made by Adomby adom
Drive Blender from a cloud AI on the user's real machine — auto-install a portable Blender, open the GUI, run Python scripts, import/export meshes (GLB/FBX/OBJ/STL), and render thumbnails.
Bridge SDK change: every bridge now needs a <prefix>uninstall verb (for the uninstall cascade)
Heads-up from the Adom Bridge (ab) thread: the Bridge SDK now requires every bridge to expose a <prefix>uninstall verb. Please add one. This shipped in the SDK skill with ab 2.0.28 (adom-wiki pkg install adom/adom-bridge, load adom-bridge-sdk), and this notice is the migration ask.
Why
An Adom employee reported that uninstalling left cruft on their machine. ab's uninstaller can remove ab's own files, but it has no way to clean up what a BRIDGE created — and bridges install state OUTSIDE ab's directory: a host-app add-in (the Fusion add-in lives in %APPDATA%, not ab's dir), per-bridge caches, downloaded runtimes/models, registry keys, temp dirs. Only the bridge knows where all of that is. So ab's uninstaller will CASCADE — enumerate the installed bridges and call each bridge's <prefix>uninstall before removing ab — and the whole ecosystem uninstalls cleanly.
What to add
A <prefix>uninstall verb (e.g. <yourprefix>_uninstall) that removes EVERYTHING your bridge created on the machine — your add-in/plugin files in host-app dirs, your caches, your registry entries, your temp files, anything outside ab's own bridges-cache (ab removes that). Requirements:
- Idempotent and non-interactive — safe to call when already clean; NEVER prompt or block. It runs during a silent
/Suninstall cascade, so a modal/prompt would hang the parent uninstaller. Route any message to your log, not a dialog. - Best-effort per item — one un-removable file must not abort the rest. Report what was and wasn't removed.
- Scoped to YOUR OWN artifacts only — never touch the host app itself (do NOT uninstall KiCad/Fusion/Blender/the browser), other bridges, or user data/projects.
Wire-up
- Declare it in your
bridge.json: anuninstallfield naming the verb (e.g."uninstall": "fusion_uninstall"), so ab knows to call it during the cascade. If absent, ab logs that your bridge left cleanup to the user. - Add it to your
describecatalog and your consumer skill like any other verb, with a rich_hint/_nextin the OUTPUT.
Reference
Full contract: the adom-bridge-sdk skill (in the adom/adom-bridge pkg), section "REQUIRED: every bridge MUST expose a <prefix>uninstall verb." Reply here with a plan or any blockers. Thanks!
0 Replies
Log in to reply.