@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
@@ -0,0 +1,5 @@
1
+ import type { LocalEditorCommandTransformSource } from '../source-types.js';
2
+ import { type LocalEditorCommandCapabilitySourceOperations, type LocalEditorCommandHarnessState } from '../shared.js';
3
+ import type { LocalEditorHarnessOptions } from '../../local-editor-harness.js';
4
+ export declare function createLocalEditorCommandTransformSource<TDocument, TPatch, TAsset>(state: LocalEditorCommandHarnessState<TDocument, TPatch>, options: LocalEditorHarnessOptions<TDocument, TPatch, TAsset>, renderUi: () => void, operations: LocalEditorCommandCapabilitySourceOperations<TDocument>): LocalEditorCommandTransformSource;
5
+ //# sourceMappingURL=transform.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transform.d.ts","sourceRoot":"","sources":["../../../src/editor-commands/capabilities/transform.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,iCAAiC,EAAE,MAAM,oBAAoB,CAAC;AAC5E,OAAO,EAKL,KAAK,4CAA4C,EACjD,KAAK,8BAA8B,EACpC,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAC;AAE/E,wBAAgB,uCAAuC,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAC/E,KAAK,EAAE,8BAA8B,CAAC,SAAS,EAAE,MAAM,CAAC,EACxD,OAAO,EAAE,yBAAyB,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,EAC7D,QAAQ,EAAE,MAAM,IAAI,EACpB,UAAU,EAAE,4CAA4C,CAAC,SAAS,CAAC,GAClE,iCAAiC,CASnC"}
@@ -0,0 +1,164 @@
1
+ import { isEditorTransformTrsSnapshot, } from '@fps-games/editor-core';
2
+ import { EDITOR_COMMAND_ID, } from '@fps-games/editor-protocol';
3
+ import { cloneVec3, createLocalEditorCommandFailure, editorTransformSnapshotToAgentTransform, isLocalEditorCommandVec3, } from '../diagnostics.js';
4
+ import { cloneEditorCommandSelection, getEditorCommandSafeSceneSelection, isEditorCommandDocumentNodeSelectable, isEditorCommandSafeSceneObjectId, } from '../shared.js';
5
+ export function createLocalEditorCommandTransformSource(state, options, renderUi, operations) {
6
+ return {
7
+ move(input) {
8
+ return moveEditorCommandObject(state, options, input, renderUi, operations);
9
+ },
10
+ set(input) {
11
+ return setEditorCommandObjectTransform(state, options, input, renderUi, operations);
12
+ },
13
+ };
14
+ }
15
+ function moveEditorCommandObject(state, options, input, renderUi, operations) {
16
+ const objectId = typeof input?.objectId === 'string' ? input.objectId.trim() : '';
17
+ if (!objectId) {
18
+ return createLocalEditorCommandFailure(EDITOR_COMMAND_ID.TRANSFORM_MOVE, 'transform.move requires objectId.', { code: 'transform.invalidInput' });
19
+ }
20
+ const hasPosition = input.position !== undefined;
21
+ const hasOffset = input.offset !== undefined;
22
+ if (hasPosition === hasOffset) {
23
+ return createLocalEditorCommandFailure(EDITOR_COMMAND_ID.TRANSFORM_MOVE, 'transform.move requires exactly one of position or offset.', { code: 'transform.invalidInput', objectId });
24
+ }
25
+ const movePosition = hasPosition && isLocalEditorCommandVec3(input.position) ? input.position : null;
26
+ const moveOffset = hasOffset && isLocalEditorCommandVec3(input.offset) ? input.offset : null;
27
+ if ((hasPosition && !movePosition) || (hasOffset && !moveOffset)) {
28
+ return createLocalEditorCommandFailure(EDITOR_COMMAND_ID.TRANSFORM_MOVE, 'transform.move position or offset must be a finite Vec3.', { code: 'transform.invalidVec3', objectId });
29
+ }
30
+ if (state.mode !== 'editor' || !state.session) {
31
+ return createLocalEditorCommandFailure(EDITOR_COMMAND_ID.TRANSFORM_MOVE, 'Editor is not in edit mode.', { code: 'editor.notReady', objectId });
32
+ }
33
+ const document = state.session.getState({ cloneDocuments: false }).workingDocument;
34
+ if (!isEditorCommandSafeSceneObjectId(operations, objectId)
35
+ || !isEditorCommandDocumentNodeSelectable(options, document, objectId)) {
36
+ return createLocalEditorCommandFailure(EDITOR_COMMAND_ID.TRANSFORM_MOVE, `Object is not movable: ${objectId}`, { code: 'transform.notSelectable', objectId });
37
+ }
38
+ const before = state.projection?.readNodeTransform(objectId) ?? null;
39
+ if (!before || !isEditorTransformTrsSnapshot(before)) {
40
+ return createLocalEditorCommandFailure(EDITOR_COMMAND_ID.TRANSFORM_MOVE, `Object does not have an editable TRS transform: ${objectId}`, { code: 'transform.unsupported', objectId });
41
+ }
42
+ const after = operations.cloneTransformSnapshot(before);
43
+ if (!isEditorTransformTrsSnapshot(after)) {
44
+ return createLocalEditorCommandFailure(EDITOR_COMMAND_ID.TRANSFORM_MOVE, `Object does not have an editable TRS transform: ${objectId}`, { code: 'transform.unsupported', objectId });
45
+ }
46
+ after.position = movePosition
47
+ ? cloneVec3(movePosition)
48
+ : addEditorCommandVec3(after.position, moveOffset);
49
+ return dispatchEditorCommandTransformPatch(state, options, {
50
+ capabilityId: EDITOR_COMMAND_ID.TRANSFORM_MOVE,
51
+ objectId,
52
+ before,
53
+ after,
54
+ tool: 'move',
55
+ label: `Agent move ${objectId}`,
56
+ }, renderUi, operations);
57
+ }
58
+ function setEditorCommandObjectTransform(state, options, input, renderUi, operations) {
59
+ const objectId = typeof input?.objectId === 'string' ? input.objectId.trim() : '';
60
+ if (!objectId) {
61
+ return createLocalEditorCommandFailure(EDITOR_COMMAND_ID.TRANSFORM_SET, 'transform.set requires objectId.', { code: 'transform.invalidInput' });
62
+ }
63
+ const hasPosition = input.position !== undefined;
64
+ const hasRotation = input.rotation !== undefined;
65
+ const hasScale = input.scale !== undefined;
66
+ if (!hasPosition && !hasRotation && !hasScale) {
67
+ return createLocalEditorCommandFailure(EDITOR_COMMAND_ID.TRANSFORM_SET, 'transform.set requires at least one of position, rotation, or scale.', { code: 'transform.invalidInput', objectId });
68
+ }
69
+ const position = hasPosition && isLocalEditorCommandVec3(input.position) ? input.position : null;
70
+ const rotation = hasRotation && isLocalEditorCommandVec3(input.rotation) ? input.rotation : null;
71
+ const scale = hasScale && isLocalEditorCommandVec3(input.scale) ? input.scale : null;
72
+ if ((hasPosition && !position) || (hasRotation && !rotation) || (hasScale && !scale)) {
73
+ return createLocalEditorCommandFailure(EDITOR_COMMAND_ID.TRANSFORM_SET, 'transform.set position, rotation, and scale must be finite Vec3 values when provided.', { code: 'transform.invalidVec3', objectId });
74
+ }
75
+ if (state.mode !== 'editor' || !state.session) {
76
+ return createLocalEditorCommandFailure(EDITOR_COMMAND_ID.TRANSFORM_SET, 'Editor is not in edit mode.', { code: 'editor.notReady', objectId });
77
+ }
78
+ const document = state.session.getState({ cloneDocuments: false }).workingDocument;
79
+ if (!isEditorCommandSafeSceneObjectId(operations, objectId)
80
+ || !isEditorCommandDocumentNodeSelectable(options, document, objectId)) {
81
+ return createLocalEditorCommandFailure(EDITOR_COMMAND_ID.TRANSFORM_SET, `Object is not transformable: ${objectId}`, { code: 'transform.notSelectable', objectId });
82
+ }
83
+ const before = state.projection?.readNodeTransform(objectId) ?? null;
84
+ if (!before || !isEditorTransformTrsSnapshot(before)) {
85
+ return createLocalEditorCommandFailure(EDITOR_COMMAND_ID.TRANSFORM_SET, `Object does not have an editable TRS transform: ${objectId}`, { code: 'transform.unsupported', objectId });
86
+ }
87
+ const after = operations.cloneTransformSnapshot(before);
88
+ if (!isEditorTransformTrsSnapshot(after)) {
89
+ return createLocalEditorCommandFailure(EDITOR_COMMAND_ID.TRANSFORM_SET, `Object does not have an editable TRS transform: ${objectId}`, { code: 'transform.unsupported', objectId });
90
+ }
91
+ if (position)
92
+ after.position = cloneVec3(position);
93
+ if (rotation)
94
+ after.rotation = cloneVec3(rotation);
95
+ if (scale)
96
+ after.scale = cloneVec3(scale);
97
+ return dispatchEditorCommandTransformPatch(state, options, {
98
+ capabilityId: EDITOR_COMMAND_ID.TRANSFORM_SET,
99
+ objectId,
100
+ before,
101
+ after,
102
+ tool: position ? 'move' : rotation ? 'rotate' : 'scale',
103
+ label: `Agent set transform ${objectId}`,
104
+ }, renderUi, operations);
105
+ }
106
+ function dispatchEditorCommandTransformPatch(state, options, input, renderUi, operations) {
107
+ const { capabilityId, objectId, before, after, tool, label } = input;
108
+ if (state.mode !== 'editor' || !state.session) {
109
+ return createLocalEditorCommandFailure(capabilityId, 'Editor is not in edit mode.', { code: 'editor.notReady', objectId });
110
+ }
111
+ const document = state.session.getState({ cloneDocuments: false }).workingDocument;
112
+ const patch = options.documentAdapter.createTransformPatch?.({
113
+ document,
114
+ targetId: objectId,
115
+ tool,
116
+ space: 'world',
117
+ constraint: 'free',
118
+ before,
119
+ after,
120
+ });
121
+ if (!patch) {
122
+ return createLocalEditorCommandFailure(capabilityId, `Transform patch was not created for object: ${objectId}`, { code: 'transform.patchUnavailable', objectId });
123
+ }
124
+ const result = state.session.dispatch({
125
+ type: 'document.patch',
126
+ label: patch.label ?? `Agent move ${objectId}`,
127
+ patch: patch.patch,
128
+ targetId: objectId,
129
+ ...operations.withProjectionImpact(operations.resolveProjectionImpact(patch, patch.reprojectIds?.length
130
+ ? operations.createReprojectProjectionImpact(patch.reprojectIds)
131
+ : operations.createTransformProjectionImpact([patch.changedId ?? objectId]))),
132
+ });
133
+ if (!result.documentChanged) {
134
+ return createLocalEditorCommandFailure(capabilityId, `Transform was unchanged for object: ${objectId}`, { code: 'transform.unchanged', objectId });
135
+ }
136
+ if (patch.reprojectIds?.length)
137
+ operations.reprojectProjectionForChangedIds(result.workingDocument, patch.reprojectIds);
138
+ else
139
+ operations.syncProjectionForChangedIds(result.workingDocument, [patch.changedId ?? objectId]);
140
+ state.summary = operations.summarizeDocument(result.workingDocument, state.session.getSource());
141
+ state.status = patch.label ?? label;
142
+ operations.dispatchSelectionCommand({
143
+ type: 'selection.replace',
144
+ selectedIds: [objectId],
145
+ activeId: objectId,
146
+ label,
147
+ });
148
+ renderUi();
149
+ const updated = state.projection?.readNodeTransform(objectId) ?? after;
150
+ return {
151
+ objectId,
152
+ before: editorTransformSnapshotToAgentTransform(before) ?? {},
153
+ after: editorTransformSnapshotToAgentTransform(updated) ?? {},
154
+ selection: cloneEditorCommandSelection(getEditorCommandSafeSceneSelection(operations)),
155
+ };
156
+ }
157
+ function addEditorCommandVec3(left, right) {
158
+ return {
159
+ x: left.x + right.x,
160
+ y: left.y + right.y,
161
+ z: left.z + right.z,
162
+ };
163
+ }
164
+ //# sourceMappingURL=transform.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transform.js","sourceRoot":"","sources":["../../../src/editor-commands/capabilities/transform.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n type EditorTransformSnapshot,\n type EditorTransformTool,\n isEditorTransformTrsSnapshot,\n} from '@fps-games/editor-core';\nimport {\n EDITOR_COMMAND_ID,\n type EditorCommandTransformMoveOutput,\n type EditorCommandVec3,\n} from '@fps-games/editor-protocol';\nimport {\n cloneVec3,\n createLocalEditorCommandFailure,\n editorTransformSnapshotToAgentTransform,\n isLocalEditorCommandVec3,\n} from '../diagnostics.js';\nimport type { LocalEditorCommandTransformSource } from '../source-types.js';\nimport {\n cloneEditorCommandSelection,\n getEditorCommandSafeSceneSelection,\n isEditorCommandDocumentNodeSelectable,\n isEditorCommandSafeSceneObjectId,\n type LocalEditorCommandCapabilitySourceOperations,\n type LocalEditorCommandHarnessState,\n} from '../shared.js';\nimport type { LocalEditorHarnessOptions } from '../../local-editor-harness.js';\n\nexport function createLocalEditorCommandTransformSource<TDocument, TPatch, TAsset>(\n state: LocalEditorCommandHarnessState<TDocument, TPatch>,\n options: LocalEditorHarnessOptions<TDocument, TPatch, TAsset>,\n renderUi: () => void,\n operations: LocalEditorCommandCapabilitySourceOperations<TDocument>,\n): LocalEditorCommandTransformSource {\n return {\n move(input) {\n return moveEditorCommandObject(state, options, input, renderUi, operations);\n },\n set(input) {\n return setEditorCommandObjectTransform(state, options, input, renderUi, operations);\n },\n };\n}\n\nfunction moveEditorCommandObject<TDocument, TPatch, TAsset>(\n state: LocalEditorCommandHarnessState<TDocument, TPatch>,\n options: LocalEditorHarnessOptions<TDocument, TPatch, TAsset>,\n input: { objectId?: string; position?: unknown; offset?: unknown },\n renderUi: () => void,\n operations: LocalEditorCommandCapabilitySourceOperations<TDocument>,\n): ReturnType<LocalEditorCommandTransformSource['move']> {\n const objectId = typeof input?.objectId === 'string' ? input.objectId.trim() : '';\n if (!objectId) {\n return createLocalEditorCommandFailure(\n EDITOR_COMMAND_ID.TRANSFORM_MOVE,\n 'transform.move requires objectId.',\n { code: 'transform.invalidInput' },\n );\n }\n const hasPosition = input.position !== undefined;\n const hasOffset = input.offset !== undefined;\n if (hasPosition === hasOffset) {\n return createLocalEditorCommandFailure(\n EDITOR_COMMAND_ID.TRANSFORM_MOVE,\n 'transform.move requires exactly one of position or offset.',\n { code: 'transform.invalidInput', objectId },\n );\n }\n const movePosition = hasPosition && isLocalEditorCommandVec3(input.position) ? input.position : null;\n const moveOffset = hasOffset && isLocalEditorCommandVec3(input.offset) ? input.offset : null;\n if ((hasPosition && !movePosition) || (hasOffset && !moveOffset)) {\n return createLocalEditorCommandFailure(\n EDITOR_COMMAND_ID.TRANSFORM_MOVE,\n 'transform.move position or offset must be a finite Vec3.',\n { code: 'transform.invalidVec3', objectId },\n );\n }\n if (state.mode !== 'editor' || !state.session) {\n return createLocalEditorCommandFailure(\n EDITOR_COMMAND_ID.TRANSFORM_MOVE,\n 'Editor is not in edit mode.',\n { code: 'editor.notReady', objectId },\n );\n }\n const document = state.session.getState({ cloneDocuments: false }).workingDocument;\n if (!isEditorCommandSafeSceneObjectId(operations, objectId)\n || !isEditorCommandDocumentNodeSelectable(options, document, objectId)) {\n return createLocalEditorCommandFailure(\n EDITOR_COMMAND_ID.TRANSFORM_MOVE,\n `Object is not movable: ${objectId}`,\n { code: 'transform.notSelectable', objectId },\n );\n }\n const before = state.projection?.readNodeTransform(objectId) ?? null;\n if (!before || !isEditorTransformTrsSnapshot(before)) {\n return createLocalEditorCommandFailure(\n EDITOR_COMMAND_ID.TRANSFORM_MOVE,\n `Object does not have an editable TRS transform: ${objectId}`,\n { code: 'transform.unsupported', objectId },\n );\n }\n const after = operations.cloneTransformSnapshot(before);\n if (!isEditorTransformTrsSnapshot(after)) {\n return createLocalEditorCommandFailure(\n EDITOR_COMMAND_ID.TRANSFORM_MOVE,\n `Object does not have an editable TRS transform: ${objectId}`,\n { code: 'transform.unsupported', objectId },\n );\n }\n after.position = movePosition\n ? cloneVec3(movePosition)\n : addEditorCommandVec3(after.position, moveOffset!);\n return dispatchEditorCommandTransformPatch(\n state,\n options,\n {\n capabilityId: EDITOR_COMMAND_ID.TRANSFORM_MOVE,\n objectId,\n before,\n after,\n tool: 'move',\n label: `Agent move ${objectId}`,\n },\n renderUi,\n operations,\n );\n}\n\nfunction setEditorCommandObjectTransform<TDocument, TPatch, TAsset>(\n state: LocalEditorCommandHarnessState<TDocument, TPatch>,\n options: LocalEditorHarnessOptions<TDocument, TPatch, TAsset>,\n input: { objectId?: string; position?: unknown; rotation?: unknown; scale?: unknown },\n renderUi: () => void,\n operations: LocalEditorCommandCapabilitySourceOperations<TDocument>,\n): ReturnType<LocalEditorCommandTransformSource['set']> {\n const objectId = typeof input?.objectId === 'string' ? input.objectId.trim() : '';\n if (!objectId) {\n return createLocalEditorCommandFailure(\n EDITOR_COMMAND_ID.TRANSFORM_SET,\n 'transform.set requires objectId.',\n { code: 'transform.invalidInput' },\n );\n }\n const hasPosition = input.position !== undefined;\n const hasRotation = input.rotation !== undefined;\n const hasScale = input.scale !== undefined;\n if (!hasPosition && !hasRotation && !hasScale) {\n return createLocalEditorCommandFailure(\n EDITOR_COMMAND_ID.TRANSFORM_SET,\n 'transform.set requires at least one of position, rotation, or scale.',\n { code: 'transform.invalidInput', objectId },\n );\n }\n const position = hasPosition && isLocalEditorCommandVec3(input.position) ? input.position : null;\n const rotation = hasRotation && isLocalEditorCommandVec3(input.rotation) ? input.rotation : null;\n const scale = hasScale && isLocalEditorCommandVec3(input.scale) ? input.scale : null;\n if ((hasPosition && !position) || (hasRotation && !rotation) || (hasScale && !scale)) {\n return createLocalEditorCommandFailure(\n EDITOR_COMMAND_ID.TRANSFORM_SET,\n 'transform.set position, rotation, and scale must be finite Vec3 values when provided.',\n { code: 'transform.invalidVec3', objectId },\n );\n }\n if (state.mode !== 'editor' || !state.session) {\n return createLocalEditorCommandFailure(\n EDITOR_COMMAND_ID.TRANSFORM_SET,\n 'Editor is not in edit mode.',\n { code: 'editor.notReady', objectId },\n );\n }\n const document = state.session.getState({ cloneDocuments: false }).workingDocument;\n if (!isEditorCommandSafeSceneObjectId(operations, objectId)\n || !isEditorCommandDocumentNodeSelectable(options, document, objectId)) {\n return createLocalEditorCommandFailure(\n EDITOR_COMMAND_ID.TRANSFORM_SET,\n `Object is not transformable: ${objectId}`,\n { code: 'transform.notSelectable', objectId },\n );\n }\n const before = state.projection?.readNodeTransform(objectId) ?? null;\n if (!before || !isEditorTransformTrsSnapshot(before)) {\n return createLocalEditorCommandFailure(\n EDITOR_COMMAND_ID.TRANSFORM_SET,\n `Object does not have an editable TRS transform: ${objectId}`,\n { code: 'transform.unsupported', objectId },\n );\n }\n const after = operations.cloneTransformSnapshot(before);\n if (!isEditorTransformTrsSnapshot(after)) {\n return createLocalEditorCommandFailure(\n EDITOR_COMMAND_ID.TRANSFORM_SET,\n `Object does not have an editable TRS transform: ${objectId}`,\n { code: 'transform.unsupported', objectId },\n );\n }\n if (position) after.position = cloneVec3(position);\n if (rotation) after.rotation = cloneVec3(rotation);\n if (scale) after.scale = cloneVec3(scale);\n return dispatchEditorCommandTransformPatch(\n state,\n options,\n {\n capabilityId: EDITOR_COMMAND_ID.TRANSFORM_SET,\n objectId,\n before,\n after,\n tool: position ? 'move' : rotation ? 'rotate' : 'scale',\n label: `Agent set transform ${objectId}`,\n },\n renderUi,\n operations,\n );\n}\n\nfunction dispatchEditorCommandTransformPatch<TDocument, TPatch, TAsset>(\n state: LocalEditorCommandHarnessState<TDocument, TPatch>,\n options: LocalEditorHarnessOptions<TDocument, TPatch, TAsset>,\n input: {\n capabilityId: string;\n objectId: string;\n before: EditorTransformSnapshot;\n after: EditorTransformSnapshot;\n tool: Exclude<EditorTransformTool, 'select'>;\n label: string;\n },\n renderUi: () => void,\n operations: LocalEditorCommandCapabilitySourceOperations<TDocument>,\n): EditorCommandTransformMoveOutput | ReturnType<typeof createLocalEditorCommandFailure> {\n const { capabilityId, objectId, before, after, tool, label } = input;\n if (state.mode !== 'editor' || !state.session) {\n return createLocalEditorCommandFailure(\n capabilityId,\n 'Editor is not in edit mode.',\n { code: 'editor.notReady', objectId },\n );\n }\n const document = state.session.getState({ cloneDocuments: false }).workingDocument;\n const patch = options.documentAdapter.createTransformPatch?.({\n document,\n targetId: objectId,\n tool,\n space: 'world',\n constraint: 'free',\n before,\n after,\n });\n if (!patch) {\n return createLocalEditorCommandFailure(\n capabilityId,\n `Transform patch was not created for object: ${objectId}`,\n { code: 'transform.patchUnavailable', objectId },\n );\n }\n const result = state.session.dispatch({\n type: 'document.patch',\n label: patch.label ?? `Agent move ${objectId}`,\n patch: patch.patch,\n targetId: objectId,\n ...operations.withProjectionImpact(operations.resolveProjectionImpact(\n patch,\n patch.reprojectIds?.length\n ? operations.createReprojectProjectionImpact(patch.reprojectIds)\n : operations.createTransformProjectionImpact([patch.changedId ?? objectId]),\n )),\n });\n if (!result.documentChanged) {\n return createLocalEditorCommandFailure(\n capabilityId,\n `Transform was unchanged for object: ${objectId}`,\n { code: 'transform.unchanged', objectId },\n );\n }\n if (patch.reprojectIds?.length) operations.reprojectProjectionForChangedIds(result.workingDocument, patch.reprojectIds);\n else operations.syncProjectionForChangedIds(result.workingDocument, [patch.changedId ?? objectId]);\n state.summary = operations.summarizeDocument(result.workingDocument, state.session.getSource());\n state.status = patch.label ?? label;\n operations.dispatchSelectionCommand({\n type: 'selection.replace',\n selectedIds: [objectId],\n activeId: objectId,\n label,\n });\n renderUi();\n const updated = state.projection?.readNodeTransform(objectId) ?? after;\n return {\n objectId,\n before: editorTransformSnapshotToAgentTransform(before) ?? {},\n after: editorTransformSnapshotToAgentTransform(updated) ?? {},\n selection: cloneEditorCommandSelection(getEditorCommandSafeSceneSelection(operations)),\n } satisfies EditorCommandTransformMoveOutput;\n}\n\nfunction addEditorCommandVec3(left: EditorCommandVec3, right: EditorCommandVec3): EditorCommandVec3 {\n return {\n x: left.x + right.x,\n y: left.y + right.y,\n z: left.z + right.z,\n };\n}\n"]}
@@ -0,0 +1,4 @@
1
+ import type { LocalEditorCommandUiSource } from '../source-types.js';
2
+ import type { LocalEditorCommandHarnessState } from '../shared.js';
3
+ export declare function createLocalEditorCommandUiSource<TDocument, TPatch>(state: LocalEditorCommandHarnessState<TDocument, TPatch>): LocalEditorCommandUiSource;
4
+ //# sourceMappingURL=ui-regions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ui-regions.d.ts","sourceRoot":"","sources":["../../../src/editor-commands/capabilities/ui-regions.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,oBAAoB,CAAC;AACrE,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,cAAc,CAAC;AAkKnE,wBAAgB,gCAAgC,CAAC,SAAS,EAAE,MAAM,EAChE,KAAK,EAAE,8BAA8B,CAAC,SAAS,EAAE,MAAM,CAAC,GACvD,0BAA0B,CAM5B"}
@@ -1,16 +1,16 @@
1
- import { EDITOR_AGENT_BRIDGE_CAPABILITY_ID, } from '@fps-games/editor-protocol';
2
- const AGENT_BRIDGE_WORKSPACE_REGIONS = Object.freeze([
1
+ import { EDITOR_COMMAND_ID, } from '@fps-games/editor-protocol';
2
+ const EDITOR_COMMAND_WORKSPACE_REGIONS = Object.freeze([
3
3
  {
4
4
  id: 'top-toolbar',
5
5
  label: 'Top Toolbar',
6
6
  location: 'top',
7
- purpose: 'Mode, transform tool, viewport utility, save/history, and Agent Bridge status controls.',
7
+ purpose: 'Mode, transform tool, viewport utility, save/history, and Command Service status controls.',
8
8
  primaryCapabilities: [
9
- EDITOR_AGENT_BRIDGE_CAPABILITY_ID.HOST_MODE_GET,
10
- EDITOR_AGENT_BRIDGE_CAPABILITY_ID.HOST_EDITOR_ENTER,
11
- EDITOR_AGENT_BRIDGE_CAPABILITY_ID.HOST_EDITOR_WAIT_READY,
12
- EDITOR_AGENT_BRIDGE_CAPABILITY_ID.EDITOR_STATE_GET,
13
- EDITOR_AGENT_BRIDGE_CAPABILITY_ID.EDITOR_DIAGNOSTICS_LIST,
9
+ EDITOR_COMMAND_ID.HOST_MODE_GET,
10
+ EDITOR_COMMAND_ID.HOST_EDITOR_ENTER,
11
+ EDITOR_COMMAND_ID.HOST_EDITOR_WAIT_READY,
12
+ EDITOR_COMMAND_ID.EDITOR_STATE_GET,
13
+ EDITOR_COMMAND_ID.EDITOR_DIAGNOSTICS_LIST,
14
14
  ],
15
15
  fallbackTools: ['playwright', 'chrome'],
16
16
  notes: [
@@ -24,11 +24,11 @@ const AGENT_BRIDGE_WORKSPACE_REGIONS = Object.freeze([
24
24
  location: 'left',
25
25
  purpose: 'Scene object tree, selection context, protected/locked object visibility, and hierarchy actions.',
26
26
  primaryCapabilities: [
27
- EDITOR_AGENT_BRIDGE_CAPABILITY_ID.SCENE_OBJECTS_LIST,
28
- EDITOR_AGENT_BRIDGE_CAPABILITY_ID.OBJECT_RESOLVE,
29
- EDITOR_AGENT_BRIDGE_CAPABILITY_ID.SELECTION_SET,
30
- EDITOR_AGENT_BRIDGE_CAPABILITY_ID.OBJECT_CREATE_PRIMITIVE,
31
- EDITOR_AGENT_BRIDGE_CAPABILITY_ID.OBJECT_DELETE,
27
+ EDITOR_COMMAND_ID.SCENE_OBJECTS_LIST,
28
+ EDITOR_COMMAND_ID.OBJECT_RESOLVE,
29
+ EDITOR_COMMAND_ID.SELECTION_SET,
30
+ EDITOR_COMMAND_ID.OBJECT_CREATE_PRIMITIVE,
31
+ EDITOR_COMMAND_ID.OBJECT_DELETE,
32
32
  ],
33
33
  fallbackTools: ['playwright', 'chrome'],
34
34
  notes: [
@@ -42,13 +42,13 @@ const AGENT_BRIDGE_WORKSPACE_REGIONS = Object.freeze([
42
42
  location: 'center',
43
43
  purpose: 'Rendered scene viewport, selection focus, transform gizmo, camera framing, and visual inspection.',
44
44
  primaryCapabilities: [
45
- EDITOR_AGENT_BRIDGE_CAPABILITY_ID.VIEWPORT_FOCUS_OBJECT,
46
- EDITOR_AGENT_BRIDGE_CAPABILITY_ID.VIEWPORT_FRAME_SELECTION,
47
- EDITOR_AGENT_BRIDGE_CAPABILITY_ID.VIEWPORT_CAMERA_GET,
48
- EDITOR_AGENT_BRIDGE_CAPABILITY_ID.VIEWPORT_CAMERA_SET_PRESET,
49
- EDITOR_AGENT_BRIDGE_CAPABILITY_ID.VIEWPORT_CAMERA_ORBIT,
50
- EDITOR_AGENT_BRIDGE_CAPABILITY_ID.TRANSFORM_MOVE,
51
- EDITOR_AGENT_BRIDGE_CAPABILITY_ID.TRANSFORM_SET,
45
+ EDITOR_COMMAND_ID.VIEWPORT_FOCUS_OBJECT,
46
+ EDITOR_COMMAND_ID.VIEWPORT_FRAME_SELECTION,
47
+ EDITOR_COMMAND_ID.VIEWPORT_CAMERA_GET,
48
+ EDITOR_COMMAND_ID.VIEWPORT_CAMERA_SET_PRESET,
49
+ EDITOR_COMMAND_ID.VIEWPORT_CAMERA_ORBIT,
50
+ EDITOR_COMMAND_ID.TRANSFORM_MOVE,
51
+ EDITOR_COMMAND_ID.TRANSFORM_SET,
52
52
  ],
53
53
  fallbackTools: ['playwright', 'chrome', 'computer-use'],
54
54
  notes: [
@@ -62,11 +62,11 @@ const AGENT_BRIDGE_WORKSPACE_REGIONS = Object.freeze([
62
62
  location: 'right',
63
63
  purpose: 'Selected object properties, Transform fields, project adapter sections, and editable component data.',
64
64
  primaryCapabilities: [
65
- EDITOR_AGENT_BRIDGE_CAPABILITY_ID.EDITOR_STATE_GET,
66
- EDITOR_AGENT_BRIDGE_CAPABILITY_ID.EDITOR_DIAGNOSTICS_LIST,
67
- EDITOR_AGENT_BRIDGE_CAPABILITY_ID.EDITOR_SNAPSHOT_GET,
68
- EDITOR_AGENT_BRIDGE_CAPABILITY_ID.TRANSFORM_SET,
69
- EDITOR_AGENT_BRIDGE_CAPABILITY_ID.SELECTION_SET,
65
+ EDITOR_COMMAND_ID.EDITOR_STATE_GET,
66
+ EDITOR_COMMAND_ID.EDITOR_DIAGNOSTICS_LIST,
67
+ EDITOR_COMMAND_ID.EDITOR_SNAPSHOT_GET,
68
+ EDITOR_COMMAND_ID.TRANSFORM_SET,
69
+ EDITOR_COMMAND_ID.SELECTION_SET,
70
70
  ],
71
71
  fallbackTools: ['playwright', 'chrome'],
72
72
  notes: [
@@ -80,8 +80,8 @@ const AGENT_BRIDGE_WORKSPACE_REGIONS = Object.freeze([
80
80
  location: 'right',
81
81
  purpose: 'Rendering-oriented panels, diagnostics, and project-specific inspector tabs when present.',
82
82
  primaryCapabilities: [
83
- EDITOR_AGENT_BRIDGE_CAPABILITY_ID.EDITOR_STATE_GET,
84
- EDITOR_AGENT_BRIDGE_CAPABILITY_ID.EDITOR_SNAPSHOT_GET,
83
+ EDITOR_COMMAND_ID.EDITOR_STATE_GET,
84
+ EDITOR_COMMAND_ID.EDITOR_SNAPSHOT_GET,
85
85
  ],
86
86
  fallbackTools: ['playwright', 'chrome'],
87
87
  notes: [
@@ -95,13 +95,13 @@ const AGENT_BRIDGE_WORKSPACE_REGIONS = Object.freeze([
95
95
  location: 'bottom',
96
96
  purpose: 'Project asset browsing, asset analysis, and asset placement into the scene.',
97
97
  primaryCapabilities: [
98
- EDITOR_AGENT_BRIDGE_CAPABILITY_ID.ASSET_LIBRARY_LIST,
99
- EDITOR_AGENT_BRIDGE_CAPABILITY_ID.ASSET_INFO_GET,
100
- EDITOR_AGENT_BRIDGE_CAPABILITY_ID.ASSET_ANALYSIS_GET,
101
- EDITOR_AGENT_BRIDGE_CAPABILITY_ID.PREFAB_RESOLVE,
102
- EDITOR_AGENT_BRIDGE_CAPABILITY_ID.PREFAB_STAGE_OPEN,
103
- EDITOR_AGENT_BRIDGE_CAPABILITY_ID.PREFAB_STAGE_EXIT,
104
- EDITOR_AGENT_BRIDGE_CAPABILITY_ID.OBJECT_CREATE_FROM_ASSET,
98
+ EDITOR_COMMAND_ID.ASSET_LIBRARY_LIST,
99
+ EDITOR_COMMAND_ID.ASSET_INFO_GET,
100
+ EDITOR_COMMAND_ID.ASSET_ANALYSIS_GET,
101
+ EDITOR_COMMAND_ID.PREFAB_RESOLVE,
102
+ EDITOR_COMMAND_ID.PREFAB_STAGE_OPEN,
103
+ EDITOR_COMMAND_ID.PREFAB_STAGE_EXIT,
104
+ EDITOR_COMMAND_ID.OBJECT_CREATE_FROM_ASSET,
105
105
  ],
106
106
  fallbackTools: ['playwright', 'chrome'],
107
107
  notes: [
@@ -114,42 +114,40 @@ const AGENT_BRIDGE_WORKSPACE_REGIONS = Object.freeze([
114
114
  id: 'bottom-console',
115
115
  label: 'Editor Console',
116
116
  location: 'bottom-global',
117
- purpose: 'Session-scoped structured output for editor save, import, compile, run, plugin, and capability operations.',
117
+ purpose: 'Session-scoped structured output for editor save, import, compile, run, plugin, and command operations.',
118
118
  primaryCapabilities: [
119
- EDITOR_AGENT_BRIDGE_CAPABILITY_ID.EDITOR_DIAGNOSTICS_LIST,
120
- EDITOR_AGENT_BRIDGE_CAPABILITY_ID.EDITOR_STATE_GET,
119
+ EDITOR_COMMAND_ID.EDITOR_DIAGNOSTICS_LIST,
120
+ EDITOR_COMMAND_ID.EDITOR_STATE_GET,
121
121
  ],
122
122
  fallbackTools: ['playwright', 'chrome'],
123
123
  notes: [
124
124
  'This Console is Editor-owned operation output and does not intercept browser console.* calls.',
125
125
  'Validation Center remains the revision-aware diagnostics surface and Save/Run gate.',
126
- 'Agent Bridge Console remains a separate external observability plane.',
126
+ 'Command operation and trace details come from the shared Command System.',
127
127
  ],
128
128
  },
129
129
  {
130
- id: 'agent-console',
131
- label: 'Agent Bridge Console',
132
- location: 'external-localhost',
133
- purpose: 'Readonly observability for MCP health, editor sessions, capabilities, recent calls, logs, traces, diagnostics, and L0 artifacts.',
130
+ id: 'command-center',
131
+ label: 'Command Center',
132
+ location: 'overlay',
133
+ purpose: 'Manifest-driven command discovery, schema input, invocation history, and operation diagnostics.',
134
134
  primaryCapabilities: [
135
- EDITOR_AGENT_BRIDGE_CAPABILITY_ID.EDITOR_STATE_GET,
135
+ EDITOR_COMMAND_ID.EDITOR_STATE_GET,
136
136
  ],
137
137
  fallbackTools: ['browser', 'playwright', 'chrome'],
138
138
  notes: [
139
- 'The console is an observability plane, not an editing UI.',
140
- 'Write L0 screenshot paths and console/page errors to /api/traces/events instead of embedding binary payloads.',
139
+ 'Cmd/Ctrl+Shift+P opens the Palette; commands with required input continue in the schema Console.',
140
+ 'Favorites and manual invocation history are local view state and never become document authority.',
141
141
  ],
142
142
  },
143
143
  ]);
144
144
  const RECOMMENDED_OPERATION_ORDER = Object.freeze([
145
- 'get_bridge_health',
146
- 'list_editor_sessions',
147
- 'list_editor_capabilities',
148
- 'call_editor_capability(editor.ui.regions.get)',
149
- 'call_editor_capability(host.editor.enter)',
150
- 'call_editor_capability(host.editor.waitReady when needed)',
151
- 'L2 semantic capability for the target region',
152
- 'L0 browser automation only for missing capability, disconnected bridge, page load, or screenshot evidence',
145
+ 'fps-editor-agent status',
146
+ 'fps-editor-agent commands list/search/describe',
147
+ 'fps-editor-agent command editor.ui.regions.get',
148
+ 'fps-editor-agent command host.editor.enter',
149
+ 'L2 semantic command for the target region',
150
+ 'L0 browser automation only for a missing command, unavailable Browser attachment, page load, or screenshot evidence',
153
151
  ]);
154
152
  const L0_FALLBACK_RULES = Object.freeze([
155
153
  'Do not click Hierarchy rows when selection.set or object.resolve can provide the same semantic result.',
@@ -158,19 +156,19 @@ const L0_FALLBACK_RULES = Object.freeze([
158
156
  'Do not drag assets from the bottom panel when object.createFromAsset can place a standard asset.',
159
157
  'When L0 fallback is required, record screenshot paths and console/page errors through Agent Operation Trace.',
160
158
  ]);
161
- export function createLocalEditorAgentBridgeUiSource(state) {
159
+ export function createLocalEditorCommandUiSource(state) {
162
160
  return {
163
161
  getRegions() {
164
- return createAgentBridgeUiRegions(state);
162
+ return createEditorCommandUiRegions(state);
165
163
  },
166
164
  };
167
165
  }
168
- function createAgentBridgeUiRegions(state) {
166
+ function createEditorCommandUiRegions(state) {
169
167
  return {
170
168
  mode: state.mode,
171
169
  editorReady: state.mode === 'editor' && !!state.session && !state.busy,
172
170
  sessionActive: !!state.session,
173
- regions: AGENT_BRIDGE_WORKSPACE_REGIONS.map(cloneRegion),
171
+ regions: EDITOR_COMMAND_WORKSPACE_REGIONS.map(cloneRegion),
174
172
  recommendedOperationOrder: [...RECOMMENDED_OPERATION_ORDER],
175
173
  l0FallbackRules: [...L0_FALLBACK_RULES],
176
174
  };
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ui-regions.js","sourceRoot":"","sources":["../../../src/editor-commands/capabilities/ui-regions.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n EDITOR_COMMAND_ID,\n type EditorCommandUiRegionsGetOutput,\n type EditorCommandWorkspaceRegion,\n} from '@fps-games/editor-protocol';\nimport type { LocalEditorCommandUiSource } from '../source-types.js';\nimport type { LocalEditorCommandHarnessState } from '../shared.js';\n\nconst EDITOR_COMMAND_WORKSPACE_REGIONS: readonly EditorCommandWorkspaceRegion[] = Object.freeze([\n {\n id: 'top-toolbar',\n label: 'Top Toolbar',\n location: 'top',\n purpose: 'Mode, transform tool, viewport utility, save/history, and Command Service status controls.',\n primaryCapabilities: [\n EDITOR_COMMAND_ID.HOST_MODE_GET,\n EDITOR_COMMAND_ID.HOST_EDITOR_ENTER,\n EDITOR_COMMAND_ID.HOST_EDITOR_WAIT_READY,\n EDITOR_COMMAND_ID.EDITOR_STATE_GET,\n EDITOR_COMMAND_ID.EDITOR_DIAGNOSTICS_LIST,\n ],\n fallbackTools: ['playwright', 'chrome'],\n notes: [\n 'Use host.editor.enter instead of clicking the editor entry UI.',\n 'Use editor.diagnostics.list for the same revision-aware snapshot shown in the Validation Center.',\n ],\n },\n {\n id: 'left-hierarchy',\n label: 'Hierarchy',\n location: 'left',\n purpose: 'Scene object tree, selection context, protected/locked object visibility, and hierarchy actions.',\n primaryCapabilities: [\n EDITOR_COMMAND_ID.SCENE_OBJECTS_LIST,\n EDITOR_COMMAND_ID.OBJECT_RESOLVE,\n EDITOR_COMMAND_ID.SELECTION_SET,\n EDITOR_COMMAND_ID.OBJECT_CREATE_PRIMITIVE,\n EDITOR_COMMAND_ID.OBJECT_DELETE,\n ],\n fallbackTools: ['playwright', 'chrome'],\n notes: [\n 'Prefer object ids from scene.objects.list or object.resolve over clicking hierarchy rows.',\n 'Creation and deletion must go through editor scene graph capabilities, not manual scene JSON edits.',\n ],\n },\n {\n id: 'center-preview',\n label: 'Preview / Scene View',\n location: 'center',\n purpose: 'Rendered scene viewport, selection focus, transform gizmo, camera framing, and visual inspection.',\n primaryCapabilities: [\n EDITOR_COMMAND_ID.VIEWPORT_FOCUS_OBJECT,\n EDITOR_COMMAND_ID.VIEWPORT_FRAME_SELECTION,\n EDITOR_COMMAND_ID.VIEWPORT_CAMERA_GET,\n EDITOR_COMMAND_ID.VIEWPORT_CAMERA_SET_PRESET,\n EDITOR_COMMAND_ID.VIEWPORT_CAMERA_ORBIT,\n EDITOR_COMMAND_ID.TRANSFORM_MOVE,\n EDITOR_COMMAND_ID.TRANSFORM_SET,\n ],\n fallbackTools: ['playwright', 'chrome', 'computer-use'],\n notes: [\n 'Use viewport.camera.setPreset before L0 screenshots so visual evidence has a stable semantic view.',\n 'Use transform capabilities instead of dragging the gizmo when a structured transform target is known.',\n ],\n },\n {\n id: 'right-inspector',\n label: 'Inspector',\n location: 'right',\n purpose: 'Selected object properties, Transform fields, project adapter sections, and editable component data.',\n primaryCapabilities: [\n EDITOR_COMMAND_ID.EDITOR_STATE_GET,\n EDITOR_COMMAND_ID.EDITOR_DIAGNOSTICS_LIST,\n EDITOR_COMMAND_ID.EDITOR_SNAPSHOT_GET,\n EDITOR_COMMAND_ID.TRANSFORM_SET,\n EDITOR_COMMAND_ID.SELECTION_SET,\n ],\n fallbackTools: ['playwright', 'chrome'],\n notes: [\n 'Prefer semantic capabilities for known fields; use Inspector UI only when a field has no capability yet.',\n 'Future material, shadow, and rendering property work should add focused capabilities before relying on form automation.',\n ],\n },\n {\n id: 'right-render-tabs',\n label: 'Render / Diagnostics Tabs',\n location: 'right',\n purpose: 'Rendering-oriented panels, diagnostics, and project-specific inspector tabs when present.',\n primaryCapabilities: [\n EDITOR_COMMAND_ID.EDITOR_STATE_GET,\n EDITOR_COMMAND_ID.EDITOR_SNAPSHOT_GET,\n ],\n fallbackTools: ['playwright', 'chrome'],\n notes: [\n 'Treat render tab UI as fallback until rendering/shadow capabilities are added.',\n 'Capture tab screenshots as trace artifacts when using L0 fallback for visual diagnostics.',\n ],\n },\n {\n id: 'bottom-assets',\n label: 'Asset Library',\n location: 'bottom',\n purpose: 'Project asset browsing, asset analysis, and asset placement into the scene.',\n primaryCapabilities: [\n EDITOR_COMMAND_ID.ASSET_LIBRARY_LIST,\n EDITOR_COMMAND_ID.ASSET_INFO_GET,\n EDITOR_COMMAND_ID.ASSET_ANALYSIS_GET,\n EDITOR_COMMAND_ID.PREFAB_RESOLVE,\n EDITOR_COMMAND_ID.PREFAB_STAGE_OPEN,\n EDITOR_COMMAND_ID.PREFAB_STAGE_EXIT,\n EDITOR_COMMAND_ID.OBJECT_CREATE_FROM_ASSET,\n ],\n fallbackTools: ['playwright', 'chrome'],\n notes: [\n 'Use asset.library.list and asset.analysis.get before object.createFromAsset.',\n 'Double-clicking a prefab asset opens the Prefab stage for users; agents should call prefab.resolve then prefab.stage.open.',\n 'Do not drag assets in the browser or hand-edit generated catalogs as the primary placement path.',\n ],\n },\n {\n id: 'bottom-console',\n label: 'Editor Console',\n location: 'bottom-global',\n purpose: 'Session-scoped structured output for editor save, import, compile, run, plugin, and command operations.',\n primaryCapabilities: [\n EDITOR_COMMAND_ID.EDITOR_DIAGNOSTICS_LIST,\n EDITOR_COMMAND_ID.EDITOR_STATE_GET,\n ],\n fallbackTools: ['playwright', 'chrome'],\n notes: [\n 'This Console is Editor-owned operation output and does not intercept browser console.* calls.',\n 'Validation Center remains the revision-aware diagnostics surface and Save/Run gate.',\n 'Command operation and trace details come from the shared Command System.',\n ],\n },\n {\n id: 'command-center',\n label: 'Command Center',\n location: 'overlay',\n purpose: 'Manifest-driven command discovery, schema input, invocation history, and operation diagnostics.',\n primaryCapabilities: [\n EDITOR_COMMAND_ID.EDITOR_STATE_GET,\n ],\n fallbackTools: ['browser', 'playwright', 'chrome'],\n notes: [\n 'Cmd/Ctrl+Shift+P opens the Palette; commands with required input continue in the schema Console.',\n 'Favorites and manual invocation history are local view state and never become document authority.',\n ],\n },\n]);\n\nconst RECOMMENDED_OPERATION_ORDER = Object.freeze([\n 'fps-editor-agent status',\n 'fps-editor-agent commands list/search/describe',\n 'fps-editor-agent command editor.ui.regions.get',\n 'fps-editor-agent command host.editor.enter',\n 'L2 semantic command for the target region',\n 'L0 browser automation only for a missing command, unavailable Browser attachment, page load, or screenshot evidence',\n]);\n\nconst L0_FALLBACK_RULES = Object.freeze([\n 'Do not click Hierarchy rows when selection.set or object.resolve can provide the same semantic result.',\n 'Do not drag the Preview gizmo when transform.move or transform.set can express the edit.',\n 'Do not use browser screenshots for camera setup before trying viewport.camera.setPreset or viewport.camera.orbit.',\n 'Do not drag assets from the bottom panel when object.createFromAsset can place a standard asset.',\n 'When L0 fallback is required, record screenshot paths and console/page errors through Agent Operation Trace.',\n]);\n\nexport function createLocalEditorCommandUiSource<TDocument, TPatch>(\n state: LocalEditorCommandHarnessState<TDocument, TPatch>,\n): LocalEditorCommandUiSource {\n return {\n getRegions() {\n return createEditorCommandUiRegions(state);\n },\n };\n}\n\nfunction createEditorCommandUiRegions<TDocument, TPatch>(\n state: LocalEditorCommandHarnessState<TDocument, TPatch>,\n): EditorCommandUiRegionsGetOutput {\n return {\n mode: state.mode,\n editorReady: state.mode === 'editor' && !!state.session && !state.busy,\n sessionActive: !!state.session,\n regions: EDITOR_COMMAND_WORKSPACE_REGIONS.map(cloneRegion),\n recommendedOperationOrder: [...RECOMMENDED_OPERATION_ORDER],\n l0FallbackRules: [...L0_FALLBACK_RULES],\n };\n}\n\nfunction cloneRegion(region: EditorCommandWorkspaceRegion): EditorCommandWorkspaceRegion {\n return {\n ...region,\n primaryCapabilities: [...region.primaryCapabilities],\n ...(region.fallbackTools ? { fallbackTools: [...region.fallbackTools] } : {}),\n ...(region.notes ? { notes: [...region.notes] } : {}),\n };\n}\n"]}
@@ -0,0 +1,5 @@
1
+ import type { LocalEditorCommandViewportSource } from '../source-types.js';
2
+ import { type LocalEditorCommandCapabilitySourceOperations, type LocalEditorCommandHarnessState } from '../shared.js';
3
+ import type { LocalEditorHarnessOptions } from '../../local-editor-harness.js';
4
+ export declare function createLocalEditorCommandViewportSource<TDocument, TPatch, TAsset>(state: LocalEditorCommandHarnessState<TDocument, TPatch>, options: LocalEditorHarnessOptions<TDocument, TPatch, TAsset>, renderUi: () => void, operations: LocalEditorCommandCapabilitySourceOperations<TDocument>): LocalEditorCommandViewportSource;
5
+ //# sourceMappingURL=viewport.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"viewport.d.ts","sourceRoot":"","sources":["../../../src/editor-commands/capabilities/viewport.ts"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,oBAAoB,CAAC;AAC3E,OAAO,EASL,KAAK,4CAA4C,EACjD,KAAK,8BAA8B,EACpC,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAC;AAE/E,wBAAgB,sCAAsC,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAC9E,KAAK,EAAE,8BAA8B,CAAC,SAAS,EAAE,MAAM,CAAC,EACxD,OAAO,EAAE,yBAAyB,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,EAC7D,QAAQ,EAAE,MAAM,IAAI,EACpB,UAAU,EAAE,4CAA4C,CAAC,SAAS,CAAC,GAClE,gCAAgC,CA2FlC"}