@hybridlabor-api/aos 4.2.0 → 4.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1098) hide show
  1. package/.claude/hooks/memb-inject.mjs +121 -0
  2. package/.claude/settings.json +10 -0
  3. package/CLAUDE.md +37 -84
  4. package/CODEX.md +31 -12
  5. package/GEMINI.md +51 -58
  6. package/README.de.md +13 -14
  7. package/README.md +13 -14
  8. package/README.pt.md +13 -14
  9. package/THIRD_PARTY_NOTICES.md +54 -0
  10. package/docs/skills_table.md +0 -2
  11. package/installer.js +29 -16
  12. package/package.json +21 -2
  13. package/scripts/validate-skills.mjs +402 -0
  14. package/skills/basic/godmode-engineering/SKILL.md +1 -1
  15. package/skills/basic/godmode-shipping/SKILL.md +1 -1
  16. package/skills/github-repo/SKILL.md +1 -0
  17. package/skills/global_config/agent-tool-builder/SKILL.md +5 -4
  18. package/skills/global_config/ai-product/SKILL.md +3 -2
  19. package/skills/global_config/aos-project-init/SKILL.md +194 -0
  20. package/skills/global_config/aos-project-init/assets/AGENTS.template.md +56 -0
  21. package/skills/global_config/aos-project-init/scripts/aos-project-doctor.mjs +137 -0
  22. package/skills/global_config/aos-setup/SKILL.md +222 -0
  23. package/skills/global_config/aos-setup/scripts/aos-doctor.mjs +262 -0
  24. package/skills/global_config/ask-tim/SKILL.md +4 -2
  25. package/skills/global_config/{bdb-adobe-suite-mcp.md → bdb-adobe-suite-mcp/SKILL.md} +1 -0
  26. package/skills/global_config/{bdb-after-effects-mcp.md → bdb-after-effects-mcp/SKILL.md} +1 -0
  27. package/skills/global_config/{bdb-blender-mcp.md → bdb-blender-mcp/SKILL.md} +1 -0
  28. package/skills/global_config/{bdb-computer-use-mcp.md → bdb-computer-use-mcp/SKILL.md} +1 -0
  29. package/skills/global_config/{bdb-davinci-mcp.md → bdb-davinci-mcp/SKILL.md} +1 -0
  30. package/skills/global_config/bdb-ecosystem-health/SKILL.md +3 -3
  31. package/skills/global_config/{bdb-grandma3-mcp.md → bdb-grandma3-mcp/SKILL.md} +1 -0
  32. package/skills/global_config/{bdb-memb-mcp.md → bdb-memb-mcp/SKILL.md} +10 -0
  33. package/skills/global_config/{bdb-resolume-mcp.md → bdb-resolume-mcp/SKILL.md} +1 -0
  34. package/skills/global_config/{bdb-rhino-mcp.md → bdb-rhino-mcp/SKILL.md} +1 -0
  35. package/skills/global_config/{bdb-touchdesigner-mcp.md → bdb-touchdesigner-mcp/SKILL.md} +1 -0
  36. package/skills/global_config/{bdb-unreal-mcp.md → bdb-unreal-mcp/SKILL.md} +1 -0
  37. package/skills/global_config/{bdb-vectorworks-mcp.md → bdb-vectorworks-mcp/SKILL.md} +1 -0
  38. package/skills/global_config/bdbsaashost/SKILL.md +50 -50
  39. package/skills/global_config/browser-automation/SKILL.md +4 -4
  40. package/skills/global_config/crewai/SKILL.md +3 -2
  41. package/skills/global_config/debugger/SKILL.md +3 -6
  42. package/skills/global_config/git-advanced-workflows/SKILL.md +0 -1
  43. package/skills/global_config/github-actions-templates/SKILL.md +0 -2
  44. package/skills/global_config/neon-postgres/SKILL.md +3 -2
  45. package/skills/global_config/playwright-skill/SKILL.md +1 -1
  46. package/skills/global_config/posix-shell-pro/SKILL.md +0 -1
  47. package/skills/global_config/postgres-best-practices/SKILL.md +1 -1
  48. package/skills/global_config/prompt-engineering-patterns/SKILL.md +0 -1
  49. package/skills/global_config/rag-engineer/SKILL.md +4 -3
  50. package/skills/global_config/react-best-practices/SKILL.md +1 -1
  51. package/skills/global_config/remotion/SKILL.md +0 -1
  52. package/skills/global_config/seo/SKILL.md +6 -41
  53. package/skills/global_config/systematic-debugging/CREATION-LOG.md +1 -1
  54. package/skills/global_config/systematic-debugging/root-cause-tracing.md +1 -1
  55. package/skills/global_config/turborepo-caching/SKILL.md +0 -1
  56. package/skills/global_config/using-neon/SKILL.md +1 -47
  57. package/skills/global_config/vector-database-engineer/SKILL.md +0 -1
  58. package/skills/global_config/web-artifacts-builder/LICENSE.txt +1 -1
  59. package/skills/global_config/web-artifacts-builder/SKILL.md +1 -1
  60. package/skills/global_config/webapp-testing/LICENSE.txt +1 -1
  61. package/skills/global_config/webapp-testing/SKILL.md +1 -1
  62. package/assets/Give_AI_Agents_Control_of_Creative_Software.mp4 +0 -0
  63. package/mcps/RhinoMCP/connector/icon-dark.png +0 -3
  64. package/mcps/RhinoMCP/connector/icon-light.png +0 -3
  65. package/mcps/RhinoMCP/connector/screenshots/casa-rhino.png +0 -3
  66. package/mcps/RhinoMCP/docs/assets/css/custom.css +0 -640
  67. package/mcps/RhinoMCP/docs/content/_index.md +0 -88
  68. package/mcps/RhinoMCP/docs/content/docs/_index.md +0 -35
  69. package/mcps/RhinoMCP/docs/content/docs/advanced/_index.md +0 -37
  70. package/mcps/RhinoMCP/docs/content/docs/advanced/bulk-file-processing.md +0 -70
  71. package/mcps/RhinoMCP/docs/content/docs/advanced/headless-render-farm.md +0 -60
  72. package/mcps/RhinoMCP/docs/content/docs/advanced/make-this-parametric.md +0 -56
  73. package/mcps/RhinoMCP/docs/content/docs/advanced/sketch-to-model.md +0 -58
  74. package/mcps/RhinoMCP/docs/content/docs/advanced/upgrade-gh1-to-gh2.md +0 -51
  75. package/mcps/RhinoMCP/docs/content/docs/developers/_index.md +0 -39
  76. package/mcps/RhinoMCP/docs/content/docs/developers/dev-troubleshooting.md +0 -15
  77. package/mcps/RhinoMCP/docs/content/docs/developers/plugin-prototyping.md +0 -56
  78. package/mcps/RhinoMCP/docs/content/docs/developers/upgrade-gh1-to-gh2.md +0 -98
  79. package/mcps/RhinoMCP/docs/content/docs/developers/upgrade-to-netcore.md +0 -53
  80. package/mcps/RhinoMCP/docs/content/docs/developers/windows-to-cross-platform.md +0 -58
  81. package/mcps/RhinoMCP/docs/content/docs/developers/wpf-to-eto.md +0 -64
  82. package/mcps/RhinoMCP/docs/content/docs/getting-started/_index.md +0 -45
  83. package/mcps/RhinoMCP/docs/content/docs/getting-started/cc-plugin.md +0 -116
  84. package/mcps/RhinoMCP/docs/content/docs/getting-started/connector.md +0 -65
  85. package/mcps/RhinoMCP/docs/content/docs/getting-started/copilot.md +0 -61
  86. package/mcps/RhinoMCP/docs/content/docs/getting-started/lm-studio.md +0 -62
  87. package/mcps/RhinoMCP/docs/content/docs/troubleshooting.md +0 -66
  88. package/mcps/RhinoMCP/docs/content/docs/try-it-out/_index.md +0 -39
  89. package/mcps/RhinoMCP/docs/content/docs/try-it-out/examples/_index.md +0 -25
  90. package/mcps/RhinoMCP/docs/content/docs/try-it-out/examples/build-grasshopper.md +0 -26
  91. package/mcps/RhinoMCP/docs/content/docs/try-it-out/examples/generate-variations.md +0 -25
  92. package/mcps/RhinoMCP/docs/content/docs/try-it-out/examples/inspect-and-report.md +0 -26
  93. package/mcps/RhinoMCP/docs/content/docs/try-it-out/examples/layers.md +0 -28
  94. package/mcps/RhinoMCP/docs/content/docs/try-it-out/examples/model-from-image.md +0 -27
  95. package/mcps/RhinoMCP/docs/content/docs/try-it-out/recipes.md +0 -178
  96. package/mcps/RhinoMCP/docs/data/icons.yaml +0 -3
  97. package/mcps/RhinoMCP/docs/go.mod +0 -5
  98. package/mcps/RhinoMCP/docs/go.sum +0 -4
  99. package/mcps/RhinoMCP/docs/hugo.yaml +0 -78
  100. package/mcps/RhinoMCP/docs/layouts/_partials/sidebar.html +0 -333
  101. package/mcps/RhinoMCP/docs/layouts/docs/list.html +0 -29
  102. package/mcps/RhinoMCP/docs/layouts/docs/single.html +0 -29
  103. package/mcps/RhinoMCP/docs/layouts/partials/custom/head-end.html +0 -3
  104. package/mcps/RhinoMCP/docs/layouts/shortcodes/download-asset.html +0 -21
  105. package/mcps/RhinoMCP/docs/layouts/shortcodes/github.html +0 -21
  106. package/mcps/RhinoMCP/docs/layouts/shortcodes/prompt.html +0 -23
  107. package/mcps/RhinoMCP/docs/layouts/shortcodes/yak.html +0 -21
  108. package/mcps/RhinoMCP/docs/static/developer/sel-arc.png +0 -3
  109. package/mcps/RhinoMCP/docs/static/developer/voxelizer-gh2-conversion.png +0 -3
  110. package/mcps/RhinoMCP/docs/static/examples/ai-kettle.png +0 -3
  111. package/mcps/RhinoMCP/docs/static/examples/casa_rhino_shapes.png +0 -3
  112. package/mcps/RhinoMCP/docs/static/examples/kettle.jpg +0 -0
  113. package/mcps/RhinoMCP/docs/static/examples/raygun-layers.png +0 -3
  114. package/mcps/RhinoMCP/docs/static/examples/raygun-thumbnail.png +0 -3
  115. package/mcps/RhinoMCP/docs/static/examples/twisty-tower-gh.png +0 -3
  116. package/mcps/RhinoMCP/docs/static/favicon.svg +0 -26
  117. package/mcps/RhinoMCP/docs/static/images/landing-dark.png +0 -3
  118. package/mcps/RhinoMCP/docs/static/images/landing.png +0 -3
  119. package/mcps/RhinoMCP/docs/static/images/logo-dark.svg +0 -26
  120. package/mcps/RhinoMCP/docs/static/images/logo.svg +0 -26
  121. package/mcps/RhinoMCP/docs/static/local-llm.png +0 -3
  122. package/mcps/RhinoMCP/rhino/plugin/icon.png +0 -3
  123. package/mcps/RhinoMCP/tests/Acp.Tests/Acp.Tests.csproj +0 -29
  124. package/mcps/RhinoMCP/tests/Acp.Tests/CoverageTests.cs +0 -52
  125. package/mcps/RhinoMCP/tests/Acp.Tests/Fakes.cs +0 -90
  126. package/mcps/RhinoMCP/tests/Acp.Tests/GlobalUsings.cs +0 -1
  127. package/mcps/RhinoMCP/tests/Acp.Tests/LoopbackTests.cs +0 -59
  128. package/mcps/RhinoMCP/tests/Acp.Tests/RobustnessTests.cs +0 -124
  129. package/mcps/RhinoMCP/tests/Acp.Tests/SerializationTests.cs +0 -94
  130. package/mcps/RhinoMCP/tests/Integration.Tests/AdoptedSlotTests.cs +0 -136
  131. package/mcps/RhinoMCP/tests/Integration.Tests/AutoSpawnNotificationTests.cs +0 -63
  132. package/mcps/RhinoMCP/tests/Integration.Tests/CloseSlotAgentTests.cs +0 -56
  133. package/mcps/RhinoMCP/tests/Integration.Tests/CloseSlotTests.cs +0 -37
  134. package/mcps/RhinoMCP/tests/Integration.Tests/DocLifecycleTests.cs +0 -42
  135. package/mcps/RhinoMCP/tests/Integration.Tests/GlobalUsings.cs +0 -3
  136. package/mcps/RhinoMCP/tests/Integration.Tests/GrasshopperStartTests.cs +0 -56
  137. package/mcps/RhinoMCP/tests/Integration.Tests/Harness/ReturnResult.cs +0 -28
  138. package/mcps/RhinoMCP/tests/Integration.Tests/Harness/RhinoMcpFixture.cs +0 -90
  139. package/mcps/RhinoMCP/tests/Integration.Tests/Harness/RhinoMcpRouter.cs +0 -111
  140. package/mcps/RhinoMCP/tests/Integration.Tests/Harness/RhinoRouterPaths.cs +0 -83
  141. package/mcps/RhinoMCP/tests/Integration.Tests/Harness/RouterFixture.cs +0 -50
  142. package/mcps/RhinoMCP/tests/Integration.Tests/Integration.Tests.csproj +0 -31
  143. package/mcps/RhinoMCP/tests/Integration.Tests/ListSlotsShapeTests.cs +0 -55
  144. package/mcps/RhinoMCP/tests/Integration.Tests/ListSlotsTests.cs +0 -19
  145. package/mcps/RhinoMCP/tests/Integration.Tests/MacSharedProcessTests.cs +0 -87
  146. package/mcps/RhinoMCP/tests/Integration.Tests/MultiRouterTests.cs +0 -74
  147. package/mcps/RhinoMCP/tests/Integration.Tests/PluginToolTests.cs +0 -115
  148. package/mcps/RhinoMCP/tests/Integration.Tests/README.md +0 -35
  149. package/mcps/RhinoMCP/tests/Integration.Tests/RhinoCrashHandlingTests.cs +0 -107
  150. package/mcps/RhinoMCP/tests/Integration.Tests/SlotReapingTests.cs +0 -84
  151. package/mcps/RhinoMCP/tests/Integration.Tests/SpawnErrorTests.cs +0 -52
  152. package/mcps/RhinoMCP/tests/Integration.Tests/SpawnSlotTests.cs +0 -66
  153. package/mcps/RhinoMCP/tests/Integration.Tests/ToolDispatchBySlotTests.cs +0 -53
  154. package/mcps/RhinoMCP/tests/Integration.Tests/WindowsProcessIsolationTests.cs +0 -62
  155. package/mcps/RhinoMCP/tests/Router.Tests/CodegenTests.cs +0 -125
  156. package/mcps/RhinoMCP/tests/Router.Tests/ReturnResultTests.cs +0 -90
  157. package/mcps/RhinoMCP/tests/Router.Tests/RhinoCrashReportFinderTests.cs +0 -207
  158. package/mcps/RhinoMCP/tests/Router.Tests/RhinoLocatorOverrideTests.cs +0 -61
  159. package/mcps/RhinoMCP/tests/Router.Tests/RhinoLocatorTests.cs +0 -38
  160. package/mcps/RhinoMCP/tests/Router.Tests/RhinoManagerResolutionTests.cs +0 -151
  161. package/mcps/RhinoMCP/tests/Router.Tests/Router.Tests.csproj +0 -31
  162. package/mcps/RhinoMCP/tests/Router.Tests/RouterConfigTests.cs +0 -92
  163. package/mcps/RhinoMCP/tests/Router.Tests/SlotStoreLaunchingAbsenceTests.cs +0 -70
  164. package/mcps/RhinoMCP/tests/Router.Tests/SlotStorePortReservationTests.cs +0 -92
  165. package/mcps/RhinoMCP/tests/Router.Tests/SpawnDiagnosticsTests.cs +0 -100
  166. package/mcps/RhinoMCP/tests/Router.Tests/SpawnSlotToolDiagnoseTests.cs +0 -66
  167. package/mcps/RhinoMCP/tests/Server.Tests/McpConfigEditTests.cs +0 -223
  168. package/mcps/RhinoMCP/tests/Server.Tests/ParameterBinderTests.cs +0 -208
  169. package/mcps/RhinoMCP/tests/Server.Tests/ProtocolTests.cs +0 -200
  170. package/mcps/RhinoMCP/tests/Server.Tests/ResourceRegistryTests.cs +0 -218
  171. package/mcps/RhinoMCP/tests/Server.Tests/ResultUnwrapperTests.cs +0 -53
  172. package/mcps/RhinoMCP/tests/Server.Tests/SchemaBuilderTests.cs +0 -166
  173. package/mcps/RhinoMCP/tests/Server.Tests/Server.Tests.csproj +0 -40
  174. package/mcps/RhinoMCP/tests/StreamJson.Tests/AcpMessageMapperTests.cs +0 -82
  175. package/mcps/RhinoMCP/tests/StreamJson.Tests/AgentPromptsTests.cs +0 -56
  176. package/mcps/RhinoMCP/tests/StreamJson.Tests/AgentRegistryOverlayTests.cs +0 -88
  177. package/mcps/RhinoMCP/tests/StreamJson.Tests/AgentRegistryResolutionTests.cs +0 -152
  178. package/mcps/RhinoMCP/tests/StreamJson.Tests/AgentRunnerTurnTests.cs +0 -149
  179. package/mcps/RhinoMCP/tests/StreamJson.Tests/ClaudeStreamJsonParserTests.cs +0 -118
  180. package/mcps/RhinoMCP/tests/StreamJson.Tests/CodexStreamJsonParserTests.cs +0 -100
  181. package/mcps/RhinoMCP/tests/StreamJson.Tests/ConversationStorePruneTests.cs +0 -94
  182. package/mcps/RhinoMCP/tests/StreamJson.Tests/ConversationStoreRoundTripTests.cs +0 -70
  183. package/mcps/RhinoMCP/tests/StreamJson.Tests/ConversationTests.cs +0 -153
  184. package/mcps/RhinoMCP/tests/StreamJson.Tests/ConversationUsageTests.cs +0 -56
  185. package/mcps/RhinoMCP/tests/StreamJson.Tests/GlobalUsings.cs +0 -12
  186. package/mcps/RhinoMCP/tests/StreamJson.Tests/Shims.cs +0 -93
  187. package/mcps/RhinoMCP/tests/StreamJson.Tests/StreamJson.Tests.csproj +0 -56
  188. package/mcps/RhinoMCP/tests/StreamJson.Tests/StreamJsonAgentLoopbackTests.cs +0 -75
  189. package/mcps/RhinoMCP/tests/StreamJson.Tests/StreamJsonParserEdgeCaseTests.cs +0 -128
  190. package/mcps/RhinoMCP/tests/StreamJson.Tests/TokenUsageTests.cs +0 -40
  191. package/mcps/RhinoMCP/tests/launcher/launcher.test.mjs +0 -461
  192. package/mcps/RhinoMCP/tests/launcher/package.json +0 -8
  193. package/mcps/ae-mcp/docs/demo.png +0 -0
  194. package/mcps/ae-mcp/docs/demo1.png +0 -0
  195. package/mcps/ae-mcp/docs/demo3.png +0 -0
  196. package/mcps/ae-mcp/docs/video.png +0 -0
  197. package/mcps/after-effects-mcp/assets/MCP Auto Bridge.png +0 -0
  198. package/mcps/bdb-remoteos-mcp/tests/__init__.py +0 -1
  199. package/mcps/bdb-remoteos-mcp/tests/mock_incus.py +0 -60
  200. package/mcps/bdb-remoteos-mcp/tests/test_mcp_server.py +0 -27
  201. package/mcps/bdb-remoteos-mcp/tests/test_security_redteam.py +0 -349
  202. package/mcps/bdb-remoteos-mcp/tests/test_webhook.py +0 -61
  203. package/mcps/blender-mcp/assets/addon-instructions.png +0 -0
  204. package/mcps/blender-mcp/assets/hammer-icon.png +0 -0
  205. package/mcps/blender-mcp-server/docs/architecture.md +0 -209
  206. package/mcps/blender-mcp-server/docs/images/demo_render.png +0 -0
  207. package/mcps/blender-mcp-server/docs/python-execute-design.md +0 -515
  208. package/mcps/blender-mcp-server/tests/__init__.py +0 -0
  209. package/mcps/blender-mcp-server/tests/test_addon.py +0 -953
  210. package/mcps/blender-mcp-server/tests/test_server.py +0 -364
  211. package/mcps/davinci-mcp-professional/docs/README.md +0 -67
  212. package/mcps/davinci-mcp-professional/docs/html/README_8md.html +0 -113
  213. package/mcps/davinci-mcp-professional/docs/html/____init_____8py.html +0 -126
  214. package/mcps/davinci-mcp-professional/docs/html/____init_____8py.js +0 -6
  215. package/mcps/davinci-mcp-professional/docs/html/____init_____8py_source.html +0 -125
  216. package/mcps/davinci-mcp-professional/docs/html/__version_8py.html +0 -130
  217. package/mcps/davinci-mcp-professional/docs/html/__version_8py.js +0 -9
  218. package/mcps/davinci-mcp-professional/docs/html/__version_8py_source.html +0 -130
  219. package/mcps/davinci-mcp-professional/docs/html/annotated.html +0 -123
  220. package/mcps/davinci-mcp-professional/docs/html/annotated_dup.js +0 -21
  221. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1resolve__client_1_1DaVinciResolveClient-members.html +0 -131
  222. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1resolve__client_1_1DaVinciResolveClient.html +0 -706
  223. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1resolve__client_1_1DaVinciResolveClient.js +0 -26
  224. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1resolve__client_1_1DaVinciResolveConnectionError.html +0 -143
  225. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1resolve__client_1_1DaVinciResolveConnectionError__coll__graph.map +0 -7
  226. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1resolve__client_1_1DaVinciResolveConnectionError__coll__graph.md5 +0 -1
  227. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1resolve__client_1_1DaVinciResolveConnectionError__coll__graph.png +0 -0
  228. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1resolve__client_1_1DaVinciResolveConnectionError__inherit__graph.map +0 -7
  229. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1resolve__client_1_1DaVinciResolveConnectionError__inherit__graph.md5 +0 -1
  230. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1resolve__client_1_1DaVinciResolveConnectionError__inherit__graph.png +0 -0
  231. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1resolve__client_1_1DaVinciResolveError.html +0 -143
  232. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1resolve__client_1_1DaVinciResolveError__coll__graph.map +0 -5
  233. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1resolve__client_1_1DaVinciResolveError__coll__graph.md5 +0 -1
  234. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1resolve__client_1_1DaVinciResolveError__coll__graph.png +0 -0
  235. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1resolve__client_1_1DaVinciResolveError__inherit__graph.map +0 -9
  236. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1resolve__client_1_1DaVinciResolveError__inherit__graph.md5 +0 -1
  237. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1resolve__client_1_1DaVinciResolveError__inherit__graph.png +0 -0
  238. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1resolve__client_1_1DaVinciResolveNotRunningError.html +0 -143
  239. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1resolve__client_1_1DaVinciResolveNotRunningError__coll__graph.map +0 -7
  240. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1resolve__client_1_1DaVinciResolveNotRunningError__coll__graph.md5 +0 -1
  241. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1resolve__client_1_1DaVinciResolveNotRunningError__coll__graph.png +0 -0
  242. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1resolve__client_1_1DaVinciResolveNotRunningError__inherit__graph.map +0 -7
  243. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1resolve__client_1_1DaVinciResolveNotRunningError__inherit__graph.md5 +0 -1
  244. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1resolve__client_1_1DaVinciResolveNotRunningError__inherit__graph.png +0 -0
  245. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1server_1_1DaVinciMCPServer-members.html +0 -115
  246. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1server_1_1DaVinciMCPServer.html +0 -325
  247. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1server_1_1DaVinciMCPServer.js +0 -10
  248. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciMediaPool-members.html +0 -110
  249. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciMediaPool.html +0 -188
  250. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciMediaPool.js +0 -5
  251. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciMediaPool__coll__graph.map +0 -5
  252. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciMediaPool__coll__graph.md5 +0 -1
  253. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciMediaPool__coll__graph.png +0 -0
  254. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciMediaPool__inherit__graph.map +0 -5
  255. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciMediaPool__inherit__graph.md5 +0 -1
  256. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciMediaPool__inherit__graph.png +0 -0
  257. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciProject-members.html +0 -113
  258. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciProject.html +0 -248
  259. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciProject.js +0 -8
  260. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciProjectManager-members.html +0 -113
  261. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciProjectManager.html +0 -252
  262. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciProjectManager.js +0 -8
  263. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciProjectManager__coll__graph.map +0 -5
  264. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciProjectManager__coll__graph.md5 +0 -1
  265. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciProjectManager__coll__graph.png +0 -0
  266. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciProjectManager__inherit__graph.map +0 -5
  267. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciProjectManager__inherit__graph.md5 +0 -1
  268. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciProjectManager__inherit__graph.png +0 -0
  269. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciProject__coll__graph.map +0 -5
  270. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciProject__coll__graph.md5 +0 -1
  271. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciProject__coll__graph.png +0 -0
  272. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciProject__inherit__graph.map +0 -5
  273. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciProject__inherit__graph.md5 +0 -1
  274. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciProject__inherit__graph.png +0 -0
  275. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciResolveApp-members.html +0 -115
  276. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciResolveApp.html +0 -288
  277. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciResolveApp.js +0 -10
  278. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciResolveApp__coll__graph.map +0 -5
  279. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciResolveApp__coll__graph.md5 +0 -1
  280. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciResolveApp__coll__graph.png +0 -0
  281. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciResolveApp__inherit__graph.map +0 -5
  282. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciResolveApp__inherit__graph.md5 +0 -1
  283. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciResolveApp__inherit__graph.png +0 -0
  284. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciTimeline-members.html +0 -110
  285. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciTimeline.html +0 -188
  286. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciTimeline.js +0 -5
  287. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciTimeline__coll__graph.map +0 -5
  288. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciTimeline__coll__graph.md5 +0 -1
  289. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciTimeline__coll__graph.png +0 -0
  290. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciTimeline__inherit__graph.map +0 -5
  291. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciTimeline__inherit__graph.md5 +0 -1
  292. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciTimeline__inherit__graph.png +0 -0
  293. package/mcps/davinci-mcp-professional/docs/html/classes.html +0 -111
  294. package/mcps/davinci-mcp-professional/docs/html/cli_8py.html +0 -135
  295. package/mcps/davinci-mcp-professional/docs/html/cli_8py.js +0 -11
  296. package/mcps/davinci-mcp-professional/docs/html/cli_8py_source.html +0 -249
  297. package/mcps/davinci-mcp-professional/docs/html/clipboard.js +0 -61
  298. package/mcps/davinci-mcp-professional/docs/html/cookie.js +0 -58
  299. package/mcps/davinci-mcp-professional/docs/html/dir_1a1069c9a5427270b3ccd00c87d405fe.html +0 -127
  300. package/mcps/davinci-mcp-professional/docs/html/dir_1a1069c9a5427270b3ccd00c87d405fe.js +0 -4
  301. package/mcps/davinci-mcp-professional/docs/html/dir_1a1069c9a5427270b3ccd00c87d405fe_dep.map +0 -4
  302. package/mcps/davinci-mcp-professional/docs/html/dir_1a1069c9a5427270b3ccd00c87d405fe_dep.md5 +0 -1
  303. package/mcps/davinci-mcp-professional/docs/html/dir_1a1069c9a5427270b3ccd00c87d405fe_dep.png +0 -0
  304. package/mcps/davinci-mcp-professional/docs/html/dir_6a5346f4427b2e9426ba2ccfd9f0b603.html +0 -128
  305. package/mcps/davinci-mcp-professional/docs/html/dir_6a5346f4427b2e9426ba2ccfd9f0b603.js +0 -5
  306. package/mcps/davinci-mcp-professional/docs/html/dir_6a5346f4427b2e9426ba2ccfd9f0b603_dep.map +0 -4
  307. package/mcps/davinci-mcp-professional/docs/html/dir_6a5346f4427b2e9426ba2ccfd9f0b603_dep.md5 +0 -1
  308. package/mcps/davinci-mcp-professional/docs/html/dir_6a5346f4427b2e9426ba2ccfd9f0b603_dep.png +0 -0
  309. package/mcps/davinci-mcp-professional/docs/html/dir_77c8a4d399bde190a30252eceec792ef.html +0 -127
  310. package/mcps/davinci-mcp-professional/docs/html/dir_77c8a4d399bde190a30252eceec792ef.js +0 -4
  311. package/mcps/davinci-mcp-professional/docs/html/dir_77c8a4d399bde190a30252eceec792ef_dep.map +0 -4
  312. package/mcps/davinci-mcp-professional/docs/html/dir_77c8a4d399bde190a30252eceec792ef_dep.md5 +0 -1
  313. package/mcps/davinci-mcp-professional/docs/html/dir_77c8a4d399bde190a30252eceec792ef_dep.png +0 -0
  314. package/mcps/davinci-mcp-professional/docs/html/dir_f94b29b73815c35a8351f4403bcc4f74.html +0 -129
  315. package/mcps/davinci-mcp-professional/docs/html/dir_f94b29b73815c35a8351f4403bcc4f74.js +0 -12
  316. package/mcps/davinci-mcp-professional/docs/html/doxygen.css +0 -2540
  317. package/mcps/davinci-mcp-professional/docs/html/doxygen.svg +0 -28
  318. package/mcps/davinci-mcp-professional/docs/html/doxygen_crawl.html +0 -170
  319. package/mcps/davinci-mcp-professional/docs/html/dynsections.js +0 -198
  320. package/mcps/davinci-mcp-professional/docs/html/files.html +0 -123
  321. package/mcps/davinci-mcp-professional/docs/html/files_dup.js +0 -4
  322. package/mcps/davinci-mcp-professional/docs/html/functions.html +0 -190
  323. package/mcps/davinci-mcp-professional/docs/html/functions_func.html +0 -184
  324. package/mcps/davinci-mcp-professional/docs/html/functions_vars.html +0 -110
  325. package/mcps/davinci-mcp-professional/docs/html/graph_legend.html +0 -165
  326. package/mcps/davinci-mcp-professional/docs/html/graph_legend.md5 +0 -1
  327. package/mcps/davinci-mcp-professional/docs/html/graph_legend.png +0 -0
  328. package/mcps/davinci-mcp-professional/docs/html/hierarchy.html +0 -123
  329. package/mcps/davinci-mcp-professional/docs/html/hierarchy.js +0 -18
  330. package/mcps/davinci-mcp-professional/docs/html/index.html +0 -200
  331. package/mcps/davinci-mcp-professional/docs/html/index.js +0 -9
  332. package/mcps/davinci-mcp-professional/docs/html/inherit_graph_0.map +0 -3
  333. package/mcps/davinci-mcp-professional/docs/html/inherit_graph_0.md5 +0 -1
  334. package/mcps/davinci-mcp-professional/docs/html/inherit_graph_0.png +0 -0
  335. package/mcps/davinci-mcp-professional/docs/html/inherit_graph_1.map +0 -3
  336. package/mcps/davinci-mcp-professional/docs/html/inherit_graph_1.md5 +0 -1
  337. package/mcps/davinci-mcp-professional/docs/html/inherit_graph_1.png +0 -0
  338. package/mcps/davinci-mcp-professional/docs/html/inherit_graph_2.map +0 -9
  339. package/mcps/davinci-mcp-professional/docs/html/inherit_graph_2.md5 +0 -1
  340. package/mcps/davinci-mcp-professional/docs/html/inherit_graph_2.png +0 -0
  341. package/mcps/davinci-mcp-professional/docs/html/inherit_graph_3.map +0 -13
  342. package/mcps/davinci-mcp-professional/docs/html/inherit_graph_3.md5 +0 -1
  343. package/mcps/davinci-mcp-professional/docs/html/inherit_graph_3.png +0 -0
  344. package/mcps/davinci-mcp-professional/docs/html/inherits.html +0 -145
  345. package/mcps/davinci-mcp-professional/docs/html/jquery.js +0 -204
  346. package/mcps/davinci-mcp-professional/docs/html/menu.js +0 -131
  347. package/mcps/davinci-mcp-professional/docs/html/menudata.js +0 -73
  348. package/mcps/davinci-mcp-professional/docs/html/namespacedavinci__mcp.html +0 -209
  349. package/mcps/davinci-mcp-professional/docs/html/namespacedavinci__mcp.js +0 -34
  350. package/mcps/davinci-mcp-professional/docs/html/namespacedavinci__mcp_1_1__version.html +0 -260
  351. package/mcps/davinci-mcp-professional/docs/html/namespacedavinci__mcp_1_1cli.html +0 -303
  352. package/mcps/davinci-mcp-professional/docs/html/namespacedavinci__mcp_1_1resolve__client.html +0 -147
  353. package/mcps/davinci-mcp-professional/docs/html/namespacedavinci__mcp_1_1resolve__client.js +0 -8
  354. package/mcps/davinci-mcp-professional/docs/html/namespacedavinci__mcp_1_1resources.html +0 -140
  355. package/mcps/davinci-mcp-professional/docs/html/namespacedavinci__mcp_1_1server.html +0 -144
  356. package/mcps/davinci-mcp-professional/docs/html/namespacedavinci__mcp_1_1server.js +0 -5
  357. package/mcps/davinci-mcp-professional/docs/html/namespacedavinci__mcp_1_1tools.html +0 -140
  358. package/mcps/davinci-mcp-professional/docs/html/namespacedavinci__mcp_1_1types.html +0 -216
  359. package/mcps/davinci-mcp-professional/docs/html/namespacedavinci__mcp_1_1types.js +0 -13
  360. package/mcps/davinci-mcp-professional/docs/html/namespacedavinci__mcp_1_1utils.html +0 -155
  361. package/mcps/davinci-mcp-professional/docs/html/namespacedavinci__mcp_1_1utils.js +0 -11
  362. package/mcps/davinci-mcp-professional/docs/html/namespacedavinci__mcp_1_1utils_1_1platform.html +0 -232
  363. package/mcps/davinci-mcp-professional/docs/html/namespacemembers.html +0 -173
  364. package/mcps/davinci-mcp-professional/docs/html/namespacemembers_func.html +0 -114
  365. package/mcps/davinci-mcp-professional/docs/html/namespacemembers_vars.html +0 -121
  366. package/mcps/davinci-mcp-professional/docs/html/namespaces.html +0 -119
  367. package/mcps/davinci-mcp-professional/docs/html/namespaces_dup.js +0 -4
  368. package/mcps/davinci-mcp-professional/docs/html/navtree.css +0 -327
  369. package/mcps/davinci-mcp-professional/docs/html/navtree.js +0 -901
  370. package/mcps/davinci-mcp-professional/docs/html/navtreedata.js +0 -68
  371. package/mcps/davinci-mcp-professional/docs/html/navtreeindex0.js +0 -212
  372. package/mcps/davinci-mcp-professional/docs/html/platform_8py.html +0 -130
  373. package/mcps/davinci-mcp-professional/docs/html/platform_8py.js +0 -8
  374. package/mcps/davinci-mcp-professional/docs/html/platform_8py_source.html +0 -245
  375. package/mcps/davinci-mcp-professional/docs/html/resolve__client_8py.html +0 -132
  376. package/mcps/davinci-mcp-professional/docs/html/resolve__client_8py.js +0 -8
  377. package/mcps/davinci-mcp-professional/docs/html/resolve__client_8py_source.html +0 -501
  378. package/mcps/davinci-mcp-professional/docs/html/resources_2____init_____8py.html +0 -125
  379. package/mcps/davinci-mcp-professional/docs/html/resources_2____init_____8py.js +0 -4
  380. package/mcps/davinci-mcp-professional/docs/html/resources_2____init_____8py_source.html +0 -169
  381. package/mcps/davinci-mcp-professional/docs/html/search/all_0.js +0 -22
  382. package/mcps/davinci-mcp-professional/docs/html/search/all_1.js +0 -4
  383. package/mcps/davinci-mcp-professional/docs/html/search/all_10.js +0 -4
  384. package/mcps/davinci-mcp-professional/docs/html/search/all_11.js +0 -4
  385. package/mcps/davinci-mcp-professional/docs/html/search/all_12.js +0 -4
  386. package/mcps/davinci-mcp-professional/docs/html/search/all_13.js +0 -4
  387. package/mcps/davinci-mcp-professional/docs/html/search/all_2.js +0 -4
  388. package/mcps/davinci-mcp-professional/docs/html/search/all_3.js +0 -15
  389. package/mcps/davinci-mcp-professional/docs/html/search/all_4.js +0 -26
  390. package/mcps/davinci-mcp-professional/docs/html/search/all_5.js +0 -4
  391. package/mcps/davinci-mcp-professional/docs/html/search/all_6.js +0 -6
  392. package/mcps/davinci-mcp-professional/docs/html/search/all_7.js +0 -25
  393. package/mcps/davinci-mcp-professional/docs/html/search/all_8.js +0 -7
  394. package/mcps/davinci-mcp-professional/docs/html/search/all_9.js +0 -9
  395. package/mcps/davinci-mcp-professional/docs/html/search/all_a.js +0 -6
  396. package/mcps/davinci-mcp-professional/docs/html/search/all_b.js +0 -6
  397. package/mcps/davinci-mcp-professional/docs/html/search/all_c.js +0 -9
  398. package/mcps/davinci-mcp-professional/docs/html/search/all_d.js +0 -10
  399. package/mcps/davinci-mcp-professional/docs/html/search/all_e.js +0 -11
  400. package/mcps/davinci-mcp-professional/docs/html/search/all_f.js +0 -5
  401. package/mcps/davinci-mcp-professional/docs/html/search/classes_0.js +0 -13
  402. package/mcps/davinci-mcp-professional/docs/html/search/files_0.js +0 -5
  403. package/mcps/davinci-mcp-professional/docs/html/search/files_1.js +0 -4
  404. package/mcps/davinci-mcp-professional/docs/html/search/files_2.js +0 -4
  405. package/mcps/davinci-mcp-professional/docs/html/search/files_3.js +0 -5
  406. package/mcps/davinci-mcp-professional/docs/html/search/files_4.js +0 -4
  407. package/mcps/davinci-mcp-professional/docs/html/search/files_5.js +0 -4
  408. package/mcps/davinci-mcp-professional/docs/html/search/functions_0.js +0 -9
  409. package/mcps/davinci-mcp-professional/docs/html/search/functions_1.js +0 -4
  410. package/mcps/davinci-mcp-professional/docs/html/search/functions_2.js +0 -10
  411. package/mcps/davinci-mcp-professional/docs/html/search/functions_3.js +0 -4
  412. package/mcps/davinci-mcp-professional/docs/html/search/functions_4.js +0 -25
  413. package/mcps/davinci-mcp-professional/docs/html/search/functions_5.js +0 -6
  414. package/mcps/davinci-mcp-professional/docs/html/search/functions_6.js +0 -7
  415. package/mcps/davinci-mcp-professional/docs/html/search/functions_7.js +0 -4
  416. package/mcps/davinci-mcp-professional/docs/html/search/functions_8.js +0 -5
  417. package/mcps/davinci-mcp-professional/docs/html/search/functions_9.js +0 -4
  418. package/mcps/davinci-mcp-professional/docs/html/search/functions_a.js +0 -4
  419. package/mcps/davinci-mcp-professional/docs/html/search/functions_b.js +0 -6
  420. package/mcps/davinci-mcp-professional/docs/html/search/namespaces_0.js +0 -13
  421. package/mcps/davinci-mcp-professional/docs/html/search/pages_0.js +0 -4
  422. package/mcps/davinci-mcp-professional/docs/html/search/pages_1.js +0 -6
  423. package/mcps/davinci-mcp-professional/docs/html/search/pages_2.js +0 -5
  424. package/mcps/davinci-mcp-professional/docs/html/search/pages_3.js +0 -4
  425. package/mcps/davinci-mcp-professional/docs/html/search/pages_4.js +0 -5
  426. package/mcps/davinci-mcp-professional/docs/html/search/pages_5.js +0 -4
  427. package/mcps/davinci-mcp-professional/docs/html/search/pages_6.js +0 -4
  428. package/mcps/davinci-mcp-professional/docs/html/search/pages_7.js +0 -4
  429. package/mcps/davinci-mcp-professional/docs/html/search/pages_8.js +0 -5
  430. package/mcps/davinci-mcp-professional/docs/html/search/pages_9.js +0 -5
  431. package/mcps/davinci-mcp-professional/docs/html/search/pages_a.js +0 -6
  432. package/mcps/davinci-mcp-professional/docs/html/search/pages_b.js +0 -4
  433. package/mcps/davinci-mcp-professional/docs/html/search/pages_c.js +0 -4
  434. package/mcps/davinci-mcp-professional/docs/html/search/pages_d.js +0 -4
  435. package/mcps/davinci-mcp-professional/docs/html/search/search.css +0 -377
  436. package/mcps/davinci-mcp-professional/docs/html/search/search.js +0 -708
  437. package/mcps/davinci-mcp-professional/docs/html/search/searchdata.js +0 -33
  438. package/mcps/davinci-mcp-professional/docs/html/search/variables_0.js +0 -14
  439. package/mcps/davinci-mcp-professional/docs/html/search/variables_1.js +0 -4
  440. package/mcps/davinci-mcp-professional/docs/html/search/variables_2.js +0 -4
  441. package/mcps/davinci-mcp-professional/docs/html/search/variables_3.js +0 -5
  442. package/mcps/davinci-mcp-professional/docs/html/search/variables_4.js +0 -4
  443. package/mcps/davinci-mcp-professional/docs/html/search/variables_5.js +0 -5
  444. package/mcps/davinci-mcp-professional/docs/html/search/variables_6.js +0 -5
  445. package/mcps/davinci-mcp-professional/docs/html/search/variables_7.js +0 -4
  446. package/mcps/davinci-mcp-professional/docs/html/search/variables_8.js +0 -4
  447. package/mcps/davinci-mcp-professional/docs/html/search/variables_9.js +0 -4
  448. package/mcps/davinci-mcp-professional/docs/html/server_8py.html +0 -129
  449. package/mcps/davinci-mcp-professional/docs/html/server_8py.js +0 -5
  450. package/mcps/davinci-mcp-professional/docs/html/server_8py_source.html +0 -318
  451. package/mcps/davinci-mcp-professional/docs/html/tabs.css +0 -1
  452. package/mcps/davinci-mcp-professional/docs/html/tools_2____init_____8py.html +0 -125
  453. package/mcps/davinci-mcp-professional/docs/html/tools_2____init_____8py.js +0 -4
  454. package/mcps/davinci-mcp-professional/docs/html/tools_2____init_____8py_source.html +0 -253
  455. package/mcps/davinci-mcp-professional/docs/html/types_8py.html +0 -137
  456. package/mcps/davinci-mcp-professional/docs/html/types_8py.js +0 -13
  457. package/mcps/davinci-mcp-professional/docs/html/types_8py_source.html +0 -309
  458. package/mcps/davinci-mcp-professional/docs/html/utils_2____init_____8py.html +0 -125
  459. package/mcps/davinci-mcp-professional/docs/html/utils_2____init_____8py.js +0 -4
  460. package/mcps/davinci-mcp-professional/docs/html/utils_2____init_____8py_source.html +0 -123
  461. package/mcps/davinci-mcp-professional/tests/README.md +0 -49
  462. package/mcps/davinci-mcp-professional/tests/__init__.py +0 -1
  463. package/mcps/davinci-mcp-professional/tests/conftest.py +0 -75
  464. package/mcps/davinci-mcp-professional/tests/test_security.py +0 -251
  465. package/mcps/davinci-resolve-mcp/docs/README.md +0 -56
  466. package/mcps/davinci-resolve-mcp/docs/SKILL.md +0 -1635
  467. package/mcps/davinci-resolve-mcp/docs/authoring/fuse-dctl-authoring.md +0 -242
  468. package/mcps/davinci-resolve-mcp/docs/authoring/script-plugin-authoring.md +0 -195
  469. package/mcps/davinci-resolve-mcp/docs/authoring/setting-files/README.md +0 -152
  470. package/mcps/davinci-resolve-mcp/docs/authoring/setting-files/references/category-patterns.md +0 -780
  471. package/mcps/davinci-resolve-mcp/docs/authoring/setting-files/references/controls.md +0 -259
  472. package/mcps/davinci-resolve-mcp/docs/authoring/setting-files/references/format.md +0 -568
  473. package/mcps/davinci-resolve-mcp/docs/authoring/setting-files/references/gotchas.md +0 -168
  474. package/mcps/davinci-resolve-mcp/docs/authoring/setting-files/references/thumbnails.md +0 -106
  475. package/mcps/davinci-resolve-mcp/docs/authoring/setting-files/templates/MCP Test Blur.setting +0 -46
  476. package/mcps/davinci-resolve-mcp/docs/authoring/setting-files/templates/MCP Test Color Tint.setting +0 -78
  477. package/mcps/davinci-resolve-mcp/docs/authoring/setting-files/templates/MCP Test Cross Dissolve.setting +0 -57
  478. package/mcps/davinci-resolve-mcp/docs/authoring/setting-files/templates/MCP Test Fade Title.setting +0 -111
  479. package/mcps/davinci-resolve-mcp/docs/authoring/setting-files/templates/MCP Test Glow.setting +0 -55
  480. package/mcps/davinci-resolve-mcp/docs/authoring/setting-files/templates/MCP Test Gradient.setting +0 -52
  481. package/mcps/davinci-resolve-mcp/docs/authoring/setting-files/templates/MCP Test Iris.setting +0 -127
  482. package/mcps/davinci-resolve-mcp/docs/authoring/setting-files/templates/MCP Test Lower Third.setting +0 -192
  483. package/mcps/davinci-resolve-mcp/docs/authoring/setting-files/templates/MCP Test Noise.setting +0 -74
  484. package/mcps/davinci-resolve-mcp/docs/authoring/setting-files/templates/MCP Test Solid Color.setting +0 -55
  485. package/mcps/davinci-resolve-mcp/docs/authoring/setting-files/templates/MCP Test Title.setting +0 -105
  486. package/mcps/davinci-resolve-mcp/docs/authoring/setting-files/templates/MCP Test Vignette.setting +0 -98
  487. package/mcps/davinci-resolve-mcp/docs/authoring/setting-files/templates/MCP Test Wipe.setting +0 -98
  488. package/mcps/davinci-resolve-mcp/docs/contributing.md +0 -82
  489. package/mcps/davinci-resolve-mcp/docs/guides/color-decision-guide.md +0 -427
  490. package/mcps/davinci-resolve-mcp/docs/guides/control-panel.md +0 -234
  491. package/mcps/davinci-resolve-mcp/docs/guides/editorial-decision-guide.md +0 -165
  492. package/mcps/davinci-resolve-mcp/docs/guides/media-analysis-guide.md +0 -763
  493. package/mcps/davinci-resolve-mcp/docs/guides/multicam-setup-guide.md +0 -138
  494. package/mcps/davinci-resolve-mcp/docs/images/control-panel/01-overview.png +0 -0
  495. package/mcps/davinci-resolve-mcp/docs/images/control-panel/02-review-bin-grid.png +0 -0
  496. package/mcps/davinci-resolve-mcp/docs/images/control-panel/03-clip-detail.png +0 -0
  497. package/mcps/davinci-resolve-mcp/docs/images/control-panel/04-transcript.png +0 -0
  498. package/mcps/davinci-resolve-mcp/docs/images/control-panel/05-shot-detail.png +0 -0
  499. package/mcps/davinci-resolve-mcp/docs/images/control-panel/06-inventory.png +0 -0
  500. package/mcps/davinci-resolve-mcp/docs/images/control-panel/07-diagnostics-resolve.png +0 -0
  501. package/mcps/davinci-resolve-mcp/docs/images/control-panel/08-preferences-analysis.png +0 -0
  502. package/mcps/davinci-resolve-mcp/docs/images/control-panel/09-ai-console.png +0 -0
  503. package/mcps/davinci-resolve-mcp/docs/images/control-panel/10-history.png +0 -0
  504. package/mcps/davinci-resolve-mcp/docs/images/control-panel/11-edit-plans.png +0 -0
  505. package/mcps/davinci-resolve-mcp/docs/install.md +0 -208
  506. package/mcps/davinci-resolve-mcp/docs/integrations/workflow-integrations.md +0 -120
  507. package/mcps/davinci-resolve-mcp/docs/kernels/README.md +0 -28
  508. package/mcps/davinci-resolve-mcp/docs/kernels/audio-fairlight-kernel.md +0 -86
  509. package/mcps/davinci-resolve-mcp/docs/kernels/color-grade-kernel.md +0 -103
  510. package/mcps/davinci-resolve-mcp/docs/kernels/extension-authoring-kernel.md +0 -101
  511. package/mcps/davinci-resolve-mcp/docs/kernels/fusion-composition-kernel.md +0 -121
  512. package/mcps/davinci-resolve-mcp/docs/kernels/media-pool-ingest-kernel.md +0 -147
  513. package/mcps/davinci-resolve-mcp/docs/kernels/project-lifecycle-kernel.md +0 -120
  514. package/mcps/davinci-resolve-mcp/docs/kernels/render-deliver-kernel.md +0 -92
  515. package/mcps/davinci-resolve-mcp/docs/kernels/review-annotation-kernel.md +0 -110
  516. package/mcps/davinci-resolve-mcp/docs/kernels/timeline-conform-interchange-kernel.md +0 -102
  517. package/mcps/davinci-resolve-mcp/docs/kernels/timeline-edit-kernel.md +0 -189
  518. package/mcps/davinci-resolve-mcp/docs/notes/codec-plugin-notes.md +0 -136
  519. package/mcps/davinci-resolve-mcp/docs/notes/dctl-notes.md +0 -234
  520. package/mcps/davinci-resolve-mcp/docs/notes/fusion-template-notes.md +0 -136
  521. package/mcps/davinci-resolve-mcp/docs/notes/lut-notes.md +0 -136
  522. package/mcps/davinci-resolve-mcp/docs/notes/openfx-notes.md +0 -120
  523. package/mcps/davinci-resolve-mcp/docs/process/release-process.md +0 -180
  524. package/mcps/davinci-resolve-mcp/docs/reference/api-coverage.md +0 -521
  525. package/mcps/davinci-resolve-mcp/docs/reference/api-limitations.md +0 -259
  526. package/mcps/davinci-resolve-mcp/docs/reference/readwrite-symmetry.md +0 -25
  527. package/mcps/davinci-resolve-mcp/docs/reference/resolve_scripting_api.txt +0 -1024
  528. package/mcps/davinci-resolve-mcp/tests/_error_envelope_helpers.py +0 -35
  529. package/mcps/davinci-resolve-mcp/tests/benchmark_server.py +0 -270
  530. package/mcps/davinci-resolve-mcp/tests/create_test_timeline.py +0 -177
  531. package/mcps/davinci-resolve-mcp/tests/live_api_gap_verification.py +0 -274
  532. package/mcps/davinci-resolve-mcp/tests/live_audio_fairlight_validation.py +0 -77
  533. package/mcps/davinci-resolve-mcp/tests/live_auto_sync_settings_check.py +0 -76
  534. package/mcps/davinci-resolve-mcp/tests/live_color_grade_validation.py +0 -89
  535. package/mcps/davinci-resolve-mcp/tests/live_delete_governance_check.py +0 -71
  536. package/mcps/davinci-resolve-mcp/tests/live_duplicate_clips_validation.py +0 -831
  537. package/mcps/davinci-resolve-mcp/tests/live_edit_engine_validation.py +0 -277
  538. package/mcps/davinci-resolve-mcp/tests/live_enum_settings_check.py +0 -89
  539. package/mcps/davinci-resolve-mcp/tests/live_extension_authoring_validation.py +0 -77
  540. package/mcps/davinci-resolve-mcp/tests/live_fuse_diagnose.py +0 -230
  541. package/mcps/davinci-resolve-mcp/tests/live_fuse_smoke.py +0 -250
  542. package/mcps/davinci-resolve-mcp/tests/live_fusion_composition_validation.py +0 -82
  543. package/mcps/davinci-resolve-mcp/tests/live_fusion_keyframe_validation.py +0 -116
  544. package/mcps/davinci-resolve-mcp/tests/live_fusion_mask_title_validation.py +0 -286
  545. package/mcps/davinci-resolve-mcp/tests/live_marker_validation.py +0 -439
  546. package/mcps/davinci-resolve-mcp/tests/live_media_pool_ingest_validation.py +0 -98
  547. package/mcps/davinci-resolve-mcp/tests/live_metadata_field_inventory_validation.py +0 -379
  548. package/mcps/davinci-resolve-mcp/tests/live_metadata_publish_validation.py +0 -192
  549. package/mcps/davinci-resolve-mcp/tests/live_multicam_setup_validation.py +0 -198
  550. package/mcps/davinci-resolve-mcp/tests/live_path_probe.py +0 -119
  551. package/mcps/davinci-resolve-mcp/tests/live_project_lifecycle_validation.py +0 -77
  552. package/mcps/davinci-resolve-mcp/tests/live_render_deliver_validation.py +0 -82
  553. package/mcps/davinci-resolve-mcp/tests/live_review_annotation_validation.py +0 -91
  554. package/mcps/davinci-resolve-mcp/tests/live_script_smoke.py +0 -141
  555. package/mcps/davinci-resolve-mcp/tests/live_sync_event_validation.py +0 -165
  556. package/mcps/davinci-resolve-mcp/tests/live_timeline_conform_validation.py +0 -77
  557. package/mcps/davinci-resolve-mcp/tests/live_v233_validation.py +0 -282
  558. package/mcps/davinci-resolve-mcp/tests/test-after-restart.bat +0 -83
  559. package/mcps/davinci-resolve-mcp/tests/test-after-restart.sh +0 -87
  560. package/mcps/davinci-resolve-mcp/tests/test_action_help.py +0 -47
  561. package/mcps/davinci-resolve-mcp/tests/test_action_list_drift.py +0 -163
  562. package/mcps/davinci-resolve-mcp/tests/test_ai_console_dispatch.py +0 -91
  563. package/mcps/davinci-resolve-mcp/tests/test_analysis_caps.py +0 -210
  564. package/mcps/davinci-resolve-mcp/tests/test_analysis_runs.py +0 -157
  565. package/mcps/davinci-resolve-mcp/tests/test_analysis_store.py +0 -366
  566. package/mcps/davinci-resolve-mcp/tests/test_api_limitations_doc.py +0 -56
  567. package/mcps/davinci-resolve-mcp/tests/test_api_truth.py +0 -64
  568. package/mcps/davinci-resolve-mcp/tests/test_api_truth_mitigations.py +0 -45
  569. package/mcps/davinci-resolve-mcp/tests/test_append_clip_infos_result_handling.py +0 -679
  570. package/mcps/davinci-resolve-mcp/tests/test_audio_fairlight_probe.py +0 -216
  571. package/mcps/davinci-resolve-mcp/tests/test_auto_run.py +0 -76
  572. package/mcps/davinci-resolve-mcp/tests/test_auto_sync_audio.py +0 -171
  573. package/mcps/davinci-resolve-mcp/tests/test_batch_cli.py +0 -253
  574. package/mcps/davinci-resolve-mcp/tests/test_brain_edits.py +0 -218
  575. package/mcps/davinci-resolve-mcp/tests/test_bridge_metrics.py +0 -52
  576. package/mcps/davinci-resolve-mcp/tests/test_bulk_match_to_hero.py +0 -219
  577. package/mcps/davinci-resolve-mcp/tests/test_caps_events_and_history.py +0 -147
  578. package/mcps/davinci-resolve-mcp/tests/test_caps_integration.py +0 -315
  579. package/mcps/davinci-resolve-mcp/tests/test_cdl_and_install_config.py +0 -372
  580. package/mcps/davinci-resolve-mcp/tests/test_clip_query.py +0 -57
  581. package/mcps/davinci-resolve-mcp/tests/test_cloud_settings.py +0 -62
  582. package/mcps/davinci-resolve-mcp/tests/test_color_grade_probe.py +0 -230
  583. package/mcps/davinci-resolve-mcp/tests/test_confirm_token.py +0 -85
  584. package/mcps/davinci-resolve-mcp/tests/test_confirm_token_preferences.py +0 -22
  585. package/mcps/davinci-resolve-mcp/tests/test_contracts.py +0 -81
  586. package/mcps/davinci-resolve-mcp/tests/test_create_subtitles_settings.py +0 -111
  587. package/mcps/davinci-resolve-mcp/tests/test_custom_timeline.py +0 -137
  588. package/mcps/davinci-resolve-mcp/tests/test_cut_executor.py +0 -87
  589. package/mcps/davinci-resolve-mcp/tests/test_cut_ir.py +0 -82
  590. package/mcps/davinci-resolve-mcp/tests/test_dashboard_transport.py +0 -47
  591. package/mcps/davinci-resolve-mcp/tests/test_deep_vision.py +0 -311
  592. package/mcps/davinci-resolve-mcp/tests/test_description_xml_shape.py +0 -71
  593. package/mcps/davinci-resolve-mcp/tests/test_destructive_decorator_coverage.py +0 -92
  594. package/mcps/davinci-resolve-mcp/tests/test_destructive_hook.py +0 -245
  595. package/mcps/davinci-resolve-mcp/tests/test_destructive_registry_drift.py +0 -108
  596. package/mcps/davinci-resolve-mcp/tests/test_edit_engine.py +0 -574
  597. package/mcps/davinci-resolve-mcp/tests/test_embeddings.py +0 -302
  598. package/mcps/davinci-resolve-mcp/tests/test_entities.py +0 -225
  599. package/mcps/davinci-resolve-mcp/tests/test_error_envelope.py +0 -179
  600. package/mcps/davinci-resolve-mcp/tests/test_exhaustive_wave_a.py +0 -101
  601. package/mcps/davinci-resolve-mcp/tests/test_extension_authoring_probe.py +0 -77
  602. package/mcps/davinci-resolve-mcp/tests/test_extract_frames.py +0 -42
  603. package/mcps/davinci-resolve-mcp/tests/test_extract_source_frame_ranges.py +0 -129
  604. package/mcps/davinci-resolve-mcp/tests/test_failure_tracker.py +0 -103
  605. package/mcps/davinci-resolve-mcp/tests/test_fuse_dctl_authoring.py +0 -596
  606. package/mcps/davinci-resolve-mcp/tests/test_fusion_comp_targeting.py +0 -269
  607. package/mcps/davinci-resolve-mcp/tests/test_fusion_composition_probe.py +0 -156
  608. package/mcps/davinci-resolve-mcp/tests/test_fusion_group_settings.py +0 -284
  609. package/mcps/davinci-resolve-mcp/tests/test_fusion_mask_title.py +0 -205
  610. package/mcps/davinci-resolve-mcp/tests/test_fusion_node_ops.py +0 -212
  611. package/mcps/davinci-resolve-mcp/tests/test_governance_identity.py +0 -155
  612. package/mcps/davinci-resolve-mcp/tests/test_grade_evidence_base.py +0 -132
  613. package/mcps/davinci-resolve-mcp/tests/test_import.py +0 -153
  614. package/mcps/davinci-resolve-mcp/tests/test_improvements.py +0 -334
  615. package/mcps/davinci-resolve-mcp/tests/test_inventory_exclude_bins.py +0 -139
  616. package/mcps/davinci-resolve-mcp/tests/test_live_api.py +0 -315
  617. package/mcps/davinci-resolve-mcp/tests/test_marker_params.py +0 -234
  618. package/mcps/davinci-resolve-mcp/tests/test_mcp_prompts.py +0 -77
  619. package/mcps/davinci-resolve-mcp/tests/test_mcp_resources.py +0 -117
  620. package/mcps/davinci-resolve-mcp/tests/test_mcp_transport.py +0 -74
  621. package/mcps/davinci-resolve-mcp/tests/test_media_analysis.py +0 -4637
  622. package/mcps/davinci-resolve-mcp/tests/test_media_pool_append_verification.py +0 -153
  623. package/mcps/davinci-resolve-mcp/tests/test_media_pool_changes.py +0 -105
  624. package/mcps/davinci-resolve-mcp/tests/test_media_pool_delete_governance.py +0 -69
  625. package/mcps/davinci-resolve-mcp/tests/test_media_pool_ingest_probe.py +0 -546
  626. package/mcps/davinci-resolve-mcp/tests/test_media_pool_walk.py +0 -79
  627. package/mcps/davinci-resolve-mcp/tests/test_multicam_setup.py +0 -178
  628. package/mcps/davinci-resolve-mcp/tests/test_object_inspection.py +0 -140
  629. package/mcps/davinci-resolve-mcp/tests/test_open_control_panel.py +0 -172
  630. package/mcps/davinci-resolve-mcp/tests/test_p1_param_validation.py +0 -57
  631. package/mcps/davinci-resolve-mcp/tests/test_p1_whitelist_and_delete.py +0 -81
  632. package/mcps/davinci-resolve-mcp/tests/test_page_lock.py +0 -52
  633. package/mcps/davinci-resolve-mcp/tests/test_panel_docs_drift.py +0 -77
  634. package/mcps/davinci-resolve-mcp/tests/test_partial_success_manifest.py +0 -113
  635. package/mcps/davinci-resolve-mcp/tests/test_persistence_safety.py +0 -147
  636. package/mcps/davinci-resolve-mcp/tests/test_prefer_handle.py +0 -89
  637. package/mcps/davinci-resolve-mcp/tests/test_project_cleanup.py +0 -111
  638. package/mcps/davinci-resolve-mcp/tests/test_project_lifecycle_probe.py +0 -256
  639. package/mcps/davinci-resolve-mcp/tests/test_project_lint.py +0 -79
  640. package/mcps/davinci-resolve-mcp/tests/test_project_spec.py +0 -246
  641. package/mcps/davinci-resolve-mcp/tests/test_propose_grade.py +0 -116
  642. package/mcps/davinci-resolve-mcp/tests/test_provenance.py +0 -88
  643. package/mcps/davinci-resolve-mcp/tests/test_readback.py +0 -77
  644. package/mcps/davinci-resolve-mcp/tests/test_readwrite_audit.py +0 -43
  645. package/mcps/davinci-resolve-mcp/tests/test_reel_name_writeback.py +0 -149
  646. package/mcps/davinci-resolve-mcp/tests/test_render_deliver_probe.py +0 -250
  647. package/mcps/davinci-resolve-mcp/tests/test_resolve20_api.py +0 -282
  648. package/mcps/davinci-resolve-mcp/tests/test_resolve21_actions.py +0 -386
  649. package/mcps/davinci-resolve-mcp/tests/test_resolve_ai_governance.py +0 -92
  650. package/mcps/davinci-resolve-mcp/tests/test_resolve_ai_ledger.py +0 -89
  651. package/mcps/davinci-resolve-mcp/tests/test_resolve_busy.py +0 -134
  652. package/mcps/davinci-resolve-mcp/tests/test_review_annotation_probe.py +0 -162
  653. package/mcps/davinci-resolve-mcp/tests/test_sampling_modes.py +0 -293
  654. package/mcps/davinci-resolve-mcp/tests/test_script_plugin.py +0 -750
  655. package/mcps/davinci-resolve-mcp/tests/test_shot_relationships.py +0 -254
  656. package/mcps/davinci-resolve-mcp/tests/test_spec_lint_wiring.py +0 -311
  657. package/mcps/davinci-resolve-mcp/tests/test_static_undefined_names.py +0 -45
  658. package/mcps/davinci-resolve-mcp/tests/test_structural_diff.py +0 -67
  659. package/mcps/davinci-resolve-mcp/tests/test_sync_detection.py +0 -213
  660. package/mcps/davinci-resolve-mcp/tests/test_thumbnail_image.py +0 -55
  661. package/mcps/davinci-resolve-mcp/tests/test_timeline_brain_db.py +0 -230
  662. package/mcps/davinci-resolve-mcp/tests/test_timeline_conform_probe.py +0 -229
  663. package/mcps/davinci-resolve-mcp/tests/test_timeline_editorial_helpers.py +0 -88
  664. package/mcps/davinci-resolve-mcp/tests/test_timeline_export_enum.py +0 -59
  665. package/mcps/davinci-resolve-mcp/tests/test_timeline_kernel_probe.py +0 -70
  666. package/mcps/davinci-resolve-mcp/tests/test_timeline_title_text_utils.py +0 -64
  667. package/mcps/davinci-resolve-mcp/tests/test_timeline_versioning.py +0 -419
  668. package/mcps/davinci-resolve-mcp/tests/test_tool_choice_hint.py +0 -42
  669. package/mcps/davinci-resolve-mcp/tests/test_tool_exposure.py +0 -159
  670. package/mcps/davinci-resolve-mcp/tests/test_tool_registration.py +0 -91
  671. package/mcps/davinci-resolve-mcp/tests/test_transcript_read.py +0 -74
  672. package/mcps/davinci-resolve-mcp/tests/test_update_check.py +0 -171
  673. package/mcps/davinci-resolve-mcp/tests/test_update_hardening.py +0 -171
  674. package/mcps/davinci-resolve-mcp/tests/test_update_history.py +0 -116
  675. package/mcps/davinci-resolve-mcp/tests/test_v232_helpers.py +0 -265
  676. package/mcps/davinci-resolve-mcp/tests/test_v233_helpers.py +0 -307
  677. package/mcps/davinci-resolve-mcp/tests/test_validation_guards.py +0 -108
  678. package/mcps/davinci-resolve-mcp/tests/test_verification_stats.py +0 -32
  679. package/mcps/davinci-resolve-mcp/tests/test_waveb_p2_p3.py +0 -65
  680. package/mcps/golem-rhino-mcp/Nexus-AI-Agents.png +0 -0
  681. package/mcps/golem-rhino-mcp/docs/ARCHITECTURE.md +0 -277
  682. package/mcps/golem-rhino-mcp/docs/PROTOCOL.md +0 -247
  683. package/mcps/golem-rhino-mcp/docs/TOOL_REFERENCE.md +0 -1571
  684. package/mcps/golem-rhino-mcp/docs/TROUBLESHOOTING.md +0 -396
  685. package/mcps/golem-rhino-mcp/mcp_server/Screenshot 2026-03-20 at 18.33.06.png +0 -0
  686. package/mcps/golem-rhino-mcp/mcp_server/Screenshot 2026-03-21 at 1.43.01.png +0 -0
  687. package/mcps/golem-rhino-mcp/nexus-pngs/CAIO.png +0 -0
  688. package/mcps/golem-rhino-mcp/nexus-pngs/CEO.png +0 -0
  689. package/mcps/golem-rhino-mcp/nexus-pngs/CFO.png +0 -0
  690. package/mcps/golem-rhino-mcp/nexus-pngs/CHRO.png +0 -0
  691. package/mcps/golem-rhino-mcp/nexus-pngs/CISO.png +0 -0
  692. package/mcps/golem-rhino-mcp/nexus-pngs/CLO.png +0 -0
  693. package/mcps/golem-rhino-mcp/nexus-pngs/CMO.png +0 -0
  694. package/mcps/golem-rhino-mcp/nexus-pngs/COO.png +0 -0
  695. package/mcps/golem-rhino-mcp/nexus-pngs/CPO.png +0 -0
  696. package/mcps/golem-rhino-mcp/nexus-pngs/CRO.png +0 -0
  697. package/mcps/golem-rhino-mcp/nexus-pngs/CTO.png +0 -0
  698. package/mcps/golem-rhino-mcp/nexus-pngs/king-hippo.png +0 -0
  699. package/mcps/golem-rhino-mcp/nexus-pngs/tier-0-csuite.png +0 -0
  700. package/mcps/golem-rhino-mcp/screenshots/city_monument.png +0 -0
  701. package/mcps/golem-rhino-mcp/screenshots/city_skyline.png +0 -0
  702. package/mcps/golem-rhino-mcp/screenshots/city_street.png +0 -0
  703. package/mcps/golem-rhino-mcp/screenshots/city_wide.png +0 -0
  704. package/mcps/golem-rhino-mcp/tests/__init__.py +0 -0
  705. package/mcps/golem-rhino-mcp/tests/conftest.py +0 -150
  706. package/mcps/golem-rhino-mcp/tests/test_connection.py +0 -543
  707. package/mcps/golem-rhino-mcp/tests/test_integration.py +0 -344
  708. package/mcps/golem-rhino-mcp/tests/test_models.py +0 -749
  709. package/mcps/golem-rhino-mcp/tests/test_protocol.py +0 -334
  710. package/mcps/golem-rhino-mcp/tests/test_tools_mock.py +0 -689
  711. package/mcps/tdmcp/.github/social-preview.png +0 -0
  712. package/mcps/tdmcp/docs/.vitepress/config.ts +0 -397
  713. package/mcps/tdmcp/docs/AI_PARTY_LLM_TRAINING_PLAN.md +0 -118
  714. package/mcps/tdmcp/docs/AI_PARTY_POC.md +0 -142
  715. package/mcps/tdmcp/docs/AI_PARTY_POC_PLAN.md +0 -112
  716. package/mcps/tdmcp/docs/CREATIVE_RAG.md +0 -346
  717. package/mcps/tdmcp/docs/DEPLOYMENT.md +0 -113
  718. package/mcps/tdmcp/docs/PROJECT_RAG.md +0 -477
  719. package/mcps/tdmcp/docs/ROADMAP.md +0 -1346
  720. package/mcps/tdmcp/docs/guide/ai-controlled-party.md +0 -215
  721. package/mcps/tdmcp/docs/guide/body-tracking.md +0 -169
  722. package/mcps/tdmcp/docs/guide/codex.md +0 -107
  723. package/mcps/tdmcp/docs/guide/components.md +0 -126
  724. package/mcps/tdmcp/docs/guide/dashboard-foh.md +0 -93
  725. package/mcps/tdmcp/docs/guide/faq.md +0 -62
  726. package/mcps/tdmcp/docs/guide/first-visual.md +0 -76
  727. package/mcps/tdmcp/docs/guide/generators.md +0 -230
  728. package/mcps/tdmcp/docs/guide/glossary.md +0 -123
  729. package/mcps/tdmcp/docs/guide/install.md +0 -200
  730. package/mcps/tdmcp/docs/guide/local-copilot.md +0 -154
  731. package/mcps/tdmcp/docs/guide/lops-integration.md +0 -133
  732. package/mcps/tdmcp/docs/guide/mcp-resources.md +0 -96
  733. package/mcps/tdmcp/docs/guide/mediapipe-adapters.md +0 -90
  734. package/mcps/tdmcp/docs/guide/physical-installations.md +0 -129
  735. package/mcps/tdmcp/docs/guide/prompt-cookbook.md +0 -2285
  736. package/mcps/tdmcp/docs/guide/recipes.md +0 -72
  737. package/mcps/tdmcp/docs/guide/session-profile.md +0 -90
  738. package/mcps/tdmcp/docs/guide/shader-park.md +0 -94
  739. package/mcps/tdmcp/docs/guide/show-timelines.md +0 -125
  740. package/mcps/tdmcp/docs/guide/troubleshooting.md +0 -121
  741. package/mcps/tdmcp/docs/guide/what-is-tdmcp.md +0 -62
  742. package/mcps/tdmcp/docs/index.md +0 -49
  743. package/mcps/tdmcp/docs/privacy.md +0 -85
  744. package/mcps/tdmcp/docs/pt/CREATIVE_RAG.md +0 -370
  745. package/mcps/tdmcp/docs/pt/PROJECT_RAG.md +0 -420
  746. package/mcps/tdmcp/docs/pt/guide/ai-controlled-party.md +0 -218
  747. package/mcps/tdmcp/docs/pt/guide/body-tracking.md +0 -175
  748. package/mcps/tdmcp/docs/pt/guide/codex.md +0 -113
  749. package/mcps/tdmcp/docs/pt/guide/components.md +0 -129
  750. package/mcps/tdmcp/docs/pt/guide/dashboard-foh.md +0 -95
  751. package/mcps/tdmcp/docs/pt/guide/faq.md +0 -62
  752. package/mcps/tdmcp/docs/pt/guide/first-visual.md +0 -81
  753. package/mcps/tdmcp/docs/pt/guide/generators.md +0 -243
  754. package/mcps/tdmcp/docs/pt/guide/glossary.md +0 -127
  755. package/mcps/tdmcp/docs/pt/guide/install.md +0 -196
  756. package/mcps/tdmcp/docs/pt/guide/local-copilot.md +0 -164
  757. package/mcps/tdmcp/docs/pt/guide/lops-integration.md +0 -143
  758. package/mcps/tdmcp/docs/pt/guide/mcp-resources.md +0 -96
  759. package/mcps/tdmcp/docs/pt/guide/mediapipe-adapters.md +0 -93
  760. package/mcps/tdmcp/docs/pt/guide/physical-installations.md +0 -135
  761. package/mcps/tdmcp/docs/pt/guide/prompt-cookbook.md +0 -2342
  762. package/mcps/tdmcp/docs/pt/guide/recipes.md +0 -59
  763. package/mcps/tdmcp/docs/pt/guide/session-profile.md +0 -92
  764. package/mcps/tdmcp/docs/pt/guide/shader-park.md +0 -95
  765. package/mcps/tdmcp/docs/pt/guide/show-timelines.md +0 -128
  766. package/mcps/tdmcp/docs/pt/guide/troubleshooting.md +0 -109
  767. package/mcps/tdmcp/docs/pt/guide/what-is-tdmcp.md +0 -61
  768. package/mcps/tdmcp/docs/pt/index.md +0 -49
  769. package/mcps/tdmcp/docs/pt/privacy.md +0 -91
  770. package/mcps/tdmcp/docs/pt/reference/architecture.md +0 -178
  771. package/mcps/tdmcp/docs/pt/reference/environment.md +0 -70
  772. package/mcps/tdmcp/docs/public/favicon.svg +0 -12
  773. package/mcps/tdmcp/docs/public/logo-400.png +0 -0
  774. package/mcps/tdmcp/docs/public/og-image.jpg +0 -0
  775. package/mcps/tdmcp/docs/public/robots.txt +0 -4
  776. package/mcps/tdmcp/docs/reference/API_STABILITY.md +0 -116
  777. package/mcps/tdmcp/docs/reference/architecture.md +0 -191
  778. package/mcps/tdmcp/docs/reference/bridge-api.md +0 -155
  779. package/mcps/tdmcp/docs/reference/cli.md +0 -288
  780. package/mcps/tdmcp/docs/reference/coverage-harness.md +0 -61
  781. package/mcps/tdmcp/docs/reference/environment.md +0 -116
  782. package/mcps/tdmcp/docs/reference/packages.md +0 -98
  783. package/mcps/tdmcp/docs/reference/tool-contract.md +0 -74
  784. package/mcps/tdmcp/docs/superpowers/plans/2026-05-29-shader-park-animus-integrations.md +0 -76
  785. package/mcps/tdmcp/docs/superpowers/plans/2026-06-02-doctor-fix-textport-auto-install.md +0 -131
  786. package/mcps/tdmcp/docs/superpowers/plans/2026-06-06-body-bubbles.md +0 -138
  787. package/mcps/tdmcp/docs/superpowers/plans/2026-06-08-deep-doppelganger-implementation.md +0 -201
  788. package/mcps/tdmcp/docs/superpowers/plans/2026-06-10-ai-party-ollama-integration.md +0 -55
  789. package/mcps/tdmcp/docs/superpowers/plans/2026-06-24-kinect-wall-harp-calibration-wizard.md +0 -53
  790. package/mcps/tdmcp/docs/superpowers/plans/2026-06-24-kinect-wall-harp-external-kinect.md +0 -286
  791. package/mcps/tdmcp/docs/superpowers/specs/2026-05-31-create-vector-lines-design.md +0 -308
  792. package/mcps/tdmcp/docs/superpowers/specs/2026-06-01-ai-controlled-party-plan.md +0 -461
  793. package/mcps/tdmcp/docs/superpowers/specs/2026-06-04-ai-party-ui24r-scene-arming-design.md +0 -296
  794. package/mcps/tdmcp/docs/superpowers/specs/2026-06-08-ai-controlled-party-producer-poc.md +0 -232
  795. package/mcps/tdmcp/docs/superpowers/specs/2026-06-08-deep-doppelganger-design.md +0 -136
  796. package/mcps/tdmcp/docs/superpowers/specs/2026-06-10-hermes-ai-party-poc.md +0 -383
  797. package/mcps/tdmcp/docs/superpowers/specs/2026-06-23-kinect-wall-harp-design.md +0 -340
  798. package/mcps/tdmcp/docs/superpowers/specs/2026-06-24-kinect-environment-diagnostic-design.md +0 -151
  799. package/mcps/tdmcp/docs/superpowers/specs/2026-06-24-kinect-wall-harp-external-kinect-design.md +0 -104
  800. package/mcps/tdmcp/training/showintent/data/curated/.gitkeep +0 -1
  801. package/mcps/tdmcp/training/showintent/data/curated/curated-approved.jsonl +0 -1
  802. package/mcps/tdmcp/training/showintent/data/curation_template.csv +0 -1
  803. package/mcps/tdmcp/training/showintent/data/generated/.gitkeep +0 -1
  804. package/mcps/tdmcp/training/showintent/data/generated/showintent-synthetic.jsonl +0 -2000
  805. package/mcps/tdmcp/training/showintent/data/raw/.gitkeep +0 -1
  806. package/mcps/tdmcp/training/showintent/data/splits/.gitkeep +0 -1
  807. package/mcps/tdmcp/training/showintent/data/splits/train-compact.jsonl +0 -1800
  808. package/mcps/tdmcp/training/showintent/data/splits/train.jsonl +0 -1800
  809. package/mcps/tdmcp/training/showintent/data/splits/validation-compact.jsonl +0 -200
  810. package/mcps/tdmcp/training/showintent/data/splits/validation.jsonl +0 -200
  811. package/mcps/touchdesigner-mcp/assets/import.png +0 -0
  812. package/mcps/touchdesigner-mcp/assets/nodes_list.png +0 -0
  813. package/mcps/touchdesigner-mcp/assets/particle_on_youtube.png +0 -0
  814. package/mcps/touchdesigner-mcp/assets/textport.png +0 -0
  815. package/mcps/touchdesigner-mcp/assets/tutorial.png +0 -0
  816. package/mcps/touchdesigner-mcp/assets/tutorial_docker.png +0 -0
  817. package/mcps/touchdesigner-mcp/docs/architecture.md +0 -1245
  818. package/mcps/touchdesigner-mcp/docs/development.ja.md +0 -197
  819. package/mcps/touchdesigner-mcp/docs/development.md +0 -212
  820. package/mcps/touchdesigner-mcp/docs/installation.ja.md +0 -370
  821. package/mcps/touchdesigner-mcp/docs/installation.md +0 -406
  822. package/mcps/unreal_mcp/Public/icon.png +0 -0
  823. package/mcps/unreal_mcp/docs/Engine-API-Reference.md +0 -2251
  824. package/mcps/unreal_mcp/docs/Roadmap.md +0 -2269
  825. package/mcps/unreal_mcp/docs/editor-plugin-extension.md +0 -373
  826. package/mcps/unreal_mcp/docs/handler-mapping.md +0 -1170
  827. package/mcps/unreal_mcp/docs/native-automation-progress.md +0 -431
  828. package/mcps/unreal_mcp/docs/testing-guide.md +0 -149
  829. package/mcps/unreal_mcp/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/Domains/Test/McpAutomationBridge_TestHandlers.cpp +0 -74
  830. package/mcps/unreal_mcp/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/Tests/McpCustomHandlerAliasTests.cpp +0 -191
  831. package/mcps/unreal_mcp/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/Tests/McpEnvironmentSnapshotSchemaTests.cpp +0 -192
  832. package/mcps/unreal_mcp/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/Tests/McpPropertyReflectionImportTests.cpp +0 -269
  833. package/mcps/unreal_mcp/plugins/UnrealAgent/Source/UnrealAgent/Private/Tests/UnrealAgentAcpClientProtocolAutomation.cpp +0 -152
  834. package/mcps/unreal_mcp/plugins/UnrealAgent/Source/UnrealAgent/Private/Tests/UnrealAgentAcpProtocolTestHelpers.cpp +0 -136
  835. package/mcps/unreal_mcp/plugins/UnrealAgent/Source/UnrealAgent/Private/Tests/UnrealAgentAcpProtocolTestHelpers.h +0 -49
  836. package/mcps/unreal_mcp/plugins/UnrealAgent/Source/UnrealAgent/Private/Tests/UnrealAgentAutomationTestDelegates.h +0 -12
  837. package/mcps/unreal_mcp/plugins/UnrealAgent/Source/UnrealAgent/Private/Tests/UnrealAgentAutomationTests.cpp +0 -34
  838. package/mcps/unreal_mcp/plugins/UnrealAgent/Source/UnrealAgent/Private/Tests/UnrealAgentAutomationWidgetHelpers.cpp +0 -116
  839. package/mcps/unreal_mcp/plugins/UnrealAgent/Source/UnrealAgent/Private/Tests/UnrealAgentAutomationWidgetHelpers.h +0 -15
  840. package/mcps/unreal_mcp/plugins/UnrealAgent/Source/UnrealAgent/Private/Tests/UnrealAgentFakeAcpScript.cpp +0 -76
  841. package/mcps/unreal_mcp/plugins/UnrealAgent/Source/UnrealAgent/Private/Tests/UnrealAgentPanelAutomation.h +0 -35
  842. package/mcps/unreal_mcp/plugins/UnrealAgent/Source/UnrealAgent/Private/Tests/UnrealAgentPanelAutomationFixture.cpp +0 -118
  843. package/mcps/unreal_mcp/plugins/UnrealAgent/Source/UnrealAgent/Private/Tests/UnrealAgentPanelHistoryChecks.cpp +0 -162
  844. package/mcps/unreal_mcp/plugins/UnrealAgent/Source/UnrealAgent/Private/Tests/UnrealAgentPanelLayoutChecks.cpp +0 -158
  845. package/mcps/unreal_mcp/plugins/UnrealAgent/Source/UnrealAgent/Private/Tests/UnrealAgentPanelTranscriptChecks.cpp +0 -117
  846. package/mcps/unreal_mcp/plugins/UnrealAgent/Source/UnrealAgent/Private/Tests/UnrealAgentStudioKitAutomationChecks.cpp +0 -155
  847. package/mcps/unreal_mcp/tests/AGENTS.md +0 -73
  848. package/mcps/unreal_mcp/tests/expectation-utils.mjs +0 -29
  849. package/mcps/unreal_mcp/tests/heartbeat-progress.test.mjs +0 -143
  850. package/mcps/unreal_mcp/tests/integration/get_ai_info_characterization.mjs +0 -216
  851. package/mcps/unreal_mcp/tests/integration.mjs +0 -94
  852. package/mcps/unreal_mcp/tests/mcp-tools/core/control-actor.test.mjs +0 -114
  853. package/mcps/unreal_mcp/tests/mcp-tools/core/control-editor.test.mjs +0 -86
  854. package/mcps/unreal_mcp/tests/mcp-tools/core/inspect.test.mjs +0 -85
  855. package/mcps/unreal_mcp/tests/mcp-tools/core/manage-asset.test.mjs +0 -302
  856. package/mcps/unreal_mcp/tests/mcp-tools/core/manage-blueprint.test.mjs +0 -331
  857. package/mcps/unreal_mcp/tests/mcp-tools/core/manage-level.test.mjs +0 -73
  858. package/mcps/unreal_mcp/tests/mcp-tools/core/manage-tools.test.mjs +0 -30
  859. package/mcps/unreal_mcp/tests/mcp-tools/core/system-control.test.mjs +0 -205
  860. package/mcps/unreal_mcp/tests/mcp-tools/gameplay/animation-physics.test.mjs +0 -277
  861. package/mcps/unreal_mcp/tests/mcp-tools/gameplay/manage-ai.test.mjs +0 -299
  862. package/mcps/unreal_mcp/tests/mcp-tools/gameplay/manage-character.test.mjs +0 -85
  863. package/mcps/unreal_mcp/tests/mcp-tools/gameplay/manage-combat.test.mjs +0 -106
  864. package/mcps/unreal_mcp/tests/mcp-tools/gameplay/manage-effect.test.mjs +0 -108
  865. package/mcps/unreal_mcp/tests/mcp-tools/gameplay/manage-gas.test.mjs +0 -96
  866. package/mcps/unreal_mcp/tests/mcp-tools/gameplay/manage-interaction.test.mjs +0 -122
  867. package/mcps/unreal_mcp/tests/mcp-tools/gameplay/manage-inventory.test.mjs +0 -146
  868. package/mcps/unreal_mcp/tests/mcp-tools/utility/behavior-tree-get-tree.test.mjs +0 -233
  869. package/mcps/unreal_mcp/tests/mcp-tools/utility/manage-audio.test.mjs +0 -160
  870. package/mcps/unreal_mcp/tests/mcp-tools/utility/manage-behavior-tree.test.mjs +0 -223
  871. package/mcps/unreal_mcp/tests/mcp-tools/utility/manage-networking.test.mjs +0 -635
  872. package/mcps/unreal_mcp/tests/mcp-tools/utility/manage-sequence.test.mjs +0 -95
  873. package/mcps/unreal_mcp/tests/mcp-tools/world/build-environment.test.mjs +0 -282
  874. package/mcps/unreal_mcp/tests/mcp-tools/world/manage-geometry.test.mjs +0 -130
  875. package/mcps/unreal_mcp/tests/mcp-tools/world/manage-level-structure.test.mjs +0 -149
  876. package/mcps/unreal_mcp/tests/mcp-tools/world/manage-pcg.test.mjs +0 -471
  877. package/mcps/unreal_mcp/tests/mcp-tools/world/rendering-cases.cjs +0 -775
  878. package/mcps/unreal_mcp/tests/mcp-tools/world/rendering.test.mjs +0 -15
  879. package/mcps/unreal_mcp/tests/native-mcp-parity-audit.mjs +0 -260
  880. package/mcps/unreal_mcp/tests/native-mcp-source-parser.mjs +0 -229
  881. package/mcps/unreal_mcp/tests/native-mcp-typescript-parity-parser.mjs +0 -121
  882. package/mcps/unreal_mcp/tests/parameter-audit-cli.mjs +0 -23
  883. package/mcps/unreal_mcp/tests/parameter-audit-context.mjs +0 -14
  884. package/mcps/unreal_mcp/tests/parameter-audit-coverage.mjs +0 -164
  885. package/mcps/unreal_mcp/tests/parameter-audit-schema.mjs +0 -190
  886. package/mcps/unreal_mcp/tests/parameter-audit-suites.mjs +0 -218
  887. package/mcps/unreal_mcp/tests/parameter-combination-audit.mjs +0 -37
  888. package/mcps/unreal_mcp/tests/test-runner-response-utils.mjs +0 -132
  889. package/mcps/unreal_mcp/tests/test-runner.mjs +0 -1798
  890. package/mcps/unreal_mcp/tests/unit/automation/bridge_host_validation.test.ts +0 -165
  891. package/mcps/unreal_mcp/tests/unit/config.test.ts +0 -205
  892. package/mcps/unreal_mcp/tests/unit/native_mcp_parity_audit.test.ts +0 -281
  893. package/mcps/unreal_mcp/tests/unit/native_mcp_parity_comment_filtering.test.ts +0 -175
  894. package/mcps/unreal_mcp/tests/unit/parameter_audit_schema.test.ts +0 -273
  895. package/mcps/unreal_mcp/tests/unit/plugin/automation_event_stream_contracts.test.ts +0 -195
  896. package/mcps/unreal_mcp/tests/unit/plugin/environment_asset_name_contracts.test.ts +0 -115
  897. package/mcps/unreal_mcp/tests/unit/plugin/environment_build_adapter_contracts.test.ts +0 -377
  898. package/mcps/unreal_mcp/tests/unit/plugin/environment_snapshot_path_contracts.test.ts +0 -122
  899. package/mcps/unreal_mcp/tests/unit/plugin/handler_routing_contracts.test.ts +0 -120
  900. package/mcps/unreal_mcp/tests/unit/plugin/level_lighting_contracts.test.ts +0 -125
  901. package/mcps/unreal_mcp/tests/unit/plugin/plugin_manifest_contracts.test.ts +0 -154
  902. package/mcps/unreal_mcp/tests/unit/plugin/plugin_packaging_contracts.test.ts +0 -124
  903. package/mcps/unreal_mcp/tests/unit/plugin/runtime_behavior_contracts.test.ts +0 -372
  904. package/mcps/unreal_mcp/tests/unit/plugin/security_contracts.test.ts +0 -81
  905. package/mcps/unreal_mcp/tests/unit/plugin/source_structure.test.ts +0 -101
  906. package/mcps/unreal_mcp/tests/unit/plugin/source_structure_contracts.test.ts +0 -103
  907. package/mcps/unreal_mcp/tests/unit/plugin/websocket_origin_contracts.test.ts +0 -25
  908. package/mcps/unreal_mcp/tests/unit/server_shutdown_contracts.test.ts +0 -33
  909. package/mcps/unreal_mcp/tests/unit/source_structure.test.ts +0 -79
  910. package/mcps/unreal_mcp/tests/unit/test_runner.test.ts +0 -342
  911. package/mcps/unreal_mcp/tests/unit/test_runner_response_utils.test.ts +0 -105
  912. package/mcps/unreal_mcp/tests/unit/tools/asset_handlers_security.test.ts +0 -246
  913. package/mcps/unreal_mcp/tests/unit/tools/behavior_tree_get_tree.test.ts +0 -20
  914. package/mcps/unreal_mcp/tests/unit/tools/blueprint_handlers.test.ts +0 -122
  915. package/mcps/unreal_mcp/tests/unit/tools/editor.test.ts +0 -56
  916. package/mcps/unreal_mcp/tests/unit/tools/handler_structure.test.ts +0 -59
  917. package/mcps/unreal_mcp/tests/unit/tools/inspect_handlers.test.ts +0 -231
  918. package/mcps/unreal_mcp/tests/unit/tools/level.test.ts +0 -56
  919. package/mcps/unreal_mcp/tests/unit/tools/level_security.test.ts +0 -45
  920. package/mcps/unreal_mcp/tests/unit/tools/lighting_timeout_propagation.test.ts +0 -123
  921. package/mcps/windows-computer-use-mcp/cua-reports/app-1781542686.png +0 -0
  922. package/mcps/windows-computer-use-mcp/cua-reports/bridge-1781542694.png +0 -0
  923. package/mcps/windows-computer-use-mcp/cua-reports/bridge-ok-1781442393.png +0 -0
  924. package/mcps/windows-computer-use-mcp/cua-reports/bridge-ok-1781442915.png +0 -0
  925. package/mcps/windows-computer-use-mcp/cua-reports/bridge-snap-1781444105.png +0 -0
  926. package/mcps/windows-computer-use-mcp/cua-reports/bridge-snap-1781444214.png +0 -0
  927. package/mcps/windows-computer-use-mcp/cua-reports/bridge-snap-1781457035.png +0 -0
  928. package/mcps/windows-computer-use-mcp/cua-reports/cua-smoke-1781440024.png +0 -0
  929. package/mcps/windows-computer-use-mcp/cua-reports/cua-smoke-1781440234.png +0 -0
  930. package/mcps/windows-computer-use-mcp/cua-reports/cua-smoke-1781442383.png +0 -0
  931. package/mcps/windows-computer-use-mcp/cua-reports/cua-smoke-1781442906.png +0 -0
  932. package/mcps/windows-computer-use-mcp/cua-reports/cua-smoke-1781444096.png +0 -0
  933. package/mcps/windows-computer-use-mcp/cua-reports/cua-smoke-1781444209.png +0 -0
  934. package/mcps/windows-computer-use-mcp/cua-reports/cua-smoke-1781457029.png +0 -0
  935. package/mcps/windows-computer-use-mcp/cua-reports/nav/dashboard-1781542713.png +0 -0
  936. package/mcps/windows-computer-use-mcp/cua-reports/nav/help-1781542738.png +0 -0
  937. package/mcps/windows-computer-use-mcp/cua-reports/nav/logging-1781542722.png +0 -0
  938. package/mcps/windows-computer-use-mcp/cua-reports/nav/nav-dashboard-1781444225.png +0 -0
  939. package/mcps/windows-computer-use-mcp/cua-reports/nav/nav-dashboard-1781457051.png +0 -0
  940. package/mcps/windows-computer-use-mcp/cua-reports/nav/nav-help-1781444245.png +0 -0
  941. package/mcps/windows-computer-use-mcp/cua-reports/nav/nav-help-1781457075.png +0 -0
  942. package/mcps/windows-computer-use-mcp/cua-reports/nav/nav-logging-1781444232.png +0 -0
  943. package/mcps/windows-computer-use-mcp/cua-reports/nav/nav-logging-1781457059.png +0 -0
  944. package/mcps/windows-computer-use-mcp/cua-reports/nav/nav-settings-1781444239.png +0 -0
  945. package/mcps/windows-computer-use-mcp/cua-reports/nav/nav-settings-1781457067.png +0 -0
  946. package/mcps/windows-computer-use-mcp/cua-reports/nav/settings-1781542730.png +0 -0
  947. package/mcps/windows-computer-use-mcp/cua-reports/nav-dashboard-1781442925.png +0 -0
  948. package/mcps/windows-computer-use-mcp/cua-reports/nav-help-1781442941.png +0 -0
  949. package/mcps/windows-computer-use-mcp/cua-reports/nav-logging-1781442930.png +0 -0
  950. package/mcps/windows-computer-use-mcp/cua-reports/nav-settings-1781442936.png +0 -0
  951. package/mcps/windows-computer-use-mcp/docs/ARCHITECTURE.md +0 -46
  952. package/mcps/windows-computer-use-mcp/docs/ASSESSMENT_BY_CURSOR_2026-06-14_CUA_NSIS.md +0 -383
  953. package/mcps/windows-computer-use-mcp/docs/AUTOMATION_ASSERT_SPEC.md +0 -202
  954. package/mcps/windows-computer-use-mcp/docs/CUA_PARITY.md +0 -39
  955. package/mcps/windows-computer-use-mcp/docs/DEVELOPMENT.md +0 -51
  956. package/mcps/windows-computer-use-mcp/docs/MEMOPS_CUA.md +0 -147
  957. package/mcps/windows-computer-use-mcp/docs/PRD.md +0 -93
  958. package/mcps/windows-computer-use-mcp/docs/README.md +0 -34
  959. package/mcps/windows-computer-use-mcp/docs/ROADMAP.md +0 -142
  960. package/mcps/windows-computer-use-mcp/docs/SAFETY.md +0 -138
  961. package/mcps/windows-computer-use-mcp/docs/TESTING.md +0 -90
  962. package/mcps/windows-computer-use-mcp/docs/TOOLS.md +0 -80
  963. package/mcps/windows-computer-use-mcp/docs/TOOL_DOCSTRING_STANDARD.md +0 -538
  964. package/mcps/windows-computer-use-mcp/docs/_stale/AHK_VS_PYWINAUTO_COMPARISON.md +0 -353
  965. package/mcps/windows-computer-use-mcp/docs/_stale/ASSESSMENT.md +0 -54
  966. package/mcps/windows-computer-use-mcp/docs/_stale/ASSESSMENT_2026-06-08.md +0 -309
  967. package/mcps/windows-computer-use-mcp/docs/_stale/COMPLETE_DOCUMENTATION_STRUCTURE.md +0 -5
  968. package/mcps/windows-computer-use-mcp/docs/_stale/CUA_ASSISTANT_TODO.md +0 -84
  969. package/mcps/windows-computer-use-mcp/docs/_stale/CUA_PARITY_ROADMAP.md +0 -81
  970. package/mcps/windows-computer-use-mcp/docs/_stale/CUA_ROADMAP.md +0 -306
  971. package/mcps/windows-computer-use-mcp/docs/_stale/DESKTOP_APP.md +0 -125
  972. package/mcps/windows-computer-use-mcp/docs/_stale/DOCUMENTATION_INDEX.md +0 -59
  973. package/mcps/windows-computer-use-mcp/docs/_stale/GLAMA_AI_CRITICISM_ANALYSIS.md +0 -259
  974. package/mcps/windows-computer-use-mcp/docs/_stale/GLAMA_AI_PLATFORM.md +0 -175
  975. package/mcps/windows-computer-use-mcp/docs/_stale/GLAMA_AI_RESCAN_GUIDE.md +0 -216
  976. package/mcps/windows-computer-use-mcp/docs/_stale/GOLD_STATUS_ACHIEVEMENT.md +0 -197
  977. package/mcps/windows-computer-use-mcp/docs/_stale/LLM_REPO_CONTEXT.md +0 -7
  978. package/mcps/windows-computer-use-mcp/docs/_stale/MCP_PRODUCTION_CHECKLIST.md +0 -105
  979. package/mcps/windows-computer-use-mcp/docs/_stale/OFFICE_BACKGROUND_MATRIX.md +0 -19
  980. package/mcps/windows-computer-use-mcp/docs/_stale/OPERATOR_PROTOCOL.md +0 -37
  981. package/mcps/windows-computer-use-mcp/docs/_stale/ORGANIZATION_SUMMARY.md +0 -305
  982. package/mcps/windows-computer-use-mcp/docs/_stale/RENAME-TO-AUTOMATION-MCP.md +0 -191
  983. package/mcps/windows-computer-use-mcp/docs/_stale/STATUS_REPORT.md +0 -288
  984. package/mcps/windows-computer-use-mcp/docs/_stale/TARGETS_PAGE_SKETCH.md +0 -977
  985. package/mcps/windows-computer-use-mcp/docs/_stale/TOOL_DOCSTRING_MIGRATION.md +0 -365
  986. package/mcps/windows-computer-use-mcp/docs/_stale/USAGE_SCENARIOS.md +0 -697
  987. package/mcps/windows-computer-use-mcp/docs/_stale/desktop-state-tool.md +0 -464
  988. package/mcps/windows-computer-use-mcp/docs/_stale/development/README.md +0 -18
  989. package/mcps/windows-computer-use-mcp/docs/_stale/development/archive/AI_DEVELOPMENT_RULES.md +0 -928
  990. package/mcps/windows-computer-use-mcp/docs/_stale/development/archive/AI_DEVELOPMENT_TOOLS_COMPARISON.md +0 -364
  991. package/mcps/windows-computer-use-mcp/docs/_stale/development/archive/BULLETPROOF_MCP_GUIDE.md +0 -793
  992. package/mcps/windows-computer-use-mcp/docs/_stale/development/archive/DEBUGGING_LESSONS_LEARNED.md +0 -635
  993. package/mcps/windows-computer-use-mcp/docs/_stale/development/archive/DEVELOPMENT_PAIN_POINTS.md +0 -699
  994. package/mcps/windows-computer-use-mcp/docs/_stale/development/archive/FILE_VALIDATION_COMPLETE.md +0 -410
  995. package/mcps/windows-computer-use-mcp/docs/_stale/development/archive/FILE_VALIDATION_GUIDE.md +0 -575
  996. package/mcps/windows-computer-use-mcp/docs/_stale/development/archive/LINK_PARSER_FIX.md +0 -769
  997. package/mcps/windows-computer-use-mcp/docs/_stale/development/archive/MCP_SYNC_DEBUGGING_GUIDE.md +0 -512
  998. package/mcps/windows-computer-use-mcp/docs/_stale/development/archive/PYTHON_DEPENDENCY_HELL_FIX.md +0 -568
  999. package/mcps/windows-computer-use-mcp/docs/_stale/development/archive/PYTHON_SNIPPETS_USAGE_GUIDE.md +0 -717
  1000. package/mcps/windows-computer-use-mcp/docs/_stale/development/archive/README.md +0 -25
  1001. package/mcps/windows-computer-use-mcp/docs/_stale/development/archive/SYNC_HEALTH_IMPROVEMENTS_SUMMARY.md +0 -496
  1002. package/mcps/windows-computer-use-mcp/docs/_stale/development/archive/SYNC_HEALTH_INTEGRATION.md +0 -381
  1003. package/mcps/windows-computer-use-mcp/docs/_stale/development/archive/SYSTEMATIC_PROJECT_UPDATES.md +0 -532
  1004. package/mcps/windows-computer-use-mcp/docs/_stale/development/archive/mcp-prompt-templates-vs-docstrings.md +0 -657
  1005. package/mcps/windows-computer-use-mcp/docs/_stale/development/archive/mcp-tool-docstring-best-practices.md +0 -439
  1006. package/mcps/windows-computer-use-mcp/docs/_stale/development/archive/mcp-tool-documentation-standards.md +0 -1153
  1007. package/mcps/windows-computer-use-mcp/docs/_stale/glama-platform/CI_CD_GLAMA_OPTIMIZATION_GUIDE.md +0 -850
  1008. package/mcps/windows-computer-use-mcp/docs/_stale/glama-platform/GLAMA_AI_CRITICISM_ANALYSIS.md +0 -259
  1009. package/mcps/windows-computer-use-mcp/docs/_stale/glama-platform/GLAMA_AI_OPTIMIZATION_SUMMARY.md +0 -204
  1010. package/mcps/windows-computer-use-mcp/docs/_stale/glama-platform/GLAMA_AI_PLATFORM.md +0 -175
  1011. package/mcps/windows-computer-use-mcp/docs/_stale/glama-platform/GLAMA_AI_RESCAN_GUIDE.md +0 -216
  1012. package/mcps/windows-computer-use-mcp/docs/_stale/glama-platform/GLAMA_GITHUB_APP_SETUP.md +0 -199
  1013. package/mcps/windows-computer-use-mcp/docs/_stale/glama-platform/GLAMA_INTEGRATION.md +0 -181
  1014. package/mcps/windows-computer-use-mcp/docs/_stale/glama-platform/GLAMA_RESCAN_EMAIL.txt +0 -43
  1015. package/mcps/windows-computer-use-mcp/docs/_stale/glama-platform/GOLD_STATUS_ACHIEVEMENT.md +0 -197
  1016. package/mcps/windows-computer-use-mcp/docs/_stale/glama-platform/GOLD_STATUS_UPDATE_2025_10_08.md +0 -378
  1017. package/mcps/windows-computer-use-mcp/docs/_stale/glama-platform/README.md +0 -632
  1018. package/mcps/windows-computer-use-mcp/docs/_stale/legacy/requirements-fastmcp.txt +0 -8
  1019. package/mcps/windows-computer-use-mcp/docs/_stale/legacy/requirements_minimal.txt +0 -4
  1020. package/mcps/windows-computer-use-mcp/docs/_stale/mcp-technical/CLAUDE_DESKTOP_DEBUGGING.md +0 -561
  1021. package/mcps/windows-computer-use-mcp/docs/_stale/mcp-technical/CONTAINERIZATION_GUIDELINES.md +0 -707
  1022. package/mcps/windows-computer-use-mcp/docs/_stale/mcp-technical/MCP_PRODUCTION_CHECKLIST.md +0 -101
  1023. package/mcps/windows-computer-use-mcp/docs/_stale/mcp-technical/MONITORING_STACK_DEPLOYMENT.md +0 -532
  1024. package/mcps/windows-computer-use-mcp/docs/_stale/mcp-technical/README.md +0 -266
  1025. package/mcps/windows-computer-use-mcp/docs/_stale/mcp-technical/TROUBLESHOOTING_FASTMCP_2.12.md +0 -670
  1026. package/mcps/windows-computer-use-mcp/docs/_stale/mcpb-packaging/MCPB_BUILDING_GUIDE.md +0 -1921
  1027. package/mcps/windows-computer-use-mcp/docs/_stale/mcpb-packaging/MCPB_IMPLEMENTATION_SUMMARY.md +0 -387
  1028. package/mcps/windows-computer-use-mcp/docs/_stale/mcpb-packaging/PYPI_PUBLISHING_GUIDE.md +0 -789
  1029. package/mcps/windows-computer-use-mcp/docs/_stale/mcpb-packaging/README.md +0 -404
  1030. package/mcps/windows-computer-use-mcp/docs/_stale/notepadpp/COMMUNITY_AND_SUPPORT.md +0 -976
  1031. package/mcps/windows-computer-use-mcp/docs/_stale/notepadpp/LANGUAGE_SERVER_PROTOCOL_EXPLAINED.md +0 -416
  1032. package/mcps/windows-computer-use-mcp/docs/_stale/notepadpp/MCP_TOOL_CORRUPTION_ISSUE.md +0 -279
  1033. package/mcps/windows-computer-use-mcp/docs/_stale/notepadpp/NOTEPADPP_ALTERNATIVES.md +0 -308
  1034. package/mcps/windows-computer-use-mcp/docs/_stale/notepadpp/NOTEPADPP_COLOR_FIX_2025_10_08.md +0 -187
  1035. package/mcps/windows-computer-use-mcp/docs/_stale/notepadpp/NOTEPADPP_COMPLETE_GUIDE.md +0 -1259
  1036. package/mcps/windows-computer-use-mcp/docs/_stale/notepadpp/NOTEPADPP_NUCLEAR_REINSTALL_2025_10_08.md +0 -196
  1037. package/mcps/windows-computer-use-mcp/docs/_stale/notepadpp/NPP_WHITE_ON_WHITE_BATTLE_PLAN.md +0 -336
  1038. package/mcps/windows-computer-use-mcp/docs/_stale/notepadpp/PLUGIN_ECOSYSTEM_COMPREHENSIVE.md +0 -887
  1039. package/mcps/windows-computer-use-mcp/docs/_stale/notepadpp/README.md +0 -472
  1040. package/mcps/windows-computer-use-mcp/docs/_stale/repository-protection/BACKUP_AND_RECOVERY_GUIDE.md +0 -455
  1041. package/mcps/windows-computer-use-mcp/docs/_stale/repository-protection/BRANCH_PROTECTION_SETTINGS.md +0 -236
  1042. package/mcps/windows-computer-use-mcp/docs/_stale/repository-protection/BRANCH_STRATEGY_AND_AI_WORKFLOW.md +0 -616
  1043. package/mcps/windows-computer-use-mcp/docs/_stale/repository-protection/README.md +0 -333
  1044. package/mcps/windows-computer-use-mcp/docs/_stale/serena/SERENA_COPY_TO_OTHER_REPOS.md +0 -159
  1045. package/mcps/windows-computer-use-mcp/docs/_stale/serena/SERENA_GUIDE.md +0 -632
  1046. package/mcps/windows-computer-use-mcp/docs/_stale/serena/SERENA_INSTALL_AND_TEST.md +0 -569
  1047. package/mcps/windows-computer-use-mcp/docs/_stale/serena/SERENA_NEXT_STEPS.md +0 -351
  1048. package/mcps/windows-computer-use-mcp/docs/_stale/serena/SERENA_QUICK_INSTALL.md +0 -195
  1049. package/mcps/windows-computer-use-mcp/docs/_stale/state-tool-implementation.md +0 -498
  1050. package/mcps/windows-computer-use-mcp/docs/composing-with-playwright.md +0 -55
  1051. package/mcps/windows-computer-use-mcp/docs/cua-nsis-certification.md +0 -101
  1052. package/mcps/windows-computer-use-mcp/docs/ocr.md +0 -107
  1053. package/mcps/windows-computer-use-mcp/docs/py-stack.md +0 -47
  1054. package/mcps/windows-computer-use-mcp/native/icons/icon.png +0 -0
  1055. package/mcps/windows-computer-use-mcp/screenshot_demo.png +0 -0
  1056. package/mcps/windows-computer-use-mcp/src/windows_computer_use_mcp/templates/vroidstudio/default/export_complete_toast.png +0 -0
  1057. package/mcps/windows-computer-use-mcp/src/windows_computer_use_mcp/templates/vroidstudio/default/export_dialog_title.png +0 -0
  1058. package/mcps/windows-computer-use-mcp/src/windows_computer_use_mcp/templates/vroidstudio/default/file_dialog_path_field.png +0 -0
  1059. package/mcps/windows-computer-use-mcp/src/windows_computer_use_mcp/templates/vroidstudio/default/sample_tile_female.png +0 -0
  1060. package/mcps/windows-computer-use-mcp/tests/README.md +0 -155
  1061. package/mcps/windows-computer-use-mcp/tests/__init__.py +0 -1
  1062. package/mcps/windows-computer-use-mcp/tests/conftest.py +0 -281
  1063. package/mcps/windows-computer-use-mcp/tests/conftest_env.py +0 -116
  1064. package/mcps/windows-computer-use-mcp/tests/e2e/conftest.py +0 -96
  1065. package/mcps/windows-computer-use-mcp/tests/e2e/test_libreoffice_cua_loop.py +0 -72
  1066. package/mcps/windows-computer-use-mcp/tests/test_app_integration.py +0 -83
  1067. package/mcps/windows-computer-use-mcp/tests/test_app_profiles.py +0 -28
  1068. package/mcps/windows-computer-use-mcp/tests/test_automation_assert.py +0 -185
  1069. package/mcps/windows-computer-use-mcp/tests/test_automation_dialog.py +0 -43
  1070. package/mcps/windows-computer-use-mcp/tests/test_automation_elements.py +0 -138
  1071. package/mcps/windows-computer-use-mcp/tests/test_automation_keyboard.py +0 -57
  1072. package/mcps/windows-computer-use-mcp/tests/test_automation_mouse.py +0 -57
  1073. package/mcps/windows-computer-use-mcp/tests/test_automation_shortcut.py +0 -41
  1074. package/mcps/windows-computer-use-mcp/tests/test_automation_task.py +0 -115
  1075. package/mcps/windows-computer-use-mcp/tests/test_automation_windows.py +0 -105
  1076. package/mcps/windows-computer-use-mcp/tests/test_cameras_api.py +0 -43
  1077. package/mcps/windows-computer-use-mcp/tests/test_cua_parity.py +0 -51
  1078. package/mcps/windows-computer-use-mcp/tests/test_dependency_failures.py +0 -39
  1079. package/mcps/windows-computer-use-mcp/tests/test_desktop_state.py +0 -99
  1080. package/mcps/windows-computer-use-mcp/tests/test_face_recognition.py +0 -238
  1081. package/mcps/windows-computer-use-mcp/tests/test_face_recognition_api.py +0 -161
  1082. package/mcps/windows-computer-use-mcp/tests/test_images/README.md +0 -28
  1083. package/mcps/windows-computer-use-mcp/tests/test_mission.py +0 -42
  1084. package/mcps/windows-computer-use-mcp/tests/test_portmanteau_windows_mock.py +0 -173
  1085. package/mcps/windows-computer-use-mcp/tests/test_portmanteau_windows_real.py +0 -139
  1086. package/mcps/windows-computer-use-mcp/tests/test_retry.py +0 -26
  1087. package/mcps/windows-computer-use-mcp/tests/test_safety_api.py +0 -24
  1088. package/mcps/windows-computer-use-mcp/tests/test_template_library.py +0 -53
  1089. package/mcps/windows-computer-use-mcp/tests/test_utils.py +0 -185
  1090. package/mcps/windows-computer-use-mcp/web_sota/src-tauri/icons/icon.png +0 -0
  1091. package/skills/global_config/google-sheets-automation/SKILL.md +0 -150
  1092. package/skills/global_config/senior-fullstack/SKILL.md +0 -221
  1093. package/skills/global_config/senior-fullstack/references/architecture_patterns.md +0 -103
  1094. package/skills/global_config/senior-fullstack/references/development_workflows.md +0 -103
  1095. package/skills/global_config/senior-fullstack/references/tech_stack_guide.md +0 -103
  1096. package/skills/global_config/senior-fullstack/scripts/code_quality_analyzer.py +0 -114
  1097. package/skills/global_config/senior-fullstack/scripts/fullstack_scaffolder.py +0 -114
  1098. package/skills/global_config/senior-fullstack/scripts/project_scaffolder.py +0 -114
@@ -1,2285 +0,0 @@
1
- ---
2
- description: "Copy-paste prompts for building visuals with tdmcp, the TouchDesigner MCP server — feedback tunnels, audio-reactive, particles, generative art and more."
3
- ---
4
-
5
- <script setup>
6
- import { withBase } from "vitepress";
7
- </script>
8
-
9
- # Prompt cookbook
10
-
11
- Copy these, change the words, and make them yours. They're grouped by what you
12
- want to make. After any build, you can always say **"show me a preview"** and then
13
- nudge it: *"warmer", "slower", "more contrast", "add a glitch".*
14
-
15
- ::: tip How to phrase it
16
- Describe the **result and the feeling**, not the nodes. "A slow, hypnotic, deep-blue
17
- tunnel" works better than naming operators. The AI picks the operators.
18
- :::
19
-
20
- Media on this page is reserved for the visual result or performable surface a
21
- prompt creates. If a prompt produces a report, config, README or health check, it
22
- stays text-only instead of showing a decorative command illustration.
23
-
24
- ## Recipe starters (v0.8.2)
25
-
26
- Use these when you want a validated first-party recipe first, then a creative pass.
27
- They are good workshop and rehearsal prompts because they start from schema-checked
28
- networks instead of inventing topology from scratch.
29
-
30
- > *"Apply `audio_reactive_basic`, use a test tone if the mic is unavailable, then
31
- > bind the output color to the RMS level and show me the audio Null path."*
32
-
33
- <video :src="withBase('/examples/recipe-audio-reactive-basic.mp4')" autoplay loop muted playsinline style="width:100%;max-width:480px;border-radius:8px;display:block"></video>
34
-
35
- *A compact audio-in / spectrum / RMS chain with a stable Null CHOP and a TOP output
36
- ready for `bind_to_channel` or manual expressions.*
37
-
38
- > *"Apply `keyframe_animation_basic`, add five readable camera/object keyframes, and
39
- > expose one Speed control so I can rehearse the move without touching the graph."*
40
-
41
- <video :src="withBase('/examples/recipe-keyframe-animation-basic.mp4')" autoplay loop muted playsinline style="width:100%;max-width:480px;border-radius:8px;display:block"></video>
42
-
43
- *The Animation COMP starter gives you declarative motion first: author channels in
44
- TD's Animation Editor, then drive the rest of the look from the resulting CHOP.*
45
-
46
- > *"Apply `pose_skeleton_standalone` with its built-in landmark table, render the
47
- > joints as glowing dots and bones, then leave notes for swapping in a live pose
48
- > source later."*
49
-
50
- <video :src="withBase('/examples/recipe-pose-skeleton-standalone.mp4')" autoplay loop muted playsinline style="width:100%;max-width:480px;border-radius:8px;display:block"></video>
51
-
52
- *A no-camera pose renderer: static landmarks feed a Script SOP skeleton, useful for
53
- testing a look before the MediaPipe or Kinect source exists.*
54
-
55
- > *"Apply `particle_system_basic`, make the emitter drift upward like ash, and expose
56
- > BirthRate, Lifetime and ForceY as the first controls I should perform."*
57
-
58
- <video :src="withBase('/examples/recipe-particle-system-basic.mp4')" autoplay loop muted playsinline style="width:100%;max-width:480px;border-radius:8px;display:block"></video>
59
-
60
- *A Particle SOP starter with camera, light, point-sprite material and a stable output
61
- Null. Plain enough to teach, complete enough to tweak live.*
62
-
63
- > *"Apply `feedback_network_basic`, tune the blur and decay into a high-contrast
64
- > recursive tunnel, and keep the network minimal so I can learn the feedback loop."*
65
-
66
- <video :src="withBase('/examples/recipe-feedback-network-basic.mp4')" autoplay loop muted playsinline style="width:100%;max-width:480px;border-radius:8px;display:block"></video>
67
-
68
- *Noise seed, composite feedback, blur, level decay and Null output: the smallest
69
- performable feedback network that still behaves like a real visual instrument.*
70
-
71
- > *"Apply `glsl_shader_basic`, keep the inline plasma shader editable, and expose
72
- > uTime, uScale, uColorA and uColorB so I can color-match the show."*
73
-
74
- <video :src="withBase('/examples/recipe-glsl-shader-basic.mp4')" autoplay loop muted playsinline style="width:100%;max-width:480px;border-radius:8px;display:block"></video>
75
-
76
- *A tiny GLSL TOP recipe for shader-first work. It lands as a valid network and keeps
77
- the actual shader source close enough for teaching or fast remixing.*
78
-
79
- > *"Apply `kinetic_text_audio_reactive`, write a giant one-word cue, then wire the
80
- > brightness expression to the bass analyze channel after import."*
81
-
82
- <video :src="withBase('/examples/recipe-kinetic-text-audio-reactive.mp4')" autoplay loop muted playsinline style="width:100%;max-width:480px;border-radius:8px;display:block"></video>
83
-
84
- *Text TOP plus transform / level chain beside a bass analyzer. The recipe keeps the
85
- manual audio expression explicit instead of hiding it inside invalid schema data.*
86
-
87
- > *"Apply `decks_layer_mixer`, make deck A and B clearly different colors, then add a
88
- > Cross control and per-deck gain notes for the VJ operator."*
89
-
90
- <video :src="withBase('/examples/recipe-decks-layer-mixer.mp4')" autoplay loop muted playsinline style="width:100%;max-width:480px;border-radius:8px;display:block"></video>
91
-
92
- *The first-party deck recipe is a small mixer skeleton: two sources, two gains,
93
- one composite bus and a stable program output.*
94
-
95
- > *"Apply `depth_displacement_post`, use the synthetic depth map to warp a ramp, then
96
- > finish it with blur and level grade so it feels like a real post pass."*
97
-
98
- <video :src="withBase('/examples/recipe-depth-displacement-post.mp4')" autoplay loop muted playsinline style="width:100%;max-width:480px;border-radius:8px;display:block"></video>
99
-
100
- *A zero-hardware depth/displace/post stack for rehearsing depth looks before a depth
101
- camera or generated map is available.*
102
-
103
- > *"Apply `kinetic_text_path_follow`, put the show title on a circular path, and tell
104
- > me exactly which expressions I need to bind after import."*
105
-
106
- <video :src="withBase('/examples/recipe-kinetic-text-path-follow.mp4')" autoplay loop muted playsinline style="width:100%;max-width:480px;border-radius:8px;display:block"></video>
107
-
108
- *A manual-wiring template for path-following type: deterministic sin/cos CHOPs drive
109
- the motion while the recipe stays schema-valid.*
110
-
111
- > *"Apply `optical_flow_particles`, route the camera motion into particle drift, and
112
- > leave the output ready for a trails feedback pass."*
113
-
114
- <video :src="withBase('/examples/recipe-optical-flow-particles.mp4')" autoplay loop muted playsinline style="width:100%;max-width:480px;border-radius:8px;display:block"></video>
115
-
116
- *Live video becomes an optical-flow field, then pushes particles. It is the
117
- camera-reactive recipe to reach for when body motion should leave visible trails.*
118
-
119
- > *"Apply `atemporal_bodytrack_glitch_timeline` to this vertical clip: start clean,
120
- > let short green glitch moments interrupt like a camera bug, return to normal
121
- > between filters, then use the red tracker as small points, lines and trails only
122
- > -- no large circles."*
123
-
124
- <video :src="withBase('/examples/atemporal-bodytrack-glitch.mp4')" autoplay loop muted playsinline style="width:100%;max-width:360px;border-radius:8px;display:block"></video>
125
-
126
- *A reusable bug-timeline template: clean footage, atemporal green source jumps,
127
- normal recovery beats, then a red body-track branch that reads like object tracking
128
- instead of decorative circles. Keyframe `SceneMode` to perform the edit, then add
129
- glitch ticks/noise only while a filtered branch is active.*
130
-
131
- > *"Apply `mediapipe_face_overlay`, dim the webcam underneath, tint the landmark dots,
132
- > and make the overlay easy to swap from demo landmarks to the live face adapter."*
133
-
134
- <video :src="withBase('/examples/recipe-mediapipe-face-overlay.mp4')" autoplay loop muted playsinline style="width:100%;max-width:480px;border-radius:8px;display:block"></video>
135
-
136
- *A face-overlay recipe mirroring the newer face-tracking setup: webcam plate, face
137
- landmark CHOP, instanced dots, render and composite.*
138
-
139
- > *"Apply `scene_timeline_demo`, build three obvious scenes, then expose play, rate
140
- > and fade controls so I can demonstrate cue timing in one minute."*
141
-
142
- <video :src="withBase('/examples/recipe-scene-timeline-demo.mp4')" autoplay loop muted playsinline style="width:100%;max-width:480px;border-radius:8px;display:block"></video>
143
-
144
- *A timer-driven three-scene demo that teaches show-clock thinking without requiring
145
- a full setlist runner.*
146
-
147
- > *"Apply `scene_3d_basic`, put a sphere under a camera and light, then bind RotateY
148
- > to a tempo ramp after import."*
149
-
150
- <video :src="withBase('/examples/recipe-scene-3d-basic.mp4')" autoplay loop muted playsinline style="width:100%;max-width:480px;border-radius:8px;display:block"></video>
151
-
152
- *The smallest 3D renderable scene: geometry, camera, light, Render TOP and Null. A
153
- good base for material, instancing and audio-reactive exercises.*
154
-
155
- > *"Apply `video_synth_oscillator`, make a Lissajous oscillator color synth, and keep
156
- > uFreqX / uFreqY / uColor exposed for live tuning."*
157
-
158
- <video :src="withBase('/examples/recipe-video-synth-oscillator.mp4')" autoplay loop muted playsinline style="width:100%;max-width:480px;border-radius:8px;display:block"></video>
159
-
160
- *A procedural video-synth starter, no footage required: one GLSL TOP draws a glowing
161
- oscillator curve with show-safe controls.*
162
-
163
- > *"Apply `kinetic_text_standalone`, make the word breathe with an LFO, and keep the
164
- > post-import bindings documented so a beginner can finish it."*
165
-
166
- <video :src="withBase('/examples/recipe-kinetic-text-standalone.mp4')" autoplay loop muted playsinline style="width:100%;max-width:480px;border-radius:8px;display:block"></video>
167
-
168
- *A text-only kinetic type recipe for lower-friction title cards, countdowns and
169
- cue labels when audio reactivity is not needed yet.*
170
-
171
- ## Generative & abstract
172
-
173
- > *"Create a feedback tunnel from noise with blur and displace, add bloom, and
174
- > show me a preview."*
175
-
176
- <video :src="withBase('/examples/feedback-tunnel.mp4')" autoplay loop muted playsinline style="width:100%;max-width:480px;border-radius:8px;display:block"></video>
177
-
178
- *A high-contrast feedback network (blur + displace + bloom), tuned as a showpiece
179
- instead of a plain technical demo.*
180
-
181
- > *"Make an evolving reaction-diffusion pattern in greens and blacks, slow and
182
- > organic."*
183
-
184
- <video :src="withBase('/examples/reaction-diffusion.mp4')" autoplay loop muted playsinline style="width:100%;max-width:480px;border-radius:8px;display:block"></video>
185
-
186
- *Reaction-diffusion style GPU patterning with sharper contrast and stage-friendly
187
- color, not a flat lab simulation.*
188
-
189
- > *"Build a flowing noise landscape in 3D with an orbiting camera."*
190
-
191
- <video :src="withBase('/examples/noise-landscape.mp4')" autoplay loop muted playsinline style="width:100%;max-width:560px;border-radius:8px;display:block"></video>
192
-
193
- *A noise-displaced 3D terrain.*
194
-
195
- > *"Give me a Lorenz strange-attractor visual with glowing particles on black,
196
- > thickened into a tube and evolving only while the timeline plays."*
197
-
198
- <video :src="withBase('/examples/strange-attractor.mp4')" autoplay loop muted playsinline style="width:100%;max-width:480px;border-radius:8px;display:block"></video>
199
-
200
- *`create_strange_attractor` integrates Lorenz / Aizawa / Halvorsen ODEs into a
201
- rolling Script CHOP buffer, renders the trail as SOP geometry and can tube-thicken
202
- it for a real 3D orbit path.*
203
-
204
- > *"Give me a 1970s analog video-synth look — soft interference patterns and
205
- > rolling scanlines in electric teal and pink."*
206
-
207
- <video :src="withBase('/examples/analog-video-synth.mp4')" autoplay loop muted playsinline style="width:100%;max-width:480px;border-radius:8px;display:block"></video>
208
-
209
- *Procedural lissajous / interference / scanline patterns animated over time with
210
- frequency and color controls — a self-contained Rutt-Etra-style oscilloscope wash,
211
- no footage needed.*
212
-
213
- > *"Build a raymarched fractal tunnel I can fly through, glowing cyan on black,
214
- > with a Speed knob."*
215
-
216
- <video :src="withBase('/examples/raymarched-tunnel.mp4')" autoplay loop muted playsinline style="width:100%;max-width:480px;border-radius:8px;display:block"></video>
217
-
218
- *A signed-distance-field scene rendered entirely in a GLSL TOP — an infinite tunnel
219
- you fly through, with camera-Speed and color controls. No geometry nodes, all math.*
220
-
221
- > *"Build a programmable SDF field from a sphere subtracting a box and a smooth
222
- > torus union, cyan-to-magenta, with live CameraZ / StepCount / Rotate controls."*
223
-
224
- <video :src="withBase('/examples/sdf-field-csg-raymarch.mp4')" autoplay loop muted playsinline style="width:100%;max-width:480px;border-radius:8px;display:block"></video>
225
-
226
- *`create_sdf_field` is the newer CSG raymarcher: compose sphere / box / torus
227
- primitives with union, intersect, subtract and smooth blend, then perform the field
228
- through exposed SDF controls instead of editing shader code mid-show.*
229
-
230
- > *"Sculpt a soft, morphing metaball blob in 3D that slowly breathes, iridescent
231
- > surface on a dark stage."*
232
-
233
- <video :src="withBase('/examples/shader-park-blobs.mp4')" autoplay loop muted playsinline style="width:100%;max-width:480px;border-radius:8px;display:block"></video>
234
-
235
- *A Shader Park-style SDF sculpt (blended spheres and noise) compiled to a GLSL TOP,
236
- with morph-Speed and surface controls — organic, clay-like volumes that pulse and merge.*
237
-
238
- > *"Use these three moodboard images — foggy ocean, oxidized copper and cold
239
- > cathedral light — and build a matching generative system with post-FX."*
240
-
241
- <video :src="withBase('/examples/moodboard-to-system-dispatch.mp4')" autoplay loop muted playsinline style="width:100%;max-width:480px;border-radius:8px;display:block"></video>
242
-
243
- *`moodboard_to_system` reads 1–6 images, extracts palette / motion / generator
244
- intent with the configured LLM (or deterministic fallback), then dispatches a
245
- matching Layer-1 system plus post-processing.*
246
-
247
- > *"Grow an organic branching system from a single stem, moss green on black, and
248
- > let the growth rate react to the music."*
249
-
250
- <video :src="withBase('/examples/growth-system-branching.mp4')" autoplay loop muted playsinline style="width:100%;max-width:480px;border-radius:8px;display:block"></video>
251
-
252
- *An L-system / turtle-growth generator thickened into renderable SOP geometry, with
253
- controls for generations, branch angle, step length and thickness — useful for vines,
254
- roots, circuitry and living line-art.*
255
-
256
- > *"Package the six canonical generative classics — feedback tunnel, spectrum bars,
257
- > noise landscape, particle galaxy, reaction-diffusion and webcam glitch — as a
258
- > portable recipe bundle I can import on another machine."*
259
-
260
- <video :src="withBase('/examples/generative-classics-pack.mp4')" autoplay loop muted playsinline style="width:100%;max-width:480px;border-radius:8px;display:block"></video>
261
-
262
- *`generative_classics_pack` starts as a read-only contact sheet of available built-in
263
- recipes, then can write an `import_recipe_bundle`-compatible JSON pack. It is the
264
- quick "known-good classics" export for workshops, fresh installs and offline rigs.*
265
-
266
- > *"Pull me into an endless zooming feedback tunnel of my webcam, trailing and
267
- > spinning, deep magenta."*
268
-
269
- <video :src="withBase('/examples/feedback-tunnel-infinite.mp4')" autoplay loop muted playsinline style="width:100%;max-width:480px;border-radius:8px;display:block"></video>
270
-
271
- *A dedicated infinite-zoom feedback loop (zoom + rotate + decay) seeded from any
272
- source, with Zoom / Spin / Trail knobs — the classic "falling into the screen" tunnel.*
273
-
274
- > *"Fill the frame with a real-time ink-and-dye fluid simulation, cyan and magenta,
275
- > with audio splats on the kick but an auto-LFO when no mic is connected."*
276
-
277
- <video :src="withBase('/examples/fluid-sim-ink.mp4')" autoplay loop muted playsinline style="width:100%;max-width:480px;border-radius:8px;display:block"></video>
278
-
279
- *`create_fluid_sim` builds the advection / pressure / vorticity / dye feedback stack
280
- as GLSL TOPs, exposes viscosity / dissipation / splat controls, and can self-animate
281
- before you plug in a live source.*
282
-
283
- > *"Turn this poster image into thousands of particles that explode on the drop and
284
- > then spring back into the original image."*
285
-
286
- <video :src="withBase('/examples/image-particles-burst.mp4')" autoplay loop muted playsinline style="width:100%;max-width:480px;border-radius:8px;display:block"></video>
287
-
288
- *`image_to_particles` samples the source pixels as rest positions and colors, then
289
- uses a GPU particle loop so the image can dissolve, scatter and re-form musically.*
290
-
291
- > *"Sculpt a cathedral of fused spheres and torus rings in pure signed-distance
292
- > field math, lit from inside with violet, and give me a Camera-Z knob to fly in."*
293
-
294
- <video :src="withBase('/examples/sdf-csg-cathedral.mp4')" autoplay loop muted playsinline style="width:100%;max-width:480px;border-radius:8px;display:block"></video>
295
-
296
- *A single GLSL TOP raymarches a CSG tree (union / subtract / smooth-blend of sphere,
297
- box and torus primitives) with live CameraZ, StepCount, Speed, ColorA / ColorB and
298
- Background controls. A whole 3D architectural form built only out of math — no
299
- meshes, no UVs, just one shader sculpting space.*
300
-
301
- ## Artist studies & installations
302
-
303
- These prompts are for visual artists first: gallery loops, stage images, camera
304
- studies, print-like transformations and installation pieces.
305
-
306
- > *"Make a murmuration of 4,000 tiny agents that breathe like a flock, with
307
- > Separation / Alignment / Cohesion knobs I can perform slowly."*
308
-
309
- <video :src="withBase('/examples/particle-flock-murmuration.mp4')" autoplay loop muted playsinline style="width:100%;max-width:480px;border-radius:8px;display:block"></video>
310
-
311
- *`create_particle_flock` is the boids surface: a behavioral GPU system where the
312
- image is not a particle effect pasted on top, but a moving crowd with its own social
313
- rules. Good for flocking birds, fish schools, crowd fields and ambient gallery motion.*
314
-
315
- > *"Build a curl-noise particle galaxy: hundreds of thousands of points orbiting in
316
- > soft arms, slowly reacting to the room's motion."*
317
-
318
- <video :src="withBase('/examples/gpu-particle-curl-galaxy.mp4')" autoplay loop muted playsinline style="width:100%;max-width:480px;border-radius:8px;display:block"></video>
319
-
320
- *`create_gpu_particle_field` is the high-count field for haze, stars, ash, plankton
321
- and dust. Ask for `reactivity:"motion"` when a camera should energize the drift
322
- without turning the piece into a literal webcam effect.*
323
-
324
- > *"Turn the performer into a black cutout with a cyan/magenta rim, then use that
325
- > mask to reveal a generative world behind them."*
326
-
327
- <video :src="withBase('/examples/depth-silhouette-neon-mask.mp4')" autoplay loop muted playsinline style="width:100%;max-width:480px;border-radius:8px;display:block"></video>
328
-
329
- *`create_depth_silhouette` gives installation artists a clean matte: synthetic
330
- source for rehearsal, camera/depth source on-site, blur/threshold/invert controls
331
- for tuning the edge, and an output mask ready for compositing.*
332
-
333
- > *"Track four bright blobs from the camera and let each one pull a different
334
- > color field, like visitors moving lanterns through the projection."*
335
-
336
- <video :src="withBase('/examples/blob-reactive-installation.mp4')" autoplay loop muted playsinline style="width:100%;max-width:480px;border-radius:8px;display:block"></video>
337
-
338
- *`create_blob_reactive` turns tracked light spots, hands or objects into channels
339
- such as `blob0_x`, `blob0_y` and `blob0_size`. Use it for participatory installs
340
- where bodies control the artwork without a controller in anyone's hand.*
341
-
342
- > *"Rotoscope this source into flowing vector lines: freeze a frame, trace the
343
- > contours, and keep a pulse button so I can capture a new drawing live."*
344
-
345
- <video :src="withBase('/examples/vector-lines-rotoscope.mp4')" autoplay loop muted playsinline style="width:100%;max-width:480px;border-radius:8px;display:block"></video>
346
-
347
- *`create_vector_lines` is a bridge between video and drawing: prepare a mask, freeze
348
- it, trace it through editable SOP geometry, then render or export it. Useful for
349
- plotter studies, live rotoscope, laser-outline tests and print workflows.*
350
-
351
- > *"Make a cellular-automata tapestry, blue and amber, with rules that feel like
352
- > woven pixels growing across a wall."*
353
-
354
- <video :src="withBase('/examples/cellular-automata-tapestry.mp4')" autoplay loop muted playsinline style="width:100%;max-width:480px;border-radius:8px;display:block"></video>
355
-
356
- *`create_generative_art` supports `cellular_automata` as a promptable study. It is
357
- especially good when the artist wants a living textile, not a camera effect or a
358
- music visual.*
359
-
360
- > *"Fill the floor projection with slime-mold trails: luminous paths search,
361
- > overlap, fade and leave a wet ink memory."*
362
-
363
- <video :src="withBase('/examples/slime-trails-ink.mp4')" autoplay loop muted playsinline style="width:100%;max-width:480px;border-radius:8px;display:block"></video>
364
-
365
- *`create_simulation` with `type:"slime"` gives you decaying trails and search-like
366
- motion. It sits between reaction-diffusion and fluid sim: less scientific diagram,
367
- more living trace.*
368
-
369
- > *"Generate a restrained harmony palette from one blue-green hue, build a gradient
370
- > strip, and use it as the color source for the next visual."*
371
-
372
- <video :src="withBase('/examples/palette-harmony-study.mp4')" autoplay loop muted playsinline style="width:100%;max-width:480px;border-radius:8px;display:block"></video>
373
-
374
- *`create_palette` is not only utility plumbing: it is an art-direction tool. Use
375
- harmony rules to define a visual world first, then feed those swatches into grade,
376
- particles, SDF color, typography or projection mapping.*
377
-
378
- > *"Create flowing ribbon strokes from a vector field, like long-exposure ink
379
- > calligraphy moving across black."*
380
-
381
- <video :src="withBase('/examples/flow-field-ribbons.mp4')" autoplay loop muted playsinline style="width:100%;max-width:480px;border-radius:8px;display:block"></video>
382
-
383
- *`create_generative_art` with `flow_field` is the promptable version of line motion:
384
- good for calligraphic traces, current maps, wind drawings and data-free motion
385
- studies.*
386
-
387
- > *"Make a sculptural relief from a source image: a side-lit surface that rises and
388
- > falls like a gallery wall piece, not a flat video filter."*
389
-
390
- <video :src="withBase('/examples/sculptural-relief-gallery.mp4')" autoplay loop muted playsinline style="width:100%;max-width:480px;border-radius:8px;display:block"></video>
391
-
392
- *`create_depth_displacement` turns brightness or depth into actual 2.5D form with
393
- lighting and orbitable camera controls. Reach for it when the image should become
394
- an object.*
395
-
396
- ## Audio-reactive
397
-
398
- > *"Build a radial spectrum that blooms on the bass and throws chromatic sparks on
399
- > the highs."*
400
-
401
- **What you'll get:** an analysis chain (spectrum + level + beat) feeding a visual,
402
- usually with a *Sensitivity* knob. See the
403
- [microphone permission note](/guide/troubleshooting#macos-microphone-camera-permission)
404
- on macOS, or ask for a **test tone** instead of the mic while experimenting.
405
-
406
- > *"Build a 3D ball of spikes that stab outward on the bass and shimmer with the
407
- > highs — preview it on a test beat."*
408
-
409
- <video :src="withBase('/examples/audio-reactive-3d-spikes.mp4')" autoplay loop muted playsinline style="width:100%;max-width:480px;border-radius:8px;display:block"></video>
410
-
411
- *A rendered 3D geometry whose displacement, scale and rotation are wired to live
412
- audio bands (bass / mid / treble) with a Sensitivity knob — a spiky, breathing solid
413
- that dances to the track. Uses a synthetic source so it previews without mic permission.*
414
-
415
- > *"Sidechain this layer to the kick so it ducks down and pumps back on every beat,
416
- > like a compressor."*
417
-
418
- *An attack/release envelope follower with gate/duck — sidechain a layer's opacity or
419
- brightness to the kick so it pumps in time, going beyond a plain Lag smoothing. The
420
- "sidechain pump" every electronic producer knows, applied to a visual.*
421
-
422
- > *"Split this track into pitch-class color, transient flashes and a slow energy
423
- > structure, then bind each stream to a different part of the look."*
424
-
425
- <video :src="withBase('/examples/chroma-transient-energy.mp4')" autoplay loop muted playsinline style="width:100%;max-width:480px;border-radius:8px;display:block"></video>
426
-
427
- *Three newer music-analysis paths: `create_chroma_reactive` exposes 12 pitch-class
428
- channels, `create_transient_reactive` separates percussion from sustain, and
429
- `create_energy_structure` detects build / drop / breakdown edges with adaptive
430
- thresholds.*
431
-
432
- > *"Listen to this reference track, fingerprint its tempo / brightness / onset
433
- > density / dynamics, and choose a matching visual system automatically."*
434
-
435
- <video :src="withBase('/examples/audio-fingerprint-dispatch.mp4')" autoplay loop muted playsinline style="width:100%;max-width:480px;border-radius:8px;display:block"></video>
436
-
437
- *`audio_fingerprint_to_visual` samples audio, classifies the fingerprint, and
438
- dispatches a tuned generator such as glitch, kaleidoscope, feedback, GPU particles
439
- or audio-reactive geometry. Use `dry_run` first when you want to inspect the choice.*
440
-
441
- > *"Split my DJ feed into four clean bands, route sub to displacement, mid to
442
- > color pulse and highs to spark density, then bind the same bands into my GLSL
443
- > TOP as `uBass`, `uMid` and `uHigh` uniforms."*
444
-
445
- *Use `create_band_router` when one audio input needs readable `band0..bandN`
446
- control channels, then `create_audio_glsl_uniforms` when those channels should
447
- drive shader uniforms directly. The result is not only "audio reactive"; it is a
448
- named, inspectable modulation bus that a shader artist can tune without rewriting
449
- the GLSL every time.*
450
-
451
- ### MIDI & instruments
452
-
453
- > *"Make each note on my MIDI keyboard flash a different colored burst — and let me
454
- > try it without plugging anything in."*
455
-
456
- *Maps incoming MIDI notes to per-note reactive channels (a flash or burst per pitch),
457
- with a built-in synthetic note source so it previews and you can rehearse the look
458
- before the gear is connected.*
459
-
460
- ## Camera & motion reactive
461
-
462
- The camera counterpart to audio reactivity — drive a visual from movement or
463
- brightness in front of your webcam.
464
-
465
- > *"Make a visual that reacts to movement in front of my webcam, and preview it."*
466
-
467
- > *"Drive the feedback amount from how much motion the camera sees."*
468
-
469
- > *"React to the room's brightness — bloom up when the lights come on."*
470
-
471
- **What you'll get:** an analysis chain exposing *motion* and *brightness* channels
472
- plus a *Sensitivity* knob. Like the mic, the live camera triggers the
473
- [macOS permission popup](/guide/troubleshooting#macos-microphone-camera-permission)
474
- — or ask for a **synthetic test source** to experiment without a camera.
475
-
476
- > *"Analyze motion in this clip as optical flow, smooth it, and use the vector field
477
- > to drive a liquid displacement warp — use the bundled Mosaic clip if my camera is
478
- > not ready."*
479
-
480
- <video :src="withBase('/examples/optical-flow-vector-field.mp4')" autoplay loop muted playsinline style="width:100%;max-width:480px;border-radius:8px;display:block"></video>
481
-
482
- *`create_optical_flow` builds a stock-TOP motion field from current vs previous
483
- frames, with Sensitivity / Smoothing / Blur controls. It emits an RG-packed flow TOP
484
- that can modulate displacement, particles or any TOP-driven motion chain.*
485
-
486
- > *"Watch the motion in my camera and push 20,000 glowing particles around with it —
487
- > paint trails wherever I move."*
488
-
489
- <video :src="withBase('/examples/optical-flow-particles-trail.mp4')" autoplay loop muted playsinline style="width:100%;max-width:480px;border-radius:8px;display:block"></video>
490
-
491
- *The CPU optical-flow field (blur / mono / cache / composite-subtract / feedback) is
492
- wired straight into a GPU particle field as displacement. The result paints visible
493
- motion trails that follow body movement in real time — no CUDA, no extra hardware.*
494
-
495
- ### Body tracking (webcam, no extra hardware)
496
-
497
- Full-body **pose tracking** from a plain webcam, via the free
498
- [MediaPipe plugin](https://github.com/torinmb/mediapipe-touchdesigner) (install once
499
- with `tdmcp install mediapipe-touchdesigner`).
500
-
501
- > *"Set up body tracking from my webcam and show me the skeleton."*
502
-
503
- > *"Make glowing ribbons track my wrists and shoulders, leaving long neon trails as
504
- > I move — use a synthetic pose source for the preview if the camera is not ready."*
505
-
506
- <video :src="withBase('/examples/pose-trails-skeleton.mp4')" autoplay loop muted playsinline style="width:100%;max-width:480px;border-radius:8px;display:block"></video>
507
-
508
- > *"Drive the visual's intensity from how much my body is moving."*
509
-
510
- **What you'll get:** the MediaPipe engine loaded + an adapter that emits a 33-landmark
511
- pose CHOP (tx/ty/tz/confidence), then a live skeleton, ribbon trail or
512
- camera-reactive visual. Keep the TD timeline **playing** (the plugin captures through
513
- an embedded browser that only runs while playing) and grant camera permission if
514
- macOS asks. No webcam handy? Ask for a **synthetic** pose source to build and preview
515
- the look offline.
516
-
517
- > *"Render my body tracking as a clean OpenPose-style ControlNet feed: black
518
- > background, colored limbs, confidence gate, and an NDI sender named
519
- > controlnet_pose."*
520
-
521
-
522
- *`create_pose_controlnet_driver` turns the same 33-landmark pose CHOP into an
523
- OpenPose-COCO skeleton TOP with JointRadius, LimbThickness, ConfidenceGate and
524
- Mirror controls. Keep it internal for local ComfyUI / StreamDiffusion routing, or
525
- broadcast it through NDI / Syphon-Spout when another machine needs the pose feed.*
526
-
527
- ### Face, hands & segmentation
528
-
529
- > *"Set up MediaPipe face tracking, center the landmarks on the nose tip, and drive
530
- > a glowing mask and eye highlights from the face CHOP."*
531
-
532
- <video :src="withBase('/examples/face-tracking-landmarks.mp4')" autoplay loop muted playsinline style="width:100%;max-width:480px;border-radius:8px;display:block"></video>
533
-
534
- *`setup_face_tracking` loads the staged MediaPipe engine and emits a 468-landmark
535
- CHOP (or 478 with iris), centered on the nose tip, ready for parameter binding or
536
- data visualization.*
537
-
538
- > *"Track both hands in world coordinates, detect open-palm / pinch gestures, and
539
- > bind the right-hand height to the feedback amount."*
540
-
541
- <video :src="withBase('/examples/hand-tracking-gestures.mp4')" autoplay loop muted playsinline style="width:100%;max-width:480px;border-radius:8px;display:block"></video>
542
-
543
- *`setup_hand_tracking` reuses the same MediaPipe engine and emits
544
- `max_hands × 21` samples with tx / ty / tz / confidence / handedness channels.
545
- Use `coordinate_space:'world'` when gesture depth matters.*
546
-
547
- > *"Segment the performer from the webcam, feather the mask by 4 px, publish a
548
- > clean alpha matte and a pre-keyed person RGBA TOP for compositing."*
549
-
550
- <video :src="withBase('/examples/segmentation-alpha-matte.mp4')" autoplay loop muted playsinline style="width:100%;max-width:480px;border-radius:8px;display:block"></video>
551
-
552
- *`setup_segmentation` enables the MediaPipe selfie-segmentation path and publishes
553
- a mask Null TOP plus optional `person_rgba` output, so body mattes can feed keyers,
554
- silhouettes, particles or background replacement.*
555
-
556
- > *"Track my face landmarks and stitch a glowing wireframe mask over my features,
557
- > with a dim webcam underneath."*
558
-
559
-
560
- *The MediaPipe ENGINE adapter publishes a 468-landmark CHOP (or 478 with iris) and
561
- the recipe instances dots and lines on every landmark, composited over a
562
- `levelTOP`-dimmed camera feed with Tint and Dim controls. Real face-mesh overlay,
563
- zero plugin hunting.*
564
-
565
- > *"Use my hand in the camera as an XY pad — pinch to confirm — and map it to the
566
- > feedback Decay and Hue of the current visual."*
567
-
568
-
569
- *The 21-landmark hand CHOP (world coords) feeds an XY pad whose X/Y come from the
570
- index-finger tip; thumb-to-index distance gates a confirm event that latches the
571
- current XY into target parameters. A hand-as-MIDI controller with pinch-to-commit.*
572
-
573
- > *"Cut me out of my room with selfie segmentation and put me inside a slow
574
- > raymarched nebula like I stepped through a portal."*
575
-
576
-
577
- *The selfie-segmentation alpha mask plus a pre-keyed `person_rgba` TOP are
578
- composited over a raymarch background, so the artist appears to stand inside the
579
- generated scene with soft real-time matte edges — greenscreen without a greenscreen,
580
- and the background is a procedural cosmos.*
581
-
582
- ## Particles & 3D
583
-
584
- > *"Build a dense field of instanced 3D blocks that breathe with a noise wave and
585
- > leave a neon depth trail as the camera orbits."*
586
-
587
- <video :src="withBase('/examples/scene-3d.mp4')" autoplay loop muted playsinline style="width:100%;max-width:560px;border-radius:8px;display:block"></video>
588
-
589
- *A denser instanced-geometry scene with depth, color variation and live motion, useful
590
- as a base for audio, camera or timeline modulation.*
591
-
592
- **What you'll get:** a particle or geometry system with live *Drag / Turbulence /
593
- Gravity / Lifetime* knobs to shape the motion.
594
-
595
- > *"Show a polished metallic sphere on a turntable with realistic studio lighting
596
- > and soft reflections."*
597
-
598
- <video :src="withBase('/examples/pbr-product-spin.mp4')" autoplay loop muted playsinline style="width:100%;max-width:480px;border-radius:8px;display:block"></video>
599
-
600
- *A physically-based 3D scene (PBR material + environment lighting + Render TOP) with
601
- roughness/metalness and a spin knob — a believable studio render of a primitive, not
602
- a flat-shaded toy.*
603
-
604
- > *"Make a slowly-drifting point cloud of a sphere, tiny glowing points that twinkle,
605
- > on deep black."*
606
-
607
- <video :src="withBase('/examples/point-cloud-drift.mp4')" autoplay loop muted playsinline style="width:100%;max-width:480px;border-radius:8px;display:block"></video>
608
-
609
- *A point-cloud render of a sampled surface (sphere, grid or model) as thousands of GPU
610
- points with size/jitter and drift controls — the LiDAR/scan look without a scanner or
611
- PLY file.*
612
-
613
- > *"Push my webcam image into 3D relief so bright areas pop toward the camera, lit
614
- > from the side."*
615
-
616
- <video :src="withBase('/examples/depth-displacement-relief.mp4')" autoplay loop muted playsinline style="width:100%;max-width:480px;border-radius:8px;display:block"></video>
617
-
618
- *A plane displaced into real 2.5D geometry by a depth/luminance map via a GLSL MAT
619
- vertex stage, with depth-Amount and lighting — your image becomes a sculpted, side-lit
620
- terrain you can light and orbit.*
621
-
622
- > *"Render a 3D scene with ambient-occlusion shadows and use its depth to push another
623
- > image into relief — and I don't own a depth camera."*
624
-
625
- <video :src="withBase('/examples/multipass-depth-no-camera.mp4')" autoplay loop muted playsinline style="width:100%;max-width:560px;border-radius:8px;display:block"></video>
626
-
627
- *A multi-pass 3D render (Render + SSAO pass) that also emits a synthetic depth output,
628
- which then feeds depth-displacement or silhouette — contact-shadowed 3D plus a depth
629
- map manufactured in software, no depth sensor required.*
630
-
631
- > *"Add cinematic 3D post passes to this scene: SSAO contact shadows, a little SSR,
632
- > shallow depth of field and motion blur on fast moves."*
633
-
634
- <video :src="withBase('/examples/post-passes-3d-cinematic.mp4')" autoplay loop muted playsinline style="width:100%;max-width:560px;border-radius:8px;display:block"></video>
635
-
636
- *`post_passes_3d` is the dedicated 3D finishing chain for depth/normal/velocity-aware
637
- looks; `apply_post_processing` redirects SSAO / SSR / DOF / motion-blur requests here
638
- instead of pretending those passes work on a flat TOP.*
639
-
640
- > *"Build a torus POP-style geometry rig with two subdivisions, animated noise
641
- > displacement and live RotateY / NoiseAmount controls, ready to render."*
642
-
643
- <video :src="withBase('/examples/pop-geometry-noise-rig.mp4')" autoplay loop muted playsinline style="width:100%;max-width:480px;border-radius:8px;display:block"></video>
644
-
645
- *`create_pop_geometry` wraps a procedural primitive → transform → optional subdivide
646
- → noise → material SOP chain in a complete render rig. Use it when you want an
647
- editable geometry object, not just a shader pretending to be 3D.*
648
-
649
- > *"Build a POP particle storm where 40,000 points are born from a seed cloud,
650
- > dragged through a texture force field, and leave a bright feedback trail."*
651
-
652
-
653
- *`create_pop_particle_system` builds the rendered POP instrument: point-generator
654
- seed, particle POP, feedback POP, lookup-texture force branch, optional field
655
- visualization and an output Render TOP. EmissionRate, Lifetime and FeedbackGain
656
- stay exposed so the storm can be performed instead of baked.*
657
-
658
- > *"Grow a coral-like POP organism: dense outward accretion, noise-biased motion,
659
- > slow decay, and knobs for growth rate, threshold and feedback."*
660
-
661
-
662
- *`create_pop_growth` is the organic POP preset: dendritic, coral and lichen modes
663
- with GrowthRate, Decay, Threshold and FeedbackGain controls. Use it when the look
664
- should feel like accretion, fungus, coral or branching fiber rather than plain
665
- particles.*
666
-
667
- > *"Make a slow-spinning plexus point cloud: 1,000 points, connect only nearby
668
- > neighbors, fade lines by distance, and leave tiny point sprites on top."*
669
-
670
-
671
- *`create_pop_lines_pointcloud` runs a Neighbor POP over an auto-generated or
672
- external point cloud, emits deduplicated Script SOP line primitives, then renders
673
- the web with MaxDistance, MaxNeighbors, MaxLines, Spin and PointSize controls.
674
- This is the plexus look without hand-writing the neighbor loop.*
675
-
676
- > *"Use my segmentation mask as a depth field and scatter 25,000 points around my
677
- > body, colored by near/far depth and slowly spinning in 3D."*
678
-
679
- <video :src="withBase('/examples/depth-pop-field-performer.mp4')" autoplay loop muted playsinline style="width:100%;max-width:480px;border-radius:8px;display:block"></video>
680
-
681
- *`create_depth_pop_field` accepts an existing depth/mask TOP or spins up
682
- segmentation, then uses lookup-texture POPs, jitter and a displacement proxy to
683
- turn the mask into a rendered spatial point field. DepthScale, PointSize and Spin
684
- make the flat camera feed behave like a stage volume.*
685
-
686
- > *"Load this .splat scan as a Gaussian Splat scene, bind it to my orbit camera,
687
- > output 1080p, and expose the asset path and camera reference on the wrapper."*
688
-
689
-
690
- *`create_gaussian_splat_scene` wraps TDGS.tox when it is installed, validates
691
- `.ply` / `.splat` assets, binds an optional camera and promotes SplatAssetPath,
692
- CameraRef and OutputRes controls. If TDGS is missing, it fails fast with install
693
- guidance instead of hanging TouchDesigner.*
694
-
695
- > *"Estimate depth from this 2D camera feed, keep the depth map cooking, then use
696
- > it as the source for a relief/displacement visual."*
697
-
698
-
699
- *`create_depth_from_2d` drops TDDepthAnything when available, wires a source TOP,
700
- configures model/resolution and returns a live `depth_out` Null TOP with a frame
701
- cooker. The result can feed `create_depth_pop_field`, displacement, silhouettes or
702
- any other depth-aware chain without a depth camera.*
703
-
704
- > *"Create a slow nebula volume: 24 stacked slices, purple-magenta palette, high
705
- > density, low turbulence, and live knobs for density and color map."*
706
-
707
- <video :src="withBase('/examples/volumetric-field-nebula.mp4')" autoplay loop muted playsinline style="width:100%;max-width:480px;border-radius:8px;display:block"></video>
708
-
709
- *`create_volumetric_field` fakes volume from animated 3D noise, optional
710
- displacement, a Cache TOP slice stack and Beer-Lambert GLSL accumulation. Density,
711
- Turbulence and ColorMap controls turn it into a haze, nebula, ember, ice, toxic or
712
- mono atmosphere.*
713
-
714
- > *"Turn this camera feed into an isometric voxel city: brightness drives tower
715
- > height, source color paints each block, and I get HeightScale and RotateY
716
- > controls."*
717
-
718
-
719
- *`create_voxel_stack` samples a TOP into instance channels, merges position,
720
- height, scale and color buses, then instances box geometry through an isometric or
721
- perspective camera. It turns flat footage into a performable field of cubes rather
722
- than a pixelated 2D filter.*
723
-
724
- > *"Turn this portrait into a stippled point-cloud study: warm dots on black,
725
- > luminance controls density, slight random jitter, and a slow camera orbit like a
726
- > print dissolving into space."*
727
-
728
- *`create_stipple_pointcloud` converts TOP luminance into POP density and renders
729
- thousands of tiny points with DotSize, JitterAmount and CameraRotate controls. It
730
- sits between printmaking and 3D particles: more tactile than a halftone, lighter
731
- than a full fluid or particle sim.*
732
-
733
- ## Video & camera
734
-
735
- > *"Pipe my webcam through edge detection, an RGB split and a feedback loop for a
736
- > glitchy look."*
737
-
738
- <video :src="withBase('/examples/video-glitch.mp4')" autoplay loop muted playsinline style="width:100%;max-width:480px;border-radius:8px;display:block"></video>
739
-
740
- *The glitch / VHS look — scanlines, RGB split and datamosh (shown on a synthetic
741
- source rather than a live webcam).*
742
-
743
- > *"Take my webcam and make it look like an old, degraded VHS tape."*
744
-
745
- > *"Set up two video decks with a big crossfader so I can blend between two clips
746
- > like a DJ."*
747
-
748
- <video :src="withBase('/examples/dj-decks-crossfade.mp4')" autoplay loop muted playsinline style="width:100%;max-width:480px;border-radius:8px;display:block"></video>
749
-
750
- *A/B decks blended by a master crossfader (Cross TOP) with per-deck gain; each deck
751
- pulls a source TOP or a built-in test source — the visual equivalent of a DJ mixer,
752
- the core of any VJ rig.*
753
-
754
- > *"Build a four-deck VJ mixer: camera, loops, generative layer and logo sting, each
755
- > with gain and FX-send, plus a hard-cut selector for live transitions."*
756
-
757
- <video :src="withBase('/examples/nchannel-decks-fx-send.mp4')" autoplay loop muted playsinline style="width:100%;max-width:480px;border-radius:8px;display:block"></video>
758
-
759
- *`create_decks` now has an N-channel mode: 2-8 decks, per-deck gain, per-deck FX
760
- send, a continuous program mix and a transition-cut bus. Use the old A/B prompt for a
761
- simple crossfader; use `decks[]` when the rig starts feeling like a real VJ mixer.*
762
-
763
- > *"Put waveform, RGB parade and vectorscope next to this camera feed so I can tune
764
- > the grade before the show opens."*
765
-
766
- <video :src="withBase('/examples/video-scopes-monitor.mp4')" autoplay loop muted playsinline style="width:100%;max-width:480px;border-radius:8px;display:block"></video>
767
-
768
- *`create_video_scopes` builds a broadcast-style monitoring surface for a TOP source:
769
- waveform, parade and vectorscope panels that make color / exposure problems visible
770
- before they become projector problems.*
771
-
772
- > *"Add a luminance histogram scope to this camera feed with 128 bins, log scale and
773
- > a phosphor-green trace so I can see crushed blacks before the projector does."*
774
-
775
- <video :src="withBase('/examples/histogram-scope-rgb.mp4')" autoplay loop muted playsinline style="width:100%;max-width:480px;border-radius:8px;display:block"></video>
776
-
777
- *`create_histogram_scope` turns a TOP into a previewable histogram panel using a
778
- GLSL bin pass, TOP-to-CHOP normalisation and a rendered trace. It can run from a
779
- test pattern, file, existing TOP or live device.*
780
-
781
- > *"Put a broadcast-style RGB+luma histogram scope on the corner of my output so I
782
- > can see if I'm crushing blacks."*
783
-
784
-
785
- *A combined RGB + luma variant of `create_histogram_scope` — bars rendered through
786
- Script SOP + Render TOP into a Null you can overlay on program output. The proper
787
- engineer's video scope a colorist keeps on a second monitor.*
788
-
789
- > *"Turn the camera into an AI mirror with an ethereal water prompt, show the raw
790
- > camera in the control panel, and send the generated output over Syphon/Spout
791
- > when it is ready."*
792
-
793
-
794
- *`create_ai_mirror` wraps camera, synthetic or existing TOP input through
795
- StreamDiffusionTD with Prompt, Negative Prompt, Strength and CFG controls plus an
796
- optional camera preview. The output can stay internal or go to Syphon-Spout / NDI,
797
- and a missing StreamDiffusion TOX becomes a friendly warning with the skeleton
798
- still built.*
799
-
800
- > *"Build my live ingest rack: a safe screen-grab source for rehearsal, a folder
801
- > media bin of loops, and a chroma keyer that can swap between camera and test
802
- > card before the show."*
803
-
804
- *`create_live_source`, `create_media_bin` and `create_keyer` are the practical
805
- video-input trio: one normalizes live feeds, one scans a folder into switchable
806
- clips, and one composites keyed footage over a background. Camera, NDI,
807
- Syphon/Spout and streams remain platform/permission gated, so the prompt should
808
- ask for warnings and stable `out1` paths before wiring the show mix.*
809
-
810
- ## Text & titles
811
-
812
- > *"Build an alpha-safe lyric hit: flash the word 'DROP' huge on the beat, then
813
- > make it vanish cleanly between hits over the running visual."*
814
-
815
- <video :src="withBase('/examples/kinetic-lyrics-flash.mp4')" autoplay loop muted playsinline style="width:100%;max-width:480px;border-radius:8px;display:block"></video>
816
-
817
- *`create_kinetic_text` in `mode: "flash"` creates a Text TOP, LFO, alpha gate and
818
- optional composite over an input TOP. The important bit for show visuals: the text
819
- goes transparent between hits instead of flashing black.*
820
-
821
- > *"Make a pulsing lower third for the vocalist: artist name, stage label and a
822
- > small beat indicator, composited over the program feed."*
823
-
824
- <video :src="withBase('/examples/kinetic-lower-third-pulse.mp4')" autoplay loop muted playsinline style="width:100%;max-width:480px;border-radius:8px;display:block"></video>
825
-
826
- *Use `create_text_overlay` for the title-safe layer, then swap to
827
- `create_kinetic_text` in `mode: "pulse"` when the lower third should breathe with
828
- the track rather than sit flat.*
829
-
830
- > *"Create a setlist ticker along the bottom of the output: current section, next
831
- > cue, stage side and artist note, looping forever."*
832
-
833
- <video :src="withBase('/examples/text-crawl-setlist-ticker.mp4')" autoplay loop muted playsinline style="width:100%;max-width:480px;border-radius:8px;display:block"></video>
834
-
835
- *`create_text_crawl` with `mode: "crawl_horizontal"` is the ticker-tape layer for
836
- running copy, countdowns, stage manager notes and installation status messages.*
837
-
838
- > *"Roll the end credits upward over the final ambient scene, with a slow fade at
839
- > the top and bottom of the frame."*
840
-
841
- <video :src="withBase('/examples/text-roll-credits-stage.mp4')" autoplay loop muted playsinline style="width:100%;max-width:480px;border-radius:8px;display:block"></video>
842
-
843
- *The same `create_text_crawl` tool in `mode: "roll_vertical"` handles multi-line
844
- credits, artist statements and gallery wall text. Use `\n` to keep each line
845
- editable.*
846
-
847
- > *"Reveal a short manifesto one character at a time before the installation opens:
848
- > 'NO PREVIEW / NO PANIC / BUILD THE LIGHT / THEN PERFORM IT'."*
849
-
850
- <video :src="withBase('/examples/typewriter-manifesto-reveal.mp4')" autoplay loop muted playsinline style="width:100%;max-width:480px;border-radius:8px;display:block"></video>
851
-
852
- *`create_text_crawl` also exposes `mode: "typewriter"` for character reveals. It is
853
- marked experimental in the tool docs, so use it for rehearsal or generated docs and
854
- verify the Text TOP expression on the target TouchDesigner build before a show.*
855
-
856
- > *"Make my festival name as chunky extruded 3D chrome letters, slowly rotating with
857
- > a spotlight."*
858
-
859
- <video :src="withBase('/examples/3d-extruded-title.mp4')" autoplay loop muted playsinline style="width:100%;max-width:480px;border-radius:8px;display:block"></video>
860
-
861
- *`create_text_3d` builds Text SOP -> Extrude SOP -> material -> Camera/Light/Render
862
- as a self-contained title scene, with live Spin and Depth controls.*
863
-
864
- > *"Turn the word 'NOISE' into SOP geometry, add point noise, and render it like a
865
- > warped text sculpture instead of a flat card."*
866
-
867
- <video :src="withBase('/examples/pop-text-noise-sculpture.mp4')" autoplay loop muted playsinline style="width:100%;max-width:480px;border-radius:8px;display:block"></video>
868
-
869
- *`create_pop_geometry` with `primitive: "text"` and `text_string` makes text part of
870
- the geometry pipeline. Add `noise_amount` when the title should feel like a living
871
- object rather than a caption.*
872
-
873
- > *"Generate a projector alignment pattern labelled OUTPUT 02 / LEFT so the crew can
874
- > identify the physical surface from across the room."*
875
-
876
- <video :src="withBase('/examples/projector-label-test-pattern.mp4')" autoplay loop muted playsinline style="width:100%;max-width:480px;border-radius:8px;display:block"></video>
877
-
878
- *`create_test_pattern` can draw calibration grids, crosshairs, output numbers and
879
- labels. It belongs in Text & titles because these labels are the typography that
880
- keeps an installation understandable during setup.*
881
-
882
- > *"Map my MIDI pads to words: KICK, BASS, SNARE, VOX, CLAP and PAD should each
883
- > flash as their note channel fires."*
884
-
885
- <video :src="withBase('/examples/midi-note-type-hits.mp4')" autoplay loop muted playsinline style="width:100%;max-width:480px;border-radius:8px;display:block"></video>
886
-
887
- *Pair `create_midi_note_reactive` with `create_kinetic_text` when typography should
888
- respond to individual note events instead of a global audio level.*
889
-
890
- > *"Put the title 'DEEP FIELD' on a circular path and let the letters orbit around
891
- > the center before the main scene begins."*
892
-
893
- <video :src="withBase('/examples/path-title-orbit.mp4')" autoplay loop muted playsinline style="width:100%;max-width:480px;border-radius:8px;display:block"></video>
894
-
895
- *Apply the `kinetic_text_path_follow` recipe when the title needs to follow a path:
896
- orbit bugs, circular show logos, moving labels around sculptures and wayfinding
897
- loops.*
898
-
899
- **What you'll get:** a performable typography kit: alpha-safe lyric hits, pulsing
900
- lower thirds, ticker crawls, rolling credits, typewriter reveals, extruded 3D text,
901
- noisy text geometry, projector labels, MIDI-triggered words and path-follow titles.
902
-
903
- ## Live performance & control
904
-
905
- > *"Add knobs for feedback, zoom, spin and blur so I can perform this live."*
906
-
907
- > *"Animate the spin knob with a slow LFO."*
908
-
909
- > *"Make a tempo clock at 128 BPM and sync the movement to the beat."*
910
-
911
- > *"Lock the tempo to Ableton Link so it follows whatever's on the network."*
912
-
913
- > *"Bridge Ableton Live into TouchDesigner: clips, tracks, transport and device
914
- > macros as named CHOP channels, with an OSC fallback if TDAbleton is not installed."*
915
-
916
-
917
- *`setup_tdableton` probes for the Palette component first, then falls back to a plain
918
- OSC In bridge, so the same show patch can rehearse without a perfect studio setup.*
919
-
920
- > *"Build a futuristic hand hologram: a transparent cyan cube with violet scanlines
921
- > floating above my open palm. Start with the synthetic two-hand preview, expose
922
- > Size, FloatHeight, Glow and PinchScale controls, and make an opposite-hand pinch
923
- > grow the cube and brighten its glow."*
924
-
925
- *`create_hand_hologram` builds the full visual and nests `create_hand_gesture_bus`
926
- inside it. The bus stabilizes the palm anchor, keeps the active palm locked when
927
- the control hand enters the frame, and publishes `pinch_power`, `light_gain` and
928
- `audio_level` so the same tracking can later drive lasers, particles or audio.*
929
-
930
- > *"Build a phone gesture controller on port 9982: multitouch X/Y controls for
931
- > feedback and hue, tilt for camera roll, and shake as a panic-safe flash trigger.
932
- > Give me the URL and the CHOP channel names before I bind anything."*
933
-
934
- *`create_phone_gesture` serves a local phone page from TouchDesigner and publishes
935
- touch, tilt, gyro and shake channels through a Script CHOP. iOS motion sensors need
936
- an explicit browser permission tap and often HTTPS, so this belongs in rehearsal
937
- as a control surface first, then in the show once the channel ranges are watched.*
938
-
939
- > *"Turn my webcam hands into a four-channel Ableton Auto Filter controller through
940
- > TDAbleton, without AbletonMCP. Use MediaPipe hand tracking, build a skeleton
941
- > overlay with star joints, publish `mapper_send` so `map1` is left pinch, `map2`
942
- > is right pinch, `map3` is left wrist roll and `map4` is right wrist roll, then
943
- > diagnose the `TDA_Mapper` routing before I map the four slots in Ableton."*
944
-
945
- *`create_hand_ableton_mapper` builds the TouchDesigner side of the performance
946
- controller and `diagnose_tdableton_mapper` checks the mapper path, input CHOP,
947
- `Reorder`, bypasses and ranges. The runtime path is TouchDesigner -> TDAbleton
948
- `TDA_Mapper` -> Ableton mapped Auto Filter or rack macro parameters; AbletonMCP is
949
- not required.*
950
-
951
- > *"Build a Kinect wall harp rehearsal rig in synthetic mode: 16 musical zones
952
- > across the wall, 128 subtle laser lines, amber pluck flashes, debug hand dots,
953
- > and exposed calibration, audio decay and reverb controls so I can test the
954
- > piece before the Kinect is connected."*
955
-
956
- *`create_kinect_wall_harp` builds the wall instrument as a TD COMP: projected harp
957
- lines, depth / mask / hands debug outputs, hand and pluck CHOP buses, plus an
958
- internal sine/reverb audio chain. Use `source:"synthetic"` or keep
959
- `fallback_to_synthetic:true` for rehearsal; add a cookbook video only after
960
- capturing the real `output_top` from TouchDesigner.*
961
-
962
- > *"Build a performance control layer for this look: four tempo-locked modulators
963
- > named breathe, shimmer, wobble and random_hold, an XY pad for blur/hue, and a
964
- > look bank with ambient, chorus and blackout-safe slots plus an A/B morph knob."*
965
-
966
- *`create_modulators`, `create_xy_pad` and `create_look_bank` turn a generated patch
967
- into an instrument: named CHOP modulation, direct two-axis control and stored looks
968
- that can snap, quantize or morph. Use it once the visual works and the next problem
969
- is making the controls repeatable under show pressure.*
970
-
971
- > *"Follow the MIDI clock coming from my DJ software."*
972
-
973
- > *"Set up two cues — 'intro' and 'drop' — that I can morph between."*
974
-
975
- > *"Let me control the main knobs from my phone."*
976
-
977
- > *"Map my MIDI controller's first fader to the Sensitivity knob."*
978
-
979
- > *"Going live now — turn on perform mode so nothing hitches mid-show."*
980
-
981
-
982
- *`set_perform_mode` now prefers the hardened `POST /api/perform` endpoint and
983
- returns a typed snapshot showing whether the root store, UI perform mode and project
984
- perform mode were actually set. It still falls back for older bridges, but the
985
- show-time path is a real REST call.*
986
-
987
- > *"Build me an Ableton-style grid of buttons so I can trigger my saved looks live
988
- > with one tap each."*
989
-
990
- *A grid of cue-trigger buttons (reusing the cue recall/morph engine) — tap a cell to
991
- jump or morph to a stored scene, openable in Perform mode as a touch surface. An
992
- Ableton Session-view clip grid for your visuals.*
993
-
994
- > *"Make a 16-step beat grid that fires a strobe on the downbeats and an effect on
995
- > the off-beats, locked to my tempo."*
996
-
997
- *A bar/beat step grid that fires a parameter or cue per active step — the
998
- deterministic, programmable counterpart to the auto-VJ. Toggle steps to compose a
999
- repeating pattern locked to the clock, like a drum machine for visual events.*
1000
-
1001
- > *"Build a probabilistic sequencer where calm usually drifts to shimmer, shimmer
1002
- > sometimes jumps to a glitch burst, and blackout only happens on rare drops."*
1003
-
1004
- <video :src="withBase('/examples/prob-sequencer-markov.mp4')" autoplay loop muted playsinline style="width:100%;max-width:480px;border-radius:8px;display:block"></video>
1005
-
1006
- *A Markov step sequencer for show states: on each beat it samples the weighted
1007
- transition table, emits `state` and `trigger`, and drives cues or parameters without
1008
- repeating a fixed loop.*
1009
-
1010
- > *"Build a three-scene timeline for a 128 BPM set: intro is a feedback tunnel,
1011
- > drop is an audio-reactive spike ball, breakdown is a cinematic color wash. Make
1012
- > it scrubbable and keep the setlist slot ids."*
1013
-
1014
- <video :src="withBase('/examples/scene-timeline-arranger.mp4')" autoplay loop muted playsinline style="width:100%;max-width:480px;border-radius:8px;display:block"></video>
1015
-
1016
- *A show-master timeline: scenes become blocks on a Timer-CHOP playhead, cue recalls
1017
- land at scene boundaries, and downstream tools can keep setlist slot references
1018
- attached to each scene.*
1019
-
1020
- > *"Scan this folder of loops and make a beat-quantized auto-montage that shuffles
1021
- > clips every bar with a half-second crossfade."*
1022
-
1023
- <video :src="withBase('/examples/auto-montage-shuffle.mp4')" autoplay loop muted playsinline style="width:100%;max-width:480px;border-radius:8px;display:block"></video>
1024
-
1025
- *A self-running media-bin switcher: source clips/stills feed a Switch TOP, a
1026
- bar/beat/interval clock advances the index, and shuffle/random/weighted modes avoid
1027
- the same clip hanging around too long.*
1028
-
1029
- > *"Create a Euclidean sequencer with 5 hits over 16 steps, and bind the hits to a
1030
- > strobe, a glitch burst and the preset-morph amount."*
1031
-
1032
- <video :src="withBase('/examples/euclidean-strobe-pattern.mp4')" autoplay loop muted playsinline style="width:100%;max-width:480px;border-radius:8px;display:block"></video>
1033
-
1034
- *Bjorklund-style rhythm for visuals — sparse, musical pulses that can fire cue,
1035
- parameter or script callbacks instead of a plain metronome.*
1036
-
1037
- > *"Blend between four stored looks with a single Morph knob, weighted so I can sit
1038
- > halfway between neon cyan and warm amber during the breakdown."*
1039
-
1040
- <video :src="withBase('/examples/preset-morph-blend.mp4')" autoplay loop muted playsinline style="width:100%;max-width:480px;border-radius:8px;display:block"></video>
1041
-
1042
- *A true N-way preset blend: instead of snapping from one cue to another, saved
1043
- parameter states become weights in a morph table you can automate, MIDI-map or drive
1044
- from a scene timeline.*
1045
-
1046
- > *"Record my filter cutoff sweep over four bars, then loop it as an automation
1047
- > lane so I can take my hands off during the drop."*
1048
-
1049
- <video :src="withBase('/examples/automation-lane-loop.mp4')" autoplay loop muted playsinline style="width:100%;max-width:480px;border-radius:8px;display:block"></video>
1050
-
1051
- *`create_automation_lane` samples a target parameter into a bar-phased buffer, then
1052
- plays it back through a Lookup CHOP. Re-call the same lane in `record` or `loop` mode
1053
- to arm, capture and perform reusable knob moves.*
1054
-
1055
- > *"Record my hand-controller CHOP for eight bars, loop the best take, and scrub it
1056
- > back as a reusable modulation source."*
1057
-
1058
- <video :src="withBase('/examples/chop-recorder-replay.mp4')" autoplay loop muted playsinline style="width:100%;max-width:480px;border-radius:8px;display:block"></video>
1059
-
1060
- *`create_chop_recorder` turns any CHOP stream (OSC, MIDI, audio feature, pose or
1061
- custom control) into a capture / playback / loop surface, so a live gesture can become
1062
- part of the rig instead of disappearing after rehearsal.*
1063
-
1064
- > *"At bar 32 fire the drop cue, at bar 64 start the auto-montage, and at the end of
1065
- > the track freeze the output until I clear it."*
1066
-
1067
- **What you'll get:** a scheduler primitive built around named timers/segments. Use it
1068
- for small timed callbacks, or put `create_scene_timeline` above it when you want a
1069
- scrubbable song-mode arranger.
1070
-
1071
- > *"Build a phone dashboard with cue buttons for intro/drop/break, two master
1072
- > faders, a live VU strip, and big Blackout / Freeze buttons for panic recovery."*
1073
-
1074
- <video :src="withBase('/examples/live-dashboard-panic.mp4')" autoplay loop muted playsinline style="width:100%;max-width:480px;border-radius:8px;display:block"></video>
1075
-
1076
- *A single live-performance cockpit served from TouchDesigner: cue launch, faders,
1077
- readout and panic controls in one phone/laptop page. Keep it on a trusted network.*
1078
-
1079
- > *"Upgrade the stage dashboard to layout v2: stereo VU, BPM from
1080
- > `/project1/tempo_null`, cue timeline markers from my setlist and a sticky
1081
- > confirm-tap PANIC bar."*
1082
-
1083
- <video :src="withBase('/examples/stage-dashboard-v2.mp4')" autoplay loop muted playsinline style="width:100%;max-width:480px;border-radius:8px;display:block"></video>
1084
-
1085
- *`create_stage_dashboard` with `layout:"v2"` keeps the original dashboard path
1086
- compatible while adding front-of-house readouts: stereo VU, BPM, FPS / cook overlay,
1087
- cue timeline strip and a safer two-step panic surface.*
1088
-
1089
- > *"Dry-run the AI show director: allow a pre-approved band intro cue, queue a
1090
- > three-second fog request for operator approval, and block a blackout request."*
1091
-
1092
-
1093
- *`tdmcp-agent show-director` is a policy surface, not an unsafe hardware trigger. It
1094
- validates structured show intents, returns allow / approval / block decisions, keeps
1095
- an approval queue and audit log, and marks every action plan as dry-run-only until a
1096
- human/operator path resolves it.*
1097
-
1098
- > *"Before the band walks on, arm the predeclared Soundcraft scene `band_a_intro`
1099
- > through the AI Show Director. Put it in the approval queue, bind the catalog
1100
- > hash, and show the dry-run plan without contacting the mixer."*
1101
-
1102
- *`arm_mixer_scene` is separate from `arm_effect`: only a predeclared catalog
1103
- `scene_id` can enter the approval queue, approval rechecks the current catalog hash,
1104
- and the dry-run adapter returns `hardware_changed:false`. The useful output is the
1105
- operator-reviewed plan and audit state, not a decorative mixer illustration.*
1106
-
1107
- > *"Plan a 20-minute set across my three scenes in dry-run mode first — show me
1108
- > what the AI director will do before it touches anything."*
1109
-
1110
-
1111
- *`create_autopilot` runs each show-directing call through the policy layer in
1112
- dry-run mode and returns the planned action + rationale (which scene, which
1113
- transition, when) so the artist can preview an autonomous set before it touches
1114
- the bridge. Approve, edit or reject before the show runs.*
1115
-
1116
- > *"Give me a front-of-house dashboard with stereo VU meters, live BPM from my
1117
- > tempo detector, FPS overlay, the next-cue strip, and a sticky PANIC bar."*
1118
-
1119
- <video :src="withBase('/examples/stage-dashboard-v2.mp4')" autoplay loop muted playsinline style="width:100%;max-width:480px;border-radius:8px;display:block"></video>
1120
-
1121
- *The `layout:"v2"` build of `create_stage_dashboard` adds a stereo VU pair, a BPM
1122
- readout fed by a `detect_tempo` Null CHOP, an FPS / cook-time / frame overlay, a
1123
- cue-timeline strip from a `compose_cue_list` pair array, and a confirm-tap PANIC
1124
- bar — without breaking the v1 dashboard byte-for-byte.*
1125
-
1126
- > *"Jump my timeline to the chorus cue, set playback rate to 1.25, and start
1127
- > playing — through the fast REST path, not a Python exec."*
1128
-
1129
-
1130
- *`control_timeline_transport` now prefers the new `POST /api/transport` endpoint
1131
- for play / pause / seek / cue / rate and falls back to `executePythonScript` only
1132
- on older bridges. Transport jumps become a real REST call — fast enough to land on
1133
- a downbeat.*
1134
-
1135
- > *"Lock the show to incoming OSC timecode, follow the timeline frame-for-frame, and
1136
- > jump to named cues if the timecode label says chorus or blackout."*
1137
-
1138
-
1139
- *`sync_timecode` wires MTC / LTC / OSC timecode into a normalized CHOP and can drive
1140
- the TD timeline. Pair it with `control_timeline_transport` for explicit play, pause,
1141
- seek, rate and cue commands.*
1142
-
1143
- > *"Schedule the lobby installation: start the ocean scene every weekday at 09:00,
1144
- > switch to the dusk set at 18:00, and dry-run the schedule first."*
1145
-
1146
-
1147
- *`tdmcp-agent schedule` is the cron-lite companion for unattended installs. It uses
1148
- wall-clock scheduling with timezone handling, can dry-run, and can fire commands,
1149
- cues or setlists.*
1150
-
1151
- > *"Record the next few MCP tool calls as a macro called soundcheck, then replay it
1152
- > on the second machine after the stage network comes online."*
1153
-
1154
-
1155
- *Use `macro_recorder` to capture a portable JSON macro and `run_macro_script` to
1156
- replay it later. The CLI side can also fan out a command to multiple remote agents
1157
- when several TD machines need the same setup.*
1158
-
1159
- > *"Add a kill/dimmer safety chain to the master output with a 2-second fade and
1160
- > a panic Emergency button I can hit from a phone."*
1161
-
1162
- <video :src="withBase('/examples/safety-blackout-chain.mp4')" autoplay loop muted playsinline style="width:100%;max-width:480px;border-radius:8px;display:block"></video>
1163
-
1164
- *`create_safety_blackout_chain` wraps your program TOP with a Level/dim pass driven
1165
- by a `safety_dim` Null CHOP (0 = lit, 1 = fully black), a Speed-controlled 2-second
1166
- fade, and an exposed `Panic` toggle. Bind `safety_dim` to a phone fader with
1167
- `bind_to_channel`, or wire a hardware "dead-man" button to flip Panic. Works fully
1168
- offline and is safe to install on a `TDMCP_BRIDGE_ALLOW_EXEC=0` bridge.*
1169
-
1170
- > *"Build a timed setlist that cycles through three scenes — intro 30s, drop 60s,
1171
- > outro 45s — with 2-second crossfades and a HUD showing now/next/remaining."*
1172
-
1173
- <video :src="withBase('/examples/setlist-runner-hud.mp4')" autoplay loop muted playsinline style="width:100%;max-width:480px;border-radius:8px;display:block"></video>
1174
-
1175
- *`create_setlist_runner` lays down a Timer CHOP with one segment per scene plus a
1176
- crossfader bus and a Text TOP HUD reading now/next/remaining seconds. The
1177
- `param_engine` Parameter Execute DAT watches Play/Row/Skip/Prev so you can override
1178
- the schedule live — pause on a scene, skip ahead, or rewind without rewriting the
1179
- timer.*
1180
-
1181
- > *"Wrap my NDI input in a watchdog that auto-switches to a pre-rendered MP4 if
1182
- > the camera drops, with a 250ms crossfade and a sticky-recover toggle."*
1183
-
1184
-
1185
- *`create_show_failover` runs an Info CHOP on the live source and watches the
1186
- `total_cooks` delta — when it stops climbing the watchdog routes a Switch TOP to
1187
- the backup MoviefileIn over a 250ms crossfade. The `sticky_recover` toggle stops it
1188
- ping-ponging back the instant NDI flickers, so the show doesn't strobe on a flaky
1189
- camera.*
1190
-
1191
- > *"Bind my body pose to the visual: when I raise my right hand the kaleidoscope
1192
- > rotates, and when I open my arms the bloom intensity doubles."*
1193
-
1194
- <video :src="withBase('/examples/pose-reactive-bindings.mp4')" autoplay loop muted playsinline style="width:100%;max-width:480px;border-radius:8px;display:block"></video>
1195
-
1196
- *Chain `setup_body_tracking` (MediaPipe pose source) into `create_pose_reactive` to
1197
- get named CHOP channels per joint plus derived gestures (`right_hand_up`,
1198
- `arms_open`, `lean_left`). Map those to your kaleidoscope rotation and bloom level
1199
- parameters — the pose becomes a controller surface, no MIDI required.*
1200
-
1201
- > *"Build my reactive but use the new transient gate so claps fire a strobe, and
1202
- > duck the bloom on every kick like a sidechain compressor."*
1203
-
1204
- <video :src="withBase('/examples/audio-reactive-gate-duck.mp4')" autoplay loop muted playsinline style="width:100%;max-width:480px;border-radius:8px;display:block"></video>
1205
-
1206
- *`create_audio_reactive` now takes `transient_gate:true` (+ `transient_threshold`,
1207
- `transient_hold_ms`) and `sidechain_duck:true` (+ `duck_depth`, `duck_release_ms`)
1208
- to add gate and duck modulation channels into the same network. Defaults stay off,
1209
- so existing reactive containers are byte-identical — opt in only when you want the
1210
- new buses.*
1211
-
1212
- > *"Queue my strobe and logo cues when I tap the button, but only fire them on the
1213
- > next 16-bar phrase boundary so the drop lands musically."*
1214
-
1215
-
1216
- *`create_phrase_locked_cue_engine` watches a pending-cue CHOP, queues pulses and
1217
- gates them against a local Beat CHOP phrase clock. The output Null CHOP emits the
1218
- musically quantized trigger, while PhraseLength, Active, Flush and QueueDepth give
1219
- the operator live control over the queue.*
1220
-
1221
- ## Output & mapping
1222
-
1223
- > *"Output the final visual to a full-screen window on my second monitor."*
1224
-
1225
- > *"Send this out over NDI so I can use it in OBS."*
1226
-
1227
- > *"Corner-pin this onto a projector and let me drag the corners."*
1228
-
1229
- <video :src="withBase('/examples/projection-mapping.mp4')" autoplay loop muted playsinline style="width:100%;max-width:480px;border-radius:8px;display:block"></video>
1230
-
1231
- *A source warped through a corner-pin keystone — drag the four corners to line it
1232
- up with a wall, screen or object.*
1233
-
1234
- > *"Record the output to a movie file for 30 seconds."*
1235
-
1236
- > *"Inspect the GPU and connected displays, then tell me which output plan is safe
1237
- > for this projector rig."*
1238
-
1239
- > *"Bridge this TOP over shared memory to the Unreal machine, and receive a CHOP
1240
- > control stream back from the lighting process."*
1241
-
1242
- > *"Build a DMX fixture pipeline for eight RGBW bars over Art-Net universe 1, with
1243
- > dimmer, color and strobe channels exposed."*
1244
-
1245
- *`create_dmx_fixture_pipeline` lays out fixture profiles, DMX slot padding and a
1246
- DMX Out CHOP for Art-Net or sACN. It should surface overlaps, over-512 warnings and
1247
- the exact channel names before anything goes live; fixture output is hardware, so
1248
- the cookbook keeps this as a verified routing/control report rather than a fake
1249
- lighting preview.*
1250
-
1251
- > *"Create a starter `TDMCP_*` config file for this show laptop, but leave secrets
1252
- > commented out and refuse to overwrite the existing file unless I pass force."*
1253
-
1254
-
1255
- *`tdmcp-agent config init` prints or writes the complete `.env` surface the server reads,
1256
- with bridge/LLM secrets commented for manual entry. It is a small tool, but it makes
1257
- touring-machine setup repeatable instead of tribal knowledge.*
1258
-
1259
- > *"Set up a two-projector rehearsal for the AI-Controlled Party — one wall for the
1260
- > main visual, one for the lyrics — and synchronise them on the same cue list."*
1261
-
1262
- <video :src="withBase('/examples/ai-party-two-projector-rehearsal.mp4')" autoplay loop muted playsinline style="width:100%;max-width:480px;border-radius:8px;display:block"></video>
1263
-
1264
- *`create_multi_output` wires two `outTOP`s to two physical displays via
1265
- `setup_output`, sharing a single `compose_cue_list` clock so the lyric overlay
1266
- flips in lockstep with scene changes. Mirrors the two-wall ensaio rig the
1267
- AI-Controlled Party uses for offline rehearsals.*
1268
-
1269
- > *"Build an interactive projection mapping rig for a webcam and projector:
1270
- > motion wakes up cyan particles, magenta cards drift around the wall, and I can
1271
- > switch between final, camera, motion, blob and calibration views."*
1272
-
1273
- <video :src="withBase('/examples/interactive-projection-motion-dots.mp4')" autoplay loop muted playsinline style="width:100%;max-width:480px;border-radius:8px;display:block"></video>
1274
-
1275
- *`create_interactive_projection_mapping` builds the rehearsal rig around a
1276
- camera/synthetic/existing TOP source, frame-difference motion field, blob-mask
1277
- branch, corner-pin projection output and a debug switch. Sensitivity, TrailDecay,
1278
- BlobThreshold and ProjectionBrightness stay exposed for calibration in the room.*
1279
-
1280
- > *"Send my final TOP out as NDI named stage_program, keep it inactive until I
1281
- > approve, and also make a Syphon/Spout sender for the local capture machine."*
1282
-
1283
- <video :src="withBase('/examples/external-io-ndi-syphon-return.mp4')" autoplay loop muted playsinline style="width:100%;max-width:480px;border-radius:8px;display:block"></video>
1284
-
1285
- *`create_external_io` now includes `ndi_out` and `syphon_spout_out` beside OSC,
1286
- MIDI, DMX, Art-Net and streaming modes. It connects the TOP source, sets the
1287
- sender/source names and leaves Active off unless the prompt explicitly asks to
1288
- start sending.*
1289
-
1290
- > *"Build a three-projector facade mapping skeleton with horizontal edge blends,
1291
- > per-projector brightness, a preview canvas, and smoothstep blend curves."*
1292
-
1293
- <video :src="withBase('/examples/facade-mapping-edge-blend.mp4')" autoplay loop muted playsinline style="width:100%;max-width:480px;border-radius:8px;display:block"></video>
1294
-
1295
- *`create_facade_mapping` fans a source TOP into 1-8 projector branches, crops each
1296
- slice with overlap, applies blend ramps / corner-pin branches, creates
1297
- per-projector Null outputs and exposes brightness plus blend-width/curve controls.
1298
- It is the setup skeleton before the real projector alignment pass.*
1299
-
1300
- > *"Prepare hardware-free fulldome tests for this generated glitch feed: make a
1301
- > fisheye dome master with horizon Rotation and FOV controls, then build a true
1302
- > cube-map test scene so I can compare the higher-fidelity path."*
1303
-
1304
- <video :src="withBase('/examples/dome-output-glitch.mp4')" autoplay loop muted playsinline style="width:100%;max-width:480px;border-radius:8px;display:block"></video>
1305
-
1306
- <video :src="withBase('/examples/cubemap-dome-master.mp4')" autoplay loop muted playsinline style="width:100%;max-width:480px;border-radius:8px;display:block"></video>
1307
-
1308
- *Use `create_dome_output` for a 2D equirectangular/panoramic source and
1309
- `create_cubemap_dome` when you have, or want to generate, a real cube-map source.
1310
- Both produce a square dome master, but final geometry, FOV and seam behavior must
1311
- be tuned against the actual dome or simulator, so the useful output is the mapped
1312
- TOP path plus controls, not a generic planetarium illustration.*
1313
-
1314
- **What you'll get:** stage-prep tools for displays, GPU capability, DMX / Art-Net,
1315
- shared-memory IPC and multi-agent fanout. These are infrastructure surfaces, so the
1316
- useful output is usually a verified routing report rather than a pretty preview.
1317
-
1318
- ## Fixing & understanding
1319
-
1320
- > *"Something looks broken — check the network for errors and fix them."*
1321
-
1322
- > *"The output is black — look at it and tell me why."* (combines the preview,
1323
- > topology and node errors to diagnose)
1324
-
1325
- > *"Take an inline preview of `/project1/out1`: give me a 256 px thumbnail, cook
1326
- > metadata, changed parameters and any parent errors in one structured answer."*
1327
-
1328
- <video :src="withBase('/examples/inline-preview-snapshot.mp4')" autoplay loop muted playsinline style="width:100%;max-width:480px;border-radius:8px;display:block"></video>
1329
-
1330
- *`get_inline_preview` is the compact inspection pass for agents: one call returns
1331
- a bounded thumbnail, resolution / pixel-format / cook stats, changed parameters
1332
- and a parent error sweep without juggling separate preview and error tools.*
1333
-
1334
- > *"Explain what this network is doing, step by step."*
1335
-
1336
- > *"Read parameter modes for every important node under `/project1/hero` in one
1337
- > batch, then tell me which parameters are expressions, binds or exported channels."*
1338
-
1339
-
1340
- *The `POST /api/param_modes/batch` bridge path lets agents inspect expression,
1341
- bind, export and constant modes for many nodes in one round-trip. It replaces the
1342
- old N-way exec loop when you need to understand why a rig is reacting, stuck or
1343
- overridden.*
1344
-
1345
- > *"This is running slow — find the bottleneck and optimize it."*
1346
-
1347
- > *"Score this build on palette, motion, complexity, errors and performance, then
1348
- > suggest the smallest changes that would improve it."*
1349
-
1350
-
1351
- *`score_build` is read-only and returns a 0–100 rubric with deterministic
1352
- suggestions. `enhance_build` can preview or apply a small allowlisted improvement
1353
- loop, then rescore so you can see whether the intervention helped.*
1354
-
1355
- > *"Extract the five dominant colors from `/project1/look/out1` and use them as
1356
- > swatches for the next palette and grade."*
1357
-
1358
- <video :src="withBase('/examples/palette-extraction-swatches.mp4')" autoplay loop muted playsinline style="width:100%;max-width:480px;border-radius:8px;display:block"></video>
1359
-
1360
- *`extract_palette` captures a TOP preview and runs deterministic k-means on the
1361
- pixels. It is read-only, so it is safe to use for critique loops, palette hand-offs
1362
- and "make the next look match this one" prompts.*
1363
-
1364
- > *"Ask the vision copilot what dominates this TOP, whether the subject is readable
1365
- > from the back of the room, and which one change would improve it."*
1366
-
1367
-
1368
- *`copilot_vision` sends a rendered TOP plus your question to the configured
1369
- multimodal LLM. It complements deterministic tools like `caption_top` and
1370
- `score_build` when you want an art-direction answer, not only measurements.*
1371
-
1372
- > *"I know I want `create_audio_reactive`, but I only said 'microphone neon bars' —
1373
- > infer the missing required arguments from the schema and show me the proposed call."*
1374
-
1375
-
1376
- *`elicit_missing_args` uses the registered tool schema plus chat context to propose
1377
- only the missing fields. It is read-only and useful for agents that should ask fewer
1378
- manual follow-up questions without inventing unsupported parameters.*
1379
-
1380
- > *"Profile cook cost for 60 frames and rank the nodes most likely to cause a frame
1381
- > drop."*
1382
-
1383
- > *"Audit this project — what's unused, what file paths are broken, which COMPs are
1384
- > orphaned?"*
1385
-
1386
- > *"Tidy up the layout so I can read it."*
1387
-
1388
- > *"Swap this `noiseTOP` into a `rampTOP`, keep the name and wires, preserve any
1389
- > matching parameters, and report what could not be carried across."*
1390
-
1391
-
1392
- *`swap_operator` is the careful version of "replace this node": it snapshots wires
1393
- and parameters, recreates the operator type in place, reconnects what it can and
1394
- returns dropped parameters/failures explicitly.*
1395
-
1396
- > *"Box up the audio chain with an annotation and label it, then list what's inside."*
1397
-
1398
- > *"Try to repair this broken render chain — but if the error count goes up, roll
1399
- > back every change you made."*
1400
-
1401
-
1402
- *`repair_network` now snapshots `(par.path, par.mode)` and `(op.path, op.bypass,
1403
- op.display)` before each step. If `errors_after >= errors_before` and it isn't a
1404
- dry run, every applied step is reversed and the report carries a `rolled_back:
1405
- true` flag — a self-undoing repair pass, the safety net every artist wanted from
1406
- "AI, fix it".*
1407
-
1408
- > *"Run an auto-repair loop on `/project1` — three passes max, stop if errors
1409
- > stop going down, and roll back any pass that makes things worse."*
1410
-
1411
-
1412
- *`auto_repair_loop` is the "fix everything" verb: it drives `repair_network` in
1413
- iterations, scores `errors_before`/`errors_after` per pass, halts on a no-progress
1414
- plateau, and inherits the same rollback safety. One call instead of a manual
1415
- repair/check/repeat loop.*
1416
-
1417
- > *"Before touching this show patch, sample `/project1/out1` on an 8x8 grid and
1418
- > tell me if it is alive, roughly what colors are present, and whether a full
1419
- > screenshot is worth taking."*
1420
-
1421
- *`get_preview` with `sample_grid` returns an RGBA sample grid plus per-channel
1422
- min/max/mean stats as JSON instead of encoding an image. Use it as the cheap
1423
- "is this TOP alive?" check before spending context on a full preview or critique.*
1424
-
1425
- <video :src="withBase('/examples/cookbook-ops-sample-grid-source.mp4')" autoplay loop muted playsinline style="width:100%;max-width:480px;border-radius:8px;display:block"></video>
1426
-
1427
- *Captured from the live
1428
- `/project1/cookbook_ops_demo/sample_grid_halftone_source/out1` TOP that was
1429
- sampled with `sample_grid:8`. The clip shows the TouchDesigner output being
1430
- sampled; the actual tool response is the RGBA grid and stats JSON.*
1431
-
1432
- > *"Pulse the reset on `/project1/trails/feedback1`, wait 12 frames, then collect
1433
- > the preview so I can see the burst after the feedback loop catches up."*
1434
-
1435
- *`get_preview` now accepts `pre_pulses` and `delay_frames`: pulse one or more
1436
- parameters in the same frame, defer the capture, then collect it later by `job_id`.
1437
- This is for transient looks that are invisible if you snapshot one frame too early.*
1438
-
1439
- <video :src="withBase('/examples/cookbook-ops-preview-burst.mp4')" autoplay loop muted playsinline style="width:100%;max-width:480px;border-radius:8px;display:block"></video>
1440
-
1441
- *Captured from the live `/project1/cookbook_ops_demo/preview_burst/out1` TOP after
1442
- pulsing `/project1/cookbook_ops_demo/preview_burst/feedback1` `reset` and delaying
1443
- 12 frames through tdmcp. This clip is the TouchDesigner result, not an illustrative
1444
- prompt mockup.*
1445
-
1446
- > *"Before setting the input device on `/project1/live_in/moviefilein1`, read its
1447
- > menu values and show me the exact machine names I can set without TouchDesigner
1448
- > silently choosing the first item."*
1449
-
1450
- *`get_parameter_menu` live-fetches `menuNames`, `menuLabels` and the current menu
1451
- value from the running TouchDesigner build. Ask for it before setting Menu /
1452
- StrMenu parameters; if raw exec is disabled, the fallback is clearly marked as a
1453
- stale bundled catalog.*
1454
-
1455
- > *"Read rows 500-560 of `/project1/show/state_table`, include the header and the
1456
- > first five rows, and tell me whether any cue state looks wrong."*
1457
-
1458
- *`get_dat_content` reads Text and Table DATs in pages: `offset`, `limit`,
1459
- `include_header` and `preview_rows` keep a huge cue table from flooding the model.
1460
- The result includes row counts, truncation state and the exact row window read.*
1461
-
1462
- > *"After you build the hero look, focus the Network Editor on the new output,
1463
- > control panel and final composite so I can inspect the exact nodes without
1464
- > hunting."*
1465
-
1466
- *`focus_network_editor` is a UI-only follow move: it pans/zooms TouchDesigner's
1467
- Network Editor to frame the selected operators and changes nothing in the graph.
1468
- It is the handoff step after a generated build, not a visual effect.*
1469
-
1470
- > *"Tidy `/project1/hero` recursively, but keep every shader DAT docked next to
1471
- > the node it belongs to."*
1472
-
1473
- *`arrange_network` keeps the left-to-right data-flow cleanup, and `include_docked`
1474
- now moves docked GLSL / callback DATs by the same delta as their owner node. Use it
1475
- when generated networks are readable only if their helper DATs travel with them.*
1476
-
1477
- > *"Disable `/project1/hero/old_grade` for rehearsal, but do not delete it — I want
1478
- > to re-enable it if the director misses that look."*
1479
-
1480
- *`delete_td_node` with `mode:"bypass"` flips the operator bypass flag instead of
1481
- destroying the node. It is the reversible middle ground between leaving a broken
1482
- operator in the chain and permanently deleting show work.*
1483
-
1484
- > *"Rebuild this small post chain from the saved spec with auto-layout on, so
1485
- > reruns do not leave nodes stacked and the wires read left-to-right."*
1486
-
1487
- *`rebuild_network` with `auto_layout:true` computes positions from the spec's input
1488
- graph and overrides stale manual coordinates before creating the nodes. It is useful
1489
- for recipe/spec round-trips where a correct network still needs a readable TD
1490
- layout.*
1491
-
1492
- > *"Pull the dominant colours out of my hero clip and use them to seed a matching
1493
- > colour grade for the rest of the show."*
1494
-
1495
- <video :src="withBase('/examples/palette-extract-and-grade.mp4')" autoplay loop muted playsinline style="width:100%;max-width:480px;border-radius:8px;display:block"></video>
1496
-
1497
- *`extract_palette` samples the TOP's preview via `get_preview` and runs
1498
- deterministic k-means on the decoded RGB pixels, returning weighted hex swatches
1499
- that feed directly into `create_color_grade` lift / gamma / gain targets. The AI
1500
- brings the rest of the show into the same palette as your hero clip — no eyedropper.*
1501
-
1502
- ## Reusable looks & show handoff
1503
-
1504
- Use these when a look is working and you want to perform it again, teach it, take
1505
- it to another room or turn it into a physical output.
1506
-
1507
- > *"Make this hero look tour-ready: expose Speed, Palette, Glow and Reset controls,
1508
- > add clear labels, save it as a portable `.tox`, and include a preview image so I
1509
- > can recognize it before I open TouchDesigner."*
1510
-
1511
-
1512
- *The packaging tools are useful when they serve the artist: a portable `.tox`,
1513
- visible controls, simple notes and a thumbnail of the actual output. The result is a
1514
- visual instrument you can drop into a show, not a developer handoff exercise.*
1515
-
1516
- > *"Turn `/project1/hero_look` into a workshop starter: keep the visual network,
1517
- > capture the controls I should explain, and make it easy to apply in a blank
1518
- > project next week."*
1519
-
1520
-
1521
- *`scaffold_recipe_from_network` can turn a finished TD subtree into an apply-able
1522
- recipe. Framed for artists, the point is repeatable teaching and rehearsal: rebuild
1523
- the look from a clean project, then adjust the exposed controls in front of people.*
1524
-
1525
- > *"Make me a one-page map of this patch: final-output thumbnail, the three controls
1526
- > I should touch live, and a simple left-to-right diagram of how signal becomes
1527
- > image."*
1528
-
1529
-
1530
- *Generated patch notes are only useful here when they read like a studio map: what
1531
- the look is, which controls matter, what feeds the output and what the current
1532
- preview looks like.*
1533
-
1534
- > *"Save this look with three variants — slow ambient, high-energy chorus and
1535
- > blackout-safe — then tag the favorite so I can find it fast during the next
1536
- > rehearsal."*
1537
-
1538
-
1539
- *Vault tagging, variants and version notes help artists keep a live library sane:
1540
- the question becomes "which look do I trust for this cue?", not "which file did I
1541
- export last month?"*
1542
-
1543
- > *"Build a bass smoothing control chain named `bass_energy`, `bass_peak` and
1544
- > `bass_gate`, then show me where to bind brightness, blur and pulse on the
1545
- > current visual."*
1546
-
1547
- <video :src="withBase('/examples/audio-reactive-gate-duck.mp4')" autoplay loop muted playsinline style="width:100%;max-width:480px;border-radius:8px;display:block"></video>
1548
-
1549
- *Layer-2 chain builders are artist-facing when they produce clean modulation
1550
- sources with readable names. You get stable channels to perform with, while the
1551
- underlying CHOP details stay editable when you want to learn them.*
1552
-
1553
- > *"Export this generative line sculpture as SVG polylines for my AxiDraw, matching
1554
- > the preview scale and orientation so the plot feels like the screen version."*
1555
-
1556
- <video :src="withBase('/examples/sop-to-svg-plotter.mp4')" autoplay loop muted playsinline style="width:100%;max-width:480px;border-radius:8px;display:block"></video>
1557
-
1558
- *`export_sop_to_svg` reads SOP primitives and writes plotter-ready vectors. It is
1559
- the bridge from live generative motion to pen plotters, lasers and print.*
1560
-
1561
- ## Shader & material authoring
1562
-
1563
- > *"Create a GLSL material for this sphere: iridescent oil-slick bands, a soft rim
1564
- > light and a `uTime` uniform I can drive from the timeline."*
1565
-
1566
- <video :src="withBase('/examples/glsl-material-iridescent.mp4')" autoplay loop muted playsinline style="width:100%;max-width:480px;border-radius:8px;display:block"></video>
1567
-
1568
- *`create_glsl_material` scaffolds the GLSL MAT plus companion Text DATs, wires the
1569
- pixel/vertex shader sources, and warns about TouchDesigner GLSL footguns such as
1570
- missing `fragColor`, F1/F2 preamble collisions and undeclared `uTime`.*
1571
-
1572
- > *"Import this Shadertoy sketch, wire the iChannels with placeholders if needed,
1573
- > expose Speed and Mouse controls, and preview the translated GLSL TOP."*
1574
-
1575
- <video :src="withBase('/examples/import-shadertoy-nebula.mp4')" autoplay loop muted playsinline style="width:100%;max-width:480px;border-radius:8px;display:block"></video>
1576
-
1577
- *`import_shadertoy` maps `iTime`, `iResolution`, `iMouse` and `iChannelN` into
1578
- TouchDesigner-friendly uniforms / TOP inputs. Paste `raw_source` when you want the
1579
- whole import to stay offline.*
1580
-
1581
- > *"Import this ISF shader, generate a clean custom-parameter page from its INPUTS,
1582
- > and keep the GLSL editable in TouchDesigner."*
1583
-
1584
- <video :src="withBase('/examples/import-isf-plasma-controls.mp4')" autoplay loop muted playsinline style="width:100%;max-width:480px;border-radius:8px;display:block"></video>
1585
-
1586
- *`import_isf_shader` parses the ISF JSON header and turns float / color / bool /
1587
- event / long inputs into TouchDesigner controls, so shader-library sketches become
1588
- performable networks instead of pasted code blobs.*
1589
-
1590
- > *"Turn this GLSL TOP sketch into a material on the 3D logo, expose Color, Speed
1591
- > and Fresnel, then render a preview."*
1592
-
1593
- **What you'll get:** a shader-authoring pass that keeps the code editable in DATs
1594
- while making the important uniforms performable as TouchDesigner controls.
1595
-
1596
- ## Signature effects & looks
1597
-
1598
- > *"Fold my webcam into a slowly-rotating six-fold kaleidoscope, deep jewel tones,
1599
- > and show me a preview."*
1600
-
1601
- <video :src="withBase('/examples/kaleidoscope-webcam.mp4')" autoplay loop muted playsinline style="width:100%;max-width:480px;border-radius:8px;display:block"></video>
1602
-
1603
- *A live polar-fold GLSL mirror turns any source into a symmetric mandala; exposes
1604
- Segments and a rotation/Speed knob. Pointed at the webcam it makes the room bloom
1605
- into kaleidoscopic petals.*
1606
-
1607
- > *"Make my video look like a corrupted file that smears and melts on every hard
1608
- > cut — heavy datamosh."*
1609
-
1610
- <video :src="withBase('/examples/datamosh-pixel-melt.mp4')" autoplay loop muted playsinline style="width:100%;max-width:480px;border-radius:8px;display:block"></video>
1611
-
1612
- *A feedback-driven pixel-displacement smear that bleeds motion vectors across frames,
1613
- with Amount/Decay controls — the classic "broken codec" bloom-and-melt look on a
1614
- default test source (swap in your clip).*
1615
-
1616
- > *"Turn this into warm, amber-tinted halftone dots like a vintage newspaper print,
1617
- > and preview it."*
1618
-
1619
- <video :src="withBase('/examples/halftone-amber-print.mp4')" autoplay loop muted playsinline style="width:100%;max-width:480px;border-radius:8px;display:block"></video>
1620
-
1621
- *A GLSL halftone screen converts the image into a grid of ink dots whose size tracks
1622
- brightness; exposes Dot scale / Angle / tint. Amber tint plus paper-white background
1623
- gives a retro-print feel.*
1624
-
1625
- > *"Make this source look like a Game Boy fever dream: 4-color ordered dither,
1626
- > crunchy pixels, animated threshold and live Mix control."*
1627
-
1628
- <video :src="withBase('/examples/dither-gameboy-poster.mp4')" autoplay loop muted playsinline style="width:100%;max-width:480px;border-radius:8px;display:block"></video>
1629
-
1630
- *`create_dither` builds ordered Bayer / checker / noise / error-diffusion dither
1631
- with mono, duotone or RGB quantization. It is a look, not just a utility filter.*
1632
-
1633
- > *"Generate a stained-glass Voronoi field with animated seeds, thick dark lead
1634
- > lines and palette controls for Color A / Color B."*
1635
-
1636
- <video :src="withBase('/examples/jfa-voronoi-stained-glass.mp4')" autoplay loop muted playsinline style="width:100%;max-width:480px;border-radius:8px;display:block"></video>
1637
-
1638
- *`create_jfa_voronoi` uses a Jump-Flooding pass chain (seed init, halving passes,
1639
- color pass) to make animated mosaic / stained-glass cells with live seed and edge
1640
- controls.*
1641
-
1642
- > *"Warp this footage with a flowing liquid distortion that ripples like heat haze
1643
- > over the whole frame."*
1644
-
1645
- <video :src="withBase('/examples/displacement-warp-liquid.mp4')" autoplay loop muted playsinline style="width:100%;max-width:480px;border-radius:8px;display:block"></video>
1646
-
1647
- *Drives a Displace TOP from an animated noise field so the source ripples and flows,
1648
- with Amount/Speed controls — that premium "liquid morph" / heat-haze warp over any clip.*
1649
-
1650
- > *"Turn this live camera feed into flowing ink lines, like a music-video frame
1651
- > drawn with edge tangent flow and animated charcoal."*
1652
-
1653
- <video :src="withBase('/examples/flow-abstraction-ink-lines.mp4')" autoplay loop muted playsinline style="width:100%;max-width:480px;border-radius:8px;display:block"></video>
1654
-
1655
- *`create_flow_abstraction` builds the ETF / FDoG painterly path: coherent line flow
1656
- instead of simple Sobel edges, useful for comic, ink and etched-camera looks.*
1657
-
1658
- > *"Give this shot a Kuwahara oil-paint filter, then let me switch between oil,
1659
- > pencil and watercolor modes during the set."*
1660
-
1661
- <video :src="withBase('/examples/npr-kuwahara-paint.mp4')" autoplay loop muted playsinline style="width:100%;max-width:480px;border-radius:8px;display:block"></video>
1662
-
1663
- *`create_npr_filter` exposes the non-photoreal look as a controllable component;
1664
- `apply_post_processing` also understands `npr_oil`, `npr_pencil` and
1665
- `npr_watercolor` for quick one-off chains.*
1666
-
1667
- > *"Give this a moody teal-and-orange cinematic grade — crush the blacks a touch and
1668
- > lift the highlights."*
1669
-
1670
- <video :src="withBase('/examples/cinematic-color-grade.mp4')" autoplay loop muted playsinline style="width:100%;max-width:480px;border-radius:8px;display:block"></video>
1671
-
1672
- *A lift/gamma/gain + saturation/hue grade (with optional LUT) on any source, exposing
1673
- the wheels as knobs — the Hollywood teal/orange look as a finishing layer, the thing
1674
- people buy plugins for.*
1675
-
1676
- > *"Give this camera a proper three-wheel grade: cool shadows, warm highlights, a
1677
- > small black offset and live Lift/Gamma/Gain channel controls."*
1678
-
1679
- <video :src="withBase('/examples/color-wheels-lift-gamma-gain.mp4')" autoplay loop muted playsinline style="width:100%;max-width:480px;border-radius:8px;display:block"></video>
1680
-
1681
- *`create_color_wheels` builds the classic colorist surface: three tinted Level TOPs
1682
- for shadows/midtones/highlights, master black offset and saturation. Use it when
1683
- simple color-grade sliders are not expressive enough.*
1684
-
1685
- > *"Apply this .cube LUT to the camera feed, show me a before/after split, and fall
1686
- > back to GLSL if OCIO is not available."*
1687
-
1688
- <video :src="withBase('/examples/lut-film-grade.mp4')" autoplay loop muted playsinline style="width:100%;max-width:480px;border-radius:8px;display:block"></video>
1689
-
1690
- *`apply_lut` chooses the best available route: OCIO when present, image lookup for
1691
- preview LUTs, or a parsed `.cube` GLSL fallback when the machine is bare.*
1692
-
1693
- > *"When I move this slider, glitch-cut from the first clip to the second with a burst
1694
- > of digital noise."*
1695
-
1696
- <video :src="withBase('/examples/transition-glitch-cut.mp4')" autoplay loop muted playsinline style="width:100%;max-width:480px;border-radius:8px;display:block"></video>
1697
-
1698
- *An A→B transition over a single 0–1 Progress knob with selectable styles (dissolve /
1699
- luma_wipe / slide / zoom / glitch_cut) — drag the fader to wipe between two sources
1700
- mid-show.*
1701
-
1702
- > *"Render my camera as glowing phosphor ASCII, source-colored in the bright areas,
1703
- > with a Mix knob so I can fade back to the original."*
1704
-
1705
- <video :src="withBase('/examples/ascii-phosphor-camera.mp4')" autoplay loop muted playsinline style="width:100%;max-width:480px;border-radius:8px;display:block"></video>
1706
-
1707
- *`create_ascii_render` downsamples a source into cells, builds a Text TOP glyph
1708
- atlas and renders a GLSL character grid. Mono, source-color and two-color modes
1709
- cover terminal phosphor, posterized camera and duotone stage looks.*
1710
-
1711
- > *"Make a vertical slit-scan of the dancer: each row should be a different moment
1712
- > in time, 120 frames deep, flowing upward like time ribbons."*
1713
-
1714
-
1715
- *`create_slit_scan` records the source into a Cache TOP ring buffer and samples it
1716
- in GLSL so each row or column pulls from a different past frame. The Depth control
1717
- sets how much time is stretched across the output.*
1718
-
1719
- > *"Give this generated glitch feed a time echo: recursive ghost trails in echo
1720
- > mode for the verse, then a time-displace melt driven by a vertical ramp for the
1721
- > breakdown."*
1722
-
1723
- <video :src="withBase('/examples/time-echo-glitch.mp4')" autoplay loop muted playsinline style="width:100%;max-width:480px;border-radius:8px;display:block"></video>
1724
-
1725
- *`create_time_echo` is the broader time-effects container: `echo` for recursive
1726
- feedback trails, `slit_scan` for row/column time slices and `time_displace` for
1727
- per-pixel frame offsets driven by a ramp or noise TOP. Ask for fixed resolution and
1728
- warnings because cache/time-machine operator names vary across TD builds.*
1729
-
1730
- > *"Generate liquid chrome blobs on a black studio background, blue-tinted metal,
1731
- > slow movement, and a Speed control for the Y2K logo moment."*
1732
-
1733
- <video :src="withBase('/examples/chrome-blobs-y2k.mp4')" autoplay loop muted playsinline style="width:100%;max-width:480px;border-radius:8px;display:block"></video>
1734
-
1735
- *`create_chrome_blobs` turns animated noise into blurred, thresholded metaballs and
1736
- shades them with a GLSL fake environment-map chrome pass. Metal tints and
1737
- background presets make it useful as a logo bumper, not just a texture test.*
1738
-
1739
- > *"Create a Gray-Scott reaction-diffusion look with coral colors, maze-like
1740
- > spots, and live Feed/Kill/Diffusion controls for slow biological morphing."*
1741
-
1742
- <video :src="withBase('/examples/reaction-diffusion-coral-maze.mp4')" autoplay loop muted playsinline style="width:100%;max-width:480px;border-radius:8px;display:block"></video>
1743
-
1744
- *`create_reaction_diffusion` starts from the shipped Gray-Scott recipe, patches the
1745
- GLSL uniforms for Feed/Kill/Diffusion A/B, optionally applies a LUT ramp, and
1746
- exposes the chemical parameters as performance controls.*
1747
-
1748
- > *"Pixel-sort this live feed into vertical rain streaks: sort by luminance above
1749
- > the threshold, descending, 96 iterations, with Mix at 0.8."*
1750
-
1751
-
1752
- *`create_pixel_sort` uses an odd-even GLSL sorting loop with Feedback TOP, Switch
1753
- TOP and threshold mask. Axis, SortBy, Direction, Threshold, Iterations and Mix stay
1754
- live so the Asendorf smear can be tuned instead of pasted once.*
1755
-
1756
- ## Mixing & layering
1757
-
1758
- > *"Stack four layers with blend modes and opacity, each with mute and solo, so I can
1759
- > mix a look on the fly."*
1760
-
1761
- <video :src="withBase('/examples/layer-stack-mute-solo.mp4')" autoplay loop muted playsinline style="width:100%;max-width:480px;border-radius:8px;display:block"></video>
1762
-
1763
- *An N-layer compositor with per-layer blend mode + opacity + mute/solo and a generated
1764
- control strip — a Photoshop / After-Effects-style layer stack you can perform, a mixing
1765
- desk for visuals.*
1766
-
1767
- > *"Build me a four-deck rig with per-deck FX sends into a shared return bus and a
1768
- > hard-cut switch I can blend back in."*
1769
-
1770
- <video :src="withBase('/examples/nchan-decks-fx-bus.mp4')" autoplay loop muted playsinline style="width:100%;max-width:480px;border-radius:8px;display:block"></video>
1771
-
1772
- *`create_decks` in `decks[]` mode builds 2–8 deck rigs with per-deck gain,
1773
- per-deck FX-send branches into an additive bus/return, a running Cross TOP program
1774
- mix, and a Switch TOP hard-cut blended back into program through `cut_mix`. A
1775
- proper four-deck VJ console with sends, returns and a hard-cut on a slider.*
1776
-
1777
- ## Data-driven visuals
1778
-
1779
- Reactivity beyond sound — drive visuals from a live web feed, a spreadsheet or a table.
1780
-
1781
- > *"Pull the live BTC price from a web API and drive the visual's color and speed from
1782
- > how fast it's moving."*
1783
-
1784
- <video :src="withBase('/examples/live-data-btc-feed.mp4')" autoplay loop muted playsinline style="width:100%;max-width:480px;border-radius:8px;display:block"></video>
1785
-
1786
- *One tool pulls a live JSON/web feed into CHOP channels; a second maps those channels
1787
- onto a visual's parameters with per-mapping range remap — the data counterpart to audio
1788
- reactivity. Your visuals react to a live internet data feed (price, weather, anything).*
1789
-
1790
- > *"Prototype a WebSocket-driven visual dashboard from this event stream, but run it
1791
- > in dry-run / experimental mode first and report any bridge errors before wiring it
1792
- > into the show."*
1793
-
1794
- <video :src="withBase('/examples/data-source-http-ws-hotfix.mp4')" autoplay loop muted playsinline style="width:100%;max-width:480px;border-radius:8px;display:block"></video>
1795
-
1796
- *`create_data_source_http_ws` is the HTTP/WebSocket bridge for turning JSON selectors
1797
- into CHOP channels. The v0.7.0 public cut includes the HTTP-poll hotfix, so prompts
1798
- can ask for status, selectors, channel names and warnings as part of the build
1799
- report.*
1800
-
1801
- > *"Turn this spreadsheet of monthly sales into animated 3D bars that grow in, with
1802
- > value labels."*
1803
-
1804
- <video :src="withBase('/examples/table-3d-bars.mp4')" autoplay loop muted playsinline style="width:100%;max-width:480px;border-radius:8px;display:block"></video>
1805
-
1806
- *A data-driven visualization network (bars or graph from a table) with a Scale knob and
1807
- animated entrance — a real-time, performable infographic rather than a static chart.*
1808
-
1809
- > *"Clone this little card design once per row of my table, each labeled with that
1810
- > row's name."*
1811
-
1812
- <video :src="withBase('/examples/replicator-table-cards.mp4')" autoplay loop muted playsinline style="width:100%;max-width:480px;border-radius:8px;display:block"></video>
1813
-
1814
- *A Replicator COMP that clones a template COMP per Table-DAT row, parameterizing each
1815
- clone from its row — data-driven instancing of whole sub-networks, not just geometry,
1816
- the way motion designers fake "100 of these."*
1817
-
1818
- > *"Build an offline Ollama LLM chain inside TouchDesigner: prompt DAT in, response
1819
- > DAT out, Send button exposed, and JSON mode ready for cue notes."*
1820
-
1821
- <video :src="withBase('/examples/llm-chain-stage-notes.mp4')" autoplay loop muted playsinline style="width:100%;max-width:480px;border-radius:8px;display:block"></video>
1822
-
1823
- *`create_llm_chain` creates a stock webclientDAT-based LLM wrapper for Ollama,
1824
- OpenAI, Anthropic or a custom OpenAI-compatible endpoint. Prompt and Response DATs,
1825
- a status channel and provider/model/temperature/max-token controls stay inside TD,
1826
- while API keys are read from environment variables and never surfaced through Node.*
1827
-
1828
- ## Rehearsal checks & artist feedback
1829
-
1830
- Use these when you want tdmcp to test the work like an artist would: can I see it,
1831
- can I perform it, does it react, and is it safe to keep rehearsing?
1832
-
1833
- > *"Before rehearsal, open my main output, take a quick preview snapshot, and tell
1834
- > me if it is black, low-res, frozen or showing errors."*
1835
-
1836
-
1837
- *`get_inline_preview` turns "is it alive?" into one check: thumbnail, resolution,
1838
- pixel format, cook metadata and recent errors. The answer should be visual and
1839
- plain-language first.*
1840
-
1841
- > *"Watch the bass analyze CHOP for five seconds and tell me the real min/max so I
1842
- > can set the visual range before the DJ arrives."*
1843
-
1844
-
1845
- *`watch_node` is useful when it reads a signal the way a performer needs it: actual
1846
- range, spikes, quiet moments and whether the channel is stable enough to bind to a
1847
- look.*
1848
-
1849
- > *"Check the `club` venue profile without showing secrets: is TouchDesigner
1850
- > reachable, is the bridge on the expected port, and what should I fix before
1851
- > doors?"*
1852
-
1853
-
1854
- *Venue/profile checks belong in the cookbook only when they answer a show question:
1855
- which room am I set up for, is the live bridge reachable, and what concrete action
1856
- keeps rehearsal moving?*
1857
-
1858
- > *"Read the compact map of `/project1/hero` and explain the visible controls in
1859
- > plain language: what changes color, motion, intensity and reset?"*
1860
-
1861
-
1862
- *`compact_graph_digest` summarizes a network without drowning the artist in nodes:
1863
- counts, wires and key parameters become a short map of what the look can do.*
1864
-
1865
- > *"During soundcheck, listen for beat and onset events for ten seconds and tell me
1866
- > whether the cue stream is steady enough to drive cuts; do not trigger anything on
1867
- > stage."*
1868
-
1869
-
1870
- *Bridge event watching can stay read-only: use it to prove that tempo, beat or
1871
- gesture events are arriving before you map them to visible changes.*
1872
-
1873
- > *"Teach me enough TouchDesigner to safely tweak this patch: show the operator path
1874
- > I should open, the one parameter to try first, and a fallback if it breaks."*
1875
-
1876
-
1877
- *Learning resources and cheatsheets are artist-facing when they reduce fear in the
1878
- patch: one operator, one safe parameter, one way back.*
1879
-
1880
- > *"Look at the current output and critique it like a motion designer: palette,
1881
- > contrast, rhythm, legibility and one concrete next tweak."*
1882
-
1883
-
1884
- *The local copilot should close the loop from generated network to visible result:
1885
- describe what is on screen, name the weakest artistic choice, then propose a small
1886
- change the artist can approve.*
1887
-
1888
- ## Offline TD knowledge & recipe drafting
1889
-
1890
- Use these when you want the agent to read embedded TouchDesigner knowledge before it
1891
- creates nodes. The tools in this section are read-only and work without a live TD
1892
- bridge; any live cook or projector check stays **UNVERIFIED-pending-td** until you
1893
- run the draft against a connected TouchDesigner instance.
1894
-
1895
- > *"Before choosing the blur stage, search embedded TOP operators in
1896
- > TouchDesigner 2023 with parameter search turned on. Show me which operators
1897
- > expose edge, radius or feedback-related controls, and do not create nodes yet."*
1898
-
1899
- ```bash
1900
- tdmcp-agent operators \
1901
- --params '{"query":"edge radius feedback blur","category":"TOP","version":"2023","parameter_search":true,"limit":8}'
1902
- ```
1903
-
1904
- *Expanded `search_operators` can filter by category, TouchDesigner version and
1905
- parameter metadata before the agent mutates a project. Use it when the question is
1906
- "which operator actually exposes the control I need?", not just "what is this op
1907
- called?".*
1908
-
1909
- > *"I am migrating a 2022 feedback patch to 2024 and want a camera-safe trails
1910
- > chain. Plan the TD version migration first, then suggest a TOP chain and
1911
- > validate it before drafting a recipe."*
1912
-
1913
- ```bash
1914
- tdmcp-agent versions migration-plan \
1915
- --params '{"from_version":"2022","to_version":"2024","query":"TOP feedback camera trails"}'
1916
- tdmcp-agent operators suggest-chain \
1917
- --params '{"goal":"camera-safe feedback trails","family":"TOP","max_steps":5}'
1918
- tdmcp-agent operators validate-chain \
1919
- --params '{"chain":["Video Device In TOP","Feedback TOP","Transform TOP","Level TOP","Null TOP"],"family":"TOP"}'
1920
- tdmcp-agent recipes draft-chain \
1921
- --params '{"chain":["Video Device In TOP","Feedback TOP","Transform TOP","Level TOP","Null TOP"],"id":"camera_feedback_trails_draft","tags":["draft","feedback","migration"]}'
1922
- ```
1923
-
1924
- *This is a version-aware preflight: release notes and compatibility records shape
1925
- the chain suggestion, `validate_operator_chain` checks the operator adjacency, and
1926
- the recipe draft remains offline until a later `apply_recipe` + live TD cook pass.*
1927
-
1928
- > *"Open the embedded GLSL technique pack, inspect a reaction-diffusion technique
1929
- > with setup notes and code, then draft a schema-valid recipe from it in
1930
- > non-strict mode. Leave applying it for a live TD pass later."*
1931
-
1932
- ```bash
1933
- tdmcp-agent techniques get \
1934
- --params '{"category":"glsl","technique_id":"reaction_diffusion_gs","include_code":true,"include_setup":true}'
1935
- tdmcp-agent techniques draft-recipe \
1936
- --params '{"category":"glsl","technique_id":"reaction_diffusion_gs","id":"reaction_diffusion_gs_technique_draft","strict":false}'
1937
- ```
1938
-
1939
- *`get_technique_detail` and `draft_recipe_from_technique` turn embedded
1940
- TouchDesigner technique packs into `RecipeSchema` candidates without claiming that
1941
- the network has cooked. Preserve warnings and next-tool hints, then verify the
1942
- draft against TouchDesigner before it becomes a show recipe.*
1943
-
1944
- > *"Find the embedded tutorial for writing a GLSL TOP, try a conservative tutorial
1945
- > draft in non-strict triage mode, and show me why it is or is not safe before
1946
- > applying anything."*
1947
-
1948
- ```bash
1949
- tdmcp-agent tutorials get \
1950
- --params '{"name":"write_a_glsl_top","include_content":true}'
1951
- tdmcp-agent tutorials draft-recipe \
1952
- --params '{"name":"write_a_glsl_top","strict":false,"max_steps":5}'
1953
- ```
1954
-
1955
- *`get_tutorial` retrieves the structured tutorial text and code blocks; the
1956
- `draft_recipe_from_tutorial` tool validates the extracted chain with documented
1957
- connection checks. For the bundled `write_a_glsl_top` tutorial, this is expected
1958
- to stay non-draftable because the prose/TOC chain includes undocumented adjacent
1959
- links such as `GLSL TOP -> GLSL Multi TOP`; the report should include
1960
- `undocumented_connection`, omit `apply_recipe`, and leave the TD graph untouched.*
1961
-
1962
- > *"Before creating a feedback post chain, compare the operator docs for Blur TOP
1963
- > and Level TOP, validate `Noise TOP -> Blur TOP -> Level TOP -> Null TOP`, then
1964
- > draft a recipe from that chain without touching the project."*
1965
-
1966
- ```bash
1967
- tdmcp-agent operators compare-docs \
1968
- --params '{"operator_a":"Blur TOP","operator_b":"Level TOP"}'
1969
- tdmcp-agent operators validate-chain \
1970
- --params '{"chain":["Noise TOP","Blur TOP","Level TOP","Null TOP"],"family":"TOP"}'
1971
- tdmcp-agent recipes draft-chain \
1972
- --params '{"chain":["Noise TOP","Blur TOP","Level TOP","Null TOP"],"id":"feedback_post_draft","tags":["draft","feedback"]}'
1973
- ```
1974
-
1975
- *This is the safe "read, compare, validate, draft" loop: the agent can explain the
1976
- operator tradeoffs and hand you a schema-valid recipe draft while the actual
1977
- TouchDesigner graph remains unchanged.*
1978
-
1979
- > *"Search embedded tutorials for CHOP workflows, copy one tutorial id from the
1980
- > results, try `draft_recipe_from_tutorial` in non-strict mode, and if it is not
1981
- > draftable, explain why. Use any extracted operators as input to
1982
- > `validate_operator_chain`, and only draft a recipe when the cleaned chain has no
1983
- > errors. Treat `apply_recipe` as a later handoff, not part of this run."*
1984
-
1985
- ```bash
1986
- tdmcp-agent tutorials get \
1987
- --params '{"query":"CHOP","include_content":true,"limit":3}'
1988
- tdmcp-agent tutorials draft-recipe \
1989
- --params '{"name":"anatomy_of_a_chop","strict":false,"max_steps":5}'
1990
- ```
1991
-
1992
- *This is the useful failure mode: a tutorial can still teach the agent what to
1993
- inspect or validate even when it cannot become a safe recipe automatically.
1994
- `draft_recipe_from_tutorial` takes a tutorial id or exact display name, not a
1995
- free-text search query, so substitute the id you chose from the previous result.*
1996
-
1997
- ## Creative library (Creative RAG)
1998
-
1999
- The creative repertoire is an opt-in local index of open-licensed reference
2000
- artworks. The CLI is `tdmcp creative-rag <sync|index|search>`; both
2001
- `tdmcp://creative/cards/{id}` and `tdmcp://creative/search{?q,k,license,type,tags}`
2002
- are read-only MCP resources. RAG supplies source artworks, palettes, motion
2003
- language and tool affordances; the actual TouchDesigner build still happens through
2004
- normal tdmcp tools.
2005
-
2006
- > *"Use Creative RAG to find the CC0 Cleveland card `The Biglin Brothers Turning
2007
- > the Stake`. Use the painting itself as source material: stretch the waterline
2008
- > into horizontal motion trails, edge-detect the oars and bodies, and turn it into
2009
- > a rowing-motion visual with a cool stage grade."*
2010
-
2011
- <video :src="withBase('/examples/creative-rag-rowing-motion-remix.mp4')" autoplay loop muted playsinline style="width:100%;max-width:480px;border-radius:8px;display:block"></video>
2012
-
2013
- *A RAG artwork becomes input material, not a result row: the card's CC0 image is
2014
- remixed into a new kinetic trails piece using the painting's water, oar rhythm and
2015
- silhouette structure as the visual score.*
2016
-
2017
- > *"Search Creative RAG for the CC0 portrait card `Nathaniel Hurd`. Build a new
2018
- > live mask look from it: pull a warm palette from the portrait, pixelize the face
2019
- > into block cells, add edge outlines, and make a subtle double-exposure drift for
2020
- > a performance backdrop."*
2021
-
2022
- <video :src="withBase('/examples/creative-rag-portrait-mask-remix.mp4')" autoplay loop muted playsinline style="width:100%;max-width:480px;border-radius:8px;display:block"></video>
2023
-
2024
- *The retrieved portrait drives the look: color, lighting and face structure become
2025
- a new mask/mosaic system that could be recreated with `create_palette`,
2026
- `create_pixel_sort` and post-processing passes.*
2027
-
2028
- > *"Open the Creative RAG `Composition` card for Wassily Kandinsky. Use its
2029
- > hard-edged geometry, primary triad palette and `create_generative_art` /
2030
- > `create_color_grade` affordances to build a fresh geometric TD system, not a
2031
- > copy of the painting."*
2032
-
2033
- <video :src="withBase('/examples/creative-rag-kandinsky-remix.mp4')" autoplay loop muted playsinline style="width:100%;max-width:480px;border-radius:8px;display:block"></video>
2034
-
2035
- *The card hands over palette and visual language; the result is a new procedural
2036
- composition with animated grid, circles and color planes, keeping the original as
2037
- repertoire context rather than something the RAG executes directly.*
2038
-
2039
- ### Search and license filters
2040
-
2041
- The creative repertoire is an opt-in local index of open-licensed reference
2042
- artworks. The CLI is `tdmcp creative-rag <sync|index|search>`; both
2043
- `tdmcp://creative/cards/{id}` and `tdmcp://creative/search{?q,k,license,type,tags}`
2044
- are read-only MCP resources. The default license allowlist (`TDMCP_RAG_LICENSE_ALLOWLIST`,
2045
- default `CC0,PublicDomain`) only gates **binary downloads** at `sync` time —
2046
- `search` still surfaces every card in the index, so pass `--license` explicitly
2047
- when you need a hard guarantee on what you reuse.
2048
-
2049
- > *"Search the creative library for kinetic monochrome references — high motion,
2050
- > black and white, geometric. Restrict to CC0 + public domain so I can reuse
2051
- > anything that comes back."*
2052
-
2053
- ```bash
2054
- tdmcp creative-rag search "kinetic monochrome geometric" \
2055
- --license CC0,PublicDomain --k 5 --json
2056
- ```
2057
-
2058
- ```json
2059
- [
2060
- {
2061
- "id": "a1b2c3d4...",
2062
- "score": 0.78,
2063
- "title": "Composition with Black Lines",
2064
- "sourceUrl": "https://www.artic.edu/...",
2065
- "license": "PublicDomain",
2066
- "type": "artwork",
2067
- "tags": ["geometric", "monochrome", "motion-study"]
2068
- },
2069
- {
2070
- "id": "e5f6a7b8...",
2071
- "score": 0.74,
2072
- "title": "Rhythm of a Russian Dance",
2073
- "sourceUrl": "https://www.rijksmuseum.nl/...",
2074
- "license": "CC0",
2075
- "type": "artwork",
2076
- "tags": ["kinetic", "dance", "geometry"]
2077
- }
2078
- ]
2079
- ```
2080
-
2081
- *Use `--json` when you need ids for the next step. The human table is intentionally
2082
- shorter and prints score, title, type/license and source URL; the structured payload
2083
- adds `id`, `tags` and other card fields for agents or scripts.*
2084
-
2085
- > *"Show me only CC0-licensed architectural artworks from the creative
2086
- > library."*
2087
-
2088
- ```bash
2089
- tdmcp creative-rag search "architecture facade" \
2090
- --license CC0 --type artwork --tags architecture --k 5 --json
2091
- ```
2092
-
2093
- ```json
2094
- [
2095
- {
2096
- "id": "3f4d5e6a...",
2097
- "score": 0.81,
2098
- "title": "Facade Study, Rietveld Schroder House",
2099
- "sourceUrl": "https://www.rijksmuseum.nl/...",
2100
- "license": "CC0",
2101
- "type": "artwork",
2102
- "tags": ["architecture", "de-stijl", "geometric"]
2103
- },
2104
- {
2105
- "id": "c7d8e9f0...",
2106
- "score": 0.77,
2107
- "title": "Steel Frame, Construction Series",
2108
- "sourceUrl": "https://www.clevelandart.org/...",
2109
- "license": "CC0",
2110
- "type": "artwork",
2111
- "tags": ["architecture", "structure", "grid"]
2112
- }
2113
- ]
2114
- ```
2115
-
2116
- *`--license CC0` narrows beyond the default allowlist (drops PublicDomain) so
2117
- the result is strictly CC0. `--type` accepts the CLI enum
2118
- (`project|artist|artwork|technique|cue_reference`); use `--tags` (CSV) for finer
2119
- filters like `architecture`, `geometric`, `sculpture`. All filters stack.*
2120
-
2121
- > *"Open card `3f4d5e6a…` from the creative library and summarize the artist's
2122
- > intent so I can build a TD scene from it."*
2123
-
2124
- The MCP client fetches `tdmcp://creative/cards/3f4d5e6a…` (where `id =
2125
- sha256(sourceUrl)`) and gets back the full card as JSON:
2126
-
2127
- ```json
2128
- {
2129
- "id": "3f4d5e6a...",
2130
- "schemaVersion": 1,
2131
- "type": "artwork",
2132
- "title": "Facade Study, Rietveld Schroder House",
2133
- "sourceUrl": "https://www.rijksmuseum.nl/...",
2134
- "sourceName": "rijksmuseum",
2135
- "license": "CC0",
2136
- "body": "Frontal study of a De Stijl facade with rigid planes and window-grid rhythm.",
2137
- "tags": ["architecture", "de-stijl", "geometric", "primary-colors"],
2138
- "palette": ["#E63946", "#F1FAEE", "#1D3557", "#FFD166"],
2139
- "visualLanguage": "rigid orthogonal grid, flat planes",
2140
- "tdmcpAffordances": ["create_glsl_shader", "create_grid_layout"],
2141
- "contentHash": "sha256:..."
2142
- }
2143
- ```
2144
-
2145
- *The real card shape is flat: `body`, `palette` and `visualLanguage` are top-level
2146
- optional fields, `type` must be one of the Creative RAG enum values, and
2147
- `tdmcpAffordances` is a `string[]` of suggested tool names (see
2148
- `src/creativeRag/schema.ts`). Read the card, distill the artist's intent in prose,
2149
- then hand the affordances + palette to whichever Layer 1 tool fits — for example,
2150
- "use this palette and grid `visualLanguage` to build a kinetic monochrome GLSL
2151
- scene". The cookbook stops here; the actual build is whichever Layer 1 tool the
2152
- affordances point at.*
2153
-
2154
- ## Project library (Project RAG)
2155
-
2156
- The **project repertoire** is the developer-side cousin of Creative RAG: an
2157
- opt-in local index of open-licensed TouchDesigner *projects, components and
2158
- snippets* — `.toe`/`.tox` files and shader excerpts pulled from curated GitHub
2159
- sources — so the agent can ground an effect in **real working code** before
2160
- writing any new node. The CLI is `tdmcp project-rag <sync|index|search>`;
2161
- `tdmcp://project/cards/{id}`, `tdmcp://project/search{?q,k,license,type,operator,tags}`
2162
- and the new `tdmcp://project/sources` are read-only MCP resources. The
2163
- `project_rag_context` MCP prompt and the `project_rag_search` copilot tool
2164
- expose the same index to LLM clients — both are gated by
2165
- `TDMCP_RAG_ENABLED=1 && TDMCP_PROJECT_RAG_ENABLED=1`.
2166
-
2167
- ### When to use Project RAG vs Creative RAG
2168
-
2169
- Two RAGs, two questions. Creative RAG answers *"what should this look like?"*
2170
- — it surfaces artworks, palettes and visual language. Project RAG answers
2171
- *"how is this actually built in TD?"* — it surfaces working `.toe`/`.tox`
2172
- networks and operator wiring you can read or adapt. Mixing them is the point.
2173
-
2174
- > *"I want to build a hand-tracking feedback piece. First run the
2175
- > `project_rag_context` prompt with `query: 'hand tracking mediapipe feedback'`
2176
- > so I can see how real TD projects wire it; then pick the most permissive
2177
- > one and adapt the operator chain into a new network."*
2178
-
2179
- ```text
2180
- tdmcp://project/search?q=hand+tracking+mediapipe+feedback&k=5
2181
- →
2182
- 0.823 MediaPipe Hand Pose Demo [project] — MIT — tdmcp://project/cards/abc123…
2183
- 0.781 Real-time Hand Tracker [project] — CC-BY-4.0 — tdmcp://project/cards/def456…
2184
- 0.704 Feedback Optical Flow Hands [snippet] — Apache-2.0 — tdmcp://project/cards/789abc…
2185
- ```
2186
-
2187
- *The prompt returns titles, licenses and `tdmcp://project/cards/{id}` URIs —
2188
- not opaque embeddings. Inspect each card via `read_resource` to see the full
2189
- operator list and the path to the binary you can open in TD. Use Creative
2190
- RAG for **palette/mood**; use Project RAG for **the TD wiring that makes it
2191
- move**.*
2192
-
2193
- ### Finding real examples before coding an effect
2194
-
2195
- When the model wants to *generate* a new effect, the safest first step is
2196
- **search before synthesis** — find what already exists, in code, under a
2197
- license you can reuse.
2198
-
2199
- > *"I'm about to build an audio-reactive trails network. Before you create any
2200
- > ops, run `tdmcp project-rag search 'audio reactive trails feedback'
2201
- > --license CC0,MIT,Apache-2.0 --k 5` and quote the top three cards
2202
- > (title + license + URI). Open the most permissive one via
2203
- > `tdmcp://project/cards/{id}` and tell me which operators it uses. Then we
2204
- > decide whether to copy, adapt, or build fresh."*
2205
-
2206
- ```bash
2207
- tdmcp project-rag search "audio reactive trails feedback" \
2208
- --license CC0,MIT,Apache-2.0 --k 5
2209
- ```
2210
-
2211
- *The CLI mirrors `tdmcp creative-rag search` — same flag layout, same
2212
- license-gated reuse story. The difference is that the cards here point to
2213
- runnable TD networks instead of static artworks, and `--operator AudioSpectrumCHOP`
2214
- narrows further to cards that actually wire a given op. When sparse results
2215
- come back on the creative side, the CLI also prints a stderr tip suggesting
2216
- `tdmcp project-rag search "<q>"` as a cross-link, so the agent can pivot
2217
- between the two libraries without losing the query.*
2218
-
2219
- > *"Tonight I need a quick fog-organism look. List configured Project RAG
2220
- > sources first via `tdmcp://project/sources` — I want to know which are
2221
- > ready vs planned before searching, so I don't chase cards that aren't
2222
- > indexed yet."*
2223
-
2224
- ```json
2225
- [
2226
- { "name": "github-repo", "displayName": "GitHub seed repos", "status": "ready" },
2227
- { "name": "github-topic", "displayName": "GitHub topic scanner", "status": "ready" },
2228
- { "name": "matthewragan", "displayName": "Matthew Ragan", "status": "planned" }
2229
- ]
2230
- ```
2231
-
2232
- *`tdmcp://project/sources` is the honest map of what's indexed locally. A
2233
- `status: "planned"` source means the adapter exists but isn't wired into your
2234
- current sync — useful context when search results look thinner than you
2235
- expected. Pair it with the `project_rag_context` prompt to let the agent
2236
- reason about coverage before it commits to a build path.*
2237
-
2238
- ### Opting into the Interactive & Immersive HQ manual (non-commercial)
2239
-
2240
- A whole TouchDesigner manual is available as searchable `tutorial` cards — but
2241
- it ships **off by default** because its license is **CC-BY-NC-SA-4.0**
2242
- (non-commercial, share-alike, attribution required). Turn it on only for
2243
- personal/learning use:
2244
-
2245
- ```bash
2246
- export TDMCP_PROJECT_RAG_IIHQ=1
2247
- tdmcp project-rag sync --source iihq
2248
- tdmcp project-rag search "optimize a slow CHOP network" --type tutorial --k 3
2249
- ```
2250
-
2251
- > *"Enable the IIHQ tutorial source and find chapters that explain GLSL TOPs.
2252
- > Quote each card's license and remind me of the reuse terms before I copy
2253
- > anything into a commercial show."*
2254
-
2255
- *Every IIHQ card is hard-stamped `CC-BY-NC-SA · non-commercial` and carries
2256
- rights notes telling you to attribute **The Interactive & Immersive HQ**, keep
2257
- it non-commercial, and share alike. Only the manual's **text** is indexed — no
2258
- `.tox`/`.toe`/example binaries are ever downloaded (the license policy denies
2259
- CC-BY-NC-SA binaries outright). If you're building for a paid gig, treat these
2260
- cards as background reading, not as assets to ship.*
2261
-
2262
- ## Working from your own notes (Obsidian vault)
2263
-
2264
- If you keep an [Obsidian vault](/reference/tools#obsidian-vault) wired up:
2265
-
2266
- > *"Build tonight's set from my 'Friday' setlist note."*
2267
-
2268
- > *"Generate a visual from my 'deep ocean' moodboard."*
2269
-
2270
- > *"Save this look as a recipe in my vault, run auto-tagging, and log it to my show
2271
- > diary."*
2272
-
2273
- > *"Remember that my show style avoids flat rainbow gradients, prefers cold fog,
2274
- > amber edge lights and slow camera drift, then use that memory for the next look."*
2275
-
2276
- > *"Find previous work in my vault similar to 'submerged cathedral, blue haze,
2277
- > slow strobes' and use the closest one as a starting point."*
2278
-
2279
- > *"Lint my recipe library before the show and tell me which notes have missing
2280
- > assets, duplicate ids or unknown operators."*
2281
-
2282
- **What you'll get:** a local, git-friendly show library. `scaffold_vault` creates the
2283
- starter folders, including `Memory/style.md`; save tools can opt into deterministic
2284
- auto-tags; `recall_similar_work` searches your own past looks; and
2285
- `lint_recipe_library` catches bad notes before they reach the projector.