unreal-engine-mcp-server 0.6.0-beta-e → 0.6.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 (702) hide show
  1. package/CHANGELOG.md +185 -0
  2. package/README.md +41 -58
  3. package/dist/cli.js +3 -13
  4. package/dist/constants.js +0 -15
  5. package/dist/proxy/native-proxy.js +49 -8
  6. package/package.json +13 -17
  7. package/server.json +10 -55
  8. package/dist/automation/bridge-client.d.ts +0 -36
  9. package/dist/automation/bridge-client.js +0 -194
  10. package/dist/automation/bridge-config.d.ts +0 -25
  11. package/dist/automation/bridge-config.js +0 -182
  12. package/dist/automation/bridge-request-dispatcher.d.ts +0 -28
  13. package/dist/automation/bridge-request-dispatcher.js +0 -152
  14. package/dist/automation/bridge-state.d.ts +0 -18
  15. package/dist/automation/bridge-state.js +0 -2
  16. package/dist/automation/bridge-status.d.ts +0 -15
  17. package/dist/automation/bridge-status.js +0 -47
  18. package/dist/automation/bridge.d.ts +0 -48
  19. package/dist/automation/bridge.js +0 -152
  20. package/dist/automation/capability-token-provider.d.ts +0 -11
  21. package/dist/automation/capability-token-provider.js +0 -62
  22. package/dist/automation/connection-lifecycle.d.ts +0 -19
  23. package/dist/automation/connection-lifecycle.js +0 -109
  24. package/dist/automation/connection-manager.d.ts +0 -40
  25. package/dist/automation/connection-manager.js +0 -127
  26. package/dist/automation/diagnostics-snapshot-reader.d.ts +0 -76
  27. package/dist/automation/diagnostics-snapshot-reader.js +0 -86
  28. package/dist/automation/dispatcher.test-support.d.ts +0 -9
  29. package/dist/automation/dispatcher.test-support.js +0 -26
  30. package/dist/automation/handshake.d.ts +0 -11
  31. package/dist/automation/handshake.js +0 -132
  32. package/dist/automation/index.d.ts +0 -6
  33. package/dist/automation/index.js +0 -4
  34. package/dist/automation/log-redaction.d.ts +0 -11
  35. package/dist/automation/log-redaction.js +0 -165
  36. package/dist/automation/message-handler.d.ts +0 -15
  37. package/dist/automation/message-handler.js +0 -103
  38. package/dist/automation/message-schema.d.ts +0 -128
  39. package/dist/automation/message-schema.js +0 -92
  40. package/dist/automation/request-cancellation-error.d.ts +0 -7
  41. package/dist/automation/request-cancellation-error.js +0 -11
  42. package/dist/automation/request-context.d.ts +0 -8
  43. package/dist/automation/request-context.js +0 -12
  44. package/dist/automation/request-correlation.d.ts +0 -22
  45. package/dist/automation/request-correlation.js +0 -79
  46. package/dist/automation/request-tracker.d.ts +0 -32
  47. package/dist/automation/request-tracker.js +0 -139
  48. package/dist/automation/socket.test-support.d.ts +0 -9
  49. package/dist/automation/socket.test-support.js +0 -55
  50. package/dist/automation/types.d.ts +0 -198
  51. package/dist/automation/types.js +0 -2
  52. package/dist/cli.d.ts +0 -3
  53. package/dist/config.d.ts +0 -38
  54. package/dist/config.js +0 -106
  55. package/dist/constants.d.ts +0 -20
  56. package/dist/gateway/gateway-manifest-types.d.ts +0 -36
  57. package/dist/gateway/gateway-manifest-types.js +0 -16
  58. package/dist/gateway/gateway-manifest.d.ts +0 -10
  59. package/dist/gateway/gateway-manifest.generated.json +0 -17865
  60. package/dist/gateway/gateway-manifest.js +0 -19
  61. package/dist/handlers/resource-handlers.d.ts +0 -46
  62. package/dist/handlers/resource-handlers.js +0 -177
  63. package/dist/index.d.ts +0 -4
  64. package/dist/index.js +0 -5
  65. package/dist/proxy/native-proxy.d.ts +0 -12
  66. package/dist/resources/actors.d.ts +0 -3
  67. package/dist/resources/actors.js +0 -20
  68. package/dist/resources/assets.d.ts +0 -7
  69. package/dist/resources/assets.js +0 -58
  70. package/dist/resources/capability-resources.d.ts +0 -37
  71. package/dist/resources/capability-resources.js +0 -86
  72. package/dist/resources/editor-state-resources.d.ts +0 -65
  73. package/dist/resources/editor-state-resources.js +0 -129
  74. package/dist/resources/knowledge-resources.d.ts +0 -22
  75. package/dist/resources/knowledge-resources.js +0 -59
  76. package/dist/resources/resource-catalog.d.ts +0 -15
  77. package/dist/resources/resource-catalog.js +0 -54
  78. package/dist/resources/resource-errors.d.ts +0 -17
  79. package/dist/resources/resource-errors.js +0 -76
  80. package/dist/resources/resource-read-router.d.ts +0 -19
  81. package/dist/resources/resource-read-router.js +0 -56
  82. package/dist/resources/resources.test-support.d.ts +0 -5
  83. package/dist/resources/resources.test-support.js +0 -7
  84. package/dist/server/gateway/direct-call-migration.d.ts +0 -26
  85. package/dist/server/gateway/direct-call-migration.js +0 -46
  86. package/dist/server/gateway/gateway-availability.d.ts +0 -10
  87. package/dist/server/gateway/gateway-availability.js +0 -15
  88. package/dist/server/gateway/gateway-capability-index.d.ts +0 -45
  89. package/dist/server/gateway/gateway-capability-index.js +0 -148
  90. package/dist/server/gateway/gateway-capability-view.d.ts +0 -20
  91. package/dist/server/gateway/gateway-capability-view.js +0 -144
  92. package/dist/server/gateway/gateway-describe-browse.d.ts +0 -14
  93. package/dist/server/gateway/gateway-describe-browse.js +0 -110
  94. package/dist/server/gateway/gateway-describe-capability.d.ts +0 -6
  95. package/dist/server/gateway/gateway-describe-capability.js +0 -74
  96. package/dist/server/gateway/gateway-describe.d.ts +0 -2
  97. package/dist/server/gateway/gateway-describe.js +0 -109
  98. package/dist/server/gateway/gateway-dispatch-by.d.ts +0 -17
  99. package/dist/server/gateway/gateway-dispatch-by.js +0 -67
  100. package/dist/server/gateway/gateway-execute-dispatch.d.ts +0 -24
  101. package/dist/server/gateway/gateway-execute-dispatch.js +0 -204
  102. package/dist/server/gateway/gateway-execute-envelope.d.ts +0 -48
  103. package/dist/server/gateway/gateway-execute-envelope.js +0 -194
  104. package/dist/server/gateway/gateway-execute-idempotency.d.ts +0 -19
  105. package/dist/server/gateway/gateway-execute-idempotency.js +0 -64
  106. package/dist/server/gateway/gateway-execute-lookup.d.ts +0 -11
  107. package/dist/server/gateway/gateway-execute-lookup.js +0 -122
  108. package/dist/server/gateway/gateway-execute-policy.d.ts +0 -9
  109. package/dist/server/gateway/gateway-execute-policy.js +0 -93
  110. package/dist/server/gateway/gateway-execute-resolve.d.ts +0 -28
  111. package/dist/server/gateway/gateway-execute-resolve.js +0 -2
  112. package/dist/server/gateway/gateway-execute-static-check.d.ts +0 -13
  113. package/dist/server/gateway/gateway-execute-static-check.js +0 -127
  114. package/dist/server/gateway/gateway-execute.d.ts +0 -6
  115. package/dist/server/gateway/gateway-execute.js +0 -145
  116. package/dist/server/gateway/gateway-guidance.d.ts +0 -15
  117. package/dist/server/gateway/gateway-guidance.js +0 -78
  118. package/dist/server/gateway/gateway-option-validate.d.ts +0 -10
  119. package/dist/server/gateway/gateway-option-validate.js +0 -73
  120. package/dist/server/gateway/gateway-receipt-context.d.ts +0 -21
  121. package/dist/server/gateway/gateway-receipt-context.js +0 -36
  122. package/dist/server/gateway/gateway-schema-validate.d.ts +0 -14
  123. package/dist/server/gateway/gateway-schema-validate.js +0 -316
  124. package/dist/server/gateway/gateway-search-filters.d.ts +0 -19
  125. package/dist/server/gateway/gateway-search-filters.js +0 -107
  126. package/dist/server/gateway/gateway-search.d.ts +0 -2
  127. package/dist/server/gateway/gateway-search.js +0 -106
  128. package/dist/server/gateway/gateway-shared.d.ts +0 -20
  129. package/dist/server/gateway/gateway-shared.js +0 -52
  130. package/dist/server/gateway/gateway-task-results.d.ts +0 -6
  131. package/dist/server/gateway/gateway-task-results.js +0 -40
  132. package/dist/server/gateway/idempotency-ledger.d.ts +0 -42
  133. package/dist/server/gateway/idempotency-ledger.js +0 -102
  134. package/dist/server/mcp-primitives/completions.d.ts +0 -11
  135. package/dist/server/mcp-primitives/completions.js +0 -103
  136. package/dist/server/mcp-primitives/primitive-wiring.d.ts +0 -12
  137. package/dist/server/mcp-primitives/primitive-wiring.js +0 -31
  138. package/dist/server/mcp-primitives/progress/progress-reporter.d.ts +0 -33
  139. package/dist/server/mcp-primitives/progress/progress-reporter.js +0 -50
  140. package/dist/server/mcp-primitives/progress/progress-sink-registry.d.ts +0 -17
  141. package/dist/server/mcp-primitives/progress/progress-sink-registry.js +0 -35
  142. package/dist/server/mcp-primitives/progress/progress-token.d.ts +0 -3
  143. package/dist/server/mcp-primitives/progress/progress-token.js +0 -12
  144. package/dist/server/mcp-primitives/prompts.d.ts +0 -43
  145. package/dist/server/mcp-primitives/prompts.js +0 -142
  146. package/dist/server/mcp-primitives/resource-revision.d.ts +0 -15
  147. package/dist/server/mcp-primitives/resource-revision.js +0 -11
  148. package/dist/server/server-factory.d.ts +0 -47
  149. package/dist/server/server-factory.js +0 -84
  150. package/dist/server/stdio-lifecycle.d.ts +0 -2
  151. package/dist/server/stdio-lifecycle.js +0 -57
  152. package/dist/server/tool-registry-gateway.d.ts +0 -4
  153. package/dist/server/tool-registry-gateway.js +0 -80
  154. package/dist/server/tool-registry-manage-tools.d.ts +0 -2
  155. package/dist/server/tool-registry-manage-tools.js +0 -160
  156. package/dist/server/tool-registry.d.ts +0 -15
  157. package/dist/server/tool-registry.js +0 -110
  158. package/dist/server-setup.d.ts +0 -21
  159. package/dist/server-setup.js +0 -60
  160. package/dist/services/health-monitor.d.ts +0 -42
  161. package/dist/services/health-monitor.js +0 -103
  162. package/dist/services/readiness.d.ts +0 -35
  163. package/dist/services/readiness.js +0 -77
  164. package/dist/services/telemetry/prometheus-exposition.d.ts +0 -11
  165. package/dist/services/telemetry/prometheus-exposition.js +0 -80
  166. package/dist/services/telemetry-observation.d.ts +0 -4
  167. package/dist/services/telemetry-observation.js +0 -65
  168. package/dist/services/telemetry-registry.d.ts +0 -69
  169. package/dist/services/telemetry-registry.js +0 -128
  170. package/dist/services/telemetry-schema.d.ts +0 -36
  171. package/dist/services/telemetry-schema.js +0 -64
  172. package/dist/tools/catalog/capabilities/capability-record.test-support.d.ts +0 -158
  173. package/dist/tools/catalog/capabilities/capability-record.test-support.js +0 -94
  174. package/dist/tools/catalog/capabilities/catalog-schema.d.ts +0 -114
  175. package/dist/tools/catalog/capabilities/catalog-schema.js +0 -82
  176. package/dist/tools/catalog/capabilities/constants.d.ts +0 -12
  177. package/dist/tools/catalog/capabilities/constants.js +0 -12
  178. package/dist/tools/catalog/capabilities/generated/canonical-registry.generated.d.ts +0 -6
  179. package/dist/tools/catalog/capabilities/generated/canonical-registry.generated.js +0 -6
  180. package/dist/tools/catalog/capabilities/generated/canonical-registry.generated.json +0 -96681
  181. package/dist/tools/catalog/capabilities/generated/capability-cost-index.generated.d.ts +0 -3
  182. package/dist/tools/catalog/capabilities/generated/capability-cost-index.generated.js +0 -1547
  183. package/dist/tools/catalog/capabilities/generated/parent-tool-definitions.generated.d.ts +0 -3
  184. package/dist/tools/catalog/capabilities/generated/parent-tool-definitions.generated.js +0 -23483
  185. package/dist/tools/catalog/capabilities/hashing.d.ts +0 -14
  186. package/dist/tools/catalog/capabilities/hashing.js +0 -80
  187. package/dist/tools/catalog/capabilities/identifiers.d.ts +0 -21
  188. package/dist/tools/catalog/capabilities/identifiers.js +0 -47
  189. package/dist/tools/catalog/capabilities/json-schema.d.ts +0 -12
  190. package/dist/tools/catalog/capabilities/json-schema.js +0 -71
  191. package/dist/tools/catalog/capabilities/model.d.ts +0 -100
  192. package/dist/tools/catalog/capabilities/model.js +0 -2
  193. package/dist/tools/catalog/capabilities/parser.d.ts +0 -5
  194. package/dist/tools/catalog/capabilities/parser.js +0 -41
  195. package/dist/tools/catalog/capabilities/record-fields.d.ts +0 -114
  196. package/dist/tools/catalog/capabilities/record-fields.js +0 -91
  197. package/dist/tools/catalog/capabilities/record-folding.d.ts +0 -3
  198. package/dist/tools/catalog/capabilities/record-folding.js +0 -136
  199. package/dist/tools/catalog/capabilities/record-hashing.d.ts +0 -3
  200. package/dist/tools/catalog/capabilities/record-hashing.js +0 -33
  201. package/dist/tools/catalog/capabilities/record-schema.d.ts +0 -221
  202. package/dist/tools/catalog/capabilities/record-schema.js +0 -22
  203. package/dist/tools/catalog/capabilities/records/aggregate.d.ts +0 -4
  204. package/dist/tools/catalog/capabilities/records/aggregate.js +0 -60
  205. package/dist/tools/catalog/capabilities/records/build-environment/atmosphere.data.d.ts +0 -3
  206. package/dist/tools/catalog/capabilities/records/build-environment/atmosphere.data.js +0 -124
  207. package/dist/tools/catalog/capabilities/records/build-environment/foliage.data.d.ts +0 -3
  208. package/dist/tools/catalog/capabilities/records/build-environment/foliage.data.js +0 -162
  209. package/dist/tools/catalog/capabilities/records/build-environment/helpers.d.ts +0 -9
  210. package/dist/tools/catalog/capabilities/records/build-environment/helpers.js +0 -3
  211. package/dist/tools/catalog/capabilities/records/build-environment/index.d.ts +0 -4
  212. package/dist/tools/catalog/capabilities/records/build-environment/index.js +0 -28
  213. package/dist/tools/catalog/capabilities/records/build-environment/landscape.data.d.ts +0 -3
  214. package/dist/tools/catalog/capabilities/records/build-environment/landscape.data.js +0 -166
  215. package/dist/tools/catalog/capabilities/records/build-environment/lighting.data.d.ts +0 -3
  216. package/dist/tools/catalog/capabilities/records/build-environment/lighting.data.js +0 -183
  217. package/dist/tools/catalog/capabilities/records/build-environment/procedural.data.d.ts +0 -3
  218. package/dist/tools/catalog/capabilities/records/build-environment/procedural.data.js +0 -72
  219. package/dist/tools/catalog/capabilities/records/build-environment/properties.d.ts +0 -166
  220. package/dist/tools/catalog/capabilities/records/build-environment/properties.js +0 -212
  221. package/dist/tools/catalog/capabilities/records/build-environment/render-postprocess.data.d.ts +0 -3
  222. package/dist/tools/catalog/capabilities/records/build-environment/render-postprocess.data.js +0 -40
  223. package/dist/tools/catalog/capabilities/records/build-environment/render-raytrace.data.d.ts +0 -3
  224. package/dist/tools/catalog/capabilities/records/build-environment/render-raytrace.data.js +0 -39
  225. package/dist/tools/catalog/capabilities/records/build-environment/render-screen.data.d.ts +0 -3
  226. package/dist/tools/catalog/capabilities/records/build-environment/render-screen.data.js +0 -36
  227. package/dist/tools/catalog/capabilities/records/build-environment/spline.data.d.ts +0 -3
  228. package/dist/tools/catalog/capabilities/records/build-environment/spline.data.js +0 -200
  229. package/dist/tools/catalog/capabilities/records/build-environment/water.data.d.ts +0 -3
  230. package/dist/tools/catalog/capabilities/records/build-environment/water.data.js +0 -83
  231. package/dist/tools/catalog/capabilities/records/build-environment/weather.data.d.ts +0 -3
  232. package/dist/tools/catalog/capabilities/records/build-environment/weather.data.js +0 -52
  233. package/dist/tools/catalog/capabilities/records/compensation.d.ts +0 -3
  234. package/dist/tools/catalog/capabilities/records/compensation.js +0 -15
  235. package/dist/tools/catalog/capabilities/records/control-actor/advanced-records.d.ts +0 -3
  236. package/dist/tools/catalog/capabilities/records/control-actor/advanced-records.js +0 -135
  237. package/dist/tools/catalog/capabilities/records/control-actor/component-records.d.ts +0 -3
  238. package/dist/tools/catalog/capabilities/records/control-actor/component-records.js +0 -107
  239. package/dist/tools/catalog/capabilities/records/control-actor/index.d.ts +0 -4
  240. package/dist/tools/catalog/capabilities/records/control-actor/index.js +0 -18
  241. package/dist/tools/catalog/capabilities/records/control-actor/properties.d.ts +0 -103
  242. package/dist/tools/catalog/capabilities/records/control-actor/properties.js +0 -94
  243. package/dist/tools/catalog/capabilities/records/control-actor/search-records.d.ts +0 -3
  244. package/dist/tools/catalog/capabilities/records/control-actor/search-records.js +0 -322
  245. package/dist/tools/catalog/capabilities/records/control-actor/spawn-records.d.ts +0 -3
  246. package/dist/tools/catalog/capabilities/records/control-actor/spawn-records.js +0 -305
  247. package/dist/tools/catalog/capabilities/records/control-actor/state-records.d.ts +0 -3
  248. package/dist/tools/catalog/capabilities/records/control-actor/state-records.js +0 -129
  249. package/dist/tools/catalog/capabilities/records/control-actor/transform-records.d.ts +0 -3
  250. package/dist/tools/catalog/capabilities/records/control-actor/transform-records.js +0 -280
  251. package/dist/tools/catalog/capabilities/records/control-editor/asset.d.ts +0 -3
  252. package/dist/tools/catalog/capabilities/records/control-editor/asset.js +0 -134
  253. package/dist/tools/catalog/capabilities/records/control-editor/bookmark.d.ts +0 -3
  254. package/dist/tools/catalog/capabilities/records/control-editor/bookmark.js +0 -27
  255. package/dist/tools/catalog/capabilities/records/control-editor/camera.d.ts +0 -3
  256. package/dist/tools/catalog/capabilities/records/control-editor/camera.js +0 -65
  257. package/dist/tools/catalog/capabilities/records/control-editor/command.d.ts +0 -3
  258. package/dist/tools/catalog/capabilities/records/control-editor/command.js +0 -251
  259. package/dist/tools/catalog/capabilities/records/control-editor/history.d.ts +0 -3
  260. package/dist/tools/catalog/capabilities/records/control-editor/history.js +0 -27
  261. package/dist/tools/catalog/capabilities/records/control-editor/index.d.ts +0 -4
  262. package/dist/tools/catalog/capabilities/records/control-editor/index.js +0 -28
  263. package/dist/tools/catalog/capabilities/records/control-editor/input.d.ts +0 -3
  264. package/dist/tools/catalog/capabilities/records/control-editor/input.js +0 -50
  265. package/dist/tools/catalog/capabilities/records/control-editor/properties.d.ts +0 -77
  266. package/dist/tools/catalog/capabilities/records/control-editor/properties.js +0 -70
  267. package/dist/tools/catalog/capabilities/records/control-editor/recording.d.ts +0 -3
  268. package/dist/tools/catalog/capabilities/records/control-editor/recording.js +0 -31
  269. package/dist/tools/catalog/capabilities/records/control-editor/screenshot.d.ts +0 -3
  270. package/dist/tools/catalog/capabilities/records/control-editor/screenshot.js +0 -76
  271. package/dist/tools/catalog/capabilities/records/control-editor/session.d.ts +0 -3
  272. package/dist/tools/catalog/capabilities/records/control-editor/session.js +0 -137
  273. package/dist/tools/catalog/capabilities/records/control-editor/timing.d.ts +0 -3
  274. package/dist/tools/catalog/capabilities/records/control-editor/timing.js +0 -59
  275. package/dist/tools/catalog/capabilities/records/control-editor/viewport.d.ts +0 -3
  276. package/dist/tools/catalog/capabilities/records/control-editor/viewport.js +0 -91
  277. package/dist/tools/catalog/capabilities/records/core/builder.d.ts +0 -35
  278. package/dist/tools/catalog/capabilities/records/core/builder.js +0 -46
  279. package/dist/tools/catalog/capabilities/records/folds/animation-physics.folds.d.ts +0 -3
  280. package/dist/tools/catalog/capabilities/records/folds/animation-physics.folds.js +0 -113
  281. package/dist/tools/catalog/capabilities/records/folds/build-environment.folds.d.ts +0 -3
  282. package/dist/tools/catalog/capabilities/records/folds/build-environment.folds.js +0 -165
  283. package/dist/tools/catalog/capabilities/records/folds/control-actor.folds.d.ts +0 -3
  284. package/dist/tools/catalog/capabilities/records/folds/control-actor.folds.js +0 -61
  285. package/dist/tools/catalog/capabilities/records/folds/control-editor.folds.d.ts +0 -3
  286. package/dist/tools/catalog/capabilities/records/folds/control-editor.folds.js +0 -52
  287. package/dist/tools/catalog/capabilities/records/folds/inspect.folds.d.ts +0 -3
  288. package/dist/tools/catalog/capabilities/records/folds/inspect.folds.js +0 -50
  289. package/dist/tools/catalog/capabilities/records/folds/manage-ai.folds.d.ts +0 -3
  290. package/dist/tools/catalog/capabilities/records/folds/manage-ai.folds.js +0 -96
  291. package/dist/tools/catalog/capabilities/records/folds/manage-asset.folds.d.ts +0 -3
  292. package/dist/tools/catalog/capabilities/records/folds/manage-asset.folds.js +0 -226
  293. package/dist/tools/catalog/capabilities/records/folds/manage-audio.folds.d.ts +0 -3
  294. package/dist/tools/catalog/capabilities/records/folds/manage-audio.folds.js +0 -70
  295. package/dist/tools/catalog/capabilities/records/folds/manage-blueprint.folds.d.ts +0 -3
  296. package/dist/tools/catalog/capabilities/records/folds/manage-blueprint.folds.js +0 -137
  297. package/dist/tools/catalog/capabilities/records/folds/manage-character.folds.d.ts +0 -3
  298. package/dist/tools/catalog/capabilities/records/folds/manage-character.folds.js +0 -19
  299. package/dist/tools/catalog/capabilities/records/folds/manage-combat.folds.d.ts +0 -3
  300. package/dist/tools/catalog/capabilities/records/folds/manage-combat.folds.js +0 -37
  301. package/dist/tools/catalog/capabilities/records/folds/manage-effect.folds.d.ts +0 -3
  302. package/dist/tools/catalog/capabilities/records/folds/manage-effect.folds.js +0 -59
  303. package/dist/tools/catalog/capabilities/records/folds/manage-gas.folds.d.ts +0 -3
  304. package/dist/tools/catalog/capabilities/records/folds/manage-gas.folds.js +0 -42
  305. package/dist/tools/catalog/capabilities/records/folds/manage-geometry.folds.d.ts +0 -3
  306. package/dist/tools/catalog/capabilities/records/folds/manage-geometry.folds.js +0 -69
  307. package/dist/tools/catalog/capabilities/records/folds/manage-interaction.folds.d.ts +0 -3
  308. package/dist/tools/catalog/capabilities/records/folds/manage-interaction.folds.js +0 -17
  309. package/dist/tools/catalog/capabilities/records/folds/manage-inventory.folds.d.ts +0 -3
  310. package/dist/tools/catalog/capabilities/records/folds/manage-inventory.folds.js +0 -27
  311. package/dist/tools/catalog/capabilities/records/folds/manage-level-structure.folds.d.ts +0 -3
  312. package/dist/tools/catalog/capabilities/records/folds/manage-level-structure.folds.js +0 -30
  313. package/dist/tools/catalog/capabilities/records/folds/manage-level.folds.d.ts +0 -3
  314. package/dist/tools/catalog/capabilities/records/folds/manage-level.folds.js +0 -28
  315. package/dist/tools/catalog/capabilities/records/folds/manage-networking.folds.d.ts +0 -3
  316. package/dist/tools/catalog/capabilities/records/folds/manage-networking.folds.js +0 -86
  317. package/dist/tools/catalog/capabilities/records/folds/manage-pcg.folds.d.ts +0 -3
  318. package/dist/tools/catalog/capabilities/records/folds/manage-pcg.folds.js +0 -22
  319. package/dist/tools/catalog/capabilities/records/folds/manage-sequence.folds.d.ts +0 -3
  320. package/dist/tools/catalog/capabilities/records/folds/manage-sequence.folds.js +0 -106
  321. package/dist/tools/catalog/capabilities/records/folds/system-control.folds.d.ts +0 -3
  322. package/dist/tools/catalog/capabilities/records/folds/system-control.folds.js +0 -62
  323. package/dist/tools/catalog/capabilities/records/gameplay/animation-physics/animation-properties.d.ts +0 -3
  324. package/dist/tools/catalog/capabilities/records/gameplay/animation-physics/animation-properties.js +0 -82
  325. package/dist/tools/catalog/capabilities/records/gameplay/animation-physics/authoring-1.data.d.ts +0 -3
  326. package/dist/tools/catalog/capabilities/records/gameplay/animation-physics/authoring-1.data.js +0 -224
  327. package/dist/tools/catalog/capabilities/records/gameplay/animation-physics/authoring-2.data.d.ts +0 -3
  328. package/dist/tools/catalog/capabilities/records/gameplay/animation-physics/authoring-2.data.js +0 -179
  329. package/dist/tools/catalog/capabilities/records/gameplay/animation-physics/authoring-3.data.d.ts +0 -3
  330. package/dist/tools/catalog/capabilities/records/gameplay/animation-physics/authoring-3.data.js +0 -123
  331. package/dist/tools/catalog/capabilities/records/gameplay/animation-physics/index.d.ts +0 -4
  332. package/dist/tools/catalog/capabilities/records/gameplay/animation-physics/index.js +0 -14
  333. package/dist/tools/catalog/capabilities/records/gameplay/animation-physics/skeleton-bone.data.d.ts +0 -3
  334. package/dist/tools/catalog/capabilities/records/gameplay/animation-physics/skeleton-bone.data.js +0 -52
  335. package/dist/tools/catalog/capabilities/records/gameplay/animation-physics/skeleton-physics-morph.data.d.ts +0 -3
  336. package/dist/tools/catalog/capabilities/records/gameplay/animation-physics/skeleton-physics-morph.data.js +0 -97
  337. package/dist/tools/catalog/capabilities/records/gameplay/animation-physics/skeleton-read-alias.data.d.ts +0 -3
  338. package/dist/tools/catalog/capabilities/records/gameplay/animation-physics/skeleton-read-alias.data.js +0 -141
  339. package/dist/tools/catalog/capabilities/records/gameplay/animation-physics/skeleton-socket-weight.data.d.ts +0 -3
  340. package/dist/tools/catalog/capabilities/records/gameplay/animation-physics/skeleton-socket-weight.data.js +0 -80
  341. package/dist/tools/catalog/capabilities/records/gameplay/animation-physics/skeleton.data.d.ts +0 -3
  342. package/dist/tools/catalog/capabilities/records/gameplay/animation-physics/skeleton.data.js +0 -11
  343. package/dist/tools/catalog/capabilities/records/gameplay/helpers.d.ts +0 -10
  344. package/dist/tools/catalog/capabilities/records/gameplay/helpers.js +0 -3
  345. package/dist/tools/catalog/capabilities/records/gameplay/manage-ai/add-actions.data.d.ts +0 -3
  346. package/dist/tools/catalog/capabilities/records/gameplay/manage-ai/add-actions.data.js +0 -200
  347. package/dist/tools/catalog/capabilities/records/gameplay/manage-ai/builder.d.ts +0 -24
  348. package/dist/tools/catalog/capabilities/records/gameplay/manage-ai/builder.js +0 -34
  349. package/dist/tools/catalog/capabilities/records/gameplay/manage-ai/configure-actions.data.d.ts +0 -3
  350. package/dist/tools/catalog/capabilities/records/gameplay/manage-ai/configure-actions.data.js +0 -203
  351. package/dist/tools/catalog/capabilities/records/gameplay/manage-ai/create-read-actions.data.d.ts +0 -3
  352. package/dist/tools/catalog/capabilities/records/gameplay/manage-ai/create-read-actions.data.js +0 -233
  353. package/dist/tools/catalog/capabilities/records/gameplay/manage-ai/properties-navigation.d.ts +0 -32
  354. package/dist/tools/catalog/capabilities/records/gameplay/manage-ai/properties-navigation.js +0 -34
  355. package/dist/tools/catalog/capabilities/records/gameplay/manage-ai/properties.d.ts +0 -74
  356. package/dist/tools/catalog/capabilities/records/gameplay/manage-ai/properties.js +0 -112
  357. package/dist/tools/catalog/capabilities/records/gameplay/manage-ai/records.d.ts +0 -4
  358. package/dist/tools/catalog/capabilities/records/gameplay/manage-ai/records.js +0 -14
  359. package/dist/tools/catalog/capabilities/records/gameplay/manage-ai/set-actions.data.d.ts +0 -3
  360. package/dist/tools/catalog/capabilities/records/gameplay/manage-ai/set-actions.data.js +0 -203
  361. package/dist/tools/catalog/capabilities/records/gameplay/manage-character/character-1.data.d.ts +0 -3
  362. package/dist/tools/catalog/capabilities/records/gameplay/manage-character/character-1.data.js +0 -81
  363. package/dist/tools/catalog/capabilities/records/gameplay/manage-character/character-2.data.d.ts +0 -3
  364. package/dist/tools/catalog/capabilities/records/gameplay/manage-character/character-2.data.js +0 -46
  365. package/dist/tools/catalog/capabilities/records/gameplay/manage-character/character-3.data.d.ts +0 -3
  366. package/dist/tools/catalog/capabilities/records/gameplay/manage-character/character-3.data.js +0 -73
  367. package/dist/tools/catalog/capabilities/records/gameplay/manage-character/character.props.d.ts +0 -3
  368. package/dist/tools/catalog/capabilities/records/gameplay/manage-character/character.props.js +0 -83
  369. package/dist/tools/catalog/capabilities/records/gameplay/manage-character/index.d.ts +0 -4
  370. package/dist/tools/catalog/capabilities/records/gameplay/manage-character/index.js +0 -12
  371. package/dist/tools/catalog/capabilities/records/gameplay/manage-combat/combat-properties.d.ts +0 -88
  372. package/dist/tools/catalog/capabilities/records/gameplay/manage-combat/combat-properties.js +0 -70
  373. package/dist/tools/catalog/capabilities/records/gameplay/manage-combat/combat.data.d.ts +0 -3
  374. package/dist/tools/catalog/capabilities/records/gameplay/manage-combat/combat.data.js +0 -92
  375. package/dist/tools/catalog/capabilities/records/gameplay/manage-combat/index.d.ts +0 -4
  376. package/dist/tools/catalog/capabilities/records/gameplay/manage-combat/index.js +0 -8
  377. package/dist/tools/catalog/capabilities/records/gameplay/manage-effect/effect-properties.d.ts +0 -3
  378. package/dist/tools/catalog/capabilities/records/gameplay/manage-effect/effect-properties.js +0 -67
  379. package/dist/tools/catalog/capabilities/records/gameplay/manage-effect/effect.data.d.ts +0 -3
  380. package/dist/tools/catalog/capabilities/records/gameplay/manage-effect/effect.data.js +0 -345
  381. package/dist/tools/catalog/capabilities/records/gameplay/manage-effect/index.d.ts +0 -4
  382. package/dist/tools/catalog/capabilities/records/gameplay/manage-effect/index.js +0 -8
  383. package/dist/tools/catalog/capabilities/records/gameplay/manage-gas/gas.data.d.ts +0 -3
  384. package/dist/tools/catalog/capabilities/records/gameplay/manage-gas/gas.data.js +0 -146
  385. package/dist/tools/catalog/capabilities/records/gameplay/manage-gas/gas.props.d.ts +0 -3
  386. package/dist/tools/catalog/capabilities/records/gameplay/manage-gas/gas.props.js +0 -62
  387. package/dist/tools/catalog/capabilities/records/gameplay/manage-gas/index.d.ts +0 -3
  388. package/dist/tools/catalog/capabilities/records/gameplay/manage-gas/index.js +0 -5
  389. package/dist/tools/catalog/capabilities/records/gameplay/manage-interaction/index.d.ts +0 -4
  390. package/dist/tools/catalog/capabilities/records/gameplay/manage-interaction/index.js +0 -8
  391. package/dist/tools/catalog/capabilities/records/gameplay/manage-interaction/interaction.data.d.ts +0 -3
  392. package/dist/tools/catalog/capabilities/records/gameplay/manage-interaction/interaction.data.js +0 -253
  393. package/dist/tools/catalog/capabilities/records/gameplay/manage-interaction/schema.d.ts +0 -18
  394. package/dist/tools/catalog/capabilities/records/gameplay/manage-interaction/schema.js +0 -52
  395. package/dist/tools/catalog/capabilities/records/gameplay/manage-inventory/index.d.ts +0 -4
  396. package/dist/tools/catalog/capabilities/records/gameplay/manage-inventory/index.js +0 -8
  397. package/dist/tools/catalog/capabilities/records/gameplay/manage-inventory/inventory.data.d.ts +0 -3
  398. package/dist/tools/catalog/capabilities/records/gameplay/manage-inventory/inventory.data.js +0 -331
  399. package/dist/tools/catalog/capabilities/records/gameplay/manage-inventory/schema.d.ts +0 -19
  400. package/dist/tools/catalog/capabilities/records/gameplay/manage-inventory/schema.js +0 -71
  401. package/dist/tools/catalog/capabilities/records/gameplay/properties.d.ts +0 -4
  402. package/dist/tools/catalog/capabilities/records/gameplay/properties.js +0 -94
  403. package/dist/tools/catalog/capabilities/records/inspect/component-actor.data.d.ts +0 -3
  404. package/dist/tools/catalog/capabilities/records/inspect/component-actor.data.js +0 -182
  405. package/dist/tools/catalog/capabilities/records/inspect/global.data.d.ts +0 -4
  406. package/dist/tools/catalog/capabilities/records/inspect/global.data.js +0 -121
  407. package/dist/tools/catalog/capabilities/records/inspect/index.d.ts +0 -4
  408. package/dist/tools/catalog/capabilities/records/inspect/index.js +0 -17
  409. package/dist/tools/catalog/capabilities/records/inspect/inspect-records.shared.d.ts +0 -3
  410. package/dist/tools/catalog/capabilities/records/inspect/inspect-records.shared.js +0 -9
  411. package/dist/tools/catalog/capabilities/records/inspect/object-property.data.d.ts +0 -3
  412. package/dist/tools/catalog/capabilities/records/inspect/object-property.data.js +0 -481
  413. package/dist/tools/catalog/capabilities/records/inspect/properties.d.ts +0 -31
  414. package/dist/tools/catalog/capabilities/records/inspect/properties.js +0 -30
  415. package/dist/tools/catalog/capabilities/records/inspect/runtime.data.d.ts +0 -3
  416. package/dist/tools/catalog/capabilities/records/inspect/runtime.data.js +0 -37
  417. package/dist/tools/catalog/capabilities/records/inspect/stats.data.d.ts +0 -3
  418. package/dist/tools/catalog/capabilities/records/inspect/stats.data.js +0 -91
  419. package/dist/tools/catalog/capabilities/records/manage-asset/asset-advanced.d.ts +0 -3
  420. package/dist/tools/catalog/capabilities/records/manage-asset/asset-advanced.js +0 -185
  421. package/dist/tools/catalog/capabilities/records/manage-asset/asset-lifecycle.d.ts +0 -3
  422. package/dist/tools/catalog/capabilities/records/manage-asset/asset-lifecycle.js +0 -136
  423. package/dist/tools/catalog/capabilities/records/manage-asset/asset-query.d.ts +0 -3
  424. package/dist/tools/catalog/capabilities/records/manage-asset/asset-query.js +0 -95
  425. package/dist/tools/catalog/capabilities/records/manage-asset/builder.d.ts +0 -54
  426. package/dist/tools/catalog/capabilities/records/manage-asset/builder.js +0 -91
  427. package/dist/tools/catalog/capabilities/records/manage-asset/content-sources.d.ts +0 -3
  428. package/dist/tools/catalog/capabilities/records/manage-asset/content-sources.js +0 -314
  429. package/dist/tools/catalog/capabilities/records/manage-asset/datatable-records.d.ts +0 -3
  430. package/dist/tools/catalog/capabilities/records/manage-asset/datatable-records.js +0 -51
  431. package/dist/tools/catalog/capabilities/records/manage-asset/enum-records.d.ts +0 -3
  432. package/dist/tools/catalog/capabilities/records/manage-asset/enum-records.js +0 -38
  433. package/dist/tools/catalog/capabilities/records/manage-asset/index.d.ts +0 -6
  434. package/dist/tools/catalog/capabilities/records/manage-asset/index.js +0 -27
  435. package/dist/tools/catalog/capabilities/records/manage-asset/material-create.d.ts +0 -3
  436. package/dist/tools/catalog/capabilities/records/manage-asset/material-create.js +0 -57
  437. package/dist/tools/catalog/capabilities/records/manage-asset/material-graph.d.ts +0 -3
  438. package/dist/tools/catalog/capabilities/records/manage-asset/material-graph.js +0 -152
  439. package/dist/tools/catalog/capabilities/records/manage-asset/material-nodes.d.ts +0 -3
  440. package/dist/tools/catalog/capabilities/records/manage-asset/material-nodes.js +0 -77
  441. package/dist/tools/catalog/capabilities/records/manage-asset/material-params.d.ts +0 -3
  442. package/dist/tools/catalog/capabilities/records/manage-asset/material-params.js +0 -88
  443. package/dist/tools/catalog/capabilities/records/manage-asset/struct-records.d.ts +0 -3
  444. package/dist/tools/catalog/capabilities/records/manage-asset/struct-records.js +0 -82
  445. package/dist/tools/catalog/capabilities/records/manage-asset/texture-adjust.d.ts +0 -3
  446. package/dist/tools/catalog/capabilities/records/manage-asset/texture-adjust.js +0 -42
  447. package/dist/tools/catalog/capabilities/records/manage-asset/texture-config.d.ts +0 -3
  448. package/dist/tools/catalog/capabilities/records/manage-asset/texture-config.js +0 -26
  449. package/dist/tools/catalog/capabilities/records/manage-asset/texture-create.d.ts +0 -3
  450. package/dist/tools/catalog/capabilities/records/manage-asset/texture-create.js +0 -28
  451. package/dist/tools/catalog/capabilities/records/manage-audio/authoring.data.d.ts +0 -3
  452. package/dist/tools/catalog/capabilities/records/manage-audio/authoring.data.js +0 -121
  453. package/dist/tools/catalog/capabilities/records/manage-audio/index.d.ts +0 -4
  454. package/dist/tools/catalog/capabilities/records/manage-audio/index.js +0 -10
  455. package/dist/tools/catalog/capabilities/records/manage-audio/runtime.data.d.ts +0 -3
  456. package/dist/tools/catalog/capabilities/records/manage-audio/runtime.data.js +0 -30
  457. package/dist/tools/catalog/capabilities/records/manage-blueprint/blueprint-lifecycle.d.ts +0 -3
  458. package/dist/tools/catalog/capabilities/records/manage-blueprint/blueprint-lifecycle.js +0 -152
  459. package/dist/tools/catalog/capabilities/records/manage-blueprint/functions-events.d.ts +0 -3
  460. package/dist/tools/catalog/capabilities/records/manage-blueprint/functions-events.js +0 -103
  461. package/dist/tools/catalog/capabilities/records/manage-blueprint/graph-batch.d.ts +0 -3
  462. package/dist/tools/catalog/capabilities/records/manage-blueprint/graph-batch.js +0 -80
  463. package/dist/tools/catalog/capabilities/records/manage-blueprint/graph-nodes.d.ts +0 -3
  464. package/dist/tools/catalog/capabilities/records/manage-blueprint/graph-nodes.js +0 -274
  465. package/dist/tools/catalog/capabilities/records/manage-blueprint/graph-pins.d.ts +0 -3
  466. package/dist/tools/catalog/capabilities/records/manage-blueprint/graph-pins.js +0 -153
  467. package/dist/tools/catalog/capabilities/records/manage-blueprint/helpers.d.ts +0 -11
  468. package/dist/tools/catalog/capabilities/records/manage-blueprint/helpers.js +0 -5
  469. package/dist/tools/catalog/capabilities/records/manage-blueprint/index.d.ts +0 -4
  470. package/dist/tools/catalog/capabilities/records/manage-blueprint/index.js +0 -40
  471. package/dist/tools/catalog/capabilities/records/manage-blueprint/probe.d.ts +0 -3
  472. package/dist/tools/catalog/capabilities/records/manage-blueprint/probe.js +0 -30
  473. package/dist/tools/catalog/capabilities/records/manage-blueprint/properties.d.ts +0 -417
  474. package/dist/tools/catalog/capabilities/records/manage-blueprint/properties.js +0 -237
  475. package/dist/tools/catalog/capabilities/records/manage-blueprint/scs-components.d.ts +0 -3
  476. package/dist/tools/catalog/capabilities/records/manage-blueprint/scs-components.js +0 -203
  477. package/dist/tools/catalog/capabilities/records/manage-blueprint/variables-metadata.d.ts +0 -3
  478. package/dist/tools/catalog/capabilities/records/manage-blueprint/variables-metadata.js +0 -140
  479. package/dist/tools/catalog/capabilities/records/manage-blueprint/widget-animation.d.ts +0 -3
  480. package/dist/tools/catalog/capabilities/records/manage-blueprint/widget-animation.js +0 -124
  481. package/dist/tools/catalog/capabilities/records/manage-blueprint/widget-bindings.d.ts +0 -3
  482. package/dist/tools/catalog/capabilities/records/manage-blueprint/widget-bindings.js +0 -108
  483. package/dist/tools/catalog/capabilities/records/manage-blueprint/widget-content.d.ts +0 -3
  484. package/dist/tools/catalog/capabilities/records/manage-blueprint/widget-content.js +0 -113
  485. package/dist/tools/catalog/capabilities/records/manage-blueprint/widget-game-ui.d.ts +0 -3
  486. package/dist/tools/catalog/capabilities/records/manage-blueprint/widget-game-ui.js +0 -56
  487. package/dist/tools/catalog/capabilities/records/manage-blueprint/widget-info.d.ts +0 -3
  488. package/dist/tools/catalog/capabilities/records/manage-blueprint/widget-info.js +0 -107
  489. package/dist/tools/catalog/capabilities/records/manage-blueprint/widget-layout.d.ts +0 -24
  490. package/dist/tools/catalog/capabilities/records/manage-blueprint/widget-layout.js +0 -45
  491. package/dist/tools/catalog/capabilities/records/manage-blueprint/widget-lifecycle.d.ts +0 -3
  492. package/dist/tools/catalog/capabilities/records/manage-blueprint/widget-lifecycle.js +0 -189
  493. package/dist/tools/catalog/capabilities/records/manage-blueprint/widget-panels.d.ts +0 -3
  494. package/dist/tools/catalog/capabilities/records/manage-blueprint/widget-panels.js +0 -153
  495. package/dist/tools/catalog/capabilities/records/manage-blueprint/widget-templates.d.ts +0 -3
  496. package/dist/tools/catalog/capabilities/records/manage-blueprint/widget-templates.js +0 -47
  497. package/dist/tools/catalog/capabilities/records/manage-level/index.d.ts +0 -4
  498. package/dist/tools/catalog/capabilities/records/manage-level/index.js +0 -7
  499. package/dist/tools/catalog/capabilities/records/manage-level/lifecycle.data.d.ts +0 -3
  500. package/dist/tools/catalog/capabilities/records/manage-level/lifecycle.data.js +0 -132
  501. package/dist/tools/catalog/capabilities/records/manage-level/operations-io.data.d.ts +0 -3
  502. package/dist/tools/catalog/capabilities/records/manage-level/operations-io.data.js +0 -32
  503. package/dist/tools/catalog/capabilities/records/manage-level/operations-power.data.d.ts +0 -5
  504. package/dist/tools/catalog/capabilities/records/manage-level/operations-power.data.js +0 -178
  505. package/dist/tools/catalog/capabilities/records/manage-level/operations.data.d.ts +0 -3
  506. package/dist/tools/catalog/capabilities/records/manage-level/operations.data.js +0 -88
  507. package/dist/tools/catalog/capabilities/records/manage-level/properties.d.ts +0 -45
  508. package/dist/tools/catalog/capabilities/records/manage-level/properties.js +0 -45
  509. package/dist/tools/catalog/capabilities/records/manage-networking/framework.data.d.ts +0 -3
  510. package/dist/tools/catalog/capabilities/records/manage-networking/framework.data.js +0 -45
  511. package/dist/tools/catalog/capabilities/records/manage-networking/index.d.ts +0 -4
  512. package/dist/tools/catalog/capabilities/records/manage-networking/index.js +0 -15
  513. package/dist/tools/catalog/capabilities/records/manage-networking/input.data.d.ts +0 -3
  514. package/dist/tools/catalog/capabilities/records/manage-networking/input.data.js +0 -24
  515. package/dist/tools/catalog/capabilities/records/manage-networking/replication.data.d.ts +0 -3
  516. package/dist/tools/catalog/capabilities/records/manage-networking/replication.data.js +0 -60
  517. package/dist/tools/catalog/capabilities/records/manage-networking/session.data.d.ts +0 -3
  518. package/dist/tools/catalog/capabilities/records/manage-networking/session.data.js +0 -26
  519. package/dist/tools/catalog/capabilities/records/manage-sequence/alias-props.d.ts +0 -49
  520. package/dist/tools/catalog/capabilities/records/manage-sequence/alias-props.js +0 -78
  521. package/dist/tools/catalog/capabilities/records/manage-sequence/cinematic.d.ts +0 -3
  522. package/dist/tools/catalog/capabilities/records/manage-sequence/cinematic.js +0 -166
  523. package/dist/tools/catalog/capabilities/records/manage-sequence/helpers.d.ts +0 -119
  524. package/dist/tools/catalog/capabilities/records/manage-sequence/helpers.js +0 -108
  525. package/dist/tools/catalog/capabilities/records/manage-sequence/index.d.ts +0 -4
  526. package/dist/tools/catalog/capabilities/records/manage-sequence/index.js +0 -28
  527. package/dist/tools/catalog/capabilities/records/manage-sequence/media.d.ts +0 -3
  528. package/dist/tools/catalog/capabilities/records/manage-sequence/media.js +0 -119
  529. package/dist/tools/catalog/capabilities/records/manage-sequence/metadata.d.ts +0 -3
  530. package/dist/tools/catalog/capabilities/records/manage-sequence/metadata.js +0 -41
  531. package/dist/tools/catalog/capabilities/records/manage-sequence/mrq.d.ts +0 -3
  532. package/dist/tools/catalog/capabilities/records/manage-sequence/mrq.js +0 -146
  533. package/dist/tools/catalog/capabilities/records/manage-sequence/replay.d.ts +0 -3
  534. package/dist/tools/catalog/capabilities/records/manage-sequence/replay.js +0 -103
  535. package/dist/tools/catalog/capabilities/records/manage-sequence/take.d.ts +0 -3
  536. package/dist/tools/catalog/capabilities/records/manage-sequence/take.js +0 -59
  537. package/dist/tools/catalog/capabilities/records/manage-sequence/timeline-bindings.d.ts +0 -3
  538. package/dist/tools/catalog/capabilities/records/manage-sequence/timeline-bindings.js +0 -88
  539. package/dist/tools/catalog/capabilities/records/manage-sequence/timeline-lifecycle.d.ts +0 -3
  540. package/dist/tools/catalog/capabilities/records/manage-sequence/timeline-lifecycle.js +0 -132
  541. package/dist/tools/catalog/capabilities/records/manage-sequence/timeline-playback.d.ts +0 -3
  542. package/dist/tools/catalog/capabilities/records/manage-sequence/timeline-playback.js +0 -81
  543. package/dist/tools/catalog/capabilities/records/manage-sequence/timeline-state-ranges.d.ts +0 -3
  544. package/dist/tools/catalog/capabilities/records/manage-sequence/timeline-state-ranges.js +0 -95
  545. package/dist/tools/catalog/capabilities/records/manage-sequence/timeline-tracks.d.ts +0 -3
  546. package/dist/tools/catalog/capabilities/records/manage-sequence/timeline-tracks.js +0 -147
  547. package/dist/tools/catalog/capabilities/records/manage-tools/index.d.ts +0 -3
  548. package/dist/tools/catalog/capabilities/records/manage-tools/index.js +0 -276
  549. package/dist/tools/catalog/capabilities/records/parent-metadata.d.ts +0 -8
  550. package/dist/tools/catalog/capabilities/records/parent-metadata.js +0 -103
  551. package/dist/tools/catalog/capabilities/records/shared/fold-build.d.ts +0 -4
  552. package/dist/tools/catalog/capabilities/records/shared/fold-build.js +0 -175
  553. package/dist/tools/catalog/capabilities/records/shared/fold-members.d.ts +0 -5
  554. package/dist/tools/catalog/capabilities/records/shared/fold-members.js +0 -63
  555. package/dist/tools/catalog/capabilities/records/shared/fold-spec.d.ts +0 -4
  556. package/dist/tools/catalog/capabilities/records/shared/fold-spec.js +0 -10
  557. package/dist/tools/catalog/capabilities/records/shared/fold-support.d.ts +0 -3
  558. package/dist/tools/catalog/capabilities/records/shared/fold-support.js +0 -4
  559. package/dist/tools/catalog/capabilities/records/shared/fold-types.d.ts +0 -16
  560. package/dist/tools/catalog/capabilities/records/shared/fold-types.js +0 -2
  561. package/dist/tools/catalog/capabilities/records/shared/fold-widen.d.ts +0 -5
  562. package/dist/tools/catalog/capabilities/records/shared/fold-widen.js +0 -104
  563. package/dist/tools/catalog/capabilities/records/shared/fold.d.ts +0 -6
  564. package/dist/tools/catalog/capabilities/records/shared/fold.js +0 -37
  565. package/dist/tools/catalog/capabilities/records/shared/light-text.d.ts +0 -13
  566. package/dist/tools/catalog/capabilities/records/shared/light-text.js +0 -37
  567. package/dist/tools/catalog/capabilities/records/shared/record-presets.d.ts +0 -11
  568. package/dist/tools/catalog/capabilities/records/shared/record-presets.js +0 -41
  569. package/dist/tools/catalog/capabilities/records/shared/schema-props.d.ts +0 -8
  570. package/dist/tools/catalog/capabilities/records/shared/schema-props.js +0 -13
  571. package/dist/tools/catalog/capabilities/records/system-control/console.d.ts +0 -3
  572. package/dist/tools/catalog/capabilities/records/system-control/console.js +0 -149
  573. package/dist/tools/catalog/capabilities/records/system-control/index.d.ts +0 -4
  574. package/dist/tools/catalog/capabilities/records/system-control/index.js +0 -18
  575. package/dist/tools/catalog/capabilities/records/system-control/insights.d.ts +0 -3
  576. package/dist/tools/catalog/capabilities/records/system-control/insights.js +0 -194
  577. package/dist/tools/catalog/capabilities/records/system-control/performance.d.ts +0 -3
  578. package/dist/tools/catalog/capabilities/records/system-control/performance.js +0 -336
  579. package/dist/tools/catalog/capabilities/records/system-control/plugins.d.ts +0 -3
  580. package/dist/tools/catalog/capabilities/records/system-control/plugins.js +0 -101
  581. package/dist/tools/catalog/capabilities/records/system-control/system-ops.d.ts +0 -3
  582. package/dist/tools/catalog/capabilities/records/system-control/system-ops.js +0 -523
  583. package/dist/tools/catalog/capabilities/records/system-control/widget-audio-viewport.d.ts +0 -3
  584. package/dist/tools/catalog/capabilities/records/system-control/widget-audio-viewport.js +0 -115
  585. package/dist/tools/catalog/capabilities/records/unfolded.d.ts +0 -4
  586. package/dist/tools/catalog/capabilities/records/unfolded.js +0 -51
  587. package/dist/tools/catalog/capabilities/records/utility/example-values.d.ts +0 -4
  588. package/dist/tools/catalog/capabilities/records/utility/example-values.js +0 -195
  589. package/dist/tools/catalog/capabilities/records/utility/output-glossary.d.ts +0 -4
  590. package/dist/tools/catalog/capabilities/records/utility/output-glossary.js +0 -120
  591. package/dist/tools/catalog/capabilities/records/utility/utility-output-schema.d.ts +0 -4
  592. package/dist/tools/catalog/capabilities/records/utility/utility-output-schema.js +0 -16
  593. package/dist/tools/catalog/capabilities/records/utility/utility-record-builders.d.ts +0 -29
  594. package/dist/tools/catalog/capabilities/records/utility/utility-record-builders.js +0 -61
  595. package/dist/tools/catalog/capabilities/records/utility/utility-schema-pins.d.ts +0 -9
  596. package/dist/tools/catalog/capabilities/records/utility/utility-schema-pins.js +0 -294
  597. package/dist/tools/catalog/capabilities/records/world/builder.d.ts +0 -19
  598. package/dist/tools/catalog/capabilities/records/world/builder.js +0 -21
  599. package/dist/tools/catalog/capabilities/records/world/manage-geometry.deform.data.d.ts +0 -3
  600. package/dist/tools/catalog/capabilities/records/world/manage-geometry.deform.data.js +0 -74
  601. package/dist/tools/catalog/capabilities/records/world/manage-geometry.dynamicmesh.data.d.ts +0 -3
  602. package/dist/tools/catalog/capabilities/records/world/manage-geometry.dynamicmesh.data.js +0 -260
  603. package/dist/tools/catalog/capabilities/records/world/manage-geometry.index.d.ts +0 -4
  604. package/dist/tools/catalog/capabilities/records/world/manage-geometry.index.js +0 -16
  605. package/dist/tools/catalog/capabilities/records/world/manage-geometry.operations.data.d.ts +0 -3
  606. package/dist/tools/catalog/capabilities/records/world/manage-geometry.operations.data.js +0 -191
  607. package/dist/tools/catalog/capabilities/records/world/manage-geometry.optimize.data.d.ts +0 -3
  608. package/dist/tools/catalog/capabilities/records/world/manage-geometry.optimize.data.js +0 -280
  609. package/dist/tools/catalog/capabilities/records/world/manage-geometry.primitives.data.d.ts +0 -3
  610. package/dist/tools/catalog/capabilities/records/world/manage-geometry.primitives.data.js +0 -166
  611. package/dist/tools/catalog/capabilities/records/world/manage-level-structure.index.d.ts +0 -4
  612. package/dist/tools/catalog/capabilities/records/world/manage-level-structure.index.js +0 -10
  613. package/dist/tools/catalog/capabilities/records/world/manage-level-structure.structure.data.d.ts +0 -3
  614. package/dist/tools/catalog/capabilities/records/world/manage-level-structure.structure.data.js +0 -180
  615. package/dist/tools/catalog/capabilities/records/world/manage-level-structure.volume.data.d.ts +0 -3
  616. package/dist/tools/catalog/capabilities/records/world/manage-level-structure.volume.data.js +0 -141
  617. package/dist/tools/catalog/capabilities/records/world/manage-pcg.async.data.d.ts +0 -3
  618. package/dist/tools/catalog/capabilities/records/world/manage-pcg.async.data.js +0 -21
  619. package/dist/tools/catalog/capabilities/records/world/manage-pcg.graph.data.d.ts +0 -3
  620. package/dist/tools/catalog/capabilities/records/world/manage-pcg.graph.data.js +0 -196
  621. package/dist/tools/catalog/capabilities/records/world/manage-pcg.index.d.ts +0 -4
  622. package/dist/tools/catalog/capabilities/records/world/manage-pcg.index.js +0 -10
  623. package/dist/tools/catalog/capabilities/records/world/properties.d.ts +0 -200
  624. package/dist/tools/catalog/capabilities/records/world/properties.js +0 -239
  625. package/dist/tools/catalog/capabilities/retrieval/alias-fold.d.ts +0 -7
  626. package/dist/tools/catalog/capabilities/retrieval/alias-fold.js +0 -20
  627. package/dist/tools/catalog/capabilities/retrieval/constants.d.ts +0 -56
  628. package/dist/tools/catalog/capabilities/retrieval/constants.js +0 -71
  629. package/dist/tools/catalog/capabilities/retrieval/scoring.d.ts +0 -52
  630. package/dist/tools/catalog/capabilities/retrieval/scoring.js +0 -289
  631. package/dist/tools/catalog/capabilities/retrieval/tokenize.d.ts +0 -4
  632. package/dist/tools/catalog/capabilities/retrieval/tokenize.js +0 -47
  633. package/dist/tools/catalog/capabilities/semantic/authorization.d.ts +0 -20
  634. package/dist/tools/catalog/capabilities/semantic/authorization.js +0 -25
  635. package/dist/tools/catalog/capabilities/semantic/envelope.d.ts +0 -244
  636. package/dist/tools/catalog/capabilities/semantic/envelope.js +0 -81
  637. package/dist/tools/catalog/capabilities/semantic/errors.d.ts +0 -122
  638. package/dist/tools/catalog/capabilities/semantic/errors.js +0 -163
  639. package/dist/tools/catalog/capabilities/semantic/execution-options.d.ts +0 -23
  640. package/dist/tools/catalog/capabilities/semantic/execution-options.js +0 -29
  641. package/dist/tools/catalog/capabilities/semantic/handles.d.ts +0 -33
  642. package/dist/tools/catalog/capabilities/semantic/handles.js +0 -28
  643. package/dist/tools/catalog/capabilities/semantic/ids.d.ts +0 -14
  644. package/dist/tools/catalog/capabilities/semantic/ids.js +0 -36
  645. package/dist/tools/catalog/capabilities/semantic/live-state-revisions.d.ts +0 -11
  646. package/dist/tools/catalog/capabilities/semantic/live-state-revisions.js +0 -18
  647. package/dist/tools/catalog/capabilities/semantic/paths.d.ts +0 -9
  648. package/dist/tools/catalog/capabilities/semantic/paths.js +0 -148
  649. package/dist/tools/catalog/capabilities/semantic/receipt-outcome.d.ts +0 -10
  650. package/dist/tools/catalog/capabilities/semantic/receipt-outcome.js +0 -114
  651. package/dist/tools/catalog/capabilities/semantic/receipt-redaction.d.ts +0 -19
  652. package/dist/tools/catalog/capabilities/semantic/receipt-redaction.js +0 -176
  653. package/dist/tools/catalog/unreal-gateway-definition.d.ts +0 -5
  654. package/dist/tools/catalog/unreal-gateway-definition.js +0 -147
  655. package/dist/tools/definitions/shared/tool-definition.d.ts +0 -9
  656. package/dist/tools/definitions/shared/tool-definition.js +0 -2
  657. package/dist/tools/dynamic/dynamic-tool-manager.d.ts +0 -55
  658. package/dist/tools/dynamic/dynamic-tool-manager.js +0 -171
  659. package/dist/tools/handlers/foundation/arguments/handler-argument-validation.d.ts +0 -2
  660. package/dist/tools/handlers/foundation/arguments/handler-argument-validation.js +0 -160
  661. package/dist/tools/handlers/foundation/dispatch/automation-request-dispatch.d.ts +0 -13
  662. package/dist/tools/handlers/foundation/dispatch/automation-request-dispatch.js +0 -60
  663. package/dist/tools/handlers/foundation/dispatch/handler-timeout.d.ts +0 -5
  664. package/dist/tools/handlers/foundation/dispatch/handler-timeout.js +0 -28
  665. package/dist/types/automation/automation-responses.d.ts +0 -18
  666. package/dist/types/automation/automation-responses.js +0 -2
  667. package/dist/types/tools/tool-interfaces.d.ts +0 -26
  668. package/dist/types/tools/tool-interfaces.js +0 -2
  669. package/dist/unreal-bridge.d.ts +0 -27
  670. package/dist/unreal-bridge.js +0 -59
  671. package/dist/utils/collections/bounded.d.ts +0 -7
  672. package/dist/utils/collections/bounded.js +0 -13
  673. package/dist/utils/commands/command-validator.d.ts +0 -4
  674. package/dist/utils/commands/command-validator.js +0 -20
  675. package/dist/utils/commands/console-command-policy-matching.d.ts +0 -6
  676. package/dist/utils/commands/console-command-policy-matching.js +0 -38
  677. package/dist/utils/commands/console-command-policy-rules.d.ts +0 -179
  678. package/dist/utils/commands/console-command-policy-rules.js +0 -173
  679. package/dist/utils/config/ini-reader.d.ts +0 -3
  680. package/dist/utils/logging/log-redaction.d.ts +0 -4
  681. package/dist/utils/logging/log-redaction.js +0 -27
  682. package/dist/utils/logging/logger.d.ts +0 -13
  683. package/dist/utils/paths/content-path-policy.d.ts +0 -6
  684. package/dist/utils/paths/content-path-policy.js +0 -29
  685. package/dist/utils/paths/path-security.d.ts +0 -10
  686. package/dist/utils/paths/path-security.js +0 -115
  687. package/dist/utils/responses/automation-frame-normalization.d.ts +0 -2
  688. package/dist/utils/responses/automation-frame-normalization.js +0 -51
  689. package/dist/utils/responses/gateway-reply-compaction.d.ts +0 -6
  690. package/dist/utils/responses/gateway-reply-compaction.js +0 -264
  691. package/dist/utils/responses/response-content.d.ts +0 -4
  692. package/dist/utils/responses/response-content.js +0 -54
  693. package/dist/utils/responses/response-validator.d.ts +0 -2
  694. package/dist/utils/responses/response-validator.js +0 -61
  695. package/dist/utils/serialization/ordering.d.ts +0 -9
  696. package/dist/utils/serialization/ordering.js +0 -17
  697. package/dist/utils/serialization/safe-json.d.ts +0 -2
  698. package/dist/utils/serialization/safe-json.js +0 -44
  699. package/dist/utils/validation/type-guards.d.ts +0 -4
  700. package/dist/utils/validation/type-guards.js +0 -23
  701. package/dist/utils/validation/validation.d.ts +0 -3
  702. package/dist/utils/validation/validation.js +0 -82
@@ -1,38 +0,0 @@
1
- import { arr, bool, DESTRUCTIVE, DESTRUCTIVE_POLICY, ex, LOW, MEDIUM, NON_IDEMPOTENT, num, READ, READ_POLICY, r, str, WRITE, WRITE_POLICY } from './builder.js';
2
- import { schema } from '../shared/record-presets.js';
3
- const ENUM_PATH = str('Asset path of the UserDefinedEnum (e.g. /Game/Enums/E_MyEnum).');
4
- const VALUE_NAME = str('Enum value (entry) name.');
5
- const SAVE = bool('Persist the enum asset to disk. Defaults to true; pass false to keep the change in memory only.');
6
- const OK = schema({ success: bool('Operation succeeded.'), details: { type: 'object', 'x-unreal-reflection-boundary': true, description: 'Operation details.' } }, ['success']);
7
- const E = '/Game/Enums/E_WeaponType';
8
- const DONE = { success: true };
9
- export const ENUM_RECORDS = [
10
- r('create_enum', 'enum', 'Create a new UserDefinedEnum asset.', schema({ name: str('Enum name.'), path: str('Package path.'), enumPath: ENUM_PATH, values: arr('Initial enum value names.'), save: SAVE }, [], ['name', 'enumPath']), OK, WRITE, WRITE_POLICY, MEDIUM, { examples: [ex('Create a weapon-type enum', { name: 'E_WeaponType', path: '/Game/Enums', values: ['Melee', 'Ranged', 'Thrown'] }, DONE)],
11
- whenToUse: ['A new Blueprint enum is needed for a fixed set of named choices; pass values for its entries. It is saved unless save is false.'],
12
- whenNotToUse: ['A group of typed fields is needed rather than a list of names (use struct.edit_struct).'] }),
13
- r('delete_enum', 'enum', 'Delete a UserDefinedEnum asset.', schema({ enumPath: ENUM_PATH }, ['enumPath']), OK, { ...DESTRUCTIVE, longRunning: false }, DESTRUCTIVE_POLICY, LOW, { examples: [ex('Delete an obsolete enum', { enumPath: '/Game/Enums/E_Deprecated' }, DONE)],
14
- whenToUse: ['An obsolete enum asset must be deleted from the project; a blocked delete is reported as DELETE_FAILED.'],
15
- whenNotToUse: ['Assets that still use the enum must be found first (use asset.inspect_asset with lookup=dependencies and referencers=true).', 'The enum should be renamed or moved, not deleted (use asset.rename).'] }),
16
- r('get_enum', 'enum', 'Read a Blueprint enum (UserDefinedEnum): every entry with its name and numeric value, plus the value count.', schema({ enumPath: ENUM_PATH }, ['enumPath']), OK, READ, READ_POLICY, LOW, { topics: ['entry names and values', 'list entries', 'show enum values'], examples: [ex('Read an enum\'s values', { enumPath: E }, DONE)],
17
- whenToUse: ['The current entries of an enum, with their exact names and numeric values, must be read before any edit that names an entry.', 'An enum must be checked after an edit: its entries, numeric values and entry count.'],
18
- whenNotToUse: ['An enum must be changed rather than read (use enum.edit_enum).', 'The enum asset must be found by name first (use asset.query_asset).'] }),
19
- r('add_enum_value', 'enum', 'Add a new value to a UserDefinedEnum.', schema({ enumPath: ENUM_PATH, valueName: VALUE_NAME, save: SAVE }, ['enumPath', 'valueName']), OK, WRITE, WRITE_POLICY, LOW, { examples: [ex('Add a new weapon type', { enumPath: E, valueName: 'Explosive' }, DONE)],
20
- whenToUse: ['One more named entry must be appended to the end of an existing enum.'],
21
- whenNotToUse: ['The existing entries must only be read (use enum.get_enum).'] }),
22
- r('remove_enum_value', 'enum', 'Remove a value from a UserDefinedEnum.', schema({ enumPath: ENUM_PATH, valueName: VALUE_NAME, save: SAVE }, ['enumPath', 'valueName']), OK, { ...DESTRUCTIVE, longRunning: false }, DESTRUCTIVE_POLICY, LOW, { examples: [ex('Remove an unused weapon type', { enumPath: E, valueName: 'Thrown' }, DONE)],
23
- whenToUse: ['One entry must be dropped from an enum; the entries after it are renumbered.'],
24
- whenNotToUse: ['An entry only needs a new name (use enum.edit_enum).'] }),
25
- r('rename_enum_value', 'enum', 'Rename a value in a UserDefinedEnum.', schema({ enumPath: ENUM_PATH, valueName: VALUE_NAME, newValueName: str('New enum value name.'), save: SAVE }, ['enumPath', 'valueName', 'newValueName']), OK, NON_IDEMPOTENT, WRITE_POLICY, LOW, { examples: [ex('Rename Ranged to Firearm', { enumPath: E, valueName: 'Ranged', newValueName: 'Firearm' }, DONE)],
26
- whenToUse: ['An enum entry needs a new name while keeping its place in the order.'],
27
- whenNotToUse: ['An entry must be dropped, not renamed (use enum.delete_enum with deleteScope=value).'] }),
28
- r('reorder_enum_values', 'enum', 'Reorder values in a UserDefinedEnum.', schema({ enumPath: ENUM_PATH, order: arr('Desired value name order.'), save: SAVE }, ['enumPath', 'order']), OK, WRITE, WRITE_POLICY, LOW, { examples: [ex('Put ranged weapons first', { enumPath: E, order: ['Ranged', 'Melee', 'Thrown'] }, DONE)],
29
- whenToUse: ['The order of entries must change; the order list must name every current value and numeric values follow the new order.'],
30
- whenNotToUse: ['The current order must be checked before reordering (use enum.get_enum).'] }),
31
- r('set_enum_value_metadata', 'enum', 'Set metadata (tooltip, etc.) on an enum value.', schema({ enumPath: ENUM_PATH, valueName: VALUE_NAME, key: str('Metadata key.'), value: { description: 'Metadata value.' }, save: SAVE }, ['enumPath', 'valueName', 'key']), OK, WRITE, WRITE_POLICY, LOW, { examples: [ex('Document a value with a tooltip', { enumPath: E, valueName: 'Melee', key: 'ToolTip', value: 'Close-quarters weapon.' }, DONE)],
32
- whenToUse: ['A metadata key such as ToolTip must be stored against one enum entry.'],
33
- whenNotToUse: ['Metadata for a struct field is wanted (use struct.edit_struct).'] }),
34
- r('split_enum', 'enum', 'Split a UserDefinedEnum into a new enum with selected values.', schema({ enumPath: ENUM_PATH, newEnumName: str('Name for the new enum.'), values: arr('Value names to copy into the new enum. Pass this or index.'), index: num('Split position: every value from this zero-based index on is copied into the new enum. Pass this or values.'), path: str('Package path for the new enum.'), save: SAVE }, ['enumPath', 'newEnumName']), OK, WRITE, WRITE_POLICY, MEDIUM, { examples: [ex('Split thrown weapons into their own enum', { enumPath: E, newEnumName: 'E_ThrownType', values: ['Thrown'] }, DONE)],
35
- whenToUse: ['Chosen entries must be copied into a new enum, by name or from an index on; the source enum is left unchanged.'],
36
- whenNotToUse: ['The chosen entries must also leave the source enum, which a split does not do (use enum.delete_enum with deleteScope=value).'] })
37
- ];
38
- //# sourceMappingURL=enum-records.js.map
@@ -1,6 +0,0 @@
1
- import type { CapabilityRecordSource } from '../../model.js';
2
- import type { RecordSpec } from './builder.js';
3
- export declare const MANAGE_ASSET_RECORD_SPECS: readonly RecordSpec[];
4
- export declare const MANAGE_ASSET_UNFOLDED_SOURCES: readonly CapabilityRecordSource[];
5
- export declare const MANAGE_ASSET_SOURCES: readonly CapabilityRecordSource[];
6
- //# sourceMappingURL=index.d.ts.map
@@ -1,27 +0,0 @@
1
- import { CapabilityRecordSourceSchema } from '../../record-schema.js';
2
- import { MANAGE_ASSET_FOLDS } from '../folds/manage-asset.folds.js';
3
- import { applyFolds } from '../shared/fold.js';
4
- import { ASSET_ADVANCED_RECORDS } from './asset-advanced.js';
5
- import { ASSET_LIFECYCLE_RECORDS } from './asset-lifecycle.js';
6
- import { ASSET_QUERY_RECORDS } from './asset-query.js';
7
- import { toSource } from './builder.js';
8
- import { CONTENT_SOURCE_RECORDS } from './content-sources.js';
9
- import { DATATABLE_RECORDS } from './datatable-records.js';
10
- import { ENUM_RECORDS } from './enum-records.js';
11
- import { MATERIAL_CREATE_RECORDS } from './material-create.js';
12
- import { MATERIAL_GRAPH_RECORDS } from './material-graph.js';
13
- import { MATERIAL_NODES_RECORDS } from './material-nodes.js';
14
- import { MATERIAL_PARAMS_RECORDS } from './material-params.js';
15
- import { STRUCT_RECORDS } from './struct-records.js';
16
- import { TEXTURE_ADJUST_RECORDS } from './texture-adjust.js';
17
- import { TEXTURE_CONFIG_RECORDS } from './texture-config.js';
18
- import { TEXTURE_CREATE_RECORDS } from './texture-create.js';
19
- export const MANAGE_ASSET_RECORD_SPECS = [
20
- ...ASSET_LIFECYCLE_RECORDS, ...CONTENT_SOURCE_RECORDS, ...ASSET_QUERY_RECORDS, ...ASSET_ADVANCED_RECORDS,
21
- ...MATERIAL_CREATE_RECORDS, ...MATERIAL_NODES_RECORDS, ...MATERIAL_GRAPH_RECORDS, ...MATERIAL_PARAMS_RECORDS,
22
- ...TEXTURE_CREATE_RECORDS, ...TEXTURE_ADJUST_RECORDS, ...TEXTURE_CONFIG_RECORDS,
23
- ...STRUCT_RECORDS, ...DATATABLE_RECORDS, ...ENUM_RECORDS
24
- ];
25
- export const MANAGE_ASSET_UNFOLDED_SOURCES = MANAGE_ASSET_RECORD_SPECS.map((spec) => CapabilityRecordSourceSchema.parse(toSource(spec)));
26
- export const MANAGE_ASSET_SOURCES = applyFolds(MANAGE_ASSET_UNFOLDED_SOURCES, MANAGE_ASSET_FOLDS, 'manage_asset');
27
- //# sourceMappingURL=index.js.map
@@ -1,3 +0,0 @@
1
- import type { RecordSpec } from './builder.js';
2
- export declare const MATERIAL_CREATE_RECORDS: readonly RecordSpec[];
3
- //# sourceMappingURL=material-create.d.ts.map
@@ -1,57 +0,0 @@
1
- import { arrObj, BLEND_MODE, bool, ex, MATERIAL_DOMAIN, MATERIAL_PARAMETER_LIST, MEDIUM, r, SHADING_MODEL, str, WRITE, WRITE_POLICY } from './builder.js';
2
- import { schema } from '../shared/record-presets.js';
3
- const SAVE = bool('Save the asset afterwards. Defaults to true; pass false to keep it in memory only.');
4
- const PRESET_SETTINGS = {
5
- materialDomain: str('Material domain; overrides the preset domain.'),
6
- blendMode: str('Blend mode; overrides the preset blend mode.'),
7
- shadingModel: str('Shading model.'),
8
- twoSided: bool('Two-sided flag.'),
9
- save: SAVE,
10
- };
11
- const OK_PROPS = { success: bool('Operation succeeded.'), details: { type: 'object', 'x-unreal-reflection-boundary': true, description: 'Operation details.' } };
12
- const OK = schema(OK_PROPS, ['success']);
13
- export const MATERIAL_CREATE_RECORDS = [
14
- r('create_material', 'material', 'Create a new material asset.', schema({ name: str('Asset name.'), path: str('Package path.'), materialDomain: MATERIAL_DOMAIN, blendMode: BLEND_MODE, shadingModel: SHADING_MODEL, twoSided: bool('Two-sided flag.'), save: SAVE }, ['name']), OK, WRITE, WRITE_POLICY, MEDIUM, { whenToUse: ['A mesh, surface or effect needs a shader of its own and no material asset exists for it yet.', 'A translucent, unlit or two-sided material is wanted from the start (materialDomain, blendMode, shadingModel, twoSided).'],
15
- whenNotToUse: ['A variation of an existing material with different parameter values is wanted (use material.create_material_instance).', 'An existing material must be copied as it is (use asset.duplicate).'],
16
- topics: ['new material', 'make material', 'material asset', 'shader'],
17
- examples: [ex('Create an opaque lit surface material', { name: 'M_Base', path: '/Game/Materials', materialDomain: 'Surface', blendMode: 'Opaque', shadingModel: 'DefaultLit', twoSided: false, save: true }, { success: true })] }),
18
- r('create_material_instance', 'material', 'Create a material instance from a parent material, optionally with its parameter values already set, or several instances (a palette) under one consent.', schema({
19
- name: str('Instance name.'), parentMaterial: str('Parent material /Game path.'), savePath: str('Package path for the instance.'), parameters: MATERIAL_PARAMETER_LIST, save: SAVE,
20
- instances: {
21
- type: 'array', minItems: 1, maxItems: 64, items: { type: 'object', additionalProperties: true, 'x-unreal-reflection-boundary': true }, 'x-unreal-reflection-boundary': true,
22
- description: 'Several instances in one call, in place of name: each {name, and any of parentMaterial, savePath, parameters, save}; the call\'s own parentMaterial, savePath and save are every entry\'s defaults. Every entry is reported under instances; the call fails naming any that were not created.',
23
- },
24
- }, [], ['name', 'instances']), schema({ ...OK_PROPS, instances: { type: 'array', items: { type: 'object', additionalProperties: true, 'x-unreal-reflection-boundary': true }, 'x-unreal-reflection-boundary': true, description: 'With instances: one entry per instance in order: name, success, error and errorCode when it failed, and what a single create reports (assetPath, parameters).' }, created: { type: 'number', description: 'With instances: how many were created.' } }, ['success']), WRITE, WRITE_POLICY, MEDIUM, { whenToUse: ['A variation of a base material is needed with new parameter values and no second node graph.', 'An instance should start with scalar, vector or texture overrides already applied (pass parameters).', 'A palette of instances of one parent must be made at once (instances), under one consent instead of one per instance.'],
25
- whenNotToUse: ['The material needs its own node graph (use material.create_material).', 'An existing instance needs new values (use material.set_material_parameter); the parent must be a base material, not another instance.'],
26
- topics: ['material instance', 'mi', 'instance material', 'child material', 'make material instance', 'material palette', 'several material instances'], dispatchAction: 'create_material_instance',
27
- examples: [ex('Instance a base material', { name: 'MI_Base_Rusty', parentMaterial: '/Game/Materials/M_Base', savePath: '/Game/Materials' }, { success: true }),
28
- ex('Make a palette of instances under one consent', { parentMaterial: '/Game/Materials/M_Toy', savePath: '/Game/Materials/Instances', instances: [{ name: 'MI_Toy_Red', parameters: [{ parameterName: 'Color', parameterType: 'vector', value: [0.8, 0.1, 0.1] }] }, { name: 'MI_Toy_Blue', parameters: [{ parameterName: 'Color', parameterType: 'vector', value: [0.1, 0.2, 0.8] }] }] }, { success: true, created: 2 })] }),
29
- r('create_material_function', 'material', 'Create a new material function asset.', schema({ name: str('Function name.'), path: str('Package path.'), save: SAVE, description: str('Function description.'), exposeToLibrary: bool('Expose in the material function library.') }, ['name']), OK, WRITE, WRITE_POLICY, MEDIUM, { whenToUse: ['A chunk of graph logic must be reused by several materials as one node, listed in the function library unless exposeToLibrary is false.'],
30
- whenNotToUse: ['The logic is used by one material only (build it in that material with material.add_material_node).'],
31
- examples: [ex('Create a reusable blend function', { name: 'MF_HeightBlend', path: '/Game/Materials/Functions', save: true }, { success: true })] }),
32
- r('create_parameter_collection', 'material', 'Create a Material Parameter Collection, values every material that reads it shares, or add parameters to one and set their defaults.', schema({
33
- name: str('Asset name.'), path: str('Package path.'), save: SAVE,
34
- scalars: arrObj('Scalar parameters, each {name, default}: a name the collection lacks is added, one it has takes the new default (0 when a new one gives none).'),
35
- vectors: arrObj('Vector parameters, each {name, default}: default as [r, g, b, a] or {r, g, b, a} (alpha 1 when omitted); a name the collection lacks is added, one it has takes the new default.'),
36
- }, ['name']), schema({
37
- ...OK_PROPS,
38
- assetPath: str('The collection\'s object path.'), created: bool('True when the call made the collection, false when it updated one.'),
39
- added: { type: 'array', items: { type: 'string' }, description: 'The parameters this call added.' },
40
- scalars: { type: 'array', items: { type: 'object', additionalProperties: true, 'x-unreal-reflection-boundary': true }, 'x-unreal-reflection-boundary': true, description: 'Every scalar parameter of the collection after the call: {name, default}.' },
41
- vectors: { type: 'array', items: { type: 'object', additionalProperties: true, 'x-unreal-reflection-boundary': true }, 'x-unreal-reflection-boundary': true, description: 'Every vector parameter after the call: {name, default [r, g, b, a]}.' },
42
- saved: bool('Whether the collection reached disk.'),
43
- }, ['success']), WRITE, WRITE_POLICY, MEDIUM, { whenToUse: ['One value must drive many materials at once, set once at runtime (a level-wide wetness, wind strength, time of day or flash): a material reads it with a CollectionParameter node (material.add_material_node nodeType CollectionParameter with collectionPath and name), and a Blueprint sets it with SetScalarParameterValue or SetVectorParameterValue of the Kismet Material Library, the collection on its Collection pin.', 'An existing collection needs another parameter or new defaults: send it again; parameters are never removed, since materials read them by id.'],
44
- whenNotToUse: ['The value differs per object (use a material instance and material.set_material_parameter, or a dynamic material instance per actor).'],
45
- topics: ['material parameter collection', 'mpc', 'global material parameter', 'shared material value', 'level wide material value'],
46
- examples: [ex('A collection for level-wide weather', { name: 'MPC_Weather', path: '/Game/Materials', scalars: [{ name: 'Wetness', default: 0 }, { name: 'WindStrength', default: 0.3 }], vectors: [{ name: 'FogTint', default: [0.6, 0.7, 0.8, 1] }] }, { success: true, assetPath: '/Game/Materials/MPC_Weather.MPC_Weather', created: true, added: ['Wetness', 'WindStrength', 'FogTint'], saved: true })] }),
47
- r('create_landscape_material', 'material', 'Create a landscape material asset (Surface domain, Opaque by default).', schema({ name: str('Material name.'), path: str('Package path.'), ...PRESET_SETTINGS }, ['name']), OK, WRITE, WRITE_POLICY, MEDIUM, { whenToUse: ['A material is being made for a landscape; it starts empty (Surface domain, Opaque) and its layers are added afterwards.'],
48
- whenNotToUse: ['The material exists and only needs assigning to a landscape (use build_environment.sculpt with sculptOp=material).'],
49
- examples: [ex('Create a terrain material', { name: 'M_Landscape', path: '/Game/Materials/Landscape' }, { success: true })] }),
50
- r('create_decal_material', 'material', 'Create a decal material asset (DeferredDecal domain, Translucent by default).', schema({ name: str('Material name.'), path: str('Package path.'), ...PRESET_SETTINGS }, ['name']), OK, WRITE, WRITE_POLICY, MEDIUM, { whenToUse: ['A material is needed to project onto surfaces as a deferred decal, such as scorch marks or stains.'],
51
- whenNotToUse: ['A decal material already exists and only its blend mode must change (use material.set_material_property).'],
52
- examples: [ex('Create a decal material', { name: 'M_Decal_Scorch', path: '/Game/Materials/Decals' }, { success: true })] }),
53
- r('create_post_process_material', 'material', 'Create a post-process material asset (PostProcess domain by default).', schema({ name: str('Material name.'), path: str('Package path.'), ...PRESET_SETTINGS }, ['name']), OK, WRITE, WRITE_POLICY, MEDIUM, { whenToUse: ['A full-screen effect such as a vignette or color grade needs a post-process domain material.'],
54
- whenNotToUse: ['A built-in post-process setting such as bloom or exposure is enough (use build_environment.configure_post_process).'],
55
- examples: [ex('Create a vignette post-process material', { name: 'M_PP_Vignette', path: '/Game/Materials/PostProcess' }, { success: true })] })
56
- ];
57
- //# sourceMappingURL=material-create.js.map
@@ -1,3 +0,0 @@
1
- import type { RecordSpec } from './builder.js';
2
- export declare const MATERIAL_GRAPH_RECORDS: readonly RecordSpec[];
3
- //# sourceMappingURL=material-graph.d.ts.map
@@ -1,152 +0,0 @@
1
- import { arr, arrObj, bool, ex, LOW, MATERIAL_PARAMETER_ASSETS, MATERIAL_PARAMETER_LIST, num, READ, READ_POLICY, r, refObj, str, WRITE, WRITE_POLICY } from './builder.js';
2
- import { OUTPUT_HEADER, schema } from '../shared/record-presets.js';
3
- const MAT = str('Material /Game asset path.');
4
- const MAT_ALIAS = str('Material asset path (accepted in place of materialPath).');
5
- const SOURCE_PIN = str('Source output: its name, its index, or channel letters of the default output ("G", "RG"; X/Y/Z/W work too). Omit for the default output.');
6
- const TARGET_PIN = str('Target pin name. On the material output (targetNodeId Main): BaseColor, Metallic, Specular, Roughness, Anisotropy, EmissiveColor, Opacity, OpacityMask, Normal, Tangent, WorldPositionOffset, SubsurfaceColor, ClearCoat, ClearCoatRoughness, AmbientOcclusion, Refraction, PixelDepthOffset (and SurfaceThickness, Displacement on newer engines); a Cloth material\'s Cloth and FuzzColor, and CustomData0/CustomData1, name the clear-coat and subsurface pins they share.');
7
- const SAVE = bool('Save the asset afterwards. Defaults to true; pass false to keep the change in memory only.');
8
- const OK = schema({ success: bool('Operation succeeded.'), details: { type: 'object', 'x-unreal-reflection-boundary': true, description: 'Operation details.' } }, ['success']);
9
- const MOVE_OUT = schema({
10
- success: bool('Operation succeeded.'),
11
- details: OUTPUT_HEADER.details,
12
- nodeId: str('Moved node ID.'),
13
- posX: num('X coordinate the node now sits at.'),
14
- posY: num('Y coordinate the node now sits at.'),
15
- estimatedWidth: num('Approximate node width; an estimate, not a measurement.'),
16
- estimatedHeight: num('Approximate node height from connector count plus the inline default-value widget allowance.'),
17
- overlappingNodes: { type: 'array', items: { type: 'string' }, description: 'Names of expressions still overlapping after the move. Absent when the placement is clear.' },
18
- placementWarning: str('Human-readable overlap warning, present only when overlappingNodes is non-empty.'),
19
- }, ['success']);
20
- const CONNECTIONS_OUT = schema({
21
- success: bool('Operation succeeded.'),
22
- nodeId: str('Node the traversal started from.'),
23
- type: str('Expression class name of the start node.'),
24
- connectionCount: num('Number of connections returned.'),
25
- connections: arrObj('Edges found, each with sourceNodeId, sourceOutputIndex, targetNodeId, targetInput, hop and direction. A targetNodeId of "Main" is the material output node.'),
26
- }, ['success']);
27
- const NODE_DETAILS_OUT = schema({
28
- success: bool('Operation succeeded.'),
29
- nodeId: str('Resolved node ID.'),
30
- nodeType: str('Expression class name.'),
31
- nodeName: str('Expression object name.'),
32
- assetType: str('Material or MaterialFunction.'),
33
- parameterName: str('Parameter name, for parameter expressions.'),
34
- scalarDefault: num('DefaultValue, for scalar parameter expressions.'),
35
- vectorDefault: refObj('DefaultValue as rgba, for vector parameter expressions.'),
36
- inputName: str('Pin name, for a function input.'),
37
- inputType: str('Pin type, for a function input.'),
38
- outputName: str('Pin name, for a function output.'),
39
- sortPriority: num('Pin sort priority, for function input/output expressions.'),
40
- usePreviewValueAsDefault: bool('Whether a function input previews its default.'),
41
- }, ['success']);
42
- const OPERATIONS = {
43
- type: 'array',
44
- items: { type: 'object', additionalProperties: true, 'x-unreal-reflection-boundary': true },
45
- 'x-unreal-reflection-boundary': true,
46
- description: 'Steps run in order, 1-200. Each is {edit, ...the params of that edit}: edit is a node adder (add_material_node, '
47
- + 'add_scalar_parameter, add_vector_parameter, add_texture_sample, add_texture_coordinate, add_math_node, add_noise, '
48
- + 'add_custom_expression, ...; or add_material_node with nodeKind, as in the single call: {"edit": "add_material_node", '
49
- + '"nodeKind": "world_position"}), use_material_function, connect_nodes, set_node_position, update_custom_expression, '
50
- + 'set_blend_mode, set_shading_model, set_material_domain or set_two_sided. Optional per step: id (names the created '
51
- + 'node; later steps use "$id" in sourceNodeId/targetNodeId/nodeId), from/to ("$id.Pin" shorthand for connect_nodes, where '
52
- + 'a source pin may be channel letters like "$uv.G"; '
53
- + '"Main.EmissiveColor" is the material output). A created node without x/y is laid out automatically. Deleting and '
54
- + 'disconnecting are not batched. The batch stops at the first failing step; when every step ran, the material is '
55
- + 'compiled and saved once.',
56
- };
57
- const BATCH_OUT = schema({
58
- success: bool('True when every step ran.'),
59
- assetPath: str('The material the batch edited, compiled and saved.'),
60
- results: arrObj('Per-step outcome: index, edit, id, success, nodeId, placementWarning, error. A step that ran and has nothing more to say (a plain connect_nodes) is counted in succeeded, not listed; a failed batch lists every step.'),
61
- nodeIds: { type: 'object', additionalProperties: { type: 'string' }, description: 'Step id -> node id for every node the batch created.' },
62
- succeeded: num('Steps that completed.'),
63
- failedIndex: num('Index of the step that stopped the batch (failures only).'),
64
- compiled: bool('False when the material does not compile after the batch; compileErrors says why.'),
65
- compileErrors: arr('Compile errors after the batch, empty when the material compiles.'),
66
- saved: bool('Whether the material was saved after the batch.'),
67
- }, ['success']);
68
- const CUSTOM_UPDATE_OUT = schema({
69
- success: bool('Operation succeeded.'),
70
- compiled: bool('False when the material does not compile after the edit (the default material renders in its place); compileErrors says why. A material function has no translation of its own to read, so this is true for one.'),
71
- compileErrors: arr('Compile errors after the edit, from the material translator and, once it has finished, the shader compile (where a Custom node\'s HLSL fails); empty when it compiles.'),
72
- saved: bool('Whether the material or function was saved after the edit.'),
73
- details: { type: 'object', 'x-unreal-reflection-boundary': true, description: 'Operation details.' },
74
- }, ['success']);
75
- const M = '/Game/Materials/M_Base';
76
- const SAMPLE = 'MaterialExpressionTextureSample_0';
77
- const MULTIPLY = 'MaterialExpressionMultiply_0';
78
- const DONE = { success: true };
79
- export const MATERIAL_GRAPH_RECORDS = [
80
- r('connect_nodes', 'material', 'Connect two nodes in a material graph.', schema({ materialPath: MAT, assetPath: str('Material asset path (accepted in place of materialPath).'), sourceNodeId: str('Source node ID.'), sourcePin: SOURCE_PIN, targetNodeId: str('Target node ID.'), targetPin: TARGET_PIN, inputName: str('Input pin name.') }, ['sourceNodeId', 'targetNodeId'], ['materialPath', 'assetPath']), OK, WRITE, WRITE_POLICY, LOW, { whenToUse: ['The output of one material node must feed an input of another node in the same material or function.', 'A node result must drive a material output such as BaseColor or Roughness (targetNodeId Main).'],
81
- whenNotToUse: ['A whole graph of nodes and wires is being built (use material.add_material_node with nodeKind=batch).', 'A wire must be removed (use material.disconnect_nodes).'],
82
- examples: [ex('Feed a texture sample into a multiply', { materialPath: M, sourceNodeId: SAMPLE, sourcePin: 'RGB', targetNodeId: MULTIPLY, targetPin: 'A' }, DONE)] }),
83
- r('connect_material_pins', 'material', 'Connect material pins (alias of connect_nodes).', schema({ materialPath: MAT, assetPath: str('Material asset path (accepted in place of materialPath).'), sourceNodeId: str('Source node ID.'), sourcePin: SOURCE_PIN, targetNodeId: str('Target node ID.'), targetPin: TARGET_PIN }, ['sourceNodeId', 'targetNodeId'], ['materialPath', 'assetPath']), OK, WRITE, WRITE_POLICY, LOW, { whenToUse: ['The output of one material node must feed an input of another node in the same material or function.', 'A node result must drive a material output such as BaseColor or Roughness (targetNodeId Main).'],
84
- whenNotToUse: ['A whole graph of nodes and wires is being built (use material.add_material_node with nodeKind=batch).', 'A wire must be removed (use material.disconnect_nodes).'],
85
- dispatchAction: 'connect_material_pins', examples: [ex('Connect pins via the alias route', { materialPath: M, sourceNodeId: SAMPLE, sourcePin: 'RGB', targetNodeId: MULTIPLY, targetPin: 'A' }, DONE)] }),
86
- r('disconnect_nodes', 'material', 'Disconnect two nodes in a material graph.', schema({ materialPath: MAT, nodeId: str('Node ID.'), pinName: str('Input to unplug: a pin of nodeId by name or label (a custom node input such as OB), or for nodeId Main a material output input (BaseColor, Normal...). A name that matches none fails listing the inputs; only a material function\'s output node takes none, unplugging every output.') }, ['materialPath', 'nodeId']), OK, WRITE, WRITE_POLICY, LOW, { whenToUse: ['The wire into one input pin of a node must be cleared while both nodes stay.', 'A material output such as BaseColor must be unplugged (nodeId Main with pinName BaseColor).'],
87
- whenNotToUse: ['A node is no longer needed (use material.delete_node, which also clears every wire that used it).', 'A pin must take a different source (use material.connect_nodes, which replaces the current wire).'],
88
- examples: [ex('Break the A input of a multiply', { materialPath: M, nodeId: MULTIPLY, pinName: 'A' }, DONE)] }),
89
- r('find_node', 'material', 'Find a node in a material graph by type or name.', schema({ materialPath: MAT, assetPath: str('Material asset path (accepted in place of materialPath, as the sibling read actions spell it).'), nodeType: str('Node type to find.'), nodeName: str('Name to find: a node id, parameter name, function input or output name, or custom node title (substring match).') }, [], ['materialPath', 'assetPath']), OK, READ, READ_POLICY, LOW, { whenToUse: ['A node id is unknown and the node must be found by expression class, parameter name, function pin name or Custom node title.'],
90
- whenNotToUse: ['The material asset itself must be located by name or class (use asset.query_asset).'],
91
- examples: [ex('Locate every texture sample', { materialPath: M, nodeType: 'TextureSample' }, DONE)] }),
92
- r('get_node_connections', 'material', 'Retrieve connections for a node in a material graph.', schema({ materialPath: MAT, assetPath: MAT_ALIAS, nodeId: str('Node ID.'), direction: str('Connection direction to report (inputs or outputs).'), depth: num('Traversal depth; -1 walks the whole graph.'), upstream: bool('Walk every upstream producer, overriding direction and depth.'), downstream: bool('Report downstream connections instead of upstream.') }, ['nodeId'], ['materialPath', 'assetPath']), CONNECTIONS_OUT, READ, READ_POLICY, LOW, { whenToUse: ['The wiring of a node must be traced across the graph, for example to see where its result ends up at the material output.'],
93
- whenNotToUse: ['A wire must be added, cut or rerouted, not traced (use material.connect_nodes or material.disconnect_nodes).'],
94
- examples: [ex('List what feeds a multiply node', { materialPath: M, nodeId: MULTIPLY, direction: 'inputs', downstream: false }, DONE)] }),
95
- r('get_node_properties', 'material', 'Retrieve properties of a node in a material graph.', schema({ materialPath: MAT, assetPath: MAT_ALIAS, nodeId: str('Node ID.') }, ['nodeId'], ['materialPath', 'assetPath']), OK, READ, READ_POLICY, LOW, { whenToUse: ['The settings of one node must be read back, such as a scalar or vector parameter default or a function input or output pin.'],
96
- whenNotToUse: ['A parameter value or Custom node code must change, not be read (use material.set_material_parameter or material.update_custom_expression).', 'Any other property of a node must change, such as the Texture or SamplerType of a texture parameter (use inspect.set_property with objectPath "<material path>.<material name>:<nodeId>").'],
97
- examples: [ex('Read a texture sample node\'s properties', { materialPath: M, nodeId: SAMPLE }, DONE)] }),
98
- r('set_static_switch_parameter_value', 'material', 'Set a static switch parameter value on a material instance.', schema({ assetPath: str('Material instance /Game asset path.'), parameterName: str('Parameter name.'), value: bool('Switch value.'), save: SAVE }, ['assetPath', 'parameterName', 'value']), OK, WRITE, WRITE_POLICY, LOW, { whenToUse: ['A static switch parameter must be turned on or off; on an instance this rebuilds the shader permutation.'],
99
- whenNotToUse: ['The parameter is not on the base material yet (add it there with asset.edit_material_instance edit=add_parameter or material.add_material_node).'],
100
- examples: [ex('Enable a detail-map switch on an instance', { assetPath: '/Game/Materials/MI_Base_Rusty', parameterName: 'UseDetailMap', value: true }, DONE)] }),
101
- r('delete_node', 'material', 'Delete one node, or several with nodeIds, from a material graph; the material is recompiled and saved.', schema({ materialPath: MAT, nodeId: str('Node ID to delete.'), nodeIds: arr('Node IDs to delete in one batch, in place of nodeId.'), save: SAVE }, ['materialPath'], ['nodeId', 'nodeIds']), OK, WRITE, WRITE_POLICY, LOW, { whenToUse: ['An unused or wrong node must leave a material or function graph, taking its wires with it.', 'Several stray nodes must go in one call (nodeIds).'],
102
- whenNotToUse: ['Only the wire to a node must be cleared while the node stays (use material.disconnect_nodes).', 'Unused nodes must be found first (use material.get_material_info with info=subgraph and orphansOnly=true).'],
103
- examples: [ex('Delete an unused multiply node', { materialPath: M, nodeId: MULTIPLY }, DONE)] }),
104
- r('update_custom_expression', 'material', 'Update a custom expression node: its HLSL code, inputs, output type, additional outputs or title. An input that keeps its name keeps its wire. The material is then compiled and saved, and compiled, compileErrors and saved in the reply say how that went (a step of build_material_graph leaves both to the batch).', schema({ materialPath: MAT, nodeId: str('Node ID.'), code: str('Updated HLSL code.'), inputs: arrObj('Replacement input list, each {name}; inputs whose names stay keep their connections.'), outputType: str('Output type: Float1, Float2, Float3, Float4 or MaterialAttributes.'), description: str('Node title shown in the material editor.'), additionalOutputs: arrObj('Extra output pins after the return value, each {name, type}: type Float1 (default), Float2, Float3, Float4 or MaterialAttributes. Assign each by name in the HLSL (Emis = ...;) and wire it as "$node.Name".') }, ['materialPath', 'nodeId', 'code']), CUSTOM_UPDATE_OUT, WRITE, WRITE_POLICY, LOW, { topics: ['edit shader code', 'custom hlsl code'],
105
- whenToUse: ['The HLSL code of an existing Custom node must be rewritten without rebuilding its wiring.', 'Inputs, output type, extra outputs or the title of a Custom node must change; inputs that keep their name keep their wire.'],
106
- whenNotToUse: ['A new Custom node is needed (use material.add_material_node with nodeKind=custom_expression).', 'The node is a parameter or any other non-Custom expression; only Custom nodes are accepted (parameter values use material.set_material_parameter).'],
107
- examples: [ex('Rewrite a custom node\'s HLSL', { materialPath: M, nodeId: 'MaterialExpressionCustom_0', code: 'return saturate(A * 3.0f);' }, DONE)] }),
108
- r('get_node_chain', 'material', 'Retrieve the chain of nodes connected to a starting node.', schema({ materialPath: MAT, assetPath: MAT_ALIAS, nodeId: str('Starting node ID.'), startNodeId: str('Starting node ID accepted by the handler in place of nodeId.'), endPin: str('Terminal pin name to stop the chain walk at.') }, ['nodeId'], ['materialPath', 'assetPath']), OK, READ, READ_POLICY, LOW, { whenToUse: ['The wiring of a node must be traced across the graph, for example to see where its result ends up at the material output.'],
109
- whenNotToUse: ['A wire must be added, cut or rerouted, not traced (use material.connect_nodes or material.disconnect_nodes).'],
110
- examples: [ex('Walk the chain feeding BaseColor', { materialPath: M, nodeId: SAMPLE, endPin: 'BaseColor' }, DONE)] }),
111
- r('get_connected_subgraph', 'material', 'Retrieve the connected subgraph from a starting node.', schema({ materialPath: MAT, assetPath: MAT_ALIAS, nodeId: str('Starting node ID.'), orphansOnly: bool('Report only orphaned nodes; accepted in place of nodeId.') }, ['nodeId'], ['materialPath', 'assetPath']), OK, READ, READ_POLICY, LOW, { whenToUse: ['Nodes not wired to any output (orphans) must be found, or the connected island around one node listed.'],
112
- whenNotToUse: ['Orphaned nodes are to be removed (use material.delete_node once their ids are known).'],
113
- examples: [ex('Collect the subgraph under a node', { materialPath: M, nodeId: SAMPLE, orphansOnly: false }, DONE)] }),
114
- r('add_material_node', 'material', 'Add a generic material node by type.', schema({ materialPath: MAT, nodeType: str('Node type.'), type: str('Node type (alias of nodeType).'), name: str('Parameter name, when the node type is a parameter of any kind (scalar, vector, static switch, TextureObjectParameter, TextureSampleParameter2D), or the parameter of collectionPath a CollectionParameter node reads.'), collectionPath: str('Material Parameter Collection a CollectionParameter node reads (name picks its parameter); a collection that does not load, or lacks the parameter, adds nothing and fails, listing its parameters.'), texturePath: str('Texture for a texture node (TextureObjectParameter, TextureSample...): its default, with the sampler type set to match (a normal map samples as Normal). A path that does not load adds nothing and fails.'), defaultValue: { description: 'Initial value for a Constant (number) or Constant3Vector (rgb array or {r,g,b}) node.' }, posX: num('Node X position.'), posY: num('Node Y position.'), x: num('Node X position (preferred spelling; posX is the fallback).'), y: num('Node Y position (preferred spelling; posY is the fallback).') }, ['materialPath', 'nodeType']), OK, WRITE, WRITE_POLICY, LOW, { whenToUse: ['An expression is needed by class name with no dedicated adder, such as Constant, Constant3Vector (with defaultValue), ComponentMask or Saturate.', 'A texture object must feed a Custom node or a material function input (nodeType TextureObjectParameter with name and texturePath).', 'A material must read a value of a Material Parameter Collection (nodeType CollectionParameter with collectionPath and name).'],
115
- whenNotToUse: ['The node already exists and only needs wiring or moving (use material.connect_nodes or material.set_node_position).'],
116
- examples: [ex('Add a Constant3Vector by type name', { materialPath: M, nodeType: 'Constant3Vector', x: -300, y: 100 }, DONE)] }),
117
- r('rebuild_material', 'material', 'Rebuild and compile a material (alias of compile_material).', schema({ materialPath: MAT, assetPath: MAT_ALIAS, save: SAVE }, [], ['materialPath', 'assetPath']), OK, WRITE, WRITE_POLICY, LOW, { whenToUse: ['The shader must be regenerated after graph edits; the compile, error check and save are identical to a plain compile.'],
118
- whenNotToUse: ['A property or parameter was just set (material.set_material_property and material.set_material_parameter already recompile).'],
119
- dispatchAction: 'rebuild_material', examples: [ex('Rebuild after graph edits', { materialPath: M }, DONE)] }),
120
- r('set_material_parameter', 'material', 'Set a material parameter value, several at once with parameters, or the values of several material instances under one consent with assets.', schema({ assetPath: MAT, parameterName: str('Parameter name.'), parameterType: str('Parameter kind: scalar (default), vector, or texture. Selects which parameter expression the value is written to.'), value: { description: 'Parameter value.' }, texturePath: str('Texture /Game path, for parameterType texture.'), parameters: MATERIAL_PARAMETER_LIST, assets: MATERIAL_PARAMETER_ASSETS, save: SAVE }, [], ['assetPath', 'assets']), OK, WRITE, WRITE_POLICY, LOW, { whenToUse: ['Several parameter values on a base material or an instance must change in one call (parameters list).', 'Several material instances must be retuned at once, a palette recoloured (assets), under one consent instead of one per instance.', 'The default of a parameter node on a base material must change; on an instance the value is stored as an override.'],
121
- whenNotToUse: ['The parameter is not on the base material yet (add it there with asset.edit_material_instance edit=add_parameter or material.add_material_node).', 'Every override on an instance must be cleared back to its parent (use asset.edit_material_instance edit=reset_parameters).'],
122
- topics: ['material parameter', 'set parameter', 'scalar parameter', 'vector parameter', 'texture parameter', 'recolor several material instances'],
123
- examples: [ex('Set a roughness parameter', { assetPath: M, parameterName: 'Roughness', value: 0.35 }, DONE),
124
- ex('Retune two instances under one consent', { assets: [
125
- { assetPath: '/Game/Materials/MI_LampRed', parameters: [{ parameterName: 'Color', parameterType: 'vector', value: [1, 0.02, 0.01] }, { parameterName: 'SelfGlow', parameterType: 'scalar', value: 3.5 }] },
126
- { assetPath: '/Game/Materials/MI_LampGreen', parameterName: 'SelfGlow', value: 3.5 }
127
- ] }, DONE)] }),
128
- r('get_material_node_details', 'material', 'Retrieve details of a material node.', schema({ materialPath: MAT, assetPath: str('Material asset path (accepted in place of materialPath).'), nodeId: str('Node ID.'), expressionIndex: num('Zero-based position in the expression list; picks the node when nodeId is omitted.') }, [], ['materialPath', 'assetPath']), NODE_DETAILS_OUT, READ, READ_POLICY, LOW, { whenToUse: ['The settings of one node must be read back, such as a scalar or vector parameter default or a function input or output pin.'],
129
- whenNotToUse: ['A parameter value or Custom node code must change, not be read (use material.set_material_parameter or material.update_custom_expression).', 'Any other property of a node must change, such as the Texture or SamplerType of a texture parameter (use inspect.set_property with objectPath "<material path>.<material name>:<nodeId>").'],
130
- examples: [ex('Inspect one node in detail', { materialPath: M, nodeId: SAMPLE, expressionIndex: 0 }, DONE)] }),
131
- r('remove_material_node', 'material', 'Remove a node from a material graph.', schema({ materialPath: MAT, nodeId: str('Node ID to remove.'), nodeIds: arr('Node IDs to remove in one batch, in place of nodeId.') }, ['materialPath'], ['nodeId', 'nodeIds']), OK, WRITE, WRITE_POLICY, LOW, { whenToUse: ['An unused or wrong node must leave a material or function graph, taking its wires with it.', 'Several stray nodes must go in one call (nodeIds).'],
132
- whenNotToUse: ['Only the wire to a node must be cleared while the node stays (use material.disconnect_nodes).', 'Unused nodes must be found first (use material.get_material_info with info=subgraph and orphansOnly=true).'],
133
- examples: [ex('Remove a node from the graph', { materialPath: M, nodeId: SAMPLE }, DONE)] }),
134
- r('set_node_position', 'material', 'Move an existing material graph node to new coordinates, preserving its connections.', schema({ materialPath: MAT, assetPath: str('Material asset path (accepted in place of materialPath).'), nodeId: str('Node ID to move.'), x: num('New X coordinate (posX is the fallback spelling).'), y: num('New Y coordinate (posY is the fallback spelling).'), posX: num('New X coordinate (fallback spelling).'), posY: num('New Y coordinate (fallback spelling).') }, ['nodeId'], ['materialPath', 'assetPath']), MOVE_OUT, WRITE, WRITE_POLICY, LOW, { topics: ['move material node'],
135
- whenToUse: ['Overlapping nodes reported by a node add (overlappingNodes) must be spread out without losing wires.', 'A cluttered graph must be tidied by moving an existing node to new x and y.'],
136
- whenNotToUse: ['A new node needs a position (pass x and y when adding it with material.add_material_node).', 'Wires must change (use material.connect_nodes or material.disconnect_nodes).'],
137
- examples: [ex('Space a stacked parameter node out', { materialPath: M, nodeId: SAMPLE, x: -400, y: 260 }, { success: true, nodeId: SAMPLE, posX: -400, posY: 260 })] }),
138
- r('build_material_graph', 'material', 'Build a material graph in one call: add nodes, wire them to each other and to the material output, and set material properties, with $id references between steps.', schema({ materialPath: MAT, operations: OPERATIONS }, ['materialPath', 'operations']), BATCH_OUT, WRITE, WRITE_POLICY, LOW, { whenToUse: ['Many nodes, wires and material properties must be built at once, with the material compiled and saved only at the end.', 'New nodes must be wired to each other in the same call by id ($id) without waiting for node ids.'],
139
- whenNotToUse: ['Only one wire is needed (use material.connect_nodes).', 'Nodes must be deleted or unwired; batches do not run those (use material.delete_node or material.disconnect_nodes).'],
140
- topics: ['batch material edit', 'build material graph', 'wire many material nodes', 'material graph batch'],
141
- examples: [ex('Emissive vertical gradient from two colors', { materialPath: M, operations: [
142
- { edit: 'add_texture_coordinate', id: 'uv' },
143
- { edit: 'add_vector_parameter', id: 'top', parameterName: 'TopColor', defaultValue: { r: 0.01, g: 0.02, b: 0.08, a: 1 } },
144
- { edit: 'add_vector_parameter', id: 'horizon', parameterName: 'HorizonColor', defaultValue: { r: 0.9, g: 0.2, b: 0.6, a: 1 } },
145
- { edit: 'add_material_node', id: 'lerp', nodeType: 'Lerp' },
146
- { edit: 'connect_nodes', from: '$top', to: '$lerp.A' },
147
- { edit: 'connect_nodes', from: '$horizon', to: '$lerp.B' },
148
- { edit: 'connect_nodes', from: '$uv.G', to: '$lerp.Alpha' },
149
- { edit: 'connect_nodes', from: '$lerp', to: 'Main.EmissiveColor' },
150
- ] }, { success: true, succeeded: 8, nodeIds: { uv: 'MaterialExpressionTextureCoordinate_0', top: 'MaterialExpressionVectorParameter_0', horizon: 'MaterialExpressionVectorParameter_1', lerp: 'MaterialExpressionLinearInterpolate_0' }, compiled: true, saved: true })] })
151
- ];
152
- //# sourceMappingURL=material-graph.js.map
@@ -1,3 +0,0 @@
1
- import type { RecordSpec } from './builder.js';
2
- export declare const MATERIAL_NODES_RECORDS: readonly RecordSpec[];
3
- //# sourceMappingURL=material-nodes.d.ts.map
@@ -1,77 +0,0 @@
1
- import { arrObj, bool, ex, LOW, num, r, str, WRITE, WRITE_POLICY } from './builder.js';
2
- import { schema } from '../shared/record-presets.js';
3
- const MAT = str('Material /Game asset path.');
4
- const TEX = str('Texture /Game asset path.');
5
- const PARAM = str('Parameter name.');
6
- const X = num('Node X position (preferred spelling; posX is the fallback).');
7
- const Y = num('Node Y position (preferred spelling; posY is the fallback).');
8
- const OK = schema({
9
- success: bool('Operation succeeded.'),
10
- nodeId: str('Created node ID.'),
11
- details: { type: 'object', 'x-unreal-reflection-boundary': true, description: 'Node details.' },
12
- posX: num('X coordinate the node was placed at.'),
13
- posY: num('Y coordinate the node was placed at.'),
14
- estimatedWidth: num('Approximate node width; an estimate from the node name, not a measurement.'),
15
- estimatedHeight: num('Approximate node height, from connector count plus an allowance for a parameter node\'s inline default-value widget. Offset the next node by at least this much to avoid overlap.'),
16
- overlappingNodes: { type: 'array', items: { type: 'string' }, description: 'Names of existing expressions whose estimated bounds intersect this one. Absent when placement is clear.' },
17
- placementWarning: str('Human-readable overlap warning, present only when overlappingNodes is non-empty.'),
18
- }, ['success']);
19
- const M = '/Game/Materials/M_Base';
20
- const node = (expression) => ({ success: true, nodeId: `MaterialExpression${expression}_0` });
21
- export const MATERIAL_NODES_RECORDS = [
22
- r('add_texture_sample', 'material', 'Add a texture sample node to a material graph.', schema({ materialPath: MAT, texturePath: TEX, parameterName: str('Makes the node a TextureSampleParameter2D with this parameter name, overridable per instance.'), posX: num('Node X position.'), posY: num('Node Y position.'), x: X, y: Y }, ['materialPath']), OK, WRITE, WRITE_POLICY, LOW, { whenToUse: ['A texture must be sampled in the graph; pass parameterName to make it a texture parameter that instances can override.'],
23
- whenNotToUse: ['An instance only needs a different texture (use material.set_material_parameter with parameterKind=texture).', 'The texture asset itself must be made, adjusted or configured (use texture.create_texture, texture.adjust_texture or texture.configure_texture).'],
24
- examples: [ex('Sample a rock texture', { materialPath: M, texturePath: '/Game/Textures/T_Rock', x: -400, y: 0 }, node('TextureSample'))] }),
25
- r('add_texture_coordinate', 'material', 'Add a texture coordinate node to a material graph.', schema({ materialPath: MAT, coordinateIndex: num('UV channel index (default 0).'), uTiling: num('U tiling factor (default 1).'), vTiling: num('V tiling factor (default 1).'), posX: num('Node X position.'), posY: num('Node Y position.'), x: X, y: Y }, ['materialPath']), OK, WRITE, WRITE_POLICY, LOW, { whenToUse: ['A texture must repeat more or less often across a surface, or read a UV channel other than 0.'],
26
- whenNotToUse: ['The UV node exists and only needs wiring (use material.connect_nodes).'],
27
- examples: [ex('Tile UV channel 0 four times', { materialPath: M, coordinateIndex: 0, uTiling: 4, vTiling: 4, x: -600, y: 0 }, node('TextureCoordinate'))] }),
28
- r('add_scalar_parameter', 'material', 'Add a scalar parameter node to a material graph.', schema({ materialPath: MAT, parameterName: PARAM, defaultValue: num('Default scalar value.'), group: str('Parameter group.'), posX: num('Node X position.'), posY: num('Node Y position.'), x: X, y: Y }, ['materialPath', 'parameterName']), OK, WRITE, WRITE_POLICY, LOW, { whenToUse: ['A float value must be tweakable per material instance, such as roughness, opacity or a speed.'],
29
- whenNotToUse: ['An existing scalar parameter value must change (use material.set_material_parameter with parameterKind=scalar).'],
30
- examples: [ex('Expose a roughness scalar', { materialPath: M, parameterName: 'Roughness', defaultValue: 0.5, group: 'Surface', x: -400, y: 200 }, node('ScalarParameter'))] }),
31
- r('add_vector_parameter', 'material', 'Add a vector parameter node to a material graph.', schema({ materialPath: MAT, parameterName: PARAM, defaultValue: { description: 'Default RGBA value.' }, group: str('Parameter group.'), posX: num('Node X position.'), posY: num('Node Y position.'), x: X, y: Y }, ['materialPath', 'parameterName']), OK, WRITE, WRITE_POLICY, LOW, { whenToUse: ['A color or vector value must be tweakable per instance, such as a tint or an emissive color.'],
32
- whenNotToUse: ['An existing vector parameter value must change (use material.set_material_parameter with parameterKind=vector).'],
33
- examples: [ex('Expose a tint colour', { materialPath: M, parameterName: 'BaseTint', defaultValue: [1, 1, 1, 1], x: -400, y: 300 }, node('VectorParameter'))] }),
34
- r('add_static_switch_parameter', 'material', 'Add a static switch parameter node to a material graph.', schema({ materialPath: MAT, parameterName: PARAM, defaultValue: bool('Default switch value (default false).'), group: str('Parameter group.'), posX: num('Node X position.'), posY: num('Node Y position.'), x: X, y: Y }, ['materialPath', 'parameterName']), OK, WRITE, WRITE_POLICY, LOW, { whenToUse: ['A compile-time on/off toggle must pick between two graph branches for each instance.'],
35
- whenNotToUse: ['The value of an existing switch must change on an instance (use material.set_material_parameter with parameterKind=static_switch).'],
36
- examples: [ex('Add a detail-map toggle', { materialPath: M, parameterName: 'UseDetailMap', defaultValue: false, x: -400, y: 400 }, node('StaticSwitchParameter'))] }),
37
- r('add_math_node', 'material', 'Add a math operation node to a material graph.', schema({ materialPath: MAT, operation: str('Math operation (Add, Multiply, etc.).'), constA: num('Value used while input A is unwired (Add, Subtract, Multiply, Divide, Lerp).'), constB: num('Value used while input B is unwired (Add, Subtract, Multiply, Divide, Lerp).'), posX: num('Node X position.'), posY: num('Node Y position.'), x: X, y: Y }, ['materialPath', 'operation']), OK, WRITE, WRITE_POLICY, LOW, { whenToUse: ['Values must be combined or reshaped: Add, Subtract, Multiply, Divide, Lerp, Clamp, Power, Frac, OneMinus or Append.'],
38
- whenNotToUse: ['A math node already exists and only needs new wires (use material.connect_nodes).'],
39
- examples: [ex('Halve a value with a multiply', { materialPath: M, operation: 'Multiply', constA: 1, constB: 0.5, x: -200, y: 0 }, node('Multiply'))] }),
40
- r('add_world_position', 'material', 'Add a world position node to a material graph.', schema({ materialPath: MAT, posX: num('Node X position.'), posY: num('Node Y position.'), x: X, y: Y }, ['materialPath']), OK, WRITE, WRITE_POLICY, LOW, { whenToUse: ['The world position of each pixel is needed, for world-aligned textures or height-based blending.'],
41
- whenNotToUse: ['The world position node exists and only needs wiring (use material.connect_nodes).'],
42
- examples: [ex('Drive shading from world position', { materialPath: M, x: -800, y: 0 }, node('WorldPosition'))] }),
43
- r('add_vertex_normal', 'material', 'Add a vertex normal node to a material graph.', schema({ materialPath: MAT, posX: num('Node X position.'), posY: num('Node Y position.'), x: X, y: Y }, ['materialPath']), OK, WRITE, WRITE_POLICY, LOW, { whenToUse: ['The world-space vertex normal is needed, for example for slope-based blending.'],
44
- whenNotToUse: ['A normal map should shade the surface: wire a texture sample into Normal (use material.connect_nodes).'],
45
- examples: [ex('Read the world-space vertex normal', { materialPath: M, x: -800, y: 200 }, node('VertexNormalWS'))] }),
46
- r('add_pixel_depth', 'material', 'Add a pixel depth node to a material graph.', schema({ materialPath: MAT, posX: num('Node X position.'), posY: num('Node Y position.'), x: X, y: Y }, ['materialPath']), OK, WRITE, WRITE_POLICY, LOW, { whenToUse: ['Distance from the camera per pixel is needed, for depth fades or distance-based blending.'],
47
- whenNotToUse: ['A pixel depth node exists and only needs wiring (use material.connect_nodes).'],
48
- examples: [ex('Fade by pixel depth', { materialPath: M, x: -800, y: 400 }, node('PixelDepth'))] }),
49
- r('add_fresnel', 'material', 'Add a fresnel node to a material graph.', schema({ materialPath: MAT, posX: num('Node X position.'), posY: num('Node Y position.'), x: X, y: Y }, ['materialPath']), OK, WRITE, WRITE_POLICY, LOW, { whenToUse: ['A rim light, edge glow or view-angle fade is needed.'],
50
- whenNotToUse: ['The Fresnel node already exists and only needs wiring (use material.connect_nodes).'],
51
- examples: [ex('Add a rim-light fresnel', { materialPath: M, x: -600, y: 600 }, node('Fresnel'))] }),
52
- r('add_reflection_vector', 'material', 'Add a reflection vector node to a material graph.', schema({ materialPath: MAT, posX: num('Node X position.'), posY: num('Node Y position.'), x: X, y: Y }, ['materialPath']), OK, WRITE, WRITE_POLICY, LOW, { whenToUse: ['A reflection direction is needed, for example to sample a cubemap for fake reflections.'],
53
- whenNotToUse: ['The reflection vector node exists and only needs wiring (use material.connect_nodes).'],
54
- examples: [ex('Sample a cubemap by reflection vector', { materialPath: M, x: -800, y: 600 }, node('ReflectionVectorWS'))] }),
55
- r('add_panner', 'material', 'Add a panner node to a material graph.', schema({ materialPath: MAT, speedX: num('Pan speed along U.'), speedY: num('Pan speed along V.'), posX: num('Node X position.'), posY: num('Node Y position.'), x: X, y: Y }, ['materialPath']), OK, WRITE, WRITE_POLICY, LOW, { whenToUse: ['UVs must scroll over time, as with flowing water or a conveyor belt.'],
56
- whenNotToUse: ['The panner exists and only its wiring or position changes (use material.connect_nodes or material.set_node_position).'],
57
- examples: [ex('Scroll UVs horizontally', { materialPath: M, speedX: 0.1, speedY: 0, x: -600, y: 200 }, node('Panner'))] }),
58
- r('add_rotator', 'material', 'Add a rotator node to a material graph.', schema({ materialPath: MAT, speed: num('Rotation speed.'), posX: num('Node X position.'), posY: num('Node Y position.'), x: X, y: Y }, ['materialPath']), OK, WRITE, WRITE_POLICY, LOW, { whenToUse: ['UVs must rotate over time, as with spinning dials or radial effects.'],
59
- whenNotToUse: ['The rotator exists and only needs wiring (use material.connect_nodes).'],
60
- examples: [ex('Rotate UVs slowly', { materialPath: M, speed: 0.25, x: -600, y: 300 }, node('Rotator'))] }),
61
- r('add_noise', 'material', 'Add a noise node to a material graph.', schema({ materialPath: MAT, scale: num('Noise scale.'), levels: num('Number of noise octaves (levels) combined.'), posX: num('Node X position.'), posY: num('Node Y position.'), x: X, y: Y }, ['materialPath']), OK, WRITE, WRITE_POLICY, LOW, { whenToUse: ['A surface needs procedural variation such as dirt, clouds or breakup, with a scale and a number of octaves (levels).'],
62
- whenNotToUse: ['A noise texture asset is wanted instead of a per-pixel node (use texture.create_texture with kind=noise).'],
63
- examples: [ex('Add three-octave noise', { materialPath: M, scale: 4, levels: 3, x: -600, y: 400 }, node('Noise'))] }),
64
- r('add_voronoi', 'material', 'Add a voronoi noise node to a material graph.', schema({ materialPath: MAT, scale: num('Voronoi scale.'), posX: num('Node X position.'), posY: num('Node Y position.'), x: X, y: Y }, ['materialPath']), OK, WRITE, WRITE_POLICY, LOW, { whenToUse: ['A cell, crack or cobble-like pattern is needed from a Voronoi noise function; scale is its only setting.'],
65
- whenNotToUse: ['The Voronoi node exists and only needs wiring (use material.connect_nodes).'],
66
- examples: [ex('Add a voronoi cell pattern', { materialPath: M, scale: 8, x: -600, y: 500 }, { success: true })] }),
67
- r('add_if', 'material', 'Add a conditional If node to a material graph.', schema({ materialPath: MAT, posX: num('Node X position.'), posY: num('Node Y position.'), x: X, y: Y }, ['materialPath']), OK, WRITE, WRITE_POLICY, LOW, { whenToUse: ['A value must switch by comparing two numbers: A greater than, equal to or less than B.'],
68
- whenNotToUse: ['A per-instance toggle is wanted (add a static switch parameter, then use material.set_material_parameter with parameterKind=static_switch).'],
69
- examples: [ex('Branch between two inputs', { materialPath: M, x: -200, y: 200 }, node('If'))] }),
70
- r('add_switch', 'material', 'Add a switch node to a material graph.', schema({ materialPath: MAT, posX: num('Node X position.'), posY: num('Node Y position.'), x: X, y: Y }, ['materialPath']), OK, WRITE, WRITE_POLICY, LOW, { whenToUse: ['A compile-time two-way branch is needed with no named parameter, chosen by a bool input or the node default.'],
71
- whenNotToUse: ['The choice must change per instance (use a static switch parameter, set with material.set_material_parameter and parameterKind=static_switch).'],
72
- examples: [ex('Select between graph branches', { materialPath: M, x: -200, y: 300 }, node('Switch'))] }),
73
- r('add_custom_expression', 'material', 'Add a custom HLSL expression node to a material graph.', schema({ materialPath: MAT, code: str('HLSL code.'), outputType: str('Output type: Float1 (default), Float2, Float3, Float4 or MaterialAttributes.'), description: str('Node title shown in the material editor (the Custom node Description).'), inputs: arrObj('Input definitions, each {name}; wire one with connect_nodes targetPin set to that name.'), additionalOutputs: arrObj('Extra output pins after the return value, each {name, type}: type Float1 (default), Float2, Float3, Float4 or MaterialAttributes. Assign each by name in the HLSL (Emis = ...;) and wire it as "$node.Name".'), posX: num('Node X position.'), posY: num('Node Y position.'), x: X, y: Y }, ['materialPath', 'code']), OK, WRITE, WRITE_POLICY, LOW, { whenToUse: ['A calculation the standard nodes cannot express is needed as HLSL, with named inputs and optional extra outputs.'],
74
- whenNotToUse: ['The code or inputs of an existing Custom node must change (use material.update_custom_expression).'],
75
- examples: [ex('Add a scalar HLSL expression', { materialPath: M, code: 'return saturate(A * 2.0f);', outputType: 'CMOT_Float1', x: -200, y: 400 }, node('Custom'))] })
76
- ];
77
- //# sourceMappingURL=material-nodes.js.map
@@ -1,3 +0,0 @@
1
- import type { RecordSpec } from './builder.js';
2
- export declare const MATERIAL_PARAMS_RECORDS: readonly RecordSpec[];
3
- //# sourceMappingURL=material-params.d.ts.map
@@ -1,88 +0,0 @@
1
- import { arr, arrObj, BLEND_MODE, bool, ex, LOW, MATERIAL_DOMAIN, num, READ, READ_POLICY, r, SHADING_MODEL, str, WRITE, WRITE_POLICY } from './builder.js';
2
- import { schema } from '../shared/record-presets.js';
3
- const MAT = str('Material /Game asset path.');
4
- const MATFN = str('Material function /Game asset path.');
5
- const MINST = str('Material instance /Game asset path.');
6
- const MAT_ALIAS = str('Material asset path (accepted in place of assetPath).');
7
- const SAVE = bool('Save the asset afterwards. Defaults to true; pass false to keep the change in memory only.');
8
- const INFO_FILTERS = {
9
- filter: str('Which sections to return: parameters, expressions, connections, or all (default).'),
10
- nodeId: str('Only report connections touching this node.'),
11
- nodeIds: arr('Only report connections touching these nodes.'),
12
- };
13
- const OK = schema({ success: bool('Operation succeeded.'), details: { type: 'object', 'x-unreal-reflection-boundary': true, description: 'Operation details.' } }, ['success']);
14
- const COMPILE_OK = schema({
15
- success: bool('Operation succeeded.'),
16
- assetPath: str('Compiled asset path.'),
17
- assetType: str('Material or MaterialFunction.'),
18
- compiled: bool('False when the material does not compile; compileErrors says why.'),
19
- compileErrors: arr('Compile errors from the material translator and, once it has finished, the shader compile (where a Custom node\'s HLSL fails); empty when it compiles.'),
20
- saved: bool('Whether the asset was saved.'),
21
- }, ['success']);
22
- const MATERIAL_INFO_OK = schema({
23
- success: bool('Operation succeeded.'),
24
- assetType: str('Asset type: Material, MaterialFunction or MaterialInstance.'),
25
- parent: str('MaterialInstance: the material or instance it overrides.'),
26
- baseMaterial: str('MaterialInstance: the material at the root of its parent chain, which owns the node graph.'),
27
- parameterOverrides: arrObj('MaterialInstance: each overridden parameter (name, type scalar/vector/texture, value).'),
28
- nodeCount: num('Number of expression nodes in the graph.'),
29
- domain: str('Material domain, e.g. Surface, PostProcess, UI.'),
30
- blendMode: str('Blend mode, e.g. Opaque, Masked, Translucent.'),
31
- twoSided: bool('Whether the material renders two-sided.'),
32
- description: str('Material function description.'),
33
- exposeToLibrary: bool('Whether a material function is exposed to the library.'),
34
- parameters: arrObj('Material parameters of every kind (name, type, nodeId). A texture parameter also carries texture (its default texture path, empty while none is set) and samplerType (Color, Normal, Masks, ...); a runtime virtual texture parameter carries its virtual texture under texture.'),
35
- inputs: arrObj('Material function inputs (name, type, nodeId).'),
36
- }, ['success']);
37
- const M = '/Game/Materials/M_Base';
38
- const MI = '/Game/Materials/MI_Base_Rusty';
39
- const MF = '/Game/Materials/Functions/MF_HeightBlend';
40
- const DONE = { success: true };
41
- export const MATERIAL_PARAMS_RECORDS = [
42
- r('set_blend_mode', 'material', 'Set the blend mode of a material.', schema({ assetPath: MAT, blendMode: BLEND_MODE, save: SAVE }, ['assetPath', 'blendMode']), OK, WRITE, WRITE_POLICY, LOW, { whenToUse: ['A material must become translucent, cut out (Masked) or additive instead of Opaque.'],
43
- whenNotToUse: ['The target is a material instance; only a base material can be edited here (find it with material.get_material_info).', 'A new material is being created with the blend mode already known (use material.create_material with blendMode).'],
44
- examples: [ex('Switch a material to masked blending', { assetPath: M, blendMode: 'Masked' }, DONE)] }),
45
- r('set_shading_model', 'material', 'Set the shading model of a material.', schema({ assetPath: MAT, shadingModel: SHADING_MODEL, save: SAVE }, ['assetPath', 'shadingModel']), OK, WRITE, WRITE_POLICY, LOW, { whenToUse: ['A surface needs a different shading model, such as DefaultLit, Unlit, Subsurface, ClearCoat or Hair.'],
46
- whenNotToUse: ['The target is a material instance; only a base material can be edited here (find it with material.get_material_info).', 'A new material is being created with the shading model already known (use material.create_material with shadingModel).'],
47
- examples: [ex('Use the default lit shading model', { assetPath: M, shadingModel: 'DefaultLit' }, DONE)] }),
48
- r('set_material_domain', 'material', 'Set the material domain of a material.', schema({ assetPath: MAT, materialDomain: MATERIAL_DOMAIN, save: SAVE }, ['assetPath', 'materialDomain']), OK, WRITE, WRITE_POLICY, LOW, { whenToUse: ['A material must change domain, for example between Surface, DeferredDecal, PostProcess and UI.'],
49
- whenNotToUse: ['The target is a material instance; only a base material can be edited here (find it with material.get_material_info).', 'A new material is being created with the domain already known (use material.create_material with materialDomain).'],
50
- examples: [ex('Keep a material in the surface domain', { assetPath: M, materialDomain: 'Surface' }, DONE)] }),
51
- r('compile_material', 'material', 'Compile a material and report its compile errors.', schema({ assetPath: MAT, materialPath: MAT_ALIAS, save: SAVE }, [], ['assetPath', 'materialPath']), COMPILE_OK, WRITE, WRITE_POLICY, LOW, { whenToUse: ['The compile errors of an edited graph must be read; a material that fails to compile renders as the default material.', 'Graph edits left the asset unsaved, so it must be compiled and saved.'],
52
- whenNotToUse: ['A property or parameter was just set (material.set_material_property and material.set_material_parameter already recompile).', 'Domain, blend mode or node counts are wanted rather than compile errors (use material.get_material_info).'],
53
- examples: [ex('Compile after editing the graph', { assetPath: M }, DONE)] }),
54
- r('get_material_info', 'material', 'Read a material or material function (domain, blend mode, parameters, node count), or a material instance (its parent and parameter overrides).', schema({ assetPath: MAT, materialPath: MAT_ALIAS, ...INFO_FILTERS }, [], ['assetPath', 'materialPath']), MATERIAL_INFO_OK, READ, READ_POLICY, LOW, { whenToUse: ['An existing material must be understood before editing: node ids, parameter names, wiring, domain and blend mode, or the parent and overrides of an instance.'],
55
- whenNotToUse: ['Shading model, sampler counts or the instances of a parent are wanted (use asset.query_asset lookup=material_stats or asset.list kind=material_instances).'],
56
- examples: [ex('Read a material\'s configuration', { assetPath: M }, { success: true, assetType: 'Material', nodeCount: 4, domain: 'Surface', blendMode: 'Opaque', twoSided: false })] }),
57
- r('set_two_sided', 'material', 'Set the two-sided flag on a material.', schema({ assetPath: MAT, value: bool('Two-sided value: true renders both faces, false only the front.'), save: SAVE }, ['assetPath', 'value']), OK, WRITE, WRITE_POLICY, LOW, { whenToUse: ['Both faces of a mesh must render, as with leaves, cloth or thin sheets.'],
58
- whenNotToUse: ['The target is a material instance; only a base material can be edited here (find it with material.get_material_info).'],
59
- examples: [ex('Render a material from both sides', { assetPath: M, value: true }, DONE)] }),
60
- r('add_function_input', 'material', 'Add a function input to a material function.', schema({ assetPath: MATFN, inputName: str('Input name.'), inputType: str('Input type.'), x: num('Node X position (preferred spelling; posX is the fallback).'), y: num('Node Y position (preferred spelling; posY is the fallback).') }, ['assetPath', 'inputName']), OK, WRITE, WRITE_POLICY, LOW, { whenToUse: ['A material function needs an input pin (scalar, vector, Texture2D, TextureCube, Bool or MaterialAttributes) that callers wire into.'],
61
- whenNotToUse: ['The asset is a base material; only material functions take input or output pins (a material result goes to Main with material.connect_nodes).', 'The function does not exist yet (use material.create_material with kind=function).'],
62
- examples: [ex('Add a scalar height input', { assetPath: MF, inputName: 'Height', inputType: 'Scalar', x: -400, y: 0 }, DONE)] }),
63
- r('add_function_output', 'material', 'Add a function output to a material function.', schema({ assetPath: MATFN, inputName: str('Output name.'), inputType: str('Output type.'), x: num('Node X position (preferred spelling; posX is the fallback).'), y: num('Node Y position (preferred spelling; posY is the fallback).') }, ['assetPath', 'inputName']), OK, WRITE, WRITE_POLICY, LOW, { whenToUse: ['A material function needs a named result pin so a graph can wire its result out.'],
64
- whenNotToUse: ['The asset is a base material; only material functions take input or output pins (a material result goes to Main with material.connect_nodes).', 'The function does not exist yet (use material.create_material with kind=function).'],
65
- examples: [ex('Add the blended result output', { assetPath: MF, inputName: 'Result', inputType: 'Scalar', x: 400, y: 0 }, DONE)] }),
66
- r('use_material_function', 'material', 'Insert a material function reference into a material graph.', schema({ materialPath: MAT, functionPath: str('Material function /Game path.'), x: num('Node X position (preferred spelling; posX is the fallback).'), y: num('Node Y position (preferred spelling; posY is the fallback).') }, ['materialPath', 'functionPath']), OK, WRITE, WRITE_POLICY, LOW, { whenToUse: ['A reusable material function must be called from a material or another function as a single node.'],
67
- whenNotToUse: ['The function does not exist yet (use material.create_material with kind=function).', 'The function needs another input or output pin (use material.add_function_io).'],
68
- examples: [ex('Reference a blend function from a material', { materialPath: M, functionPath: MF, x: -200, y: 500 }, DONE)] }),
69
- r('get_material_function_info', 'material', 'Retrieve information about a material function.', schema({ assetPath: MATFN, materialPath: MAT_ALIAS, ...INFO_FILTERS }, [], ['assetPath', 'materialPath']), OK, READ, READ_POLICY, LOW, { whenToUse: ['A material function must be understood before calling or editing it: its inputs, outputs, description and library exposure.'],
70
- whenNotToUse: ['The materials that call the function must be found (use asset.inspect_asset with lookup=dependencies and referencers=true).'],
71
- examples: [ex('Read a function\'s inputs and outputs', { assetPath: MF }, DONE)] }),
72
- r('set_scalar_parameter_value', 'material', 'Set a scalar parameter value on a material instance.', schema({ assetPath: MINST, parameterName: str('Parameter name.'), value: num('Scalar value.'), save: SAVE }, ['assetPath', 'parameterName', 'value']), OK, WRITE, WRITE_POLICY, LOW, { whenToUse: ['A float parameter such as roughness, opacity or a speed must change on an instance or as a base material default.'],
73
- whenNotToUse: ['The parameter is not on the base material yet (add it there with asset.edit_material_instance edit=add_parameter or material.add_material_node).'],
74
- examples: [ex('Override roughness on an instance', { assetPath: MI, parameterName: 'Roughness', value: 0.8 }, DONE)] }),
75
- r('set_vector_parameter_value', 'material', 'Set a vector parameter value on a material instance.', schema({ assetPath: MINST, parameterName: str('Parameter name.'), value: { description: 'Vector value.' }, save: SAVE }, ['assetPath', 'parameterName', 'value']), OK, WRITE, WRITE_POLICY, LOW, { whenToUse: ['A color or vector parameter such as a tint must change; value takes an rgba object or an array of at least three numbers.'],
76
- whenNotToUse: ['The parameter is not on the base material yet (add it there with asset.edit_material_instance edit=add_parameter or material.add_material_node).'],
77
- examples: [ex('Tint an instance rust-orange', { assetPath: MI, parameterName: 'BaseTint', value: [0.55, 0.27, 0.1, 1] }, DONE)] }),
78
- r('set_texture_parameter_value', 'material', 'Set a texture parameter value on a material instance.', schema({ assetPath: MINST, parameterName: str('Parameter name.'), texturePath: str('Texture /Game path.'), save: SAVE }, ['assetPath', 'parameterName', 'texturePath']), OK, WRITE, WRITE_POLICY, LOW, { whenToUse: ['A texture parameter must point at a different texture asset (texturePath).'],
79
- whenNotToUse: ['The parameter is not on the base material yet (add it there with asset.edit_material_instance edit=add_parameter or material.add_material_node).', 'The texture asset itself needs other compression or LOD settings (use texture.configure_texture).'],
80
- examples: [ex('Swap the base colour texture', { assetPath: MI, parameterName: 'BaseColor', texturePath: '/Game/Textures/T_Rust' }, DONE)] }),
81
- r('add_landscape_layer', 'material', 'Create the landscape layer info asset (the weight layer a landscape material paints) for a layer name, beside the material or in path.', schema({ materialPath: str('Landscape material the layer belongs to; the layer info asset is created in its folder unless path is given.'), layerName: str('Layer name.'), path: str('Folder for the layer info asset, e.g. /Game/Landscape/Layers (overrides the material folder).'), hardness: num('Layer hardness, 0-1 (default 0.5).'), physicalMaterialPath: str('Physical material the layer applies, e.g. /Game/Physics/PM_Grass.'), noWeightBlend: bool('Exclude the layer from weight blending (default false).'), save: SAVE }, ['materialPath', 'layerName']), OK, WRITE, WRITE_POLICY, LOW, { whenToUse: ['A landscape weight layer needs its layer info asset, with hardness, physical material and weight-blend option, so it can be painted.'],
82
- whenNotToUse: ['The material needs a layer blend node that lists the layers (use material.configure_layer_blend).', 'The landscape must be painted with the layer (use build_environment.edit_landscape with edit=paint_landscape_layer).'],
83
- examples: [ex('Add a grass weight-blended layer', { materialPath: '/Game/Materials/Landscape/M_Landscape', layerName: 'Grass' }, DONE)] }),
84
- r('configure_layer_blend', 'material', 'Configure layer blend settings on a landscape material.', schema({ materialPath: MAT, layers: arrObj('Layer blend definitions.'), blendType: str('Blend type.'), x: num('Node X position of the layer blend node.'), y: num('Node Y position of the layer blend node.'), save: SAVE }, ['materialPath']), OK, WRITE, WRITE_POLICY, LOW, { whenToUse: ['A landscape material needs a Landscape Layer Blend node listing its paint layers, each with a weight, height or alpha blend.', 'All named layers must be added to one blend node in one call (layers takes [{name, blendType}] or plain names).'],
85
- whenNotToUse: ['Layer info assets for the layers must be created (use material.add_material_node with nodeKind=landscape_layer).', 'A finished material must be assigned to a landscape (use build_environment.sculpt with sculptOp=material).'],
86
- examples: [ex('Weight-blend the landscape layers', { materialPath: '/Game/Materials/Landscape/M_Landscape', blendType: 'LB_WeightBlend' }, DONE)] })
87
- ];
88
- //# sourceMappingURL=material-params.js.map
@@ -1,3 +0,0 @@
1
- import type { RecordSpec } from './builder.js';
2
- export declare const STRUCT_RECORDS: readonly RecordSpec[];
3
- //# sourceMappingURL=struct-records.d.ts.map