@fps-games/editor 0.2.1-beta.3 → 0.2.1-beta.4

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 (514) hide show
  1. package/dist/build-info.json +44 -44
  2. package/dist/editor-commands/capabilities/assets.d.ts +8 -0
  3. package/dist/editor-commands/capabilities/assets.d.ts.map +1 -0
  4. package/dist/{agent-bridge → editor-commands}/capabilities/assets.js +41 -41
  5. package/dist/editor-commands/capabilities/assets.js.map +1 -0
  6. package/dist/editor-commands/capabilities/editor-state.d.ts +5 -0
  7. package/dist/editor-commands/capabilities/editor-state.d.ts.map +1 -0
  8. package/dist/{agent-bridge → editor-commands}/capabilities/editor-state.js +22 -22
  9. package/dist/editor-commands/capabilities/editor-state.js.map +1 -0
  10. package/dist/editor-commands/capabilities/hierarchy.d.ts +4 -0
  11. package/dist/editor-commands/capabilities/hierarchy.d.ts.map +1 -0
  12. package/dist/{agent-bridge → editor-commands}/capabilities/hierarchy.js +5 -5
  13. package/dist/editor-commands/capabilities/hierarchy.js.map +1 -0
  14. package/dist/editor-commands/capabilities/host-lifecycle.d.ts +11 -0
  15. package/dist/editor-commands/capabilities/host-lifecycle.d.ts.map +1 -0
  16. package/dist/editor-commands/capabilities/host-lifecycle.js +149 -0
  17. package/dist/editor-commands/capabilities/host-lifecycle.js.map +1 -0
  18. package/dist/editor-commands/capabilities/prefabs.d.ts +5 -0
  19. package/dist/editor-commands/capabilities/prefabs.d.ts.map +1 -0
  20. package/dist/{agent-bridge → editor-commands}/capabilities/prefabs.js +93 -93
  21. package/dist/editor-commands/capabilities/prefabs.js.map +1 -0
  22. package/dist/editor-commands/capabilities/scene-objects.d.ts +8 -0
  23. package/dist/editor-commands/capabilities/scene-objects.d.ts.map +1 -0
  24. package/dist/editor-commands/capabilities/scene-objects.js +480 -0
  25. package/dist/editor-commands/capabilities/scene-objects.js.map +1 -0
  26. package/dist/editor-commands/capabilities/selection.d.ts +5 -0
  27. package/dist/editor-commands/capabilities/selection.d.ts.map +1 -0
  28. package/dist/editor-commands/capabilities/selection.js +60 -0
  29. package/dist/editor-commands/capabilities/selection.js.map +1 -0
  30. package/dist/editor-commands/capabilities/shadows.d.ts +5 -0
  31. package/dist/editor-commands/capabilities/shadows.d.ts.map +1 -0
  32. package/dist/{agent-bridge → editor-commands}/capabilities/shadows.js +74 -74
  33. package/dist/editor-commands/capabilities/shadows.js.map +1 -0
  34. package/dist/editor-commands/capabilities/transform.d.ts +5 -0
  35. package/dist/editor-commands/capabilities/transform.d.ts.map +1 -0
  36. package/dist/editor-commands/capabilities/transform.js +164 -0
  37. package/dist/editor-commands/capabilities/transform.js.map +1 -0
  38. package/dist/editor-commands/capabilities/ui-regions.d.ts +4 -0
  39. package/dist/editor-commands/capabilities/ui-regions.d.ts.map +1 -0
  40. package/dist/{agent-bridge → editor-commands}/capabilities/ui-regions.js +55 -57
  41. package/dist/editor-commands/capabilities/ui-regions.js.map +1 -0
  42. package/dist/editor-commands/capabilities/viewport.d.ts +5 -0
  43. package/dist/editor-commands/capabilities/viewport.d.ts.map +1 -0
  44. package/dist/{agent-bridge → editor-commands}/capabilities/viewport.js +100 -100
  45. package/dist/editor-commands/capabilities/viewport.js.map +1 -0
  46. package/dist/editor-commands/command-sources.d.ts +7 -0
  47. package/dist/editor-commands/command-sources.d.ts.map +1 -0
  48. package/dist/editor-commands/command-sources.js +34 -0
  49. package/dist/editor-commands/command-sources.js.map +1 -0
  50. package/dist/editor-commands/diagnostics.d.ts +12 -0
  51. package/dist/editor-commands/diagnostics.d.ts.map +1 -0
  52. package/dist/{agent-bridge → editor-commands}/diagnostics.js +4 -4
  53. package/dist/editor-commands/diagnostics.js.map +1 -0
  54. package/dist/{agent-bridge → editor-commands}/index.d.ts +1 -1
  55. package/dist/editor-commands/index.d.ts.map +1 -0
  56. package/dist/{agent-bridge → editor-commands}/index.js +1 -1
  57. package/dist/editor-commands/index.js.map +1 -0
  58. package/dist/editor-commands/register.d.ts +4 -0
  59. package/dist/editor-commands/register.d.ts.map +1 -0
  60. package/dist/{agent-bridge → editor-commands}/register.js +323 -286
  61. package/dist/editor-commands/register.js.map +1 -0
  62. package/dist/{agent-bridge → editor-commands}/shared.d.ts +80 -80
  63. package/dist/editor-commands/shared.d.ts.map +1 -0
  64. package/dist/{agent-bridge → editor-commands}/shared.js +29 -29
  65. package/dist/editor-commands/shared.js.map +1 -0
  66. package/dist/editor-commands/source-types.d.ts +110 -0
  67. package/dist/editor-commands/source-types.d.ts.map +1 -0
  68. package/dist/editor-commands/source-types.js.map +1 -0
  69. package/dist/editor-plugin-commands.d.ts +4 -0
  70. package/dist/editor-plugin-commands.d.ts.map +1 -0
  71. package/dist/editor-plugin-commands.js +18 -0
  72. package/dist/editor-plugin-commands.js.map +1 -0
  73. package/dist/index.d.ts +2 -2
  74. package/dist/index.d.ts.map +1 -1
  75. package/dist/index.js +1 -1
  76. package/dist/index.js.map +1 -1
  77. package/dist/local-editor-commands.d.ts +2 -0
  78. package/dist/local-editor-commands.d.ts.map +1 -0
  79. package/dist/local-editor-commands.js +2 -0
  80. package/dist/local-editor-commands.js.map +1 -0
  81. package/dist/local-editor-harness.d.ts +35 -21
  82. package/dist/local-editor-harness.d.ts.map +1 -1
  83. package/dist/local-editor-harness.js +1721 -367
  84. package/dist/local-editor-harness.js.map +1 -1
  85. package/dist/local-editor-prefab-stage-transaction.d.ts +2 -1
  86. package/dist/local-editor-prefab-stage-transaction.d.ts.map +1 -1
  87. package/dist/local-editor-prefab-stage-transaction.js +6 -5
  88. package/dist/local-editor-prefab-stage-transaction.js.map +1 -1
  89. package/dist/local-editor-scene-view-interaction-runtime.d.ts.map +1 -1
  90. package/dist/local-editor-scene-view-interaction-runtime.js +2 -5
  91. package/dist/local-editor-scene-view-interaction-runtime.js.map +1 -1
  92. package/dist/playable-local-editor-entry.d.ts +10 -0
  93. package/dist/playable-local-editor-entry.d.ts.map +1 -1
  94. package/dist/playable-local-editor-entry.js +10 -2
  95. package/dist/playable-local-editor-entry.js.map +1 -1
  96. package/dist/playable-local-editor-host.d.ts +3 -32
  97. package/dist/playable-local-editor-host.d.ts.map +1 -1
  98. package/dist/playable-local-editor-host.js +6 -70
  99. package/dist/playable-local-editor-host.js.map +1 -1
  100. package/dist/playable-product-local-editor.d.ts +1 -2
  101. package/dist/playable-product-local-editor.d.ts.map +1 -1
  102. package/dist/playable-product-local-editor.js +0 -1
  103. package/dist/playable-product-local-editor.js.map +1 -1
  104. package/dist/playable-product-projection-preview.d.ts.map +1 -1
  105. package/dist/playable-product-projection-preview.js +1 -1
  106. package/dist/playable-product-projection-preview.js.map +1 -1
  107. package/dist/playable-product-scene-capabilities.d.ts +0 -2
  108. package/dist/playable-product-scene-capabilities.d.ts.map +1 -1
  109. package/dist/playable-product-scene-capabilities.js +33 -6
  110. package/dist/playable-product-scene-capabilities.js.map +1 -1
  111. package/dist/playable-runtime-babylon.d.ts +4 -0
  112. package/dist/playable-runtime-babylon.d.ts.map +1 -1
  113. package/dist/playable-runtime-babylon.js +4 -0
  114. package/dist/playable-runtime-babylon.js.map +1 -1
  115. package/dist/playable-sdk.d.ts +1 -1
  116. package/dist/playable-sdk.d.ts.map +1 -1
  117. package/dist/playable-sdk.js.map +1 -1
  118. package/dist/playable-standard-project.d.ts +0 -2
  119. package/dist/playable-standard-project.d.ts.map +1 -1
  120. package/dist/playable-standard-project.js +1 -2
  121. package/dist/playable-standard-project.js.map +1 -1
  122. package/dist/project-service-projection.d.ts +16 -0
  123. package/dist/project-service-projection.d.ts.map +1 -0
  124. package/dist/project-service-projection.js +67 -0
  125. package/dist/project-service-projection.js.map +1 -0
  126. package/node_modules/@fps-games/babylon-renderer/dist/post-process/babylon-default-pipeline.d.ts +18 -0
  127. package/node_modules/@fps-games/babylon-renderer/dist/post-process/babylon-default-pipeline.d.ts.map +1 -1
  128. package/node_modules/@fps-games/babylon-renderer/dist/post-process/babylon-default-pipeline.js +54 -18
  129. package/node_modules/@fps-games/babylon-renderer/dist/post-process/babylon-default-pipeline.js.map +1 -1
  130. package/node_modules/@fps-games/babylon-renderer/package.json +9 -9
  131. package/node_modules/@fps-games/editor-babylon/dist/projection.d.ts +1 -0
  132. package/node_modules/@fps-games/editor-babylon/dist/projection.d.ts.map +1 -1
  133. package/node_modules/@fps-games/editor-babylon/dist/projection.js +1 -1
  134. package/node_modules/@fps-games/editor-babylon/dist/projection.js.map +1 -1
  135. package/node_modules/@fps-games/editor-babylon/dist/selection-presentation-controller.d.ts.map +1 -1
  136. package/node_modules/@fps-games/editor-babylon/dist/selection-presentation-controller.js +127 -13
  137. package/node_modules/@fps-games/editor-babylon/dist/selection-presentation-controller.js.map +1 -1
  138. package/node_modules/@fps-games/editor-babylon/dist/transform-gizmo-controller.d.ts.map +1 -1
  139. package/node_modules/@fps-games/editor-babylon/dist/transform-gizmo-controller.js +66 -1
  140. package/node_modules/@fps-games/editor-babylon/dist/transform-gizmo-controller.js.map +1 -1
  141. package/node_modules/@fps-games/editor-babylon/package.json +6 -6
  142. package/node_modules/@fps-games/editor-browser/dist/editor-command-service-client.d.ts +32 -0
  143. package/node_modules/@fps-games/editor-browser/dist/editor-command-service-client.d.ts.map +1 -0
  144. package/node_modules/@fps-games/editor-browser/dist/editor-command-service-client.js +254 -0
  145. package/node_modules/@fps-games/editor-browser/dist/editor-command-service-client.js.map +1 -0
  146. package/node_modules/@fps-games/editor-browser/dist/index.d.ts +3 -1
  147. package/node_modules/@fps-games/editor-browser/dist/index.d.ts.map +1 -1
  148. package/node_modules/@fps-games/editor-browser/dist/index.js +2 -0
  149. package/node_modules/@fps-games/editor-browser/dist/index.js.map +1 -1
  150. package/node_modules/@fps-games/editor-browser/dist/local-editor-command-center.d.ts +68 -0
  151. package/node_modules/@fps-games/editor-browser/dist/local-editor-command-center.d.ts.map +1 -0
  152. package/node_modules/@fps-games/editor-browser/dist/local-editor-command-center.js +650 -0
  153. package/node_modules/@fps-games/editor-browser/dist/local-editor-command-center.js.map +1 -0
  154. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-formal-surface-visibility.d.ts +1 -0
  155. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-formal-surface-visibility.d.ts.map +1 -1
  156. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-formal-surface-visibility.js +22 -0
  157. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-formal-surface-visibility.js.map +1 -1
  158. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-controller.d.ts +8 -0
  159. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-controller.d.ts.map +1 -1
  160. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-controller.js +117 -6
  161. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-controller.js.map +1 -1
  162. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-view.d.ts +14 -1
  163. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-view.d.ts.map +1 -1
  164. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-view.js +100 -1
  165. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-view.js.map +1 -1
  166. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-panels.d.ts +8 -1
  167. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-panels.d.ts.map +1 -1
  168. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-panels.js +75 -2
  169. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-panels.js.map +1 -1
  170. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-types.d.ts +37 -12
  171. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-types.d.ts.map +1 -1
  172. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-types.js.map +1 -1
  173. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui.d.ts +25 -2
  174. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui.d.ts.map +1 -1
  175. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui.js +332 -107
  176. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui.js.map +1 -1
  177. package/node_modules/@fps-games/editor-browser/package.json +7 -7
  178. package/node_modules/@fps-games/editor-core/dist/editor-authoring-host.d.ts +107 -0
  179. package/node_modules/@fps-games/editor-core/dist/editor-authoring-host.d.ts.map +1 -0
  180. package/node_modules/@fps-games/editor-core/dist/editor-authoring-host.js +1211 -0
  181. package/node_modules/@fps-games/editor-core/dist/editor-authoring-host.js.map +1 -0
  182. package/node_modules/@fps-games/editor-core/dist/editor-command-capability-adapter.d.ts +34 -0
  183. package/node_modules/@fps-games/editor-core/dist/editor-command-capability-adapter.d.ts.map +1 -0
  184. package/node_modules/@fps-games/editor-core/dist/editor-command-capability-adapter.js +260 -0
  185. package/node_modules/@fps-games/editor-core/dist/editor-command-capability-adapter.js.map +1 -0
  186. package/node_modules/@fps-games/editor-core/dist/editor-command-composed-authority.d.ts +9 -0
  187. package/node_modules/@fps-games/editor-core/dist/editor-command-composed-authority.d.ts.map +1 -0
  188. package/node_modules/@fps-games/editor-core/dist/editor-command-composed-authority.js +14 -0
  189. package/node_modules/@fps-games/editor-core/dist/editor-command-composed-authority.js.map +1 -0
  190. package/node_modules/@fps-games/editor-core/dist/editor-command-observability.d.ts +18 -0
  191. package/node_modules/@fps-games/editor-core/dist/editor-command-observability.d.ts.map +1 -0
  192. package/node_modules/@fps-games/editor-core/dist/editor-command-observability.js +113 -0
  193. package/node_modules/@fps-games/editor-core/dist/editor-command-observability.js.map +1 -0
  194. package/node_modules/@fps-games/editor-core/dist/editor-command-system.d.ts +82 -0
  195. package/node_modules/@fps-games/editor-core/dist/editor-command-system.d.ts.map +1 -0
  196. package/node_modules/@fps-games/editor-core/dist/editor-command-system.js +1098 -0
  197. package/node_modules/@fps-games/editor-core/dist/editor-command-system.js.map +1 -0
  198. package/node_modules/@fps-games/editor-core/dist/editor-plugin-host.d.ts +6 -7
  199. package/node_modules/@fps-games/editor-core/dist/editor-plugin-host.d.ts.map +1 -1
  200. package/node_modules/@fps-games/editor-core/dist/editor-plugin-host.js +62 -103
  201. package/node_modules/@fps-games/editor-core/dist/editor-plugin-host.js.map +1 -1
  202. package/node_modules/@fps-games/editor-core/dist/editor-service-gateway.d.ts +30 -0
  203. package/node_modules/@fps-games/editor-core/dist/editor-service-gateway.d.ts.map +1 -0
  204. package/node_modules/@fps-games/editor-core/dist/editor-service-gateway.js +540 -0
  205. package/node_modules/@fps-games/editor-core/dist/editor-service-gateway.js.map +1 -0
  206. package/node_modules/@fps-games/editor-core/dist/editor-session-authority.d.ts +9 -0
  207. package/node_modules/@fps-games/editor-core/dist/editor-session-authority.d.ts.map +1 -0
  208. package/node_modules/@fps-games/editor-core/dist/editor-session-authority.js +61 -0
  209. package/node_modules/@fps-games/editor-core/dist/editor-session-authority.js.map +1 -0
  210. package/node_modules/@fps-games/editor-core/dist/editor-session.d.ts +55 -0
  211. package/node_modules/@fps-games/editor-core/dist/editor-session.d.ts.map +1 -1
  212. package/node_modules/@fps-games/editor-core/dist/editor-session.js +247 -6
  213. package/node_modules/@fps-games/editor-core/dist/editor-session.js.map +1 -1
  214. package/node_modules/@fps-games/editor-core/dist/index.d.ts +6 -2
  215. package/node_modules/@fps-games/editor-core/dist/index.d.ts.map +1 -1
  216. package/node_modules/@fps-games/editor-core/dist/index.js +6 -2
  217. package/node_modules/@fps-games/editor-core/dist/index.js.map +1 -1
  218. package/node_modules/@fps-games/editor-core/package.json +6 -6
  219. package/node_modules/@fps-games/editor-forge-play/dist/index.d.ts +0 -1
  220. package/node_modules/@fps-games/editor-forge-play/dist/index.d.ts.map +1 -1
  221. package/node_modules/@fps-games/editor-forge-play/dist/index.js +0 -1
  222. package/node_modules/@fps-games/editor-forge-play/dist/index.js.map +1 -1
  223. package/node_modules/@fps-games/editor-forge-play/package.json +2 -2
  224. package/node_modules/@fps-games/editor-playable-sdk/dist/bridge-command/protocol.d.ts +2 -0
  225. package/node_modules/@fps-games/editor-playable-sdk/dist/bridge-command/protocol.d.ts.map +1 -1
  226. package/node_modules/@fps-games/editor-playable-sdk/dist/document/helpers.d.ts.map +1 -1
  227. package/node_modules/@fps-games/editor-playable-sdk/dist/document/helpers.js +41 -1
  228. package/node_modules/@fps-games/editor-playable-sdk/dist/document/helpers.js.map +1 -1
  229. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/forge-play-types.d.ts +27 -1
  230. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/forge-play-types.d.ts.map +1 -1
  231. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/forge-play-types.js.map +1 -1
  232. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/forge-play.d.ts +2 -0
  233. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/forge-play.d.ts.map +1 -1
  234. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/forge-play.js +214 -7
  235. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/forge-play.js.map +1 -1
  236. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/host-controller.d.ts +1 -0
  237. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/host-controller.d.ts.map +1 -1
  238. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/host-controller.js +11 -3
  239. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/host-controller.js.map +1 -1
  240. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/index.d.ts +2 -4
  241. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/index.d.ts.map +1 -1
  242. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/index.js +0 -1
  243. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/index.js.map +1 -1
  244. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/lifecycle.d.ts.map +1 -1
  245. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/lifecycle.js +77 -31
  246. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/lifecycle.js.map +1 -1
  247. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/types.d.ts +8 -1
  248. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/types.d.ts.map +1 -1
  249. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/types.js.map +1 -1
  250. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/asset-fields.d.ts +21 -1
  251. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/asset-fields.d.ts.map +1 -1
  252. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/asset-fields.js +90 -4
  253. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/asset-fields.js.map +1 -1
  254. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/binding.d.ts +27 -1
  255. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/binding.d.ts.map +1 -1
  256. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/binding.js +161 -1
  257. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/binding.js.map +1 -1
  258. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/inspector.d.ts +2 -2
  259. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/inspector.d.ts.map +1 -1
  260. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/inspector.js +5 -92
  261. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/inspector.js.map +1 -1
  262. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/scene-inspector.d.ts +7 -0
  263. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/scene-inspector.d.ts.map +1 -1
  264. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/scene-inspector.js +26 -9
  265. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/scene-inspector.js.map +1 -1
  266. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/slot-inspector.d.ts +9 -0
  267. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/slot-inspector.d.ts.map +1 -1
  268. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/slot-inspector.js +19 -8
  269. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/slot-inspector.js.map +1 -1
  270. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/material-override-inspector.d.ts +5 -0
  271. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/material-override-inspector.d.ts.map +1 -1
  272. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/material-override-inspector.js +16 -4
  273. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/material-override-inspector.js.map +1 -1
  274. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/stage-inspector.d.ts +9 -0
  275. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/stage-inspector.d.ts.map +1 -1
  276. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/stage-inspector.js +12 -2
  277. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/stage-inspector.js.map +1 -1
  278. package/node_modules/@fps-games/editor-playable-sdk/dist/product/ground-decal.d.ts +2 -1
  279. package/node_modules/@fps-games/editor-playable-sdk/dist/product/ground-decal.d.ts.map +1 -1
  280. package/node_modules/@fps-games/editor-playable-sdk/dist/product/ground-decal.js +10 -5
  281. package/node_modules/@fps-games/editor-playable-sdk/dist/product/ground-decal.js.map +1 -1
  282. package/node_modules/@fps-games/editor-playable-sdk/dist/product/index.d.ts +1 -0
  283. package/node_modules/@fps-games/editor-playable-sdk/dist/product/index.d.ts.map +1 -1
  284. package/node_modules/@fps-games/editor-playable-sdk/dist/product/index.js +1 -0
  285. package/node_modules/@fps-games/editor-playable-sdk/dist/product/index.js.map +1 -1
  286. package/node_modules/@fps-games/editor-playable-sdk/dist/product/project-host-services.d.ts +17 -82
  287. package/node_modules/@fps-games/editor-playable-sdk/dist/product/project-host-services.d.ts.map +1 -1
  288. package/node_modules/@fps-games/editor-playable-sdk/dist/product/project-host-services.js +53 -57
  289. package/node_modules/@fps-games/editor-playable-sdk/dist/product/project-host-services.js.map +1 -1
  290. package/node_modules/@fps-games/editor-playable-sdk/dist/product/scene-session.d.ts.map +1 -1
  291. package/node_modules/@fps-games/editor-playable-sdk/dist/product/scene-session.js +3 -2
  292. package/node_modules/@fps-games/editor-playable-sdk/dist/product/scene-session.js.map +1 -1
  293. package/node_modules/@fps-games/editor-playable-sdk/dist/product/standard-authoring-commands.d.ts +10 -0
  294. package/node_modules/@fps-games/editor-playable-sdk/dist/product/standard-authoring-commands.d.ts.map +1 -0
  295. package/node_modules/@fps-games/editor-playable-sdk/dist/product/standard-authoring-commands.js +256 -0
  296. package/node_modules/@fps-games/editor-playable-sdk/dist/product/standard-authoring-commands.js.map +1 -0
  297. package/node_modules/@fps-games/editor-playable-sdk/dist/product/standard-scene-assembly.d.ts.map +1 -1
  298. package/node_modules/@fps-games/editor-playable-sdk/dist/product/standard-scene-assembly.js +7 -5
  299. package/node_modules/@fps-games/editor-playable-sdk/dist/product/standard-scene-assembly.js.map +1 -1
  300. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/client.d.ts.map +1 -1
  301. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/client.js +8 -0
  302. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/client.js.map +1 -1
  303. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/types.d.ts +1 -0
  304. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/types.d.ts.map +1 -1
  305. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/types.js.map +1 -1
  306. package/node_modules/@fps-games/editor-playable-sdk/dist/upgrade-doctor/inspectors.js +134 -12
  307. package/node_modules/@fps-games/editor-playable-sdk/dist/upgrade-doctor/inspectors.js.map +1 -1
  308. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/editor-scene-workflow.d.ts.map +1 -1
  309. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/editor-scene-workflow.js +47 -0
  310. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/editor-scene-workflow.js.map +1 -1
  311. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/editor-service-vite.d.ts +27 -0
  312. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/editor-service-vite.d.ts.map +1 -0
  313. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/editor-service-vite.js +592 -0
  314. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/editor-service-vite.js.map +1 -0
  315. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/index.d.ts +3 -1
  316. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/index.d.ts.map +1 -1
  317. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/index.js +2 -1
  318. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/index.js.map +1 -1
  319. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/plugin.d.ts.map +1 -1
  320. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/plugin.js +61 -6
  321. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/plugin.js.map +1 -1
  322. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-adapter.d.ts +0 -2
  323. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-adapter.d.ts.map +1 -1
  324. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-adapter.js +1 -10
  325. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-adapter.js.map +1 -1
  326. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-authoring-api.d.ts.map +1 -1
  327. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-authoring-api.js +21 -0
  328. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-authoring-api.js.map +1 -1
  329. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/project-authoring-backend.d.ts +13 -0
  330. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/project-authoring-backend.d.ts.map +1 -0
  331. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/project-authoring-backend.js +18 -0
  332. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/project-authoring-backend.js.map +1 -0
  333. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/project-editor-service.d.ts +28 -0
  334. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/project-editor-service.d.ts.map +1 -0
  335. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/project-editor-service.js +863 -0
  336. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/project-editor-service.js.map +1 -0
  337. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/types.d.ts +2 -0
  338. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/types.d.ts.map +1 -1
  339. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/types.js.map +1 -1
  340. package/node_modules/@fps-games/editor-playable-sdk/package.json +6 -6
  341. package/node_modules/@fps-games/editor-protocol/dist/editor-command-capabilities.d.ts +1626 -0
  342. package/node_modules/@fps-games/editor-protocol/dist/editor-command-capabilities.d.ts.map +1 -0
  343. package/node_modules/@fps-games/editor-protocol/dist/{agent-bridge.js → editor-command-capabilities.js} +766 -620
  344. package/node_modules/@fps-games/editor-protocol/dist/editor-command-capabilities.js.map +1 -0
  345. package/node_modules/@fps-games/editor-protocol/dist/editor-command-trace.d.ts +69 -0
  346. package/node_modules/@fps-games/editor-protocol/dist/editor-command-trace.d.ts.map +1 -0
  347. package/node_modules/@fps-games/editor-protocol/dist/editor-command-trace.js +22 -0
  348. package/node_modules/@fps-games/editor-protocol/dist/editor-command-trace.js.map +1 -0
  349. package/node_modules/@fps-games/editor-protocol/dist/editor-command.d.ts +136 -0
  350. package/node_modules/@fps-games/editor-protocol/dist/editor-command.d.ts.map +1 -0
  351. package/node_modules/@fps-games/editor-protocol/dist/editor-command.js +2 -0
  352. package/node_modules/@fps-games/editor-protocol/dist/editor-command.js.map +1 -0
  353. package/node_modules/@fps-games/editor-protocol/dist/editor-service.d.ts +225 -0
  354. package/node_modules/@fps-games/editor-protocol/dist/editor-service.d.ts.map +1 -0
  355. package/node_modules/@fps-games/editor-protocol/dist/editor-service.js +4 -0
  356. package/node_modules/@fps-games/editor-protocol/dist/editor-service.js.map +1 -0
  357. package/node_modules/@fps-games/editor-protocol/dist/index.d.ts +6 -3
  358. package/node_modules/@fps-games/editor-protocol/dist/index.d.ts.map +1 -1
  359. package/node_modules/@fps-games/editor-protocol/dist/index.js +6 -3
  360. package/node_modules/@fps-games/editor-protocol/dist/index.js.map +1 -1
  361. package/node_modules/@fps-games/editor-protocol/package.json +2 -2
  362. package/node_modules/@fps-games/editor-tooling/package.json +3 -3
  363. package/node_modules/@fps-games/editor-ui/package.json +1 -1
  364. package/node_modules/@fps-games/playable-assets/package.json +1 -1
  365. package/node_modules/@fps-games/playable-contracts/package.json +1 -1
  366. package/node_modules/@fps-games/playable-rendering/package.json +2 -2
  367. package/node_modules/@fps-games/playable-runtime/package.json +12 -12
  368. package/node_modules/@fps-games/playable-runtime-data/package.json +4 -4
  369. package/node_modules/@fps-games/playable-scene/package.json +2 -2
  370. package/node_modules/@fps-games/plugin-api/package.json +1 -1
  371. package/node_modules/@fps-games/plugin-assets/dist/version.d.ts +1 -1
  372. package/node_modules/@fps-games/plugin-assets/dist/version.js +1 -1
  373. package/node_modules/@fps-games/plugin-assets/dist/version.js.map +1 -1
  374. package/node_modules/@fps-games/plugin-assets/package.json +6 -6
  375. package/node_modules/@fps-games/plugin-hierarchy/dist/kernel.d.ts +1 -0
  376. package/node_modules/@fps-games/plugin-hierarchy/dist/kernel.d.ts.map +1 -1
  377. package/node_modules/@fps-games/plugin-hierarchy/dist/kernel.js +78 -4
  378. package/node_modules/@fps-games/plugin-hierarchy/dist/kernel.js.map +1 -1
  379. package/node_modules/@fps-games/plugin-hierarchy/dist/version.d.ts +1 -1
  380. package/node_modules/@fps-games/plugin-hierarchy/dist/version.js +1 -1
  381. package/node_modules/@fps-games/plugin-hierarchy/dist/version.js.map +1 -1
  382. package/node_modules/@fps-games/plugin-hierarchy/package.json +5 -5
  383. package/node_modules/@fps-games/plugin-host/package.json +2 -2
  384. package/node_modules/@fps-games/plugin-markers/dist/version.d.ts +1 -1
  385. package/node_modules/@fps-games/plugin-markers/dist/version.js +1 -1
  386. package/node_modules/@fps-games/plugin-markers/dist/version.js.map +1 -1
  387. package/node_modules/@fps-games/plugin-markers/package.json +5 -5
  388. package/node_modules/@fps-games/plugin-materials/dist/version.d.ts +1 -1
  389. package/node_modules/@fps-games/plugin-materials/dist/version.js +1 -1
  390. package/node_modules/@fps-games/plugin-materials/dist/version.js.map +1 -1
  391. package/node_modules/@fps-games/plugin-materials/package.json +5 -5
  392. package/node_modules/@fps-games/plugin-rendering/dist/version.d.ts +1 -1
  393. package/node_modules/@fps-games/plugin-rendering/dist/version.js +1 -1
  394. package/node_modules/@fps-games/plugin-rendering/dist/version.js.map +1 -1
  395. package/node_modules/@fps-games/plugin-rendering/package.json +5 -5
  396. package/node_modules/@fps-games/plugin-scene/dist/version.d.ts +1 -1
  397. package/node_modules/@fps-games/plugin-scene/dist/version.js +1 -1
  398. package/node_modules/@fps-games/plugin-scene/dist/version.js.map +1 -1
  399. package/node_modules/@fps-games/plugin-scene/package.json +5 -5
  400. package/node_modules/@fps-games/plugin-shadow-map-experiment/dist/version.d.ts +1 -1
  401. package/node_modules/@fps-games/plugin-shadow-map-experiment/dist/version.js +1 -1
  402. package/node_modules/@fps-games/plugin-shadow-map-experiment/dist/version.js.map +1 -1
  403. package/node_modules/@fps-games/plugin-shadow-map-experiment/package.json +5 -5
  404. package/node_modules/@fps-games/plugin-shadows/dist/version.d.ts +1 -1
  405. package/node_modules/@fps-games/plugin-shadows/dist/version.js +1 -1
  406. package/node_modules/@fps-games/plugin-shadows/dist/version.js.map +1 -1
  407. package/node_modules/@fps-games/plugin-shadows/package.json +7 -7
  408. package/package.json +23 -23
  409. package/dist/agent-bridge/capabilities/assets.d.ts +0 -8
  410. package/dist/agent-bridge/capabilities/assets.d.ts.map +0 -1
  411. package/dist/agent-bridge/capabilities/assets.js.map +0 -1
  412. package/dist/agent-bridge/capabilities/editor-state.d.ts +0 -5
  413. package/dist/agent-bridge/capabilities/editor-state.d.ts.map +0 -1
  414. package/dist/agent-bridge/capabilities/editor-state.js.map +0 -1
  415. package/dist/agent-bridge/capabilities/hierarchy.d.ts +0 -4
  416. package/dist/agent-bridge/capabilities/hierarchy.d.ts.map +0 -1
  417. package/dist/agent-bridge/capabilities/hierarchy.js.map +0 -1
  418. package/dist/agent-bridge/capabilities/host-lifecycle.d.ts +0 -11
  419. package/dist/agent-bridge/capabilities/host-lifecycle.d.ts.map +0 -1
  420. package/dist/agent-bridge/capabilities/host-lifecycle.js +0 -149
  421. package/dist/agent-bridge/capabilities/host-lifecycle.js.map +0 -1
  422. package/dist/agent-bridge/capabilities/prefabs.d.ts +0 -5
  423. package/dist/agent-bridge/capabilities/prefabs.d.ts.map +0 -1
  424. package/dist/agent-bridge/capabilities/prefabs.js.map +0 -1
  425. package/dist/agent-bridge/capabilities/scene-objects.d.ts +0 -8
  426. package/dist/agent-bridge/capabilities/scene-objects.d.ts.map +0 -1
  427. package/dist/agent-bridge/capabilities/scene-objects.js +0 -480
  428. package/dist/agent-bridge/capabilities/scene-objects.js.map +0 -1
  429. package/dist/agent-bridge/capabilities/selection.d.ts +0 -5
  430. package/dist/agent-bridge/capabilities/selection.d.ts.map +0 -1
  431. package/dist/agent-bridge/capabilities/selection.js +0 -60
  432. package/dist/agent-bridge/capabilities/selection.js.map +0 -1
  433. package/dist/agent-bridge/capabilities/shadows.d.ts +0 -5
  434. package/dist/agent-bridge/capabilities/shadows.d.ts.map +0 -1
  435. package/dist/agent-bridge/capabilities/shadows.js.map +0 -1
  436. package/dist/agent-bridge/capabilities/transform.d.ts +0 -5
  437. package/dist/agent-bridge/capabilities/transform.d.ts.map +0 -1
  438. package/dist/agent-bridge/capabilities/transform.js +0 -164
  439. package/dist/agent-bridge/capabilities/transform.js.map +0 -1
  440. package/dist/agent-bridge/capabilities/ui-regions.d.ts +0 -4
  441. package/dist/agent-bridge/capabilities/ui-regions.d.ts.map +0 -1
  442. package/dist/agent-bridge/capabilities/ui-regions.js.map +0 -1
  443. package/dist/agent-bridge/capabilities/viewport.d.ts +0 -5
  444. package/dist/agent-bridge/capabilities/viewport.d.ts.map +0 -1
  445. package/dist/agent-bridge/capabilities/viewport.js.map +0 -1
  446. package/dist/agent-bridge/capability-sources.d.ts +0 -7
  447. package/dist/agent-bridge/capability-sources.d.ts.map +0 -1
  448. package/dist/agent-bridge/capability-sources.js +0 -34
  449. package/dist/agent-bridge/capability-sources.js.map +0 -1
  450. package/dist/agent-bridge/diagnostics.d.ts +0 -12
  451. package/dist/agent-bridge/diagnostics.d.ts.map +0 -1
  452. package/dist/agent-bridge/diagnostics.js.map +0 -1
  453. package/dist/agent-bridge/index.d.ts.map +0 -1
  454. package/dist/agent-bridge/index.js.map +0 -1
  455. package/dist/agent-bridge/register.d.ts +0 -4
  456. package/dist/agent-bridge/register.d.ts.map +0 -1
  457. package/dist/agent-bridge/register.js.map +0 -1
  458. package/dist/agent-bridge/shared.d.ts.map +0 -1
  459. package/dist/agent-bridge/shared.js.map +0 -1
  460. package/dist/agent-bridge/source-types.d.ts +0 -110
  461. package/dist/agent-bridge/source-types.d.ts.map +0 -1
  462. package/dist/agent-bridge/source-types.js.map +0 -1
  463. package/dist/editor-plugin-agent-capabilities.d.ts +0 -4
  464. package/dist/editor-plugin-agent-capabilities.d.ts.map +0 -1
  465. package/dist/editor-plugin-agent-capabilities.js +0 -64
  466. package/dist/editor-plugin-agent-capabilities.js.map +0 -1
  467. package/dist/local-editor-agent-actions.d.ts +0 -43
  468. package/dist/local-editor-agent-actions.d.ts.map +0 -1
  469. package/dist/local-editor-agent-actions.js +0 -321
  470. package/dist/local-editor-agent-actions.js.map +0 -1
  471. package/dist/local-editor-agent-bridge-transport.d.ts +0 -129
  472. package/dist/local-editor-agent-bridge-transport.d.ts.map +0 -1
  473. package/dist/local-editor-agent-bridge-transport.js +0 -403
  474. package/dist/local-editor-agent-bridge-transport.js.map +0 -1
  475. package/dist/local-editor-agent-bridge.d.ts +0 -2
  476. package/dist/local-editor-agent-bridge.d.ts.map +0 -1
  477. package/dist/local-editor-agent-bridge.js +0 -2
  478. package/dist/local-editor-agent-bridge.js.map +0 -1
  479. package/dist/local-editor-agent-context.d.ts +0 -68
  480. package/dist/local-editor-agent-context.d.ts.map +0 -1
  481. package/dist/local-editor-agent-context.js +0 -716
  482. package/dist/local-editor-agent-context.js.map +0 -1
  483. package/node_modules/@fps-games/editor-core/dist/agent-bridge.d.ts +0 -22
  484. package/node_modules/@fps-games/editor-core/dist/agent-bridge.d.ts.map +0 -1
  485. package/node_modules/@fps-games/editor-core/dist/agent-bridge.js +0 -106
  486. package/node_modules/@fps-games/editor-core/dist/agent-bridge.js.map +0 -1
  487. package/node_modules/@fps-games/editor-core/dist/agent-interaction.d.ts +0 -17
  488. package/node_modules/@fps-games/editor-core/dist/agent-interaction.d.ts.map +0 -1
  489. package/node_modules/@fps-games/editor-core/dist/agent-interaction.js +0 -14
  490. package/node_modules/@fps-games/editor-core/dist/agent-interaction.js.map +0 -1
  491. package/node_modules/@fps-games/editor-forge-play/dist/agent-transport.d.ts +0 -23
  492. package/node_modules/@fps-games/editor-forge-play/dist/agent-transport.d.ts.map +0 -1
  493. package/node_modules/@fps-games/editor-forge-play/dist/agent-transport.js +0 -47
  494. package/node_modules/@fps-games/editor-forge-play/dist/agent-transport.js.map +0 -1
  495. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/agent-descriptions.d.ts +0 -112
  496. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/agent-descriptions.d.ts.map +0 -1
  497. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/agent-descriptions.js +0 -159
  498. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/agent-descriptions.js.map +0 -1
  499. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/session-metadata.d.ts +0 -15
  500. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/session-metadata.d.ts.map +0 -1
  501. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/session-metadata.js +0 -76
  502. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/session-metadata.js.map +0 -1
  503. package/node_modules/@fps-games/editor-protocol/dist/agent-bridge.d.ts +0 -1622
  504. package/node_modules/@fps-games/editor-protocol/dist/agent-bridge.d.ts.map +0 -1
  505. package/node_modules/@fps-games/editor-protocol/dist/agent-bridge.js.map +0 -1
  506. package/node_modules/@fps-games/editor-protocol/dist/agent-trace.d.ts +0 -68
  507. package/node_modules/@fps-games/editor-protocol/dist/agent-trace.d.ts.map +0 -1
  508. package/node_modules/@fps-games/editor-protocol/dist/agent-trace.js +0 -23
  509. package/node_modules/@fps-games/editor-protocol/dist/agent-trace.js.map +0 -1
  510. package/node_modules/@fps-games/editor-protocol/dist/agent.d.ts +0 -187
  511. package/node_modules/@fps-games/editor-protocol/dist/agent.d.ts.map +0 -1
  512. package/node_modules/@fps-games/editor-protocol/dist/agent.js +0 -5
  513. package/node_modules/@fps-games/editor-protocol/dist/agent.js.map +0 -1
  514. /package/dist/{agent-bridge → editor-commands}/source-types.js +0 -0
@@ -1,1128 +1,1165 @@
1
- import { EDITOR_AGENT_BRIDGE_CAPABILITY_ID, EDITOR_AGENT_BRIDGE_CAPABILITY_SCHEMAS, EDITOR_AGENT_BRIDGE_SCHEMA_VERSION, } from '@fps-games/editor-protocol';
2
- import { createLocalEditorAgentBridgeFailure } from './diagnostics.js';
1
+ import { EDITOR_COMMAND_ID, EDITOR_COMMAND_BUILT_IN_TARGETS, EDITOR_COMMAND_SCHEMAS, EDITOR_COMMAND_CONTRACT_SCHEMA_VERSION, } from '@fps-games/editor-protocol';
2
+ import { registerEditorAuthoringHostCommandCapability } from '@fps-games/editor-core';
3
+ import { createLocalEditorCommandFailure } from './diagnostics.js';
3
4
  // Static baked shadow authoring is intentionally hidden until the workflow is redesigned.
4
5
  const EDITOR_SHADOW_STATIC_AUTHORING_ENABLED = false;
5
- export function registerLocalEditorAgentBridgeCapabilities(bridge, sources) {
6
- const registerCapability = (registration) => bridge.registerCapability({
7
- ...registration,
8
- handler: async (input, context) => {
9
- if (registration.manifest.access === 'write' && sources.host.isBusy()) {
10
- return createLocalEditorAgentBridgeFailure(registration.manifest.id, 'Host is busy and cannot accept editor mutations.', { code: 'host.busy' });
11
- }
12
- return registration.handler(input, context);
13
- },
14
- });
6
+ const LOCAL_EDITOR_COMPOSED_AUTHORING_WRITE_IDS = new Set([
7
+ EDITOR_COMMAND_ID.HIERARCHY_OPERATION_EXECUTE,
8
+ EDITOR_COMMAND_ID.PREFAB_STAGE_OPEN,
9
+ EDITOR_COMMAND_ID.PREFAB_STAGE_EXIT,
10
+ EDITOR_COMMAND_ID.PREFAB_STAGE_SAVE,
11
+ EDITOR_COMMAND_ID.PREFAB_STAGE_DISCARD,
12
+ EDITOR_COMMAND_ID.PREFAB_ASSET_RENAME,
13
+ EDITOR_COMMAND_ID.PREFAB_NODE_CREATE_FROM_ASSET,
14
+ EDITOR_COMMAND_ID.PREFAB_NODE_CREATE_GROUP,
15
+ EDITOR_COMMAND_ID.PREFAB_NODE_CREATE_MARKER,
16
+ EDITOR_COMMAND_ID.PREFAB_NODE_CREATE_PRIMITIVE,
17
+ EDITOR_COMMAND_ID.PREFAB_NODE_SET_TRANSFORM,
18
+ EDITOR_COMMAND_ID.PREFAB_NODE_SET_MARKER,
19
+ EDITOR_COMMAND_ID.PREFAB_NODE_REPARENT,
20
+ EDITOR_COMMAND_ID.PREFAB_NODE_RENAME,
21
+ EDITOR_COMMAND_ID.PREFAB_NODE_DELETE,
22
+ EDITOR_COMMAND_ID.OBJECT_CREATE_PRIMITIVE,
23
+ EDITOR_COMMAND_ID.OBJECT_CREATE_FROM_ASSET,
24
+ EDITOR_COMMAND_ID.OBJECT_DELETE,
25
+ EDITOR_COMMAND_ID.SHADOW_POLICY_SET,
26
+ EDITOR_COMMAND_ID.SHADOW_MAP_EXPERIMENT_POLICY_SET,
27
+ EDITOR_COMMAND_ID.TRANSFORM_MOVE,
28
+ EDITOR_COMMAND_ID.TRANSFORM_SET,
29
+ ]);
30
+ export function registerLocalEditorCommandCapabilities(adapter, sources, authoringHost) {
31
+ const registerCapability = (registration) => (authoringHost
32
+ && (LOCAL_EDITOR_COMPOSED_AUTHORING_WRITE_IDS.has(registration.manifest.id)
33
+ || EDITOR_COMMAND_BUILT_IN_TARGETS[registration.manifest.id] === 'authoring')
34
+ ? registerEditorAuthoringHostCommandCapability(authoringHost, {
35
+ ...registration,
36
+ handler: async (input, context) => {
37
+ if (registration.manifest.access === 'write' && sources.host.isBusy()) {
38
+ return createLocalEditorCommandFailure(registration.manifest.id, 'Host is busy and cannot accept editor mutations.', { code: 'host.busy' });
39
+ }
40
+ return registration.handler(input, context);
41
+ },
42
+ })
43
+ : adapter.registerCapability({
44
+ ...registration,
45
+ handler: async (input, context) => {
46
+ if (registration.manifest.access === 'write' && sources.host.isBusy()) {
47
+ return createLocalEditorCommandFailure(registration.manifest.id, 'Host is busy and cannot accept editor mutations.', { code: 'host.busy' });
48
+ }
49
+ return registration.handler(input, context);
50
+ },
51
+ }));
15
52
  const unregister = [
16
53
  registerCapability({
17
54
  manifest: {
18
- schemaVersion: EDITOR_AGENT_BRIDGE_SCHEMA_VERSION,
19
- id: EDITOR_AGENT_BRIDGE_CAPABILITY_ID.HIERARCHY_SCOPE_GET,
55
+ schemaVersion: EDITOR_COMMAND_CONTRACT_SCHEMA_VERSION,
56
+ id: EDITOR_COMMAND_ID.HIERARCHY_SCOPE_GET,
20
57
  title: 'Get active Hierarchy scope',
21
58
  description: 'Read the active scoped Hierarchy snapshot, with backward-compatible full-tree output or revision-bound subtree, search, and cursor pagination queries.',
22
59
  layer: 'editor', category: 'hierarchy', stability: 'experimental', access: 'read',
23
- ...EDITOR_AGENT_BRIDGE_CAPABILITY_SCHEMAS[EDITOR_AGENT_BRIDGE_CAPABILITY_ID.HIERARCHY_SCOPE_GET],
60
+ ...EDITOR_COMMAND_SCHEMAS[EDITOR_COMMAND_ID.HIERARCHY_SCOPE_GET],
24
61
  },
25
- handler: input => {
26
- const normalized = normalizeObjectInput(EDITOR_AGENT_BRIDGE_CAPABILITY_ID.HIERARCHY_SCOPE_GET, input);
62
+ handler: (input, context) => {
63
+ const normalized = normalizeObjectInput(EDITOR_COMMAND_ID.HIERARCHY_SCOPE_GET, input);
27
64
  return normalized.ok ? sources.hierarchy.getScope(normalized.input) : normalized.result;
28
65
  },
29
66
  }),
30
67
  registerCapability({
31
68
  manifest: {
32
- schemaVersion: EDITOR_AGENT_BRIDGE_SCHEMA_VERSION,
33
- id: EDITOR_AGENT_BRIDGE_CAPABILITY_ID.HIERARCHY_OPERATIONS_LIST,
69
+ schemaVersion: EDITOR_COMMAND_CONTRACT_SCHEMA_VERSION,
70
+ id: EDITOR_COMMAND_ID.HIERARCHY_OPERATIONS_LIST,
34
71
  title: 'List Hierarchy operations',
35
72
  description: 'Discover the same scope-aware Hierarchy operations used by menus and keyboard commands.',
36
73
  layer: 'editor', category: 'hierarchy', stability: 'experimental', access: 'read',
37
- ...EDITOR_AGENT_BRIDGE_CAPABILITY_SCHEMAS[EDITOR_AGENT_BRIDGE_CAPABILITY_ID.HIERARCHY_OPERATIONS_LIST],
74
+ ...EDITOR_COMMAND_SCHEMAS[EDITOR_COMMAND_ID.HIERARCHY_OPERATIONS_LIST],
38
75
  },
39
- handler: input => {
40
- const normalized = normalizeObjectInput(EDITOR_AGENT_BRIDGE_CAPABILITY_ID.HIERARCHY_OPERATIONS_LIST, input);
76
+ handler: (input, context) => {
77
+ const normalized = normalizeObjectInput(EDITOR_COMMAND_ID.HIERARCHY_OPERATIONS_LIST, input);
41
78
  return normalized.ok ? sources.hierarchy.listOperations(normalized.input) : normalized.result;
42
79
  },
43
80
  }),
44
81
  registerCapability({
45
82
  manifest: {
46
- schemaVersion: EDITOR_AGENT_BRIDGE_SCHEMA_VERSION,
47
- id: EDITOR_AGENT_BRIDGE_CAPABILITY_ID.HIERARCHY_OPERATION_EXECUTE,
83
+ schemaVersion: EDITOR_COMMAND_CONTRACT_SCHEMA_VERSION,
84
+ id: EDITOR_COMMAND_ID.HIERARCHY_OPERATION_EXECUTE,
48
85
  title: 'Execute Hierarchy operation',
49
86
  description: 'Execute a discovered Hierarchy operation against an exact scope revision using the same provider transaction as the editor UI.',
50
87
  layer: 'editor', category: 'hierarchy', stability: 'experimental', access: 'write',
51
- ...EDITOR_AGENT_BRIDGE_CAPABILITY_SCHEMAS[EDITOR_AGENT_BRIDGE_CAPABILITY_ID.HIERARCHY_OPERATION_EXECUTE],
88
+ ...EDITOR_COMMAND_SCHEMAS[EDITOR_COMMAND_ID.HIERARCHY_OPERATION_EXECUTE],
52
89
  },
53
- handler: input => {
54
- const normalized = normalizeObjectInput(EDITOR_AGENT_BRIDGE_CAPABILITY_ID.HIERARCHY_OPERATION_EXECUTE, input);
55
- return normalized.ok ? sources.hierarchy.executeOperation(normalized.input) : normalized.result;
90
+ handler: (input, context) => {
91
+ const normalized = normalizeObjectInput(EDITOR_COMMAND_ID.HIERARCHY_OPERATION_EXECUTE, input);
92
+ return normalized.ok ? sources.hierarchy.executeOperation(normalized.input, context) : normalized.result;
56
93
  },
57
94
  }),
58
95
  registerCapability({
59
96
  manifest: {
60
- schemaVersion: EDITOR_AGENT_BRIDGE_SCHEMA_VERSION,
61
- id: EDITOR_AGENT_BRIDGE_CAPABILITY_ID.ASSET_LIBRARY_LIST,
97
+ schemaVersion: EDITOR_COMMAND_CONTRACT_SCHEMA_VERSION,
98
+ id: EDITOR_COMMAND_ID.ASSET_LIBRARY_LIST,
62
99
  title: 'List asset library',
63
100
  description: 'List standard project assets after editorReady=true. Use this before placing assets; returned assetId values are stable inputs for asset.info.get, asset.analysis.get, and object.createFromAsset.',
64
101
  layer: 'editor',
65
102
  category: 'asset',
66
103
  stability: 'experimental',
67
104
  access: 'read',
68
- ...EDITOR_AGENT_BRIDGE_CAPABILITY_SCHEMAS[EDITOR_AGENT_BRIDGE_CAPABILITY_ID.ASSET_LIBRARY_LIST],
105
+ ...EDITOR_COMMAND_SCHEMAS[EDITOR_COMMAND_ID.ASSET_LIBRARY_LIST],
69
106
  },
70
107
  handler: input => {
71
- const normalized = normalizeObjectInput(EDITOR_AGENT_BRIDGE_CAPABILITY_ID.ASSET_LIBRARY_LIST, input);
108
+ const normalized = normalizeObjectInput(EDITOR_COMMAND_ID.ASSET_LIBRARY_LIST, input);
72
109
  return normalized.ok ? sources.assets.listAssets(normalized.input) : normalized.result;
73
110
  },
74
111
  }),
75
112
  registerCapability({
76
113
  manifest: {
77
- schemaVersion: EDITOR_AGENT_BRIDGE_SCHEMA_VERSION,
78
- id: EDITOR_AGENT_BRIDGE_CAPABILITY_ID.ASSET_INFO_GET,
114
+ schemaVersion: EDITOR_COMMAND_CONTRACT_SCHEMA_VERSION,
115
+ id: EDITOR_COMMAND_ID.ASSET_INFO_GET,
79
116
  title: 'Get asset info',
80
117
  description: 'Read complete serializable metadata for one standard project asset by assetId. It does not read original file bytes and should be used before placement when catalog metadata matters.',
81
118
  layer: 'editor',
82
119
  category: 'asset',
83
120
  stability: 'experimental',
84
121
  access: 'read',
85
- ...EDITOR_AGENT_BRIDGE_CAPABILITY_SCHEMAS[EDITOR_AGENT_BRIDGE_CAPABILITY_ID.ASSET_INFO_GET],
122
+ ...EDITOR_COMMAND_SCHEMAS[EDITOR_COMMAND_ID.ASSET_INFO_GET],
86
123
  },
87
124
  handler: input => {
88
- const normalized = normalizeObjectInput(EDITOR_AGENT_BRIDGE_CAPABILITY_ID.ASSET_INFO_GET, input);
125
+ const normalized = normalizeObjectInput(EDITOR_COMMAND_ID.ASSET_INFO_GET, input);
89
126
  return normalized.ok ? sources.assets.getAssetInfo(normalized.input) : normalized.result;
90
127
  },
91
128
  }),
92
129
  registerCapability({
93
130
  manifest: {
94
- schemaVersion: EDITOR_AGENT_BRIDGE_SCHEMA_VERSION,
95
- id: EDITOR_AGENT_BRIDGE_CAPABILITY_ID.ASSET_ANALYSIS_GET,
131
+ schemaVersion: EDITOR_COMMAND_CONTRACT_SCHEMA_VERSION,
132
+ id: EDITOR_COMMAND_ID.ASSET_ANALYSIS_GET,
96
133
  title: 'Get asset analysis',
97
134
  description: 'Read SDK-generated raw asset structure analysis from asset metadata. Use for GLB/GLTF mesh/material complexity and PNG/JPEG/WebP image dimensions before creating or inspecting assets.',
98
135
  layer: 'editor',
99
136
  category: 'asset',
100
137
  stability: 'experimental',
101
138
  access: 'read',
102
- ...EDITOR_AGENT_BRIDGE_CAPABILITY_SCHEMAS[EDITOR_AGENT_BRIDGE_CAPABILITY_ID.ASSET_ANALYSIS_GET],
139
+ ...EDITOR_COMMAND_SCHEMAS[EDITOR_COMMAND_ID.ASSET_ANALYSIS_GET],
103
140
  },
104
141
  handler: input => {
105
- const normalized = normalizeObjectInput(EDITOR_AGENT_BRIDGE_CAPABILITY_ID.ASSET_ANALYSIS_GET, input);
142
+ const normalized = normalizeObjectInput(EDITOR_COMMAND_ID.ASSET_ANALYSIS_GET, input);
106
143
  return normalized.ok ? sources.assets.getAssetAnalysis(normalized.input) : normalized.result;
107
144
  },
108
145
  }),
109
146
  registerCapability({
110
147
  manifest: {
111
- schemaVersion: EDITOR_AGENT_BRIDGE_SCHEMA_VERSION,
112
- id: EDITOR_AGENT_BRIDGE_CAPABILITY_ID.PREFAB_RESOLVE,
148
+ schemaVersion: EDITOR_COMMAND_CONTRACT_SCHEMA_VERSION,
149
+ id: EDITOR_COMMAND_ID.PREFAB_RESOLVE,
113
150
  title: 'Resolve prefab asset',
114
151
  description: 'Resolve prefab assets by assetId, browserAssetId, exact name, or fuzzy query after editorReady=true. Use asset.library.list(kind=prefab) or this capability before prefab.stage.open.',
115
152
  layer: 'editor',
116
153
  category: 'prefab',
117
154
  stability: 'experimental',
118
155
  access: 'read',
119
- ...EDITOR_AGENT_BRIDGE_CAPABILITY_SCHEMAS[EDITOR_AGENT_BRIDGE_CAPABILITY_ID.PREFAB_RESOLVE],
156
+ ...EDITOR_COMMAND_SCHEMAS[EDITOR_COMMAND_ID.PREFAB_RESOLVE],
120
157
  },
121
158
  handler: input => {
122
- const normalized = normalizeObjectInput(EDITOR_AGENT_BRIDGE_CAPABILITY_ID.PREFAB_RESOLVE, input);
159
+ const normalized = normalizeObjectInput(EDITOR_COMMAND_ID.PREFAB_RESOLVE, input);
123
160
  return normalized.ok ? sources.prefabs.resolvePrefab(normalized.input) : normalized.result;
124
161
  },
125
162
  }),
126
163
  registerCapability({
127
164
  manifest: {
128
- schemaVersion: EDITOR_AGENT_BRIDGE_SCHEMA_VERSION,
129
- id: EDITOR_AGENT_BRIDGE_CAPABILITY_ID.PREFAB_STAGE_OPEN,
165
+ schemaVersion: EDITOR_COMMAND_CONTRACT_SCHEMA_VERSION,
166
+ id: EDITOR_COMMAND_ID.PREFAB_STAGE_OPEN,
130
167
  title: 'Open prefab stage',
131
168
  description: 'Enter the prefab preview/edit stage for a prefab asset after editorReady=true. Prefer this over double-clicking the Asset Library; it is idempotent when the requested prefab is already open.',
132
169
  layer: 'editor',
133
170
  category: 'prefab',
134
171
  stability: 'experimental',
135
172
  access: 'write',
136
- ...EDITOR_AGENT_BRIDGE_CAPABILITY_SCHEMAS[EDITOR_AGENT_BRIDGE_CAPABILITY_ID.PREFAB_STAGE_OPEN],
173
+ ...EDITOR_COMMAND_SCHEMAS[EDITOR_COMMAND_ID.PREFAB_STAGE_OPEN],
137
174
  },
138
- handler: input => {
139
- const normalized = normalizeObjectInput(EDITOR_AGENT_BRIDGE_CAPABILITY_ID.PREFAB_STAGE_OPEN, input);
140
- return normalized.ok ? sources.prefabs.openStage(normalized.input) : normalized.result;
175
+ handler: (input, context) => {
176
+ const normalized = normalizeObjectInput(EDITOR_COMMAND_ID.PREFAB_STAGE_OPEN, input);
177
+ return normalized.ok ? sources.prefabs.openStage(normalized.input, context) : normalized.result;
141
178
  },
142
179
  }),
143
180
  registerCapability({
144
181
  manifest: {
145
- schemaVersion: EDITOR_AGENT_BRIDGE_SCHEMA_VERSION,
146
- id: EDITOR_AGENT_BRIDGE_CAPABILITY_ID.PREFAB_STAGE_EXIT,
182
+ schemaVersion: EDITOR_COMMAND_CONTRACT_SCHEMA_VERSION,
183
+ id: EDITOR_COMMAND_ID.PREFAB_STAGE_EXIT,
147
184
  title: 'Exit prefab stage',
148
185
  description: 'Exit the current prefab preview/edit stage and return to the scene editor. This is idempotent and returns exited=false when no prefab stage is open.',
149
186
  layer: 'editor',
150
187
  category: 'prefab',
151
188
  stability: 'experimental',
152
189
  access: 'write',
153
- ...EDITOR_AGENT_BRIDGE_CAPABILITY_SCHEMAS[EDITOR_AGENT_BRIDGE_CAPABILITY_ID.PREFAB_STAGE_EXIT],
190
+ ...EDITOR_COMMAND_SCHEMAS[EDITOR_COMMAND_ID.PREFAB_STAGE_EXIT],
154
191
  },
155
- handler: input => {
156
- const normalized = normalizeObjectInput(EDITOR_AGENT_BRIDGE_CAPABILITY_ID.PREFAB_STAGE_EXIT, input);
157
- return normalized.ok ? sources.prefabs.exitStage(normalized.input) : normalized.result;
192
+ handler: (input, context) => {
193
+ const normalized = normalizeObjectInput(EDITOR_COMMAND_ID.PREFAB_STAGE_EXIT, input);
194
+ return normalized.ok ? sources.prefabs.exitStage(normalized.input, context) : normalized.result;
158
195
  },
159
196
  }),
160
197
  registerCapability({
161
198
  manifest: {
162
- schemaVersion: EDITOR_AGENT_BRIDGE_SCHEMA_VERSION,
163
- id: EDITOR_AGENT_BRIDGE_CAPABILITY_ID.PREFAB_STAGE_SAVE,
199
+ schemaVersion: EDITOR_COMMAND_CONTRACT_SCHEMA_VERSION,
200
+ id: EDITOR_COMMAND_ID.PREFAB_STAGE_SAVE,
164
201
  title: 'Save prefab stage',
165
202
  description: 'Persist the complete authoring document from the active Prefab draft and keep the Prefab stage open.',
166
203
  layer: 'editor',
167
204
  category: 'prefab',
168
205
  stability: 'experimental',
169
206
  access: 'write',
170
- ...EDITOR_AGENT_BRIDGE_CAPABILITY_SCHEMAS[EDITOR_AGENT_BRIDGE_CAPABILITY_ID.PREFAB_STAGE_SAVE],
207
+ ...EDITOR_COMMAND_SCHEMAS[EDITOR_COMMAND_ID.PREFAB_STAGE_SAVE],
171
208
  },
172
- handler: input => {
173
- const normalized = normalizeObjectInput(EDITOR_AGENT_BRIDGE_CAPABILITY_ID.PREFAB_STAGE_SAVE, input);
174
- return normalized.ok ? sources.prefabs.saveStage(normalized.input) : normalized.result;
209
+ handler: (input, context) => {
210
+ const normalized = normalizeObjectInput(EDITOR_COMMAND_ID.PREFAB_STAGE_SAVE, input);
211
+ return normalized.ok ? sources.prefabs.saveStage(normalized.input, context) : normalized.result;
175
212
  },
176
213
  }),
177
214
  registerCapability({
178
215
  manifest: {
179
- schemaVersion: EDITOR_AGENT_BRIDGE_SCHEMA_VERSION,
180
- id: EDITOR_AGENT_BRIDGE_CAPABILITY_ID.PREFAB_STAGE_DISCARD,
216
+ schemaVersion: EDITOR_COMMAND_CONTRACT_SCHEMA_VERSION,
217
+ id: EDITOR_COMMAND_ID.PREFAB_STAGE_DISCARD,
181
218
  title: 'Discard prefab stage changes',
182
219
  description: 'Reset the active Prefab draft to its entry or last-save checkpoint and keep the Prefab stage open.',
183
220
  layer: 'editor',
184
221
  category: 'prefab',
185
222
  stability: 'experimental',
186
223
  access: 'write',
187
- ...EDITOR_AGENT_BRIDGE_CAPABILITY_SCHEMAS[EDITOR_AGENT_BRIDGE_CAPABILITY_ID.PREFAB_STAGE_DISCARD],
224
+ ...EDITOR_COMMAND_SCHEMAS[EDITOR_COMMAND_ID.PREFAB_STAGE_DISCARD],
188
225
  },
189
- handler: input => {
190
- const normalized = normalizeObjectInput(EDITOR_AGENT_BRIDGE_CAPABILITY_ID.PREFAB_STAGE_DISCARD, input);
191
- return normalized.ok ? sources.prefabs.discardStage(normalized.input) : normalized.result;
226
+ handler: (input, context) => {
227
+ const normalized = normalizeObjectInput(EDITOR_COMMAND_ID.PREFAB_STAGE_DISCARD, input);
228
+ return normalized.ok ? sources.prefabs.discardStage(normalized.input, context) : normalized.result;
192
229
  },
193
230
  }),
194
231
  registerCapability({
195
232
  manifest: {
196
- schemaVersion: EDITOR_AGENT_BRIDGE_SCHEMA_VERSION,
197
- id: EDITOR_AGENT_BRIDGE_CAPABILITY_ID.PREFAB_ASSET_RENAME,
233
+ schemaVersion: EDITOR_COMMAND_CONTRACT_SCHEMA_VERSION,
234
+ id: EDITOR_COMMAND_ID.PREFAB_ASSET_RENAME,
198
235
  title: 'Rename prefab asset',
199
236
  description: 'Rename a prefab asset displayName through the editor asset action patch pipeline. In an open Prefab stage, assetId may be omitted to rename the current prefab; this does not rename existing scene prefab instances or readonly GLB source nodes.',
200
237
  layer: 'editor',
201
238
  category: 'prefab',
202
239
  stability: 'experimental',
203
240
  access: 'write',
204
- ...EDITOR_AGENT_BRIDGE_CAPABILITY_SCHEMAS[EDITOR_AGENT_BRIDGE_CAPABILITY_ID.PREFAB_ASSET_RENAME],
241
+ ...EDITOR_COMMAND_SCHEMAS[EDITOR_COMMAND_ID.PREFAB_ASSET_RENAME],
205
242
  },
206
243
  handler: input => {
207
- const normalized = normalizeObjectInput(EDITOR_AGENT_BRIDGE_CAPABILITY_ID.PREFAB_ASSET_RENAME, input);
244
+ const normalized = normalizeObjectInput(EDITOR_COMMAND_ID.PREFAB_ASSET_RENAME, input);
208
245
  return normalized.ok ? sources.prefabs.renameAsset(normalized.input) : normalized.result;
209
246
  },
210
247
  }),
211
248
  registerCapability({
212
249
  manifest: {
213
- schemaVersion: EDITOR_AGENT_BRIDGE_SCHEMA_VERSION,
214
- id: EDITOR_AGENT_BRIDGE_CAPABILITY_ID.PREFAB_SCENE_GET,
250
+ schemaVersion: EDITOR_COMMAND_CONTRACT_SCHEMA_VERSION,
251
+ id: EDITOR_COMMAND_ID.PREFAB_SCENE_GET,
215
252
  title: 'Get prefab composition scene',
216
253
  description: 'Read the editable Prefab Scene Tree for the currently open Prefab stage. Use after prefab.stage.open before prefab.node.* writes; this does not expose raw GLB source nodes as editable prefab nodes.',
217
254
  layer: 'editor',
218
255
  category: 'prefab',
219
256
  stability: 'experimental',
220
257
  access: 'read',
221
- ...EDITOR_AGENT_BRIDGE_CAPABILITY_SCHEMAS[EDITOR_AGENT_BRIDGE_CAPABILITY_ID.PREFAB_SCENE_GET],
258
+ ...EDITOR_COMMAND_SCHEMAS[EDITOR_COMMAND_ID.PREFAB_SCENE_GET],
222
259
  },
223
260
  handler: input => {
224
- const normalized = normalizeObjectInput(EDITOR_AGENT_BRIDGE_CAPABILITY_ID.PREFAB_SCENE_GET, input);
261
+ const normalized = normalizeObjectInput(EDITOR_COMMAND_ID.PREFAB_SCENE_GET, input);
225
262
  return normalized.ok ? sources.prefabs.getScene(normalized.input) : normalized.result;
226
263
  },
227
264
  }),
228
265
  registerCapability({
229
266
  manifest: {
230
- schemaVersion: EDITOR_AGENT_BRIDGE_SCHEMA_VERSION,
231
- id: EDITOR_AGENT_BRIDGE_CAPABILITY_ID.PREFAB_NODE_SELECT,
267
+ schemaVersion: EDITOR_COMMAND_CONTRACT_SCHEMA_VERSION,
268
+ id: EDITOR_COMMAND_ID.PREFAB_NODE_SELECT,
232
269
  title: 'Select prefab node',
233
270
  description: 'Select an editable node inside the current Prefab stage. Use node ids from prefab.scene.get; this changes Prefab stage selection, not main scene selection.',
234
271
  layer: 'editor',
235
272
  category: 'prefab',
236
273
  stability: 'experimental',
237
274
  access: 'write',
238
- ...EDITOR_AGENT_BRIDGE_CAPABILITY_SCHEMAS[EDITOR_AGENT_BRIDGE_CAPABILITY_ID.PREFAB_NODE_SELECT],
275
+ ...EDITOR_COMMAND_SCHEMAS[EDITOR_COMMAND_ID.PREFAB_NODE_SELECT],
239
276
  },
240
277
  handler: input => {
241
- const normalized = normalizeObjectInput(EDITOR_AGENT_BRIDGE_CAPABILITY_ID.PREFAB_NODE_SELECT, input);
278
+ const normalized = normalizeObjectInput(EDITOR_COMMAND_ID.PREFAB_NODE_SELECT, input);
242
279
  return normalized.ok ? sources.prefabs.selectNode(normalized.input) : normalized.result;
243
280
  },
244
281
  }),
245
282
  registerCapability({
246
283
  manifest: {
247
- schemaVersion: EDITOR_AGENT_BRIDGE_SCHEMA_VERSION,
248
- id: EDITOR_AGENT_BRIDGE_CAPABILITY_ID.PREFAB_NODE_CREATE_FROM_ASSET,
284
+ schemaVersion: EDITOR_COMMAND_CONTRACT_SCHEMA_VERSION,
285
+ id: EDITOR_COMMAND_ID.PREFAB_NODE_CREATE_FROM_ASSET,
249
286
  title: 'Create prefab node from asset',
250
287
  description: 'Add a model or child prefab asset into the currently open Prefab stage through the editor asset action patch pipeline. Use asset.library.list first; this writes the prefab document, not the main scene.',
251
288
  layer: 'editor',
252
289
  category: 'prefab',
253
290
  stability: 'experimental',
254
291
  access: 'write',
255
- ...EDITOR_AGENT_BRIDGE_CAPABILITY_SCHEMAS[EDITOR_AGENT_BRIDGE_CAPABILITY_ID.PREFAB_NODE_CREATE_FROM_ASSET],
292
+ ...EDITOR_COMMAND_SCHEMAS[EDITOR_COMMAND_ID.PREFAB_NODE_CREATE_FROM_ASSET],
256
293
  },
257
294
  handler: input => {
258
- const normalized = normalizeObjectInput(EDITOR_AGENT_BRIDGE_CAPABILITY_ID.PREFAB_NODE_CREATE_FROM_ASSET, input);
295
+ const normalized = normalizeObjectInput(EDITOR_COMMAND_ID.PREFAB_NODE_CREATE_FROM_ASSET, input);
259
296
  return normalized.ok ? sources.prefabs.createNodeFromAsset(normalized.input) : normalized.result;
260
297
  },
261
298
  }),
262
299
  registerCapability({
263
300
  manifest: {
264
- schemaVersion: EDITOR_AGENT_BRIDGE_SCHEMA_VERSION,
265
- id: EDITOR_AGENT_BRIDGE_CAPABILITY_ID.PREFAB_NODE_CREATE_GROUP,
301
+ schemaVersion: EDITOR_COMMAND_CONTRACT_SCHEMA_VERSION,
302
+ id: EDITOR_COMMAND_ID.PREFAB_NODE_CREATE_GROUP,
266
303
  title: 'Create prefab group node',
267
304
  description: 'Add an empty group node to the currently open Prefab stage through the editor prefab node mutation path. Use it as a composition container before adding or reparenting model, primitive, or child prefab nodes.',
268
305
  layer: 'editor',
269
306
  category: 'prefab',
270
307
  stability: 'experimental',
271
308
  access: 'write',
272
- ...EDITOR_AGENT_BRIDGE_CAPABILITY_SCHEMAS[EDITOR_AGENT_BRIDGE_CAPABILITY_ID.PREFAB_NODE_CREATE_GROUP],
309
+ ...EDITOR_COMMAND_SCHEMAS[EDITOR_COMMAND_ID.PREFAB_NODE_CREATE_GROUP],
273
310
  },
274
311
  handler: input => {
275
- const normalized = normalizeObjectInput(EDITOR_AGENT_BRIDGE_CAPABILITY_ID.PREFAB_NODE_CREATE_GROUP, input);
312
+ const normalized = normalizeObjectInput(EDITOR_COMMAND_ID.PREFAB_NODE_CREATE_GROUP, input);
276
313
  return normalized.ok ? sources.prefabs.createGroupNode(normalized.input) : normalized.result;
277
314
  },
278
315
  }),
279
316
  registerCapability({
280
317
  manifest: {
281
- schemaVersion: EDITOR_AGENT_BRIDGE_SCHEMA_VERSION,
282
- id: EDITOR_AGENT_BRIDGE_CAPABILITY_ID.PREFAB_NODE_CREATE_MARKER,
318
+ schemaVersion: EDITOR_COMMAND_CONTRACT_SCHEMA_VERSION,
319
+ id: EDITOR_COMMAND_ID.PREFAB_NODE_CREATE_MARKER,
283
320
  title: 'Create prefab Marker node',
284
321
  description: 'Add a transform-capable Marker node to the open Prefab stage. Type must come from the project Marker catalog and target may only reference the current Prefab composition.',
285
322
  layer: 'editor',
286
323
  category: 'prefab',
287
324
  stability: 'experimental',
288
325
  access: 'write',
289
- ...EDITOR_AGENT_BRIDGE_CAPABILITY_SCHEMAS[EDITOR_AGENT_BRIDGE_CAPABILITY_ID.PREFAB_NODE_CREATE_MARKER],
326
+ ...EDITOR_COMMAND_SCHEMAS[EDITOR_COMMAND_ID.PREFAB_NODE_CREATE_MARKER],
290
327
  },
291
328
  handler: input => {
292
- const normalized = normalizeObjectInput(EDITOR_AGENT_BRIDGE_CAPABILITY_ID.PREFAB_NODE_CREATE_MARKER, input);
329
+ const normalized = normalizeObjectInput(EDITOR_COMMAND_ID.PREFAB_NODE_CREATE_MARKER, input);
293
330
  return normalized.ok ? sources.prefabs.createMarkerNode(normalized.input) : normalized.result;
294
331
  },
295
332
  }),
296
333
  registerCapability({
297
334
  manifest: {
298
- schemaVersion: EDITOR_AGENT_BRIDGE_SCHEMA_VERSION,
299
- id: EDITOR_AGENT_BRIDGE_CAPABILITY_ID.PREFAB_NODE_CREATE_PRIMITIVE,
335
+ schemaVersion: EDITOR_COMMAND_CONTRACT_SCHEMA_VERSION,
336
+ id: EDITOR_COMMAND_ID.PREFAB_NODE_CREATE_PRIMITIVE,
300
337
  title: 'Create prefab primitive node',
301
338
  description: 'Add a primitive helper node to the currently open Prefab stage through the editor prefab node mutation path. Use for composition layout tests, blockers, receivers, and simple placeholders.',
302
339
  layer: 'editor',
303
340
  category: 'prefab',
304
341
  stability: 'experimental',
305
342
  access: 'write',
306
- ...EDITOR_AGENT_BRIDGE_CAPABILITY_SCHEMAS[EDITOR_AGENT_BRIDGE_CAPABILITY_ID.PREFAB_NODE_CREATE_PRIMITIVE],
343
+ ...EDITOR_COMMAND_SCHEMAS[EDITOR_COMMAND_ID.PREFAB_NODE_CREATE_PRIMITIVE],
307
344
  },
308
345
  handler: input => {
309
- const normalized = normalizeObjectInput(EDITOR_AGENT_BRIDGE_CAPABILITY_ID.PREFAB_NODE_CREATE_PRIMITIVE, input);
346
+ const normalized = normalizeObjectInput(EDITOR_COMMAND_ID.PREFAB_NODE_CREATE_PRIMITIVE, input);
310
347
  return normalized.ok ? sources.prefabs.createPrimitiveNode(normalized.input) : normalized.result;
311
348
  },
312
349
  }),
313
350
  registerCapability({
314
351
  manifest: {
315
- schemaVersion: EDITOR_AGENT_BRIDGE_SCHEMA_VERSION,
316
- id: EDITOR_AGENT_BRIDGE_CAPABILITY_ID.PREFAB_NODE_SET_TRANSFORM,
352
+ schemaVersion: EDITOR_COMMAND_CONTRACT_SCHEMA_VERSION,
353
+ id: EDITOR_COMMAND_ID.PREFAB_NODE_SET_TRANSFORM,
317
354
  title: 'Set prefab node transform',
318
355
  description: 'Set position, rotation, and/or scale for an editable Prefab stage node. This routes through prefab node document patches and does not mutate projection or runtime JSON directly.',
319
356
  layer: 'editor',
320
357
  category: 'prefab',
321
358
  stability: 'experimental',
322
359
  access: 'write',
323
- ...EDITOR_AGENT_BRIDGE_CAPABILITY_SCHEMAS[EDITOR_AGENT_BRIDGE_CAPABILITY_ID.PREFAB_NODE_SET_TRANSFORM],
360
+ ...EDITOR_COMMAND_SCHEMAS[EDITOR_COMMAND_ID.PREFAB_NODE_SET_TRANSFORM],
324
361
  },
325
362
  handler: input => {
326
- const normalized = normalizeObjectInput(EDITOR_AGENT_BRIDGE_CAPABILITY_ID.PREFAB_NODE_SET_TRANSFORM, input);
363
+ const normalized = normalizeObjectInput(EDITOR_COMMAND_ID.PREFAB_NODE_SET_TRANSFORM, input);
327
364
  return normalized.ok ? sources.prefabs.setNodeTransform(normalized.input) : normalized.result;
328
365
  },
329
366
  }),
330
367
  registerCapability({
331
368
  manifest: {
332
- schemaVersion: EDITOR_AGENT_BRIDGE_SCHEMA_VERSION,
333
- id: EDITOR_AGENT_BRIDGE_CAPABILITY_ID.PREFAB_NODE_SET_MARKER,
369
+ schemaVersion: EDITOR_COMMAND_CONTRACT_SCHEMA_VERSION,
370
+ id: EDITOR_COMMAND_ID.PREFAB_NODE_SET_MARKER,
334
371
  title: 'Set prefab Marker fields',
335
372
  description: 'Update controlled Prefab Marker type, local target, tags, note, or RGB color. Geometry and semantic kind remain derived from the selected Marker type.',
336
373
  layer: 'editor',
337
374
  category: 'prefab',
338
375
  stability: 'experimental',
339
376
  access: 'write',
340
- ...EDITOR_AGENT_BRIDGE_CAPABILITY_SCHEMAS[EDITOR_AGENT_BRIDGE_CAPABILITY_ID.PREFAB_NODE_SET_MARKER],
377
+ ...EDITOR_COMMAND_SCHEMAS[EDITOR_COMMAND_ID.PREFAB_NODE_SET_MARKER],
341
378
  },
342
379
  handler: input => {
343
- const normalized = normalizeObjectInput(EDITOR_AGENT_BRIDGE_CAPABILITY_ID.PREFAB_NODE_SET_MARKER, input);
380
+ const normalized = normalizeObjectInput(EDITOR_COMMAND_ID.PREFAB_NODE_SET_MARKER, input);
344
381
  return normalized.ok ? sources.prefabs.setNodeMarker(normalized.input) : normalized.result;
345
382
  },
346
383
  }),
347
384
  registerCapability({
348
385
  manifest: {
349
- schemaVersion: EDITOR_AGENT_BRIDGE_SCHEMA_VERSION,
350
- id: EDITOR_AGENT_BRIDGE_CAPABILITY_ID.PREFAB_NODE_REPARENT,
386
+ schemaVersion: EDITOR_COMMAND_CONTRACT_SCHEMA_VERSION,
387
+ id: EDITOR_COMMAND_ID.PREFAB_NODE_REPARENT,
351
388
  title: 'Reparent prefab node',
352
389
  description: 'Move an editable Prefab stage node under another prefab node. The reducer rejects root reparenting and cyclic parents.',
353
390
  layer: 'editor',
354
391
  category: 'prefab',
355
392
  stability: 'experimental',
356
393
  access: 'write',
357
- ...EDITOR_AGENT_BRIDGE_CAPABILITY_SCHEMAS[EDITOR_AGENT_BRIDGE_CAPABILITY_ID.PREFAB_NODE_REPARENT],
394
+ ...EDITOR_COMMAND_SCHEMAS[EDITOR_COMMAND_ID.PREFAB_NODE_REPARENT],
358
395
  },
359
396
  handler: input => {
360
- const normalized = normalizeObjectInput(EDITOR_AGENT_BRIDGE_CAPABILITY_ID.PREFAB_NODE_REPARENT, input);
397
+ const normalized = normalizeObjectInput(EDITOR_COMMAND_ID.PREFAB_NODE_REPARENT, input);
361
398
  return normalized.ok ? sources.prefabs.reparentNode(normalized.input) : normalized.result;
362
399
  },
363
400
  }),
364
401
  registerCapability({
365
402
  manifest: {
366
- schemaVersion: EDITOR_AGENT_BRIDGE_SCHEMA_VERSION,
367
- id: EDITOR_AGENT_BRIDGE_CAPABILITY_ID.PREFAB_NODE_RENAME,
403
+ schemaVersion: EDITOR_COMMAND_CONTRACT_SCHEMA_VERSION,
404
+ id: EDITOR_COMMAND_ID.PREFAB_NODE_RENAME,
368
405
  title: 'Rename prefab node',
369
406
  description: 'Rename a non-root editable node inside the current Prefab stage. Root names follow prefab.asset.rename, and readonly GLB Source Structure names are not editable.',
370
407
  layer: 'editor',
371
408
  category: 'prefab',
372
409
  stability: 'experimental',
373
410
  access: 'write',
374
- ...EDITOR_AGENT_BRIDGE_CAPABILITY_SCHEMAS[EDITOR_AGENT_BRIDGE_CAPABILITY_ID.PREFAB_NODE_RENAME],
411
+ ...EDITOR_COMMAND_SCHEMAS[EDITOR_COMMAND_ID.PREFAB_NODE_RENAME],
375
412
  },
376
413
  handler: input => {
377
- const normalized = normalizeObjectInput(EDITOR_AGENT_BRIDGE_CAPABILITY_ID.PREFAB_NODE_RENAME, input);
414
+ const normalized = normalizeObjectInput(EDITOR_COMMAND_ID.PREFAB_NODE_RENAME, input);
378
415
  return normalized.ok ? sources.prefabs.renameNode(normalized.input) : normalized.result;
379
416
  },
380
417
  }),
381
418
  registerCapability({
382
419
  manifest: {
383
- schemaVersion: EDITOR_AGENT_BRIDGE_SCHEMA_VERSION,
384
- id: EDITOR_AGENT_BRIDGE_CAPABILITY_ID.PREFAB_NODE_DELETE,
420
+ schemaVersion: EDITOR_COMMAND_CONTRACT_SCHEMA_VERSION,
421
+ id: EDITOR_COMMAND_ID.PREFAB_NODE_DELETE,
385
422
  title: 'Delete prefab node',
386
423
  description: 'Delete an editable node from the current Prefab stage through prefab document mutation. Root deletion and invalid nodes return structured diagnostics.',
387
424
  layer: 'editor',
388
425
  category: 'prefab',
389
426
  stability: 'experimental',
390
427
  access: 'write',
391
- ...EDITOR_AGENT_BRIDGE_CAPABILITY_SCHEMAS[EDITOR_AGENT_BRIDGE_CAPABILITY_ID.PREFAB_NODE_DELETE],
428
+ ...EDITOR_COMMAND_SCHEMAS[EDITOR_COMMAND_ID.PREFAB_NODE_DELETE],
392
429
  },
393
430
  handler: input => {
394
- const normalized = normalizeObjectInput(EDITOR_AGENT_BRIDGE_CAPABILITY_ID.PREFAB_NODE_DELETE, input);
431
+ const normalized = normalizeObjectInput(EDITOR_COMMAND_ID.PREFAB_NODE_DELETE, input);
395
432
  return normalized.ok ? sources.prefabs.deleteNode(normalized.input) : normalized.result;
396
433
  },
397
434
  }),
398
435
  registerCapability({
399
436
  manifest: {
400
- schemaVersion: EDITOR_AGENT_BRIDGE_SCHEMA_VERSION,
401
- id: EDITOR_AGENT_BRIDGE_CAPABILITY_ID.PREFAB_SOURCE_STRUCTURE_GET,
437
+ schemaVersion: EDITOR_COMMAND_CONTRACT_SCHEMA_VERSION,
438
+ id: EDITOR_COMMAND_ID.PREFAB_SOURCE_STRUCTURE_GET,
402
439
  title: 'Get prefab source structure',
403
440
  description: 'Read readonly source asset anatomy for a prefab model node or asset. This reports SDK asset analysis metadata and is not an editable Prefab Scene Tree.',
404
441
  layer: 'editor',
405
442
  category: 'prefab',
406
443
  stability: 'experimental',
407
444
  access: 'read',
408
- ...EDITOR_AGENT_BRIDGE_CAPABILITY_SCHEMAS[EDITOR_AGENT_BRIDGE_CAPABILITY_ID.PREFAB_SOURCE_STRUCTURE_GET],
445
+ ...EDITOR_COMMAND_SCHEMAS[EDITOR_COMMAND_ID.PREFAB_SOURCE_STRUCTURE_GET],
409
446
  },
410
447
  handler: input => {
411
- const normalized = normalizeObjectInput(EDITOR_AGENT_BRIDGE_CAPABILITY_ID.PREFAB_SOURCE_STRUCTURE_GET, input);
448
+ const normalized = normalizeObjectInput(EDITOR_COMMAND_ID.PREFAB_SOURCE_STRUCTURE_GET, input);
412
449
  return normalized.ok ? sources.prefabs.getSourceStructure(normalized.input) : normalized.result;
413
450
  },
414
451
  }),
415
452
  registerCapability({
416
453
  manifest: {
417
- schemaVersion: EDITOR_AGENT_BRIDGE_SCHEMA_VERSION,
418
- id: EDITOR_AGENT_BRIDGE_CAPABILITY_ID.PREFAB_MATERIAL_SLOTS_LIST,
454
+ schemaVersion: EDITOR_COMMAND_CONTRACT_SCHEMA_VERSION,
455
+ id: EDITOR_COMMAND_ID.PREFAB_MATERIAL_SLOTS_LIST,
419
456
  title: 'List prefab material slots',
420
457
  description: 'List editable material override targets for a prefab model node or asset from SDK materialSlots metadata. Use before future material/shadow tuning; read-only slots are optional.',
421
458
  layer: 'editor',
422
459
  category: 'prefab',
423
460
  stability: 'experimental',
424
461
  access: 'read',
425
- ...EDITOR_AGENT_BRIDGE_CAPABILITY_SCHEMAS[EDITOR_AGENT_BRIDGE_CAPABILITY_ID.PREFAB_MATERIAL_SLOTS_LIST],
462
+ ...EDITOR_COMMAND_SCHEMAS[EDITOR_COMMAND_ID.PREFAB_MATERIAL_SLOTS_LIST],
426
463
  },
427
464
  handler: input => {
428
- const normalized = normalizeObjectInput(EDITOR_AGENT_BRIDGE_CAPABILITY_ID.PREFAB_MATERIAL_SLOTS_LIST, input);
465
+ const normalized = normalizeObjectInput(EDITOR_COMMAND_ID.PREFAB_MATERIAL_SLOTS_LIST, input);
429
466
  return normalized.ok ? sources.prefabs.listMaterialSlots(normalized.input) : normalized.result;
430
467
  },
431
468
  }),
432
469
  registerCapability({
433
470
  manifest: {
434
- schemaVersion: EDITOR_AGENT_BRIDGE_SCHEMA_VERSION,
435
- id: EDITOR_AGENT_BRIDGE_CAPABILITY_ID.HOST_MODE_GET,
471
+ schemaVersion: EDITOR_COMMAND_CONTRACT_SCHEMA_VERSION,
472
+ id: EDITOR_COMMAND_ID.HOST_MODE_GET,
436
473
  title: 'Get host mode',
437
474
  description: 'Read host lifecycle state without changing mode. Use as optional preflight or diagnostics; editorReady=true means the host is in editor mode, has an active editor session, and is not busy.',
438
475
  layer: 'host',
439
476
  category: 'lifecycle',
440
477
  stability: 'experimental',
441
478
  access: 'read',
442
- ...EDITOR_AGENT_BRIDGE_CAPABILITY_SCHEMAS[EDITOR_AGENT_BRIDGE_CAPABILITY_ID.HOST_MODE_GET],
479
+ ...EDITOR_COMMAND_SCHEMAS[EDITOR_COMMAND_ID.HOST_MODE_GET],
443
480
  },
444
481
  handler: input => {
445
- const normalized = normalizeObjectInput(EDITOR_AGENT_BRIDGE_CAPABILITY_ID.HOST_MODE_GET, input);
482
+ const normalized = normalizeObjectInput(EDITOR_COMMAND_ID.HOST_MODE_GET, input);
446
483
  return normalized.ok ? sources.host.getMode(normalized.input) : normalized.result;
447
484
  },
448
485
  }),
449
486
  registerCapability({
450
487
  manifest: {
451
- schemaVersion: EDITOR_AGENT_BRIDGE_SCHEMA_VERSION,
452
- id: EDITOR_AGENT_BRIDGE_CAPABILITY_ID.HOST_EDITOR_ENTER,
488
+ schemaVersion: EDITOR_COMMAND_CONTRACT_SCHEMA_VERSION,
489
+ id: EDITOR_COMMAND_ID.HOST_EDITOR_ENTER,
453
490
  title: 'Enter editor mode',
454
491
  description: 'Default L1 entry point for agents. Call this to enter or ensure editor mode before L2/L3 editor operations instead of clicking the UI with browser automation. It is idempotent: already-editor hosts return alreadyEditor=true.',
455
492
  layer: 'host',
456
493
  category: 'lifecycle',
457
494
  stability: 'experimental',
458
495
  access: 'write',
459
- ...EDITOR_AGENT_BRIDGE_CAPABILITY_SCHEMAS[EDITOR_AGENT_BRIDGE_CAPABILITY_ID.HOST_EDITOR_ENTER],
496
+ ...EDITOR_COMMAND_SCHEMAS[EDITOR_COMMAND_ID.HOST_EDITOR_ENTER],
460
497
  },
461
498
  handler: (input, context) => {
462
- const normalized = normalizeObjectInput(EDITOR_AGENT_BRIDGE_CAPABILITY_ID.HOST_EDITOR_ENTER, input);
499
+ const normalized = normalizeObjectInput(EDITOR_COMMAND_ID.HOST_EDITOR_ENTER, input);
463
500
  return normalized.ok ? sources.host.enterEditor(normalized.input, context) : normalized.result;
464
501
  },
465
502
  }),
466
503
  registerCapability({
467
504
  manifest: {
468
- schemaVersion: EDITOR_AGENT_BRIDGE_SCHEMA_VERSION,
469
- id: EDITOR_AGENT_BRIDGE_CAPABILITY_ID.HOST_EDITOR_SAVE_AND_RUN,
505
+ schemaVersion: EDITOR_COMMAND_CONTRACT_SCHEMA_VERSION,
506
+ id: EDITOR_COMMAND_ID.HOST_EDITOR_SAVE_AND_RUN,
470
507
  title: 'Save editor document and run game',
471
508
  description: 'Run the product save lifecycle through the existing authoring persistence path, then leave editor mode and restart the game. Use only when a positive save lifecycle test is intended.',
472
509
  layer: 'host',
473
510
  category: 'lifecycle',
474
511
  stability: 'experimental',
475
512
  access: 'write',
476
- ...EDITOR_AGENT_BRIDGE_CAPABILITY_SCHEMAS[EDITOR_AGENT_BRIDGE_CAPABILITY_ID.HOST_EDITOR_SAVE_AND_RUN],
513
+ ...EDITOR_COMMAND_SCHEMAS[EDITOR_COMMAND_ID.HOST_EDITOR_SAVE_AND_RUN],
477
514
  },
478
515
  handler: (input, context) => {
479
- const normalized = normalizeObjectInput(EDITOR_AGENT_BRIDGE_CAPABILITY_ID.HOST_EDITOR_SAVE_AND_RUN, input);
516
+ const normalized = normalizeObjectInput(EDITOR_COMMAND_ID.HOST_EDITOR_SAVE_AND_RUN, input);
480
517
  return normalized.ok ? sources.host.saveAndRun(normalized.input, context) : normalized.result;
481
518
  },
482
519
  }),
483
520
  registerCapability({
484
521
  manifest: {
485
- schemaVersion: EDITOR_AGENT_BRIDGE_SCHEMA_VERSION,
486
- id: EDITOR_AGENT_BRIDGE_CAPABILITY_ID.HOST_EDITOR_DISCARD_AND_RUN,
522
+ schemaVersion: EDITOR_COMMAND_CONTRACT_SCHEMA_VERSION,
523
+ id: EDITOR_COMMAND_ID.HOST_EDITOR_DISCARD_AND_RUN,
487
524
  title: 'Discard editor changes and run game',
488
525
  description: 'Leave editor mode without saving the working document and restart the game. Use after temporary editor experiments to restore the persisted project state.',
489
526
  layer: 'host',
490
527
  category: 'lifecycle',
491
528
  stability: 'experimental',
492
529
  access: 'write',
493
- ...EDITOR_AGENT_BRIDGE_CAPABILITY_SCHEMAS[EDITOR_AGENT_BRIDGE_CAPABILITY_ID.HOST_EDITOR_DISCARD_AND_RUN],
530
+ ...EDITOR_COMMAND_SCHEMAS[EDITOR_COMMAND_ID.HOST_EDITOR_DISCARD_AND_RUN],
494
531
  },
495
532
  handler: (input, context) => {
496
- const normalized = normalizeObjectInput(EDITOR_AGENT_BRIDGE_CAPABILITY_ID.HOST_EDITOR_DISCARD_AND_RUN, input);
533
+ const normalized = normalizeObjectInput(EDITOR_COMMAND_ID.HOST_EDITOR_DISCARD_AND_RUN, input);
497
534
  return normalized.ok ? sources.host.discardAndRun(normalized.input, context) : normalized.result;
498
535
  },
499
536
  }),
500
537
  registerCapability({
501
538
  manifest: {
502
- schemaVersion: EDITOR_AGENT_BRIDGE_SCHEMA_VERSION,
503
- id: EDITOR_AGENT_BRIDGE_CAPABILITY_ID.HOST_EDITOR_WAIT_READY,
539
+ schemaVersion: EDITOR_COMMAND_CONTRACT_SCHEMA_VERSION,
540
+ id: EDITOR_COMMAND_ID.HOST_EDITOR_WAIT_READY,
504
541
  title: 'Wait for editor readiness',
505
542
  description: 'Read-only readiness wait. Use after host.editor.enter only when extra confirmation or timeout diagnostics are needed; it does not enter editor mode by itself.',
506
543
  layer: 'host',
507
544
  category: 'lifecycle',
508
545
  stability: 'experimental',
509
546
  access: 'read',
510
- ...EDITOR_AGENT_BRIDGE_CAPABILITY_SCHEMAS[EDITOR_AGENT_BRIDGE_CAPABILITY_ID.HOST_EDITOR_WAIT_READY],
547
+ ...EDITOR_COMMAND_SCHEMAS[EDITOR_COMMAND_ID.HOST_EDITOR_WAIT_READY],
511
548
  },
512
549
  handler: input => {
513
- const normalized = normalizeObjectInput(EDITOR_AGENT_BRIDGE_CAPABILITY_ID.HOST_EDITOR_WAIT_READY, input);
550
+ const normalized = normalizeObjectInput(EDITOR_COMMAND_ID.HOST_EDITOR_WAIT_READY, input);
514
551
  return normalized.ok ? sources.host.waitReady(normalized.input) : normalized.result;
515
552
  },
516
553
  }),
517
554
  registerCapability({
518
555
  manifest: {
519
- schemaVersion: EDITOR_AGENT_BRIDGE_SCHEMA_VERSION,
520
- id: EDITOR_AGENT_BRIDGE_CAPABILITY_ID.EDITOR_UI_REGIONS_GET,
556
+ schemaVersion: EDITOR_COMMAND_CONTRACT_SCHEMA_VERSION,
557
+ id: EDITOR_COMMAND_ID.EDITOR_UI_REGIONS_GET,
521
558
  title: 'Get editor workspace regions',
522
- description: 'Read the editor workspace region map for agents. It explains left Hierarchy, center Preview, right Inspector/render tabs, bottom Asset Library, top Toolbar, and Agent Bridge Console semantics, and maps each area to preferred capabilities before L0 fallback.',
559
+ description: 'Read the editor workspace region map for agents. It explains left Hierarchy, center Preview, right Inspector/render tabs, bottom Asset Library, top Toolbar, and Command Service Console semantics, and maps each area to preferred capabilities before L0 fallback.',
523
560
  layer: 'editor',
524
561
  category: 'ui',
525
562
  stability: 'experimental',
526
563
  access: 'read',
527
- ...EDITOR_AGENT_BRIDGE_CAPABILITY_SCHEMAS[EDITOR_AGENT_BRIDGE_CAPABILITY_ID.EDITOR_UI_REGIONS_GET],
564
+ ...EDITOR_COMMAND_SCHEMAS[EDITOR_COMMAND_ID.EDITOR_UI_REGIONS_GET],
528
565
  },
529
566
  handler: input => {
530
- const normalized = normalizeObjectInput(EDITOR_AGENT_BRIDGE_CAPABILITY_ID.EDITOR_UI_REGIONS_GET, input);
567
+ const normalized = normalizeObjectInput(EDITOR_COMMAND_ID.EDITOR_UI_REGIONS_GET, input);
531
568
  return normalized.ok ? sources.ui.getRegions(normalized.input) : normalized.result;
532
569
  },
533
570
  }),
534
571
  registerCapability({
535
572
  manifest: {
536
- schemaVersion: EDITOR_AGENT_BRIDGE_SCHEMA_VERSION,
537
- id: EDITOR_AGENT_BRIDGE_CAPABILITY_ID.SCENE_OBJECTS_LIST,
573
+ schemaVersion: EDITOR_COMMAND_CONTRACT_SCHEMA_VERSION,
574
+ id: EDITOR_COMMAND_ID.SCENE_OBJECTS_LIST,
538
575
  title: 'List scene objects',
539
576
  description: 'List editor scene objects with hierarchy and transform summaries after editorReady=true. Use returned object ids as stable inputs for selection, transform, viewport, and workflow capabilities.',
540
577
  layer: 'editor',
541
578
  category: 'scene',
542
579
  stability: 'experimental',
543
580
  access: 'read',
544
- ...EDITOR_AGENT_BRIDGE_CAPABILITY_SCHEMAS[EDITOR_AGENT_BRIDGE_CAPABILITY_ID.SCENE_OBJECTS_LIST],
581
+ ...EDITOR_COMMAND_SCHEMAS[EDITOR_COMMAND_ID.SCENE_OBJECTS_LIST],
545
582
  },
546
583
  handler: input => ({ objects: sources.objects.listObjects(input ?? {}) }),
547
584
  }),
548
585
  registerCapability({
549
586
  manifest: {
550
- schemaVersion: EDITOR_AGENT_BRIDGE_SCHEMA_VERSION,
551
- id: EDITOR_AGENT_BRIDGE_CAPABILITY_ID.OBJECT_RESOLVE,
587
+ schemaVersion: EDITOR_COMMAND_CONTRACT_SCHEMA_VERSION,
588
+ id: EDITOR_COMMAND_ID.OBJECT_RESOLVE,
552
589
  title: 'Resolve scene object',
553
590
  description: 'Resolve editor scene objects by id, exact name/path/type, or fuzzy query after editorReady=true. Use this before write operations when the object id is not already known.',
554
591
  layer: 'editor',
555
592
  category: 'scene',
556
593
  stability: 'experimental',
557
594
  access: 'read',
558
- ...EDITOR_AGENT_BRIDGE_CAPABILITY_SCHEMAS[EDITOR_AGENT_BRIDGE_CAPABILITY_ID.OBJECT_RESOLVE],
595
+ ...EDITOR_COMMAND_SCHEMAS[EDITOR_COMMAND_ID.OBJECT_RESOLVE],
559
596
  },
560
597
  handler: input => {
561
- const normalized = normalizeObjectInput(EDITOR_AGENT_BRIDGE_CAPABILITY_ID.OBJECT_RESOLVE, input);
598
+ const normalized = normalizeObjectInput(EDITOR_COMMAND_ID.OBJECT_RESOLVE, input);
562
599
  return normalized.ok ? sources.objects.resolveObject(normalized.input) : normalized.result;
563
600
  },
564
601
  }),
565
602
  registerCapability({
566
603
  manifest: {
567
- schemaVersion: EDITOR_AGENT_BRIDGE_SCHEMA_VERSION,
568
- id: EDITOR_AGENT_BRIDGE_CAPABILITY_ID.OBJECT_CREATE_PRIMITIVE,
604
+ schemaVersion: EDITOR_COMMAND_CONTRACT_SCHEMA_VERSION,
605
+ id: EDITOR_COMMAND_ID.OBJECT_CREATE_PRIMITIVE,
569
606
  title: 'Create primitive object',
570
607
  description: 'Create a basic scene primitive after editorReady=true. Shapes are cube, sphere, plane, or capsule; the capability uses the editor scene graph create patch and selects the created object when possible.',
571
608
  layer: 'editor',
572
609
  category: 'scene',
573
610
  stability: 'experimental',
574
611
  access: 'write',
575
- ...EDITOR_AGENT_BRIDGE_CAPABILITY_SCHEMAS[EDITOR_AGENT_BRIDGE_CAPABILITY_ID.OBJECT_CREATE_PRIMITIVE],
612
+ ...EDITOR_COMMAND_SCHEMAS[EDITOR_COMMAND_ID.OBJECT_CREATE_PRIMITIVE],
576
613
  },
577
614
  handler: input => {
578
- const normalized = normalizeObjectInput(EDITOR_AGENT_BRIDGE_CAPABILITY_ID.OBJECT_CREATE_PRIMITIVE, input);
615
+ const normalized = normalizeObjectInput(EDITOR_COMMAND_ID.OBJECT_CREATE_PRIMITIVE, input);
579
616
  return normalized.ok ? sources.objects.createPrimitive(normalized.input) : normalized.result;
580
617
  },
581
618
  }),
582
619
  registerCapability({
583
620
  manifest: {
584
- schemaVersion: EDITOR_AGENT_BRIDGE_SCHEMA_VERSION,
585
- id: EDITOR_AGENT_BRIDGE_CAPABILITY_ID.OBJECT_CREATE_FROM_ASSET,
621
+ schemaVersion: EDITOR_COMMAND_CONTRACT_SCHEMA_VERSION,
622
+ id: EDITOR_COMMAND_ID.OBJECT_CREATE_FROM_ASSET,
586
623
  title: 'Create object from asset',
587
624
  description: 'Create a scene object from a standard asset library asset after editorReady=true. Use asset.library.list and asset.analysis.get first; this capability delegates to the editor harness asset creation path and may select/focus the created object.',
588
625
  layer: 'editor',
589
626
  category: 'asset',
590
627
  stability: 'experimental',
591
628
  access: 'write',
592
- ...EDITOR_AGENT_BRIDGE_CAPABILITY_SCHEMAS[EDITOR_AGENT_BRIDGE_CAPABILITY_ID.OBJECT_CREATE_FROM_ASSET],
629
+ ...EDITOR_COMMAND_SCHEMAS[EDITOR_COMMAND_ID.OBJECT_CREATE_FROM_ASSET],
593
630
  },
594
631
  handler: input => {
595
- const normalized = normalizeObjectInput(EDITOR_AGENT_BRIDGE_CAPABILITY_ID.OBJECT_CREATE_FROM_ASSET, input);
632
+ const normalized = normalizeObjectInput(EDITOR_COMMAND_ID.OBJECT_CREATE_FROM_ASSET, input);
596
633
  return normalized.ok ? sources.objects.createFromAsset(normalized.input) : normalized.result;
597
634
  },
598
635
  }),
599
636
  registerCapability({
600
637
  manifest: {
601
- schemaVersion: EDITOR_AGENT_BRIDGE_SCHEMA_VERSION,
602
- id: EDITOR_AGENT_BRIDGE_CAPABILITY_ID.OBJECT_DELETE,
638
+ schemaVersion: EDITOR_COMMAND_CONTRACT_SCHEMA_VERSION,
639
+ id: EDITOR_COMMAND_ID.OBJECT_DELETE,
603
640
  title: 'Delete objects',
604
641
  description: 'Delete one or more editor scene objects after editorReady=true. Provide exactly one of objectId or objectIds; protected, locked, readonly, or missing nodes are rejected by scene graph validation.',
605
642
  layer: 'editor',
606
643
  category: 'scene',
607
644
  stability: 'experimental',
608
645
  access: 'write',
609
- ...EDITOR_AGENT_BRIDGE_CAPABILITY_SCHEMAS[EDITOR_AGENT_BRIDGE_CAPABILITY_ID.OBJECT_DELETE],
646
+ ...EDITOR_COMMAND_SCHEMAS[EDITOR_COMMAND_ID.OBJECT_DELETE],
610
647
  },
611
648
  handler: input => {
612
- const normalized = normalizeObjectInput(EDITOR_AGENT_BRIDGE_CAPABILITY_ID.OBJECT_DELETE, input);
649
+ const normalized = normalizeObjectInput(EDITOR_COMMAND_ID.OBJECT_DELETE, input);
613
650
  return normalized.ok ? sources.objects.deleteObjects(normalized.input) : normalized.result;
614
651
  },
615
652
  }),
616
653
  registerCapability({
617
654
  manifest: {
618
- schemaVersion: EDITOR_AGENT_BRIDGE_SCHEMA_VERSION,
619
- id: EDITOR_AGENT_BRIDGE_CAPABILITY_ID.SELECTION_SET,
655
+ schemaVersion: EDITOR_COMMAND_CONTRACT_SCHEMA_VERSION,
656
+ id: EDITOR_COMMAND_ID.SELECTION_SET,
620
657
  title: 'Set selection',
621
658
  description: 'Select one or more editor scene objects by object id after editorReady=true. Prefer ids returned by scene.objects.list; this is an editor semantic operation, not a UI click.',
622
659
  layer: 'editor',
623
660
  category: 'selection',
624
661
  stability: 'experimental',
625
662
  access: 'write',
626
- ...EDITOR_AGENT_BRIDGE_CAPABILITY_SCHEMAS[EDITOR_AGENT_BRIDGE_CAPABILITY_ID.SELECTION_SET],
663
+ ...EDITOR_COMMAND_SCHEMAS[EDITOR_COMMAND_ID.SELECTION_SET],
627
664
  },
628
665
  handler: input => sources.selection.setSelection(input ?? {}),
629
666
  }),
630
667
  registerCapability({
631
668
  manifest: {
632
- schemaVersion: EDITOR_AGENT_BRIDGE_SCHEMA_VERSION,
633
- id: EDITOR_AGENT_BRIDGE_CAPABILITY_ID.SHADOW_POLICY_GET,
669
+ schemaVersion: EDITOR_COMMAND_CONTRACT_SCHEMA_VERSION,
670
+ id: EDITOR_COMMAND_ID.SHADOW_POLICY_GET,
634
671
  title: 'Get shadow policy',
635
672
  description: 'Read Shadow V2 policy and effective resolved plan for a scene object or current Prefab stage node. Use this before editing caster/receiver/light/quality settings; readonly source anatomy is not editable.',
636
673
  layer: 'editor',
637
674
  category: 'shadow',
638
675
  stability: 'experimental',
639
676
  access: 'read',
640
- ...EDITOR_AGENT_BRIDGE_CAPABILITY_SCHEMAS[EDITOR_AGENT_BRIDGE_CAPABILITY_ID.SHADOW_POLICY_GET],
677
+ ...EDITOR_COMMAND_SCHEMAS[EDITOR_COMMAND_ID.SHADOW_POLICY_GET],
641
678
  },
642
679
  handler: input => {
643
- const normalized = normalizeObjectInput(EDITOR_AGENT_BRIDGE_CAPABILITY_ID.SHADOW_POLICY_GET, input);
680
+ const normalized = normalizeObjectInput(EDITOR_COMMAND_ID.SHADOW_POLICY_GET, input);
644
681
  return normalized.ok ? sources.shadows.getPolicy(normalized.input) : normalized.result;
645
682
  },
646
683
  }),
647
684
  registerCapability({
648
685
  manifest: {
649
- schemaVersion: EDITOR_AGENT_BRIDGE_SCHEMA_VERSION,
650
- id: EDITOR_AGENT_BRIDGE_CAPABILITY_ID.SHADOW_POLICY_SET,
686
+ schemaVersion: EDITOR_COMMAND_CONTRACT_SCHEMA_VERSION,
687
+ id: EDITOR_COMMAND_ID.SHADOW_POLICY_SET,
651
688
  title: 'Set shadow policy',
652
689
  description: 'Write Shadow V2 caster/receiver/mode/light/quality/params for a scene object or editable Prefab stage root/node through editor document patches. This is the default agent path for shadow authoring instead of Inspector clicking.',
653
690
  layer: 'editor',
654
691
  category: 'shadow',
655
692
  stability: 'experimental',
656
693
  access: 'write',
657
- ...EDITOR_AGENT_BRIDGE_CAPABILITY_SCHEMAS[EDITOR_AGENT_BRIDGE_CAPABILITY_ID.SHADOW_POLICY_SET],
694
+ ...EDITOR_COMMAND_SCHEMAS[EDITOR_COMMAND_ID.SHADOW_POLICY_SET],
658
695
  },
659
696
  handler: input => {
660
- const normalized = normalizeObjectInput(EDITOR_AGENT_BRIDGE_CAPABILITY_ID.SHADOW_POLICY_SET, input);
697
+ const normalized = normalizeObjectInput(EDITOR_COMMAND_ID.SHADOW_POLICY_SET, input);
661
698
  return normalized.ok ? sources.shadows.setPolicy(normalized.input) : normalized.result;
662
699
  },
663
700
  }),
664
701
  registerCapability({
665
702
  manifest: {
666
- schemaVersion: EDITOR_AGENT_BRIDGE_SCHEMA_VERSION,
667
- id: EDITOR_AGENT_BRIDGE_CAPABILITY_ID.SHADOW_MAP_EXPERIMENT_CONFIG_GET,
703
+ schemaVersion: EDITOR_COMMAND_CONTRACT_SCHEMA_VERSION,
704
+ id: EDITOR_COMMAND_ID.SHADOW_MAP_EXPERIMENT_CONFIG_GET,
668
705
  title: 'Get Shadow Map configuration',
669
706
  description: 'Read the authoritative shadows.json configuration and available quality/behavior profile ids. The configuration is readonly; tune algorithm parameters in shadows.json, not through scene mutations.',
670
707
  layer: 'editor',
671
708
  category: 'shadow',
672
709
  stability: 'experimental',
673
710
  access: 'read',
674
- ...EDITOR_AGENT_BRIDGE_CAPABILITY_SCHEMAS[EDITOR_AGENT_BRIDGE_CAPABILITY_ID.SHADOW_MAP_EXPERIMENT_CONFIG_GET],
711
+ ...EDITOR_COMMAND_SCHEMAS[EDITOR_COMMAND_ID.SHADOW_MAP_EXPERIMENT_CONFIG_GET],
675
712
  },
676
713
  handler: input => sources.shadows.getShadowMapExperimentConfig(input ?? {}),
677
714
  }),
678
715
  registerCapability({
679
716
  manifest: {
680
- schemaVersion: EDITOR_AGENT_BRIDGE_SCHEMA_VERSION,
681
- id: EDITOR_AGENT_BRIDGE_CAPABILITY_ID.SHADOW_MAP_EXPERIMENT_POLICY_GET,
717
+ schemaVersion: EDITOR_COMMAND_CONTRACT_SCHEMA_VERSION,
718
+ id: EDITOR_COMMAND_ID.SHADOW_MAP_EXPERIMENT_POLICY_GET,
682
719
  title: 'Get Shadow Map profiles',
683
720
  description: 'Read authored and effective Shadow Map quality/behavior profile references for the scene, a scene object, or an editable Prefab stage node.',
684
721
  layer: 'editor',
685
722
  category: 'shadow',
686
723
  stability: 'experimental',
687
724
  access: 'read',
688
- ...EDITOR_AGENT_BRIDGE_CAPABILITY_SCHEMAS[EDITOR_AGENT_BRIDGE_CAPABILITY_ID.SHADOW_MAP_EXPERIMENT_POLICY_GET],
725
+ ...EDITOR_COMMAND_SCHEMAS[EDITOR_COMMAND_ID.SHADOW_MAP_EXPERIMENT_POLICY_GET],
689
726
  },
690
727
  handler: input => sources.shadows.getShadowMapExperimentPolicy(input),
691
728
  }),
692
729
  registerCapability({
693
730
  manifest: {
694
- schemaVersion: EDITOR_AGENT_BRIDGE_SCHEMA_VERSION,
695
- id: EDITOR_AGENT_BRIDGE_CAPABILITY_ID.SHADOW_MAP_EXPERIMENT_POLICY_SET,
731
+ schemaVersion: EDITOR_COMMAND_CONTRACT_SCHEMA_VERSION,
732
+ id: EDITOR_COMMAND_ID.SHADOW_MAP_EXPERIMENT_POLICY_SET,
696
733
  title: 'Set Shadow Map profiles',
697
734
  description: 'Write profile references only. Scene scope may set quality and behavior profiles; scene objects and Prefab nodes may set only a behavior profile. Inline algorithm or lifecycle parameters are not accepted.',
698
735
  layer: 'editor',
699
736
  category: 'shadow',
700
737
  stability: 'experimental',
701
738
  access: 'write',
702
- ...EDITOR_AGENT_BRIDGE_CAPABILITY_SCHEMAS[EDITOR_AGENT_BRIDGE_CAPABILITY_ID.SHADOW_MAP_EXPERIMENT_POLICY_SET],
739
+ ...EDITOR_COMMAND_SCHEMAS[EDITOR_COMMAND_ID.SHADOW_MAP_EXPERIMENT_POLICY_SET],
703
740
  },
704
741
  handler: input => sources.shadows.setShadowMapExperimentPolicy(input),
705
742
  }),
706
743
  registerCapability({
707
744
  manifest: {
708
- schemaVersion: EDITOR_AGENT_BRIDGE_SCHEMA_VERSION,
709
- id: EDITOR_AGENT_BRIDGE_CAPABILITY_ID.SHADOW_MAP_EXPERIMENT_PLAN_PREVIEW,
745
+ schemaVersion: EDITOR_COMMAND_CONTRACT_SCHEMA_VERSION,
746
+ id: EDITOR_COMMAND_ID.SHADOW_MAP_EXPERIMENT_PLAN_PREVIEW,
710
747
  title: 'Preview Shadow Map runtime plan',
711
748
  description: 'Read the compiled Shadow Map Runtime Plan consumed by the renderer. This capability is readonly and exposes no authoring shortcut around shadows.json profiles.',
712
749
  layer: 'editor',
713
750
  category: 'shadow',
714
751
  stability: 'experimental',
715
752
  access: 'read',
716
- ...EDITOR_AGENT_BRIDGE_CAPABILITY_SCHEMAS[EDITOR_AGENT_BRIDGE_CAPABILITY_ID.SHADOW_MAP_EXPERIMENT_PLAN_PREVIEW],
753
+ ...EDITOR_COMMAND_SCHEMAS[EDITOR_COMMAND_ID.SHADOW_MAP_EXPERIMENT_PLAN_PREVIEW],
717
754
  },
718
755
  handler: input => sources.shadows.previewShadowMapExperimentPlan(input ?? {}),
719
756
  }),
720
757
  registerCapability({
721
758
  manifest: {
722
- schemaVersion: EDITOR_AGENT_BRIDGE_SCHEMA_VERSION,
723
- id: EDITOR_AGENT_BRIDGE_CAPABILITY_ID.SHADOW_MAP_EXPERIMENT_RUNTIME_SNAPSHOT,
759
+ schemaVersion: EDITOR_COMMAND_CONTRACT_SCHEMA_VERSION,
760
+ id: EDITOR_COMMAND_ID.SHADOW_MAP_EXPERIMENT_RUNTIME_SNAPSHOT,
724
761
  title: 'Snapshot Shadow Map runtime ownership',
725
762
  description: 'Read Plan version, runtime registrations, activity owners, registry/depth evidence, and diagnostics without exposing a write path.',
726
763
  layer: 'editor',
727
764
  category: 'shadow',
728
765
  stability: 'experimental',
729
766
  access: 'read',
730
- ...EDITOR_AGENT_BRIDGE_CAPABILITY_SCHEMAS[EDITOR_AGENT_BRIDGE_CAPABILITY_ID.SHADOW_MAP_EXPERIMENT_RUNTIME_SNAPSHOT],
767
+ ...EDITOR_COMMAND_SCHEMAS[EDITOR_COMMAND_ID.SHADOW_MAP_EXPERIMENT_RUNTIME_SNAPSHOT],
731
768
  },
732
769
  handler: input => sources.shadows.snapshotShadowMapExperimentRuntime(input ?? {}),
733
770
  }),
734
771
  registerCapability({
735
772
  manifest: {
736
- schemaVersion: EDITOR_AGENT_BRIDGE_SCHEMA_VERSION,
737
- id: EDITOR_AGENT_BRIDGE_CAPABILITY_ID.SHADOW_RECEIVERS_LIST,
773
+ schemaVersion: EDITOR_COMMAND_CONTRACT_SCHEMA_VERSION,
774
+ id: EDITOR_COMMAND_ID.SHADOW_RECEIVERS_LIST,
738
775
  title: 'List shadow receivers',
739
776
  description: 'List candidate shadow receiver nodes for a scene object or Prefab stage preview target. Explicit receivers and shadow.receive settings score above auto plane inference.',
740
777
  layer: 'editor',
741
778
  category: 'shadow',
742
779
  stability: 'experimental',
743
780
  access: 'read',
744
- ...EDITOR_AGENT_BRIDGE_CAPABILITY_SCHEMAS[EDITOR_AGENT_BRIDGE_CAPABILITY_ID.SHADOW_RECEIVERS_LIST],
781
+ ...EDITOR_COMMAND_SCHEMAS[EDITOR_COMMAND_ID.SHADOW_RECEIVERS_LIST],
745
782
  },
746
783
  handler: input => {
747
- const normalized = normalizeObjectInput(EDITOR_AGENT_BRIDGE_CAPABILITY_ID.SHADOW_RECEIVERS_LIST, input);
784
+ const normalized = normalizeObjectInput(EDITOR_COMMAND_ID.SHADOW_RECEIVERS_LIST, input);
748
785
  return normalized.ok ? sources.shadows.listReceivers(normalized.input) : normalized.result;
749
786
  },
750
787
  }),
751
788
  registerCapability({
752
789
  manifest: {
753
- schemaVersion: EDITOR_AGENT_BRIDGE_SCHEMA_VERSION,
754
- id: EDITOR_AGENT_BRIDGE_CAPABILITY_ID.SHADOW_RESOLVE_PREVIEW,
790
+ schemaVersion: EDITOR_COMMAND_CONTRACT_SCHEMA_VERSION,
791
+ id: EDITOR_COMMAND_ID.SHADOW_RESOLVE_PREVIEW,
755
792
  title: 'Resolve shadow preview',
756
793
  description: 'Preview the resolved Shadow V2 backend, receiver list, light binding, quality params, and diagnostics without changing editor state. Use after policy changes or before screenshot validation.',
757
794
  layer: 'editor',
758
795
  category: 'shadow',
759
796
  stability: 'experimental',
760
797
  access: 'read',
761
- ...EDITOR_AGENT_BRIDGE_CAPABILITY_SCHEMAS[EDITOR_AGENT_BRIDGE_CAPABILITY_ID.SHADOW_RESOLVE_PREVIEW],
798
+ ...EDITOR_COMMAND_SCHEMAS[EDITOR_COMMAND_ID.SHADOW_RESOLVE_PREVIEW],
762
799
  },
763
800
  handler: input => {
764
- const normalized = normalizeObjectInput(EDITOR_AGENT_BRIDGE_CAPABILITY_ID.SHADOW_RESOLVE_PREVIEW, input);
801
+ const normalized = normalizeObjectInput(EDITOR_COMMAND_ID.SHADOW_RESOLVE_PREVIEW, input);
765
802
  return normalized.ok ? sources.shadows.resolvePreview(normalized.input) : normalized.result;
766
803
  },
767
804
  }),
768
805
  registerCapability({
769
806
  manifest: {
770
- schemaVersion: EDITOR_AGENT_BRIDGE_SCHEMA_VERSION,
771
- id: EDITOR_AGENT_BRIDGE_CAPABILITY_ID.SHADOW_DEBUG_INSPECT,
807
+ schemaVersion: EDITOR_COMMAND_CONTRACT_SCHEMA_VERSION,
808
+ id: EDITOR_COMMAND_ID.SHADOW_DEBUG_INSPECT,
772
809
  title: 'Inspect shadow debug context',
773
810
  description: 'Read the complete Shadow V2 debugging context for a scene object or Prefab stage target: caster, receivers, light, policy, resolved plan, expected footprint, runtime evidence, and diagnostics. Use this before deciding whether a screenshot really shows a shadow.',
774
811
  layer: 'editor',
775
812
  category: 'shadow',
776
813
  stability: 'experimental',
777
814
  access: 'read',
778
- ...EDITOR_AGENT_BRIDGE_CAPABILITY_SCHEMAS[EDITOR_AGENT_BRIDGE_CAPABILITY_ID.SHADOW_DEBUG_INSPECT],
815
+ ...EDITOR_COMMAND_SCHEMAS[EDITOR_COMMAND_ID.SHADOW_DEBUG_INSPECT],
779
816
  },
780
817
  handler: input => {
781
- const normalized = normalizeObjectInput(EDITOR_AGENT_BRIDGE_CAPABILITY_ID.SHADOW_DEBUG_INSPECT, input);
818
+ const normalized = normalizeObjectInput(EDITOR_COMMAND_ID.SHADOW_DEBUG_INSPECT, input);
782
819
  return normalized.ok ? sources.shadows.inspectDebug(normalized.input) : normalized.result;
783
820
  },
784
821
  }),
785
822
  registerCapability({
786
823
  manifest: {
787
- schemaVersion: EDITOR_AGENT_BRIDGE_SCHEMA_VERSION,
788
- id: EDITOR_AGENT_BRIDGE_CAPABILITY_ID.SHADOW_DEBUG_CONTEXT_ENTER,
824
+ schemaVersion: EDITOR_COMMAND_CONTRACT_SCHEMA_VERSION,
825
+ id: EDITOR_COMMAND_ID.SHADOW_DEBUG_CONTEXT_ENTER,
789
826
  title: 'Enter shadow debug context',
790
827
  description: 'Enter a preview-only Shadow Debug Context for a scene object or Prefab stage target. It automatically keeps the caster, resolved receivers, shadow light, and ambient lights visible, hides unrelated projected objects, applies receiver/footprint/light overlays, and returns inspect plus visibilityMeasure evidence for screenshot validation.',
791
828
  layer: 'editor',
792
829
  category: 'shadow',
793
830
  stability: 'experimental',
794
831
  access: 'write',
795
- ...EDITOR_AGENT_BRIDGE_CAPABILITY_SCHEMAS[EDITOR_AGENT_BRIDGE_CAPABILITY_ID.SHADOW_DEBUG_CONTEXT_ENTER],
832
+ ...EDITOR_COMMAND_SCHEMAS[EDITOR_COMMAND_ID.SHADOW_DEBUG_CONTEXT_ENTER],
796
833
  },
797
834
  handler: input => {
798
- const normalized = normalizeObjectInput(EDITOR_AGENT_BRIDGE_CAPABILITY_ID.SHADOW_DEBUG_CONTEXT_ENTER, input);
835
+ const normalized = normalizeObjectInput(EDITOR_COMMAND_ID.SHADOW_DEBUG_CONTEXT_ENTER, input);
799
836
  return normalized.ok ? sources.shadows.enterDebugContext(normalized.input) : normalized.result;
800
837
  },
801
838
  }),
802
839
  registerCapability({
803
840
  manifest: {
804
- schemaVersion: EDITOR_AGENT_BRIDGE_SCHEMA_VERSION,
805
- id: EDITOR_AGENT_BRIDGE_CAPABILITY_ID.SHADOW_DEBUG_CONTEXT_CLEAR,
841
+ schemaVersion: EDITOR_COMMAND_CONTRACT_SCHEMA_VERSION,
842
+ id: EDITOR_COMMAND_ID.SHADOW_DEBUG_CONTEXT_CLEAR,
806
843
  title: 'Clear shadow debug context',
807
844
  description: 'Clear the preview-only Shadow Debug Context, including protected receiver visibility state and shadow debug overlays. This does not write scene or prefab documents.',
808
845
  layer: 'editor',
809
846
  category: 'shadow',
810
847
  stability: 'experimental',
811
848
  access: 'write',
812
- ...EDITOR_AGENT_BRIDGE_CAPABILITY_SCHEMAS[EDITOR_AGENT_BRIDGE_CAPABILITY_ID.SHADOW_DEBUG_CONTEXT_CLEAR],
849
+ ...EDITOR_COMMAND_SCHEMAS[EDITOR_COMMAND_ID.SHADOW_DEBUG_CONTEXT_CLEAR],
813
850
  },
814
851
  handler: input => {
815
- const normalized = normalizeObjectInput(EDITOR_AGENT_BRIDGE_CAPABILITY_ID.SHADOW_DEBUG_CONTEXT_CLEAR, input);
852
+ const normalized = normalizeObjectInput(EDITOR_COMMAND_ID.SHADOW_DEBUG_CONTEXT_CLEAR, input);
816
853
  return normalized.ok ? sources.shadows.clearDebugContext(normalized.input) : normalized.result;
817
854
  },
818
855
  }),
819
856
  registerCapability({
820
857
  manifest: {
821
- schemaVersion: EDITOR_AGENT_BRIDGE_SCHEMA_VERSION,
822
- id: EDITOR_AGENT_BRIDGE_CAPABILITY_ID.SHADOW_DEBUG_OVERLAY_SET,
858
+ schemaVersion: EDITOR_COMMAND_CONTRACT_SCHEMA_VERSION,
859
+ id: EDITOR_COMMAND_ID.SHADOW_DEBUG_OVERLAY_SET,
823
860
  title: 'Set shadow debug overlay',
824
861
  description: 'Show preview-only Shadow V2 debug helpers for a scene object or Prefab stage target: caster bounds, receiver bounds, light direction, expected footprint, and artifact bounds. This does not write scene or prefab documents; use before L0 screenshots to avoid visual misjudgment.',
825
862
  layer: 'editor',
826
863
  category: 'shadow',
827
864
  stability: 'experimental',
828
865
  access: 'write',
829
- ...EDITOR_AGENT_BRIDGE_CAPABILITY_SCHEMAS[EDITOR_AGENT_BRIDGE_CAPABILITY_ID.SHADOW_DEBUG_OVERLAY_SET],
866
+ ...EDITOR_COMMAND_SCHEMAS[EDITOR_COMMAND_ID.SHADOW_DEBUG_OVERLAY_SET],
830
867
  },
831
868
  handler: input => {
832
- const normalized = normalizeObjectInput(EDITOR_AGENT_BRIDGE_CAPABILITY_ID.SHADOW_DEBUG_OVERLAY_SET, input);
869
+ const normalized = normalizeObjectInput(EDITOR_COMMAND_ID.SHADOW_DEBUG_OVERLAY_SET, input);
833
870
  return normalized.ok ? sources.shadows.setDebugOverlay(normalized.input) : normalized.result;
834
871
  },
835
872
  }),
836
873
  registerCapability({
837
874
  manifest: {
838
- schemaVersion: EDITOR_AGENT_BRIDGE_SCHEMA_VERSION,
839
- id: EDITOR_AGENT_BRIDGE_CAPABILITY_ID.SHADOW_DEBUG_OVERLAY_CLEAR,
875
+ schemaVersion: EDITOR_COMMAND_CONTRACT_SCHEMA_VERSION,
876
+ id: EDITOR_COMMAND_ID.SHADOW_DEBUG_OVERLAY_CLEAR,
840
877
  title: 'Clear shadow debug overlay',
841
878
  description: 'Clear preview-only Shadow V2 debug helpers previously created by shadow.debug.overlay.set. This does not write scene or prefab documents.',
842
879
  layer: 'editor',
843
880
  category: 'shadow',
844
881
  stability: 'experimental',
845
882
  access: 'write',
846
- ...EDITOR_AGENT_BRIDGE_CAPABILITY_SCHEMAS[EDITOR_AGENT_BRIDGE_CAPABILITY_ID.SHADOW_DEBUG_OVERLAY_CLEAR],
883
+ ...EDITOR_COMMAND_SCHEMAS[EDITOR_COMMAND_ID.SHADOW_DEBUG_OVERLAY_CLEAR],
847
884
  },
848
885
  handler: input => {
849
- const normalized = normalizeObjectInput(EDITOR_AGENT_BRIDGE_CAPABILITY_ID.SHADOW_DEBUG_OVERLAY_CLEAR, input);
886
+ const normalized = normalizeObjectInput(EDITOR_COMMAND_ID.SHADOW_DEBUG_OVERLAY_CLEAR, input);
850
887
  return normalized.ok ? sources.shadows.clearDebugOverlay(normalized.input) : normalized.result;
851
888
  },
852
889
  }),
853
890
  registerCapability({
854
891
  manifest: {
855
- schemaVersion: EDITOR_AGENT_BRIDGE_SCHEMA_VERSION,
856
- id: EDITOR_AGENT_BRIDGE_CAPABILITY_ID.SHADOW_DEBUG_VISIBILITY_MEASURE,
892
+ schemaVersion: EDITOR_COMMAND_CONTRACT_SCHEMA_VERSION,
893
+ id: EDITOR_COMMAND_ID.SHADOW_DEBUG_VISIBILITY_MEASURE,
857
894
  title: 'Measure shadow visibility',
858
895
  description: 'Return a structured Shadow V2 visibility score for a scene object or Prefab stage target. Use after shadow.debug.inspect or shadow.debug.overlay.set to avoid judging shadow success by screenshot alone. MVP measurement is structural when pixel readback is unavailable.',
859
896
  layer: 'editor',
860
897
  category: 'shadow',
861
898
  stability: 'experimental',
862
899
  access: 'read',
863
- ...EDITOR_AGENT_BRIDGE_CAPABILITY_SCHEMAS[EDITOR_AGENT_BRIDGE_CAPABILITY_ID.SHADOW_DEBUG_VISIBILITY_MEASURE],
900
+ ...EDITOR_COMMAND_SCHEMAS[EDITOR_COMMAND_ID.SHADOW_DEBUG_VISIBILITY_MEASURE],
864
901
  },
865
902
  handler: input => {
866
- const normalized = normalizeObjectInput(EDITOR_AGENT_BRIDGE_CAPABILITY_ID.SHADOW_DEBUG_VISIBILITY_MEASURE, input);
903
+ const normalized = normalizeObjectInput(EDITOR_COMMAND_ID.SHADOW_DEBUG_VISIBILITY_MEASURE, input);
867
904
  return normalized.ok ? sources.shadows.measureVisibility(normalized.input) : normalized.result;
868
905
  },
869
906
  }),
870
907
  ...(EDITOR_SHADOW_STATIC_AUTHORING_ENABLED ? [
871
908
  registerCapability({
872
909
  manifest: {
873
- schemaVersion: EDITOR_AGENT_BRIDGE_SCHEMA_VERSION,
874
- id: EDITOR_AGENT_BRIDGE_CAPABILITY_ID.SHADOW_STATIC_BAKE,
910
+ schemaVersion: EDITOR_COMMAND_CONTRACT_SCHEMA_VERSION,
911
+ id: EDITOR_COMMAND_ID.SHADOW_STATIC_BAKE,
875
912
  title: 'Bake static shadow',
876
913
  description: 'Request a static shadow bake for the resolved Shadow V2 scene target through the editor rendering action pipeline. Use after shadow.resolvePreview confirms a static plan and receivers; prefab stage policies bake after placement in a scene.',
877
914
  layer: 'editor',
878
915
  category: 'shadow',
879
916
  stability: 'experimental',
880
917
  access: 'write',
881
- ...EDITOR_AGENT_BRIDGE_CAPABILITY_SCHEMAS[EDITOR_AGENT_BRIDGE_CAPABILITY_ID.SHADOW_STATIC_BAKE],
918
+ ...EDITOR_COMMAND_SCHEMAS[EDITOR_COMMAND_ID.SHADOW_STATIC_BAKE],
882
919
  },
883
920
  handler: input => {
884
- const normalized = normalizeObjectInput(EDITOR_AGENT_BRIDGE_CAPABILITY_ID.SHADOW_STATIC_BAKE, input);
921
+ const normalized = normalizeObjectInput(EDITOR_COMMAND_ID.SHADOW_STATIC_BAKE, input);
885
922
  return normalized.ok ? sources.shadows.bakeStatic(normalized.input) : normalized.result;
886
923
  },
887
924
  }),
888
925
  registerCapability({
889
926
  manifest: {
890
- schemaVersion: EDITOR_AGENT_BRIDGE_SCHEMA_VERSION,
891
- id: EDITOR_AGENT_BRIDGE_CAPABILITY_ID.SHADOW_STATIC_INVALIDATE,
927
+ schemaVersion: EDITOR_COMMAND_CONTRACT_SCHEMA_VERSION,
928
+ id: EDITOR_COMMAND_ID.SHADOW_STATIC_INVALIDATE,
892
929
  title: 'Invalidate static shadow',
893
930
  description: 'Mark a static Shadow V2 scene target as stale so agents and users know a rebake is required after transform, receiver, light, or policy changes.',
894
931
  layer: 'editor',
895
932
  category: 'shadow',
896
933
  stability: 'experimental',
897
934
  access: 'write',
898
- ...EDITOR_AGENT_BRIDGE_CAPABILITY_SCHEMAS[EDITOR_AGENT_BRIDGE_CAPABILITY_ID.SHADOW_STATIC_INVALIDATE],
935
+ ...EDITOR_COMMAND_SCHEMAS[EDITOR_COMMAND_ID.SHADOW_STATIC_INVALIDATE],
899
936
  },
900
937
  handler: input => {
901
- const normalized = normalizeObjectInput(EDITOR_AGENT_BRIDGE_CAPABILITY_ID.SHADOW_STATIC_INVALIDATE, input);
938
+ const normalized = normalizeObjectInput(EDITOR_COMMAND_ID.SHADOW_STATIC_INVALIDATE, input);
902
939
  return normalized.ok ? sources.shadows.invalidateStatic(normalized.input) : normalized.result;
903
940
  },
904
941
  }),
905
942
  ] : []),
906
943
  registerCapability({
907
944
  manifest: {
908
- schemaVersion: EDITOR_AGENT_BRIDGE_SCHEMA_VERSION,
909
- id: EDITOR_AGENT_BRIDGE_CAPABILITY_ID.TRANSFORM_MOVE,
945
+ schemaVersion: EDITOR_COMMAND_CONTRACT_SCHEMA_VERSION,
946
+ id: EDITOR_COMMAND_ID.TRANSFORM_MOVE,
910
947
  title: 'Move object',
911
948
  description: 'Move a scene object by absolute position or relative offset after editorReady=true. Provide exactly one of position or offset; the capability uses the editor document adapter path and returns before/after transform state.',
912
949
  layer: 'editor',
913
950
  category: 'transform',
914
951
  stability: 'experimental',
915
952
  access: 'write',
916
- ...EDITOR_AGENT_BRIDGE_CAPABILITY_SCHEMAS[EDITOR_AGENT_BRIDGE_CAPABILITY_ID.TRANSFORM_MOVE],
953
+ ...EDITOR_COMMAND_SCHEMAS[EDITOR_COMMAND_ID.TRANSFORM_MOVE],
917
954
  },
918
955
  handler: input => sources.transform.move(input),
919
956
  }),
920
957
  registerCapability({
921
958
  manifest: {
922
- schemaVersion: EDITOR_AGENT_BRIDGE_SCHEMA_VERSION,
923
- id: EDITOR_AGENT_BRIDGE_CAPABILITY_ID.TRANSFORM_SET,
959
+ schemaVersion: EDITOR_COMMAND_CONTRACT_SCHEMA_VERSION,
960
+ id: EDITOR_COMMAND_ID.TRANSFORM_SET,
924
961
  title: 'Set object transform',
925
962
  description: 'Set one or more absolute TRS fields on an editor scene object after editorReady=true. Provide objectId and at least one of position, rotation, or scale; the capability uses the editor document adapter path and returns before/after transform state.',
926
963
  layer: 'editor',
927
964
  category: 'transform',
928
965
  stability: 'experimental',
929
966
  access: 'write',
930
- ...EDITOR_AGENT_BRIDGE_CAPABILITY_SCHEMAS[EDITOR_AGENT_BRIDGE_CAPABILITY_ID.TRANSFORM_SET],
967
+ ...EDITOR_COMMAND_SCHEMAS[EDITOR_COMMAND_ID.TRANSFORM_SET],
931
968
  },
932
969
  handler: input => sources.transform.set(input),
933
970
  }),
934
971
  registerCapability({
935
972
  manifest: {
936
- schemaVersion: EDITOR_AGENT_BRIDGE_SCHEMA_VERSION,
937
- id: EDITOR_AGENT_BRIDGE_CAPABILITY_ID.VIEWPORT_FOCUS_OBJECT,
973
+ schemaVersion: EDITOR_COMMAND_CONTRACT_SCHEMA_VERSION,
974
+ id: EDITOR_COMMAND_ID.VIEWPORT_FOCUS_OBJECT,
938
975
  title: 'Focus object in viewport',
939
976
  description: 'Frame a scene object in the editor viewport after editorReady=true. Use this for semantic viewport focus instead of browser scrolling, dragging, or clicking the canvas.',
940
977
  layer: 'editor',
941
978
  category: 'viewport',
942
979
  stability: 'experimental',
943
980
  access: 'write',
944
- ...EDITOR_AGENT_BRIDGE_CAPABILITY_SCHEMAS[EDITOR_AGENT_BRIDGE_CAPABILITY_ID.VIEWPORT_FOCUS_OBJECT],
981
+ ...EDITOR_COMMAND_SCHEMAS[EDITOR_COMMAND_ID.VIEWPORT_FOCUS_OBJECT],
945
982
  },
946
983
  handler: input => sources.viewport.focusObject(input),
947
984
  }),
948
985
  registerCapability({
949
986
  manifest: {
950
- schemaVersion: EDITOR_AGENT_BRIDGE_SCHEMA_VERSION,
951
- id: EDITOR_AGENT_BRIDGE_CAPABILITY_ID.VIEWPORT_FRAME_SELECTION,
987
+ schemaVersion: EDITOR_COMMAND_CONTRACT_SCHEMA_VERSION,
988
+ id: EDITOR_COMMAND_ID.VIEWPORT_FRAME_SELECTION,
952
989
  title: 'Frame selected object',
953
990
  description: 'Frame the current editor selection in the viewport after editorReady=true. Use after selection.set or transform operations when the active object is already selected.',
954
991
  layer: 'editor',
955
992
  category: 'viewport',
956
993
  stability: 'experimental',
957
994
  access: 'write',
958
- ...EDITOR_AGENT_BRIDGE_CAPABILITY_SCHEMAS[EDITOR_AGENT_BRIDGE_CAPABILITY_ID.VIEWPORT_FRAME_SELECTION],
995
+ ...EDITOR_COMMAND_SCHEMAS[EDITOR_COMMAND_ID.VIEWPORT_FRAME_SELECTION],
959
996
  },
960
997
  handler: input => {
961
- const normalized = normalizeObjectInput(EDITOR_AGENT_BRIDGE_CAPABILITY_ID.VIEWPORT_FRAME_SELECTION, input);
998
+ const normalized = normalizeObjectInput(EDITOR_COMMAND_ID.VIEWPORT_FRAME_SELECTION, input);
962
999
  return normalized.ok ? sources.viewport.frameSelection(normalized.input) : normalized.result;
963
1000
  },
964
1001
  }),
965
1002
  registerCapability({
966
1003
  manifest: {
967
- schemaVersion: EDITOR_AGENT_BRIDGE_SCHEMA_VERSION,
968
- id: EDITOR_AGENT_BRIDGE_CAPABILITY_ID.VIEWPORT_VISIBILITY_SNAPSHOT,
1004
+ schemaVersion: EDITOR_COMMAND_CONTRACT_SCHEMA_VERSION,
1005
+ id: EDITOR_COMMAND_ID.VIEWPORT_VISIBILITY_SNAPSHOT,
969
1006
  title: 'Get preview visibility overrides',
970
1007
  description: 'Read preview-only visibility and isolation overrides. Use during visual debugging to understand what the editor viewport is temporarily hiding; this never reads or writes scene/prefab authored visibility.',
971
1008
  layer: 'editor',
972
1009
  category: 'viewport',
973
1010
  stability: 'experimental',
974
1011
  access: 'read',
975
- ...EDITOR_AGENT_BRIDGE_CAPABILITY_SCHEMAS[EDITOR_AGENT_BRIDGE_CAPABILITY_ID.VIEWPORT_VISIBILITY_SNAPSHOT],
1012
+ ...EDITOR_COMMAND_SCHEMAS[EDITOR_COMMAND_ID.VIEWPORT_VISIBILITY_SNAPSHOT],
976
1013
  },
977
1014
  handler: input => {
978
- const normalized = normalizeObjectInput(EDITOR_AGENT_BRIDGE_CAPABILITY_ID.VIEWPORT_VISIBILITY_SNAPSHOT, input);
1015
+ const normalized = normalizeObjectInput(EDITOR_COMMAND_ID.VIEWPORT_VISIBILITY_SNAPSHOT, input);
979
1016
  return normalized.ok ? sources.viewport.getVisibilitySnapshot(normalized.input) : normalized.result;
980
1017
  },
981
1018
  }),
982
1019
  registerCapability({
983
1020
  manifest: {
984
- schemaVersion: EDITOR_AGENT_BRIDGE_SCHEMA_VERSION,
985
- id: EDITOR_AGENT_BRIDGE_CAPABILITY_ID.VIEWPORT_VISIBILITY_SET,
1021
+ schemaVersion: EDITOR_COMMAND_CONTRACT_SCHEMA_VERSION,
1022
+ id: EDITOR_COMMAND_ID.VIEWPORT_VISIBILITY_SET,
986
1023
  title: 'Set preview visibility',
987
1024
  description: 'Temporarily hide or show projected objects in the editor viewport for debugging. This is preview-only: it does not change scene object active/visible fields or prefab documents, and authored inactive objects are not revived.',
988
1025
  layer: 'editor',
989
1026
  category: 'viewport',
990
1027
  stability: 'experimental',
991
1028
  access: 'write',
992
- ...EDITOR_AGENT_BRIDGE_CAPABILITY_SCHEMAS[EDITOR_AGENT_BRIDGE_CAPABILITY_ID.VIEWPORT_VISIBILITY_SET],
1029
+ ...EDITOR_COMMAND_SCHEMAS[EDITOR_COMMAND_ID.VIEWPORT_VISIBILITY_SET],
993
1030
  },
994
1031
  handler: input => {
995
- const normalized = normalizeObjectInput(EDITOR_AGENT_BRIDGE_CAPABILITY_ID.VIEWPORT_VISIBILITY_SET, input);
1032
+ const normalized = normalizeObjectInput(EDITOR_COMMAND_ID.VIEWPORT_VISIBILITY_SET, input);
996
1033
  return normalized.ok ? sources.viewport.setVisibility(normalized.input) : normalized.result;
997
1034
  },
998
1035
  }),
999
1036
  registerCapability({
1000
1037
  manifest: {
1001
- schemaVersion: EDITOR_AGENT_BRIDGE_SCHEMA_VERSION,
1002
- id: EDITOR_AGENT_BRIDGE_CAPABILITY_ID.VIEWPORT_VISIBILITY_CLEAR,
1038
+ schemaVersion: EDITOR_COMMAND_CONTRACT_SCHEMA_VERSION,
1039
+ id: EDITOR_COMMAND_ID.VIEWPORT_VISIBILITY_CLEAR,
1003
1040
  title: 'Clear preview visibility overrides',
1004
1041
  description: 'Clear all preview-only visibility and isolation overrides, restoring the viewport to authored active/visible state without writing scene or prefab data.',
1005
1042
  layer: 'editor',
1006
1043
  category: 'viewport',
1007
1044
  stability: 'experimental',
1008
1045
  access: 'write',
1009
- ...EDITOR_AGENT_BRIDGE_CAPABILITY_SCHEMAS[EDITOR_AGENT_BRIDGE_CAPABILITY_ID.VIEWPORT_VISIBILITY_CLEAR],
1046
+ ...EDITOR_COMMAND_SCHEMAS[EDITOR_COMMAND_ID.VIEWPORT_VISIBILITY_CLEAR],
1010
1047
  },
1011
1048
  handler: input => {
1012
- const normalized = normalizeObjectInput(EDITOR_AGENT_BRIDGE_CAPABILITY_ID.VIEWPORT_VISIBILITY_CLEAR, input);
1049
+ const normalized = normalizeObjectInput(EDITOR_COMMAND_ID.VIEWPORT_VISIBILITY_CLEAR, input);
1013
1050
  return normalized.ok ? sources.viewport.clearVisibility(normalized.input) : normalized.result;
1014
1051
  },
1015
1052
  }),
1016
1053
  registerCapability({
1017
1054
  manifest: {
1018
- schemaVersion: EDITOR_AGENT_BRIDGE_SCHEMA_VERSION,
1019
- id: EDITOR_AGENT_BRIDGE_CAPABILITY_ID.VIEWPORT_ISOLATION_ENTER,
1055
+ schemaVersion: EDITOR_COMMAND_CONTRACT_SCHEMA_VERSION,
1056
+ id: EDITOR_COMMAND_ID.VIEWPORT_ISOLATION_ENTER,
1020
1057
  title: 'Enter preview isolation',
1021
1058
  description: 'Temporarily isolate projected objects in the editor viewport by hiding unrelated objects. Use this before shadow screenshots to remove visual clutter; this is preview-only and never writes scene or prefab data.',
1022
1059
  layer: 'editor',
1023
1060
  category: 'viewport',
1024
1061
  stability: 'experimental',
1025
1062
  access: 'write',
1026
- ...EDITOR_AGENT_BRIDGE_CAPABILITY_SCHEMAS[EDITOR_AGENT_BRIDGE_CAPABILITY_ID.VIEWPORT_ISOLATION_ENTER],
1063
+ ...EDITOR_COMMAND_SCHEMAS[EDITOR_COMMAND_ID.VIEWPORT_ISOLATION_ENTER],
1027
1064
  },
1028
1065
  handler: input => {
1029
- const normalized = normalizeObjectInput(EDITOR_AGENT_BRIDGE_CAPABILITY_ID.VIEWPORT_ISOLATION_ENTER, input);
1066
+ const normalized = normalizeObjectInput(EDITOR_COMMAND_ID.VIEWPORT_ISOLATION_ENTER, input);
1030
1067
  return normalized.ok ? sources.viewport.enterIsolation(normalized.input) : normalized.result;
1031
1068
  },
1032
1069
  }),
1033
1070
  registerCapability({
1034
1071
  manifest: {
1035
- schemaVersion: EDITOR_AGENT_BRIDGE_SCHEMA_VERSION,
1036
- id: EDITOR_AGENT_BRIDGE_CAPABILITY_ID.VIEWPORT_CAMERA_GET,
1072
+ schemaVersion: EDITOR_COMMAND_CONTRACT_SCHEMA_VERSION,
1073
+ id: EDITOR_COMMAND_ID.VIEWPORT_CAMERA_GET,
1037
1074
  title: 'Get viewport camera state',
1038
1075
  description: 'Read the editor viewport camera state after editorReady=true. Use this to inspect the current view preset, projection, target, pose, radius, and selection before visual analysis.',
1039
1076
  layer: 'editor',
1040
1077
  category: 'viewport',
1041
1078
  stability: 'experimental',
1042
1079
  access: 'read',
1043
- ...EDITOR_AGENT_BRIDGE_CAPABILITY_SCHEMAS[EDITOR_AGENT_BRIDGE_CAPABILITY_ID.VIEWPORT_CAMERA_GET],
1080
+ ...EDITOR_COMMAND_SCHEMAS[EDITOR_COMMAND_ID.VIEWPORT_CAMERA_GET],
1044
1081
  },
1045
1082
  handler: input => {
1046
- const normalized = normalizeObjectInput(EDITOR_AGENT_BRIDGE_CAPABILITY_ID.VIEWPORT_CAMERA_GET, input);
1083
+ const normalized = normalizeObjectInput(EDITOR_COMMAND_ID.VIEWPORT_CAMERA_GET, input);
1047
1084
  return normalized.ok ? sources.viewport.getCamera(normalized.input) : normalized.result;
1048
1085
  },
1049
1086
  }),
1050
1087
  registerCapability({
1051
1088
  manifest: {
1052
- schemaVersion: EDITOR_AGENT_BRIDGE_SCHEMA_VERSION,
1053
- id: EDITOR_AGENT_BRIDGE_CAPABILITY_ID.VIEWPORT_CAMERA_SET_PRESET,
1089
+ schemaVersion: EDITOR_COMMAND_CONTRACT_SCHEMA_VERSION,
1090
+ id: EDITOR_COMMAND_ID.VIEWPORT_CAMERA_SET_PRESET,
1054
1091
  title: 'Set viewport camera preset',
1055
1092
  description: 'Set a stable editor viewport camera preset after editorReady=true. Prefer top/front/side/iso/threeQuarterTop presets for agent visual analysis before falling back to browser screenshots.',
1056
1093
  layer: 'editor',
1057
1094
  category: 'viewport',
1058
1095
  stability: 'experimental',
1059
1096
  access: 'write',
1060
- ...EDITOR_AGENT_BRIDGE_CAPABILITY_SCHEMAS[EDITOR_AGENT_BRIDGE_CAPABILITY_ID.VIEWPORT_CAMERA_SET_PRESET],
1097
+ ...EDITOR_COMMAND_SCHEMAS[EDITOR_COMMAND_ID.VIEWPORT_CAMERA_SET_PRESET],
1061
1098
  },
1062
1099
  handler: input => {
1063
- const normalized = normalizeObjectInput(EDITOR_AGENT_BRIDGE_CAPABILITY_ID.VIEWPORT_CAMERA_SET_PRESET, input);
1100
+ const normalized = normalizeObjectInput(EDITOR_COMMAND_ID.VIEWPORT_CAMERA_SET_PRESET, input);
1064
1101
  return normalized.ok ? sources.viewport.setCameraPreset(normalized.input) : normalized.result;
1065
1102
  },
1066
1103
  }),
1067
1104
  registerCapability({
1068
1105
  manifest: {
1069
- schemaVersion: EDITOR_AGENT_BRIDGE_SCHEMA_VERSION,
1070
- id: EDITOR_AGENT_BRIDGE_CAPABILITY_ID.VIEWPORT_CAMERA_ORBIT,
1106
+ schemaVersion: EDITOR_COMMAND_CONTRACT_SCHEMA_VERSION,
1107
+ id: EDITOR_COMMAND_ID.VIEWPORT_CAMERA_ORBIT,
1071
1108
  title: 'Orbit viewport camera',
1072
1109
  description: 'Apply a semantic yaw/pitch/distance adjustment to the editor viewport camera after editorReady=true. Use for small inspection adjustments after a preset establishes the baseline view.',
1073
1110
  layer: 'editor',
1074
1111
  category: 'viewport',
1075
1112
  stability: 'experimental',
1076
1113
  access: 'write',
1077
- ...EDITOR_AGENT_BRIDGE_CAPABILITY_SCHEMAS[EDITOR_AGENT_BRIDGE_CAPABILITY_ID.VIEWPORT_CAMERA_ORBIT],
1114
+ ...EDITOR_COMMAND_SCHEMAS[EDITOR_COMMAND_ID.VIEWPORT_CAMERA_ORBIT],
1078
1115
  },
1079
1116
  handler: input => {
1080
- const normalized = normalizeObjectInput(EDITOR_AGENT_BRIDGE_CAPABILITY_ID.VIEWPORT_CAMERA_ORBIT, input);
1117
+ const normalized = normalizeObjectInput(EDITOR_COMMAND_ID.VIEWPORT_CAMERA_ORBIT, input);
1081
1118
  return normalized.ok ? sources.viewport.orbitCamera(normalized.input) : normalized.result;
1082
1119
  },
1083
1120
  }),
1084
1121
  registerCapability({
1085
1122
  manifest: {
1086
- schemaVersion: EDITOR_AGENT_BRIDGE_SCHEMA_VERSION,
1087
- id: EDITOR_AGENT_BRIDGE_CAPABILITY_ID.EDITOR_SNAPSHOT_GET,
1123
+ schemaVersion: EDITOR_COMMAND_CONTRACT_SCHEMA_VERSION,
1124
+ id: EDITOR_COMMAND_ID.EDITOR_SNAPSHOT_GET,
1088
1125
  title: 'Get editor snapshot',
1089
1126
  description: 'Read a lightweight editor summary after editorReady=true. By default it returns mode, busy/dirty/status, selection, and objectCount; request includeObjects with objectLimit only when object summaries are needed.',
1090
1127
  layer: 'editor',
1091
1128
  category: 'state',
1092
1129
  stability: 'experimental',
1093
1130
  access: 'read',
1094
- ...EDITOR_AGENT_BRIDGE_CAPABILITY_SCHEMAS[EDITOR_AGENT_BRIDGE_CAPABILITY_ID.EDITOR_SNAPSHOT_GET],
1131
+ ...EDITOR_COMMAND_SCHEMAS[EDITOR_COMMAND_ID.EDITOR_SNAPSHOT_GET],
1095
1132
  },
1096
1133
  handler: input => {
1097
- const normalized = normalizeObjectInput(EDITOR_AGENT_BRIDGE_CAPABILITY_ID.EDITOR_SNAPSHOT_GET, input);
1134
+ const normalized = normalizeObjectInput(EDITOR_COMMAND_ID.EDITOR_SNAPSHOT_GET, input);
1098
1135
  return normalized.ok ? sources.state.getSnapshot(normalized.input) : normalized.result;
1099
1136
  },
1100
1137
  }),
1101
1138
  registerCapability({
1102
1139
  manifest: {
1103
- schemaVersion: EDITOR_AGENT_BRIDGE_SCHEMA_VERSION,
1104
- id: EDITOR_AGENT_BRIDGE_CAPABILITY_ID.EDITOR_STATE_GET,
1140
+ schemaVersion: EDITOR_COMMAND_CONTRACT_SCHEMA_VERSION,
1141
+ id: EDITOR_COMMAND_ID.EDITOR_STATE_GET,
1105
1142
  title: 'Get editor state',
1106
1143
  description: 'Read editor mode, status, selection, dirty state, and optional object summary. Use for verification after L1/L2 operations and for diagnostics before falling back to browser automation.',
1107
1144
  layer: 'editor',
1108
1145
  category: 'state',
1109
1146
  stability: 'experimental',
1110
1147
  access: 'read',
1111
- ...EDITOR_AGENT_BRIDGE_CAPABILITY_SCHEMAS[EDITOR_AGENT_BRIDGE_CAPABILITY_ID.EDITOR_STATE_GET],
1148
+ ...EDITOR_COMMAND_SCHEMAS[EDITOR_COMMAND_ID.EDITOR_STATE_GET],
1112
1149
  },
1113
1150
  handler: input => sources.state.getState(input ?? {}),
1114
1151
  }),
1115
1152
  registerCapability({
1116
1153
  manifest: {
1117
- schemaVersion: EDITOR_AGENT_BRIDGE_SCHEMA_VERSION,
1118
- id: EDITOR_AGENT_BRIDGE_CAPABILITY_ID.EDITOR_DIAGNOSTICS_LIST,
1154
+ schemaVersion: EDITOR_COMMAND_CONTRACT_SCHEMA_VERSION,
1155
+ id: EDITOR_COMMAND_ID.EDITOR_DIAGNOSTICS_LIST,
1119
1156
  title: 'List editor diagnostics',
1120
1157
  description: 'Read the same revision-aware diagnostics shown in the top-toolbar Validation Center, optionally filtered by severity, phase, or source.',
1121
1158
  layer: 'editor',
1122
1159
  category: 'state',
1123
1160
  stability: 'experimental',
1124
1161
  access: 'read',
1125
- ...EDITOR_AGENT_BRIDGE_CAPABILITY_SCHEMAS[EDITOR_AGENT_BRIDGE_CAPABILITY_ID.EDITOR_DIAGNOSTICS_LIST],
1162
+ ...EDITOR_COMMAND_SCHEMAS[EDITOR_COMMAND_ID.EDITOR_DIAGNOSTICS_LIST],
1126
1163
  },
1127
1164
  handler: input => sources.state.listDiagnostics(input ?? {}),
1128
1165
  }),
@@ -1139,7 +1176,7 @@ function normalizeObjectInput(capabilityId, input) {
1139
1176
  return { ok: true, input: input };
1140
1177
  return {
1141
1178
  ok: false,
1142
- result: createLocalEditorAgentBridgeFailure(capabilityId, `${capabilityId} input must be an object.`, { code: 'host.invalidInput' }),
1179
+ result: createLocalEditorCommandFailure(capabilityId, `${capabilityId} input must be an object.`, { code: 'host.invalidInput' }),
1143
1180
  };
1144
1181
  }
1145
1182
  //# sourceMappingURL=register.js.map