@hybridlabor-api/aos 4.2.0 → 4.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1098) hide show
  1. package/.claude/hooks/memb-inject.mjs +121 -0
  2. package/.claude/settings.json +10 -0
  3. package/CLAUDE.md +37 -84
  4. package/CODEX.md +31 -12
  5. package/GEMINI.md +51 -58
  6. package/README.de.md +13 -14
  7. package/README.md +13 -14
  8. package/README.pt.md +13 -14
  9. package/THIRD_PARTY_NOTICES.md +54 -0
  10. package/docs/skills_table.md +0 -2
  11. package/installer.js +29 -16
  12. package/package.json +21 -2
  13. package/scripts/validate-skills.mjs +402 -0
  14. package/skills/basic/godmode-engineering/SKILL.md +1 -1
  15. package/skills/basic/godmode-shipping/SKILL.md +1 -1
  16. package/skills/github-repo/SKILL.md +1 -0
  17. package/skills/global_config/agent-tool-builder/SKILL.md +5 -4
  18. package/skills/global_config/ai-product/SKILL.md +3 -2
  19. package/skills/global_config/aos-project-init/SKILL.md +194 -0
  20. package/skills/global_config/aos-project-init/assets/AGENTS.template.md +56 -0
  21. package/skills/global_config/aos-project-init/scripts/aos-project-doctor.mjs +137 -0
  22. package/skills/global_config/aos-setup/SKILL.md +222 -0
  23. package/skills/global_config/aos-setup/scripts/aos-doctor.mjs +262 -0
  24. package/skills/global_config/ask-tim/SKILL.md +4 -2
  25. package/skills/global_config/{bdb-adobe-suite-mcp.md → bdb-adobe-suite-mcp/SKILL.md} +1 -0
  26. package/skills/global_config/{bdb-after-effects-mcp.md → bdb-after-effects-mcp/SKILL.md} +1 -0
  27. package/skills/global_config/{bdb-blender-mcp.md → bdb-blender-mcp/SKILL.md} +1 -0
  28. package/skills/global_config/{bdb-computer-use-mcp.md → bdb-computer-use-mcp/SKILL.md} +1 -0
  29. package/skills/global_config/{bdb-davinci-mcp.md → bdb-davinci-mcp/SKILL.md} +1 -0
  30. package/skills/global_config/bdb-ecosystem-health/SKILL.md +3 -3
  31. package/skills/global_config/{bdb-grandma3-mcp.md → bdb-grandma3-mcp/SKILL.md} +1 -0
  32. package/skills/global_config/{bdb-memb-mcp.md → bdb-memb-mcp/SKILL.md} +10 -0
  33. package/skills/global_config/{bdb-resolume-mcp.md → bdb-resolume-mcp/SKILL.md} +1 -0
  34. package/skills/global_config/{bdb-rhino-mcp.md → bdb-rhino-mcp/SKILL.md} +1 -0
  35. package/skills/global_config/{bdb-touchdesigner-mcp.md → bdb-touchdesigner-mcp/SKILL.md} +1 -0
  36. package/skills/global_config/{bdb-unreal-mcp.md → bdb-unreal-mcp/SKILL.md} +1 -0
  37. package/skills/global_config/{bdb-vectorworks-mcp.md → bdb-vectorworks-mcp/SKILL.md} +1 -0
  38. package/skills/global_config/bdbsaashost/SKILL.md +50 -50
  39. package/skills/global_config/browser-automation/SKILL.md +4 -4
  40. package/skills/global_config/crewai/SKILL.md +3 -2
  41. package/skills/global_config/debugger/SKILL.md +3 -6
  42. package/skills/global_config/git-advanced-workflows/SKILL.md +0 -1
  43. package/skills/global_config/github-actions-templates/SKILL.md +0 -2
  44. package/skills/global_config/neon-postgres/SKILL.md +3 -2
  45. package/skills/global_config/playwright-skill/SKILL.md +1 -1
  46. package/skills/global_config/posix-shell-pro/SKILL.md +0 -1
  47. package/skills/global_config/postgres-best-practices/SKILL.md +1 -1
  48. package/skills/global_config/prompt-engineering-patterns/SKILL.md +0 -1
  49. package/skills/global_config/rag-engineer/SKILL.md +4 -3
  50. package/skills/global_config/react-best-practices/SKILL.md +1 -1
  51. package/skills/global_config/remotion/SKILL.md +0 -1
  52. package/skills/global_config/seo/SKILL.md +6 -41
  53. package/skills/global_config/systematic-debugging/CREATION-LOG.md +1 -1
  54. package/skills/global_config/systematic-debugging/root-cause-tracing.md +1 -1
  55. package/skills/global_config/turborepo-caching/SKILL.md +0 -1
  56. package/skills/global_config/using-neon/SKILL.md +1 -47
  57. package/skills/global_config/vector-database-engineer/SKILL.md +0 -1
  58. package/skills/global_config/web-artifacts-builder/LICENSE.txt +1 -1
  59. package/skills/global_config/web-artifacts-builder/SKILL.md +1 -1
  60. package/skills/global_config/webapp-testing/LICENSE.txt +1 -1
  61. package/skills/global_config/webapp-testing/SKILL.md +1 -1
  62. package/assets/Give_AI_Agents_Control_of_Creative_Software.mp4 +0 -0
  63. package/mcps/RhinoMCP/connector/icon-dark.png +0 -3
  64. package/mcps/RhinoMCP/connector/icon-light.png +0 -3
  65. package/mcps/RhinoMCP/connector/screenshots/casa-rhino.png +0 -3
  66. package/mcps/RhinoMCP/docs/assets/css/custom.css +0 -640
  67. package/mcps/RhinoMCP/docs/content/_index.md +0 -88
  68. package/mcps/RhinoMCP/docs/content/docs/_index.md +0 -35
  69. package/mcps/RhinoMCP/docs/content/docs/advanced/_index.md +0 -37
  70. package/mcps/RhinoMCP/docs/content/docs/advanced/bulk-file-processing.md +0 -70
  71. package/mcps/RhinoMCP/docs/content/docs/advanced/headless-render-farm.md +0 -60
  72. package/mcps/RhinoMCP/docs/content/docs/advanced/make-this-parametric.md +0 -56
  73. package/mcps/RhinoMCP/docs/content/docs/advanced/sketch-to-model.md +0 -58
  74. package/mcps/RhinoMCP/docs/content/docs/advanced/upgrade-gh1-to-gh2.md +0 -51
  75. package/mcps/RhinoMCP/docs/content/docs/developers/_index.md +0 -39
  76. package/mcps/RhinoMCP/docs/content/docs/developers/dev-troubleshooting.md +0 -15
  77. package/mcps/RhinoMCP/docs/content/docs/developers/plugin-prototyping.md +0 -56
  78. package/mcps/RhinoMCP/docs/content/docs/developers/upgrade-gh1-to-gh2.md +0 -98
  79. package/mcps/RhinoMCP/docs/content/docs/developers/upgrade-to-netcore.md +0 -53
  80. package/mcps/RhinoMCP/docs/content/docs/developers/windows-to-cross-platform.md +0 -58
  81. package/mcps/RhinoMCP/docs/content/docs/developers/wpf-to-eto.md +0 -64
  82. package/mcps/RhinoMCP/docs/content/docs/getting-started/_index.md +0 -45
  83. package/mcps/RhinoMCP/docs/content/docs/getting-started/cc-plugin.md +0 -116
  84. package/mcps/RhinoMCP/docs/content/docs/getting-started/connector.md +0 -65
  85. package/mcps/RhinoMCP/docs/content/docs/getting-started/copilot.md +0 -61
  86. package/mcps/RhinoMCP/docs/content/docs/getting-started/lm-studio.md +0 -62
  87. package/mcps/RhinoMCP/docs/content/docs/troubleshooting.md +0 -66
  88. package/mcps/RhinoMCP/docs/content/docs/try-it-out/_index.md +0 -39
  89. package/mcps/RhinoMCP/docs/content/docs/try-it-out/examples/_index.md +0 -25
  90. package/mcps/RhinoMCP/docs/content/docs/try-it-out/examples/build-grasshopper.md +0 -26
  91. package/mcps/RhinoMCP/docs/content/docs/try-it-out/examples/generate-variations.md +0 -25
  92. package/mcps/RhinoMCP/docs/content/docs/try-it-out/examples/inspect-and-report.md +0 -26
  93. package/mcps/RhinoMCP/docs/content/docs/try-it-out/examples/layers.md +0 -28
  94. package/mcps/RhinoMCP/docs/content/docs/try-it-out/examples/model-from-image.md +0 -27
  95. package/mcps/RhinoMCP/docs/content/docs/try-it-out/recipes.md +0 -178
  96. package/mcps/RhinoMCP/docs/data/icons.yaml +0 -3
  97. package/mcps/RhinoMCP/docs/go.mod +0 -5
  98. package/mcps/RhinoMCP/docs/go.sum +0 -4
  99. package/mcps/RhinoMCP/docs/hugo.yaml +0 -78
  100. package/mcps/RhinoMCP/docs/layouts/_partials/sidebar.html +0 -333
  101. package/mcps/RhinoMCP/docs/layouts/docs/list.html +0 -29
  102. package/mcps/RhinoMCP/docs/layouts/docs/single.html +0 -29
  103. package/mcps/RhinoMCP/docs/layouts/partials/custom/head-end.html +0 -3
  104. package/mcps/RhinoMCP/docs/layouts/shortcodes/download-asset.html +0 -21
  105. package/mcps/RhinoMCP/docs/layouts/shortcodes/github.html +0 -21
  106. package/mcps/RhinoMCP/docs/layouts/shortcodes/prompt.html +0 -23
  107. package/mcps/RhinoMCP/docs/layouts/shortcodes/yak.html +0 -21
  108. package/mcps/RhinoMCP/docs/static/developer/sel-arc.png +0 -3
  109. package/mcps/RhinoMCP/docs/static/developer/voxelizer-gh2-conversion.png +0 -3
  110. package/mcps/RhinoMCP/docs/static/examples/ai-kettle.png +0 -3
  111. package/mcps/RhinoMCP/docs/static/examples/casa_rhino_shapes.png +0 -3
  112. package/mcps/RhinoMCP/docs/static/examples/kettle.jpg +0 -0
  113. package/mcps/RhinoMCP/docs/static/examples/raygun-layers.png +0 -3
  114. package/mcps/RhinoMCP/docs/static/examples/raygun-thumbnail.png +0 -3
  115. package/mcps/RhinoMCP/docs/static/examples/twisty-tower-gh.png +0 -3
  116. package/mcps/RhinoMCP/docs/static/favicon.svg +0 -26
  117. package/mcps/RhinoMCP/docs/static/images/landing-dark.png +0 -3
  118. package/mcps/RhinoMCP/docs/static/images/landing.png +0 -3
  119. package/mcps/RhinoMCP/docs/static/images/logo-dark.svg +0 -26
  120. package/mcps/RhinoMCP/docs/static/images/logo.svg +0 -26
  121. package/mcps/RhinoMCP/docs/static/local-llm.png +0 -3
  122. package/mcps/RhinoMCP/rhino/plugin/icon.png +0 -3
  123. package/mcps/RhinoMCP/tests/Acp.Tests/Acp.Tests.csproj +0 -29
  124. package/mcps/RhinoMCP/tests/Acp.Tests/CoverageTests.cs +0 -52
  125. package/mcps/RhinoMCP/tests/Acp.Tests/Fakes.cs +0 -90
  126. package/mcps/RhinoMCP/tests/Acp.Tests/GlobalUsings.cs +0 -1
  127. package/mcps/RhinoMCP/tests/Acp.Tests/LoopbackTests.cs +0 -59
  128. package/mcps/RhinoMCP/tests/Acp.Tests/RobustnessTests.cs +0 -124
  129. package/mcps/RhinoMCP/tests/Acp.Tests/SerializationTests.cs +0 -94
  130. package/mcps/RhinoMCP/tests/Integration.Tests/AdoptedSlotTests.cs +0 -136
  131. package/mcps/RhinoMCP/tests/Integration.Tests/AutoSpawnNotificationTests.cs +0 -63
  132. package/mcps/RhinoMCP/tests/Integration.Tests/CloseSlotAgentTests.cs +0 -56
  133. package/mcps/RhinoMCP/tests/Integration.Tests/CloseSlotTests.cs +0 -37
  134. package/mcps/RhinoMCP/tests/Integration.Tests/DocLifecycleTests.cs +0 -42
  135. package/mcps/RhinoMCP/tests/Integration.Tests/GlobalUsings.cs +0 -3
  136. package/mcps/RhinoMCP/tests/Integration.Tests/GrasshopperStartTests.cs +0 -56
  137. package/mcps/RhinoMCP/tests/Integration.Tests/Harness/ReturnResult.cs +0 -28
  138. package/mcps/RhinoMCP/tests/Integration.Tests/Harness/RhinoMcpFixture.cs +0 -90
  139. package/mcps/RhinoMCP/tests/Integration.Tests/Harness/RhinoMcpRouter.cs +0 -111
  140. package/mcps/RhinoMCP/tests/Integration.Tests/Harness/RhinoRouterPaths.cs +0 -83
  141. package/mcps/RhinoMCP/tests/Integration.Tests/Harness/RouterFixture.cs +0 -50
  142. package/mcps/RhinoMCP/tests/Integration.Tests/Integration.Tests.csproj +0 -31
  143. package/mcps/RhinoMCP/tests/Integration.Tests/ListSlotsShapeTests.cs +0 -55
  144. package/mcps/RhinoMCP/tests/Integration.Tests/ListSlotsTests.cs +0 -19
  145. package/mcps/RhinoMCP/tests/Integration.Tests/MacSharedProcessTests.cs +0 -87
  146. package/mcps/RhinoMCP/tests/Integration.Tests/MultiRouterTests.cs +0 -74
  147. package/mcps/RhinoMCP/tests/Integration.Tests/PluginToolTests.cs +0 -115
  148. package/mcps/RhinoMCP/tests/Integration.Tests/README.md +0 -35
  149. package/mcps/RhinoMCP/tests/Integration.Tests/RhinoCrashHandlingTests.cs +0 -107
  150. package/mcps/RhinoMCP/tests/Integration.Tests/SlotReapingTests.cs +0 -84
  151. package/mcps/RhinoMCP/tests/Integration.Tests/SpawnErrorTests.cs +0 -52
  152. package/mcps/RhinoMCP/tests/Integration.Tests/SpawnSlotTests.cs +0 -66
  153. package/mcps/RhinoMCP/tests/Integration.Tests/ToolDispatchBySlotTests.cs +0 -53
  154. package/mcps/RhinoMCP/tests/Integration.Tests/WindowsProcessIsolationTests.cs +0 -62
  155. package/mcps/RhinoMCP/tests/Router.Tests/CodegenTests.cs +0 -125
  156. package/mcps/RhinoMCP/tests/Router.Tests/ReturnResultTests.cs +0 -90
  157. package/mcps/RhinoMCP/tests/Router.Tests/RhinoCrashReportFinderTests.cs +0 -207
  158. package/mcps/RhinoMCP/tests/Router.Tests/RhinoLocatorOverrideTests.cs +0 -61
  159. package/mcps/RhinoMCP/tests/Router.Tests/RhinoLocatorTests.cs +0 -38
  160. package/mcps/RhinoMCP/tests/Router.Tests/RhinoManagerResolutionTests.cs +0 -151
  161. package/mcps/RhinoMCP/tests/Router.Tests/Router.Tests.csproj +0 -31
  162. package/mcps/RhinoMCP/tests/Router.Tests/RouterConfigTests.cs +0 -92
  163. package/mcps/RhinoMCP/tests/Router.Tests/SlotStoreLaunchingAbsenceTests.cs +0 -70
  164. package/mcps/RhinoMCP/tests/Router.Tests/SlotStorePortReservationTests.cs +0 -92
  165. package/mcps/RhinoMCP/tests/Router.Tests/SpawnDiagnosticsTests.cs +0 -100
  166. package/mcps/RhinoMCP/tests/Router.Tests/SpawnSlotToolDiagnoseTests.cs +0 -66
  167. package/mcps/RhinoMCP/tests/Server.Tests/McpConfigEditTests.cs +0 -223
  168. package/mcps/RhinoMCP/tests/Server.Tests/ParameterBinderTests.cs +0 -208
  169. package/mcps/RhinoMCP/tests/Server.Tests/ProtocolTests.cs +0 -200
  170. package/mcps/RhinoMCP/tests/Server.Tests/ResourceRegistryTests.cs +0 -218
  171. package/mcps/RhinoMCP/tests/Server.Tests/ResultUnwrapperTests.cs +0 -53
  172. package/mcps/RhinoMCP/tests/Server.Tests/SchemaBuilderTests.cs +0 -166
  173. package/mcps/RhinoMCP/tests/Server.Tests/Server.Tests.csproj +0 -40
  174. package/mcps/RhinoMCP/tests/StreamJson.Tests/AcpMessageMapperTests.cs +0 -82
  175. package/mcps/RhinoMCP/tests/StreamJson.Tests/AgentPromptsTests.cs +0 -56
  176. package/mcps/RhinoMCP/tests/StreamJson.Tests/AgentRegistryOverlayTests.cs +0 -88
  177. package/mcps/RhinoMCP/tests/StreamJson.Tests/AgentRegistryResolutionTests.cs +0 -152
  178. package/mcps/RhinoMCP/tests/StreamJson.Tests/AgentRunnerTurnTests.cs +0 -149
  179. package/mcps/RhinoMCP/tests/StreamJson.Tests/ClaudeStreamJsonParserTests.cs +0 -118
  180. package/mcps/RhinoMCP/tests/StreamJson.Tests/CodexStreamJsonParserTests.cs +0 -100
  181. package/mcps/RhinoMCP/tests/StreamJson.Tests/ConversationStorePruneTests.cs +0 -94
  182. package/mcps/RhinoMCP/tests/StreamJson.Tests/ConversationStoreRoundTripTests.cs +0 -70
  183. package/mcps/RhinoMCP/tests/StreamJson.Tests/ConversationTests.cs +0 -153
  184. package/mcps/RhinoMCP/tests/StreamJson.Tests/ConversationUsageTests.cs +0 -56
  185. package/mcps/RhinoMCP/tests/StreamJson.Tests/GlobalUsings.cs +0 -12
  186. package/mcps/RhinoMCP/tests/StreamJson.Tests/Shims.cs +0 -93
  187. package/mcps/RhinoMCP/tests/StreamJson.Tests/StreamJson.Tests.csproj +0 -56
  188. package/mcps/RhinoMCP/tests/StreamJson.Tests/StreamJsonAgentLoopbackTests.cs +0 -75
  189. package/mcps/RhinoMCP/tests/StreamJson.Tests/StreamJsonParserEdgeCaseTests.cs +0 -128
  190. package/mcps/RhinoMCP/tests/StreamJson.Tests/TokenUsageTests.cs +0 -40
  191. package/mcps/RhinoMCP/tests/launcher/launcher.test.mjs +0 -461
  192. package/mcps/RhinoMCP/tests/launcher/package.json +0 -8
  193. package/mcps/ae-mcp/docs/demo.png +0 -0
  194. package/mcps/ae-mcp/docs/demo1.png +0 -0
  195. package/mcps/ae-mcp/docs/demo3.png +0 -0
  196. package/mcps/ae-mcp/docs/video.png +0 -0
  197. package/mcps/after-effects-mcp/assets/MCP Auto Bridge.png +0 -0
  198. package/mcps/bdb-remoteos-mcp/tests/__init__.py +0 -1
  199. package/mcps/bdb-remoteos-mcp/tests/mock_incus.py +0 -60
  200. package/mcps/bdb-remoteos-mcp/tests/test_mcp_server.py +0 -27
  201. package/mcps/bdb-remoteos-mcp/tests/test_security_redteam.py +0 -349
  202. package/mcps/bdb-remoteos-mcp/tests/test_webhook.py +0 -61
  203. package/mcps/blender-mcp/assets/addon-instructions.png +0 -0
  204. package/mcps/blender-mcp/assets/hammer-icon.png +0 -0
  205. package/mcps/blender-mcp-server/docs/architecture.md +0 -209
  206. package/mcps/blender-mcp-server/docs/images/demo_render.png +0 -0
  207. package/mcps/blender-mcp-server/docs/python-execute-design.md +0 -515
  208. package/mcps/blender-mcp-server/tests/__init__.py +0 -0
  209. package/mcps/blender-mcp-server/tests/test_addon.py +0 -953
  210. package/mcps/blender-mcp-server/tests/test_server.py +0 -364
  211. package/mcps/davinci-mcp-professional/docs/README.md +0 -67
  212. package/mcps/davinci-mcp-professional/docs/html/README_8md.html +0 -113
  213. package/mcps/davinci-mcp-professional/docs/html/____init_____8py.html +0 -126
  214. package/mcps/davinci-mcp-professional/docs/html/____init_____8py.js +0 -6
  215. package/mcps/davinci-mcp-professional/docs/html/____init_____8py_source.html +0 -125
  216. package/mcps/davinci-mcp-professional/docs/html/__version_8py.html +0 -130
  217. package/mcps/davinci-mcp-professional/docs/html/__version_8py.js +0 -9
  218. package/mcps/davinci-mcp-professional/docs/html/__version_8py_source.html +0 -130
  219. package/mcps/davinci-mcp-professional/docs/html/annotated.html +0 -123
  220. package/mcps/davinci-mcp-professional/docs/html/annotated_dup.js +0 -21
  221. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1resolve__client_1_1DaVinciResolveClient-members.html +0 -131
  222. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1resolve__client_1_1DaVinciResolveClient.html +0 -706
  223. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1resolve__client_1_1DaVinciResolveClient.js +0 -26
  224. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1resolve__client_1_1DaVinciResolveConnectionError.html +0 -143
  225. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1resolve__client_1_1DaVinciResolveConnectionError__coll__graph.map +0 -7
  226. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1resolve__client_1_1DaVinciResolveConnectionError__coll__graph.md5 +0 -1
  227. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1resolve__client_1_1DaVinciResolveConnectionError__coll__graph.png +0 -0
  228. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1resolve__client_1_1DaVinciResolveConnectionError__inherit__graph.map +0 -7
  229. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1resolve__client_1_1DaVinciResolveConnectionError__inherit__graph.md5 +0 -1
  230. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1resolve__client_1_1DaVinciResolveConnectionError__inherit__graph.png +0 -0
  231. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1resolve__client_1_1DaVinciResolveError.html +0 -143
  232. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1resolve__client_1_1DaVinciResolveError__coll__graph.map +0 -5
  233. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1resolve__client_1_1DaVinciResolveError__coll__graph.md5 +0 -1
  234. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1resolve__client_1_1DaVinciResolveError__coll__graph.png +0 -0
  235. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1resolve__client_1_1DaVinciResolveError__inherit__graph.map +0 -9
  236. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1resolve__client_1_1DaVinciResolveError__inherit__graph.md5 +0 -1
  237. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1resolve__client_1_1DaVinciResolveError__inherit__graph.png +0 -0
  238. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1resolve__client_1_1DaVinciResolveNotRunningError.html +0 -143
  239. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1resolve__client_1_1DaVinciResolveNotRunningError__coll__graph.map +0 -7
  240. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1resolve__client_1_1DaVinciResolveNotRunningError__coll__graph.md5 +0 -1
  241. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1resolve__client_1_1DaVinciResolveNotRunningError__coll__graph.png +0 -0
  242. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1resolve__client_1_1DaVinciResolveNotRunningError__inherit__graph.map +0 -7
  243. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1resolve__client_1_1DaVinciResolveNotRunningError__inherit__graph.md5 +0 -1
  244. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1resolve__client_1_1DaVinciResolveNotRunningError__inherit__graph.png +0 -0
  245. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1server_1_1DaVinciMCPServer-members.html +0 -115
  246. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1server_1_1DaVinciMCPServer.html +0 -325
  247. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1server_1_1DaVinciMCPServer.js +0 -10
  248. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciMediaPool-members.html +0 -110
  249. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciMediaPool.html +0 -188
  250. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciMediaPool.js +0 -5
  251. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciMediaPool__coll__graph.map +0 -5
  252. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciMediaPool__coll__graph.md5 +0 -1
  253. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciMediaPool__coll__graph.png +0 -0
  254. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciMediaPool__inherit__graph.map +0 -5
  255. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciMediaPool__inherit__graph.md5 +0 -1
  256. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciMediaPool__inherit__graph.png +0 -0
  257. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciProject-members.html +0 -113
  258. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciProject.html +0 -248
  259. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciProject.js +0 -8
  260. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciProjectManager-members.html +0 -113
  261. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciProjectManager.html +0 -252
  262. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciProjectManager.js +0 -8
  263. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciProjectManager__coll__graph.map +0 -5
  264. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciProjectManager__coll__graph.md5 +0 -1
  265. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciProjectManager__coll__graph.png +0 -0
  266. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciProjectManager__inherit__graph.map +0 -5
  267. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciProjectManager__inherit__graph.md5 +0 -1
  268. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciProjectManager__inherit__graph.png +0 -0
  269. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciProject__coll__graph.map +0 -5
  270. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciProject__coll__graph.md5 +0 -1
  271. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciProject__coll__graph.png +0 -0
  272. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciProject__inherit__graph.map +0 -5
  273. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciProject__inherit__graph.md5 +0 -1
  274. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciProject__inherit__graph.png +0 -0
  275. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciResolveApp-members.html +0 -115
  276. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciResolveApp.html +0 -288
  277. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciResolveApp.js +0 -10
  278. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciResolveApp__coll__graph.map +0 -5
  279. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciResolveApp__coll__graph.md5 +0 -1
  280. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciResolveApp__coll__graph.png +0 -0
  281. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciResolveApp__inherit__graph.map +0 -5
  282. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciResolveApp__inherit__graph.md5 +0 -1
  283. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciResolveApp__inherit__graph.png +0 -0
  284. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciTimeline-members.html +0 -110
  285. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciTimeline.html +0 -188
  286. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciTimeline.js +0 -5
  287. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciTimeline__coll__graph.map +0 -5
  288. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciTimeline__coll__graph.md5 +0 -1
  289. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciTimeline__coll__graph.png +0 -0
  290. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciTimeline__inherit__graph.map +0 -5
  291. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciTimeline__inherit__graph.md5 +0 -1
  292. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciTimeline__inherit__graph.png +0 -0
  293. package/mcps/davinci-mcp-professional/docs/html/classes.html +0 -111
  294. package/mcps/davinci-mcp-professional/docs/html/cli_8py.html +0 -135
  295. package/mcps/davinci-mcp-professional/docs/html/cli_8py.js +0 -11
  296. package/mcps/davinci-mcp-professional/docs/html/cli_8py_source.html +0 -249
  297. package/mcps/davinci-mcp-professional/docs/html/clipboard.js +0 -61
  298. package/mcps/davinci-mcp-professional/docs/html/cookie.js +0 -58
  299. package/mcps/davinci-mcp-professional/docs/html/dir_1a1069c9a5427270b3ccd00c87d405fe.html +0 -127
  300. package/mcps/davinci-mcp-professional/docs/html/dir_1a1069c9a5427270b3ccd00c87d405fe.js +0 -4
  301. package/mcps/davinci-mcp-professional/docs/html/dir_1a1069c9a5427270b3ccd00c87d405fe_dep.map +0 -4
  302. package/mcps/davinci-mcp-professional/docs/html/dir_1a1069c9a5427270b3ccd00c87d405fe_dep.md5 +0 -1
  303. package/mcps/davinci-mcp-professional/docs/html/dir_1a1069c9a5427270b3ccd00c87d405fe_dep.png +0 -0
  304. package/mcps/davinci-mcp-professional/docs/html/dir_6a5346f4427b2e9426ba2ccfd9f0b603.html +0 -128
  305. package/mcps/davinci-mcp-professional/docs/html/dir_6a5346f4427b2e9426ba2ccfd9f0b603.js +0 -5
  306. package/mcps/davinci-mcp-professional/docs/html/dir_6a5346f4427b2e9426ba2ccfd9f0b603_dep.map +0 -4
  307. package/mcps/davinci-mcp-professional/docs/html/dir_6a5346f4427b2e9426ba2ccfd9f0b603_dep.md5 +0 -1
  308. package/mcps/davinci-mcp-professional/docs/html/dir_6a5346f4427b2e9426ba2ccfd9f0b603_dep.png +0 -0
  309. package/mcps/davinci-mcp-professional/docs/html/dir_77c8a4d399bde190a30252eceec792ef.html +0 -127
  310. package/mcps/davinci-mcp-professional/docs/html/dir_77c8a4d399bde190a30252eceec792ef.js +0 -4
  311. package/mcps/davinci-mcp-professional/docs/html/dir_77c8a4d399bde190a30252eceec792ef_dep.map +0 -4
  312. package/mcps/davinci-mcp-professional/docs/html/dir_77c8a4d399bde190a30252eceec792ef_dep.md5 +0 -1
  313. package/mcps/davinci-mcp-professional/docs/html/dir_77c8a4d399bde190a30252eceec792ef_dep.png +0 -0
  314. package/mcps/davinci-mcp-professional/docs/html/dir_f94b29b73815c35a8351f4403bcc4f74.html +0 -129
  315. package/mcps/davinci-mcp-professional/docs/html/dir_f94b29b73815c35a8351f4403bcc4f74.js +0 -12
  316. package/mcps/davinci-mcp-professional/docs/html/doxygen.css +0 -2540
  317. package/mcps/davinci-mcp-professional/docs/html/doxygen.svg +0 -28
  318. package/mcps/davinci-mcp-professional/docs/html/doxygen_crawl.html +0 -170
  319. package/mcps/davinci-mcp-professional/docs/html/dynsections.js +0 -198
  320. package/mcps/davinci-mcp-professional/docs/html/files.html +0 -123
  321. package/mcps/davinci-mcp-professional/docs/html/files_dup.js +0 -4
  322. package/mcps/davinci-mcp-professional/docs/html/functions.html +0 -190
  323. package/mcps/davinci-mcp-professional/docs/html/functions_func.html +0 -184
  324. package/mcps/davinci-mcp-professional/docs/html/functions_vars.html +0 -110
  325. package/mcps/davinci-mcp-professional/docs/html/graph_legend.html +0 -165
  326. package/mcps/davinci-mcp-professional/docs/html/graph_legend.md5 +0 -1
  327. package/mcps/davinci-mcp-professional/docs/html/graph_legend.png +0 -0
  328. package/mcps/davinci-mcp-professional/docs/html/hierarchy.html +0 -123
  329. package/mcps/davinci-mcp-professional/docs/html/hierarchy.js +0 -18
  330. package/mcps/davinci-mcp-professional/docs/html/index.html +0 -200
  331. package/mcps/davinci-mcp-professional/docs/html/index.js +0 -9
  332. package/mcps/davinci-mcp-professional/docs/html/inherit_graph_0.map +0 -3
  333. package/mcps/davinci-mcp-professional/docs/html/inherit_graph_0.md5 +0 -1
  334. package/mcps/davinci-mcp-professional/docs/html/inherit_graph_0.png +0 -0
  335. package/mcps/davinci-mcp-professional/docs/html/inherit_graph_1.map +0 -3
  336. package/mcps/davinci-mcp-professional/docs/html/inherit_graph_1.md5 +0 -1
  337. package/mcps/davinci-mcp-professional/docs/html/inherit_graph_1.png +0 -0
  338. package/mcps/davinci-mcp-professional/docs/html/inherit_graph_2.map +0 -9
  339. package/mcps/davinci-mcp-professional/docs/html/inherit_graph_2.md5 +0 -1
  340. package/mcps/davinci-mcp-professional/docs/html/inherit_graph_2.png +0 -0
  341. package/mcps/davinci-mcp-professional/docs/html/inherit_graph_3.map +0 -13
  342. package/mcps/davinci-mcp-professional/docs/html/inherit_graph_3.md5 +0 -1
  343. package/mcps/davinci-mcp-professional/docs/html/inherit_graph_3.png +0 -0
  344. package/mcps/davinci-mcp-professional/docs/html/inherits.html +0 -145
  345. package/mcps/davinci-mcp-professional/docs/html/jquery.js +0 -204
  346. package/mcps/davinci-mcp-professional/docs/html/menu.js +0 -131
  347. package/mcps/davinci-mcp-professional/docs/html/menudata.js +0 -73
  348. package/mcps/davinci-mcp-professional/docs/html/namespacedavinci__mcp.html +0 -209
  349. package/mcps/davinci-mcp-professional/docs/html/namespacedavinci__mcp.js +0 -34
  350. package/mcps/davinci-mcp-professional/docs/html/namespacedavinci__mcp_1_1__version.html +0 -260
  351. package/mcps/davinci-mcp-professional/docs/html/namespacedavinci__mcp_1_1cli.html +0 -303
  352. package/mcps/davinci-mcp-professional/docs/html/namespacedavinci__mcp_1_1resolve__client.html +0 -147
  353. package/mcps/davinci-mcp-professional/docs/html/namespacedavinci__mcp_1_1resolve__client.js +0 -8
  354. package/mcps/davinci-mcp-professional/docs/html/namespacedavinci__mcp_1_1resources.html +0 -140
  355. package/mcps/davinci-mcp-professional/docs/html/namespacedavinci__mcp_1_1server.html +0 -144
  356. package/mcps/davinci-mcp-professional/docs/html/namespacedavinci__mcp_1_1server.js +0 -5
  357. package/mcps/davinci-mcp-professional/docs/html/namespacedavinci__mcp_1_1tools.html +0 -140
  358. package/mcps/davinci-mcp-professional/docs/html/namespacedavinci__mcp_1_1types.html +0 -216
  359. package/mcps/davinci-mcp-professional/docs/html/namespacedavinci__mcp_1_1types.js +0 -13
  360. package/mcps/davinci-mcp-professional/docs/html/namespacedavinci__mcp_1_1utils.html +0 -155
  361. package/mcps/davinci-mcp-professional/docs/html/namespacedavinci__mcp_1_1utils.js +0 -11
  362. package/mcps/davinci-mcp-professional/docs/html/namespacedavinci__mcp_1_1utils_1_1platform.html +0 -232
  363. package/mcps/davinci-mcp-professional/docs/html/namespacemembers.html +0 -173
  364. package/mcps/davinci-mcp-professional/docs/html/namespacemembers_func.html +0 -114
  365. package/mcps/davinci-mcp-professional/docs/html/namespacemembers_vars.html +0 -121
  366. package/mcps/davinci-mcp-professional/docs/html/namespaces.html +0 -119
  367. package/mcps/davinci-mcp-professional/docs/html/namespaces_dup.js +0 -4
  368. package/mcps/davinci-mcp-professional/docs/html/navtree.css +0 -327
  369. package/mcps/davinci-mcp-professional/docs/html/navtree.js +0 -901
  370. package/mcps/davinci-mcp-professional/docs/html/navtreedata.js +0 -68
  371. package/mcps/davinci-mcp-professional/docs/html/navtreeindex0.js +0 -212
  372. package/mcps/davinci-mcp-professional/docs/html/platform_8py.html +0 -130
  373. package/mcps/davinci-mcp-professional/docs/html/platform_8py.js +0 -8
  374. package/mcps/davinci-mcp-professional/docs/html/platform_8py_source.html +0 -245
  375. package/mcps/davinci-mcp-professional/docs/html/resolve__client_8py.html +0 -132
  376. package/mcps/davinci-mcp-professional/docs/html/resolve__client_8py.js +0 -8
  377. package/mcps/davinci-mcp-professional/docs/html/resolve__client_8py_source.html +0 -501
  378. package/mcps/davinci-mcp-professional/docs/html/resources_2____init_____8py.html +0 -125
  379. package/mcps/davinci-mcp-professional/docs/html/resources_2____init_____8py.js +0 -4
  380. package/mcps/davinci-mcp-professional/docs/html/resources_2____init_____8py_source.html +0 -169
  381. package/mcps/davinci-mcp-professional/docs/html/search/all_0.js +0 -22
  382. package/mcps/davinci-mcp-professional/docs/html/search/all_1.js +0 -4
  383. package/mcps/davinci-mcp-professional/docs/html/search/all_10.js +0 -4
  384. package/mcps/davinci-mcp-professional/docs/html/search/all_11.js +0 -4
  385. package/mcps/davinci-mcp-professional/docs/html/search/all_12.js +0 -4
  386. package/mcps/davinci-mcp-professional/docs/html/search/all_13.js +0 -4
  387. package/mcps/davinci-mcp-professional/docs/html/search/all_2.js +0 -4
  388. package/mcps/davinci-mcp-professional/docs/html/search/all_3.js +0 -15
  389. package/mcps/davinci-mcp-professional/docs/html/search/all_4.js +0 -26
  390. package/mcps/davinci-mcp-professional/docs/html/search/all_5.js +0 -4
  391. package/mcps/davinci-mcp-professional/docs/html/search/all_6.js +0 -6
  392. package/mcps/davinci-mcp-professional/docs/html/search/all_7.js +0 -25
  393. package/mcps/davinci-mcp-professional/docs/html/search/all_8.js +0 -7
  394. package/mcps/davinci-mcp-professional/docs/html/search/all_9.js +0 -9
  395. package/mcps/davinci-mcp-professional/docs/html/search/all_a.js +0 -6
  396. package/mcps/davinci-mcp-professional/docs/html/search/all_b.js +0 -6
  397. package/mcps/davinci-mcp-professional/docs/html/search/all_c.js +0 -9
  398. package/mcps/davinci-mcp-professional/docs/html/search/all_d.js +0 -10
  399. package/mcps/davinci-mcp-professional/docs/html/search/all_e.js +0 -11
  400. package/mcps/davinci-mcp-professional/docs/html/search/all_f.js +0 -5
  401. package/mcps/davinci-mcp-professional/docs/html/search/classes_0.js +0 -13
  402. package/mcps/davinci-mcp-professional/docs/html/search/files_0.js +0 -5
  403. package/mcps/davinci-mcp-professional/docs/html/search/files_1.js +0 -4
  404. package/mcps/davinci-mcp-professional/docs/html/search/files_2.js +0 -4
  405. package/mcps/davinci-mcp-professional/docs/html/search/files_3.js +0 -5
  406. package/mcps/davinci-mcp-professional/docs/html/search/files_4.js +0 -4
  407. package/mcps/davinci-mcp-professional/docs/html/search/files_5.js +0 -4
  408. package/mcps/davinci-mcp-professional/docs/html/search/functions_0.js +0 -9
  409. package/mcps/davinci-mcp-professional/docs/html/search/functions_1.js +0 -4
  410. package/mcps/davinci-mcp-professional/docs/html/search/functions_2.js +0 -10
  411. package/mcps/davinci-mcp-professional/docs/html/search/functions_3.js +0 -4
  412. package/mcps/davinci-mcp-professional/docs/html/search/functions_4.js +0 -25
  413. package/mcps/davinci-mcp-professional/docs/html/search/functions_5.js +0 -6
  414. package/mcps/davinci-mcp-professional/docs/html/search/functions_6.js +0 -7
  415. package/mcps/davinci-mcp-professional/docs/html/search/functions_7.js +0 -4
  416. package/mcps/davinci-mcp-professional/docs/html/search/functions_8.js +0 -5
  417. package/mcps/davinci-mcp-professional/docs/html/search/functions_9.js +0 -4
  418. package/mcps/davinci-mcp-professional/docs/html/search/functions_a.js +0 -4
  419. package/mcps/davinci-mcp-professional/docs/html/search/functions_b.js +0 -6
  420. package/mcps/davinci-mcp-professional/docs/html/search/namespaces_0.js +0 -13
  421. package/mcps/davinci-mcp-professional/docs/html/search/pages_0.js +0 -4
  422. package/mcps/davinci-mcp-professional/docs/html/search/pages_1.js +0 -6
  423. package/mcps/davinci-mcp-professional/docs/html/search/pages_2.js +0 -5
  424. package/mcps/davinci-mcp-professional/docs/html/search/pages_3.js +0 -4
  425. package/mcps/davinci-mcp-professional/docs/html/search/pages_4.js +0 -5
  426. package/mcps/davinci-mcp-professional/docs/html/search/pages_5.js +0 -4
  427. package/mcps/davinci-mcp-professional/docs/html/search/pages_6.js +0 -4
  428. package/mcps/davinci-mcp-professional/docs/html/search/pages_7.js +0 -4
  429. package/mcps/davinci-mcp-professional/docs/html/search/pages_8.js +0 -5
  430. package/mcps/davinci-mcp-professional/docs/html/search/pages_9.js +0 -5
  431. package/mcps/davinci-mcp-professional/docs/html/search/pages_a.js +0 -6
  432. package/mcps/davinci-mcp-professional/docs/html/search/pages_b.js +0 -4
  433. package/mcps/davinci-mcp-professional/docs/html/search/pages_c.js +0 -4
  434. package/mcps/davinci-mcp-professional/docs/html/search/pages_d.js +0 -4
  435. package/mcps/davinci-mcp-professional/docs/html/search/search.css +0 -377
  436. package/mcps/davinci-mcp-professional/docs/html/search/search.js +0 -708
  437. package/mcps/davinci-mcp-professional/docs/html/search/searchdata.js +0 -33
  438. package/mcps/davinci-mcp-professional/docs/html/search/variables_0.js +0 -14
  439. package/mcps/davinci-mcp-professional/docs/html/search/variables_1.js +0 -4
  440. package/mcps/davinci-mcp-professional/docs/html/search/variables_2.js +0 -4
  441. package/mcps/davinci-mcp-professional/docs/html/search/variables_3.js +0 -5
  442. package/mcps/davinci-mcp-professional/docs/html/search/variables_4.js +0 -4
  443. package/mcps/davinci-mcp-professional/docs/html/search/variables_5.js +0 -5
  444. package/mcps/davinci-mcp-professional/docs/html/search/variables_6.js +0 -5
  445. package/mcps/davinci-mcp-professional/docs/html/search/variables_7.js +0 -4
  446. package/mcps/davinci-mcp-professional/docs/html/search/variables_8.js +0 -4
  447. package/mcps/davinci-mcp-professional/docs/html/search/variables_9.js +0 -4
  448. package/mcps/davinci-mcp-professional/docs/html/server_8py.html +0 -129
  449. package/mcps/davinci-mcp-professional/docs/html/server_8py.js +0 -5
  450. package/mcps/davinci-mcp-professional/docs/html/server_8py_source.html +0 -318
  451. package/mcps/davinci-mcp-professional/docs/html/tabs.css +0 -1
  452. package/mcps/davinci-mcp-professional/docs/html/tools_2____init_____8py.html +0 -125
  453. package/mcps/davinci-mcp-professional/docs/html/tools_2____init_____8py.js +0 -4
  454. package/mcps/davinci-mcp-professional/docs/html/tools_2____init_____8py_source.html +0 -253
  455. package/mcps/davinci-mcp-professional/docs/html/types_8py.html +0 -137
  456. package/mcps/davinci-mcp-professional/docs/html/types_8py.js +0 -13
  457. package/mcps/davinci-mcp-professional/docs/html/types_8py_source.html +0 -309
  458. package/mcps/davinci-mcp-professional/docs/html/utils_2____init_____8py.html +0 -125
  459. package/mcps/davinci-mcp-professional/docs/html/utils_2____init_____8py.js +0 -4
  460. package/mcps/davinci-mcp-professional/docs/html/utils_2____init_____8py_source.html +0 -123
  461. package/mcps/davinci-mcp-professional/tests/README.md +0 -49
  462. package/mcps/davinci-mcp-professional/tests/__init__.py +0 -1
  463. package/mcps/davinci-mcp-professional/tests/conftest.py +0 -75
  464. package/mcps/davinci-mcp-professional/tests/test_security.py +0 -251
  465. package/mcps/davinci-resolve-mcp/docs/README.md +0 -56
  466. package/mcps/davinci-resolve-mcp/docs/SKILL.md +0 -1635
  467. package/mcps/davinci-resolve-mcp/docs/authoring/fuse-dctl-authoring.md +0 -242
  468. package/mcps/davinci-resolve-mcp/docs/authoring/script-plugin-authoring.md +0 -195
  469. package/mcps/davinci-resolve-mcp/docs/authoring/setting-files/README.md +0 -152
  470. package/mcps/davinci-resolve-mcp/docs/authoring/setting-files/references/category-patterns.md +0 -780
  471. package/mcps/davinci-resolve-mcp/docs/authoring/setting-files/references/controls.md +0 -259
  472. package/mcps/davinci-resolve-mcp/docs/authoring/setting-files/references/format.md +0 -568
  473. package/mcps/davinci-resolve-mcp/docs/authoring/setting-files/references/gotchas.md +0 -168
  474. package/mcps/davinci-resolve-mcp/docs/authoring/setting-files/references/thumbnails.md +0 -106
  475. package/mcps/davinci-resolve-mcp/docs/authoring/setting-files/templates/MCP Test Blur.setting +0 -46
  476. package/mcps/davinci-resolve-mcp/docs/authoring/setting-files/templates/MCP Test Color Tint.setting +0 -78
  477. package/mcps/davinci-resolve-mcp/docs/authoring/setting-files/templates/MCP Test Cross Dissolve.setting +0 -57
  478. package/mcps/davinci-resolve-mcp/docs/authoring/setting-files/templates/MCP Test Fade Title.setting +0 -111
  479. package/mcps/davinci-resolve-mcp/docs/authoring/setting-files/templates/MCP Test Glow.setting +0 -55
  480. package/mcps/davinci-resolve-mcp/docs/authoring/setting-files/templates/MCP Test Gradient.setting +0 -52
  481. package/mcps/davinci-resolve-mcp/docs/authoring/setting-files/templates/MCP Test Iris.setting +0 -127
  482. package/mcps/davinci-resolve-mcp/docs/authoring/setting-files/templates/MCP Test Lower Third.setting +0 -192
  483. package/mcps/davinci-resolve-mcp/docs/authoring/setting-files/templates/MCP Test Noise.setting +0 -74
  484. package/mcps/davinci-resolve-mcp/docs/authoring/setting-files/templates/MCP Test Solid Color.setting +0 -55
  485. package/mcps/davinci-resolve-mcp/docs/authoring/setting-files/templates/MCP Test Title.setting +0 -105
  486. package/mcps/davinci-resolve-mcp/docs/authoring/setting-files/templates/MCP Test Vignette.setting +0 -98
  487. package/mcps/davinci-resolve-mcp/docs/authoring/setting-files/templates/MCP Test Wipe.setting +0 -98
  488. package/mcps/davinci-resolve-mcp/docs/contributing.md +0 -82
  489. package/mcps/davinci-resolve-mcp/docs/guides/color-decision-guide.md +0 -427
  490. package/mcps/davinci-resolve-mcp/docs/guides/control-panel.md +0 -234
  491. package/mcps/davinci-resolve-mcp/docs/guides/editorial-decision-guide.md +0 -165
  492. package/mcps/davinci-resolve-mcp/docs/guides/media-analysis-guide.md +0 -763
  493. package/mcps/davinci-resolve-mcp/docs/guides/multicam-setup-guide.md +0 -138
  494. package/mcps/davinci-resolve-mcp/docs/images/control-panel/01-overview.png +0 -0
  495. package/mcps/davinci-resolve-mcp/docs/images/control-panel/02-review-bin-grid.png +0 -0
  496. package/mcps/davinci-resolve-mcp/docs/images/control-panel/03-clip-detail.png +0 -0
  497. package/mcps/davinci-resolve-mcp/docs/images/control-panel/04-transcript.png +0 -0
  498. package/mcps/davinci-resolve-mcp/docs/images/control-panel/05-shot-detail.png +0 -0
  499. package/mcps/davinci-resolve-mcp/docs/images/control-panel/06-inventory.png +0 -0
  500. package/mcps/davinci-resolve-mcp/docs/images/control-panel/07-diagnostics-resolve.png +0 -0
  501. package/mcps/davinci-resolve-mcp/docs/images/control-panel/08-preferences-analysis.png +0 -0
  502. package/mcps/davinci-resolve-mcp/docs/images/control-panel/09-ai-console.png +0 -0
  503. package/mcps/davinci-resolve-mcp/docs/images/control-panel/10-history.png +0 -0
  504. package/mcps/davinci-resolve-mcp/docs/images/control-panel/11-edit-plans.png +0 -0
  505. package/mcps/davinci-resolve-mcp/docs/install.md +0 -208
  506. package/mcps/davinci-resolve-mcp/docs/integrations/workflow-integrations.md +0 -120
  507. package/mcps/davinci-resolve-mcp/docs/kernels/README.md +0 -28
  508. package/mcps/davinci-resolve-mcp/docs/kernels/audio-fairlight-kernel.md +0 -86
  509. package/mcps/davinci-resolve-mcp/docs/kernels/color-grade-kernel.md +0 -103
  510. package/mcps/davinci-resolve-mcp/docs/kernels/extension-authoring-kernel.md +0 -101
  511. package/mcps/davinci-resolve-mcp/docs/kernels/fusion-composition-kernel.md +0 -121
  512. package/mcps/davinci-resolve-mcp/docs/kernels/media-pool-ingest-kernel.md +0 -147
  513. package/mcps/davinci-resolve-mcp/docs/kernels/project-lifecycle-kernel.md +0 -120
  514. package/mcps/davinci-resolve-mcp/docs/kernels/render-deliver-kernel.md +0 -92
  515. package/mcps/davinci-resolve-mcp/docs/kernels/review-annotation-kernel.md +0 -110
  516. package/mcps/davinci-resolve-mcp/docs/kernels/timeline-conform-interchange-kernel.md +0 -102
  517. package/mcps/davinci-resolve-mcp/docs/kernels/timeline-edit-kernel.md +0 -189
  518. package/mcps/davinci-resolve-mcp/docs/notes/codec-plugin-notes.md +0 -136
  519. package/mcps/davinci-resolve-mcp/docs/notes/dctl-notes.md +0 -234
  520. package/mcps/davinci-resolve-mcp/docs/notes/fusion-template-notes.md +0 -136
  521. package/mcps/davinci-resolve-mcp/docs/notes/lut-notes.md +0 -136
  522. package/mcps/davinci-resolve-mcp/docs/notes/openfx-notes.md +0 -120
  523. package/mcps/davinci-resolve-mcp/docs/process/release-process.md +0 -180
  524. package/mcps/davinci-resolve-mcp/docs/reference/api-coverage.md +0 -521
  525. package/mcps/davinci-resolve-mcp/docs/reference/api-limitations.md +0 -259
  526. package/mcps/davinci-resolve-mcp/docs/reference/readwrite-symmetry.md +0 -25
  527. package/mcps/davinci-resolve-mcp/docs/reference/resolve_scripting_api.txt +0 -1024
  528. package/mcps/davinci-resolve-mcp/tests/_error_envelope_helpers.py +0 -35
  529. package/mcps/davinci-resolve-mcp/tests/benchmark_server.py +0 -270
  530. package/mcps/davinci-resolve-mcp/tests/create_test_timeline.py +0 -177
  531. package/mcps/davinci-resolve-mcp/tests/live_api_gap_verification.py +0 -274
  532. package/mcps/davinci-resolve-mcp/tests/live_audio_fairlight_validation.py +0 -77
  533. package/mcps/davinci-resolve-mcp/tests/live_auto_sync_settings_check.py +0 -76
  534. package/mcps/davinci-resolve-mcp/tests/live_color_grade_validation.py +0 -89
  535. package/mcps/davinci-resolve-mcp/tests/live_delete_governance_check.py +0 -71
  536. package/mcps/davinci-resolve-mcp/tests/live_duplicate_clips_validation.py +0 -831
  537. package/mcps/davinci-resolve-mcp/tests/live_edit_engine_validation.py +0 -277
  538. package/mcps/davinci-resolve-mcp/tests/live_enum_settings_check.py +0 -89
  539. package/mcps/davinci-resolve-mcp/tests/live_extension_authoring_validation.py +0 -77
  540. package/mcps/davinci-resolve-mcp/tests/live_fuse_diagnose.py +0 -230
  541. package/mcps/davinci-resolve-mcp/tests/live_fuse_smoke.py +0 -250
  542. package/mcps/davinci-resolve-mcp/tests/live_fusion_composition_validation.py +0 -82
  543. package/mcps/davinci-resolve-mcp/tests/live_fusion_keyframe_validation.py +0 -116
  544. package/mcps/davinci-resolve-mcp/tests/live_fusion_mask_title_validation.py +0 -286
  545. package/mcps/davinci-resolve-mcp/tests/live_marker_validation.py +0 -439
  546. package/mcps/davinci-resolve-mcp/tests/live_media_pool_ingest_validation.py +0 -98
  547. package/mcps/davinci-resolve-mcp/tests/live_metadata_field_inventory_validation.py +0 -379
  548. package/mcps/davinci-resolve-mcp/tests/live_metadata_publish_validation.py +0 -192
  549. package/mcps/davinci-resolve-mcp/tests/live_multicam_setup_validation.py +0 -198
  550. package/mcps/davinci-resolve-mcp/tests/live_path_probe.py +0 -119
  551. package/mcps/davinci-resolve-mcp/tests/live_project_lifecycle_validation.py +0 -77
  552. package/mcps/davinci-resolve-mcp/tests/live_render_deliver_validation.py +0 -82
  553. package/mcps/davinci-resolve-mcp/tests/live_review_annotation_validation.py +0 -91
  554. package/mcps/davinci-resolve-mcp/tests/live_script_smoke.py +0 -141
  555. package/mcps/davinci-resolve-mcp/tests/live_sync_event_validation.py +0 -165
  556. package/mcps/davinci-resolve-mcp/tests/live_timeline_conform_validation.py +0 -77
  557. package/mcps/davinci-resolve-mcp/tests/live_v233_validation.py +0 -282
  558. package/mcps/davinci-resolve-mcp/tests/test-after-restart.bat +0 -83
  559. package/mcps/davinci-resolve-mcp/tests/test-after-restart.sh +0 -87
  560. package/mcps/davinci-resolve-mcp/tests/test_action_help.py +0 -47
  561. package/mcps/davinci-resolve-mcp/tests/test_action_list_drift.py +0 -163
  562. package/mcps/davinci-resolve-mcp/tests/test_ai_console_dispatch.py +0 -91
  563. package/mcps/davinci-resolve-mcp/tests/test_analysis_caps.py +0 -210
  564. package/mcps/davinci-resolve-mcp/tests/test_analysis_runs.py +0 -157
  565. package/mcps/davinci-resolve-mcp/tests/test_analysis_store.py +0 -366
  566. package/mcps/davinci-resolve-mcp/tests/test_api_limitations_doc.py +0 -56
  567. package/mcps/davinci-resolve-mcp/tests/test_api_truth.py +0 -64
  568. package/mcps/davinci-resolve-mcp/tests/test_api_truth_mitigations.py +0 -45
  569. package/mcps/davinci-resolve-mcp/tests/test_append_clip_infos_result_handling.py +0 -679
  570. package/mcps/davinci-resolve-mcp/tests/test_audio_fairlight_probe.py +0 -216
  571. package/mcps/davinci-resolve-mcp/tests/test_auto_run.py +0 -76
  572. package/mcps/davinci-resolve-mcp/tests/test_auto_sync_audio.py +0 -171
  573. package/mcps/davinci-resolve-mcp/tests/test_batch_cli.py +0 -253
  574. package/mcps/davinci-resolve-mcp/tests/test_brain_edits.py +0 -218
  575. package/mcps/davinci-resolve-mcp/tests/test_bridge_metrics.py +0 -52
  576. package/mcps/davinci-resolve-mcp/tests/test_bulk_match_to_hero.py +0 -219
  577. package/mcps/davinci-resolve-mcp/tests/test_caps_events_and_history.py +0 -147
  578. package/mcps/davinci-resolve-mcp/tests/test_caps_integration.py +0 -315
  579. package/mcps/davinci-resolve-mcp/tests/test_cdl_and_install_config.py +0 -372
  580. package/mcps/davinci-resolve-mcp/tests/test_clip_query.py +0 -57
  581. package/mcps/davinci-resolve-mcp/tests/test_cloud_settings.py +0 -62
  582. package/mcps/davinci-resolve-mcp/tests/test_color_grade_probe.py +0 -230
  583. package/mcps/davinci-resolve-mcp/tests/test_confirm_token.py +0 -85
  584. package/mcps/davinci-resolve-mcp/tests/test_confirm_token_preferences.py +0 -22
  585. package/mcps/davinci-resolve-mcp/tests/test_contracts.py +0 -81
  586. package/mcps/davinci-resolve-mcp/tests/test_create_subtitles_settings.py +0 -111
  587. package/mcps/davinci-resolve-mcp/tests/test_custom_timeline.py +0 -137
  588. package/mcps/davinci-resolve-mcp/tests/test_cut_executor.py +0 -87
  589. package/mcps/davinci-resolve-mcp/tests/test_cut_ir.py +0 -82
  590. package/mcps/davinci-resolve-mcp/tests/test_dashboard_transport.py +0 -47
  591. package/mcps/davinci-resolve-mcp/tests/test_deep_vision.py +0 -311
  592. package/mcps/davinci-resolve-mcp/tests/test_description_xml_shape.py +0 -71
  593. package/mcps/davinci-resolve-mcp/tests/test_destructive_decorator_coverage.py +0 -92
  594. package/mcps/davinci-resolve-mcp/tests/test_destructive_hook.py +0 -245
  595. package/mcps/davinci-resolve-mcp/tests/test_destructive_registry_drift.py +0 -108
  596. package/mcps/davinci-resolve-mcp/tests/test_edit_engine.py +0 -574
  597. package/mcps/davinci-resolve-mcp/tests/test_embeddings.py +0 -302
  598. package/mcps/davinci-resolve-mcp/tests/test_entities.py +0 -225
  599. package/mcps/davinci-resolve-mcp/tests/test_error_envelope.py +0 -179
  600. package/mcps/davinci-resolve-mcp/tests/test_exhaustive_wave_a.py +0 -101
  601. package/mcps/davinci-resolve-mcp/tests/test_extension_authoring_probe.py +0 -77
  602. package/mcps/davinci-resolve-mcp/tests/test_extract_frames.py +0 -42
  603. package/mcps/davinci-resolve-mcp/tests/test_extract_source_frame_ranges.py +0 -129
  604. package/mcps/davinci-resolve-mcp/tests/test_failure_tracker.py +0 -103
  605. package/mcps/davinci-resolve-mcp/tests/test_fuse_dctl_authoring.py +0 -596
  606. package/mcps/davinci-resolve-mcp/tests/test_fusion_comp_targeting.py +0 -269
  607. package/mcps/davinci-resolve-mcp/tests/test_fusion_composition_probe.py +0 -156
  608. package/mcps/davinci-resolve-mcp/tests/test_fusion_group_settings.py +0 -284
  609. package/mcps/davinci-resolve-mcp/tests/test_fusion_mask_title.py +0 -205
  610. package/mcps/davinci-resolve-mcp/tests/test_fusion_node_ops.py +0 -212
  611. package/mcps/davinci-resolve-mcp/tests/test_governance_identity.py +0 -155
  612. package/mcps/davinci-resolve-mcp/tests/test_grade_evidence_base.py +0 -132
  613. package/mcps/davinci-resolve-mcp/tests/test_import.py +0 -153
  614. package/mcps/davinci-resolve-mcp/tests/test_improvements.py +0 -334
  615. package/mcps/davinci-resolve-mcp/tests/test_inventory_exclude_bins.py +0 -139
  616. package/mcps/davinci-resolve-mcp/tests/test_live_api.py +0 -315
  617. package/mcps/davinci-resolve-mcp/tests/test_marker_params.py +0 -234
  618. package/mcps/davinci-resolve-mcp/tests/test_mcp_prompts.py +0 -77
  619. package/mcps/davinci-resolve-mcp/tests/test_mcp_resources.py +0 -117
  620. package/mcps/davinci-resolve-mcp/tests/test_mcp_transport.py +0 -74
  621. package/mcps/davinci-resolve-mcp/tests/test_media_analysis.py +0 -4637
  622. package/mcps/davinci-resolve-mcp/tests/test_media_pool_append_verification.py +0 -153
  623. package/mcps/davinci-resolve-mcp/tests/test_media_pool_changes.py +0 -105
  624. package/mcps/davinci-resolve-mcp/tests/test_media_pool_delete_governance.py +0 -69
  625. package/mcps/davinci-resolve-mcp/tests/test_media_pool_ingest_probe.py +0 -546
  626. package/mcps/davinci-resolve-mcp/tests/test_media_pool_walk.py +0 -79
  627. package/mcps/davinci-resolve-mcp/tests/test_multicam_setup.py +0 -178
  628. package/mcps/davinci-resolve-mcp/tests/test_object_inspection.py +0 -140
  629. package/mcps/davinci-resolve-mcp/tests/test_open_control_panel.py +0 -172
  630. package/mcps/davinci-resolve-mcp/tests/test_p1_param_validation.py +0 -57
  631. package/mcps/davinci-resolve-mcp/tests/test_p1_whitelist_and_delete.py +0 -81
  632. package/mcps/davinci-resolve-mcp/tests/test_page_lock.py +0 -52
  633. package/mcps/davinci-resolve-mcp/tests/test_panel_docs_drift.py +0 -77
  634. package/mcps/davinci-resolve-mcp/tests/test_partial_success_manifest.py +0 -113
  635. package/mcps/davinci-resolve-mcp/tests/test_persistence_safety.py +0 -147
  636. package/mcps/davinci-resolve-mcp/tests/test_prefer_handle.py +0 -89
  637. package/mcps/davinci-resolve-mcp/tests/test_project_cleanup.py +0 -111
  638. package/mcps/davinci-resolve-mcp/tests/test_project_lifecycle_probe.py +0 -256
  639. package/mcps/davinci-resolve-mcp/tests/test_project_lint.py +0 -79
  640. package/mcps/davinci-resolve-mcp/tests/test_project_spec.py +0 -246
  641. package/mcps/davinci-resolve-mcp/tests/test_propose_grade.py +0 -116
  642. package/mcps/davinci-resolve-mcp/tests/test_provenance.py +0 -88
  643. package/mcps/davinci-resolve-mcp/tests/test_readback.py +0 -77
  644. package/mcps/davinci-resolve-mcp/tests/test_readwrite_audit.py +0 -43
  645. package/mcps/davinci-resolve-mcp/tests/test_reel_name_writeback.py +0 -149
  646. package/mcps/davinci-resolve-mcp/tests/test_render_deliver_probe.py +0 -250
  647. package/mcps/davinci-resolve-mcp/tests/test_resolve20_api.py +0 -282
  648. package/mcps/davinci-resolve-mcp/tests/test_resolve21_actions.py +0 -386
  649. package/mcps/davinci-resolve-mcp/tests/test_resolve_ai_governance.py +0 -92
  650. package/mcps/davinci-resolve-mcp/tests/test_resolve_ai_ledger.py +0 -89
  651. package/mcps/davinci-resolve-mcp/tests/test_resolve_busy.py +0 -134
  652. package/mcps/davinci-resolve-mcp/tests/test_review_annotation_probe.py +0 -162
  653. package/mcps/davinci-resolve-mcp/tests/test_sampling_modes.py +0 -293
  654. package/mcps/davinci-resolve-mcp/tests/test_script_plugin.py +0 -750
  655. package/mcps/davinci-resolve-mcp/tests/test_shot_relationships.py +0 -254
  656. package/mcps/davinci-resolve-mcp/tests/test_spec_lint_wiring.py +0 -311
  657. package/mcps/davinci-resolve-mcp/tests/test_static_undefined_names.py +0 -45
  658. package/mcps/davinci-resolve-mcp/tests/test_structural_diff.py +0 -67
  659. package/mcps/davinci-resolve-mcp/tests/test_sync_detection.py +0 -213
  660. package/mcps/davinci-resolve-mcp/tests/test_thumbnail_image.py +0 -55
  661. package/mcps/davinci-resolve-mcp/tests/test_timeline_brain_db.py +0 -230
  662. package/mcps/davinci-resolve-mcp/tests/test_timeline_conform_probe.py +0 -229
  663. package/mcps/davinci-resolve-mcp/tests/test_timeline_editorial_helpers.py +0 -88
  664. package/mcps/davinci-resolve-mcp/tests/test_timeline_export_enum.py +0 -59
  665. package/mcps/davinci-resolve-mcp/tests/test_timeline_kernel_probe.py +0 -70
  666. package/mcps/davinci-resolve-mcp/tests/test_timeline_title_text_utils.py +0 -64
  667. package/mcps/davinci-resolve-mcp/tests/test_timeline_versioning.py +0 -419
  668. package/mcps/davinci-resolve-mcp/tests/test_tool_choice_hint.py +0 -42
  669. package/mcps/davinci-resolve-mcp/tests/test_tool_exposure.py +0 -159
  670. package/mcps/davinci-resolve-mcp/tests/test_tool_registration.py +0 -91
  671. package/mcps/davinci-resolve-mcp/tests/test_transcript_read.py +0 -74
  672. package/mcps/davinci-resolve-mcp/tests/test_update_check.py +0 -171
  673. package/mcps/davinci-resolve-mcp/tests/test_update_hardening.py +0 -171
  674. package/mcps/davinci-resolve-mcp/tests/test_update_history.py +0 -116
  675. package/mcps/davinci-resolve-mcp/tests/test_v232_helpers.py +0 -265
  676. package/mcps/davinci-resolve-mcp/tests/test_v233_helpers.py +0 -307
  677. package/mcps/davinci-resolve-mcp/tests/test_validation_guards.py +0 -108
  678. package/mcps/davinci-resolve-mcp/tests/test_verification_stats.py +0 -32
  679. package/mcps/davinci-resolve-mcp/tests/test_waveb_p2_p3.py +0 -65
  680. package/mcps/golem-rhino-mcp/Nexus-AI-Agents.png +0 -0
  681. package/mcps/golem-rhino-mcp/docs/ARCHITECTURE.md +0 -277
  682. package/mcps/golem-rhino-mcp/docs/PROTOCOL.md +0 -247
  683. package/mcps/golem-rhino-mcp/docs/TOOL_REFERENCE.md +0 -1571
  684. package/mcps/golem-rhino-mcp/docs/TROUBLESHOOTING.md +0 -396
  685. package/mcps/golem-rhino-mcp/mcp_server/Screenshot 2026-03-20 at 18.33.06.png +0 -0
  686. package/mcps/golem-rhino-mcp/mcp_server/Screenshot 2026-03-21 at 1.43.01.png +0 -0
  687. package/mcps/golem-rhino-mcp/nexus-pngs/CAIO.png +0 -0
  688. package/mcps/golem-rhino-mcp/nexus-pngs/CEO.png +0 -0
  689. package/mcps/golem-rhino-mcp/nexus-pngs/CFO.png +0 -0
  690. package/mcps/golem-rhino-mcp/nexus-pngs/CHRO.png +0 -0
  691. package/mcps/golem-rhino-mcp/nexus-pngs/CISO.png +0 -0
  692. package/mcps/golem-rhino-mcp/nexus-pngs/CLO.png +0 -0
  693. package/mcps/golem-rhino-mcp/nexus-pngs/CMO.png +0 -0
  694. package/mcps/golem-rhino-mcp/nexus-pngs/COO.png +0 -0
  695. package/mcps/golem-rhino-mcp/nexus-pngs/CPO.png +0 -0
  696. package/mcps/golem-rhino-mcp/nexus-pngs/CRO.png +0 -0
  697. package/mcps/golem-rhino-mcp/nexus-pngs/CTO.png +0 -0
  698. package/mcps/golem-rhino-mcp/nexus-pngs/king-hippo.png +0 -0
  699. package/mcps/golem-rhino-mcp/nexus-pngs/tier-0-csuite.png +0 -0
  700. package/mcps/golem-rhino-mcp/screenshots/city_monument.png +0 -0
  701. package/mcps/golem-rhino-mcp/screenshots/city_skyline.png +0 -0
  702. package/mcps/golem-rhino-mcp/screenshots/city_street.png +0 -0
  703. package/mcps/golem-rhino-mcp/screenshots/city_wide.png +0 -0
  704. package/mcps/golem-rhino-mcp/tests/__init__.py +0 -0
  705. package/mcps/golem-rhino-mcp/tests/conftest.py +0 -150
  706. package/mcps/golem-rhino-mcp/tests/test_connection.py +0 -543
  707. package/mcps/golem-rhino-mcp/tests/test_integration.py +0 -344
  708. package/mcps/golem-rhino-mcp/tests/test_models.py +0 -749
  709. package/mcps/golem-rhino-mcp/tests/test_protocol.py +0 -334
  710. package/mcps/golem-rhino-mcp/tests/test_tools_mock.py +0 -689
  711. package/mcps/tdmcp/.github/social-preview.png +0 -0
  712. package/mcps/tdmcp/docs/.vitepress/config.ts +0 -397
  713. package/mcps/tdmcp/docs/AI_PARTY_LLM_TRAINING_PLAN.md +0 -118
  714. package/mcps/tdmcp/docs/AI_PARTY_POC.md +0 -142
  715. package/mcps/tdmcp/docs/AI_PARTY_POC_PLAN.md +0 -112
  716. package/mcps/tdmcp/docs/CREATIVE_RAG.md +0 -346
  717. package/mcps/tdmcp/docs/DEPLOYMENT.md +0 -113
  718. package/mcps/tdmcp/docs/PROJECT_RAG.md +0 -477
  719. package/mcps/tdmcp/docs/ROADMAP.md +0 -1346
  720. package/mcps/tdmcp/docs/guide/ai-controlled-party.md +0 -215
  721. package/mcps/tdmcp/docs/guide/body-tracking.md +0 -169
  722. package/mcps/tdmcp/docs/guide/codex.md +0 -107
  723. package/mcps/tdmcp/docs/guide/components.md +0 -126
  724. package/mcps/tdmcp/docs/guide/dashboard-foh.md +0 -93
  725. package/mcps/tdmcp/docs/guide/faq.md +0 -62
  726. package/mcps/tdmcp/docs/guide/first-visual.md +0 -76
  727. package/mcps/tdmcp/docs/guide/generators.md +0 -230
  728. package/mcps/tdmcp/docs/guide/glossary.md +0 -123
  729. package/mcps/tdmcp/docs/guide/install.md +0 -200
  730. package/mcps/tdmcp/docs/guide/local-copilot.md +0 -154
  731. package/mcps/tdmcp/docs/guide/lops-integration.md +0 -133
  732. package/mcps/tdmcp/docs/guide/mcp-resources.md +0 -96
  733. package/mcps/tdmcp/docs/guide/mediapipe-adapters.md +0 -90
  734. package/mcps/tdmcp/docs/guide/physical-installations.md +0 -129
  735. package/mcps/tdmcp/docs/guide/prompt-cookbook.md +0 -2285
  736. package/mcps/tdmcp/docs/guide/recipes.md +0 -72
  737. package/mcps/tdmcp/docs/guide/session-profile.md +0 -90
  738. package/mcps/tdmcp/docs/guide/shader-park.md +0 -94
  739. package/mcps/tdmcp/docs/guide/show-timelines.md +0 -125
  740. package/mcps/tdmcp/docs/guide/troubleshooting.md +0 -121
  741. package/mcps/tdmcp/docs/guide/what-is-tdmcp.md +0 -62
  742. package/mcps/tdmcp/docs/index.md +0 -49
  743. package/mcps/tdmcp/docs/privacy.md +0 -85
  744. package/mcps/tdmcp/docs/pt/CREATIVE_RAG.md +0 -370
  745. package/mcps/tdmcp/docs/pt/PROJECT_RAG.md +0 -420
  746. package/mcps/tdmcp/docs/pt/guide/ai-controlled-party.md +0 -218
  747. package/mcps/tdmcp/docs/pt/guide/body-tracking.md +0 -175
  748. package/mcps/tdmcp/docs/pt/guide/codex.md +0 -113
  749. package/mcps/tdmcp/docs/pt/guide/components.md +0 -129
  750. package/mcps/tdmcp/docs/pt/guide/dashboard-foh.md +0 -95
  751. package/mcps/tdmcp/docs/pt/guide/faq.md +0 -62
  752. package/mcps/tdmcp/docs/pt/guide/first-visual.md +0 -81
  753. package/mcps/tdmcp/docs/pt/guide/generators.md +0 -243
  754. package/mcps/tdmcp/docs/pt/guide/glossary.md +0 -127
  755. package/mcps/tdmcp/docs/pt/guide/install.md +0 -196
  756. package/mcps/tdmcp/docs/pt/guide/local-copilot.md +0 -164
  757. package/mcps/tdmcp/docs/pt/guide/lops-integration.md +0 -143
  758. package/mcps/tdmcp/docs/pt/guide/mcp-resources.md +0 -96
  759. package/mcps/tdmcp/docs/pt/guide/mediapipe-adapters.md +0 -93
  760. package/mcps/tdmcp/docs/pt/guide/physical-installations.md +0 -135
  761. package/mcps/tdmcp/docs/pt/guide/prompt-cookbook.md +0 -2342
  762. package/mcps/tdmcp/docs/pt/guide/recipes.md +0 -59
  763. package/mcps/tdmcp/docs/pt/guide/session-profile.md +0 -92
  764. package/mcps/tdmcp/docs/pt/guide/shader-park.md +0 -95
  765. package/mcps/tdmcp/docs/pt/guide/show-timelines.md +0 -128
  766. package/mcps/tdmcp/docs/pt/guide/troubleshooting.md +0 -109
  767. package/mcps/tdmcp/docs/pt/guide/what-is-tdmcp.md +0 -61
  768. package/mcps/tdmcp/docs/pt/index.md +0 -49
  769. package/mcps/tdmcp/docs/pt/privacy.md +0 -91
  770. package/mcps/tdmcp/docs/pt/reference/architecture.md +0 -178
  771. package/mcps/tdmcp/docs/pt/reference/environment.md +0 -70
  772. package/mcps/tdmcp/docs/public/favicon.svg +0 -12
  773. package/mcps/tdmcp/docs/public/logo-400.png +0 -0
  774. package/mcps/tdmcp/docs/public/og-image.jpg +0 -0
  775. package/mcps/tdmcp/docs/public/robots.txt +0 -4
  776. package/mcps/tdmcp/docs/reference/API_STABILITY.md +0 -116
  777. package/mcps/tdmcp/docs/reference/architecture.md +0 -191
  778. package/mcps/tdmcp/docs/reference/bridge-api.md +0 -155
  779. package/mcps/tdmcp/docs/reference/cli.md +0 -288
  780. package/mcps/tdmcp/docs/reference/coverage-harness.md +0 -61
  781. package/mcps/tdmcp/docs/reference/environment.md +0 -116
  782. package/mcps/tdmcp/docs/reference/packages.md +0 -98
  783. package/mcps/tdmcp/docs/reference/tool-contract.md +0 -74
  784. package/mcps/tdmcp/docs/superpowers/plans/2026-05-29-shader-park-animus-integrations.md +0 -76
  785. package/mcps/tdmcp/docs/superpowers/plans/2026-06-02-doctor-fix-textport-auto-install.md +0 -131
  786. package/mcps/tdmcp/docs/superpowers/plans/2026-06-06-body-bubbles.md +0 -138
  787. package/mcps/tdmcp/docs/superpowers/plans/2026-06-08-deep-doppelganger-implementation.md +0 -201
  788. package/mcps/tdmcp/docs/superpowers/plans/2026-06-10-ai-party-ollama-integration.md +0 -55
  789. package/mcps/tdmcp/docs/superpowers/plans/2026-06-24-kinect-wall-harp-calibration-wizard.md +0 -53
  790. package/mcps/tdmcp/docs/superpowers/plans/2026-06-24-kinect-wall-harp-external-kinect.md +0 -286
  791. package/mcps/tdmcp/docs/superpowers/specs/2026-05-31-create-vector-lines-design.md +0 -308
  792. package/mcps/tdmcp/docs/superpowers/specs/2026-06-01-ai-controlled-party-plan.md +0 -461
  793. package/mcps/tdmcp/docs/superpowers/specs/2026-06-04-ai-party-ui24r-scene-arming-design.md +0 -296
  794. package/mcps/tdmcp/docs/superpowers/specs/2026-06-08-ai-controlled-party-producer-poc.md +0 -232
  795. package/mcps/tdmcp/docs/superpowers/specs/2026-06-08-deep-doppelganger-design.md +0 -136
  796. package/mcps/tdmcp/docs/superpowers/specs/2026-06-10-hermes-ai-party-poc.md +0 -383
  797. package/mcps/tdmcp/docs/superpowers/specs/2026-06-23-kinect-wall-harp-design.md +0 -340
  798. package/mcps/tdmcp/docs/superpowers/specs/2026-06-24-kinect-environment-diagnostic-design.md +0 -151
  799. package/mcps/tdmcp/docs/superpowers/specs/2026-06-24-kinect-wall-harp-external-kinect-design.md +0 -104
  800. package/mcps/tdmcp/training/showintent/data/curated/.gitkeep +0 -1
  801. package/mcps/tdmcp/training/showintent/data/curated/curated-approved.jsonl +0 -1
  802. package/mcps/tdmcp/training/showintent/data/curation_template.csv +0 -1
  803. package/mcps/tdmcp/training/showintent/data/generated/.gitkeep +0 -1
  804. package/mcps/tdmcp/training/showintent/data/generated/showintent-synthetic.jsonl +0 -2000
  805. package/mcps/tdmcp/training/showintent/data/raw/.gitkeep +0 -1
  806. package/mcps/tdmcp/training/showintent/data/splits/.gitkeep +0 -1
  807. package/mcps/tdmcp/training/showintent/data/splits/train-compact.jsonl +0 -1800
  808. package/mcps/tdmcp/training/showintent/data/splits/train.jsonl +0 -1800
  809. package/mcps/tdmcp/training/showintent/data/splits/validation-compact.jsonl +0 -200
  810. package/mcps/tdmcp/training/showintent/data/splits/validation.jsonl +0 -200
  811. package/mcps/touchdesigner-mcp/assets/import.png +0 -0
  812. package/mcps/touchdesigner-mcp/assets/nodes_list.png +0 -0
  813. package/mcps/touchdesigner-mcp/assets/particle_on_youtube.png +0 -0
  814. package/mcps/touchdesigner-mcp/assets/textport.png +0 -0
  815. package/mcps/touchdesigner-mcp/assets/tutorial.png +0 -0
  816. package/mcps/touchdesigner-mcp/assets/tutorial_docker.png +0 -0
  817. package/mcps/touchdesigner-mcp/docs/architecture.md +0 -1245
  818. package/mcps/touchdesigner-mcp/docs/development.ja.md +0 -197
  819. package/mcps/touchdesigner-mcp/docs/development.md +0 -212
  820. package/mcps/touchdesigner-mcp/docs/installation.ja.md +0 -370
  821. package/mcps/touchdesigner-mcp/docs/installation.md +0 -406
  822. package/mcps/unreal_mcp/Public/icon.png +0 -0
  823. package/mcps/unreal_mcp/docs/Engine-API-Reference.md +0 -2251
  824. package/mcps/unreal_mcp/docs/Roadmap.md +0 -2269
  825. package/mcps/unreal_mcp/docs/editor-plugin-extension.md +0 -373
  826. package/mcps/unreal_mcp/docs/handler-mapping.md +0 -1170
  827. package/mcps/unreal_mcp/docs/native-automation-progress.md +0 -431
  828. package/mcps/unreal_mcp/docs/testing-guide.md +0 -149
  829. package/mcps/unreal_mcp/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/Domains/Test/McpAutomationBridge_TestHandlers.cpp +0 -74
  830. package/mcps/unreal_mcp/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/Tests/McpCustomHandlerAliasTests.cpp +0 -191
  831. package/mcps/unreal_mcp/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/Tests/McpEnvironmentSnapshotSchemaTests.cpp +0 -192
  832. package/mcps/unreal_mcp/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/Tests/McpPropertyReflectionImportTests.cpp +0 -269
  833. package/mcps/unreal_mcp/plugins/UnrealAgent/Source/UnrealAgent/Private/Tests/UnrealAgentAcpClientProtocolAutomation.cpp +0 -152
  834. package/mcps/unreal_mcp/plugins/UnrealAgent/Source/UnrealAgent/Private/Tests/UnrealAgentAcpProtocolTestHelpers.cpp +0 -136
  835. package/mcps/unreal_mcp/plugins/UnrealAgent/Source/UnrealAgent/Private/Tests/UnrealAgentAcpProtocolTestHelpers.h +0 -49
  836. package/mcps/unreal_mcp/plugins/UnrealAgent/Source/UnrealAgent/Private/Tests/UnrealAgentAutomationTestDelegates.h +0 -12
  837. package/mcps/unreal_mcp/plugins/UnrealAgent/Source/UnrealAgent/Private/Tests/UnrealAgentAutomationTests.cpp +0 -34
  838. package/mcps/unreal_mcp/plugins/UnrealAgent/Source/UnrealAgent/Private/Tests/UnrealAgentAutomationWidgetHelpers.cpp +0 -116
  839. package/mcps/unreal_mcp/plugins/UnrealAgent/Source/UnrealAgent/Private/Tests/UnrealAgentAutomationWidgetHelpers.h +0 -15
  840. package/mcps/unreal_mcp/plugins/UnrealAgent/Source/UnrealAgent/Private/Tests/UnrealAgentFakeAcpScript.cpp +0 -76
  841. package/mcps/unreal_mcp/plugins/UnrealAgent/Source/UnrealAgent/Private/Tests/UnrealAgentPanelAutomation.h +0 -35
  842. package/mcps/unreal_mcp/plugins/UnrealAgent/Source/UnrealAgent/Private/Tests/UnrealAgentPanelAutomationFixture.cpp +0 -118
  843. package/mcps/unreal_mcp/plugins/UnrealAgent/Source/UnrealAgent/Private/Tests/UnrealAgentPanelHistoryChecks.cpp +0 -162
  844. package/mcps/unreal_mcp/plugins/UnrealAgent/Source/UnrealAgent/Private/Tests/UnrealAgentPanelLayoutChecks.cpp +0 -158
  845. package/mcps/unreal_mcp/plugins/UnrealAgent/Source/UnrealAgent/Private/Tests/UnrealAgentPanelTranscriptChecks.cpp +0 -117
  846. package/mcps/unreal_mcp/plugins/UnrealAgent/Source/UnrealAgent/Private/Tests/UnrealAgentStudioKitAutomationChecks.cpp +0 -155
  847. package/mcps/unreal_mcp/tests/AGENTS.md +0 -73
  848. package/mcps/unreal_mcp/tests/expectation-utils.mjs +0 -29
  849. package/mcps/unreal_mcp/tests/heartbeat-progress.test.mjs +0 -143
  850. package/mcps/unreal_mcp/tests/integration/get_ai_info_characterization.mjs +0 -216
  851. package/mcps/unreal_mcp/tests/integration.mjs +0 -94
  852. package/mcps/unreal_mcp/tests/mcp-tools/core/control-actor.test.mjs +0 -114
  853. package/mcps/unreal_mcp/tests/mcp-tools/core/control-editor.test.mjs +0 -86
  854. package/mcps/unreal_mcp/tests/mcp-tools/core/inspect.test.mjs +0 -85
  855. package/mcps/unreal_mcp/tests/mcp-tools/core/manage-asset.test.mjs +0 -302
  856. package/mcps/unreal_mcp/tests/mcp-tools/core/manage-blueprint.test.mjs +0 -331
  857. package/mcps/unreal_mcp/tests/mcp-tools/core/manage-level.test.mjs +0 -73
  858. package/mcps/unreal_mcp/tests/mcp-tools/core/manage-tools.test.mjs +0 -30
  859. package/mcps/unreal_mcp/tests/mcp-tools/core/system-control.test.mjs +0 -205
  860. package/mcps/unreal_mcp/tests/mcp-tools/gameplay/animation-physics.test.mjs +0 -277
  861. package/mcps/unreal_mcp/tests/mcp-tools/gameplay/manage-ai.test.mjs +0 -299
  862. package/mcps/unreal_mcp/tests/mcp-tools/gameplay/manage-character.test.mjs +0 -85
  863. package/mcps/unreal_mcp/tests/mcp-tools/gameplay/manage-combat.test.mjs +0 -106
  864. package/mcps/unreal_mcp/tests/mcp-tools/gameplay/manage-effect.test.mjs +0 -108
  865. package/mcps/unreal_mcp/tests/mcp-tools/gameplay/manage-gas.test.mjs +0 -96
  866. package/mcps/unreal_mcp/tests/mcp-tools/gameplay/manage-interaction.test.mjs +0 -122
  867. package/mcps/unreal_mcp/tests/mcp-tools/gameplay/manage-inventory.test.mjs +0 -146
  868. package/mcps/unreal_mcp/tests/mcp-tools/utility/behavior-tree-get-tree.test.mjs +0 -233
  869. package/mcps/unreal_mcp/tests/mcp-tools/utility/manage-audio.test.mjs +0 -160
  870. package/mcps/unreal_mcp/tests/mcp-tools/utility/manage-behavior-tree.test.mjs +0 -223
  871. package/mcps/unreal_mcp/tests/mcp-tools/utility/manage-networking.test.mjs +0 -635
  872. package/mcps/unreal_mcp/tests/mcp-tools/utility/manage-sequence.test.mjs +0 -95
  873. package/mcps/unreal_mcp/tests/mcp-tools/world/build-environment.test.mjs +0 -282
  874. package/mcps/unreal_mcp/tests/mcp-tools/world/manage-geometry.test.mjs +0 -130
  875. package/mcps/unreal_mcp/tests/mcp-tools/world/manage-level-structure.test.mjs +0 -149
  876. package/mcps/unreal_mcp/tests/mcp-tools/world/manage-pcg.test.mjs +0 -471
  877. package/mcps/unreal_mcp/tests/mcp-tools/world/rendering-cases.cjs +0 -775
  878. package/mcps/unreal_mcp/tests/mcp-tools/world/rendering.test.mjs +0 -15
  879. package/mcps/unreal_mcp/tests/native-mcp-parity-audit.mjs +0 -260
  880. package/mcps/unreal_mcp/tests/native-mcp-source-parser.mjs +0 -229
  881. package/mcps/unreal_mcp/tests/native-mcp-typescript-parity-parser.mjs +0 -121
  882. package/mcps/unreal_mcp/tests/parameter-audit-cli.mjs +0 -23
  883. package/mcps/unreal_mcp/tests/parameter-audit-context.mjs +0 -14
  884. package/mcps/unreal_mcp/tests/parameter-audit-coverage.mjs +0 -164
  885. package/mcps/unreal_mcp/tests/parameter-audit-schema.mjs +0 -190
  886. package/mcps/unreal_mcp/tests/parameter-audit-suites.mjs +0 -218
  887. package/mcps/unreal_mcp/tests/parameter-combination-audit.mjs +0 -37
  888. package/mcps/unreal_mcp/tests/test-runner-response-utils.mjs +0 -132
  889. package/mcps/unreal_mcp/tests/test-runner.mjs +0 -1798
  890. package/mcps/unreal_mcp/tests/unit/automation/bridge_host_validation.test.ts +0 -165
  891. package/mcps/unreal_mcp/tests/unit/config.test.ts +0 -205
  892. package/mcps/unreal_mcp/tests/unit/native_mcp_parity_audit.test.ts +0 -281
  893. package/mcps/unreal_mcp/tests/unit/native_mcp_parity_comment_filtering.test.ts +0 -175
  894. package/mcps/unreal_mcp/tests/unit/parameter_audit_schema.test.ts +0 -273
  895. package/mcps/unreal_mcp/tests/unit/plugin/automation_event_stream_contracts.test.ts +0 -195
  896. package/mcps/unreal_mcp/tests/unit/plugin/environment_asset_name_contracts.test.ts +0 -115
  897. package/mcps/unreal_mcp/tests/unit/plugin/environment_build_adapter_contracts.test.ts +0 -377
  898. package/mcps/unreal_mcp/tests/unit/plugin/environment_snapshot_path_contracts.test.ts +0 -122
  899. package/mcps/unreal_mcp/tests/unit/plugin/handler_routing_contracts.test.ts +0 -120
  900. package/mcps/unreal_mcp/tests/unit/plugin/level_lighting_contracts.test.ts +0 -125
  901. package/mcps/unreal_mcp/tests/unit/plugin/plugin_manifest_contracts.test.ts +0 -154
  902. package/mcps/unreal_mcp/tests/unit/plugin/plugin_packaging_contracts.test.ts +0 -124
  903. package/mcps/unreal_mcp/tests/unit/plugin/runtime_behavior_contracts.test.ts +0 -372
  904. package/mcps/unreal_mcp/tests/unit/plugin/security_contracts.test.ts +0 -81
  905. package/mcps/unreal_mcp/tests/unit/plugin/source_structure.test.ts +0 -101
  906. package/mcps/unreal_mcp/tests/unit/plugin/source_structure_contracts.test.ts +0 -103
  907. package/mcps/unreal_mcp/tests/unit/plugin/websocket_origin_contracts.test.ts +0 -25
  908. package/mcps/unreal_mcp/tests/unit/server_shutdown_contracts.test.ts +0 -33
  909. package/mcps/unreal_mcp/tests/unit/source_structure.test.ts +0 -79
  910. package/mcps/unreal_mcp/tests/unit/test_runner.test.ts +0 -342
  911. package/mcps/unreal_mcp/tests/unit/test_runner_response_utils.test.ts +0 -105
  912. package/mcps/unreal_mcp/tests/unit/tools/asset_handlers_security.test.ts +0 -246
  913. package/mcps/unreal_mcp/tests/unit/tools/behavior_tree_get_tree.test.ts +0 -20
  914. package/mcps/unreal_mcp/tests/unit/tools/blueprint_handlers.test.ts +0 -122
  915. package/mcps/unreal_mcp/tests/unit/tools/editor.test.ts +0 -56
  916. package/mcps/unreal_mcp/tests/unit/tools/handler_structure.test.ts +0 -59
  917. package/mcps/unreal_mcp/tests/unit/tools/inspect_handlers.test.ts +0 -231
  918. package/mcps/unreal_mcp/tests/unit/tools/level.test.ts +0 -56
  919. package/mcps/unreal_mcp/tests/unit/tools/level_security.test.ts +0 -45
  920. package/mcps/unreal_mcp/tests/unit/tools/lighting_timeout_propagation.test.ts +0 -123
  921. package/mcps/windows-computer-use-mcp/cua-reports/app-1781542686.png +0 -0
  922. package/mcps/windows-computer-use-mcp/cua-reports/bridge-1781542694.png +0 -0
  923. package/mcps/windows-computer-use-mcp/cua-reports/bridge-ok-1781442393.png +0 -0
  924. package/mcps/windows-computer-use-mcp/cua-reports/bridge-ok-1781442915.png +0 -0
  925. package/mcps/windows-computer-use-mcp/cua-reports/bridge-snap-1781444105.png +0 -0
  926. package/mcps/windows-computer-use-mcp/cua-reports/bridge-snap-1781444214.png +0 -0
  927. package/mcps/windows-computer-use-mcp/cua-reports/bridge-snap-1781457035.png +0 -0
  928. package/mcps/windows-computer-use-mcp/cua-reports/cua-smoke-1781440024.png +0 -0
  929. package/mcps/windows-computer-use-mcp/cua-reports/cua-smoke-1781440234.png +0 -0
  930. package/mcps/windows-computer-use-mcp/cua-reports/cua-smoke-1781442383.png +0 -0
  931. package/mcps/windows-computer-use-mcp/cua-reports/cua-smoke-1781442906.png +0 -0
  932. package/mcps/windows-computer-use-mcp/cua-reports/cua-smoke-1781444096.png +0 -0
  933. package/mcps/windows-computer-use-mcp/cua-reports/cua-smoke-1781444209.png +0 -0
  934. package/mcps/windows-computer-use-mcp/cua-reports/cua-smoke-1781457029.png +0 -0
  935. package/mcps/windows-computer-use-mcp/cua-reports/nav/dashboard-1781542713.png +0 -0
  936. package/mcps/windows-computer-use-mcp/cua-reports/nav/help-1781542738.png +0 -0
  937. package/mcps/windows-computer-use-mcp/cua-reports/nav/logging-1781542722.png +0 -0
  938. package/mcps/windows-computer-use-mcp/cua-reports/nav/nav-dashboard-1781444225.png +0 -0
  939. package/mcps/windows-computer-use-mcp/cua-reports/nav/nav-dashboard-1781457051.png +0 -0
  940. package/mcps/windows-computer-use-mcp/cua-reports/nav/nav-help-1781444245.png +0 -0
  941. package/mcps/windows-computer-use-mcp/cua-reports/nav/nav-help-1781457075.png +0 -0
  942. package/mcps/windows-computer-use-mcp/cua-reports/nav/nav-logging-1781444232.png +0 -0
  943. package/mcps/windows-computer-use-mcp/cua-reports/nav/nav-logging-1781457059.png +0 -0
  944. package/mcps/windows-computer-use-mcp/cua-reports/nav/nav-settings-1781444239.png +0 -0
  945. package/mcps/windows-computer-use-mcp/cua-reports/nav/nav-settings-1781457067.png +0 -0
  946. package/mcps/windows-computer-use-mcp/cua-reports/nav/settings-1781542730.png +0 -0
  947. package/mcps/windows-computer-use-mcp/cua-reports/nav-dashboard-1781442925.png +0 -0
  948. package/mcps/windows-computer-use-mcp/cua-reports/nav-help-1781442941.png +0 -0
  949. package/mcps/windows-computer-use-mcp/cua-reports/nav-logging-1781442930.png +0 -0
  950. package/mcps/windows-computer-use-mcp/cua-reports/nav-settings-1781442936.png +0 -0
  951. package/mcps/windows-computer-use-mcp/docs/ARCHITECTURE.md +0 -46
  952. package/mcps/windows-computer-use-mcp/docs/ASSESSMENT_BY_CURSOR_2026-06-14_CUA_NSIS.md +0 -383
  953. package/mcps/windows-computer-use-mcp/docs/AUTOMATION_ASSERT_SPEC.md +0 -202
  954. package/mcps/windows-computer-use-mcp/docs/CUA_PARITY.md +0 -39
  955. package/mcps/windows-computer-use-mcp/docs/DEVELOPMENT.md +0 -51
  956. package/mcps/windows-computer-use-mcp/docs/MEMOPS_CUA.md +0 -147
  957. package/mcps/windows-computer-use-mcp/docs/PRD.md +0 -93
  958. package/mcps/windows-computer-use-mcp/docs/README.md +0 -34
  959. package/mcps/windows-computer-use-mcp/docs/ROADMAP.md +0 -142
  960. package/mcps/windows-computer-use-mcp/docs/SAFETY.md +0 -138
  961. package/mcps/windows-computer-use-mcp/docs/TESTING.md +0 -90
  962. package/mcps/windows-computer-use-mcp/docs/TOOLS.md +0 -80
  963. package/mcps/windows-computer-use-mcp/docs/TOOL_DOCSTRING_STANDARD.md +0 -538
  964. package/mcps/windows-computer-use-mcp/docs/_stale/AHK_VS_PYWINAUTO_COMPARISON.md +0 -353
  965. package/mcps/windows-computer-use-mcp/docs/_stale/ASSESSMENT.md +0 -54
  966. package/mcps/windows-computer-use-mcp/docs/_stale/ASSESSMENT_2026-06-08.md +0 -309
  967. package/mcps/windows-computer-use-mcp/docs/_stale/COMPLETE_DOCUMENTATION_STRUCTURE.md +0 -5
  968. package/mcps/windows-computer-use-mcp/docs/_stale/CUA_ASSISTANT_TODO.md +0 -84
  969. package/mcps/windows-computer-use-mcp/docs/_stale/CUA_PARITY_ROADMAP.md +0 -81
  970. package/mcps/windows-computer-use-mcp/docs/_stale/CUA_ROADMAP.md +0 -306
  971. package/mcps/windows-computer-use-mcp/docs/_stale/DESKTOP_APP.md +0 -125
  972. package/mcps/windows-computer-use-mcp/docs/_stale/DOCUMENTATION_INDEX.md +0 -59
  973. package/mcps/windows-computer-use-mcp/docs/_stale/GLAMA_AI_CRITICISM_ANALYSIS.md +0 -259
  974. package/mcps/windows-computer-use-mcp/docs/_stale/GLAMA_AI_PLATFORM.md +0 -175
  975. package/mcps/windows-computer-use-mcp/docs/_stale/GLAMA_AI_RESCAN_GUIDE.md +0 -216
  976. package/mcps/windows-computer-use-mcp/docs/_stale/GOLD_STATUS_ACHIEVEMENT.md +0 -197
  977. package/mcps/windows-computer-use-mcp/docs/_stale/LLM_REPO_CONTEXT.md +0 -7
  978. package/mcps/windows-computer-use-mcp/docs/_stale/MCP_PRODUCTION_CHECKLIST.md +0 -105
  979. package/mcps/windows-computer-use-mcp/docs/_stale/OFFICE_BACKGROUND_MATRIX.md +0 -19
  980. package/mcps/windows-computer-use-mcp/docs/_stale/OPERATOR_PROTOCOL.md +0 -37
  981. package/mcps/windows-computer-use-mcp/docs/_stale/ORGANIZATION_SUMMARY.md +0 -305
  982. package/mcps/windows-computer-use-mcp/docs/_stale/RENAME-TO-AUTOMATION-MCP.md +0 -191
  983. package/mcps/windows-computer-use-mcp/docs/_stale/STATUS_REPORT.md +0 -288
  984. package/mcps/windows-computer-use-mcp/docs/_stale/TARGETS_PAGE_SKETCH.md +0 -977
  985. package/mcps/windows-computer-use-mcp/docs/_stale/TOOL_DOCSTRING_MIGRATION.md +0 -365
  986. package/mcps/windows-computer-use-mcp/docs/_stale/USAGE_SCENARIOS.md +0 -697
  987. package/mcps/windows-computer-use-mcp/docs/_stale/desktop-state-tool.md +0 -464
  988. package/mcps/windows-computer-use-mcp/docs/_stale/development/README.md +0 -18
  989. package/mcps/windows-computer-use-mcp/docs/_stale/development/archive/AI_DEVELOPMENT_RULES.md +0 -928
  990. package/mcps/windows-computer-use-mcp/docs/_stale/development/archive/AI_DEVELOPMENT_TOOLS_COMPARISON.md +0 -364
  991. package/mcps/windows-computer-use-mcp/docs/_stale/development/archive/BULLETPROOF_MCP_GUIDE.md +0 -793
  992. package/mcps/windows-computer-use-mcp/docs/_stale/development/archive/DEBUGGING_LESSONS_LEARNED.md +0 -635
  993. package/mcps/windows-computer-use-mcp/docs/_stale/development/archive/DEVELOPMENT_PAIN_POINTS.md +0 -699
  994. package/mcps/windows-computer-use-mcp/docs/_stale/development/archive/FILE_VALIDATION_COMPLETE.md +0 -410
  995. package/mcps/windows-computer-use-mcp/docs/_stale/development/archive/FILE_VALIDATION_GUIDE.md +0 -575
  996. package/mcps/windows-computer-use-mcp/docs/_stale/development/archive/LINK_PARSER_FIX.md +0 -769
  997. package/mcps/windows-computer-use-mcp/docs/_stale/development/archive/MCP_SYNC_DEBUGGING_GUIDE.md +0 -512
  998. package/mcps/windows-computer-use-mcp/docs/_stale/development/archive/PYTHON_DEPENDENCY_HELL_FIX.md +0 -568
  999. package/mcps/windows-computer-use-mcp/docs/_stale/development/archive/PYTHON_SNIPPETS_USAGE_GUIDE.md +0 -717
  1000. package/mcps/windows-computer-use-mcp/docs/_stale/development/archive/README.md +0 -25
  1001. package/mcps/windows-computer-use-mcp/docs/_stale/development/archive/SYNC_HEALTH_IMPROVEMENTS_SUMMARY.md +0 -496
  1002. package/mcps/windows-computer-use-mcp/docs/_stale/development/archive/SYNC_HEALTH_INTEGRATION.md +0 -381
  1003. package/mcps/windows-computer-use-mcp/docs/_stale/development/archive/SYSTEMATIC_PROJECT_UPDATES.md +0 -532
  1004. package/mcps/windows-computer-use-mcp/docs/_stale/development/archive/mcp-prompt-templates-vs-docstrings.md +0 -657
  1005. package/mcps/windows-computer-use-mcp/docs/_stale/development/archive/mcp-tool-docstring-best-practices.md +0 -439
  1006. package/mcps/windows-computer-use-mcp/docs/_stale/development/archive/mcp-tool-documentation-standards.md +0 -1153
  1007. package/mcps/windows-computer-use-mcp/docs/_stale/glama-platform/CI_CD_GLAMA_OPTIMIZATION_GUIDE.md +0 -850
  1008. package/mcps/windows-computer-use-mcp/docs/_stale/glama-platform/GLAMA_AI_CRITICISM_ANALYSIS.md +0 -259
  1009. package/mcps/windows-computer-use-mcp/docs/_stale/glama-platform/GLAMA_AI_OPTIMIZATION_SUMMARY.md +0 -204
  1010. package/mcps/windows-computer-use-mcp/docs/_stale/glama-platform/GLAMA_AI_PLATFORM.md +0 -175
  1011. package/mcps/windows-computer-use-mcp/docs/_stale/glama-platform/GLAMA_AI_RESCAN_GUIDE.md +0 -216
  1012. package/mcps/windows-computer-use-mcp/docs/_stale/glama-platform/GLAMA_GITHUB_APP_SETUP.md +0 -199
  1013. package/mcps/windows-computer-use-mcp/docs/_stale/glama-platform/GLAMA_INTEGRATION.md +0 -181
  1014. package/mcps/windows-computer-use-mcp/docs/_stale/glama-platform/GLAMA_RESCAN_EMAIL.txt +0 -43
  1015. package/mcps/windows-computer-use-mcp/docs/_stale/glama-platform/GOLD_STATUS_ACHIEVEMENT.md +0 -197
  1016. package/mcps/windows-computer-use-mcp/docs/_stale/glama-platform/GOLD_STATUS_UPDATE_2025_10_08.md +0 -378
  1017. package/mcps/windows-computer-use-mcp/docs/_stale/glama-platform/README.md +0 -632
  1018. package/mcps/windows-computer-use-mcp/docs/_stale/legacy/requirements-fastmcp.txt +0 -8
  1019. package/mcps/windows-computer-use-mcp/docs/_stale/legacy/requirements_minimal.txt +0 -4
  1020. package/mcps/windows-computer-use-mcp/docs/_stale/mcp-technical/CLAUDE_DESKTOP_DEBUGGING.md +0 -561
  1021. package/mcps/windows-computer-use-mcp/docs/_stale/mcp-technical/CONTAINERIZATION_GUIDELINES.md +0 -707
  1022. package/mcps/windows-computer-use-mcp/docs/_stale/mcp-technical/MCP_PRODUCTION_CHECKLIST.md +0 -101
  1023. package/mcps/windows-computer-use-mcp/docs/_stale/mcp-technical/MONITORING_STACK_DEPLOYMENT.md +0 -532
  1024. package/mcps/windows-computer-use-mcp/docs/_stale/mcp-technical/README.md +0 -266
  1025. package/mcps/windows-computer-use-mcp/docs/_stale/mcp-technical/TROUBLESHOOTING_FASTMCP_2.12.md +0 -670
  1026. package/mcps/windows-computer-use-mcp/docs/_stale/mcpb-packaging/MCPB_BUILDING_GUIDE.md +0 -1921
  1027. package/mcps/windows-computer-use-mcp/docs/_stale/mcpb-packaging/MCPB_IMPLEMENTATION_SUMMARY.md +0 -387
  1028. package/mcps/windows-computer-use-mcp/docs/_stale/mcpb-packaging/PYPI_PUBLISHING_GUIDE.md +0 -789
  1029. package/mcps/windows-computer-use-mcp/docs/_stale/mcpb-packaging/README.md +0 -404
  1030. package/mcps/windows-computer-use-mcp/docs/_stale/notepadpp/COMMUNITY_AND_SUPPORT.md +0 -976
  1031. package/mcps/windows-computer-use-mcp/docs/_stale/notepadpp/LANGUAGE_SERVER_PROTOCOL_EXPLAINED.md +0 -416
  1032. package/mcps/windows-computer-use-mcp/docs/_stale/notepadpp/MCP_TOOL_CORRUPTION_ISSUE.md +0 -279
  1033. package/mcps/windows-computer-use-mcp/docs/_stale/notepadpp/NOTEPADPP_ALTERNATIVES.md +0 -308
  1034. package/mcps/windows-computer-use-mcp/docs/_stale/notepadpp/NOTEPADPP_COLOR_FIX_2025_10_08.md +0 -187
  1035. package/mcps/windows-computer-use-mcp/docs/_stale/notepadpp/NOTEPADPP_COMPLETE_GUIDE.md +0 -1259
  1036. package/mcps/windows-computer-use-mcp/docs/_stale/notepadpp/NOTEPADPP_NUCLEAR_REINSTALL_2025_10_08.md +0 -196
  1037. package/mcps/windows-computer-use-mcp/docs/_stale/notepadpp/NPP_WHITE_ON_WHITE_BATTLE_PLAN.md +0 -336
  1038. package/mcps/windows-computer-use-mcp/docs/_stale/notepadpp/PLUGIN_ECOSYSTEM_COMPREHENSIVE.md +0 -887
  1039. package/mcps/windows-computer-use-mcp/docs/_stale/notepadpp/README.md +0 -472
  1040. package/mcps/windows-computer-use-mcp/docs/_stale/repository-protection/BACKUP_AND_RECOVERY_GUIDE.md +0 -455
  1041. package/mcps/windows-computer-use-mcp/docs/_stale/repository-protection/BRANCH_PROTECTION_SETTINGS.md +0 -236
  1042. package/mcps/windows-computer-use-mcp/docs/_stale/repository-protection/BRANCH_STRATEGY_AND_AI_WORKFLOW.md +0 -616
  1043. package/mcps/windows-computer-use-mcp/docs/_stale/repository-protection/README.md +0 -333
  1044. package/mcps/windows-computer-use-mcp/docs/_stale/serena/SERENA_COPY_TO_OTHER_REPOS.md +0 -159
  1045. package/mcps/windows-computer-use-mcp/docs/_stale/serena/SERENA_GUIDE.md +0 -632
  1046. package/mcps/windows-computer-use-mcp/docs/_stale/serena/SERENA_INSTALL_AND_TEST.md +0 -569
  1047. package/mcps/windows-computer-use-mcp/docs/_stale/serena/SERENA_NEXT_STEPS.md +0 -351
  1048. package/mcps/windows-computer-use-mcp/docs/_stale/serena/SERENA_QUICK_INSTALL.md +0 -195
  1049. package/mcps/windows-computer-use-mcp/docs/_stale/state-tool-implementation.md +0 -498
  1050. package/mcps/windows-computer-use-mcp/docs/composing-with-playwright.md +0 -55
  1051. package/mcps/windows-computer-use-mcp/docs/cua-nsis-certification.md +0 -101
  1052. package/mcps/windows-computer-use-mcp/docs/ocr.md +0 -107
  1053. package/mcps/windows-computer-use-mcp/docs/py-stack.md +0 -47
  1054. package/mcps/windows-computer-use-mcp/native/icons/icon.png +0 -0
  1055. package/mcps/windows-computer-use-mcp/screenshot_demo.png +0 -0
  1056. package/mcps/windows-computer-use-mcp/src/windows_computer_use_mcp/templates/vroidstudio/default/export_complete_toast.png +0 -0
  1057. package/mcps/windows-computer-use-mcp/src/windows_computer_use_mcp/templates/vroidstudio/default/export_dialog_title.png +0 -0
  1058. package/mcps/windows-computer-use-mcp/src/windows_computer_use_mcp/templates/vroidstudio/default/file_dialog_path_field.png +0 -0
  1059. package/mcps/windows-computer-use-mcp/src/windows_computer_use_mcp/templates/vroidstudio/default/sample_tile_female.png +0 -0
  1060. package/mcps/windows-computer-use-mcp/tests/README.md +0 -155
  1061. package/mcps/windows-computer-use-mcp/tests/__init__.py +0 -1
  1062. package/mcps/windows-computer-use-mcp/tests/conftest.py +0 -281
  1063. package/mcps/windows-computer-use-mcp/tests/conftest_env.py +0 -116
  1064. package/mcps/windows-computer-use-mcp/tests/e2e/conftest.py +0 -96
  1065. package/mcps/windows-computer-use-mcp/tests/e2e/test_libreoffice_cua_loop.py +0 -72
  1066. package/mcps/windows-computer-use-mcp/tests/test_app_integration.py +0 -83
  1067. package/mcps/windows-computer-use-mcp/tests/test_app_profiles.py +0 -28
  1068. package/mcps/windows-computer-use-mcp/tests/test_automation_assert.py +0 -185
  1069. package/mcps/windows-computer-use-mcp/tests/test_automation_dialog.py +0 -43
  1070. package/mcps/windows-computer-use-mcp/tests/test_automation_elements.py +0 -138
  1071. package/mcps/windows-computer-use-mcp/tests/test_automation_keyboard.py +0 -57
  1072. package/mcps/windows-computer-use-mcp/tests/test_automation_mouse.py +0 -57
  1073. package/mcps/windows-computer-use-mcp/tests/test_automation_shortcut.py +0 -41
  1074. package/mcps/windows-computer-use-mcp/tests/test_automation_task.py +0 -115
  1075. package/mcps/windows-computer-use-mcp/tests/test_automation_windows.py +0 -105
  1076. package/mcps/windows-computer-use-mcp/tests/test_cameras_api.py +0 -43
  1077. package/mcps/windows-computer-use-mcp/tests/test_cua_parity.py +0 -51
  1078. package/mcps/windows-computer-use-mcp/tests/test_dependency_failures.py +0 -39
  1079. package/mcps/windows-computer-use-mcp/tests/test_desktop_state.py +0 -99
  1080. package/mcps/windows-computer-use-mcp/tests/test_face_recognition.py +0 -238
  1081. package/mcps/windows-computer-use-mcp/tests/test_face_recognition_api.py +0 -161
  1082. package/mcps/windows-computer-use-mcp/tests/test_images/README.md +0 -28
  1083. package/mcps/windows-computer-use-mcp/tests/test_mission.py +0 -42
  1084. package/mcps/windows-computer-use-mcp/tests/test_portmanteau_windows_mock.py +0 -173
  1085. package/mcps/windows-computer-use-mcp/tests/test_portmanteau_windows_real.py +0 -139
  1086. package/mcps/windows-computer-use-mcp/tests/test_retry.py +0 -26
  1087. package/mcps/windows-computer-use-mcp/tests/test_safety_api.py +0 -24
  1088. package/mcps/windows-computer-use-mcp/tests/test_template_library.py +0 -53
  1089. package/mcps/windows-computer-use-mcp/tests/test_utils.py +0 -185
  1090. package/mcps/windows-computer-use-mcp/web_sota/src-tauri/icons/icon.png +0 -0
  1091. package/skills/global_config/google-sheets-automation/SKILL.md +0 -150
  1092. package/skills/global_config/senior-fullstack/SKILL.md +0 -221
  1093. package/skills/global_config/senior-fullstack/references/architecture_patterns.md +0 -103
  1094. package/skills/global_config/senior-fullstack/references/development_workflows.md +0 -103
  1095. package/skills/global_config/senior-fullstack/references/tech_stack_guide.md +0 -103
  1096. package/skills/global_config/senior-fullstack/scripts/code_quality_analyzer.py +0 -114
  1097. package/skills/global_config/senior-fullstack/scripts/fullstack_scaffolder.py +0 -114
  1098. package/skills/global_config/senior-fullstack/scripts/project_scaffolder.py +0 -114
@@ -1,2251 +0,0 @@
1
- # Unreal Engine 5.x API Reference for MCP Implementation
2
-
3
- This document provides key engine API information to guide implementation of the MCP roadmap.
4
-
5
- Paths below use `<UE_ROOT>` as the Unreal Engine installation root, for example `/data/UnrealEngine` or `C:/Program Files/Epic Games/UE_5.6`.
6
-
7
- ---
8
-
9
- ## Geometry & Mesh Creation
10
-
11
- ### Plugin Location
12
- `<UE_ROOT>/Engine/Plugins/Runtime/GeometryScripting/`
13
-
14
- ### Key Headers
15
- | File | Purpose |
16
- |------|---------|
17
- | `GeometryScript/MeshPrimitiveFunctions.h` | Primitives (Box, Sphere, Cylinder, etc.) |
18
- | `GeometryScript/MeshBooleanFunctions.h` | Boolean operations (Union, Difference, Intersection) |
19
- | `GeometryScript/MeshModelingFunctions.h` | Modeling ops (Extrude, Bevel, etc.) |
20
- | `GeometryScript/MeshDeformFunctions.h` | Deformers (Bend, Twist, etc.) |
21
- | `GeometryScript/MeshRemeshFunctions.h` | Remeshing, simplification |
22
- | `GeometryScript/MeshUVFunctions.h` | UV operations |
23
- | `GeometryScript/CollisionFunctions.h` | Collision generation |
24
- | `GeometryScript/MeshSubdivideFunctions.h` | Subdivision |
25
- | `GeometryScript/MeshNormalsFunctions.h` | Normal operations |
26
-
27
- ### Core Types
28
- ```cpp
29
- // Dynamic mesh container
30
- UDynamicMesh* TargetMesh;
31
-
32
- // Primitive options
33
- FGeometryScriptPrimitiveOptions Options;
34
- Options.PolygroupMode = EGeometryScriptPrimitivePolygroupMode::PerFace;
35
- Options.UVMode = EGeometryScriptPrimitiveUVMode::Uniform;
36
- ```
37
-
38
- ### Usage Pattern
39
- All functions are BlueprintCallable static methods in `UGeometryScript*` classes:
40
- ```cpp
41
- UGeometryScriptLibrary_MeshPrimitiveFunctions::AppendBox(
42
- TargetMesh,
43
- Options,
44
- FTransform::Identity,
45
- Width, Height, Depth,
46
- WidthSegments, HeightSegments, DepthSegments
47
- );
48
- ```
49
-
50
- ---
51
-
52
- ## Skeletal Mesh & Rigging
53
-
54
- ### Key Headers
55
- | File | Purpose |
56
- |------|---------|
57
- | `Runtime/Engine/Classes/Engine/SkeletalMesh.h` | Skeletal mesh asset |
58
- | `Runtime/Engine/Classes/Animation/Skeleton.h` | USkeleton definition |
59
- | `Runtime/Engine/Classes/PhysicsEngine/PhysicsAsset.h` | Physics asset |
60
- | `Runtime/Engine/Classes/Animation/MorphTarget.h` | Morph targets |
61
- | `Runtime/Engine/Classes/Engine/SkeletalMeshSocket.h` | Sockets |
62
-
63
- ### Skeleton & Bone Operations
64
- ```cpp
65
- USkeleton* Skeleton;
66
-
67
- // Add virtual bone (runtime reference bone)
68
- Skeleton->AddNewVirtualBone(SourceBoneName, TargetBoneName, VirtualBoneName);
69
-
70
- // Get bone info
71
- int32 BoneIndex = Skeleton->GetReferenceSkeleton().FindBoneIndex(BoneName);
72
- FTransform BoneTransform = Skeleton->GetReferenceSkeleton().GetRefBonePose()[BoneIndex];
73
- ```
74
-
75
- ### Physics Asset
76
- ```cpp
77
- UPhysicsAsset* PhysAsset;
78
-
79
- // Add body (capsule, sphere, box, convex)
80
- int32 BodyIndex = PhysAsset->FindBodyIndex(BoneName);
81
- FKAggregateGeom& AggGeom = PhysAsset->SkeletalBodySetups[BodyIndex]->AggGeom;
82
- AggGeom.SphereElems.Add(FKSphereElem(Radius));
83
- AggGeom.BoxElems.Add(FKBoxElem(X, Y, Z));
84
- AggGeom.SphylElems.Add(FKSphylElem(Radius, Length)); // Capsule
85
-
86
- // Add constraint
87
- int32 ConstraintIndex = PhysAsset->FindConstraintIndex(BoneName);
88
- FConstraintInstance& Constraint = PhysAsset->ConstraintSetup[ConstraintIndex]->DefaultInstance;
89
- Constraint.SetAngularSwing1Limit(EAngularConstraintMotion::ACM_Limited, Angle);
90
- ```
91
-
92
- ### Morph Targets
93
- ```cpp
94
- UMorphTarget* MorphTarget;
95
- FMorphTargetDelta Delta;
96
- Delta.PositionDelta = FVector3f(X, Y, Z);
97
- Delta.TangentZDelta = FVector3f(0, 0, 1);
98
- Delta.SourceIdx = VertexIndex;
99
- MorphTarget->PopulateDeltas(Deltas, LODIndex, BaseMesh);
100
- ```
101
-
102
- ---
103
-
104
- ## Material Authoring
105
-
106
- ### Key Headers
107
- | File | Purpose |
108
- |------|---------|
109
- | `Runtime/Engine/Public/Materials/Material.h` | UMaterial class |
110
- | `Runtime/Engine/Public/Materials/MaterialExpression.h` | Base expression class |
111
- | `Runtime/Engine/Public/Materials/MaterialInstance.h` | Material instances |
112
- | `Editor/MaterialEditor/Public/MaterialEditingLibrary.h` | High-level editor API |
113
-
114
- ### Core API (UMaterialEditingLibrary)
115
- ```cpp
116
- // Create expression node
117
- UMaterialExpression* Expr = UMaterialEditingLibrary::CreateMaterialExpression(
118
- Material,
119
- UMaterialExpressionTextureSample::StaticClass(),
120
- NodePosX, NodePosY
121
- );
122
-
123
- // Connect nodes
124
- UMaterialEditingLibrary::ConnectMaterialExpressions(
125
- FromExpr, "RGB",
126
- ToExpr, "A"
127
- );
128
-
129
- // Connect to material property
130
- UMaterialEditingLibrary::ConnectMaterialProperty(
131
- Expr, "RGB",
132
- EMaterialProperty::MP_BaseColor
133
- );
134
-
135
- // Recompile
136
- UMaterialEditingLibrary::RecompileMaterial(Material);
137
- ```
138
-
139
- ### Expression Types
140
- - `UMaterialExpressionTextureSample`
141
- - `UMaterialExpressionScalarParameter`
142
- - `UMaterialExpressionVectorParameter`
143
- - `UMaterialExpressionAdd`, `Multiply`, `Lerp`, etc.
144
- - `UMaterialExpressionStaticSwitchParameter`
145
-
146
- ---
147
-
148
- ## Texture Generation & Processing
149
-
150
- ### Key Headers
151
- | File | Purpose |
152
- |------|---------|
153
- | `Runtime/Engine/Classes/Engine/Texture2D.h` | 2D textures |
154
- | `Runtime/Engine/Classes/Engine/TextureRenderTarget2D.h` | Render targets |
155
- | `Runtime/Engine/Classes/Engine/CanvasRenderTarget2D.h` | Canvas rendering |
156
- | `Runtime/Engine/Public/ImageUtils.h` | Image utilities |
157
-
158
- ### Texture Creation
159
- ```cpp
160
- // Create transient texture
161
- UTexture2D* Texture = UTexture2D::CreateTransient(Width, Height, PF_B8G8R8A8);
162
- Texture->UpdateResource();
163
-
164
- // Lock and write pixel data
165
- FTexture2DMipMap& Mip = Texture->GetPlatformData()->Mips[0];
166
- void* Data = Mip.BulkData.Lock(LOCK_READ_WRITE);
167
- FMemory::Memcpy(Data, PixelData, DataSize);
168
- Mip.BulkData.Unlock();
169
- Texture->UpdateResource();
170
- ```
171
-
172
- ### Render Target Operations
173
- ```cpp
174
- UTextureRenderTarget2D* RenderTarget = NewObject<UTextureRenderTarget2D>();
175
- RenderTarget->InitAutoFormat(Width, Height);
176
- RenderTarget->UpdateResourceImmediate();
177
-
178
- // Read pixels
179
- TArray<FColor> Pixels;
180
- FRenderTarget* RT = RenderTarget->GameThread_GetRenderTargetResource();
181
- RT->ReadPixels(Pixels);
182
- ```
183
-
184
- ### Texture Settings
185
- ```cpp
186
- Texture->CompressionSettings = TC_Default; // TC_Normalmap, TC_Masks, etc.
187
- Texture->LODGroup = TEXTUREGROUP_World;
188
- Texture->SRGB = true;
189
- Texture->Filter = TF_Bilinear;
190
- Texture->AddressX = TA_Wrap;
191
- Texture->AddressY = TA_Wrap;
192
- ```
193
-
194
- ---
195
-
196
- ## Complete Animation System
197
-
198
- ### Key Headers
199
- | File | Purpose |
200
- |------|---------|
201
- | `Runtime/Engine/Classes/Animation/AnimSequence.h` | Animation sequences |
202
- | `Runtime/Engine/Classes/Animation/AnimMontage.h` | Montages |
203
- | `Runtime/Engine/Classes/Animation/BlendSpace.h` | Blend spaces |
204
- | `Runtime/Engine/Classes/Animation/AnimBlueprint.h` | Anim blueprints |
205
- | `Plugins/Animation/ControlRig/Source/ControlRig/Public/ControlRig.h` | Control Rig |
206
- | `Plugins/Animation/IKRig/Source/IKRig/Public/IKRig.h` | IK Rig |
207
- | `Plugins/Animation/IKRig/Source/IKRig/Public/Retargeter/IKRetargeter.h` | Retargeting |
208
-
209
- ### Animation Sequence Keyframes
210
- ```cpp
211
- UAnimSequence* AnimSeq;
212
- IAnimationDataController& Controller = AnimSeq->GetController();
213
-
214
- // Add bone track
215
- Controller.AddBoneCurve(BoneName);
216
-
217
- // Set keyframe
218
- FTransform Transform(Rotation, Location, Scale);
219
- Controller.SetBoneTrackKeys(BoneName, {Location}, {Rotation}, {Scale});
220
-
221
- // Add notify
222
- FAnimNotifyEvent& Notify = AnimSeq->Notifies.AddDefaulted_GetRef();
223
- Notify.NotifyName = NotifyName;
224
- Notify.SetTime(TimeInSeconds);
225
- ```
226
-
227
- ### Blend Space
228
- ```cpp
229
- UBlendSpace* BlendSpace;
230
-
231
- // Add sample
232
- FBlendSample Sample;
233
- Sample.Animation = AnimSequence;
234
- Sample.SampleValue = FVector(X, Y, 0);
235
- BlendSpace->AddSample(Sample);
236
-
237
- // Configure axes
238
- BlendSpace->GetBlendParameter(0).DisplayName = "Speed";
239
- BlendSpace->GetBlendParameter(0).Min = 0.f;
240
- BlendSpace->GetBlendParameter(0).Max = 600.f;
241
- ```
242
-
243
- ### Control Rig
244
- ```cpp
245
- UControlRig* ControlRig;
246
-
247
- // Add control
248
- FRigControlElement* Control = ControlRig->FindControl(ControlName);
249
- Control->Settings.ControlType = ERigControlType::Transform;
250
-
251
- // Set control value
252
- ControlRig->SetControlValue(ControlName, FRigControlValue::Make<FTransform>(Transform));
253
- ```
254
-
255
- ### IK Retargeting
256
- ```cpp
257
- UIKRetargeter* Retargeter;
258
-
259
- // Set source/target IK rigs
260
- Retargeter->SetSourceIKRig(SourceIKRig);
261
- Retargeter->SetTargetIKRig(TargetIKRig);
262
-
263
- // Map chains
264
- Retargeter->SetChainMapping(SourceChainName, TargetChainName);
265
- ```
266
-
267
- ---
268
-
269
- ## Complete Audio System
270
-
271
- ### Key Headers
272
- | File | Purpose |
273
- |------|---------|
274
- | `Runtime/Engine/Classes/Sound/SoundCue.h` | Sound cue graph |
275
- | `Runtime/Engine/Classes/Sound/SoundNode*.h` | Sound nodes (Mixer, Random, etc.) |
276
- | `Runtime/Engine/Classes/Sound/SoundAttenuation.h` | Attenuation settings |
277
- | `Runtime/Engine/Classes/Sound/SoundConcurrency.h` | Concurrency settings |
278
- | `Runtime/Engine/Classes/Sound/SoundMix.h` | Sound mix presets |
279
- | `Runtime/Engine/Classes/Sound/SoundSubmix.h` | Submix routing |
280
- | `Runtime/Engine/Classes/Sound/ReverbEffect.h` | Reverb effects |
281
- | `Runtime/Engine/Classes/Sound/AudioVolume.h` | Audio volumes |
282
- | `Plugins/Runtime/Metasound/Source/MetasoundEngine/Public/*.h` | MetaSounds |
283
-
284
- ### Sound Cue Creation
285
- ```cpp
286
- USoundCue* SoundCue = NewObject<USoundCue>();
287
-
288
- // Add nodes
289
- USoundNodeWavePlayer* WavePlayer = SoundCue->ConstructSoundNode<USoundNodeWavePlayer>();
290
- WavePlayer->SetSoundWave(SoundWave);
291
-
292
- USoundNodeRandom* RandomNode = SoundCue->ConstructSoundNode<USoundNodeRandom>();
293
- RandomNode->ChildNodes.Add(WavePlayer);
294
-
295
- USoundNodeMixer* MixerNode = SoundCue->ConstructSoundNode<USoundNodeMixer>();
296
- MixerNode->InputVolume.Add(1.0f);
297
-
298
- // Set first node (output)
299
- SoundCue->FirstNode = MixerNode;
300
- SoundCue->CompileSoundNodesFromGraphNodes();
301
- ```
302
-
303
- ### Sound Node Types
304
- - `USoundNodeWavePlayer` - Play sound wave
305
- - `USoundNodeRandom` - Random selection
306
- - `USoundNodeMixer` - Mix multiple sources
307
- - `USoundNodeAttenuation` - Distance attenuation
308
- - `USoundNodeLooping` - Loop control
309
- - `USoundNodeDelay` - Time delay
310
- - `USoundNodeModulator` - Pitch/volume modulation
311
- - `USoundNodeConcatenator` - Sequential playback
312
-
313
- ### Attenuation & Concurrency
314
- ```cpp
315
- USoundAttenuation* Attenuation = NewObject<USoundAttenuation>();
316
- Attenuation->Attenuation.DistanceAlgorithm = EAttenuationDistanceModel::Linear;
317
- Attenuation->Attenuation.AttenuationShapeExtents = FVector(400.f);
318
- Attenuation->Attenuation.FalloffDistance = 3600.f;
319
-
320
- USoundConcurrency* Concurrency = NewObject<USoundConcurrency>();
321
- Concurrency->Concurrency.MaxCount = 8;
322
- Concurrency->Concurrency.ResolutionRule = EMaxConcurrentResolutionRule::StopLowestPriority;
323
- ```
324
-
325
- ---
326
-
327
- ## Complete Niagara VFX System
328
-
329
- ### Plugin Location
330
- `<UE_ROOT>/Engine/Plugins/FX/Niagara/`
331
-
332
- ### Key Headers
333
- | File | Purpose |
334
- |------|---------|
335
- | `Niagara/Public/NiagaraSystem.h` | System asset |
336
- | `Niagara/Public/NiagaraEmitter.h` | Emitter definition |
337
- | `Niagara/Public/NiagaraScript.h` | Module scripts |
338
- | `Niagara/Public/NiagaraDataInterface*.h` | Data interfaces |
339
- | `Niagara/Public/NiagaraComponent.h` | Component |
340
- | `Niagara/Public/NiagaraParameterStore.h` | Parameters |
341
-
342
- ### System & Emitter Creation
343
- ```cpp
344
- UNiagaraSystem* System = NewObject<UNiagaraSystem>();
345
-
346
- // Add emitter
347
- UNiagaraEmitter* Emitter = NewObject<UNiagaraEmitter>();
348
- System->AddEmitterHandle(*Emitter, EmitterName);
349
-
350
- // Configure emitter
351
- Emitter->SimTarget = ENiagaraSimTarget::CPUSim; // or GPUComputeSim
352
- Emitter->bLocalSpace = false;
353
- ```
354
-
355
- ### Parameter Access
356
- ```cpp
357
- UNiagaraComponent* NiagaraComp;
358
-
359
- // Set parameters
360
- NiagaraComp->SetVariableFloat(FName("SpawnRate"), 100.f);
361
- NiagaraComp->SetVariableVec3(FName("Velocity"), FVector(0, 0, 100));
362
- NiagaraComp->SetVariableLinearColor(FName("Color"), FLinearColor::Red);
363
- NiagaraComp->SetVariableObject(FName("Mesh"), StaticMesh);
364
- ```
365
-
366
- ### Data Interfaces
367
- - `UNiagaraDataInterfaceMesh` - Static mesh sampling
368
- - `UNiagaraDataInterfaceSkeletalMesh` - Skeletal mesh sampling
369
- - `UNiagaraDataInterfaceTexture` - Texture sampling
370
- - `UNiagaraDataInterfaceAudioSpectrum` - Audio reactive
371
- - `UNiagaraDataInterfaceVolumeTexture` - 3D volumes
372
- - `UNiagaraDataInterfaceRenderTarget2D` - Render target output
373
-
374
- ---
375
-
376
- ## Gameplay Ability System (GAS)
377
-
378
- ### Plugin Location
379
- `<UE_ROOT>/Engine/Plugins/Runtime/GameplayAbilities/`
380
-
381
- ### Key Headers
382
- | File | Purpose |
383
- |------|---------|
384
- | `AbilitySystemComponent.h` | Main interface for GAS |
385
- | `Abilities/GameplayAbility.h` | Ability logic definition |
386
- | `GameplayEffect.h` | Effect spec and modifiers |
387
- | `AttributeSet.h` | Attribute management |
388
- | `GameplayAbilitySpec.h` | Ability granting structs |
389
-
390
- ### Core API Patterns
391
-
392
- **Granting Abilities:**
393
- ```cpp
394
- FGameplayAbilitySpec Spec(AbilityClass, Level, InputID, SourceObject);
395
- FGameplayAbilitySpecHandle Handle = ASC->GiveAbility(Spec);
396
- ```
397
-
398
- **Applying Effects:**
399
- ```cpp
400
- FGameplayEffectSpecHandle SpecHandle = ASC->MakeOutgoingSpec(EffectClass, Level, Context);
401
- FActiveGameplayEffectHandle ActiveHandle = ASC->ApplyGameplayEffectSpecToTarget(*SpecHandle.Data.Get(), TargetASC);
402
- ```
403
-
404
- **Attribute Access:**
405
- ```cpp
406
- float Value = ASC->GetNumericAttribute(Attribute);
407
- ASC->SetNumericAttributeBase(Attribute, NewValue);
408
- ```
409
-
410
- ### Replication Modes
411
- - `Minimal` - Tags/attributes only (AI)
412
- - `Mixed` - Full for owners, minimal for others (players)
413
- - `Full` - Full for all
414
-
415
- ---
416
-
417
- ## Character & Movement System
418
-
419
- ### Key Headers
420
- | File | Purpose |
421
- |------|---------|
422
- | `Runtime/Engine/Classes/GameFramework/Character.h` | Base character |
423
- | `Runtime/Engine/Classes/GameFramework/CharacterMovementComponent.h` | Movement component |
424
- | `Runtime/Engine/Classes/GameFramework/CharacterMovementReplication.h` | Network movement |
425
- | `Runtime/Engine/Classes/GameFramework/RootMotionSource.h` | Root motion |
426
-
427
- ### Character Movement Configuration
428
- ```cpp
429
- UCharacterMovementComponent* CMC = Character->GetCharacterMovement();
430
-
431
- // Basic movement settings
432
- CMC->MaxWalkSpeed = 600.f;
433
- CMC->MaxWalkSpeedCrouched = 300.f;
434
- CMC->JumpZVelocity = 420.f;
435
- CMC->AirControl = 0.2f;
436
- CMC->GravityScale = 1.0f;
437
- CMC->BrakingDecelerationWalking = 2048.f;
438
-
439
- // Ground settings
440
- CMC->GroundFriction = 8.f;
441
- CMC->MaxStepHeight = 45.f;
442
- CMC->SetWalkableFloorAngle(45.f);
443
-
444
- // Flying/Swimming
445
- CMC->MaxFlySpeed = 600.f;
446
- CMC->MaxSwimSpeed = 300.f;
447
- CMC->BuoyancyCoefficient = 1.f;
448
- ```
449
-
450
- ### Custom Movement Modes
451
- ```cpp
452
- // Add custom mode
453
- CMC->SetMovementMode(MOVE_Custom, CustomModeIndex);
454
-
455
- // In tick
456
- void UMyMovementComponent::PhysCustom(float DeltaTime, int32 Iterations)
457
- {
458
- // Custom physics logic
459
- }
460
- ```
461
-
462
- ### Root Motion
463
- ```cpp
464
- // Apply root motion source
465
- FRootMotionSource_ConstantForce* RMS = new FRootMotionSource_ConstantForce();
466
- RMS->InstanceName = "Jump";
467
- RMS->AccumulateMode = ERootMotionAccumulateMode::Override;
468
- RMS->Priority = 5;
469
- RMS->Force = FVector(0, 0, 1000);
470
- RMS->Duration = 0.5f;
471
- CMC->ApplyRootMotionSource(RMS);
472
- ```
473
-
474
- ---
475
-
476
- ## Combat & Weapons System
477
-
478
- ### Key Headers
479
- | File | Purpose |
480
- |------|---------|
481
- | `Runtime/Engine/Classes/GameFramework/DamageType.h` | Damage type |
482
- | `Runtime/Engine/Classes/GameFramework/ProjectileMovementComponent.h` | Projectiles |
483
- | `Runtime/Engine/Classes/Engine/HitResult.h` | Hit detection |
484
- | `Runtime/Engine/Classes/Kismet/KismetSystemLibrary.h` | Trace functions |
485
-
486
- ### Damage System
487
- ```cpp
488
- // Apply damage
489
- UGameplayStatics::ApplyDamage(
490
- TargetActor,
491
- DamageAmount,
492
- InstigatorController,
493
- DamageCauser,
494
- UDamageType::StaticClass()
495
- );
496
-
497
- // Point damage (with hit info)
498
- UGameplayStatics::ApplyPointDamage(
499
- TargetActor,
500
- DamageAmount,
501
- ShotDirection,
502
- HitResult,
503
- InstigatorController,
504
- DamageCauser,
505
- UDamageType::StaticClass()
506
- );
507
-
508
- // Radial damage
509
- UGameplayStatics::ApplyRadialDamage(
510
- World,
511
- BaseDamage,
512
- Origin,
513
- DamageRadius,
514
- UDamageType::StaticClass(),
515
- IgnoreActors,
516
- DamageCauser,
517
- InstigatorController,
518
- bDoFullDamage
519
- );
520
- ```
521
-
522
- ### Projectile Movement
523
- ```cpp
524
- UProjectileMovementComponent* Projectile;
525
-
526
- Projectile->InitialSpeed = 3000.f;
527
- Projectile->MaxSpeed = 3000.f;
528
- Projectile->bRotationFollowsVelocity = true;
529
- Projectile->bShouldBounce = false;
530
- Projectile->ProjectileGravityScale = 0.f;
531
- Projectile->HomingTargetComponent = Target;
532
- Projectile->HomingAccelerationMagnitude = 10000.f;
533
- ```
534
-
535
- ### Hit Detection (Traces)
536
- ```cpp
537
- // Line trace
538
- FHitResult Hit;
539
- bool bHit = UKismetSystemLibrary::LineTraceSingle(
540
- World,
541
- Start,
542
- End,
543
- ETraceTypeQuery::TraceTypeQuery1,
544
- false, // bTraceComplex
545
- IgnoreActors,
546
- EDrawDebugTrace::ForDuration,
547
- Hit,
548
- true // bIgnoreSelf
549
- );
550
-
551
- // Sphere trace
552
- UKismetSystemLibrary::SphereTraceSingle(...);
553
-
554
- // Capsule trace
555
- UKismetSystemLibrary::CapsuleTraceSingle(...);
556
- ```
557
-
558
- ---
559
-
560
- ## AI System
561
-
562
- ### Key Headers
563
- | File | Purpose |
564
- |------|---------|
565
- | `BehaviorTree/BehaviorTree.h` | BT asset definition |
566
- | `BehaviorTree/BTTaskNode.h` | Task base class |
567
- | `BehaviorTree/BTDecorator.h` | Decorator base class |
568
- | `BehaviorTree/BTService.h` | Service base class |
569
- | `BehaviorTree/BlackboardComponent.h` | Blackboard runtime |
570
- | `EnvironmentQuery/EnvQuery.h` | EQS query asset |
571
- | `Perception/AIPerceptionComponent.h` | Perception component |
572
-
573
- ### BT Node Implementation Pattern
574
- ```cpp
575
- // Task execution
576
- virtual EBTNodeResult::Type ExecuteTask(
577
- UBehaviorTreeComponent& OwnerComp,
578
- uint8* NodeMemory
579
- ) override;
580
-
581
- // Decorator condition
582
- virtual bool CalculateRawConditionValue(
583
- UBehaviorTreeComponent& OwnerComp,
584
- uint8* NodeMemory
585
- ) const override;
586
- ```
587
-
588
- ### Perception Config
589
- ```cpp
590
- UAISenseConfig_Sight* SightConfig = NewObject<UAISenseConfig_Sight>();
591
- SightConfig->SightRadius = 3000.f;
592
- SightConfig->LoseSightRadius = 3500.f;
593
- SightConfig->PeripheralVisionAngleDegrees = 90.f;
594
- PerceptionComponent->ConfigureSense(*SightConfig);
595
- ```
596
-
597
- ### State Tree (UE5.3+)
598
- Located at: `Plugins/Runtime/StateTree/`
599
- - Uses struct-based tasks (`FStateTreeTaskBase`) for performance
600
- - `FStateTreeExecutionContext` handles runtime
601
-
602
- ---
603
-
604
- ## Inventory & Items System
605
-
606
- ### Key Headers
607
- | File | Purpose |
608
- |------|---------|
609
- | `Runtime/Engine/Classes/Engine/DataTable.h` | Item data tables |
610
- | `Runtime/Engine/Classes/Engine/DataAsset.h` | Item data assets |
611
- | `Runtime/Engine/Classes/GameFramework/Actor.h` | Pickup actors |
612
- | `Runtime/Engine/Classes/Components/ActorComponent.h` | Inventory component base |
613
-
614
- ### Item Definition Pattern (Data Asset)
615
- ```cpp
616
- UCLASS()
617
- class UItemDataAsset : public UPrimaryDataAsset
618
- {
619
- UPROPERTY(EditDefaultsOnly)
620
- FName ItemID;
621
-
622
- UPROPERTY(EditDefaultsOnly)
623
- FText DisplayName;
624
-
625
- UPROPERTY(EditDefaultsOnly)
626
- UTexture2D* Icon;
627
-
628
- UPROPERTY(EditDefaultsOnly)
629
- int32 MaxStackSize = 1;
630
-
631
- // For Asset Manager
632
- virtual FPrimaryAssetId GetPrimaryAssetId() const override
633
- {
634
- return FPrimaryAssetId("Item", GetFName());
635
- }
636
- };
637
- ```
638
-
639
- ### Inventory Component Pattern
640
- ```cpp
641
- UCLASS()
642
- class UInventoryComponent : public UActorComponent
643
- {
644
- UPROPERTY(Replicated)
645
- TArray<FInventorySlot> Slots;
646
-
647
- UFUNCTION(BlueprintCallable)
648
- bool AddItem(UItemDataAsset* Item, int32 Count);
649
-
650
- UFUNCTION(BlueprintCallable)
651
- bool RemoveItem(UItemDataAsset* Item, int32 Count);
652
-
653
- UFUNCTION(BlueprintCallable)
654
- int32 GetItemCount(UItemDataAsset* Item) const;
655
- };
656
- ```
657
-
658
- ### Asset Manager (Loading Items)
659
- ```cpp
660
- UAssetManager& AM = UAssetManager::Get();
661
-
662
- // Get all items
663
- TArray<FPrimaryAssetId> ItemIds;
664
- AM.GetPrimaryAssetIdList(FPrimaryAssetType("Item"), ItemIds);
665
-
666
- // Async load
667
- AM.LoadPrimaryAssets(ItemIds, TArray<FName>(),
668
- FStreamableDelegate::CreateLambda([](){ /* Loaded */ }));
669
- ```
670
-
671
- ---
672
-
673
- ## Interaction System
674
-
675
- ### Key Headers
676
- | File | Purpose |
677
- |------|---------|
678
- | `Runtime/Engine/Classes/Components/PrimitiveComponent.h` | Collision for interaction |
679
- | `Runtime/Engine/Classes/GameFramework/Actor.h` | Interactable actors |
680
- | `Runtime/Engine/Classes/Kismet/GameplayStatics.h` | Trace utilities |
681
-
682
- ### Interactable Interface Pattern
683
- ```cpp
684
- UINTERFACE(MinimalAPI, BlueprintType)
685
- class UInteractableInterface : public UInterface
686
- {
687
- GENERATED_BODY()
688
- };
689
-
690
- class IInteractableInterface
691
- {
692
- GENERATED_BODY()
693
- public:
694
- UFUNCTION(BlueprintNativeEvent, BlueprintCallable)
695
- bool CanInteract(AActor* Interactor) const;
696
-
697
- UFUNCTION(BlueprintNativeEvent, BlueprintCallable)
698
- void OnInteract(AActor* Interactor);
699
-
700
- UFUNCTION(BlueprintNativeEvent, BlueprintCallable)
701
- FText GetInteractionPrompt() const;
702
- };
703
- ```
704
-
705
- ### Interaction Component Pattern
706
- ```cpp
707
- UCLASS()
708
- class UInteractionComponent : public UActorComponent
709
- {
710
- UPROPERTY(EditDefaultsOnly)
711
- float InteractionRange = 300.f;
712
-
713
- UPROPERTY(EditDefaultsOnly)
714
- TEnumAsByte<ECollisionChannel> TraceChannel;
715
-
716
- UFUNCTION(BlueprintCallable)
717
- AActor* GetFocusedInteractable();
718
-
719
- UFUNCTION(BlueprintCallable)
720
- bool TryInteract();
721
-
722
- private:
723
- void PerformInteractionTrace();
724
- };
725
- ```
726
-
727
- ### Trace-Based Detection
728
- ```cpp
729
- FHitResult Hit;
730
- FVector Start = Camera->GetComponentLocation();
731
- FVector End = Start + Camera->GetForwardVector() * InteractionRange;
732
-
733
- bool bHit = GetWorld()->LineTraceSingleByChannel(
734
- Hit, Start, End, ECC_Visibility
735
- );
736
-
737
- if (bHit && Hit.GetActor()->Implements<UInteractableInterface>())
738
- {
739
- IInteractableInterface::Execute_OnInteract(Hit.GetActor(), this);
740
- }
741
- ```
742
-
743
- ---
744
-
745
- ## UMG Widget System
746
-
747
- ### Key Headers
748
- | File | Purpose |
749
- |------|---------|
750
- | `Runtime/UMG/Public/Blueprint/UserWidget.h` | Base widget class |
751
- | `Runtime/UMG/Public/Blueprint/WidgetTree.h` | Widget hierarchy |
752
- | `Runtime/UMG/Public/Components/CanvasPanel.h` | Absolute layout |
753
- | `Runtime/UMG/Public/Components/Button.h` | Button widget |
754
- | `Runtime/UMG/Public/Components/TextBlock.h` | Text display |
755
- | `Editor/UMGEditor/Public/WidgetBlueprint.h` | Widget BP asset |
756
-
757
- ### Widget Creation Pattern
758
- ```cpp
759
- // Create widget from class
760
- UUserWidget* Widget = CreateWidget<UUserWidget>(GetWorld(), WidgetClass);
761
- Widget->AddToViewport();
762
-
763
- // Create primitive widget programmatically
764
- UButton* Button = WidgetTree->ConstructWidget<UButton>(UButton::StaticClass());
765
- UCanvasPanelSlot* Slot = MyCanvas->AddChildToCanvas(Button);
766
- Slot->SetPosition(FVector2D(100.f, 100.f));
767
- Slot->SetAnchors(FAnchors(0.5f, 0.5f));
768
- ```
769
-
770
- ### Animation API
771
- ```cpp
772
- Widget->PlayAnimation(Animation);
773
- Widget->PlayAnimationForward(Animation);
774
- Widget->StopAnimation(Animation);
775
- Widget->IsAnimationPlaying(Animation);
776
- ```
777
-
778
- ---
779
-
780
- ## Networking & Replication
781
-
782
- ### Key Headers
783
- | File | Purpose |
784
- |------|---------|
785
- | `GameFramework/Actor.h` | Actor replication |
786
- | `Engine/ActorChannel.h` | Actor channel |
787
- | `Net/UnrealNetwork.h` | Replication macros |
788
- | `ReplicationGraph/ReplicationGraph.h` | Scalable replication |
789
-
790
- ### Property Replication
791
- ```cpp
792
- // Header
793
- UPROPERTY(ReplicatedUsing = OnRep_Health)
794
- float Health;
795
-
796
- UFUNCTION()
797
- void OnRep_Health();
798
-
799
- // Implementation
800
- void AMyActor::GetLifetimeReplicatedProps(TArray<FLifetimeProperty>& OutLifetimeProps) const
801
- {
802
- Super::GetLifetimeReplicatedProps(OutLifetimeProps);
803
- DOREPLIFETIME(AMyActor, Health);
804
- DOREPLIFETIME_CONDITION(AMyActor, PrivateData, COND_OwnerOnly);
805
- }
806
- ```
807
-
808
- ### RPC Declaration
809
- ```cpp
810
- UFUNCTION(Server, Reliable, WithValidation)
811
- void ServerDoAction();
812
-
813
- UFUNCTION(Client, Unreliable)
814
- void ClientNotify();
815
-
816
- UFUNCTION(NetMulticast, Reliable)
817
- void MulticastEffect();
818
- ```
819
-
820
- ---
821
-
822
- ## Game Framework
823
-
824
- ### Key Headers
825
- | File | Purpose |
826
- |------|---------|
827
- | `Runtime/Engine/Classes/GameFramework/GameModeBase.h` | Game mode |
828
- | `Runtime/Engine/Classes/GameFramework/GameStateBase.h` | Game state |
829
- | `Runtime/Engine/Classes/GameFramework/PlayerController.h` | Player controller |
830
- | `Runtime/Engine/Classes/GameFramework/PlayerState.h` | Player state |
831
- | `Runtime/Engine/Classes/Engine/GameInstance.h` | Game instance |
832
- | `Runtime/Engine/Classes/GameFramework/GameSession.h` | Session management |
833
-
834
- ### Game Mode Configuration
835
- ```cpp
836
- AGameModeBase* GameMode;
837
-
838
- // Class defaults
839
- GameMode->DefaultPawnClass = AMyCharacter::StaticClass();
840
- GameMode->PlayerControllerClass = AMyPlayerController::StaticClass();
841
- GameMode->PlayerStateClass = AMyPlayerState::StaticClass();
842
- GameMode->GameStateClass = AMyGameState::StaticClass();
843
- GameMode->HUDClass = AMyHUD::StaticClass();
844
-
845
- // Spawn control
846
- GameMode->bStartPlayersAsSpectators = false;
847
- GameMode->bPauseable = true;
848
- ```
849
-
850
- ### Game Instance Subsystems
851
- ```cpp
852
- UGameInstance* GI = GetGameInstance();
853
-
854
- // Get subsystem
855
- UMySubsystem* Subsystem = GI->GetSubsystem<UMySubsystem>();
856
-
857
- // Travel to level
858
- GI->GetWorld()->ServerTravel("/Game/Maps/NewLevel");
859
- ```
860
-
861
- ---
862
-
863
- ## Sessions & Local Multiplayer
864
-
865
- ### Key Headers
866
- | File | Purpose |
867
- |------|---------|
868
- | `Runtime/Engine/Classes/GameFramework/GameSession.h` | Session base |
869
- | `Runtime/Engine/Classes/Engine/LocalPlayer.h` | Local player |
870
- | `Runtime/Engine/Classes/GameFramework/PlayerController.h` | Player input |
871
- | `Runtime/Engine/Classes/Engine/GameViewportClient.h` | Split screen |
872
-
873
- ### Local Multiplayer (Split Screen)
874
- ```cpp
875
- UGameViewportClient* Viewport = GetWorld()->GetGameViewport();
876
-
877
- // Enable split screen
878
- Viewport->SetForceDisableSplitscreen(false);
879
- Viewport->MaxSplitscreenPlayers = 4;
880
-
881
- // Create local player
882
- ULocalPlayer* NewPlayer = GEngine->CreateLocalPlayer(
883
- GetWorld(),
884
- ControllerId,
885
- ErrorMessage,
886
- true // bSpawnPlayerController
887
- );
888
-
889
- // Remove local player
890
- GEngine->RemoveLocalPlayer(GetWorld(), LocalPlayer);
891
- ```
892
-
893
- ### Input Mode Per Player
894
- ```cpp
895
- APlayerController* PC = GetPlayerController(0);
896
-
897
- // Game only
898
- FInputModeGameOnly InputMode;
899
- PC->SetInputMode(InputMode);
900
-
901
- // UI only
902
- FInputModeUIOnly UIMode;
903
- UIMode.SetWidgetToFocus(Widget->TakeWidget());
904
- PC->SetInputMode(UIMode);
905
-
906
- // Game and UI
907
- FInputModeGameAndUI MixedMode;
908
- MixedMode.SetHideCursorDuringCapture(false);
909
- PC->SetInputMode(MixedMode);
910
- ```
911
-
912
- ### Session Handling (LAN)
913
- ```cpp
914
- AGameSession* Session = GetWorld()->GetAuthGameMode()->GameSession;
915
-
916
- // Register player
917
- Session->RegisterPlayer(NewPlayer, UniqueId, bWasFromInvite);
918
-
919
- // Unregister player
920
- Session->UnregisterPlayer(ExitingPlayer);
921
-
922
- // Kick player
923
- Session->KickPlayer(PlayerToKick, KickReason);
924
- ```
925
-
926
- ---
927
-
928
- ## World Structure & Volumes
929
-
930
- ### Key Headers
931
- | File | Purpose |
932
- |------|---------|
933
- | `Runtime/Engine/Public/WorldPartition/*.h` | World Partition |
934
- | `Runtime/Engine/Classes/Engine/LevelStreaming.h` | Level streaming |
935
- | `Runtime/Engine/Classes/Engine/BlockingVolume.h` | Blocking volume |
936
- | `Runtime/Engine/Classes/Engine/TriggerVolume.h` | Trigger volume |
937
- | `Runtime/Engine/Classes/Engine/PostProcessVolume.h` | Post process |
938
- | `Runtime/Engine/Classes/Sound/AudioVolume.h` | Audio volume |
939
- | `Runtime/Engine/Classes/GameFramework/PhysicsVolume.h` | Physics volume |
940
-
941
- ### World Partition
942
- ```cpp
943
- UWorldPartition* WP = World->GetWorldPartition();
944
-
945
- // Data layers
946
- UDataLayerAsset* DataLayer;
947
- WP->SetDataLayerRuntimeState(DataLayer, EDataLayerRuntimeState::Activated);
948
-
949
- // Streaming sources
950
- WP->AddStreamingSource(StreamingSource);
951
- ```
952
-
953
- ### Level Streaming
954
- ```cpp
955
- // Load level
956
- ULevelStreamingDynamic* StreamingLevel = ULevelStreamingDynamic::LoadLevelInstance(
957
- World,
958
- LevelName,
959
- Location,
960
- Rotation,
961
- bSucceeded
962
- );
963
-
964
- // Unload
965
- StreamingLevel->SetShouldBeLoaded(false);
966
- StreamingLevel->SetShouldBeVisible(false);
967
- ```
968
-
969
- ### Volume Types
970
- ```cpp
971
- // Post Process Volume
972
- APostProcessVolume* PPV;
973
- PPV->Settings.bOverride_BloomIntensity = true;
974
- PPV->Settings.BloomIntensity = 0.5f;
975
- PPV->bUnbound = true; // Affects entire world
976
- PPV->BlendWeight = 1.0f;
977
-
978
- // Audio Volume
979
- AAudioVolume* AudioVol;
980
- AudioVol->Settings.bApplyReverb = true;
981
- AudioVol->Settings.ReverbEffect = ReverbAsset;
982
- AudioVol->Settings.InteriorSettings.bIsWorldSettings = true;
983
-
984
- // Physics Volume
985
- APhysicsVolume* PhysVol;
986
- PhysVol->FluidFriction = 0.3f;
987
- PhysVol->bWaterVolume = true;
988
- PhysVol->TerminalVelocity = 4000.f;
989
- ```
990
-
991
- ---
992
-
993
- ## Navigation System
994
-
995
- ### Key Headers
996
- | File | Purpose |
997
- |------|---------|
998
- | `Runtime/NavigationSystem/Public/NavigationSystem.h` | Nav system |
999
- | `Runtime/NavigationSystem/Public/NavigationData.h` | Nav data base |
1000
- | `Runtime/NavigationSystem/Public/NavMesh/RecastNavMesh.h` | Recast nav mesh |
1001
- | `Runtime/NavigationSystem/Public/NavAreas/NavArea.h` | Nav areas |
1002
- | `Runtime/AIModule/Classes/Navigation/NavLinkProxy.h` | Nav links |
1003
-
1004
- ### Navigation Mesh
1005
- ```cpp
1006
- UNavigationSystemV1* NavSys = FNavigationSystem::GetCurrent<UNavigationSystemV1>(World);
1007
-
1008
- // Rebuild navigation
1009
- NavSys->Build();
1010
-
1011
- // Query path
1012
- FPathFindingQuery Query;
1013
- Query.StartLocation = Start;
1014
- Query.EndLocation = End;
1015
- FPathFindingResult Result = NavSys->FindPathSync(Query);
1016
- ```
1017
-
1018
- ### Nav Modifiers
1019
- ```cpp
1020
- // Nav area costs
1021
- ARecastNavMesh* NavMesh = Cast<ARecastNavMesh>(NavSys->GetDefaultNavDataInstance());
1022
- NavMesh->SetAreaCost(NavAreaClass, Cost);
1023
-
1024
- // Nav link
1025
- ANavLinkProxy* Link;
1026
- Link->GetSmartLinkComp()->SetLinkData(Start, End, ENavLinkDirection::BothWays);
1027
- ```
1028
-
1029
- ---
1030
-
1031
- ## Spline System
1032
-
1033
- ### Key Headers
1034
- | File | Purpose |
1035
- |------|---------|
1036
- | `Runtime/Engine/Classes/Components/SplineComponent.h` | Spline component |
1037
- | `Runtime/Engine/Classes/Components/SplineMeshComponent.h` | Spline mesh |
1038
- | `Runtime/Landscape/Classes/LandscapeSplineActor.h` | Landscape splines |
1039
-
1040
- ### Spline Component
1041
- ```cpp
1042
- USplineComponent* Spline;
1043
-
1044
- // Add/modify points
1045
- Spline->AddSplinePoint(Location, ESplineCoordinateSpace::World);
1046
- Spline->SetSplinePointType(Index, ESplinePointType::Curve);
1047
- Spline->SetTangentAtSplinePoint(Index, Tangent, ESplineCoordinateSpace::World);
1048
-
1049
- // Query spline
1050
- FVector Location = Spline->GetLocationAtDistanceAlongSpline(Distance, ESplineCoordinateSpace::World);
1051
- FRotator Rotation = Spline->GetRotationAtDistanceAlongSpline(Distance, ESplineCoordinateSpace::World);
1052
- float Length = Spline->GetSplineLength();
1053
-
1054
- // Spline settings
1055
- Spline->SetClosedLoop(true);
1056
- Spline->Duration = 1.0f; // For timeline-based movement
1057
- ```
1058
-
1059
- ### Spline Mesh Component
1060
- ```cpp
1061
- USplineMeshComponent* SplineMesh;
1062
-
1063
- // Set mesh and spline segment
1064
- SplineMesh->SetStaticMesh(Mesh);
1065
- SplineMesh->SetStartAndEnd(StartPos, StartTangent, EndPos, EndTangent);
1066
- SplineMesh->SetForwardAxis(ESplineMeshAxis::X);
1067
-
1068
- // Deformation
1069
- SplineMesh->SetStartScale(FVector2D(1.0f, 1.0f));
1070
- SplineMesh->SetEndScale(FVector2D(1.5f, 1.5f));
1071
- ```
1072
-
1073
- ---
1074
-
1075
- ## PCG Framework
1076
-
1077
- ### Plugin Location
1078
- `<UE_ROOT>/Engine/Plugins/PCG/`
1079
-
1080
- ### Key Headers
1081
- | File | Purpose |
1082
- |------|---------|
1083
- | `PCGGraph.h` | Graph definition |
1084
- | `PCGNode.h` | Node instance |
1085
- | `PCGSettings.h` | Node configuration |
1086
- | `PCGPoint.h` | FPCGPoint struct |
1087
- | `PCGSubsystem.h` | Execution scheduling |
1088
- | `Helpers/PCGPointHelpers.h` | Point operations |
1089
-
1090
- ### Core Data Flow
1091
- ```
1092
- UPCGGraph → UPCGNode → UPCGSettings
1093
- ↓
1094
- FPCGPoint data
1095
- ↓
1096
- UPCGStaticMeshSpawner (output)
1097
- ```
1098
-
1099
- ### Built-in Node Types
1100
- - **Samplers**: `UPCGSurfaceSamplerSettings`, `UPCGVolumeSamplerSettings`
1101
- - **Filters**: `UPCGDensityFilterSettings`, `UPCGFilterByAttributeSettings`
1102
- - **Spawners**: `UPCGStaticMeshSpawnerSettings`, `UPCGSpawnActorSettings`
1103
-
1104
- ---
1105
-
1106
- ## Landscape & Foliage
1107
-
1108
- ### Key Headers
1109
- | File | Purpose |
1110
- |------|---------|
1111
- | `Landscape/Classes/Landscape.h` | Main landscape actor |
1112
- | `Landscape/Classes/LandscapeProxy.h` | Base/streaming proxy |
1113
- | `Landscape/Classes/LandscapeComponent.h` | Grid component |
1114
- | `Landscape/Public/LandscapeEdit.h` | Editing APIs |
1115
- | `Foliage/Public/InstancedFoliageActor.h` | Foliage manager |
1116
- | `Foliage/Public/FoliageType.h` | Foliage configuration |
1117
-
1118
- ### Heightmap Import/Export
1119
- ```cpp
1120
- ALandscapeProxy::Import(...);
1121
- ALandscapeProxy::LandscapeExportHeightmapToRenderTarget(...);
1122
- ALandscapeProxy::LandscapeImportHeightmapFromRenderTarget(...);
1123
- ```
1124
-
1125
- ### Sculpting/Painting
1126
- ```cpp
1127
- // Via FLandscapeEditDataInterface
1128
- FLandscapeEditDataInterface Interface(...);
1129
- Interface.SetHeightData(...); // Sculpting
1130
- Interface.SetAlphaData(...); // Layer painting
1131
- ```
1132
-
1133
- ### Foliage Spawning
1134
- ```cpp
1135
- AInstancedFoliageActor* FoliageActor = ...;
1136
- FoliageActor->AddInstances(FoliageType, Instances);
1137
- ```
1138
-
1139
- ---
1140
-
1141
- ## Advanced Lighting & Rendering
1142
-
1143
- ### Key Headers
1144
- | File | Purpose |
1145
- |------|---------|
1146
- | `Runtime/Engine/Classes/Components/LightComponent.h` | Light base |
1147
- | `Runtime/Engine/Classes/Components/SkyLightComponent.h` | Sky light |
1148
- | `Runtime/Engine/Classes/Components/SkyAtmosphereComponent.h` | Sky atmosphere |
1149
- | `Runtime/Engine/Classes/Components/VolumetricCloudComponent.h` | Volumetric clouds |
1150
- | `Runtime/Engine/Classes/Components/ReflectionCaptureComponent.h` | Reflections |
1151
- | `Runtime/Engine/Classes/Engine/ExponentialHeightFog.h` | Height fog |
1152
- | `Runtime/Renderer/Public/PostProcess/*.h` | Post processing |
1153
-
1154
- ### Lumen Configuration
1155
- ```cpp
1156
- // Project settings for Lumen GI
1157
- URendererSettings* Settings = GetMutableDefault<URendererSettings>();
1158
- Settings->DynamicGlobalIlluminationMethod = EDynamicGlobalIlluminationMethod::Lumen;
1159
- Settings->ReflectionMethod = EReflectionMethod::Lumen;
1160
-
1161
- // Per-component settings
1162
- UPrimitiveComponent* Comp;
1163
- Comp->bVisibleInRayTracing = true;
1164
- Comp->bAffectDynamicIndirectLighting = true;
1165
- ```
1166
-
1167
- ### Sky Atmosphere
1168
- ```cpp
1169
- USkyAtmosphereComponent* SkyAtmo;
1170
- SkyAtmo->SetRayleighScattering(FLinearColor(0.175287f, 0.409607f, 1.0f));
1171
- SkyAtmo->SetMieScattering(FLinearColor(0.003996f, 0.003996f, 0.003996f));
1172
- SkyAtmo->SetAtmosphereHeight(60.f); // km
1173
- SkyAtmo->SetSunDiskColorScale(FLinearColor::White);
1174
- ```
1175
-
1176
- ### Volumetric Clouds
1177
- ```cpp
1178
- UVolumetricCloudComponent* Clouds;
1179
- Clouds->SetLayerBottomAltitude(5.f); // km
1180
- Clouds->SetLayerHeight(10.f);
1181
- Clouds->SetTracingStartMaxDistance(350.f);
1182
- Clouds->SetPlanetRadius(6360.f);
1183
- ```
1184
-
1185
- ### Reflection Capture
1186
- ```cpp
1187
- // Sphere reflection
1188
- USphereReflectionCaptureComponent* Sphere;
1189
- Sphere->SetInfluenceRadius(3000.f);
1190
- Sphere->Brightness = 1.0f;
1191
-
1192
- // Box reflection (for interiors)
1193
- UBoxReflectionCaptureComponent* Box;
1194
- Box->SetBoxTransitionDistance(100.f);
1195
- ```
1196
-
1197
- ---
1198
-
1199
- ## Sequencer & Cinematics
1200
-
1201
- ### Key Headers
1202
- | File | Purpose |
1203
- |------|---------|
1204
- | `LevelSequence/Public/LevelSequence.h` | Sequence asset |
1205
- | `MovieScene/Public/MovieScene.h` | Data container |
1206
- | `MovieScene/Public/MovieSceneTrack.h` | Track base |
1207
- | `MovieScene/Public/MovieSceneSection.h` | Section base |
1208
- | `MovieScene/Public/Channels/MovieSceneFloatChannel.h` | Keyframes |
1209
- | `MovieRenderPipelineCore/Public/MoviePipeline.h` | MRQ |
1210
- | `TakeRecorder/Public/Recorder/TakeRecorderSubsystem.h` | Recording |
1211
-
1212
- ### Track/Section Creation
1213
- ```cpp
1214
- // Add track
1215
- UMovieSceneTrack* Track = MovieScene->AddTrack(UMovieSceneAudioTrack::StaticClass());
1216
-
1217
- // Add section
1218
- UMovieSceneSection* Section = Track->CreateNewSection();
1219
- Track->AddSection(*Section);
1220
- Section->SetRange(TRange<FFrameNumber>::Inclusive(Start, End));
1221
- ```
1222
-
1223
- ### Keyframe Manipulation
1224
- ```cpp
1225
- FMovieSceneChannelProxy& Proxy = Section->GetChannelProxy();
1226
- FMovieSceneFloatChannel* Channel = Proxy.GetChannel<FMovieSceneFloatChannel>(0);
1227
- Channel->AddCubicKey(FrameNumber, Value, RCTM_Auto);
1228
- ```
1229
-
1230
- ### Movie Render Queue
1231
- ```cpp
1232
- UMoviePipelineQueueEngineSubsystem* Subsystem = ...;
1233
- UMoviePipelineExecutorJob* Job = Subsystem->AllocateJob(Sequence);
1234
- // Configure settings
1235
- Subsystem->RenderJob(Job);
1236
- ```
1237
-
1238
- ---
1239
-
1240
- ## Data & Persistence
1241
-
1242
- ### Key Headers
1243
- | File | Purpose |
1244
- |------|---------|
1245
- | `Runtime/Engine/Classes/GameFramework/SaveGame.h` | Save game base |
1246
- | `Runtime/Engine/Classes/Engine/DataTable.h` | Data tables |
1247
- | `Runtime/Engine/Classes/Engine/CompositeDataTable.h` | Composite tables |
1248
- | `Runtime/Engine/Classes/Curves/CurveFloat.h` | Float curves |
1249
- | `Runtime/Engine/Classes/Curves/CurveVector.h` | Vector curves |
1250
- | `Runtime/Engine/Classes/Engine/DataAsset.h` | Data assets |
1251
-
1252
- ### Save Game System
1253
- ```cpp
1254
- // Create and save
1255
- UMySaveGame* SaveGame = Cast<UMySaveGame>(
1256
- UGameplayStatics::CreateSaveGameObject(UMySaveGame::StaticClass())
1257
- );
1258
- SaveGame->PlayerLocation = Player->GetActorLocation();
1259
- SaveGame->Health = HealthComponent->GetHealth();
1260
- UGameplayStatics::SaveGameToSlot(SaveGame, "Slot1", 0);
1261
-
1262
- // Load
1263
- UMySaveGame* LoadedGame = Cast<UMySaveGame>(
1264
- UGameplayStatics::LoadGameFromSlot("Slot1", 0)
1265
- );
1266
-
1267
- // Async save/load
1268
- UGameplayStatics::AsyncSaveGameToSlot(SaveGame, "Slot1", 0, OnComplete);
1269
- UGameplayStatics::AsyncLoadGameFromSlot("Slot1", 0, OnComplete);
1270
- ```
1271
-
1272
- ### Data Tables
1273
- ```cpp
1274
- // Access row
1275
- UDataTable* Table;
1276
- FMyRowStruct* Row = Table->FindRow<FMyRowStruct>(RowName, ContextString);
1277
-
1278
- // Get all rows
1279
- TArray<FMyRowStruct*> AllRows;
1280
- Table->GetAllRows(ContextString, AllRows);
1281
-
1282
- // Add row at runtime
1283
- FMyRowStruct NewRow;
1284
- NewRow.Value = 100;
1285
- Table->AddRow(RowName, NewRow);
1286
- ```
1287
-
1288
- ### Curves
1289
- ```cpp
1290
- UCurveFloat* Curve;
1291
-
1292
- // Add key
1293
- FKeyHandle Handle = Curve->FloatCurve.AddKey(Time, Value);
1294
-
1295
- // Set interpolation
1296
- Curve->FloatCurve.SetKeyInterpMode(Handle, RCIM_Cubic);
1297
- Curve->FloatCurve.SetKeyTangentMode(Handle, RCTM_Auto);
1298
-
1299
- // Evaluate
1300
- float Result = Curve->GetFloatValue(Time);
1301
- ```
1302
-
1303
- ---
1304
-
1305
- ## Build & Deployment
1306
-
1307
- ### Key Headers
1308
- | File | Purpose |
1309
- |------|---------|
1310
- | `Programs/UnrealBuildTool/` | UBT source |
1311
- | `Programs/AutomationTool/` | UAT source |
1312
- | `Developer/DesktopPlatform/Public/DesktopPlatformModule.h` | Platform utilities |
1313
-
1314
- ### Build Automation (via Commandlet)
1315
- ```cpp
1316
- // Run from command line
1317
- UnrealEditor-Cmd.exe MyProject.uproject -run=Cook -TargetPlatform=Windows
1318
-
1319
- // Package project
1320
- RunUAT.bat BuildCookRun -project=MyProject.uproject -platform=Win64 -clientconfig=Shipping -cook -stage -pak -archive
1321
- ```
1322
-
1323
- ### Project Settings Access
1324
- ```cpp
1325
- // Platform settings
1326
- UAndroidRuntimeSettings* AndroidSettings = GetMutableDefault<UAndroidRuntimeSettings>();
1327
- UWindowsTargetSettings* WindowsSettings = GetMutableDefault<UWindowsTargetSettings>();
1328
-
1329
- // Packaging settings
1330
- UProjectPackagingSettings* PackSettings = GetMutableDefault<UProjectPackagingSettings>();
1331
- PackSettings->BuildConfiguration = EProjectPackagingBuildConfigurations::PPBC_Shipping;
1332
- PackSettings->bCompressed = true;
1333
- ```
1334
-
1335
- ### Build Configuration
1336
- ```cpp
1337
- // Via command line or DefaultGame.ini
1338
- [/Script/UnrealEd.ProjectPackagingSettings]
1339
- BuildConfiguration=PPBC_Shipping
1340
- bCompressed=true
1341
- BlueprintNativizationMethod=Disabled
1342
- ```
1343
-
1344
- ---
1345
-
1346
- ## Testing & Quality
1347
-
1348
- ### Key Headers
1349
- | File | Purpose |
1350
- |------|---------|
1351
- | `Runtime/Core/Public/Misc/AutomationTest.h` | Test framework base |
1352
- | `Developer/AutomationController/Public/IAutomationControllerManager.h` | Test controller |
1353
- | `Developer/FunctionalTesting/Classes/FunctionalTest.h` | Functional tests |
1354
-
1355
- ### Automation Test Definition
1356
- ```cpp
1357
- IMPLEMENT_SIMPLE_AUTOMATION_TEST(FMyTest, "Project.Category.TestName",
1358
- EAutomationTestFlags::EditorContext | EAutomationTestFlags::ProductFilter)
1359
-
1360
- bool FMyTest::RunTest(const FString& Parameters)
1361
- {
1362
- // Arrange
1363
- int32 A = 5;
1364
- int32 B = 3;
1365
-
1366
- // Act
1367
- int32 Result = A + B;
1368
-
1369
- // Assert
1370
- TestEqual(TEXT("Addition works"), Result, 8);
1371
-
1372
- return true;
1373
- }
1374
- ```
1375
-
1376
- ### Complex/Latent Tests
1377
- ```cpp
1378
- IMPLEMENT_COMPLEX_AUTOMATION_TEST(FMyComplexTest, "Project.Complex.Test",
1379
- EAutomationTestFlags::EditorContext | EAutomationTestFlags::ProductFilter)
1380
-
1381
- void FMyComplexTest::GetTests(TArray<FString>& OutBeautifiedNames,
1382
- TArray<FString>& OutTestCommands) const
1383
- {
1384
- OutBeautifiedNames.Add("TestCase1");
1385
- OutTestCommands.Add("Param1");
1386
- OutBeautifiedNames.Add("TestCase2");
1387
- OutTestCommands.Add("Param2");
1388
- }
1389
-
1390
- bool FMyComplexTest::RunTest(const FString& Parameters)
1391
- {
1392
- // Parameters contains the test command
1393
- return true;
1394
- }
1395
- ```
1396
-
1397
- ### Functional Tests (In-World)
1398
- ```cpp
1399
- UCLASS()
1400
- class AFunctionalTest_MyFeature : public AFunctionalTest
1401
- {
1402
- virtual void PrepareTest() override;
1403
- virtual void StartTest() override;
1404
-
1405
- // Call when done
1406
- void OnTestComplete()
1407
- {
1408
- FinishTest(EFunctionalTestResult::Succeeded, "Test passed");
1409
- }
1410
- };
1411
- ```
1412
-
1413
- ### Running Tests
1414
- ```bash
1415
- # Command line
1416
- UnrealEditor-Cmd.exe MyProject.uproject -ExecCmds="Automation RunTests Project"
1417
-
1418
- # Gauntlet (CI)
1419
- RunUAT.bat RunUnreal -project=MyProject -test=Project.Category -platform=Win64
1420
- ```
1421
-
1422
- ---
1423
-
1424
- ## Editor Utilities
1425
-
1426
- ### Key Headers
1427
- | File | Purpose |
1428
- |------|---------|
1429
- | `Editor/Blutility/Classes/EditorUtilityWidget.h` | Editor utility widget |
1430
- | `Editor/Blutility/Classes/EditorUtilityBlueprint.h` | Editor utility BP |
1431
- | `Editor/Blutility/Classes/AssetActionUtility.h` | Asset actions |
1432
- | `Editor/Blutility/Classes/ActorActionUtility.h` | Actor actions |
1433
- | `Editor/Blutility/Classes/EditorUtilityTask.h` | Background tasks |
1434
-
1435
- ### Editor Utility Widget
1436
- ```cpp
1437
- UEditorUtilityWidget* Widget;
1438
-
1439
- // Run from C++
1440
- UEditorUtilitySubsystem* Subsystem = GEditor->GetEditorSubsystem<UEditorUtilitySubsystem>();
1441
- Subsystem->SpawnAndRegisterTab(WidgetBlueprint);
1442
- ```
1443
-
1444
- ### Asset/Actor Actions
1445
- ```cpp
1446
- // Asset action (right-click menu)
1447
- UCLASS()
1448
- class UMyAssetAction : public UAssetActionUtility
1449
- {
1450
- UFUNCTION(CallInEditor, Category = "MyTools")
1451
- void ProcessSelectedAssets();
1452
- };
1453
-
1454
- // Actor action (right-click on actors)
1455
- UCLASS()
1456
- class UMyActorAction : public UActorActionUtility
1457
- {
1458
- UFUNCTION(CallInEditor, Category = "MyTools")
1459
- void ProcessSelectedActors();
1460
- };
1461
- ```
1462
-
1463
- ### Editor Utility Task (Background)
1464
- ```cpp
1465
- UCLASS()
1466
- class UMyEditorTask : public UEditorUtilityTask
1467
- {
1468
- virtual void BeginExecution() override;
1469
- virtual void EndExecution(EEditorScriptExecutionResult Result) override;
1470
-
1471
- // Use FinishExecutingTask() when done
1472
- };
1473
- ```
1474
-
1475
- ---
1476
-
1477
- ## Additional Gameplay Systems
1478
-
1479
- ### Key Headers
1480
- | File | Purpose |
1481
- |------|---------|
1482
- | `Runtime/Engine/Classes/Components/TimelineComponent.h` | Timeline component |
1483
- | `Runtime/Engine/Classes/Engine/DirectionalLightComponent.h` | Sun for time of day |
1484
- | `Runtime/Engine/Public/SubtitleManager.h` | Subtitle display |
1485
- | `Runtime/Engine/Classes/Kismet/GameplayStatics.h` | General gameplay |
1486
-
1487
- ### Quest System Pattern (Custom)
1488
- ```cpp
1489
- USTRUCT(BlueprintType)
1490
- struct FQuestObjective
1491
- {
1492
- UPROPERTY(EditDefaultsOnly)
1493
- FName ObjectiveID;
1494
-
1495
- UPROPERTY(EditDefaultsOnly)
1496
- FText Description;
1497
-
1498
- UPROPERTY(BlueprintReadWrite)
1499
- int32 CurrentProgress = 0;
1500
-
1501
- UPROPERTY(EditDefaultsOnly)
1502
- int32 RequiredProgress = 1;
1503
-
1504
- bool IsComplete() const { return CurrentProgress >= RequiredProgress; }
1505
- };
1506
-
1507
- UCLASS()
1508
- class UQuestDataAsset : public UPrimaryDataAsset
1509
- {
1510
- UPROPERTY(EditDefaultsOnly)
1511
- FName QuestID;
1512
-
1513
- UPROPERTY(EditDefaultsOnly)
1514
- TArray<FQuestObjective> Objectives;
1515
-
1516
- UPROPERTY(EditDefaultsOnly)
1517
- TArray<UQuestDataAsset*> Prerequisites;
1518
- };
1519
- ```
1520
-
1521
- ### Time of Day System
1522
- ```cpp
1523
- // Rotate directional light for sun
1524
- ADirectionalLight* Sun;
1525
- FRotator SunRotation = FRotator(-45.f + (TimeOfDay * 180.f / 24.f), 0.f, 0.f);
1526
- Sun->SetActorRotation(SunRotation);
1527
-
1528
- // Update sky atmosphere
1529
- USkyAtmosphereComponent* SkyAtmo;
1530
- SkyAtmo->SetAtmosphereSunLight(Sun);
1531
- SkyAtmo->MarkRenderStateDirty();
1532
-
1533
- // Update sky light (recapture)
1534
- USkyLightComponent* SkyLight;
1535
- SkyLight->RecaptureSky();
1536
- ```
1537
-
1538
- ### Dialogue System Pattern
1539
- ```cpp
1540
- USTRUCT(BlueprintType)
1541
- struct FDialogueNode
1542
- {
1543
- UPROPERTY(EditDefaultsOnly)
1544
- FText SpeakerName;
1545
-
1546
- UPROPERTY(EditDefaultsOnly)
1547
- FText DialogueText;
1548
-
1549
- UPROPERTY(EditDefaultsOnly)
1550
- USoundWave* VoiceOver;
1551
-
1552
- UPROPERTY(EditDefaultsOnly)
1553
- TArray<FDialogueChoice> Choices;
1554
-
1555
- UPROPERTY(EditDefaultsOnly)
1556
- FName NextNodeID; // If no choices
1557
- };
1558
- ```
1559
-
1560
- ### Subtitle Manager
1561
- ```cpp
1562
- FSubtitleManager* SubMgr = FSubtitleManager::GetSubtitleManager();
1563
-
1564
- // Display subtitle
1565
- FSubtitle Sub;
1566
- Sub.Priority = 0;
1567
- Sub.Text = LOCTEXT("Subtitle", "Hello, world!");
1568
- Sub.StartTime = 0.f;
1569
- Sub.EndTime = 3.f;
1570
- SubMgr->DisplaySubtitle(this, {Sub}, Duration);
1571
- ```
1572
-
1573
- ---
1574
-
1575
- ## Third-Party Plugin Integration
1576
-
1577
- ### Quixel Bridge (Megascans)
1578
- **Location**: `Plugins/Bridge/`
1579
- ```cpp
1580
- // Assets imported via Bridge app automatically
1581
- // Access imported asset data:
1582
- UMSAssetImportData* ImportData = Cast<UMSAssetImportData>(
1583
- Asset->GetAssetImportData()
1584
- );
1585
- ```
1586
-
1587
- ### MetaHuman
1588
- **Location**: `Plugins/Runtime/MetaHumans/`
1589
- ```cpp
1590
- // MetaHuman Blueprint components
1591
- UMetaHumanComponent* MetaHuman;
1592
- MetaHuman->SetLODLevel(0); // 0 = highest quality
1593
-
1594
- // DNA integration for procedural heads
1595
- // Requires RigLogic plugin
1596
- ```
1597
-
1598
- ### Audio Middleware (Wwise/FMOD Integration Pattern)
1599
- ```cpp
1600
- // Wwise (separate plugin)
1601
- #include "AkGameplayStatics.h"
1602
- UAkGameplayStatics::PostEvent(SoundEvent, Actor);
1603
- UAkGameplayStatics::SetRTPCValue(RTPCName, Value, Actor);
1604
- UAkGameplayStatics::SetState(StateGroup, State);
1605
- UAkGameplayStatics::SetSwitch(SwitchGroup, SwitchState, Actor);
1606
-
1607
- // FMOD (separate plugin)
1608
- #include "FMODBlueprintStatics.h"
1609
- UFMODBlueprintStatics::PlayEvent2D(Event, bAutoPlay);
1610
- UFMODBlueprintStatics::SetGlobalParameterByName(Name, Value);
1611
- ```
1612
-
1613
- ### Live Link (MoCap/Animation)
1614
- **Location**: `Plugins/Animation/LiveLink/`
1615
- ```cpp
1616
- ILiveLinkClient* Client = &IModularFeatures::Get().GetModularFeature<ILiveLinkClient>(
1617
- ILiveLinkClient::ModularFeatureName
1618
- );
1619
-
1620
- // Available sources
1621
- TArray<FGuid> SourceGuids = Client->GetSources();
1622
-
1623
- // Evaluate frame
1624
- FLiveLinkSubjectFrameData FrameData;
1625
- Client->EvaluateFrame_AnyThread(SubjectName, ULiveLinkAnimationRole::StaticClass(), FrameData);
1626
-
1627
- // Get skeleton data
1628
- const FLiveLinkSkeletonStaticData* StaticData = FrameData.StaticData.Cast<FLiveLinkSkeletonStaticData>();
1629
- const FLiveLinkAnimationFrameData* FrameAnimData = FrameData.FrameData.Cast<FLiveLinkAnimationFrameData>();
1630
- ```
1631
-
1632
- ---
1633
-
1634
- ## Virtual Production
1635
-
1636
- ### Key Locations
1637
- - nDisplay: `Plugins/Runtime/nDisplay/`
1638
- - Live Link: `Plugins/Animation/LiveLink/`
1639
- - DMX: `Plugins/VirtualProduction/DMX/`
1640
- - Stage Monitoring: `Plugins/VirtualProduction/StageMonitoring/`
1641
-
1642
- ### Key Headers
1643
- | File | Purpose |
1644
- |------|---------|
1645
- | `nDisplay/Source/DisplayCluster/Public/DisplayClusterRootActor.h` | nDisplay root |
1646
- | `nDisplay/Source/DisplayClusterConfiguration/Public/DisplayClusterConfigurationTypes_ICVFX.h` | ICVFX config |
1647
- | `LiveLink/Source/LiveLink/Public/LiveLinkClient.h` | Live Link client |
1648
- | `DMXRuntime/Public/Library/DMXLibrary.h` | DMX library |
1649
- | `StageMonitor/Public/IStageMonitor.h` | Stage monitoring |
1650
-
1651
- ### nDisplay
1652
- ```cpp
1653
- ADisplayClusterRootActor* RootActor;
1654
-
1655
- // Get managers via module
1656
- IDisplayCluster& Cluster = IDisplayCluster::Get();
1657
- IDisplayClusterRenderManager* RenderMgr = Cluster.GetRenderMgr();
1658
- IDisplayClusterClusterManager* ClusterMgr = Cluster.GetClusterMgr();
1659
-
1660
- // Configuration data
1661
- UDisplayClusterConfigurationData* Config = RootActor->GetConfigData();
1662
- ```
1663
-
1664
- ### ICVFX (In-Camera VFX)
1665
- ```cpp
1666
- // Access ICVFX camera settings
1667
- FDisplayClusterConfigurationICVFX_CameraSettings& CamSettings =
1668
- Config->StageSettings.DefaultCamera;
1669
-
1670
- CamSettings.bEnable = true;
1671
- CamSettings.RenderSettings.GenerateMips.bAutoGenerateMips = true;
1672
-
1673
- // Light cards
1674
- Config->StageSettings.Lightcard.bEnable = true;
1675
- ```
1676
-
1677
- ### Live Link
1678
- ```cpp
1679
- ILiveLinkClient* Client = &IModularFeatures::Get().GetModularFeature<ILiveLinkClient>(
1680
- ILiveLinkClient::ModularFeatureName
1681
- );
1682
-
1683
- // Get subject data
1684
- FLiveLinkSubjectFrameData FrameData;
1685
- Client->EvaluateFrame_AnyThread(SubjectName, Role, FrameData);
1686
-
1687
- // Push data from custom source
1688
- Client->PushSubjectFrameData_AnyThread(SubjectKey, MoveTemp(FrameData));
1689
- ```
1690
-
1691
- ### DMX
1692
- ```cpp
1693
- UDMXLibrary* Library;
1694
-
1695
- // Get fixture patches
1696
- TArray<UDMXEntityFixturePatch*> Patches = Library->GetEntitiesTypeCast<UDMXEntityFixturePatch>();
1697
-
1698
- // Send DMX
1699
- for (UDMXEntityFixturePatch* Patch : Patches)
1700
- {
1701
- TMap<int32, uint8> ChannelValues;
1702
- ChannelValues.Add(1, 255); // Channel 1 = 255
1703
- Patch->SendDMX(ChannelValues);
1704
- }
1705
- ```
1706
-
1707
- ---
1708
-
1709
- ## XR (VR/AR/MR)
1710
-
1711
- ### Key Headers
1712
- | File | Purpose |
1713
- |------|---------|
1714
- | `Runtime/HeadMountedDisplay/Public/IXRTrackingSystem.h` | XR tracking |
1715
- | `Runtime/HeadMountedDisplay/Public/MotionControllerComponent.h` | Motion controllers |
1716
- | `Plugins/Runtime/OpenXR/Source/OpenXRHMD/Public/*.h` | OpenXR |
1717
- | `Runtime/HeadMountedDisplay/Public/XRMotionControllerBase.h` | Controller base |
1718
-
1719
- ### XR Tracking
1720
- ```cpp
1721
- IXRTrackingSystem* XRSystem = GEngine->XRSystem.Get();
1722
-
1723
- // Get HMD position/rotation
1724
- FQuat Orientation;
1725
- FVector Position;
1726
- XRSystem->GetCurrentPose(IXRTrackingSystem::HMDDeviceId, Orientation, Position);
1727
-
1728
- // Check XR enabled
1729
- bool bIsXR = XRSystem && XRSystem->IsHeadTrackingAllowed();
1730
- ```
1731
-
1732
- ### Motion Controllers
1733
- ```cpp
1734
- UMotionControllerComponent* LeftHand;
1735
- LeftHand->MotionSource = FXRMotionControllerBase::LeftHandSourceId;
1736
- LeftHand->bDisplayDeviceModel = true;
1737
-
1738
- // Get grip/aim pose
1739
- FVector GripLocation = LeftHand->GetComponentLocation();
1740
- FRotator GripRotation = LeftHand->GetComponentRotation();
1741
- ```
1742
-
1743
- ### OpenXR Actions
1744
- ```cpp
1745
- // Via Enhanced Input (recommended)
1746
- UInputAction* GrabAction;
1747
- // Bind to XR controller input in Input Mapping Context
1748
- ```
1749
-
1750
- ---
1751
-
1752
- ## Online Services
1753
-
1754
- ### Plugin Location
1755
- `Plugins/Online/OnlineSubsystem*/`
1756
-
1757
- ### Key Headers
1758
- | File | Purpose |
1759
- |------|---------|
1760
- | `Runtime/Online/OnlineSubsystem/Public/OnlineSubsystem.h` | OSS base |
1761
- | `Runtime/Online/OnlineSubsystem/Public/Interfaces/*.h` | All interfaces |
1762
- | `Plugins/Online/OnlineSubsystemEOS/Public/*.h` | Epic Online Services |
1763
-
1764
- ### Online Subsystem Access
1765
- ```cpp
1766
- IOnlineSubsystem* OSS = IOnlineSubsystem::Get();
1767
-
1768
- // Session interface
1769
- IOnlineSessionPtr Sessions = OSS->GetSessionInterface();
1770
-
1771
- // Friends interface
1772
- IOnlineFriendsPtr Friends = OSS->GetFriendsInterface();
1773
-
1774
- // Leaderboards
1775
- IOnlineLeaderboardsPtr Leaderboards = OSS->GetLeaderboardsInterface();
1776
-
1777
- // Achievements
1778
- IOnlineAchievementsPtr Achievements = OSS->GetAchievementsInterface();
1779
- ```
1780
-
1781
- ### Session Management
1782
- ```cpp
1783
- IOnlineSessionPtr Sessions = OSS->GetSessionInterface();
1784
-
1785
- // Create session
1786
- FOnlineSessionSettings Settings;
1787
- Settings.bIsLANMatch = false;
1788
- Settings.NumPublicConnections = 4;
1789
- Settings.bShouldAdvertise = true;
1790
- Sessions->CreateSession(LocalPlayerNum, SessionName, Settings);
1791
-
1792
- // Find sessions
1793
- TSharedRef<FOnlineSessionSearch> Search = MakeShared<FOnlineSessionSearch>();
1794
- Search->MaxSearchResults = 20;
1795
- Sessions->FindSessions(LocalPlayerNum, Search);
1796
-
1797
- // Join session
1798
- Sessions->JoinSession(LocalPlayerNum, SessionName, SearchResult);
1799
- ```
1800
-
1801
- ---
1802
-
1803
- ## AI & NPC Plugins
1804
-
1805
- ### Mass Entity/AI (Crowd Simulation)
1806
- **Location**: `Plugins/Runtime/MassGameplay/`
1807
-
1808
- ### Key Concepts
1809
- | Concept | Description |
1810
- |---------|-------------|
1811
- | `FMassFragment` | Data component (struct) |
1812
- | `UMassProcessor` | System that operates on fragments |
1813
- | `FMassEntityHandle` | Lightweight entity reference |
1814
- | `UMassEntityConfigAsset` | Entity template |
1815
-
1816
- ### Mass Entity Creation
1817
- ```cpp
1818
- UMassEntitySubsystem* EntitySubsystem = World->GetSubsystem<UMassEntitySubsystem>();
1819
-
1820
- // Create archetype
1821
- FMassArchetypeHandle Archetype = EntitySubsystem->CreateArchetype(
1822
- {FTransformFragment::StaticStruct(), FAgentFragment::StaticStruct()},
1823
- FMassArchetypeSharedFragmentValues()
1824
- );
1825
-
1826
- // Spawn entities
1827
- TArray<FMassEntityHandle> Entities;
1828
- EntitySubsystem->BatchCreateEntities(Archetype, 1000, Entities);
1829
-
1830
- // Set fragment data
1831
- for (FMassEntityHandle& Entity : Entities)
1832
- {
1833
- FTransformFragment& Transform = EntitySubsystem->GetFragmentDataChecked<FTransformFragment>(Entity);
1834
- Transform.SetTransform(FTransform::Identity);
1835
- }
1836
- ```
1837
-
1838
- ### Mass Processor Pattern
1839
- ```cpp
1840
- UCLASS()
1841
- class UMyMassProcessor : public UMassProcessor
1842
- {
1843
- protected:
1844
- virtual void ConfigureQueries() override
1845
- {
1846
- EntityQuery.AddRequirement<FTransformFragment>(EMassFragmentAccess::ReadWrite);
1847
- EntityQuery.AddRequirement<FVelocityFragment>(EMassFragmentAccess::ReadOnly);
1848
- }
1849
-
1850
- virtual void Execute(FMassEntityManager& EntityManager, FMassExecutionContext& Context) override
1851
- {
1852
- EntityQuery.ForEachEntityChunk(EntityManager, Context,
1853
- [](FMassExecutionContext& Context)
1854
- {
1855
- // Process entities in chunk
1856
- });
1857
- }
1858
- };
1859
- ```
1860
-
1861
- ---
1862
-
1863
- ## Streaming & Distribution
1864
-
1865
- ### Pixel Streaming
1866
- **Location**: `Plugins/Media/PixelStreaming/`
1867
- ```cpp
1868
- // Enable via project settings or command line
1869
- // -PixelStreamingIP=0.0.0.0 -PixelStreamingPort=8888
1870
-
1871
- // Blueprint functions
1872
- UPixelStreamingBlueprints::SendPixelStreamingResponse(Response);
1873
- UPixelStreamingBlueprints::GetPlayerCount();
1874
-
1875
- // Input component
1876
- UPixelStreamingInputComponent* PSInput;
1877
- PSInput->SetMouseModeEnabled(true);
1878
- PSInput->SetTouchEventsEnabled(true);
1879
- ```
1880
-
1881
- ### Remote Control API
1882
- **Location**: `Plugins/VirtualProduction/RemoteControl/`
1883
- ```cpp
1884
- // Expose property
1885
- URemoteControlPreset* Preset;
1886
- Preset->ExposeProperty(Object, PropertyName, DisplayName);
1887
-
1888
- // Expose function
1889
- Preset->ExposeFunction(Object, FunctionName, DisplayName);
1890
-
1891
- // Web server runs on port 30010 by default
1892
- // REST API: /remote/object/{ObjectPath}/property/{PropertyName}
1893
- ```
1894
-
1895
- ---
1896
-
1897
- ## Utility Plugins
1898
-
1899
- ### Python Scripting
1900
- **Location**: `Plugins/Experimental/PythonScriptPlugin/`
1901
- ```cpp
1902
- // Execute Python from C++
1903
- IPythonScriptPlugin& Python = FModuleManager::LoadModuleChecked<IPythonScriptPlugin>("PythonScriptPlugin");
1904
- Python.ExecPythonCommand(TEXT("print('Hello from Python')"));
1905
-
1906
- // Execute script file
1907
- Python.ExecPythonScript(TEXT("/Game/Scripts/my_script.py"));
1908
- ```
1909
-
1910
- ### Python in Editor (unreal module)
1911
- ```python
1912
- import unreal
1913
-
1914
- # Get selected actors
1915
- selected = unreal.EditorLevelLibrary.get_selected_level_actors()
1916
-
1917
- # Spawn actor
1918
- actor = unreal.EditorLevelLibrary.spawn_actor_from_class(
1919
- unreal.StaticMeshActor,
1920
- unreal.Vector(0, 0, 0)
1921
- )
1922
-
1923
- # Modify properties
1924
- actor.set_actor_label("MyActor")
1925
- actor.static_mesh_component.set_static_mesh(mesh)
1926
-
1927
- # Asset operations
1928
- unreal.EditorAssetLibrary.duplicate_asset("/Game/Source", "/Game/Dest")
1929
- ```
1930
-
1931
- ---
1932
-
1933
- ## Accessibility System
1934
-
1935
- ### Key Headers
1936
- | File | Purpose |
1937
- |------|---------|
1938
- | `Runtime/Engine/Public/SubtitleManager.h` | Subtitle display |
1939
- | `Runtime/Slate/Public/Widgets/Accessibility/*.h` | Accessible widgets |
1940
- | `Runtime/ApplicationCore/Public/GenericPlatform/GenericPlatformApplicationMisc.h` | Screen reader |
1941
-
1942
- ### Colorblind Filters
1943
- ```cpp
1944
- // Project settings or console variables
1945
- r.Color.Colorblind.Mode = 1 // 0=Off, 1=Deuteranope, 2=Protanope, 3=Tritanope
1946
- r.Color.Colorblind.Severity = 1.0 // 0.0 to 1.0
1947
- ```
1948
-
1949
- ### Subtitle System
1950
- ```cpp
1951
- FSubtitleManager* SubMgr = FSubtitleManager::GetSubtitleManager();
1952
-
1953
- // Configure subtitle options
1954
- SubMgr->SetSubtitleBackgroundBrush(BackgroundBrush);
1955
- SubMgr->SetSubtitleTextSize(24.f);
1956
-
1957
- // Display subtitles
1958
- TArray<FSubtitle> Subtitles;
1959
- FSubtitle Sub;
1960
- Sub.Text = LOCTEXT("Line1", "Hello, player!");
1961
- Sub.StartTime = 0.f;
1962
- Sub.EndTime = 3.f;
1963
- Subtitles.Add(Sub);
1964
-
1965
- SubMgr->DisplaySubtitle(OwningActor, Subtitles, Duration);
1966
- ```
1967
-
1968
- ### Accessibility Settings Pattern
1969
- ```cpp
1970
- UCLASS(Config=Game)
1971
- class UAccessibilitySettings : public UDeveloperSettings
1972
- {
1973
- UPROPERTY(Config, EditAnywhere)
1974
- bool bEnableSubtitles = true;
1975
-
1976
- UPROPERTY(Config, EditAnywhere)
1977
- float SubtitleScale = 1.0f;
1978
-
1979
- UPROPERTY(Config, EditAnywhere)
1980
- bool bHighContrastMode = false;
1981
-
1982
- UPROPERTY(Config, EditAnywhere)
1983
- EColorBlindMode ColorBlindMode = EColorBlindMode::Off;
1984
-
1985
- UPROPERTY(Config, EditAnywhere)
1986
- bool bReducedMotion = false;
1987
- };
1988
- ```
1989
-
1990
- ### Input Remapping
1991
- ```cpp
1992
- // Enhanced Input supports runtime rebinding
1993
- UEnhancedInputLocalPlayerSubsystem* Subsystem = ULocalPlayer::GetSubsystem<UEnhancedInputLocalPlayerSubsystem>(PC);
1994
-
1995
- // Get all mappings
1996
- TArray<FEnhancedActionKeyMapping> Mappings;
1997
- Subsystem->GetAllPlayerMappableActionKeyMappings(Mappings);
1998
-
1999
- // Remap action
2000
- Subsystem->AddPlayerMappedKey(ActionName, NewKey);
2001
- ```
2002
-
2003
- ---
2004
-
2005
- ## Modding & UGC System
2006
-
2007
- ### Key Headers
2008
- | File | Purpose |
2009
- |------|---------|
2010
- | `Runtime/PakFile/Public/IPlatformFilePak.h` | Pak file interface |
2011
- | `Runtime/Core/Public/Misc/Paths.h` | Content paths |
2012
- | `Runtime/AssetRegistry/Public/AssetRegistry/IAssetRegistry.h` | Asset discovery |
2013
-
2014
- ### Pak File Loading
2015
- ```cpp
2016
- // Mount additional pak file
2017
- FPakPlatformFile* PakPlatform = static_cast<FPakPlatformFile*>(
2018
- FPlatformFileManager::Get().GetPlatformFile()
2019
- );
2020
-
2021
- bool bMounted = PakPlatform->Mount(
2022
- *PakFilePath,
2023
- 0, // Priority
2024
- *MountPoint,
2025
- false // bLoadIndex
2026
- );
2027
-
2028
- // After mounting, assets are accessible via /Game/Mods/...
2029
- ```
2030
-
2031
- ### Dynamic Asset Loading
2032
- ```cpp
2033
- // Scan for new assets
2034
- IAssetRegistry& AssetRegistry = FModuleManager::LoadModuleChecked<FAssetRegistryModule>("AssetRegistry").Get();
2035
- AssetRegistry.ScanPathsSynchronous({"/Game/Mods/"}, true);
2036
-
2037
- // Find assets in mod folder
2038
- TArray<FAssetData> ModAssets;
2039
- AssetRegistry.GetAssetsByPath(FName("/Game/Mods"), ModAssets, true);
2040
-
2041
- // Load asset
2042
- UObject* Asset = ModAssets[0].GetAsset();
2043
- ```
2044
-
2045
- ### Mod Manifest Pattern
2046
- ```cpp
2047
- USTRUCT(BlueprintType)
2048
- struct FModManifest
2049
- {
2050
- UPROPERTY()
2051
- FString ModName;
2052
-
2053
- UPROPERTY()
2054
- FString Version;
2055
-
2056
- UPROPERTY()
2057
- FString Author;
2058
-
2059
- UPROPERTY()
2060
- TArray<FString> Dependencies;
2061
-
2062
- UPROPERTY()
2063
- FString EntryPointClass; // Blueprint class to spawn
2064
- };
2065
-
2066
- // Load manifest from JSON in pak
2067
- FString ManifestPath = FPaths::Combine(ModMountPoint, TEXT("manifest.json"));
2068
- FString JsonString;
2069
- FFileHelper::LoadFileToString(JsonString, *ManifestPath);
2070
- FJsonObjectConverter::JsonObjectStringToUStruct(JsonString, &Manifest);
2071
- ```
2072
-
2073
- ### Steam Workshop Integration Pattern
2074
- ```cpp
2075
- // Via Online Subsystem Steam
2076
- IOnlineSubsystem* OSS = IOnlineSubsystem::Get(STEAM_SUBSYSTEM);
2077
- if (OSS)
2078
- {
2079
- // Workshop item operations via SteamAPI
2080
- // Requires Steamworks SDK integration
2081
- }
2082
- ```
2083
-
2084
- ---
2085
-
2086
- ## Chaos Physics (Destruction, Vehicles, Cloth)
2087
-
2088
- ### Key Headers
2089
- | File | Purpose |
2090
- |------|---------|
2091
- | `Runtime/Experimental/Chaos/Public/GeometryCollection/GeometryCollection.h` | Core destruction data structure |
2092
- | `Runtime/Experimental/GeometryCollectionEngine/Public/GeometryCollection/GeometryCollectionActor.h` | Actor wrapper for destruction |
2093
- | `Runtime/Experimental/GeometryCollectionEngine/Public/GeometryCollection/GeometryCollectionComponent.h` | Simulation and damage handling |
2094
- | `Plugins/Experimental/Fracture/Source/FractureEngine/Public/FractureEngineFracturing.h` | Fracturing operations API |
2095
- | `Plugins/Experimental/ChaosVehiclesPlugin/Source/ChaosVehicles/Public/ChaosWheeledVehicleMovementComponent.h` | Vehicle movement |
2096
- | `Runtime/ClothingSystemRuntimeCommon/Public/ClothingAsset.h` | Cloth asset definition |
2097
- | `Runtime/Experimental/FieldSystem/Source/FieldSystemEngine/Public/Field/FieldSystemComponent.h` | Physics fields/forces |
2098
-
2099
- ### Geometry Collection & Destruction
2100
- ```cpp
2101
- // Core components
2102
- UGeometryCollection* Collection; // Rest state and hierarchy
2103
- UGeometryCollectionComponent* Comp; // Manages simulation
2104
-
2105
- // Triggering destruction via Strain
2106
- Comp->ApplyExternalStrain(ItemIndex, Location, Radius, PropagationDepth, PropagationFactor, Strain);
2107
-
2108
- // Triggering via Physics Fields
2109
- Comp->ApplyPhysicsField(bEnabled, TargetType, MetaData, FieldNode);
2110
-
2111
- // Anchoring pieces (static foundation)
2112
- Comp->SetAnchoredByIndex(Index, bAnchored);
2113
- Comp->SetAnchoredByBox(Box, bAnchored);
2114
- ```
2115
-
2116
- ### Fracturing API (FFractureEngineFracturing)
2117
- ```cpp
2118
- // Fracturing methods - all static functions
2119
- FFractureEngineFracturing::VoronoiFracture(...); // Point-based fracturing
2120
- FFractureEngineFracturing::PlaneCutter(...); // Slicing by planes
2121
- FFractureEngineFracturing::SliceCutter(...); // Uniform slicing
2122
- FFractureEngineFracturing::BrickCutter(...); // Brick-like patterns
2123
- FFractureEngineFracturing::MeshCutter(...); // Custom mesh "cookie cutter"
2124
- ```
2125
-
2126
- ### Chaos Vehicles
2127
- ```cpp
2128
- UChaosWheeledVehicleMovementComponent* VehicleComp;
2129
-
2130
- // Wheel setup
2131
- TArray<FChaosWheelSetup> WheelSetups;
2132
-
2133
- // Mechanical configuration structs
2134
- FVehicleEngineConfig Engine; // Torque curves, max RPM, MOI
2135
- FVehicleDifferentialConfig Diff; // AWD/FWD/RWD splits
2136
- FVehicleTransmissionConfig Trans; // Automatic/Manual, gear ratios
2137
- FVehicleSteeringConfig Steering; // Ackermann, Angle Ratio modes
2138
-
2139
- // Initialize physics vehicle
2140
- VehicleComp->CreatePhysicsVehicle(); // Creates UChaosWheeledVehicleSimulation
2141
- ```
2142
-
2143
- ### Chaos Cloth
2144
- ```cpp
2145
- // Cloth asset binding
2146
- UClothingAssetCommon* ClothAsset;
2147
- ClothAsset->BindToSkeletalMesh(SkeletalMesh, LODIndex, SectionIndex);
2148
-
2149
- // Configuration via ClothConfigs map
2150
- TMap<FName, TObjectPtr<UClothConfigBase>> ClothConfigs;
2151
-
2152
- // Chaos-specific config (from ChaosCloth plugin)
2153
- UChaosClothConfig* Config;
2154
- Config->Damping;
2155
- Config->Stiffness;
2156
- Config->CollisionThickness;
2157
- Config->GravityScale;
2158
- ```
2159
-
2160
- ### Field System (Forces & Impulses)
2161
- ```cpp
2162
- UFieldSystemComponent* FieldComp;
2163
-
2164
- // Persistent fields (long-running forces like gravity wells)
2165
- FieldComp->AddPersistentField(bEnabled, TargetType, MetaData, FieldNode);
2166
-
2167
- // Transient fields (one-shot impulses like explosions)
2168
- FieldComp->ApplyPhysicsField(bEnabled, TargetType, MetaData, FieldNode);
2169
-
2170
- // Specific helpers
2171
- FieldComp->ApplyRadialForce(Location, Radius, Strength);
2172
- FieldComp->ApplyRadialVectorFalloffForce(Location, Radius, Strength);
2173
- FieldComp->ApplyLinearForce(Direction, Strength);
2174
- FieldComp->ApplyStayDynamicField(Location, Radius); // Force kinematic → dynamic
2175
- ```
2176
-
2177
- ---
2178
-
2179
- ## Implementation Notes
2180
-
2181
- ### Editor vs Runtime
2182
- - Most creation APIs require Editor module (`WITH_EDITOR`)
2183
- - Runtime modification uses different patterns (e.g., `UMaterialInstanceDynamic`)
2184
-
2185
- ### Thread Safety
2186
- - Most UObject operations must be on Game Thread
2187
- - Use `AsyncTask(ENamedThreads::GameThread, ...)` for thread-safe operations
2188
-
2189
- ### Garbage Collection
2190
- - Use `UPROPERTY()` for UObject references
2191
- - Use `TWeakObjectPtr<>` for non-owning references
2192
- - Use `AddToRoot()` for temporary prevention of GC
2193
-
2194
- ### Error Handling Pattern
2195
- ```cpp
2196
- if (!IsValid(Object))
2197
- {
2198
- UE_LOG(LogMCP, Error, TEXT("Invalid object"));
2199
- return FGeometryScriptResult::Error("Invalid object");
2200
- }
2201
- ```
2202
-
2203
- ---
2204
-
2205
- ## Quick Reference: Module Dependencies
2206
-
2207
- | Feature Area | Required Modules |
2208
- |--------------|------------------|
2209
- | Geometry | GeometryScriptingCore |
2210
- | Skeletal Mesh | Engine, SkeletalMeshUtilitiesCommon |
2211
- | Material Authoring | Engine, MaterialEditor (Editor) |
2212
- | Texture Authoring | Engine, ImageCore |
2213
- | Animation Authoring | Engine, ControlRig, IKRig |
2214
- | Audio Authoring | Engine, AudioMixer, MetasoundEngine |
2215
- | Niagara Authoring | Niagara, NiagaraCore |
2216
- | GAS | GameplayAbilities, GameplayTags |
2217
- | Character | Engine |
2218
- | Combat | Engine |
2219
- | AI | AIModule, StateTreeModule |
2220
- | Inventory | Engine, AssetRegistry |
2221
- | Interaction | Engine |
2222
- | UMG | UMG, UMGEditor (Editor) |
2223
- | Networking | Engine (NetDriver) |
2224
- | Game Framework | Engine |
2225
- | Sessions | Engine |
2226
- | World and Volumes | Engine, WorldPartitionEditor (Editor) |
2227
- | Navigation | NavigationSystem, AIModule |
2228
- | Splines | Engine |
2229
- | PCG | PCG |
2230
- | Landscape and Foliage | Landscape, Foliage |
2231
- | Lighting and Rendering | Engine, Renderer |
2232
- | Sequencer | LevelSequence, MovieScene, MovieRenderPipelineCore |
2233
- | Data | Engine |
2234
- | Build | DesktopPlatform, TargetPlatform |
2235
- | Testing | AutomationController, FunctionalTesting |
2236
- | Editor Utilities | Blutility (Editor) |
2237
- | Gameplay | Engine |
2238
- | Plugins | Bridge, LiveLink, (External: Wwise, FMOD) |
2239
- | Virtual Production | DisplayCluster, LiveLink, DMXRuntime |
2240
- | XR | HeadMountedDisplay, OpenXRHMD |
2241
- | Mass AI | MassEntity, MassGameplay |
2242
- | Online | OnlineSubsystem, OnlineSubsystemUtils |
2243
- | Streaming | PixelStreaming, RemoteControl |
2244
- | Utility | PythonScriptPlugin |
2245
- | Chaos Physics | Chaos, GeometryCollectionEngine, ChaosVehicles, ChaosCloth, FieldSystemEngine |
2246
- | Accessibility | Engine, Slate |
2247
- | Modding | PakFile, AssetRegistry |
2248
-
2249
- ---
2250
-
2251
- *Document generated from UE 5.6 source analysis for MCP implementation guidance.*