@hybridlabor-api/aos 4.3.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 (1052) hide show
  1. package/.claude/hooks/memb-inject.mjs +121 -0
  2. package/.claude/settings.json +10 -0
  3. package/README.de.md +0 -2
  4. package/README.md +0 -2
  5. package/README.pt.md +0 -2
  6. package/THIRD_PARTY_NOTICES.md +1 -1
  7. package/docs/skills_table.md +0 -2
  8. package/installer.js +17 -6
  9. package/package.json +16 -2
  10. package/skills/global_config/aos-project-init/SKILL.md +194 -0
  11. package/skills/global_config/aos-project-init/assets/AGENTS.template.md +56 -0
  12. package/skills/global_config/aos-project-init/scripts/aos-project-doctor.mjs +137 -0
  13. package/skills/global_config/aos-setup/SKILL.md +222 -0
  14. package/skills/global_config/aos-setup/scripts/aos-doctor.mjs +262 -0
  15. package/skills/global_config/ask-tim/SKILL.md +2 -2
  16. package/assets/Give_AI_Agents_Control_of_Creative_Software.mp4 +0 -0
  17. package/mcps/RhinoMCP/connector/icon-dark.png +0 -3
  18. package/mcps/RhinoMCP/connector/icon-light.png +0 -3
  19. package/mcps/RhinoMCP/connector/screenshots/casa-rhino.png +0 -3
  20. package/mcps/RhinoMCP/docs/assets/css/custom.css +0 -640
  21. package/mcps/RhinoMCP/docs/content/_index.md +0 -88
  22. package/mcps/RhinoMCP/docs/content/docs/_index.md +0 -35
  23. package/mcps/RhinoMCP/docs/content/docs/advanced/_index.md +0 -37
  24. package/mcps/RhinoMCP/docs/content/docs/advanced/bulk-file-processing.md +0 -70
  25. package/mcps/RhinoMCP/docs/content/docs/advanced/headless-render-farm.md +0 -60
  26. package/mcps/RhinoMCP/docs/content/docs/advanced/make-this-parametric.md +0 -56
  27. package/mcps/RhinoMCP/docs/content/docs/advanced/sketch-to-model.md +0 -58
  28. package/mcps/RhinoMCP/docs/content/docs/advanced/upgrade-gh1-to-gh2.md +0 -51
  29. package/mcps/RhinoMCP/docs/content/docs/developers/_index.md +0 -39
  30. package/mcps/RhinoMCP/docs/content/docs/developers/dev-troubleshooting.md +0 -15
  31. package/mcps/RhinoMCP/docs/content/docs/developers/plugin-prototyping.md +0 -56
  32. package/mcps/RhinoMCP/docs/content/docs/developers/upgrade-gh1-to-gh2.md +0 -98
  33. package/mcps/RhinoMCP/docs/content/docs/developers/upgrade-to-netcore.md +0 -53
  34. package/mcps/RhinoMCP/docs/content/docs/developers/windows-to-cross-platform.md +0 -58
  35. package/mcps/RhinoMCP/docs/content/docs/developers/wpf-to-eto.md +0 -64
  36. package/mcps/RhinoMCP/docs/content/docs/getting-started/_index.md +0 -45
  37. package/mcps/RhinoMCP/docs/content/docs/getting-started/cc-plugin.md +0 -116
  38. package/mcps/RhinoMCP/docs/content/docs/getting-started/connector.md +0 -65
  39. package/mcps/RhinoMCP/docs/content/docs/getting-started/copilot.md +0 -61
  40. package/mcps/RhinoMCP/docs/content/docs/getting-started/lm-studio.md +0 -62
  41. package/mcps/RhinoMCP/docs/content/docs/troubleshooting.md +0 -66
  42. package/mcps/RhinoMCP/docs/content/docs/try-it-out/_index.md +0 -39
  43. package/mcps/RhinoMCP/docs/content/docs/try-it-out/examples/_index.md +0 -25
  44. package/mcps/RhinoMCP/docs/content/docs/try-it-out/examples/build-grasshopper.md +0 -26
  45. package/mcps/RhinoMCP/docs/content/docs/try-it-out/examples/generate-variations.md +0 -25
  46. package/mcps/RhinoMCP/docs/content/docs/try-it-out/examples/inspect-and-report.md +0 -26
  47. package/mcps/RhinoMCP/docs/content/docs/try-it-out/examples/layers.md +0 -28
  48. package/mcps/RhinoMCP/docs/content/docs/try-it-out/examples/model-from-image.md +0 -27
  49. package/mcps/RhinoMCP/docs/content/docs/try-it-out/recipes.md +0 -178
  50. package/mcps/RhinoMCP/docs/data/icons.yaml +0 -3
  51. package/mcps/RhinoMCP/docs/go.mod +0 -5
  52. package/mcps/RhinoMCP/docs/go.sum +0 -4
  53. package/mcps/RhinoMCP/docs/hugo.yaml +0 -78
  54. package/mcps/RhinoMCP/docs/layouts/_partials/sidebar.html +0 -333
  55. package/mcps/RhinoMCP/docs/layouts/docs/list.html +0 -29
  56. package/mcps/RhinoMCP/docs/layouts/docs/single.html +0 -29
  57. package/mcps/RhinoMCP/docs/layouts/partials/custom/head-end.html +0 -3
  58. package/mcps/RhinoMCP/docs/layouts/shortcodes/download-asset.html +0 -21
  59. package/mcps/RhinoMCP/docs/layouts/shortcodes/github.html +0 -21
  60. package/mcps/RhinoMCP/docs/layouts/shortcodes/prompt.html +0 -23
  61. package/mcps/RhinoMCP/docs/layouts/shortcodes/yak.html +0 -21
  62. package/mcps/RhinoMCP/docs/static/developer/sel-arc.png +0 -3
  63. package/mcps/RhinoMCP/docs/static/developer/voxelizer-gh2-conversion.png +0 -3
  64. package/mcps/RhinoMCP/docs/static/examples/ai-kettle.png +0 -3
  65. package/mcps/RhinoMCP/docs/static/examples/casa_rhino_shapes.png +0 -3
  66. package/mcps/RhinoMCP/docs/static/examples/kettle.jpg +0 -0
  67. package/mcps/RhinoMCP/docs/static/examples/raygun-layers.png +0 -3
  68. package/mcps/RhinoMCP/docs/static/examples/raygun-thumbnail.png +0 -3
  69. package/mcps/RhinoMCP/docs/static/examples/twisty-tower-gh.png +0 -3
  70. package/mcps/RhinoMCP/docs/static/favicon.svg +0 -26
  71. package/mcps/RhinoMCP/docs/static/images/landing-dark.png +0 -3
  72. package/mcps/RhinoMCP/docs/static/images/landing.png +0 -3
  73. package/mcps/RhinoMCP/docs/static/images/logo-dark.svg +0 -26
  74. package/mcps/RhinoMCP/docs/static/images/logo.svg +0 -26
  75. package/mcps/RhinoMCP/docs/static/local-llm.png +0 -3
  76. package/mcps/RhinoMCP/rhino/plugin/icon.png +0 -3
  77. package/mcps/RhinoMCP/tests/Acp.Tests/Acp.Tests.csproj +0 -29
  78. package/mcps/RhinoMCP/tests/Acp.Tests/CoverageTests.cs +0 -52
  79. package/mcps/RhinoMCP/tests/Acp.Tests/Fakes.cs +0 -90
  80. package/mcps/RhinoMCP/tests/Acp.Tests/GlobalUsings.cs +0 -1
  81. package/mcps/RhinoMCP/tests/Acp.Tests/LoopbackTests.cs +0 -59
  82. package/mcps/RhinoMCP/tests/Acp.Tests/RobustnessTests.cs +0 -124
  83. package/mcps/RhinoMCP/tests/Acp.Tests/SerializationTests.cs +0 -94
  84. package/mcps/RhinoMCP/tests/Integration.Tests/AdoptedSlotTests.cs +0 -136
  85. package/mcps/RhinoMCP/tests/Integration.Tests/AutoSpawnNotificationTests.cs +0 -63
  86. package/mcps/RhinoMCP/tests/Integration.Tests/CloseSlotAgentTests.cs +0 -56
  87. package/mcps/RhinoMCP/tests/Integration.Tests/CloseSlotTests.cs +0 -37
  88. package/mcps/RhinoMCP/tests/Integration.Tests/DocLifecycleTests.cs +0 -42
  89. package/mcps/RhinoMCP/tests/Integration.Tests/GlobalUsings.cs +0 -3
  90. package/mcps/RhinoMCP/tests/Integration.Tests/GrasshopperStartTests.cs +0 -56
  91. package/mcps/RhinoMCP/tests/Integration.Tests/Harness/ReturnResult.cs +0 -28
  92. package/mcps/RhinoMCP/tests/Integration.Tests/Harness/RhinoMcpFixture.cs +0 -90
  93. package/mcps/RhinoMCP/tests/Integration.Tests/Harness/RhinoMcpRouter.cs +0 -111
  94. package/mcps/RhinoMCP/tests/Integration.Tests/Harness/RhinoRouterPaths.cs +0 -83
  95. package/mcps/RhinoMCP/tests/Integration.Tests/Harness/RouterFixture.cs +0 -50
  96. package/mcps/RhinoMCP/tests/Integration.Tests/Integration.Tests.csproj +0 -31
  97. package/mcps/RhinoMCP/tests/Integration.Tests/ListSlotsShapeTests.cs +0 -55
  98. package/mcps/RhinoMCP/tests/Integration.Tests/ListSlotsTests.cs +0 -19
  99. package/mcps/RhinoMCP/tests/Integration.Tests/MacSharedProcessTests.cs +0 -87
  100. package/mcps/RhinoMCP/tests/Integration.Tests/MultiRouterTests.cs +0 -74
  101. package/mcps/RhinoMCP/tests/Integration.Tests/PluginToolTests.cs +0 -115
  102. package/mcps/RhinoMCP/tests/Integration.Tests/README.md +0 -35
  103. package/mcps/RhinoMCP/tests/Integration.Tests/RhinoCrashHandlingTests.cs +0 -107
  104. package/mcps/RhinoMCP/tests/Integration.Tests/SlotReapingTests.cs +0 -84
  105. package/mcps/RhinoMCP/tests/Integration.Tests/SpawnErrorTests.cs +0 -52
  106. package/mcps/RhinoMCP/tests/Integration.Tests/SpawnSlotTests.cs +0 -66
  107. package/mcps/RhinoMCP/tests/Integration.Tests/ToolDispatchBySlotTests.cs +0 -53
  108. package/mcps/RhinoMCP/tests/Integration.Tests/WindowsProcessIsolationTests.cs +0 -62
  109. package/mcps/RhinoMCP/tests/Router.Tests/CodegenTests.cs +0 -125
  110. package/mcps/RhinoMCP/tests/Router.Tests/ReturnResultTests.cs +0 -90
  111. package/mcps/RhinoMCP/tests/Router.Tests/RhinoCrashReportFinderTests.cs +0 -207
  112. package/mcps/RhinoMCP/tests/Router.Tests/RhinoLocatorOverrideTests.cs +0 -61
  113. package/mcps/RhinoMCP/tests/Router.Tests/RhinoLocatorTests.cs +0 -38
  114. package/mcps/RhinoMCP/tests/Router.Tests/RhinoManagerResolutionTests.cs +0 -151
  115. package/mcps/RhinoMCP/tests/Router.Tests/Router.Tests.csproj +0 -31
  116. package/mcps/RhinoMCP/tests/Router.Tests/RouterConfigTests.cs +0 -92
  117. package/mcps/RhinoMCP/tests/Router.Tests/SlotStoreLaunchingAbsenceTests.cs +0 -70
  118. package/mcps/RhinoMCP/tests/Router.Tests/SlotStorePortReservationTests.cs +0 -92
  119. package/mcps/RhinoMCP/tests/Router.Tests/SpawnDiagnosticsTests.cs +0 -100
  120. package/mcps/RhinoMCP/tests/Router.Tests/SpawnSlotToolDiagnoseTests.cs +0 -66
  121. package/mcps/RhinoMCP/tests/Server.Tests/McpConfigEditTests.cs +0 -223
  122. package/mcps/RhinoMCP/tests/Server.Tests/ParameterBinderTests.cs +0 -208
  123. package/mcps/RhinoMCP/tests/Server.Tests/ProtocolTests.cs +0 -200
  124. package/mcps/RhinoMCP/tests/Server.Tests/ResourceRegistryTests.cs +0 -218
  125. package/mcps/RhinoMCP/tests/Server.Tests/ResultUnwrapperTests.cs +0 -53
  126. package/mcps/RhinoMCP/tests/Server.Tests/SchemaBuilderTests.cs +0 -166
  127. package/mcps/RhinoMCP/tests/Server.Tests/Server.Tests.csproj +0 -40
  128. package/mcps/RhinoMCP/tests/StreamJson.Tests/AcpMessageMapperTests.cs +0 -82
  129. package/mcps/RhinoMCP/tests/StreamJson.Tests/AgentPromptsTests.cs +0 -56
  130. package/mcps/RhinoMCP/tests/StreamJson.Tests/AgentRegistryOverlayTests.cs +0 -88
  131. package/mcps/RhinoMCP/tests/StreamJson.Tests/AgentRegistryResolutionTests.cs +0 -152
  132. package/mcps/RhinoMCP/tests/StreamJson.Tests/AgentRunnerTurnTests.cs +0 -149
  133. package/mcps/RhinoMCP/tests/StreamJson.Tests/ClaudeStreamJsonParserTests.cs +0 -118
  134. package/mcps/RhinoMCP/tests/StreamJson.Tests/CodexStreamJsonParserTests.cs +0 -100
  135. package/mcps/RhinoMCP/tests/StreamJson.Tests/ConversationStorePruneTests.cs +0 -94
  136. package/mcps/RhinoMCP/tests/StreamJson.Tests/ConversationStoreRoundTripTests.cs +0 -70
  137. package/mcps/RhinoMCP/tests/StreamJson.Tests/ConversationTests.cs +0 -153
  138. package/mcps/RhinoMCP/tests/StreamJson.Tests/ConversationUsageTests.cs +0 -56
  139. package/mcps/RhinoMCP/tests/StreamJson.Tests/GlobalUsings.cs +0 -12
  140. package/mcps/RhinoMCP/tests/StreamJson.Tests/Shims.cs +0 -93
  141. package/mcps/RhinoMCP/tests/StreamJson.Tests/StreamJson.Tests.csproj +0 -56
  142. package/mcps/RhinoMCP/tests/StreamJson.Tests/StreamJsonAgentLoopbackTests.cs +0 -75
  143. package/mcps/RhinoMCP/tests/StreamJson.Tests/StreamJsonParserEdgeCaseTests.cs +0 -128
  144. package/mcps/RhinoMCP/tests/StreamJson.Tests/TokenUsageTests.cs +0 -40
  145. package/mcps/RhinoMCP/tests/launcher/launcher.test.mjs +0 -461
  146. package/mcps/RhinoMCP/tests/launcher/package.json +0 -8
  147. package/mcps/ae-mcp/docs/demo.png +0 -0
  148. package/mcps/ae-mcp/docs/demo1.png +0 -0
  149. package/mcps/ae-mcp/docs/demo3.png +0 -0
  150. package/mcps/ae-mcp/docs/video.png +0 -0
  151. package/mcps/after-effects-mcp/assets/MCP Auto Bridge.png +0 -0
  152. package/mcps/bdb-remoteos-mcp/tests/__init__.py +0 -1
  153. package/mcps/bdb-remoteos-mcp/tests/mock_incus.py +0 -60
  154. package/mcps/bdb-remoteos-mcp/tests/test_mcp_server.py +0 -27
  155. package/mcps/bdb-remoteos-mcp/tests/test_security_redteam.py +0 -349
  156. package/mcps/bdb-remoteos-mcp/tests/test_webhook.py +0 -61
  157. package/mcps/blender-mcp/assets/addon-instructions.png +0 -0
  158. package/mcps/blender-mcp/assets/hammer-icon.png +0 -0
  159. package/mcps/blender-mcp-server/docs/architecture.md +0 -209
  160. package/mcps/blender-mcp-server/docs/images/demo_render.png +0 -0
  161. package/mcps/blender-mcp-server/docs/python-execute-design.md +0 -515
  162. package/mcps/blender-mcp-server/tests/__init__.py +0 -0
  163. package/mcps/blender-mcp-server/tests/test_addon.py +0 -953
  164. package/mcps/blender-mcp-server/tests/test_server.py +0 -364
  165. package/mcps/davinci-mcp-professional/docs/README.md +0 -67
  166. package/mcps/davinci-mcp-professional/docs/html/README_8md.html +0 -113
  167. package/mcps/davinci-mcp-professional/docs/html/____init_____8py.html +0 -126
  168. package/mcps/davinci-mcp-professional/docs/html/____init_____8py.js +0 -6
  169. package/mcps/davinci-mcp-professional/docs/html/____init_____8py_source.html +0 -125
  170. package/mcps/davinci-mcp-professional/docs/html/__version_8py.html +0 -130
  171. package/mcps/davinci-mcp-professional/docs/html/__version_8py.js +0 -9
  172. package/mcps/davinci-mcp-professional/docs/html/__version_8py_source.html +0 -130
  173. package/mcps/davinci-mcp-professional/docs/html/annotated.html +0 -123
  174. package/mcps/davinci-mcp-professional/docs/html/annotated_dup.js +0 -21
  175. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1resolve__client_1_1DaVinciResolveClient-members.html +0 -131
  176. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1resolve__client_1_1DaVinciResolveClient.html +0 -706
  177. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1resolve__client_1_1DaVinciResolveClient.js +0 -26
  178. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1resolve__client_1_1DaVinciResolveConnectionError.html +0 -143
  179. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1resolve__client_1_1DaVinciResolveConnectionError__coll__graph.map +0 -7
  180. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1resolve__client_1_1DaVinciResolveConnectionError__coll__graph.md5 +0 -1
  181. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1resolve__client_1_1DaVinciResolveConnectionError__coll__graph.png +0 -0
  182. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1resolve__client_1_1DaVinciResolveConnectionError__inherit__graph.map +0 -7
  183. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1resolve__client_1_1DaVinciResolveConnectionError__inherit__graph.md5 +0 -1
  184. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1resolve__client_1_1DaVinciResolveConnectionError__inherit__graph.png +0 -0
  185. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1resolve__client_1_1DaVinciResolveError.html +0 -143
  186. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1resolve__client_1_1DaVinciResolveError__coll__graph.map +0 -5
  187. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1resolve__client_1_1DaVinciResolveError__coll__graph.md5 +0 -1
  188. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1resolve__client_1_1DaVinciResolveError__coll__graph.png +0 -0
  189. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1resolve__client_1_1DaVinciResolveError__inherit__graph.map +0 -9
  190. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1resolve__client_1_1DaVinciResolveError__inherit__graph.md5 +0 -1
  191. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1resolve__client_1_1DaVinciResolveError__inherit__graph.png +0 -0
  192. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1resolve__client_1_1DaVinciResolveNotRunningError.html +0 -143
  193. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1resolve__client_1_1DaVinciResolveNotRunningError__coll__graph.map +0 -7
  194. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1resolve__client_1_1DaVinciResolveNotRunningError__coll__graph.md5 +0 -1
  195. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1resolve__client_1_1DaVinciResolveNotRunningError__coll__graph.png +0 -0
  196. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1resolve__client_1_1DaVinciResolveNotRunningError__inherit__graph.map +0 -7
  197. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1resolve__client_1_1DaVinciResolveNotRunningError__inherit__graph.md5 +0 -1
  198. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1resolve__client_1_1DaVinciResolveNotRunningError__inherit__graph.png +0 -0
  199. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1server_1_1DaVinciMCPServer-members.html +0 -115
  200. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1server_1_1DaVinciMCPServer.html +0 -325
  201. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1server_1_1DaVinciMCPServer.js +0 -10
  202. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciMediaPool-members.html +0 -110
  203. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciMediaPool.html +0 -188
  204. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciMediaPool.js +0 -5
  205. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciMediaPool__coll__graph.map +0 -5
  206. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciMediaPool__coll__graph.md5 +0 -1
  207. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciMediaPool__coll__graph.png +0 -0
  208. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciMediaPool__inherit__graph.map +0 -5
  209. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciMediaPool__inherit__graph.md5 +0 -1
  210. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciMediaPool__inherit__graph.png +0 -0
  211. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciProject-members.html +0 -113
  212. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciProject.html +0 -248
  213. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciProject.js +0 -8
  214. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciProjectManager-members.html +0 -113
  215. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciProjectManager.html +0 -252
  216. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciProjectManager.js +0 -8
  217. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciProjectManager__coll__graph.map +0 -5
  218. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciProjectManager__coll__graph.md5 +0 -1
  219. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciProjectManager__coll__graph.png +0 -0
  220. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciProjectManager__inherit__graph.map +0 -5
  221. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciProjectManager__inherit__graph.md5 +0 -1
  222. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciProjectManager__inherit__graph.png +0 -0
  223. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciProject__coll__graph.map +0 -5
  224. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciProject__coll__graph.md5 +0 -1
  225. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciProject__coll__graph.png +0 -0
  226. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciProject__inherit__graph.map +0 -5
  227. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciProject__inherit__graph.md5 +0 -1
  228. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciProject__inherit__graph.png +0 -0
  229. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciResolveApp-members.html +0 -115
  230. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciResolveApp.html +0 -288
  231. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciResolveApp.js +0 -10
  232. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciResolveApp__coll__graph.map +0 -5
  233. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciResolveApp__coll__graph.md5 +0 -1
  234. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciResolveApp__coll__graph.png +0 -0
  235. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciResolveApp__inherit__graph.map +0 -5
  236. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciResolveApp__inherit__graph.md5 +0 -1
  237. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciResolveApp__inherit__graph.png +0 -0
  238. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciTimeline-members.html +0 -110
  239. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciTimeline.html +0 -188
  240. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciTimeline.js +0 -5
  241. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciTimeline__coll__graph.map +0 -5
  242. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciTimeline__coll__graph.md5 +0 -1
  243. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciTimeline__coll__graph.png +0 -0
  244. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciTimeline__inherit__graph.map +0 -5
  245. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciTimeline__inherit__graph.md5 +0 -1
  246. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciTimeline__inherit__graph.png +0 -0
  247. package/mcps/davinci-mcp-professional/docs/html/classes.html +0 -111
  248. package/mcps/davinci-mcp-professional/docs/html/cli_8py.html +0 -135
  249. package/mcps/davinci-mcp-professional/docs/html/cli_8py.js +0 -11
  250. package/mcps/davinci-mcp-professional/docs/html/cli_8py_source.html +0 -249
  251. package/mcps/davinci-mcp-professional/docs/html/clipboard.js +0 -61
  252. package/mcps/davinci-mcp-professional/docs/html/cookie.js +0 -58
  253. package/mcps/davinci-mcp-professional/docs/html/dir_1a1069c9a5427270b3ccd00c87d405fe.html +0 -127
  254. package/mcps/davinci-mcp-professional/docs/html/dir_1a1069c9a5427270b3ccd00c87d405fe.js +0 -4
  255. package/mcps/davinci-mcp-professional/docs/html/dir_1a1069c9a5427270b3ccd00c87d405fe_dep.map +0 -4
  256. package/mcps/davinci-mcp-professional/docs/html/dir_1a1069c9a5427270b3ccd00c87d405fe_dep.md5 +0 -1
  257. package/mcps/davinci-mcp-professional/docs/html/dir_1a1069c9a5427270b3ccd00c87d405fe_dep.png +0 -0
  258. package/mcps/davinci-mcp-professional/docs/html/dir_6a5346f4427b2e9426ba2ccfd9f0b603.html +0 -128
  259. package/mcps/davinci-mcp-professional/docs/html/dir_6a5346f4427b2e9426ba2ccfd9f0b603.js +0 -5
  260. package/mcps/davinci-mcp-professional/docs/html/dir_6a5346f4427b2e9426ba2ccfd9f0b603_dep.map +0 -4
  261. package/mcps/davinci-mcp-professional/docs/html/dir_6a5346f4427b2e9426ba2ccfd9f0b603_dep.md5 +0 -1
  262. package/mcps/davinci-mcp-professional/docs/html/dir_6a5346f4427b2e9426ba2ccfd9f0b603_dep.png +0 -0
  263. package/mcps/davinci-mcp-professional/docs/html/dir_77c8a4d399bde190a30252eceec792ef.html +0 -127
  264. package/mcps/davinci-mcp-professional/docs/html/dir_77c8a4d399bde190a30252eceec792ef.js +0 -4
  265. package/mcps/davinci-mcp-professional/docs/html/dir_77c8a4d399bde190a30252eceec792ef_dep.map +0 -4
  266. package/mcps/davinci-mcp-professional/docs/html/dir_77c8a4d399bde190a30252eceec792ef_dep.md5 +0 -1
  267. package/mcps/davinci-mcp-professional/docs/html/dir_77c8a4d399bde190a30252eceec792ef_dep.png +0 -0
  268. package/mcps/davinci-mcp-professional/docs/html/dir_f94b29b73815c35a8351f4403bcc4f74.html +0 -129
  269. package/mcps/davinci-mcp-professional/docs/html/dir_f94b29b73815c35a8351f4403bcc4f74.js +0 -12
  270. package/mcps/davinci-mcp-professional/docs/html/doxygen.css +0 -2540
  271. package/mcps/davinci-mcp-professional/docs/html/doxygen.svg +0 -28
  272. package/mcps/davinci-mcp-professional/docs/html/doxygen_crawl.html +0 -170
  273. package/mcps/davinci-mcp-professional/docs/html/dynsections.js +0 -198
  274. package/mcps/davinci-mcp-professional/docs/html/files.html +0 -123
  275. package/mcps/davinci-mcp-professional/docs/html/files_dup.js +0 -4
  276. package/mcps/davinci-mcp-professional/docs/html/functions.html +0 -190
  277. package/mcps/davinci-mcp-professional/docs/html/functions_func.html +0 -184
  278. package/mcps/davinci-mcp-professional/docs/html/functions_vars.html +0 -110
  279. package/mcps/davinci-mcp-professional/docs/html/graph_legend.html +0 -165
  280. package/mcps/davinci-mcp-professional/docs/html/graph_legend.md5 +0 -1
  281. package/mcps/davinci-mcp-professional/docs/html/graph_legend.png +0 -0
  282. package/mcps/davinci-mcp-professional/docs/html/hierarchy.html +0 -123
  283. package/mcps/davinci-mcp-professional/docs/html/hierarchy.js +0 -18
  284. package/mcps/davinci-mcp-professional/docs/html/index.html +0 -200
  285. package/mcps/davinci-mcp-professional/docs/html/index.js +0 -9
  286. package/mcps/davinci-mcp-professional/docs/html/inherit_graph_0.map +0 -3
  287. package/mcps/davinci-mcp-professional/docs/html/inherit_graph_0.md5 +0 -1
  288. package/mcps/davinci-mcp-professional/docs/html/inherit_graph_0.png +0 -0
  289. package/mcps/davinci-mcp-professional/docs/html/inherit_graph_1.map +0 -3
  290. package/mcps/davinci-mcp-professional/docs/html/inherit_graph_1.md5 +0 -1
  291. package/mcps/davinci-mcp-professional/docs/html/inherit_graph_1.png +0 -0
  292. package/mcps/davinci-mcp-professional/docs/html/inherit_graph_2.map +0 -9
  293. package/mcps/davinci-mcp-professional/docs/html/inherit_graph_2.md5 +0 -1
  294. package/mcps/davinci-mcp-professional/docs/html/inherit_graph_2.png +0 -0
  295. package/mcps/davinci-mcp-professional/docs/html/inherit_graph_3.map +0 -13
  296. package/mcps/davinci-mcp-professional/docs/html/inherit_graph_3.md5 +0 -1
  297. package/mcps/davinci-mcp-professional/docs/html/inherit_graph_3.png +0 -0
  298. package/mcps/davinci-mcp-professional/docs/html/inherits.html +0 -145
  299. package/mcps/davinci-mcp-professional/docs/html/jquery.js +0 -204
  300. package/mcps/davinci-mcp-professional/docs/html/menu.js +0 -131
  301. package/mcps/davinci-mcp-professional/docs/html/menudata.js +0 -73
  302. package/mcps/davinci-mcp-professional/docs/html/namespacedavinci__mcp.html +0 -209
  303. package/mcps/davinci-mcp-professional/docs/html/namespacedavinci__mcp.js +0 -34
  304. package/mcps/davinci-mcp-professional/docs/html/namespacedavinci__mcp_1_1__version.html +0 -260
  305. package/mcps/davinci-mcp-professional/docs/html/namespacedavinci__mcp_1_1cli.html +0 -303
  306. package/mcps/davinci-mcp-professional/docs/html/namespacedavinci__mcp_1_1resolve__client.html +0 -147
  307. package/mcps/davinci-mcp-professional/docs/html/namespacedavinci__mcp_1_1resolve__client.js +0 -8
  308. package/mcps/davinci-mcp-professional/docs/html/namespacedavinci__mcp_1_1resources.html +0 -140
  309. package/mcps/davinci-mcp-professional/docs/html/namespacedavinci__mcp_1_1server.html +0 -144
  310. package/mcps/davinci-mcp-professional/docs/html/namespacedavinci__mcp_1_1server.js +0 -5
  311. package/mcps/davinci-mcp-professional/docs/html/namespacedavinci__mcp_1_1tools.html +0 -140
  312. package/mcps/davinci-mcp-professional/docs/html/namespacedavinci__mcp_1_1types.html +0 -216
  313. package/mcps/davinci-mcp-professional/docs/html/namespacedavinci__mcp_1_1types.js +0 -13
  314. package/mcps/davinci-mcp-professional/docs/html/namespacedavinci__mcp_1_1utils.html +0 -155
  315. package/mcps/davinci-mcp-professional/docs/html/namespacedavinci__mcp_1_1utils.js +0 -11
  316. package/mcps/davinci-mcp-professional/docs/html/namespacedavinci__mcp_1_1utils_1_1platform.html +0 -232
  317. package/mcps/davinci-mcp-professional/docs/html/namespacemembers.html +0 -173
  318. package/mcps/davinci-mcp-professional/docs/html/namespacemembers_func.html +0 -114
  319. package/mcps/davinci-mcp-professional/docs/html/namespacemembers_vars.html +0 -121
  320. package/mcps/davinci-mcp-professional/docs/html/namespaces.html +0 -119
  321. package/mcps/davinci-mcp-professional/docs/html/namespaces_dup.js +0 -4
  322. package/mcps/davinci-mcp-professional/docs/html/navtree.css +0 -327
  323. package/mcps/davinci-mcp-professional/docs/html/navtree.js +0 -901
  324. package/mcps/davinci-mcp-professional/docs/html/navtreedata.js +0 -68
  325. package/mcps/davinci-mcp-professional/docs/html/navtreeindex0.js +0 -212
  326. package/mcps/davinci-mcp-professional/docs/html/platform_8py.html +0 -130
  327. package/mcps/davinci-mcp-professional/docs/html/platform_8py.js +0 -8
  328. package/mcps/davinci-mcp-professional/docs/html/platform_8py_source.html +0 -245
  329. package/mcps/davinci-mcp-professional/docs/html/resolve__client_8py.html +0 -132
  330. package/mcps/davinci-mcp-professional/docs/html/resolve__client_8py.js +0 -8
  331. package/mcps/davinci-mcp-professional/docs/html/resolve__client_8py_source.html +0 -501
  332. package/mcps/davinci-mcp-professional/docs/html/resources_2____init_____8py.html +0 -125
  333. package/mcps/davinci-mcp-professional/docs/html/resources_2____init_____8py.js +0 -4
  334. package/mcps/davinci-mcp-professional/docs/html/resources_2____init_____8py_source.html +0 -169
  335. package/mcps/davinci-mcp-professional/docs/html/search/all_0.js +0 -22
  336. package/mcps/davinci-mcp-professional/docs/html/search/all_1.js +0 -4
  337. package/mcps/davinci-mcp-professional/docs/html/search/all_10.js +0 -4
  338. package/mcps/davinci-mcp-professional/docs/html/search/all_11.js +0 -4
  339. package/mcps/davinci-mcp-professional/docs/html/search/all_12.js +0 -4
  340. package/mcps/davinci-mcp-professional/docs/html/search/all_13.js +0 -4
  341. package/mcps/davinci-mcp-professional/docs/html/search/all_2.js +0 -4
  342. package/mcps/davinci-mcp-professional/docs/html/search/all_3.js +0 -15
  343. package/mcps/davinci-mcp-professional/docs/html/search/all_4.js +0 -26
  344. package/mcps/davinci-mcp-professional/docs/html/search/all_5.js +0 -4
  345. package/mcps/davinci-mcp-professional/docs/html/search/all_6.js +0 -6
  346. package/mcps/davinci-mcp-professional/docs/html/search/all_7.js +0 -25
  347. package/mcps/davinci-mcp-professional/docs/html/search/all_8.js +0 -7
  348. package/mcps/davinci-mcp-professional/docs/html/search/all_9.js +0 -9
  349. package/mcps/davinci-mcp-professional/docs/html/search/all_a.js +0 -6
  350. package/mcps/davinci-mcp-professional/docs/html/search/all_b.js +0 -6
  351. package/mcps/davinci-mcp-professional/docs/html/search/all_c.js +0 -9
  352. package/mcps/davinci-mcp-professional/docs/html/search/all_d.js +0 -10
  353. package/mcps/davinci-mcp-professional/docs/html/search/all_e.js +0 -11
  354. package/mcps/davinci-mcp-professional/docs/html/search/all_f.js +0 -5
  355. package/mcps/davinci-mcp-professional/docs/html/search/classes_0.js +0 -13
  356. package/mcps/davinci-mcp-professional/docs/html/search/files_0.js +0 -5
  357. package/mcps/davinci-mcp-professional/docs/html/search/files_1.js +0 -4
  358. package/mcps/davinci-mcp-professional/docs/html/search/files_2.js +0 -4
  359. package/mcps/davinci-mcp-professional/docs/html/search/files_3.js +0 -5
  360. package/mcps/davinci-mcp-professional/docs/html/search/files_4.js +0 -4
  361. package/mcps/davinci-mcp-professional/docs/html/search/files_5.js +0 -4
  362. package/mcps/davinci-mcp-professional/docs/html/search/functions_0.js +0 -9
  363. package/mcps/davinci-mcp-professional/docs/html/search/functions_1.js +0 -4
  364. package/mcps/davinci-mcp-professional/docs/html/search/functions_2.js +0 -10
  365. package/mcps/davinci-mcp-professional/docs/html/search/functions_3.js +0 -4
  366. package/mcps/davinci-mcp-professional/docs/html/search/functions_4.js +0 -25
  367. package/mcps/davinci-mcp-professional/docs/html/search/functions_5.js +0 -6
  368. package/mcps/davinci-mcp-professional/docs/html/search/functions_6.js +0 -7
  369. package/mcps/davinci-mcp-professional/docs/html/search/functions_7.js +0 -4
  370. package/mcps/davinci-mcp-professional/docs/html/search/functions_8.js +0 -5
  371. package/mcps/davinci-mcp-professional/docs/html/search/functions_9.js +0 -4
  372. package/mcps/davinci-mcp-professional/docs/html/search/functions_a.js +0 -4
  373. package/mcps/davinci-mcp-professional/docs/html/search/functions_b.js +0 -6
  374. package/mcps/davinci-mcp-professional/docs/html/search/namespaces_0.js +0 -13
  375. package/mcps/davinci-mcp-professional/docs/html/search/pages_0.js +0 -4
  376. package/mcps/davinci-mcp-professional/docs/html/search/pages_1.js +0 -6
  377. package/mcps/davinci-mcp-professional/docs/html/search/pages_2.js +0 -5
  378. package/mcps/davinci-mcp-professional/docs/html/search/pages_3.js +0 -4
  379. package/mcps/davinci-mcp-professional/docs/html/search/pages_4.js +0 -5
  380. package/mcps/davinci-mcp-professional/docs/html/search/pages_5.js +0 -4
  381. package/mcps/davinci-mcp-professional/docs/html/search/pages_6.js +0 -4
  382. package/mcps/davinci-mcp-professional/docs/html/search/pages_7.js +0 -4
  383. package/mcps/davinci-mcp-professional/docs/html/search/pages_8.js +0 -5
  384. package/mcps/davinci-mcp-professional/docs/html/search/pages_9.js +0 -5
  385. package/mcps/davinci-mcp-professional/docs/html/search/pages_a.js +0 -6
  386. package/mcps/davinci-mcp-professional/docs/html/search/pages_b.js +0 -4
  387. package/mcps/davinci-mcp-professional/docs/html/search/pages_c.js +0 -4
  388. package/mcps/davinci-mcp-professional/docs/html/search/pages_d.js +0 -4
  389. package/mcps/davinci-mcp-professional/docs/html/search/search.css +0 -377
  390. package/mcps/davinci-mcp-professional/docs/html/search/search.js +0 -708
  391. package/mcps/davinci-mcp-professional/docs/html/search/searchdata.js +0 -33
  392. package/mcps/davinci-mcp-professional/docs/html/search/variables_0.js +0 -14
  393. package/mcps/davinci-mcp-professional/docs/html/search/variables_1.js +0 -4
  394. package/mcps/davinci-mcp-professional/docs/html/search/variables_2.js +0 -4
  395. package/mcps/davinci-mcp-professional/docs/html/search/variables_3.js +0 -5
  396. package/mcps/davinci-mcp-professional/docs/html/search/variables_4.js +0 -4
  397. package/mcps/davinci-mcp-professional/docs/html/search/variables_5.js +0 -5
  398. package/mcps/davinci-mcp-professional/docs/html/search/variables_6.js +0 -5
  399. package/mcps/davinci-mcp-professional/docs/html/search/variables_7.js +0 -4
  400. package/mcps/davinci-mcp-professional/docs/html/search/variables_8.js +0 -4
  401. package/mcps/davinci-mcp-professional/docs/html/search/variables_9.js +0 -4
  402. package/mcps/davinci-mcp-professional/docs/html/server_8py.html +0 -129
  403. package/mcps/davinci-mcp-professional/docs/html/server_8py.js +0 -5
  404. package/mcps/davinci-mcp-professional/docs/html/server_8py_source.html +0 -318
  405. package/mcps/davinci-mcp-professional/docs/html/tabs.css +0 -1
  406. package/mcps/davinci-mcp-professional/docs/html/tools_2____init_____8py.html +0 -125
  407. package/mcps/davinci-mcp-professional/docs/html/tools_2____init_____8py.js +0 -4
  408. package/mcps/davinci-mcp-professional/docs/html/tools_2____init_____8py_source.html +0 -253
  409. package/mcps/davinci-mcp-professional/docs/html/types_8py.html +0 -137
  410. package/mcps/davinci-mcp-professional/docs/html/types_8py.js +0 -13
  411. package/mcps/davinci-mcp-professional/docs/html/types_8py_source.html +0 -309
  412. package/mcps/davinci-mcp-professional/docs/html/utils_2____init_____8py.html +0 -125
  413. package/mcps/davinci-mcp-professional/docs/html/utils_2____init_____8py.js +0 -4
  414. package/mcps/davinci-mcp-professional/docs/html/utils_2____init_____8py_source.html +0 -123
  415. package/mcps/davinci-mcp-professional/tests/README.md +0 -49
  416. package/mcps/davinci-mcp-professional/tests/__init__.py +0 -1
  417. package/mcps/davinci-mcp-professional/tests/conftest.py +0 -75
  418. package/mcps/davinci-mcp-professional/tests/test_security.py +0 -251
  419. package/mcps/davinci-resolve-mcp/docs/README.md +0 -56
  420. package/mcps/davinci-resolve-mcp/docs/SKILL.md +0 -1635
  421. package/mcps/davinci-resolve-mcp/docs/authoring/fuse-dctl-authoring.md +0 -242
  422. package/mcps/davinci-resolve-mcp/docs/authoring/script-plugin-authoring.md +0 -195
  423. package/mcps/davinci-resolve-mcp/docs/authoring/setting-files/README.md +0 -152
  424. package/mcps/davinci-resolve-mcp/docs/authoring/setting-files/references/category-patterns.md +0 -780
  425. package/mcps/davinci-resolve-mcp/docs/authoring/setting-files/references/controls.md +0 -259
  426. package/mcps/davinci-resolve-mcp/docs/authoring/setting-files/references/format.md +0 -568
  427. package/mcps/davinci-resolve-mcp/docs/authoring/setting-files/references/gotchas.md +0 -168
  428. package/mcps/davinci-resolve-mcp/docs/authoring/setting-files/references/thumbnails.md +0 -106
  429. package/mcps/davinci-resolve-mcp/docs/authoring/setting-files/templates/MCP Test Blur.setting +0 -46
  430. package/mcps/davinci-resolve-mcp/docs/authoring/setting-files/templates/MCP Test Color Tint.setting +0 -78
  431. package/mcps/davinci-resolve-mcp/docs/authoring/setting-files/templates/MCP Test Cross Dissolve.setting +0 -57
  432. package/mcps/davinci-resolve-mcp/docs/authoring/setting-files/templates/MCP Test Fade Title.setting +0 -111
  433. package/mcps/davinci-resolve-mcp/docs/authoring/setting-files/templates/MCP Test Glow.setting +0 -55
  434. package/mcps/davinci-resolve-mcp/docs/authoring/setting-files/templates/MCP Test Gradient.setting +0 -52
  435. package/mcps/davinci-resolve-mcp/docs/authoring/setting-files/templates/MCP Test Iris.setting +0 -127
  436. package/mcps/davinci-resolve-mcp/docs/authoring/setting-files/templates/MCP Test Lower Third.setting +0 -192
  437. package/mcps/davinci-resolve-mcp/docs/authoring/setting-files/templates/MCP Test Noise.setting +0 -74
  438. package/mcps/davinci-resolve-mcp/docs/authoring/setting-files/templates/MCP Test Solid Color.setting +0 -55
  439. package/mcps/davinci-resolve-mcp/docs/authoring/setting-files/templates/MCP Test Title.setting +0 -105
  440. package/mcps/davinci-resolve-mcp/docs/authoring/setting-files/templates/MCP Test Vignette.setting +0 -98
  441. package/mcps/davinci-resolve-mcp/docs/authoring/setting-files/templates/MCP Test Wipe.setting +0 -98
  442. package/mcps/davinci-resolve-mcp/docs/contributing.md +0 -82
  443. package/mcps/davinci-resolve-mcp/docs/guides/color-decision-guide.md +0 -427
  444. package/mcps/davinci-resolve-mcp/docs/guides/control-panel.md +0 -234
  445. package/mcps/davinci-resolve-mcp/docs/guides/editorial-decision-guide.md +0 -165
  446. package/mcps/davinci-resolve-mcp/docs/guides/media-analysis-guide.md +0 -763
  447. package/mcps/davinci-resolve-mcp/docs/guides/multicam-setup-guide.md +0 -138
  448. package/mcps/davinci-resolve-mcp/docs/images/control-panel/01-overview.png +0 -0
  449. package/mcps/davinci-resolve-mcp/docs/images/control-panel/02-review-bin-grid.png +0 -0
  450. package/mcps/davinci-resolve-mcp/docs/images/control-panel/03-clip-detail.png +0 -0
  451. package/mcps/davinci-resolve-mcp/docs/images/control-panel/04-transcript.png +0 -0
  452. package/mcps/davinci-resolve-mcp/docs/images/control-panel/05-shot-detail.png +0 -0
  453. package/mcps/davinci-resolve-mcp/docs/images/control-panel/06-inventory.png +0 -0
  454. package/mcps/davinci-resolve-mcp/docs/images/control-panel/07-diagnostics-resolve.png +0 -0
  455. package/mcps/davinci-resolve-mcp/docs/images/control-panel/08-preferences-analysis.png +0 -0
  456. package/mcps/davinci-resolve-mcp/docs/images/control-panel/09-ai-console.png +0 -0
  457. package/mcps/davinci-resolve-mcp/docs/images/control-panel/10-history.png +0 -0
  458. package/mcps/davinci-resolve-mcp/docs/images/control-panel/11-edit-plans.png +0 -0
  459. package/mcps/davinci-resolve-mcp/docs/install.md +0 -208
  460. package/mcps/davinci-resolve-mcp/docs/integrations/workflow-integrations.md +0 -120
  461. package/mcps/davinci-resolve-mcp/docs/kernels/README.md +0 -28
  462. package/mcps/davinci-resolve-mcp/docs/kernels/audio-fairlight-kernel.md +0 -86
  463. package/mcps/davinci-resolve-mcp/docs/kernels/color-grade-kernel.md +0 -103
  464. package/mcps/davinci-resolve-mcp/docs/kernels/extension-authoring-kernel.md +0 -101
  465. package/mcps/davinci-resolve-mcp/docs/kernels/fusion-composition-kernel.md +0 -121
  466. package/mcps/davinci-resolve-mcp/docs/kernels/media-pool-ingest-kernel.md +0 -147
  467. package/mcps/davinci-resolve-mcp/docs/kernels/project-lifecycle-kernel.md +0 -120
  468. package/mcps/davinci-resolve-mcp/docs/kernels/render-deliver-kernel.md +0 -92
  469. package/mcps/davinci-resolve-mcp/docs/kernels/review-annotation-kernel.md +0 -110
  470. package/mcps/davinci-resolve-mcp/docs/kernels/timeline-conform-interchange-kernel.md +0 -102
  471. package/mcps/davinci-resolve-mcp/docs/kernels/timeline-edit-kernel.md +0 -189
  472. package/mcps/davinci-resolve-mcp/docs/notes/codec-plugin-notes.md +0 -136
  473. package/mcps/davinci-resolve-mcp/docs/notes/dctl-notes.md +0 -234
  474. package/mcps/davinci-resolve-mcp/docs/notes/fusion-template-notes.md +0 -136
  475. package/mcps/davinci-resolve-mcp/docs/notes/lut-notes.md +0 -136
  476. package/mcps/davinci-resolve-mcp/docs/notes/openfx-notes.md +0 -120
  477. package/mcps/davinci-resolve-mcp/docs/process/release-process.md +0 -180
  478. package/mcps/davinci-resolve-mcp/docs/reference/api-coverage.md +0 -521
  479. package/mcps/davinci-resolve-mcp/docs/reference/api-limitations.md +0 -259
  480. package/mcps/davinci-resolve-mcp/docs/reference/readwrite-symmetry.md +0 -25
  481. package/mcps/davinci-resolve-mcp/docs/reference/resolve_scripting_api.txt +0 -1024
  482. package/mcps/davinci-resolve-mcp/tests/_error_envelope_helpers.py +0 -35
  483. package/mcps/davinci-resolve-mcp/tests/benchmark_server.py +0 -270
  484. package/mcps/davinci-resolve-mcp/tests/create_test_timeline.py +0 -177
  485. package/mcps/davinci-resolve-mcp/tests/live_api_gap_verification.py +0 -274
  486. package/mcps/davinci-resolve-mcp/tests/live_audio_fairlight_validation.py +0 -77
  487. package/mcps/davinci-resolve-mcp/tests/live_auto_sync_settings_check.py +0 -76
  488. package/mcps/davinci-resolve-mcp/tests/live_color_grade_validation.py +0 -89
  489. package/mcps/davinci-resolve-mcp/tests/live_delete_governance_check.py +0 -71
  490. package/mcps/davinci-resolve-mcp/tests/live_duplicate_clips_validation.py +0 -831
  491. package/mcps/davinci-resolve-mcp/tests/live_edit_engine_validation.py +0 -277
  492. package/mcps/davinci-resolve-mcp/tests/live_enum_settings_check.py +0 -89
  493. package/mcps/davinci-resolve-mcp/tests/live_extension_authoring_validation.py +0 -77
  494. package/mcps/davinci-resolve-mcp/tests/live_fuse_diagnose.py +0 -230
  495. package/mcps/davinci-resolve-mcp/tests/live_fuse_smoke.py +0 -250
  496. package/mcps/davinci-resolve-mcp/tests/live_fusion_composition_validation.py +0 -82
  497. package/mcps/davinci-resolve-mcp/tests/live_fusion_keyframe_validation.py +0 -116
  498. package/mcps/davinci-resolve-mcp/tests/live_fusion_mask_title_validation.py +0 -286
  499. package/mcps/davinci-resolve-mcp/tests/live_marker_validation.py +0 -439
  500. package/mcps/davinci-resolve-mcp/tests/live_media_pool_ingest_validation.py +0 -98
  501. package/mcps/davinci-resolve-mcp/tests/live_metadata_field_inventory_validation.py +0 -379
  502. package/mcps/davinci-resolve-mcp/tests/live_metadata_publish_validation.py +0 -192
  503. package/mcps/davinci-resolve-mcp/tests/live_multicam_setup_validation.py +0 -198
  504. package/mcps/davinci-resolve-mcp/tests/live_path_probe.py +0 -119
  505. package/mcps/davinci-resolve-mcp/tests/live_project_lifecycle_validation.py +0 -77
  506. package/mcps/davinci-resolve-mcp/tests/live_render_deliver_validation.py +0 -82
  507. package/mcps/davinci-resolve-mcp/tests/live_review_annotation_validation.py +0 -91
  508. package/mcps/davinci-resolve-mcp/tests/live_script_smoke.py +0 -141
  509. package/mcps/davinci-resolve-mcp/tests/live_sync_event_validation.py +0 -165
  510. package/mcps/davinci-resolve-mcp/tests/live_timeline_conform_validation.py +0 -77
  511. package/mcps/davinci-resolve-mcp/tests/live_v233_validation.py +0 -282
  512. package/mcps/davinci-resolve-mcp/tests/test-after-restart.bat +0 -83
  513. package/mcps/davinci-resolve-mcp/tests/test-after-restart.sh +0 -87
  514. package/mcps/davinci-resolve-mcp/tests/test_action_help.py +0 -47
  515. package/mcps/davinci-resolve-mcp/tests/test_action_list_drift.py +0 -163
  516. package/mcps/davinci-resolve-mcp/tests/test_ai_console_dispatch.py +0 -91
  517. package/mcps/davinci-resolve-mcp/tests/test_analysis_caps.py +0 -210
  518. package/mcps/davinci-resolve-mcp/tests/test_analysis_runs.py +0 -157
  519. package/mcps/davinci-resolve-mcp/tests/test_analysis_store.py +0 -366
  520. package/mcps/davinci-resolve-mcp/tests/test_api_limitations_doc.py +0 -56
  521. package/mcps/davinci-resolve-mcp/tests/test_api_truth.py +0 -64
  522. package/mcps/davinci-resolve-mcp/tests/test_api_truth_mitigations.py +0 -45
  523. package/mcps/davinci-resolve-mcp/tests/test_append_clip_infos_result_handling.py +0 -679
  524. package/mcps/davinci-resolve-mcp/tests/test_audio_fairlight_probe.py +0 -216
  525. package/mcps/davinci-resolve-mcp/tests/test_auto_run.py +0 -76
  526. package/mcps/davinci-resolve-mcp/tests/test_auto_sync_audio.py +0 -171
  527. package/mcps/davinci-resolve-mcp/tests/test_batch_cli.py +0 -253
  528. package/mcps/davinci-resolve-mcp/tests/test_brain_edits.py +0 -218
  529. package/mcps/davinci-resolve-mcp/tests/test_bridge_metrics.py +0 -52
  530. package/mcps/davinci-resolve-mcp/tests/test_bulk_match_to_hero.py +0 -219
  531. package/mcps/davinci-resolve-mcp/tests/test_caps_events_and_history.py +0 -147
  532. package/mcps/davinci-resolve-mcp/tests/test_caps_integration.py +0 -315
  533. package/mcps/davinci-resolve-mcp/tests/test_cdl_and_install_config.py +0 -372
  534. package/mcps/davinci-resolve-mcp/tests/test_clip_query.py +0 -57
  535. package/mcps/davinci-resolve-mcp/tests/test_cloud_settings.py +0 -62
  536. package/mcps/davinci-resolve-mcp/tests/test_color_grade_probe.py +0 -230
  537. package/mcps/davinci-resolve-mcp/tests/test_confirm_token.py +0 -85
  538. package/mcps/davinci-resolve-mcp/tests/test_confirm_token_preferences.py +0 -22
  539. package/mcps/davinci-resolve-mcp/tests/test_contracts.py +0 -81
  540. package/mcps/davinci-resolve-mcp/tests/test_create_subtitles_settings.py +0 -111
  541. package/mcps/davinci-resolve-mcp/tests/test_custom_timeline.py +0 -137
  542. package/mcps/davinci-resolve-mcp/tests/test_cut_executor.py +0 -87
  543. package/mcps/davinci-resolve-mcp/tests/test_cut_ir.py +0 -82
  544. package/mcps/davinci-resolve-mcp/tests/test_dashboard_transport.py +0 -47
  545. package/mcps/davinci-resolve-mcp/tests/test_deep_vision.py +0 -311
  546. package/mcps/davinci-resolve-mcp/tests/test_description_xml_shape.py +0 -71
  547. package/mcps/davinci-resolve-mcp/tests/test_destructive_decorator_coverage.py +0 -92
  548. package/mcps/davinci-resolve-mcp/tests/test_destructive_hook.py +0 -245
  549. package/mcps/davinci-resolve-mcp/tests/test_destructive_registry_drift.py +0 -108
  550. package/mcps/davinci-resolve-mcp/tests/test_edit_engine.py +0 -574
  551. package/mcps/davinci-resolve-mcp/tests/test_embeddings.py +0 -302
  552. package/mcps/davinci-resolve-mcp/tests/test_entities.py +0 -225
  553. package/mcps/davinci-resolve-mcp/tests/test_error_envelope.py +0 -179
  554. package/mcps/davinci-resolve-mcp/tests/test_exhaustive_wave_a.py +0 -101
  555. package/mcps/davinci-resolve-mcp/tests/test_extension_authoring_probe.py +0 -77
  556. package/mcps/davinci-resolve-mcp/tests/test_extract_frames.py +0 -42
  557. package/mcps/davinci-resolve-mcp/tests/test_extract_source_frame_ranges.py +0 -129
  558. package/mcps/davinci-resolve-mcp/tests/test_failure_tracker.py +0 -103
  559. package/mcps/davinci-resolve-mcp/tests/test_fuse_dctl_authoring.py +0 -596
  560. package/mcps/davinci-resolve-mcp/tests/test_fusion_comp_targeting.py +0 -269
  561. package/mcps/davinci-resolve-mcp/tests/test_fusion_composition_probe.py +0 -156
  562. package/mcps/davinci-resolve-mcp/tests/test_fusion_group_settings.py +0 -284
  563. package/mcps/davinci-resolve-mcp/tests/test_fusion_mask_title.py +0 -205
  564. package/mcps/davinci-resolve-mcp/tests/test_fusion_node_ops.py +0 -212
  565. package/mcps/davinci-resolve-mcp/tests/test_governance_identity.py +0 -155
  566. package/mcps/davinci-resolve-mcp/tests/test_grade_evidence_base.py +0 -132
  567. package/mcps/davinci-resolve-mcp/tests/test_import.py +0 -153
  568. package/mcps/davinci-resolve-mcp/tests/test_improvements.py +0 -334
  569. package/mcps/davinci-resolve-mcp/tests/test_inventory_exclude_bins.py +0 -139
  570. package/mcps/davinci-resolve-mcp/tests/test_live_api.py +0 -315
  571. package/mcps/davinci-resolve-mcp/tests/test_marker_params.py +0 -234
  572. package/mcps/davinci-resolve-mcp/tests/test_mcp_prompts.py +0 -77
  573. package/mcps/davinci-resolve-mcp/tests/test_mcp_resources.py +0 -117
  574. package/mcps/davinci-resolve-mcp/tests/test_mcp_transport.py +0 -74
  575. package/mcps/davinci-resolve-mcp/tests/test_media_analysis.py +0 -4637
  576. package/mcps/davinci-resolve-mcp/tests/test_media_pool_append_verification.py +0 -153
  577. package/mcps/davinci-resolve-mcp/tests/test_media_pool_changes.py +0 -105
  578. package/mcps/davinci-resolve-mcp/tests/test_media_pool_delete_governance.py +0 -69
  579. package/mcps/davinci-resolve-mcp/tests/test_media_pool_ingest_probe.py +0 -546
  580. package/mcps/davinci-resolve-mcp/tests/test_media_pool_walk.py +0 -79
  581. package/mcps/davinci-resolve-mcp/tests/test_multicam_setup.py +0 -178
  582. package/mcps/davinci-resolve-mcp/tests/test_object_inspection.py +0 -140
  583. package/mcps/davinci-resolve-mcp/tests/test_open_control_panel.py +0 -172
  584. package/mcps/davinci-resolve-mcp/tests/test_p1_param_validation.py +0 -57
  585. package/mcps/davinci-resolve-mcp/tests/test_p1_whitelist_and_delete.py +0 -81
  586. package/mcps/davinci-resolve-mcp/tests/test_page_lock.py +0 -52
  587. package/mcps/davinci-resolve-mcp/tests/test_panel_docs_drift.py +0 -77
  588. package/mcps/davinci-resolve-mcp/tests/test_partial_success_manifest.py +0 -113
  589. package/mcps/davinci-resolve-mcp/tests/test_persistence_safety.py +0 -147
  590. package/mcps/davinci-resolve-mcp/tests/test_prefer_handle.py +0 -89
  591. package/mcps/davinci-resolve-mcp/tests/test_project_cleanup.py +0 -111
  592. package/mcps/davinci-resolve-mcp/tests/test_project_lifecycle_probe.py +0 -256
  593. package/mcps/davinci-resolve-mcp/tests/test_project_lint.py +0 -79
  594. package/mcps/davinci-resolve-mcp/tests/test_project_spec.py +0 -246
  595. package/mcps/davinci-resolve-mcp/tests/test_propose_grade.py +0 -116
  596. package/mcps/davinci-resolve-mcp/tests/test_provenance.py +0 -88
  597. package/mcps/davinci-resolve-mcp/tests/test_readback.py +0 -77
  598. package/mcps/davinci-resolve-mcp/tests/test_readwrite_audit.py +0 -43
  599. package/mcps/davinci-resolve-mcp/tests/test_reel_name_writeback.py +0 -149
  600. package/mcps/davinci-resolve-mcp/tests/test_render_deliver_probe.py +0 -250
  601. package/mcps/davinci-resolve-mcp/tests/test_resolve20_api.py +0 -282
  602. package/mcps/davinci-resolve-mcp/tests/test_resolve21_actions.py +0 -386
  603. package/mcps/davinci-resolve-mcp/tests/test_resolve_ai_governance.py +0 -92
  604. package/mcps/davinci-resolve-mcp/tests/test_resolve_ai_ledger.py +0 -89
  605. package/mcps/davinci-resolve-mcp/tests/test_resolve_busy.py +0 -134
  606. package/mcps/davinci-resolve-mcp/tests/test_review_annotation_probe.py +0 -162
  607. package/mcps/davinci-resolve-mcp/tests/test_sampling_modes.py +0 -293
  608. package/mcps/davinci-resolve-mcp/tests/test_script_plugin.py +0 -750
  609. package/mcps/davinci-resolve-mcp/tests/test_shot_relationships.py +0 -254
  610. package/mcps/davinci-resolve-mcp/tests/test_spec_lint_wiring.py +0 -311
  611. package/mcps/davinci-resolve-mcp/tests/test_static_undefined_names.py +0 -45
  612. package/mcps/davinci-resolve-mcp/tests/test_structural_diff.py +0 -67
  613. package/mcps/davinci-resolve-mcp/tests/test_sync_detection.py +0 -213
  614. package/mcps/davinci-resolve-mcp/tests/test_thumbnail_image.py +0 -55
  615. package/mcps/davinci-resolve-mcp/tests/test_timeline_brain_db.py +0 -230
  616. package/mcps/davinci-resolve-mcp/tests/test_timeline_conform_probe.py +0 -229
  617. package/mcps/davinci-resolve-mcp/tests/test_timeline_editorial_helpers.py +0 -88
  618. package/mcps/davinci-resolve-mcp/tests/test_timeline_export_enum.py +0 -59
  619. package/mcps/davinci-resolve-mcp/tests/test_timeline_kernel_probe.py +0 -70
  620. package/mcps/davinci-resolve-mcp/tests/test_timeline_title_text_utils.py +0 -64
  621. package/mcps/davinci-resolve-mcp/tests/test_timeline_versioning.py +0 -419
  622. package/mcps/davinci-resolve-mcp/tests/test_tool_choice_hint.py +0 -42
  623. package/mcps/davinci-resolve-mcp/tests/test_tool_exposure.py +0 -159
  624. package/mcps/davinci-resolve-mcp/tests/test_tool_registration.py +0 -91
  625. package/mcps/davinci-resolve-mcp/tests/test_transcript_read.py +0 -74
  626. package/mcps/davinci-resolve-mcp/tests/test_update_check.py +0 -171
  627. package/mcps/davinci-resolve-mcp/tests/test_update_hardening.py +0 -171
  628. package/mcps/davinci-resolve-mcp/tests/test_update_history.py +0 -116
  629. package/mcps/davinci-resolve-mcp/tests/test_v232_helpers.py +0 -265
  630. package/mcps/davinci-resolve-mcp/tests/test_v233_helpers.py +0 -307
  631. package/mcps/davinci-resolve-mcp/tests/test_validation_guards.py +0 -108
  632. package/mcps/davinci-resolve-mcp/tests/test_verification_stats.py +0 -32
  633. package/mcps/davinci-resolve-mcp/tests/test_waveb_p2_p3.py +0 -65
  634. package/mcps/golem-rhino-mcp/Nexus-AI-Agents.png +0 -0
  635. package/mcps/golem-rhino-mcp/docs/ARCHITECTURE.md +0 -277
  636. package/mcps/golem-rhino-mcp/docs/PROTOCOL.md +0 -247
  637. package/mcps/golem-rhino-mcp/docs/TOOL_REFERENCE.md +0 -1571
  638. package/mcps/golem-rhino-mcp/docs/TROUBLESHOOTING.md +0 -396
  639. package/mcps/golem-rhino-mcp/mcp_server/Screenshot 2026-03-20 at 18.33.06.png +0 -0
  640. package/mcps/golem-rhino-mcp/mcp_server/Screenshot 2026-03-21 at 1.43.01.png +0 -0
  641. package/mcps/golem-rhino-mcp/nexus-pngs/CAIO.png +0 -0
  642. package/mcps/golem-rhino-mcp/nexus-pngs/CEO.png +0 -0
  643. package/mcps/golem-rhino-mcp/nexus-pngs/CFO.png +0 -0
  644. package/mcps/golem-rhino-mcp/nexus-pngs/CHRO.png +0 -0
  645. package/mcps/golem-rhino-mcp/nexus-pngs/CISO.png +0 -0
  646. package/mcps/golem-rhino-mcp/nexus-pngs/CLO.png +0 -0
  647. package/mcps/golem-rhino-mcp/nexus-pngs/CMO.png +0 -0
  648. package/mcps/golem-rhino-mcp/nexus-pngs/COO.png +0 -0
  649. package/mcps/golem-rhino-mcp/nexus-pngs/CPO.png +0 -0
  650. package/mcps/golem-rhino-mcp/nexus-pngs/CRO.png +0 -0
  651. package/mcps/golem-rhino-mcp/nexus-pngs/CTO.png +0 -0
  652. package/mcps/golem-rhino-mcp/nexus-pngs/king-hippo.png +0 -0
  653. package/mcps/golem-rhino-mcp/nexus-pngs/tier-0-csuite.png +0 -0
  654. package/mcps/golem-rhino-mcp/screenshots/city_monument.png +0 -0
  655. package/mcps/golem-rhino-mcp/screenshots/city_skyline.png +0 -0
  656. package/mcps/golem-rhino-mcp/screenshots/city_street.png +0 -0
  657. package/mcps/golem-rhino-mcp/screenshots/city_wide.png +0 -0
  658. package/mcps/golem-rhino-mcp/tests/__init__.py +0 -0
  659. package/mcps/golem-rhino-mcp/tests/conftest.py +0 -150
  660. package/mcps/golem-rhino-mcp/tests/test_connection.py +0 -543
  661. package/mcps/golem-rhino-mcp/tests/test_integration.py +0 -344
  662. package/mcps/golem-rhino-mcp/tests/test_models.py +0 -749
  663. package/mcps/golem-rhino-mcp/tests/test_protocol.py +0 -334
  664. package/mcps/golem-rhino-mcp/tests/test_tools_mock.py +0 -689
  665. package/mcps/tdmcp/.github/social-preview.png +0 -0
  666. package/mcps/tdmcp/docs/.vitepress/config.ts +0 -397
  667. package/mcps/tdmcp/docs/AI_PARTY_LLM_TRAINING_PLAN.md +0 -118
  668. package/mcps/tdmcp/docs/AI_PARTY_POC.md +0 -142
  669. package/mcps/tdmcp/docs/AI_PARTY_POC_PLAN.md +0 -112
  670. package/mcps/tdmcp/docs/CREATIVE_RAG.md +0 -346
  671. package/mcps/tdmcp/docs/DEPLOYMENT.md +0 -113
  672. package/mcps/tdmcp/docs/PROJECT_RAG.md +0 -477
  673. package/mcps/tdmcp/docs/ROADMAP.md +0 -1346
  674. package/mcps/tdmcp/docs/guide/ai-controlled-party.md +0 -215
  675. package/mcps/tdmcp/docs/guide/body-tracking.md +0 -169
  676. package/mcps/tdmcp/docs/guide/codex.md +0 -107
  677. package/mcps/tdmcp/docs/guide/components.md +0 -126
  678. package/mcps/tdmcp/docs/guide/dashboard-foh.md +0 -93
  679. package/mcps/tdmcp/docs/guide/faq.md +0 -62
  680. package/mcps/tdmcp/docs/guide/first-visual.md +0 -76
  681. package/mcps/tdmcp/docs/guide/generators.md +0 -230
  682. package/mcps/tdmcp/docs/guide/glossary.md +0 -123
  683. package/mcps/tdmcp/docs/guide/install.md +0 -200
  684. package/mcps/tdmcp/docs/guide/local-copilot.md +0 -154
  685. package/mcps/tdmcp/docs/guide/lops-integration.md +0 -133
  686. package/mcps/tdmcp/docs/guide/mcp-resources.md +0 -96
  687. package/mcps/tdmcp/docs/guide/mediapipe-adapters.md +0 -90
  688. package/mcps/tdmcp/docs/guide/physical-installations.md +0 -129
  689. package/mcps/tdmcp/docs/guide/prompt-cookbook.md +0 -2285
  690. package/mcps/tdmcp/docs/guide/recipes.md +0 -72
  691. package/mcps/tdmcp/docs/guide/session-profile.md +0 -90
  692. package/mcps/tdmcp/docs/guide/shader-park.md +0 -94
  693. package/mcps/tdmcp/docs/guide/show-timelines.md +0 -125
  694. package/mcps/tdmcp/docs/guide/troubleshooting.md +0 -121
  695. package/mcps/tdmcp/docs/guide/what-is-tdmcp.md +0 -62
  696. package/mcps/tdmcp/docs/index.md +0 -49
  697. package/mcps/tdmcp/docs/privacy.md +0 -85
  698. package/mcps/tdmcp/docs/pt/CREATIVE_RAG.md +0 -370
  699. package/mcps/tdmcp/docs/pt/PROJECT_RAG.md +0 -420
  700. package/mcps/tdmcp/docs/pt/guide/ai-controlled-party.md +0 -218
  701. package/mcps/tdmcp/docs/pt/guide/body-tracking.md +0 -175
  702. package/mcps/tdmcp/docs/pt/guide/codex.md +0 -113
  703. package/mcps/tdmcp/docs/pt/guide/components.md +0 -129
  704. package/mcps/tdmcp/docs/pt/guide/dashboard-foh.md +0 -95
  705. package/mcps/tdmcp/docs/pt/guide/faq.md +0 -62
  706. package/mcps/tdmcp/docs/pt/guide/first-visual.md +0 -81
  707. package/mcps/tdmcp/docs/pt/guide/generators.md +0 -243
  708. package/mcps/tdmcp/docs/pt/guide/glossary.md +0 -127
  709. package/mcps/tdmcp/docs/pt/guide/install.md +0 -196
  710. package/mcps/tdmcp/docs/pt/guide/local-copilot.md +0 -164
  711. package/mcps/tdmcp/docs/pt/guide/lops-integration.md +0 -143
  712. package/mcps/tdmcp/docs/pt/guide/mcp-resources.md +0 -96
  713. package/mcps/tdmcp/docs/pt/guide/mediapipe-adapters.md +0 -93
  714. package/mcps/tdmcp/docs/pt/guide/physical-installations.md +0 -135
  715. package/mcps/tdmcp/docs/pt/guide/prompt-cookbook.md +0 -2342
  716. package/mcps/tdmcp/docs/pt/guide/recipes.md +0 -59
  717. package/mcps/tdmcp/docs/pt/guide/session-profile.md +0 -92
  718. package/mcps/tdmcp/docs/pt/guide/shader-park.md +0 -95
  719. package/mcps/tdmcp/docs/pt/guide/show-timelines.md +0 -128
  720. package/mcps/tdmcp/docs/pt/guide/troubleshooting.md +0 -109
  721. package/mcps/tdmcp/docs/pt/guide/what-is-tdmcp.md +0 -61
  722. package/mcps/tdmcp/docs/pt/index.md +0 -49
  723. package/mcps/tdmcp/docs/pt/privacy.md +0 -91
  724. package/mcps/tdmcp/docs/pt/reference/architecture.md +0 -178
  725. package/mcps/tdmcp/docs/pt/reference/environment.md +0 -70
  726. package/mcps/tdmcp/docs/public/favicon.svg +0 -12
  727. package/mcps/tdmcp/docs/public/logo-400.png +0 -0
  728. package/mcps/tdmcp/docs/public/og-image.jpg +0 -0
  729. package/mcps/tdmcp/docs/public/robots.txt +0 -4
  730. package/mcps/tdmcp/docs/reference/API_STABILITY.md +0 -116
  731. package/mcps/tdmcp/docs/reference/architecture.md +0 -191
  732. package/mcps/tdmcp/docs/reference/bridge-api.md +0 -155
  733. package/mcps/tdmcp/docs/reference/cli.md +0 -288
  734. package/mcps/tdmcp/docs/reference/coverage-harness.md +0 -61
  735. package/mcps/tdmcp/docs/reference/environment.md +0 -116
  736. package/mcps/tdmcp/docs/reference/packages.md +0 -98
  737. package/mcps/tdmcp/docs/reference/tool-contract.md +0 -74
  738. package/mcps/tdmcp/docs/superpowers/plans/2026-05-29-shader-park-animus-integrations.md +0 -76
  739. package/mcps/tdmcp/docs/superpowers/plans/2026-06-02-doctor-fix-textport-auto-install.md +0 -131
  740. package/mcps/tdmcp/docs/superpowers/plans/2026-06-06-body-bubbles.md +0 -138
  741. package/mcps/tdmcp/docs/superpowers/plans/2026-06-08-deep-doppelganger-implementation.md +0 -201
  742. package/mcps/tdmcp/docs/superpowers/plans/2026-06-10-ai-party-ollama-integration.md +0 -55
  743. package/mcps/tdmcp/docs/superpowers/plans/2026-06-24-kinect-wall-harp-calibration-wizard.md +0 -53
  744. package/mcps/tdmcp/docs/superpowers/plans/2026-06-24-kinect-wall-harp-external-kinect.md +0 -286
  745. package/mcps/tdmcp/docs/superpowers/specs/2026-05-31-create-vector-lines-design.md +0 -308
  746. package/mcps/tdmcp/docs/superpowers/specs/2026-06-01-ai-controlled-party-plan.md +0 -461
  747. package/mcps/tdmcp/docs/superpowers/specs/2026-06-04-ai-party-ui24r-scene-arming-design.md +0 -296
  748. package/mcps/tdmcp/docs/superpowers/specs/2026-06-08-ai-controlled-party-producer-poc.md +0 -232
  749. package/mcps/tdmcp/docs/superpowers/specs/2026-06-08-deep-doppelganger-design.md +0 -136
  750. package/mcps/tdmcp/docs/superpowers/specs/2026-06-10-hermes-ai-party-poc.md +0 -383
  751. package/mcps/tdmcp/docs/superpowers/specs/2026-06-23-kinect-wall-harp-design.md +0 -340
  752. package/mcps/tdmcp/docs/superpowers/specs/2026-06-24-kinect-environment-diagnostic-design.md +0 -151
  753. package/mcps/tdmcp/docs/superpowers/specs/2026-06-24-kinect-wall-harp-external-kinect-design.md +0 -104
  754. package/mcps/tdmcp/training/showintent/data/curated/.gitkeep +0 -1
  755. package/mcps/tdmcp/training/showintent/data/curated/curated-approved.jsonl +0 -1
  756. package/mcps/tdmcp/training/showintent/data/curation_template.csv +0 -1
  757. package/mcps/tdmcp/training/showintent/data/generated/.gitkeep +0 -1
  758. package/mcps/tdmcp/training/showintent/data/generated/showintent-synthetic.jsonl +0 -2000
  759. package/mcps/tdmcp/training/showintent/data/raw/.gitkeep +0 -1
  760. package/mcps/tdmcp/training/showintent/data/splits/.gitkeep +0 -1
  761. package/mcps/tdmcp/training/showintent/data/splits/train-compact.jsonl +0 -1800
  762. package/mcps/tdmcp/training/showintent/data/splits/train.jsonl +0 -1800
  763. package/mcps/tdmcp/training/showintent/data/splits/validation-compact.jsonl +0 -200
  764. package/mcps/tdmcp/training/showintent/data/splits/validation.jsonl +0 -200
  765. package/mcps/touchdesigner-mcp/assets/import.png +0 -0
  766. package/mcps/touchdesigner-mcp/assets/nodes_list.png +0 -0
  767. package/mcps/touchdesigner-mcp/assets/particle_on_youtube.png +0 -0
  768. package/mcps/touchdesigner-mcp/assets/textport.png +0 -0
  769. package/mcps/touchdesigner-mcp/assets/tutorial.png +0 -0
  770. package/mcps/touchdesigner-mcp/assets/tutorial_docker.png +0 -0
  771. package/mcps/touchdesigner-mcp/docs/architecture.md +0 -1245
  772. package/mcps/touchdesigner-mcp/docs/development.ja.md +0 -197
  773. package/mcps/touchdesigner-mcp/docs/development.md +0 -212
  774. package/mcps/touchdesigner-mcp/docs/installation.ja.md +0 -370
  775. package/mcps/touchdesigner-mcp/docs/installation.md +0 -406
  776. package/mcps/unreal_mcp/Public/icon.png +0 -0
  777. package/mcps/unreal_mcp/docs/Engine-API-Reference.md +0 -2251
  778. package/mcps/unreal_mcp/docs/Roadmap.md +0 -2269
  779. package/mcps/unreal_mcp/docs/editor-plugin-extension.md +0 -373
  780. package/mcps/unreal_mcp/docs/handler-mapping.md +0 -1170
  781. package/mcps/unreal_mcp/docs/native-automation-progress.md +0 -431
  782. package/mcps/unreal_mcp/docs/testing-guide.md +0 -149
  783. package/mcps/unreal_mcp/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/Domains/Test/McpAutomationBridge_TestHandlers.cpp +0 -74
  784. package/mcps/unreal_mcp/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/Tests/McpCustomHandlerAliasTests.cpp +0 -191
  785. package/mcps/unreal_mcp/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/Tests/McpEnvironmentSnapshotSchemaTests.cpp +0 -192
  786. package/mcps/unreal_mcp/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/Tests/McpPropertyReflectionImportTests.cpp +0 -269
  787. package/mcps/unreal_mcp/plugins/UnrealAgent/Source/UnrealAgent/Private/Tests/UnrealAgentAcpClientProtocolAutomation.cpp +0 -152
  788. package/mcps/unreal_mcp/plugins/UnrealAgent/Source/UnrealAgent/Private/Tests/UnrealAgentAcpProtocolTestHelpers.cpp +0 -136
  789. package/mcps/unreal_mcp/plugins/UnrealAgent/Source/UnrealAgent/Private/Tests/UnrealAgentAcpProtocolTestHelpers.h +0 -49
  790. package/mcps/unreal_mcp/plugins/UnrealAgent/Source/UnrealAgent/Private/Tests/UnrealAgentAutomationTestDelegates.h +0 -12
  791. package/mcps/unreal_mcp/plugins/UnrealAgent/Source/UnrealAgent/Private/Tests/UnrealAgentAutomationTests.cpp +0 -34
  792. package/mcps/unreal_mcp/plugins/UnrealAgent/Source/UnrealAgent/Private/Tests/UnrealAgentAutomationWidgetHelpers.cpp +0 -116
  793. package/mcps/unreal_mcp/plugins/UnrealAgent/Source/UnrealAgent/Private/Tests/UnrealAgentAutomationWidgetHelpers.h +0 -15
  794. package/mcps/unreal_mcp/plugins/UnrealAgent/Source/UnrealAgent/Private/Tests/UnrealAgentFakeAcpScript.cpp +0 -76
  795. package/mcps/unreal_mcp/plugins/UnrealAgent/Source/UnrealAgent/Private/Tests/UnrealAgentPanelAutomation.h +0 -35
  796. package/mcps/unreal_mcp/plugins/UnrealAgent/Source/UnrealAgent/Private/Tests/UnrealAgentPanelAutomationFixture.cpp +0 -118
  797. package/mcps/unreal_mcp/plugins/UnrealAgent/Source/UnrealAgent/Private/Tests/UnrealAgentPanelHistoryChecks.cpp +0 -162
  798. package/mcps/unreal_mcp/plugins/UnrealAgent/Source/UnrealAgent/Private/Tests/UnrealAgentPanelLayoutChecks.cpp +0 -158
  799. package/mcps/unreal_mcp/plugins/UnrealAgent/Source/UnrealAgent/Private/Tests/UnrealAgentPanelTranscriptChecks.cpp +0 -117
  800. package/mcps/unreal_mcp/plugins/UnrealAgent/Source/UnrealAgent/Private/Tests/UnrealAgentStudioKitAutomationChecks.cpp +0 -155
  801. package/mcps/unreal_mcp/tests/AGENTS.md +0 -73
  802. package/mcps/unreal_mcp/tests/expectation-utils.mjs +0 -29
  803. package/mcps/unreal_mcp/tests/heartbeat-progress.test.mjs +0 -143
  804. package/mcps/unreal_mcp/tests/integration/get_ai_info_characterization.mjs +0 -216
  805. package/mcps/unreal_mcp/tests/integration.mjs +0 -94
  806. package/mcps/unreal_mcp/tests/mcp-tools/core/control-actor.test.mjs +0 -114
  807. package/mcps/unreal_mcp/tests/mcp-tools/core/control-editor.test.mjs +0 -86
  808. package/mcps/unreal_mcp/tests/mcp-tools/core/inspect.test.mjs +0 -85
  809. package/mcps/unreal_mcp/tests/mcp-tools/core/manage-asset.test.mjs +0 -302
  810. package/mcps/unreal_mcp/tests/mcp-tools/core/manage-blueprint.test.mjs +0 -331
  811. package/mcps/unreal_mcp/tests/mcp-tools/core/manage-level.test.mjs +0 -73
  812. package/mcps/unreal_mcp/tests/mcp-tools/core/manage-tools.test.mjs +0 -30
  813. package/mcps/unreal_mcp/tests/mcp-tools/core/system-control.test.mjs +0 -205
  814. package/mcps/unreal_mcp/tests/mcp-tools/gameplay/animation-physics.test.mjs +0 -277
  815. package/mcps/unreal_mcp/tests/mcp-tools/gameplay/manage-ai.test.mjs +0 -299
  816. package/mcps/unreal_mcp/tests/mcp-tools/gameplay/manage-character.test.mjs +0 -85
  817. package/mcps/unreal_mcp/tests/mcp-tools/gameplay/manage-combat.test.mjs +0 -106
  818. package/mcps/unreal_mcp/tests/mcp-tools/gameplay/manage-effect.test.mjs +0 -108
  819. package/mcps/unreal_mcp/tests/mcp-tools/gameplay/manage-gas.test.mjs +0 -96
  820. package/mcps/unreal_mcp/tests/mcp-tools/gameplay/manage-interaction.test.mjs +0 -122
  821. package/mcps/unreal_mcp/tests/mcp-tools/gameplay/manage-inventory.test.mjs +0 -146
  822. package/mcps/unreal_mcp/tests/mcp-tools/utility/behavior-tree-get-tree.test.mjs +0 -233
  823. package/mcps/unreal_mcp/tests/mcp-tools/utility/manage-audio.test.mjs +0 -160
  824. package/mcps/unreal_mcp/tests/mcp-tools/utility/manage-behavior-tree.test.mjs +0 -223
  825. package/mcps/unreal_mcp/tests/mcp-tools/utility/manage-networking.test.mjs +0 -635
  826. package/mcps/unreal_mcp/tests/mcp-tools/utility/manage-sequence.test.mjs +0 -95
  827. package/mcps/unreal_mcp/tests/mcp-tools/world/build-environment.test.mjs +0 -282
  828. package/mcps/unreal_mcp/tests/mcp-tools/world/manage-geometry.test.mjs +0 -130
  829. package/mcps/unreal_mcp/tests/mcp-tools/world/manage-level-structure.test.mjs +0 -149
  830. package/mcps/unreal_mcp/tests/mcp-tools/world/manage-pcg.test.mjs +0 -471
  831. package/mcps/unreal_mcp/tests/mcp-tools/world/rendering-cases.cjs +0 -775
  832. package/mcps/unreal_mcp/tests/mcp-tools/world/rendering.test.mjs +0 -15
  833. package/mcps/unreal_mcp/tests/native-mcp-parity-audit.mjs +0 -260
  834. package/mcps/unreal_mcp/tests/native-mcp-source-parser.mjs +0 -229
  835. package/mcps/unreal_mcp/tests/native-mcp-typescript-parity-parser.mjs +0 -121
  836. package/mcps/unreal_mcp/tests/parameter-audit-cli.mjs +0 -23
  837. package/mcps/unreal_mcp/tests/parameter-audit-context.mjs +0 -14
  838. package/mcps/unreal_mcp/tests/parameter-audit-coverage.mjs +0 -164
  839. package/mcps/unreal_mcp/tests/parameter-audit-schema.mjs +0 -190
  840. package/mcps/unreal_mcp/tests/parameter-audit-suites.mjs +0 -218
  841. package/mcps/unreal_mcp/tests/parameter-combination-audit.mjs +0 -37
  842. package/mcps/unreal_mcp/tests/test-runner-response-utils.mjs +0 -132
  843. package/mcps/unreal_mcp/tests/test-runner.mjs +0 -1798
  844. package/mcps/unreal_mcp/tests/unit/automation/bridge_host_validation.test.ts +0 -165
  845. package/mcps/unreal_mcp/tests/unit/config.test.ts +0 -205
  846. package/mcps/unreal_mcp/tests/unit/native_mcp_parity_audit.test.ts +0 -281
  847. package/mcps/unreal_mcp/tests/unit/native_mcp_parity_comment_filtering.test.ts +0 -175
  848. package/mcps/unreal_mcp/tests/unit/parameter_audit_schema.test.ts +0 -273
  849. package/mcps/unreal_mcp/tests/unit/plugin/automation_event_stream_contracts.test.ts +0 -195
  850. package/mcps/unreal_mcp/tests/unit/plugin/environment_asset_name_contracts.test.ts +0 -115
  851. package/mcps/unreal_mcp/tests/unit/plugin/environment_build_adapter_contracts.test.ts +0 -377
  852. package/mcps/unreal_mcp/tests/unit/plugin/environment_snapshot_path_contracts.test.ts +0 -122
  853. package/mcps/unreal_mcp/tests/unit/plugin/handler_routing_contracts.test.ts +0 -120
  854. package/mcps/unreal_mcp/tests/unit/plugin/level_lighting_contracts.test.ts +0 -125
  855. package/mcps/unreal_mcp/tests/unit/plugin/plugin_manifest_contracts.test.ts +0 -154
  856. package/mcps/unreal_mcp/tests/unit/plugin/plugin_packaging_contracts.test.ts +0 -124
  857. package/mcps/unreal_mcp/tests/unit/plugin/runtime_behavior_contracts.test.ts +0 -372
  858. package/mcps/unreal_mcp/tests/unit/plugin/security_contracts.test.ts +0 -81
  859. package/mcps/unreal_mcp/tests/unit/plugin/source_structure.test.ts +0 -101
  860. package/mcps/unreal_mcp/tests/unit/plugin/source_structure_contracts.test.ts +0 -103
  861. package/mcps/unreal_mcp/tests/unit/plugin/websocket_origin_contracts.test.ts +0 -25
  862. package/mcps/unreal_mcp/tests/unit/server_shutdown_contracts.test.ts +0 -33
  863. package/mcps/unreal_mcp/tests/unit/source_structure.test.ts +0 -79
  864. package/mcps/unreal_mcp/tests/unit/test_runner.test.ts +0 -342
  865. package/mcps/unreal_mcp/tests/unit/test_runner_response_utils.test.ts +0 -105
  866. package/mcps/unreal_mcp/tests/unit/tools/asset_handlers_security.test.ts +0 -246
  867. package/mcps/unreal_mcp/tests/unit/tools/behavior_tree_get_tree.test.ts +0 -20
  868. package/mcps/unreal_mcp/tests/unit/tools/blueprint_handlers.test.ts +0 -122
  869. package/mcps/unreal_mcp/tests/unit/tools/editor.test.ts +0 -56
  870. package/mcps/unreal_mcp/tests/unit/tools/handler_structure.test.ts +0 -59
  871. package/mcps/unreal_mcp/tests/unit/tools/inspect_handlers.test.ts +0 -231
  872. package/mcps/unreal_mcp/tests/unit/tools/level.test.ts +0 -56
  873. package/mcps/unreal_mcp/tests/unit/tools/level_security.test.ts +0 -45
  874. package/mcps/unreal_mcp/tests/unit/tools/lighting_timeout_propagation.test.ts +0 -123
  875. package/mcps/windows-computer-use-mcp/cua-reports/app-1781542686.png +0 -0
  876. package/mcps/windows-computer-use-mcp/cua-reports/bridge-1781542694.png +0 -0
  877. package/mcps/windows-computer-use-mcp/cua-reports/bridge-ok-1781442393.png +0 -0
  878. package/mcps/windows-computer-use-mcp/cua-reports/bridge-ok-1781442915.png +0 -0
  879. package/mcps/windows-computer-use-mcp/cua-reports/bridge-snap-1781444105.png +0 -0
  880. package/mcps/windows-computer-use-mcp/cua-reports/bridge-snap-1781444214.png +0 -0
  881. package/mcps/windows-computer-use-mcp/cua-reports/bridge-snap-1781457035.png +0 -0
  882. package/mcps/windows-computer-use-mcp/cua-reports/cua-smoke-1781440024.png +0 -0
  883. package/mcps/windows-computer-use-mcp/cua-reports/cua-smoke-1781440234.png +0 -0
  884. package/mcps/windows-computer-use-mcp/cua-reports/cua-smoke-1781442383.png +0 -0
  885. package/mcps/windows-computer-use-mcp/cua-reports/cua-smoke-1781442906.png +0 -0
  886. package/mcps/windows-computer-use-mcp/cua-reports/cua-smoke-1781444096.png +0 -0
  887. package/mcps/windows-computer-use-mcp/cua-reports/cua-smoke-1781444209.png +0 -0
  888. package/mcps/windows-computer-use-mcp/cua-reports/cua-smoke-1781457029.png +0 -0
  889. package/mcps/windows-computer-use-mcp/cua-reports/nav/dashboard-1781542713.png +0 -0
  890. package/mcps/windows-computer-use-mcp/cua-reports/nav/help-1781542738.png +0 -0
  891. package/mcps/windows-computer-use-mcp/cua-reports/nav/logging-1781542722.png +0 -0
  892. package/mcps/windows-computer-use-mcp/cua-reports/nav/nav-dashboard-1781444225.png +0 -0
  893. package/mcps/windows-computer-use-mcp/cua-reports/nav/nav-dashboard-1781457051.png +0 -0
  894. package/mcps/windows-computer-use-mcp/cua-reports/nav/nav-help-1781444245.png +0 -0
  895. package/mcps/windows-computer-use-mcp/cua-reports/nav/nav-help-1781457075.png +0 -0
  896. package/mcps/windows-computer-use-mcp/cua-reports/nav/nav-logging-1781444232.png +0 -0
  897. package/mcps/windows-computer-use-mcp/cua-reports/nav/nav-logging-1781457059.png +0 -0
  898. package/mcps/windows-computer-use-mcp/cua-reports/nav/nav-settings-1781444239.png +0 -0
  899. package/mcps/windows-computer-use-mcp/cua-reports/nav/nav-settings-1781457067.png +0 -0
  900. package/mcps/windows-computer-use-mcp/cua-reports/nav/settings-1781542730.png +0 -0
  901. package/mcps/windows-computer-use-mcp/cua-reports/nav-dashboard-1781442925.png +0 -0
  902. package/mcps/windows-computer-use-mcp/cua-reports/nav-help-1781442941.png +0 -0
  903. package/mcps/windows-computer-use-mcp/cua-reports/nav-logging-1781442930.png +0 -0
  904. package/mcps/windows-computer-use-mcp/cua-reports/nav-settings-1781442936.png +0 -0
  905. package/mcps/windows-computer-use-mcp/docs/ARCHITECTURE.md +0 -46
  906. package/mcps/windows-computer-use-mcp/docs/ASSESSMENT_BY_CURSOR_2026-06-14_CUA_NSIS.md +0 -383
  907. package/mcps/windows-computer-use-mcp/docs/AUTOMATION_ASSERT_SPEC.md +0 -202
  908. package/mcps/windows-computer-use-mcp/docs/CUA_PARITY.md +0 -39
  909. package/mcps/windows-computer-use-mcp/docs/DEVELOPMENT.md +0 -51
  910. package/mcps/windows-computer-use-mcp/docs/MEMOPS_CUA.md +0 -147
  911. package/mcps/windows-computer-use-mcp/docs/PRD.md +0 -93
  912. package/mcps/windows-computer-use-mcp/docs/README.md +0 -34
  913. package/mcps/windows-computer-use-mcp/docs/ROADMAP.md +0 -142
  914. package/mcps/windows-computer-use-mcp/docs/SAFETY.md +0 -138
  915. package/mcps/windows-computer-use-mcp/docs/TESTING.md +0 -90
  916. package/mcps/windows-computer-use-mcp/docs/TOOLS.md +0 -80
  917. package/mcps/windows-computer-use-mcp/docs/TOOL_DOCSTRING_STANDARD.md +0 -538
  918. package/mcps/windows-computer-use-mcp/docs/_stale/AHK_VS_PYWINAUTO_COMPARISON.md +0 -353
  919. package/mcps/windows-computer-use-mcp/docs/_stale/ASSESSMENT.md +0 -54
  920. package/mcps/windows-computer-use-mcp/docs/_stale/ASSESSMENT_2026-06-08.md +0 -309
  921. package/mcps/windows-computer-use-mcp/docs/_stale/COMPLETE_DOCUMENTATION_STRUCTURE.md +0 -5
  922. package/mcps/windows-computer-use-mcp/docs/_stale/CUA_ASSISTANT_TODO.md +0 -84
  923. package/mcps/windows-computer-use-mcp/docs/_stale/CUA_PARITY_ROADMAP.md +0 -81
  924. package/mcps/windows-computer-use-mcp/docs/_stale/CUA_ROADMAP.md +0 -306
  925. package/mcps/windows-computer-use-mcp/docs/_stale/DESKTOP_APP.md +0 -125
  926. package/mcps/windows-computer-use-mcp/docs/_stale/DOCUMENTATION_INDEX.md +0 -59
  927. package/mcps/windows-computer-use-mcp/docs/_stale/GLAMA_AI_CRITICISM_ANALYSIS.md +0 -259
  928. package/mcps/windows-computer-use-mcp/docs/_stale/GLAMA_AI_PLATFORM.md +0 -175
  929. package/mcps/windows-computer-use-mcp/docs/_stale/GLAMA_AI_RESCAN_GUIDE.md +0 -216
  930. package/mcps/windows-computer-use-mcp/docs/_stale/GOLD_STATUS_ACHIEVEMENT.md +0 -197
  931. package/mcps/windows-computer-use-mcp/docs/_stale/LLM_REPO_CONTEXT.md +0 -7
  932. package/mcps/windows-computer-use-mcp/docs/_stale/MCP_PRODUCTION_CHECKLIST.md +0 -105
  933. package/mcps/windows-computer-use-mcp/docs/_stale/OFFICE_BACKGROUND_MATRIX.md +0 -19
  934. package/mcps/windows-computer-use-mcp/docs/_stale/OPERATOR_PROTOCOL.md +0 -37
  935. package/mcps/windows-computer-use-mcp/docs/_stale/ORGANIZATION_SUMMARY.md +0 -305
  936. package/mcps/windows-computer-use-mcp/docs/_stale/RENAME-TO-AUTOMATION-MCP.md +0 -191
  937. package/mcps/windows-computer-use-mcp/docs/_stale/STATUS_REPORT.md +0 -288
  938. package/mcps/windows-computer-use-mcp/docs/_stale/TARGETS_PAGE_SKETCH.md +0 -977
  939. package/mcps/windows-computer-use-mcp/docs/_stale/TOOL_DOCSTRING_MIGRATION.md +0 -365
  940. package/mcps/windows-computer-use-mcp/docs/_stale/USAGE_SCENARIOS.md +0 -697
  941. package/mcps/windows-computer-use-mcp/docs/_stale/desktop-state-tool.md +0 -464
  942. package/mcps/windows-computer-use-mcp/docs/_stale/development/README.md +0 -18
  943. package/mcps/windows-computer-use-mcp/docs/_stale/development/archive/AI_DEVELOPMENT_RULES.md +0 -928
  944. package/mcps/windows-computer-use-mcp/docs/_stale/development/archive/AI_DEVELOPMENT_TOOLS_COMPARISON.md +0 -364
  945. package/mcps/windows-computer-use-mcp/docs/_stale/development/archive/BULLETPROOF_MCP_GUIDE.md +0 -793
  946. package/mcps/windows-computer-use-mcp/docs/_stale/development/archive/DEBUGGING_LESSONS_LEARNED.md +0 -635
  947. package/mcps/windows-computer-use-mcp/docs/_stale/development/archive/DEVELOPMENT_PAIN_POINTS.md +0 -699
  948. package/mcps/windows-computer-use-mcp/docs/_stale/development/archive/FILE_VALIDATION_COMPLETE.md +0 -410
  949. package/mcps/windows-computer-use-mcp/docs/_stale/development/archive/FILE_VALIDATION_GUIDE.md +0 -575
  950. package/mcps/windows-computer-use-mcp/docs/_stale/development/archive/LINK_PARSER_FIX.md +0 -769
  951. package/mcps/windows-computer-use-mcp/docs/_stale/development/archive/MCP_SYNC_DEBUGGING_GUIDE.md +0 -512
  952. package/mcps/windows-computer-use-mcp/docs/_stale/development/archive/PYTHON_DEPENDENCY_HELL_FIX.md +0 -568
  953. package/mcps/windows-computer-use-mcp/docs/_stale/development/archive/PYTHON_SNIPPETS_USAGE_GUIDE.md +0 -717
  954. package/mcps/windows-computer-use-mcp/docs/_stale/development/archive/README.md +0 -25
  955. package/mcps/windows-computer-use-mcp/docs/_stale/development/archive/SYNC_HEALTH_IMPROVEMENTS_SUMMARY.md +0 -496
  956. package/mcps/windows-computer-use-mcp/docs/_stale/development/archive/SYNC_HEALTH_INTEGRATION.md +0 -381
  957. package/mcps/windows-computer-use-mcp/docs/_stale/development/archive/SYSTEMATIC_PROJECT_UPDATES.md +0 -532
  958. package/mcps/windows-computer-use-mcp/docs/_stale/development/archive/mcp-prompt-templates-vs-docstrings.md +0 -657
  959. package/mcps/windows-computer-use-mcp/docs/_stale/development/archive/mcp-tool-docstring-best-practices.md +0 -439
  960. package/mcps/windows-computer-use-mcp/docs/_stale/development/archive/mcp-tool-documentation-standards.md +0 -1153
  961. package/mcps/windows-computer-use-mcp/docs/_stale/glama-platform/CI_CD_GLAMA_OPTIMIZATION_GUIDE.md +0 -850
  962. package/mcps/windows-computer-use-mcp/docs/_stale/glama-platform/GLAMA_AI_CRITICISM_ANALYSIS.md +0 -259
  963. package/mcps/windows-computer-use-mcp/docs/_stale/glama-platform/GLAMA_AI_OPTIMIZATION_SUMMARY.md +0 -204
  964. package/mcps/windows-computer-use-mcp/docs/_stale/glama-platform/GLAMA_AI_PLATFORM.md +0 -175
  965. package/mcps/windows-computer-use-mcp/docs/_stale/glama-platform/GLAMA_AI_RESCAN_GUIDE.md +0 -216
  966. package/mcps/windows-computer-use-mcp/docs/_stale/glama-platform/GLAMA_GITHUB_APP_SETUP.md +0 -199
  967. package/mcps/windows-computer-use-mcp/docs/_stale/glama-platform/GLAMA_INTEGRATION.md +0 -181
  968. package/mcps/windows-computer-use-mcp/docs/_stale/glama-platform/GLAMA_RESCAN_EMAIL.txt +0 -43
  969. package/mcps/windows-computer-use-mcp/docs/_stale/glama-platform/GOLD_STATUS_ACHIEVEMENT.md +0 -197
  970. package/mcps/windows-computer-use-mcp/docs/_stale/glama-platform/GOLD_STATUS_UPDATE_2025_10_08.md +0 -378
  971. package/mcps/windows-computer-use-mcp/docs/_stale/glama-platform/README.md +0 -632
  972. package/mcps/windows-computer-use-mcp/docs/_stale/legacy/requirements-fastmcp.txt +0 -8
  973. package/mcps/windows-computer-use-mcp/docs/_stale/legacy/requirements_minimal.txt +0 -4
  974. package/mcps/windows-computer-use-mcp/docs/_stale/mcp-technical/CLAUDE_DESKTOP_DEBUGGING.md +0 -561
  975. package/mcps/windows-computer-use-mcp/docs/_stale/mcp-technical/CONTAINERIZATION_GUIDELINES.md +0 -707
  976. package/mcps/windows-computer-use-mcp/docs/_stale/mcp-technical/MCP_PRODUCTION_CHECKLIST.md +0 -101
  977. package/mcps/windows-computer-use-mcp/docs/_stale/mcp-technical/MONITORING_STACK_DEPLOYMENT.md +0 -532
  978. package/mcps/windows-computer-use-mcp/docs/_stale/mcp-technical/README.md +0 -266
  979. package/mcps/windows-computer-use-mcp/docs/_stale/mcp-technical/TROUBLESHOOTING_FASTMCP_2.12.md +0 -670
  980. package/mcps/windows-computer-use-mcp/docs/_stale/mcpb-packaging/MCPB_BUILDING_GUIDE.md +0 -1921
  981. package/mcps/windows-computer-use-mcp/docs/_stale/mcpb-packaging/MCPB_IMPLEMENTATION_SUMMARY.md +0 -387
  982. package/mcps/windows-computer-use-mcp/docs/_stale/mcpb-packaging/PYPI_PUBLISHING_GUIDE.md +0 -789
  983. package/mcps/windows-computer-use-mcp/docs/_stale/mcpb-packaging/README.md +0 -404
  984. package/mcps/windows-computer-use-mcp/docs/_stale/notepadpp/COMMUNITY_AND_SUPPORT.md +0 -976
  985. package/mcps/windows-computer-use-mcp/docs/_stale/notepadpp/LANGUAGE_SERVER_PROTOCOL_EXPLAINED.md +0 -416
  986. package/mcps/windows-computer-use-mcp/docs/_stale/notepadpp/MCP_TOOL_CORRUPTION_ISSUE.md +0 -279
  987. package/mcps/windows-computer-use-mcp/docs/_stale/notepadpp/NOTEPADPP_ALTERNATIVES.md +0 -308
  988. package/mcps/windows-computer-use-mcp/docs/_stale/notepadpp/NOTEPADPP_COLOR_FIX_2025_10_08.md +0 -187
  989. package/mcps/windows-computer-use-mcp/docs/_stale/notepadpp/NOTEPADPP_COMPLETE_GUIDE.md +0 -1259
  990. package/mcps/windows-computer-use-mcp/docs/_stale/notepadpp/NOTEPADPP_NUCLEAR_REINSTALL_2025_10_08.md +0 -196
  991. package/mcps/windows-computer-use-mcp/docs/_stale/notepadpp/NPP_WHITE_ON_WHITE_BATTLE_PLAN.md +0 -336
  992. package/mcps/windows-computer-use-mcp/docs/_stale/notepadpp/PLUGIN_ECOSYSTEM_COMPREHENSIVE.md +0 -887
  993. package/mcps/windows-computer-use-mcp/docs/_stale/notepadpp/README.md +0 -472
  994. package/mcps/windows-computer-use-mcp/docs/_stale/repository-protection/BACKUP_AND_RECOVERY_GUIDE.md +0 -455
  995. package/mcps/windows-computer-use-mcp/docs/_stale/repository-protection/BRANCH_PROTECTION_SETTINGS.md +0 -236
  996. package/mcps/windows-computer-use-mcp/docs/_stale/repository-protection/BRANCH_STRATEGY_AND_AI_WORKFLOW.md +0 -616
  997. package/mcps/windows-computer-use-mcp/docs/_stale/repository-protection/README.md +0 -333
  998. package/mcps/windows-computer-use-mcp/docs/_stale/serena/SERENA_COPY_TO_OTHER_REPOS.md +0 -159
  999. package/mcps/windows-computer-use-mcp/docs/_stale/serena/SERENA_GUIDE.md +0 -632
  1000. package/mcps/windows-computer-use-mcp/docs/_stale/serena/SERENA_INSTALL_AND_TEST.md +0 -569
  1001. package/mcps/windows-computer-use-mcp/docs/_stale/serena/SERENA_NEXT_STEPS.md +0 -351
  1002. package/mcps/windows-computer-use-mcp/docs/_stale/serena/SERENA_QUICK_INSTALL.md +0 -195
  1003. package/mcps/windows-computer-use-mcp/docs/_stale/state-tool-implementation.md +0 -498
  1004. package/mcps/windows-computer-use-mcp/docs/composing-with-playwright.md +0 -55
  1005. package/mcps/windows-computer-use-mcp/docs/cua-nsis-certification.md +0 -101
  1006. package/mcps/windows-computer-use-mcp/docs/ocr.md +0 -107
  1007. package/mcps/windows-computer-use-mcp/docs/py-stack.md +0 -47
  1008. package/mcps/windows-computer-use-mcp/native/icons/icon.png +0 -0
  1009. package/mcps/windows-computer-use-mcp/screenshot_demo.png +0 -0
  1010. package/mcps/windows-computer-use-mcp/src/windows_computer_use_mcp/templates/vroidstudio/default/export_complete_toast.png +0 -0
  1011. package/mcps/windows-computer-use-mcp/src/windows_computer_use_mcp/templates/vroidstudio/default/export_dialog_title.png +0 -0
  1012. package/mcps/windows-computer-use-mcp/src/windows_computer_use_mcp/templates/vroidstudio/default/file_dialog_path_field.png +0 -0
  1013. package/mcps/windows-computer-use-mcp/src/windows_computer_use_mcp/templates/vroidstudio/default/sample_tile_female.png +0 -0
  1014. package/mcps/windows-computer-use-mcp/tests/README.md +0 -155
  1015. package/mcps/windows-computer-use-mcp/tests/__init__.py +0 -1
  1016. package/mcps/windows-computer-use-mcp/tests/conftest.py +0 -281
  1017. package/mcps/windows-computer-use-mcp/tests/conftest_env.py +0 -116
  1018. package/mcps/windows-computer-use-mcp/tests/e2e/conftest.py +0 -96
  1019. package/mcps/windows-computer-use-mcp/tests/e2e/test_libreoffice_cua_loop.py +0 -72
  1020. package/mcps/windows-computer-use-mcp/tests/test_app_integration.py +0 -83
  1021. package/mcps/windows-computer-use-mcp/tests/test_app_profiles.py +0 -28
  1022. package/mcps/windows-computer-use-mcp/tests/test_automation_assert.py +0 -185
  1023. package/mcps/windows-computer-use-mcp/tests/test_automation_dialog.py +0 -43
  1024. package/mcps/windows-computer-use-mcp/tests/test_automation_elements.py +0 -138
  1025. package/mcps/windows-computer-use-mcp/tests/test_automation_keyboard.py +0 -57
  1026. package/mcps/windows-computer-use-mcp/tests/test_automation_mouse.py +0 -57
  1027. package/mcps/windows-computer-use-mcp/tests/test_automation_shortcut.py +0 -41
  1028. package/mcps/windows-computer-use-mcp/tests/test_automation_task.py +0 -115
  1029. package/mcps/windows-computer-use-mcp/tests/test_automation_windows.py +0 -105
  1030. package/mcps/windows-computer-use-mcp/tests/test_cameras_api.py +0 -43
  1031. package/mcps/windows-computer-use-mcp/tests/test_cua_parity.py +0 -51
  1032. package/mcps/windows-computer-use-mcp/tests/test_dependency_failures.py +0 -39
  1033. package/mcps/windows-computer-use-mcp/tests/test_desktop_state.py +0 -99
  1034. package/mcps/windows-computer-use-mcp/tests/test_face_recognition.py +0 -238
  1035. package/mcps/windows-computer-use-mcp/tests/test_face_recognition_api.py +0 -161
  1036. package/mcps/windows-computer-use-mcp/tests/test_images/README.md +0 -28
  1037. package/mcps/windows-computer-use-mcp/tests/test_mission.py +0 -42
  1038. package/mcps/windows-computer-use-mcp/tests/test_portmanteau_windows_mock.py +0 -173
  1039. package/mcps/windows-computer-use-mcp/tests/test_portmanteau_windows_real.py +0 -139
  1040. package/mcps/windows-computer-use-mcp/tests/test_retry.py +0 -26
  1041. package/mcps/windows-computer-use-mcp/tests/test_safety_api.py +0 -24
  1042. package/mcps/windows-computer-use-mcp/tests/test_template_library.py +0 -53
  1043. package/mcps/windows-computer-use-mcp/tests/test_utils.py +0 -185
  1044. package/mcps/windows-computer-use-mcp/web_sota/src-tauri/icons/icon.png +0 -0
  1045. package/skills/global_config/google-sheets-automation/SKILL.md +0 -150
  1046. package/skills/global_config/senior-fullstack/SKILL.md +0 -221
  1047. package/skills/global_config/senior-fullstack/references/architecture_patterns.md +0 -103
  1048. package/skills/global_config/senior-fullstack/references/development_workflows.md +0 -103
  1049. package/skills/global_config/senior-fullstack/references/tech_stack_guide.md +0 -103
  1050. package/skills/global_config/senior-fullstack/scripts/code_quality_analyzer.py +0 -114
  1051. package/skills/global_config/senior-fullstack/scripts/fullstack_scaffolder.py +0 -114
  1052. 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.