@fps-games/editor 0.2.0-beta.2 → 0.2.0-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 (652) hide show
  1. package/dist/agent-bridge/capabilities/assets.js.map +1 -1
  2. package/dist/agent-bridge/capabilities/editor-state.d.ts.map +1 -1
  3. package/dist/agent-bridge/capabilities/editor-state.js +26 -17
  4. package/dist/agent-bridge/capabilities/editor-state.js.map +1 -1
  5. package/dist/agent-bridge/capabilities/host-lifecycle.js.map +1 -1
  6. package/dist/agent-bridge/capabilities/prefabs.d.ts.map +1 -1
  7. package/dist/agent-bridge/capabilities/prefabs.js +61 -13
  8. package/dist/agent-bridge/capabilities/prefabs.js.map +1 -1
  9. package/dist/agent-bridge/capabilities/scene-objects.d.ts +1 -1
  10. package/dist/agent-bridge/capabilities/scene-objects.d.ts.map +1 -1
  11. package/dist/agent-bridge/capabilities/scene-objects.js +110 -25
  12. package/dist/agent-bridge/capabilities/scene-objects.js.map +1 -1
  13. package/dist/agent-bridge/capabilities/selection.d.ts.map +1 -1
  14. package/dist/agent-bridge/capabilities/selection.js +8 -5
  15. package/dist/agent-bridge/capabilities/selection.js.map +1 -1
  16. package/dist/agent-bridge/capabilities/shadows.d.ts.map +1 -1
  17. package/dist/agent-bridge/capabilities/shadows.js +11 -2
  18. package/dist/agent-bridge/capabilities/shadows.js.map +1 -1
  19. package/dist/agent-bridge/capabilities/transform.d.ts.map +1 -1
  20. package/dist/agent-bridge/capabilities/transform.js +6 -4
  21. package/dist/agent-bridge/capabilities/transform.js.map +1 -1
  22. package/dist/agent-bridge/capabilities/ui-regions.js.map +1 -1
  23. package/dist/agent-bridge/capabilities/viewport.d.ts.map +1 -1
  24. package/dist/agent-bridge/capabilities/viewport.js +79 -47
  25. package/dist/agent-bridge/capabilities/viewport.js.map +1 -1
  26. package/dist/agent-bridge/capability-sources.js.map +1 -1
  27. package/dist/agent-bridge/diagnostics.js.map +1 -1
  28. package/dist/agent-bridge/index.js.map +1 -1
  29. package/dist/agent-bridge/register.js.map +1 -1
  30. package/dist/agent-bridge/shared.d.ts +8 -3
  31. package/dist/agent-bridge/shared.d.ts.map +1 -1
  32. package/dist/agent-bridge/shared.js +32 -0
  33. package/dist/agent-bridge/shared.js.map +1 -1
  34. package/dist/agent-bridge/source-types.js.map +1 -1
  35. package/dist/authoring-apply.js.map +1 -1
  36. package/dist/build-info.json +48 -48
  37. package/dist/editor-plugin-agent-capabilities.js.map +1 -1
  38. package/dist/editor-plugin-hierarchy-command.js.map +1 -1
  39. package/dist/index.js.map +1 -1
  40. package/dist/internal/local-editor-lifecycle-operations.js.map +1 -1
  41. package/dist/local-editor-agent-actions.d.ts.map +1 -1
  42. package/dist/local-editor-agent-actions.js +9 -5
  43. package/dist/local-editor-agent-actions.js.map +1 -1
  44. package/dist/local-editor-agent-bridge-transport.js.map +1 -1
  45. package/dist/local-editor-agent-bridge.js.map +1 -1
  46. package/dist/local-editor-agent-context.js.map +1 -1
  47. package/dist/local-editor-harness.d.ts +57 -1
  48. package/dist/local-editor-harness.d.ts.map +1 -1
  49. package/dist/local-editor-harness.js +393 -41
  50. package/dist/local-editor-harness.js.map +1 -1
  51. package/dist/local-editor-marker-graph.js.map +1 -1
  52. package/dist/local-editor-performance-stats.js.map +1 -1
  53. package/dist/local-editor-plugin-inspector.js.map +1 -1
  54. package/dist/local-editor-plugin-panel.js.map +1 -1
  55. package/dist/local-editor-scene-render-scheduler.js.map +1 -1
  56. package/dist/local-editor-scene-view-interaction-runtime.js.map +1 -1
  57. package/dist/local-editor-viewport-render-coordinator.js.map +1 -1
  58. package/dist/playable-babylon-facade.js.map +1 -1
  59. package/dist/playable-babylon-outline-inspector.js.map +1 -1
  60. package/dist/playable-babylon-outline-runtime.js.map +1 -1
  61. package/dist/playable-babylon-rendering.js.map +1 -1
  62. package/dist/playable-local-editor-host.d.ts +36 -0
  63. package/dist/playable-local-editor-host.d.ts.map +1 -1
  64. package/dist/playable-local-editor-host.js.map +1 -1
  65. package/dist/playable-product-local-editor.js.map +1 -1
  66. package/dist/playable-product-projection-preview.js.map +1 -1
  67. package/dist/playable-product-rendering.js.map +1 -1
  68. package/dist/playable-product-scene-capabilities.d.ts.map +1 -1
  69. package/dist/playable-product-scene-capabilities.js +49 -2
  70. package/dist/playable-product-scene-capabilities.js.map +1 -1
  71. package/dist/playable-runtime-babylon.js.map +1 -1
  72. package/dist/playable-runtime.js.map +1 -1
  73. package/dist/playable-sdk-upgrade-doctor.js.map +1 -1
  74. package/dist/playable-sdk-vite.js.map +1 -1
  75. package/dist/playable-sdk.js.map +1 -1
  76. package/dist/playable-standard-project.js.map +1 -1
  77. package/dist/static-shadow-cpu-worker.js.map +1 -1
  78. package/dist/vite.js.map +1 -1
  79. package/node_modules/@fps-games/babylon-renderer/dist/environment/environment-texture-controller.js.map +1 -1
  80. package/node_modules/@fps-games/babylon-renderer/dist/environment/index.js.map +1 -1
  81. package/node_modules/@fps-games/babylon-renderer/dist/environment/profile.js.map +1 -1
  82. package/node_modules/@fps-games/babylon-renderer/dist/environment/types.js.map +1 -1
  83. package/node_modules/@fps-games/babylon-renderer/dist/index.js.map +1 -1
  84. package/node_modules/@fps-games/babylon-renderer/dist/lighting/directional-light-angles.js.map +1 -1
  85. package/node_modules/@fps-games/babylon-renderer/dist/outlines/babylon-default/apply.js.map +1 -1
  86. package/node_modules/@fps-games/babylon-renderer/dist/outlines/babylon-default/index.js.map +1 -1
  87. package/node_modules/@fps-games/babylon-renderer/dist/outlines/babylon-default/types.js.map +1 -1
  88. package/node_modules/@fps-games/babylon-renderer/dist/outlines/index.js.map +1 -1
  89. package/node_modules/@fps-games/babylon-renderer/dist/outlines/types.js.map +1 -1
  90. package/node_modules/@fps-games/babylon-renderer/dist/placement/index.js.map +1 -1
  91. package/node_modules/@fps-games/babylon-renderer/dist/placement/runtime-drop-position.js.map +1 -1
  92. package/node_modules/@fps-games/babylon-renderer/dist/plugin.js.map +1 -1
  93. package/node_modules/@fps-games/babylon-renderer/dist/post-process/babylon-default-pipeline.js.map +1 -1
  94. package/node_modules/@fps-games/babylon-renderer/dist/post-process/index.js.map +1 -1
  95. package/node_modules/@fps-games/babylon-renderer/dist/post-process/profile.js.map +1 -1
  96. package/node_modules/@fps-games/babylon-renderer/dist/post-process/types.js.map +1 -1
  97. package/node_modules/@fps-games/babylon-renderer/dist/post-process/volume-stack.js.map +1 -1
  98. package/node_modules/@fps-games/babylon-renderer/dist/reference.js.map +1 -1
  99. package/node_modules/@fps-games/babylon-renderer/dist/rendering/index.js.map +1 -1
  100. package/node_modules/@fps-games/babylon-renderer/dist/rendering/node-rendering.js.map +1 -1
  101. package/node_modules/@fps-games/babylon-renderer/dist/shadows/blob-shadow-shaders.js.map +1 -1
  102. package/node_modules/@fps-games/babylon-renderer/dist/shadows/blob-shadow-system.js.map +1 -1
  103. package/node_modules/@fps-games/babylon-renderer/dist/shadows/dynamic-shadow-system.js.map +1 -1
  104. package/node_modules/@fps-games/babylon-renderer/dist/shadows/planar-shadow-shaders.js.map +1 -1
  105. package/node_modules/@fps-games/babylon-renderer/dist/shadows/planar-shadow-system.js.map +1 -1
  106. package/node_modules/@fps-games/babylon-renderer/dist/shadows/static-projected-shadow-artifact-system.js.map +1 -1
  107. package/node_modules/@fps-games/babylon-renderer/dist/shadows/static-projected-shadow-atlas.js.map +1 -1
  108. package/node_modules/@fps-games/babylon-renderer/dist/shadows/static-projected-shadow-bake.js.map +1 -1
  109. package/node_modules/@fps-games/babylon-renderer/dist/shadows/static-projected-shadow-baker.js.map +1 -1
  110. package/node_modules/@fps-games/babylon-renderer/dist/shadows/static-projected-shadow-options.js.map +1 -1
  111. package/node_modules/@fps-games/babylon-renderer/dist/shadows/static-projected-shadow-rendering.js.map +1 -1
  112. package/node_modules/@fps-games/babylon-renderer/dist/shadows/types.js.map +1 -1
  113. package/node_modules/@fps-games/babylon-renderer/package.json +7 -7
  114. package/node_modules/@fps-games/editor-babylon/dist/camera-controller.js.map +1 -1
  115. package/node_modules/@fps-games/editor-babylon/dist/edit-session.js.map +1 -1
  116. package/node_modules/@fps-games/editor-babylon/dist/editor-sky.js.map +1 -1
  117. package/node_modules/@fps-games/editor-babylon/dist/editor-world.js.map +1 -1
  118. package/node_modules/@fps-games/editor-babylon/dist/event-guard.js.map +1 -1
  119. package/node_modules/@fps-games/editor-babylon/dist/index.js.map +1 -1
  120. package/node_modules/@fps-games/editor-babylon/dist/infinite-grid-layer.js.map +1 -1
  121. package/node_modules/@fps-games/editor-babylon/dist/infinite-grid.js.map +1 -1
  122. package/node_modules/@fps-games/editor-babylon/dist/input-controller.js.map +1 -1
  123. package/node_modules/@fps-games/editor-babylon/dist/inspector-adapter.js.map +1 -1
  124. package/node_modules/@fps-games/editor-babylon/dist/inspector-host.js.map +1 -1
  125. package/node_modules/@fps-games/editor-babylon/dist/main-camera-preview.js.map +1 -1
  126. package/node_modules/@fps-games/editor-babylon/dist/marker-overlay.js.map +1 -1
  127. package/node_modules/@fps-games/editor-babylon/dist/material-property-adapter.js.map +1 -1
  128. package/node_modules/@fps-games/editor-babylon/dist/material-slot-source-resolver.js.map +1 -1
  129. package/node_modules/@fps-games/editor-babylon/dist/monitor.js.map +1 -1
  130. package/node_modules/@fps-games/editor-babylon/dist/outline-adapter.js.map +1 -1
  131. package/node_modules/@fps-games/editor-babylon/dist/performance-monitor.js.map +1 -1
  132. package/node_modules/@fps-games/editor-babylon/dist/prefab-comparison-preview-controller.js.map +1 -1
  133. package/node_modules/@fps-games/editor-babylon/dist/primitive-projection-instancing.js.map +1 -1
  134. package/node_modules/@fps-games/editor-babylon/dist/projection-asset-container-importer.js.map +1 -1
  135. package/node_modules/@fps-games/editor-babylon/dist/projection-pick-resolver.js.map +1 -1
  136. package/node_modules/@fps-games/editor-babylon/dist/projection-selection-controller.js.map +1 -1
  137. package/node_modules/@fps-games/editor-babylon/dist/projection-source-owner-path.js.map +1 -1
  138. package/node_modules/@fps-games/editor-babylon/dist/projection.js.map +1 -1
  139. package/node_modules/@fps-games/editor-babylon/dist/runtime-globals.js.map +1 -1
  140. package/node_modules/@fps-games/editor-babylon/dist/scene-camera-preview.js.map +1 -1
  141. package/node_modules/@fps-games/editor-babylon/dist/scene-view-camera-controller.js.map +1 -1
  142. package/node_modules/@fps-games/editor-babylon/dist/scene-view-input-controller.js.map +1 -1
  143. package/node_modules/@fps-games/editor-babylon/dist/scene-view-measurement-controller.js.map +1 -1
  144. package/node_modules/@fps-games/editor-babylon/dist/scene-view-spatial-overlay-controller.js.map +1 -1
  145. package/node_modules/@fps-games/editor-babylon/dist/selection-controller.js.map +1 -1
  146. package/node_modules/@fps-games/editor-babylon/dist/shadow-preview-controller.js.map +1 -1
  147. package/node_modules/@fps-games/editor-babylon/dist/tool-controller.js.map +1 -1
  148. package/node_modules/@fps-games/editor-babylon/dist/transform-gizmo-controller.js.map +1 -1
  149. package/node_modules/@fps-games/editor-babylon/dist/transform-solver.js.map +1 -1
  150. package/node_modules/@fps-games/editor-babylon/dist/types.js.map +1 -1
  151. package/node_modules/@fps-games/editor-babylon/package.json +5 -5
  152. package/node_modules/@fps-games/editor-browser/dist/index.d.ts +3 -1
  153. package/node_modules/@fps-games/editor-browser/dist/index.d.ts.map +1 -1
  154. package/node_modules/@fps-games/editor-browser/dist/index.js +2 -0
  155. package/node_modules/@fps-games/editor-browser/dist/index.js.map +1 -1
  156. package/node_modules/@fps-games/editor-browser/dist/local-editor-inspector-clipboard.js.map +1 -1
  157. package/node_modules/@fps-games/editor-browser/dist/local-editor-inspector-groups.js.map +1 -1
  158. package/node_modules/@fps-games/editor-browser/dist/local-editor-rendering-actions.js.map +1 -1
  159. package/node_modules/@fps-games/editor-browser/dist/local-editor-root-ownership.js.map +1 -1
  160. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-asset-kind.js.map +1 -1
  161. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-context-menu.js.map +1 -1
  162. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-dock-panel.js.map +1 -1
  163. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-actions.js.map +1 -1
  164. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-attach-dialog.js.map +1 -1
  165. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-auto-scroll.js.map +1 -1
  166. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-command-adapter.js.map +1 -1
  167. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-controller.d.ts +2 -1
  168. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-controller.d.ts.map +1 -1
  169. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-controller.js +260 -94
  170. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-controller.js.map +1 -1
  171. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-drag-policy.js.map +1 -1
  172. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-projection.d.ts +7 -0
  173. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-projection.d.ts.map +1 -0
  174. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-projection.js +186 -0
  175. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-projection.js.map +1 -0
  176. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-scope.d.ts +2 -2
  177. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-scope.d.ts.map +1 -1
  178. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-scope.js +14 -8
  179. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-scope.js.map +1 -1
  180. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-tree.d.ts.map +1 -1
  181. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-tree.js +23 -7
  182. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-tree.js.map +1 -1
  183. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-view.js.map +1 -1
  184. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-icons.d.ts +1 -1
  185. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-icons.d.ts.map +1 -1
  186. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-icons.js +6 -0
  187. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-icons.js.map +1 -1
  188. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-input-router.d.ts +3 -0
  189. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-input-router.d.ts.map +1 -1
  190. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-input-router.js +60 -13
  191. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-input-router.js.map +1 -1
  192. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-modal-dialog.js.map +1 -1
  193. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-panel-registry.js.map +1 -1
  194. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-panels.js.map +1 -1
  195. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-plugin-panel.js.map +1 -1
  196. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-prefab-stage.js.map +1 -1
  197. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-primitives.js.map +1 -1
  198. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-shared.js.map +1 -1
  199. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-shortcuts.js.map +1 -1
  200. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-status-diagnostics.d.ts +24 -0
  201. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-status-diagnostics.d.ts.map +1 -0
  202. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-status-diagnostics.js +69 -0
  203. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-status-diagnostics.js.map +1 -0
  204. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-structured-drag-auto-scroll.js.map +1 -1
  205. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-structured-drag-policy.js.map +1 -1
  206. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-structured-drag-preview.js.map +1 -1
  207. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-structured-drag-session.js.map +1 -1
  208. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-theme.js.map +1 -1
  209. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-tooltip.js.map +1 -1
  210. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-types.d.ts +58 -14
  211. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-types.d.ts.map +1 -1
  212. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-types.js.map +1 -1
  213. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-workbench.js.map +1 -1
  214. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui.d.ts +1 -1
  215. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui.d.ts.map +1 -1
  216. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui.js +196 -11
  217. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui.js.map +1 -1
  218. package/node_modules/@fps-games/editor-browser/dist/plugin-contributions.js.map +1 -1
  219. package/node_modules/@fps-games/editor-browser/dist/runtime-camera-debug-panel.js.map +1 -1
  220. package/node_modules/@fps-games/editor-browser/dist/runtime-debug-panel-shell.js.map +1 -1
  221. package/node_modules/@fps-games/editor-browser/dist/runtime-lighting-debug-panel.js.map +1 -1
  222. package/node_modules/@fps-games/editor-browser/package.json +4 -4
  223. package/node_modules/@fps-games/editor-core/dist/agent-bridge.js.map +1 -1
  224. package/node_modules/@fps-games/editor-core/dist/agent-interaction.js.map +1 -1
  225. package/node_modules/@fps-games/editor-core/dist/authoring-source.js.map +1 -1
  226. package/node_modules/@fps-games/editor-core/dist/document-adapter.js.map +1 -1
  227. package/node_modules/@fps-games/editor-core/dist/editor-plugin-host.js.map +1 -1
  228. package/node_modules/@fps-games/editor-core/dist/editor-session.d.ts +9 -1
  229. package/node_modules/@fps-games/editor-core/dist/editor-session.d.ts.map +1 -1
  230. package/node_modules/@fps-games/editor-core/dist/editor-session.js +18 -0
  231. package/node_modules/@fps-games/editor-core/dist/editor-session.js.map +1 -1
  232. package/node_modules/@fps-games/editor-core/dist/events.d.ts +1 -1
  233. package/node_modules/@fps-games/editor-core/dist/events.d.ts.map +1 -1
  234. package/node_modules/@fps-games/editor-core/dist/events.js.map +1 -1
  235. package/node_modules/@fps-games/editor-core/dist/field-schema/index.js.map +1 -1
  236. package/node_modules/@fps-games/editor-core/dist/field-schema/resolver.js.map +1 -1
  237. package/node_modules/@fps-games/editor-core/dist/field-schema/schema.js.map +1 -1
  238. package/node_modules/@fps-games/editor-core/dist/field-schema/types.js.map +1 -1
  239. package/node_modules/@fps-games/editor-core/dist/field-schema/validators.js.map +1 -1
  240. package/node_modules/@fps-games/editor-core/dist/host-services.js.map +1 -1
  241. package/node_modules/@fps-games/editor-core/dist/index.js.map +1 -1
  242. package/node_modules/@fps-games/editor-core/dist/inspector.js.map +1 -1
  243. package/node_modules/@fps-games/editor-core/dist/lifecycle.js.map +1 -1
  244. package/node_modules/@fps-games/editor-core/dist/marker-graph.js.map +1 -1
  245. package/node_modules/@fps-games/editor-core/dist/scene-graph.js.map +1 -1
  246. package/node_modules/@fps-games/editor-core/dist/scene-view-input.js.map +1 -1
  247. package/node_modules/@fps-games/editor-core/dist/selection-strategy.js.map +1 -1
  248. package/node_modules/@fps-games/editor-core/dist/serialized-object.js.map +1 -1
  249. package/node_modules/@fps-games/editor-core/dist/transform-command.js.map +1 -1
  250. package/node_modules/@fps-games/editor-core/dist/transform-gizmo.js.map +1 -1
  251. package/node_modules/@fps-games/editor-core/dist/transform-operation-policy.js.map +1 -1
  252. package/node_modules/@fps-games/editor-core/dist/transform-operations.js.map +1 -1
  253. package/node_modules/@fps-games/editor-core/dist/viewport-tools.js.map +1 -1
  254. package/node_modules/@fps-games/editor-core/package.json +6 -6
  255. package/node_modules/@fps-games/editor-forge-play/dist/agent-transport.js.map +1 -1
  256. package/node_modules/@fps-games/editor-forge-play/dist/index.js.map +1 -1
  257. package/node_modules/@fps-games/editor-forge-play/package.json +2 -2
  258. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-bridge/drop-cache.js.map +1 -1
  259. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-bridge/index.js.map +1 -1
  260. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-bridge/payload.d.ts.map +1 -1
  261. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-bridge/payload.js +28 -5
  262. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-bridge/payload.js.map +1 -1
  263. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-bridge/types.d.ts +1 -0
  264. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-bridge/types.d.ts.map +1 -1
  265. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-bridge/types.js.map +1 -1
  266. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/config.js.map +1 -1
  267. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/generated-module.js.map +1 -1
  268. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/index.js.map +1 -1
  269. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/managed-facade.js.map +1 -1
  270. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/manager-core.d.ts.map +1 -1
  271. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/manager-core.js +13 -1
  272. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/manager-core.js.map +1 -1
  273. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/metadata.js.map +1 -1
  274. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/node.js.map +1 -1
  275. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/registry.d.ts +1 -0
  276. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/registry.d.ts.map +1 -1
  277. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/registry.js +58 -23
  278. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/registry.js.map +1 -1
  279. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/types.js.map +1 -1
  280. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/catalog.js.map +1 -1
  281. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/document.js.map +1 -1
  282. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/index.js.map +1 -1
  283. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/types.js.map +1 -1
  284. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-placement/document.js.map +1 -1
  285. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-placement/identity.js.map +1 -1
  286. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-placement/index.js.map +1 -1
  287. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-placement/managed-runtime-instance.js.map +1 -1
  288. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-placement/placement.js.map +1 -1
  289. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-placement/runtime-scene.js.map +1 -1
  290. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-placement/types.js.map +1 -1
  291. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/index.js.map +1 -1
  292. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/result.d.ts.map +1 -1
  293. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/result.js +3 -0
  294. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/result.js.map +1 -1
  295. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/transport.js.map +1 -1
  296. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/types.d.ts +1 -0
  297. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/types.d.ts.map +1 -1
  298. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/types.js.map +1 -1
  299. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/workflow.d.ts +1 -0
  300. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/workflow.d.ts.map +1 -1
  301. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/workflow.js +7 -1
  302. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/workflow.js.map +1 -1
  303. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring/constants.js.map +1 -1
  304. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring/drift.js.map +1 -1
  305. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring/index.js.map +1 -1
  306. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring/runtime-transform-patch.js.map +1 -1
  307. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring/source.js.map +1 -1
  308. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-client/client.js.map +1 -1
  309. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-client/index.js.map +1 -1
  310. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-client/types.js.map +1 -1
  311. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-server/handler.js.map +1 -1
  312. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-server/index.js.map +1 -1
  313. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-server/payload.js.map +1 -1
  314. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-server/response.js.map +1 -1
  315. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-server/routes.js.map +1 -1
  316. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-server/types.js.map +1 -1
  317. package/node_modules/@fps-games/editor-playable-sdk/dist/bridge-command/adapter-dispatcher.js.map +1 -1
  318. package/node_modules/@fps-games/editor-playable-sdk/dist/bridge-command/index.js.map +1 -1
  319. package/node_modules/@fps-games/editor-playable-sdk/dist/bridge-command/payload.js.map +1 -1
  320. package/node_modules/@fps-games/editor-playable-sdk/dist/bridge-command/project-asset-adapter.js.map +1 -1
  321. package/node_modules/@fps-games/editor-playable-sdk/dist/bridge-command/protocol.js.map +1 -1
  322. package/node_modules/@fps-games/editor-playable-sdk/dist/bridge-command/readers.js.map +1 -1
  323. package/node_modules/@fps-games/editor-playable-sdk/dist/bridge-command/types.js.map +1 -1
  324. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/binding.js.map +1 -1
  325. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/fields.js.map +1 -1
  326. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/index.js.map +1 -1
  327. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/math.js.map +1 -1
  328. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/pan.js.map +1 -1
  329. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/panel-format.js.map +1 -1
  330. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/panel-state.js.map +1 -1
  331. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/panel-storage.js.map +1 -1
  332. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/panel-text.js.map +1 -1
  333. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/rig.js.map +1 -1
  334. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/save-patch.js.map +1 -1
  335. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/snapshot.js.map +1 -1
  336. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/types.js.map +1 -1
  337. package/node_modules/@fps-games/editor-playable-sdk/dist/commands/index.js.map +1 -1
  338. package/node_modules/@fps-games/editor-playable-sdk/dist/commands/transform.js.map +1 -1
  339. package/node_modules/@fps-games/editor-playable-sdk/dist/commands/types.js.map +1 -1
  340. package/node_modules/@fps-games/editor-playable-sdk/dist/core-contracts/index.js.map +1 -1
  341. package/node_modules/@fps-games/editor-playable-sdk/dist/document/helpers.js.map +1 -1
  342. package/node_modules/@fps-games/editor-playable-sdk/dist/document/index.js.map +1 -1
  343. package/node_modules/@fps-games/editor-playable-sdk/dist/document/types.js.map +1 -1
  344. package/node_modules/@fps-games/editor-playable-sdk/dist/field-schema/index.js.map +1 -1
  345. package/node_modules/@fps-games/editor-playable-sdk/dist/field-schema/resolver.js.map +1 -1
  346. package/node_modules/@fps-games/editor-playable-sdk/dist/field-schema/schema.js.map +1 -1
  347. package/node_modules/@fps-games/editor-playable-sdk/dist/field-schema/types.js.map +1 -1
  348. package/node_modules/@fps-games/editor-playable-sdk/dist/field-schema/validators.js.map +1 -1
  349. package/node_modules/@fps-games/editor-playable-sdk/dist/index.js.map +1 -1
  350. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/camera-section.js.map +1 -1
  351. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/document-property.js.map +1 -1
  352. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/document-sections.js.map +1 -1
  353. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/format.js.map +1 -1
  354. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/index.js.map +1 -1
  355. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/light-fields.js.map +1 -1
  356. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/light-sections.js.map +1 -1
  357. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/marker-section.js.map +1 -1
  358. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/object-assembly.js.map +1 -1
  359. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/readonly.js.map +1 -1
  360. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/runtime-sections.js.map +1 -1
  361. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/runtime-summary.js.map +1 -1
  362. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/runtime.js.map +1 -1
  363. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/safe-value.js.map +1 -1
  364. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/types.js.map +1 -1
  365. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/validation.js.map +1 -1
  366. package/node_modules/@fps-games/editor-playable-sdk/dist/internal/local-harness.js.map +1 -1
  367. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-debug/binding.js.map +1 -1
  368. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-debug/fields.js.map +1 -1
  369. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-debug/index.js.map +1 -1
  370. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-debug/math.js.map +1 -1
  371. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-debug/save-patch.js.map +1 -1
  372. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-debug/snapshot.js.map +1 -1
  373. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-debug/storage.js.map +1 -1
  374. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-debug/text.js.map +1 -1
  375. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-debug/types.js.map +1 -1
  376. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-preview/index.js.map +1 -1
  377. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-preview/math.js.map +1 -1
  378. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-preview/profile.js.map +1 -1
  379. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-preview/types.js.map +1 -1
  380. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/agent-descriptions.js.map +1 -1
  381. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/forge-play-types.js.map +1 -1
  382. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/forge-play.d.ts +2 -0
  383. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/forge-play.d.ts.map +1 -1
  384. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/forge-play.js +5 -0
  385. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/forge-play.js.map +1 -1
  386. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/host-controller.js.map +1 -1
  387. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/index.d.ts +1 -1
  388. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/index.d.ts.map +1 -1
  389. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/index.js.map +1 -1
  390. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/lifecycle.js.map +1 -1
  391. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/loading-overlay.js.map +1 -1
  392. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/project-asset-commands.d.ts +18 -0
  393. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/project-asset-commands.d.ts.map +1 -1
  394. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/project-asset-commands.js +60 -1
  395. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/project-asset-commands.js.map +1 -1
  396. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/timing.js.map +1 -1
  397. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/types.js.map +1 -1
  398. package/node_modules/@fps-games/editor-playable-sdk/dist/marker-scene/facade.js.map +1 -1
  399. package/node_modules/@fps-games/editor-playable-sdk/dist/marker-scene/game-objects.js.map +1 -1
  400. package/node_modules/@fps-games/editor-playable-sdk/dist/marker-scene/geometry.js.map +1 -1
  401. package/node_modules/@fps-games/editor-playable-sdk/dist/marker-scene/index.js.map +1 -1
  402. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/asset-fields.js.map +1 -1
  403. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/binding.js.map +1 -1
  404. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/default-assets.js.map +1 -1
  405. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/document-assets.d.ts.map +1 -1
  406. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/document-assets.js +28 -2
  407. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/document-assets.js.map +1 -1
  408. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/duplicate.js.map +1 -1
  409. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/index.js.map +1 -1
  410. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/inspector.js.map +1 -1
  411. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/paths.js.map +1 -1
  412. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/preview.js.map +1 -1
  413. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/profile.js.map +1 -1
  414. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/reimport.d.ts.map +1 -1
  415. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/reimport.js +26 -9
  416. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/reimport.js.map +1 -1
  417. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/resolver.js.map +1 -1
  418. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/scene-inspector.js.map +1 -1
  419. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/slot-inspector.d.ts.map +1 -1
  420. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/slot-inspector.js +0 -3
  421. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/slot-inspector.js.map +1 -1
  422. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/text.js.map +1 -1
  423. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/types.d.ts +8 -1
  424. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/types.d.ts.map +1 -1
  425. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/types.js.map +1 -1
  426. package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/field-patch.js.map +1 -1
  427. package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/index.js.map +1 -1
  428. package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/json-field.js.map +1 -1
  429. package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/reducer.js.map +1 -1
  430. package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/rendering-alpha-index.js.map +1 -1
  431. package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/transform.js.map +1 -1
  432. package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/types.js.map +1 -1
  433. package/node_modules/@fps-games/editor-playable-sdk/dist/package-resolution/aliases.d.ts +1 -1
  434. package/node_modules/@fps-games/editor-playable-sdk/dist/package-resolution/aliases.d.ts.map +1 -1
  435. package/node_modules/@fps-games/editor-playable-sdk/dist/package-resolution/aliases.js +18 -1
  436. package/node_modules/@fps-games/editor-playable-sdk/dist/package-resolution/aliases.js.map +1 -1
  437. package/node_modules/@fps-games/editor-playable-sdk/dist/package-resolution/index.js.map +1 -1
  438. package/node_modules/@fps-games/editor-playable-sdk/dist/package-resolution/types.d.ts +2 -0
  439. package/node_modules/@fps-games/editor-playable-sdk/dist/package-resolution/types.d.ts.map +1 -1
  440. package/node_modules/@fps-games/editor-playable-sdk/dist/package-resolution/types.js.map +1 -1
  441. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/action-patches.js.map +1 -1
  442. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/assets.js.map +1 -1
  443. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/index.js.map +1 -1
  444. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/material-override-inspector.js.map +1 -1
  445. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/projection.js.map +1 -1
  446. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/shadow-inspector.js.map +1 -1
  447. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/source-structure-inspector.js.map +1 -1
  448. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/stage-inspector.js.map +1 -1
  449. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/structure.js.map +1 -1
  450. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/types.js.map +1 -1
  451. package/node_modules/@fps-games/editor-playable-sdk/dist/product/asset-manager.js.map +1 -1
  452. package/node_modules/@fps-games/editor-playable-sdk/dist/product/ground-decal-scene-feature.js.map +1 -1
  453. package/node_modules/@fps-games/editor-playable-sdk/dist/product/ground-decal.js.map +1 -1
  454. package/node_modules/@fps-games/editor-playable-sdk/dist/product/index.js.map +1 -1
  455. package/node_modules/@fps-games/editor-playable-sdk/dist/product/project-host-services.d.ts +1 -0
  456. package/node_modules/@fps-games/editor-playable-sdk/dist/product/project-host-services.d.ts.map +1 -1
  457. package/node_modules/@fps-games/editor-playable-sdk/dist/product/project-host-services.js +3 -1
  458. package/node_modules/@fps-games/editor-playable-sdk/dist/product/project-host-services.js.map +1 -1
  459. package/node_modules/@fps-games/editor-playable-sdk/dist/product/scene-session.js.map +1 -1
  460. package/node_modules/@fps-games/editor-playable-sdk/dist/product/scene-source.js.map +1 -1
  461. package/node_modules/@fps-games/editor-playable-sdk/dist/product/standard-asset-actions.js.map +1 -1
  462. package/node_modules/@fps-games/editor-playable-sdk/dist/product/standard-scene-assembly.js.map +1 -1
  463. package/node_modules/@fps-games/editor-playable-sdk/dist/rendering-profile/draft.js.map +1 -1
  464. package/node_modules/@fps-games/editor-playable-sdk/dist/rendering-profile/index.js.map +1 -1
  465. package/node_modules/@fps-games/editor-playable-sdk/dist/rendering-profile/panel.js.map +1 -1
  466. package/node_modules/@fps-games/editor-playable-sdk/dist/rendering-profile/route.js.map +1 -1
  467. package/node_modules/@fps-games/editor-playable-sdk/dist/rendering-profile/types.js.map +1 -1
  468. package/node_modules/@fps-games/editor-playable-sdk/dist/runtime-preview/assets.js.map +1 -1
  469. package/node_modules/@fps-games/editor-playable-sdk/dist/runtime-preview/import-plan.js.map +1 -1
  470. package/node_modules/@fps-games/editor-playable-sdk/dist/runtime-preview/index.js.map +1 -1
  471. package/node_modules/@fps-games/editor-playable-sdk/dist/runtime-preview/nodes.js.map +1 -1
  472. package/node_modules/@fps-games/editor-playable-sdk/dist/runtime-preview/types.js.map +1 -1
  473. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/compiler.js +13 -1
  474. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/compiler.js.map +1 -1
  475. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/index.js.map +1 -1
  476. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/types.js.map +1 -1
  477. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/validation.js.map +1 -1
  478. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/artifacts.js.map +1 -1
  479. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/client.js.map +1 -1
  480. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/companion-configs.js.map +1 -1
  481. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/driver.js.map +1 -1
  482. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/index.js.map +1 -1
  483. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/protocol.js.map +1 -1
  484. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/types.js.map +1 -1
  485. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/validation.js.map +1 -1
  486. package/node_modules/@fps-games/editor-playable-sdk/dist/serialized-property/descriptors.js.map +1 -1
  487. package/node_modules/@fps-games/editor-playable-sdk/dist/serialized-property/index.js.map +1 -1
  488. package/node_modules/@fps-games/editor-playable-sdk/dist/serialized-property/inspector.js.map +1 -1
  489. package/node_modules/@fps-games/editor-playable-sdk/dist/serialized-property/object.js.map +1 -1
  490. package/node_modules/@fps-games/editor-playable-sdk/dist/serialized-property/patch.js.map +1 -1
  491. package/node_modules/@fps-games/editor-playable-sdk/dist/serialized-property/types.js.map +1 -1
  492. package/node_modules/@fps-games/editor-playable-sdk/dist/session/classification.js.map +1 -1
  493. package/node_modules/@fps-games/editor-playable-sdk/dist/session/hierarchy-facade.js.map +1 -1
  494. package/node_modules/@fps-games/editor-playable-sdk/dist/session/hierarchy.js.map +1 -1
  495. package/node_modules/@fps-games/editor-playable-sdk/dist/session/identity.js.map +1 -1
  496. package/node_modules/@fps-games/editor-playable-sdk/dist/session/index.js.map +1 -1
  497. package/node_modules/@fps-games/editor-playable-sdk/dist/session/object-command-facade.js.map +1 -1
  498. package/node_modules/@fps-games/editor-playable-sdk/dist/session/patches.js.map +1 -1
  499. package/node_modules/@fps-games/editor-playable-sdk/dist/session/property-patches.js.map +1 -1
  500. package/node_modules/@fps-games/editor-playable-sdk/dist/session/reducer-core.js.map +1 -1
  501. package/node_modules/@fps-games/editor-playable-sdk/dist/session/system-defaults.js.map +1 -1
  502. package/node_modules/@fps-games/editor-playable-sdk/dist/session/transform.js.map +1 -1
  503. package/node_modules/@fps-games/editor-playable-sdk/dist/session/types.js.map +1 -1
  504. package/node_modules/@fps-games/editor-playable-sdk/dist/shadow-system/index.js.map +1 -1
  505. package/node_modules/@fps-games/editor-playable-sdk/dist/shadow-system/resolver.js.map +1 -1
  506. package/node_modules/@fps-games/editor-playable-sdk/dist/shared/http.js.map +1 -1
  507. package/node_modules/@fps-games/editor-playable-sdk/dist/shared/json.js.map +1 -1
  508. package/node_modules/@fps-games/editor-playable-sdk/dist/static-shadows/artifact.js.map +1 -1
  509. package/node_modules/@fps-games/editor-playable-sdk/dist/static-shadows/index.js.map +1 -1
  510. package/node_modules/@fps-games/editor-playable-sdk/dist/upgrade-doctor/host.js.map +1 -1
  511. package/node_modules/@fps-games/editor-playable-sdk/dist/upgrade-doctor/index.js.map +1 -1
  512. package/node_modules/@fps-games/editor-playable-sdk/dist/upgrade-doctor/inspectors.js.map +1 -1
  513. package/node_modules/@fps-games/editor-playable-sdk/dist/upgrade-doctor/report.js.map +1 -1
  514. package/node_modules/@fps-games/editor-playable-sdk/dist/upgrade-doctor/types.js.map +1 -1
  515. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/asset-authoring.js.map +1 -1
  516. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/authoring-http.d.ts +1 -0
  517. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/authoring-http.d.ts.map +1 -1
  518. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/authoring-http.js +1 -0
  519. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/authoring-http.js.map +1 -1
  520. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/build-info-core.js.map +1 -1
  521. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/build-info-node.js.map +1 -1
  522. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/editor-scene-workflow.d.ts +6 -5
  523. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/editor-scene-workflow.d.ts.map +1 -1
  524. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/editor-scene-workflow.js.map +1 -1
  525. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/index.js.map +1 -1
  526. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/module-invalidation.d.ts +3 -1
  527. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/module-invalidation.d.ts.map +1 -1
  528. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/module-invalidation.js +37 -8
  529. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/module-invalidation.js.map +1 -1
  530. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/path-write-coordinator.js.map +1 -1
  531. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/plugin.d.ts +4 -3
  532. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/plugin.d.ts.map +1 -1
  533. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/plugin.js +14 -1
  534. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/plugin.js.map +1 -1
  535. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-adapter.d.ts +5 -4
  536. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-adapter.d.ts.map +1 -1
  537. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-adapter.js.map +1 -1
  538. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-asset-authoring.d.ts +3 -2
  539. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-asset-authoring.d.ts.map +1 -1
  540. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-asset-authoring.js +2 -11
  541. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-asset-authoring.js.map +1 -1
  542. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-authoring-api.d.ts +8 -7
  543. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-authoring-api.d.ts.map +1 -1
  544. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-authoring-api.js +84 -6
  545. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-authoring-api.js.map +1 -1
  546. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-rendering-authoring.d.ts +2 -1
  547. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-rendering-authoring.d.ts.map +1 -1
  548. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-rendering-authoring.js.map +1 -1
  549. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-scene-authoring.d.ts +4 -3
  550. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-scene-authoring.d.ts.map +1 -1
  551. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-scene-authoring.js +1 -4
  552. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-scene-authoring.js.map +1 -1
  553. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/session-metadata.js.map +1 -1
  554. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/types.d.ts +0 -33
  555. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/types.d.ts.map +1 -1
  556. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/types.js.map +1 -1
  557. package/node_modules/@fps-games/editor-playable-sdk/package.json +9 -6
  558. package/node_modules/@fps-games/editor-protocol/dist/agent-bridge.js.map +1 -1
  559. package/node_modules/@fps-games/editor-protocol/dist/agent-trace.js.map +1 -1
  560. package/node_modules/@fps-games/editor-protocol/dist/agent.js.map +1 -1
  561. package/node_modules/@fps-games/editor-protocol/dist/index.js.map +1 -1
  562. package/node_modules/@fps-games/editor-protocol/dist/marker-graph.js.map +1 -1
  563. package/node_modules/@fps-games/editor-protocol/package.json +2 -2
  564. package/node_modules/@fps-games/editor-tooling/dist/contributions.js.map +1 -1
  565. package/node_modules/@fps-games/editor-tooling/dist/data-object.js.map +1 -1
  566. package/node_modules/@fps-games/editor-tooling/dist/index.js.map +1 -1
  567. package/node_modules/@fps-games/editor-tooling/dist/migration.js.map +1 -1
  568. package/node_modules/@fps-games/editor-tooling/dist/package-metadata-node.js.map +1 -1
  569. package/node_modules/@fps-games/editor-tooling/dist/vite.js.map +1 -1
  570. package/node_modules/@fps-games/editor-tooling/package.json +3 -3
  571. package/node_modules/@fps-games/playable-assets/dist/identity.js.map +1 -1
  572. package/node_modules/@fps-games/playable-assets/dist/index.d.ts +1 -0
  573. package/node_modules/@fps-games/playable-assets/dist/index.d.ts.map +1 -1
  574. package/node_modules/@fps-games/playable-assets/dist/index.js +1 -0
  575. package/node_modules/@fps-games/playable-assets/dist/index.js.map +1 -1
  576. package/node_modules/@fps-games/playable-assets/dist/portable-path.d.ts +2 -0
  577. package/node_modules/@fps-games/playable-assets/dist/portable-path.d.ts.map +1 -0
  578. package/node_modules/@fps-games/playable-assets/dist/portable-path.js +25 -0
  579. package/node_modules/@fps-games/playable-assets/dist/portable-path.js.map +1 -0
  580. package/node_modules/@fps-games/playable-assets/package.json +1 -1
  581. package/node_modules/@fps-games/playable-contracts/dist/index.js.map +1 -1
  582. package/node_modules/@fps-games/playable-contracts/dist/marker-graph-validation.js.map +1 -1
  583. package/node_modules/@fps-games/playable-contracts/dist/marker-graph.js.map +1 -1
  584. package/node_modules/@fps-games/playable-contracts/package.json +1 -1
  585. package/node_modules/@fps-games/playable-rendering/dist/index.js.map +1 -1
  586. package/node_modules/@fps-games/playable-rendering/dist/rendering-profile-authoring.js.map +1 -1
  587. package/node_modules/@fps-games/playable-rendering/dist/rendering-profile-types.js.map +1 -1
  588. package/node_modules/@fps-games/playable-rendering/dist/rendering-profile-validation.js.map +1 -1
  589. package/node_modules/@fps-games/playable-rendering/dist/rendering-profile-values.js.map +1 -1
  590. package/node_modules/@fps-games/playable-rendering/dist/rendering-profile.js.map +1 -1
  591. package/node_modules/@fps-games/playable-rendering/dist/runtime.js.map +1 -1
  592. package/node_modules/@fps-games/playable-rendering/dist/shadow-quality.js.map +1 -1
  593. package/node_modules/@fps-games/playable-rendering/dist/shadow-runtime.js.map +1 -1
  594. package/node_modules/@fps-games/playable-rendering/dist/shadow-settings.js.map +1 -1
  595. package/node_modules/@fps-games/playable-rendering/dist/shadow-types.js.map +1 -1
  596. package/node_modules/@fps-games/playable-rendering/dist/shadow-validation.js.map +1 -1
  597. package/node_modules/@fps-games/playable-rendering/dist/value.js.map +1 -1
  598. package/node_modules/@fps-games/playable-rendering/package.json +2 -2
  599. package/node_modules/@fps-games/playable-runtime/dist/compiled-scene-data.js.map +1 -1
  600. package/node_modules/@fps-games/playable-runtime/dist/index.js.map +1 -1
  601. package/node_modules/@fps-games/playable-runtime/dist/runtime-data.js.map +1 -1
  602. package/node_modules/@fps-games/playable-runtime/dist/runtime.js.map +1 -1
  603. package/node_modules/@fps-games/playable-runtime/dist/standard-plugins.js.map +1 -1
  604. package/node_modules/@fps-games/playable-runtime/dist/tokens.js.map +1 -1
  605. package/node_modules/@fps-games/playable-runtime/dist/types.js.map +1 -1
  606. package/node_modules/@fps-games/playable-runtime/package.json +12 -12
  607. package/node_modules/@fps-games/playable-runtime-data/dist/index.js.map +1 -1
  608. package/node_modules/@fps-games/playable-runtime-data/package.json +4 -4
  609. package/node_modules/@fps-games/playable-scene/dist/index.js.map +1 -1
  610. package/node_modules/@fps-games/playable-scene/dist/transform-math.js.map +1 -1
  611. package/node_modules/@fps-games/playable-scene/package.json +2 -2
  612. package/node_modules/@fps-games/plugin-api/dist/index.js.map +1 -1
  613. package/node_modules/@fps-games/plugin-api/package.json +1 -1
  614. package/node_modules/@fps-games/plugin-assets/dist/reference.js.map +1 -1
  615. package/node_modules/@fps-games/plugin-assets/dist/runtime.js.map +1 -1
  616. package/node_modules/@fps-games/plugin-assets/dist/version.d.ts +1 -1
  617. package/node_modules/@fps-games/plugin-assets/dist/version.js +1 -1
  618. package/node_modules/@fps-games/plugin-assets/dist/version.js.map +1 -1
  619. package/node_modules/@fps-games/plugin-assets/package.json +5 -5
  620. package/node_modules/@fps-games/plugin-host/dist/index.js.map +1 -1
  621. package/node_modules/@fps-games/plugin-host/package.json +2 -2
  622. package/node_modules/@fps-games/plugin-markers/dist/reference.js.map +1 -1
  623. package/node_modules/@fps-games/plugin-markers/dist/runtime.js.map +1 -1
  624. package/node_modules/@fps-games/plugin-markers/dist/version.d.ts +1 -1
  625. package/node_modules/@fps-games/plugin-markers/dist/version.js +1 -1
  626. package/node_modules/@fps-games/plugin-markers/dist/version.js.map +1 -1
  627. package/node_modules/@fps-games/plugin-markers/package.json +5 -5
  628. package/node_modules/@fps-games/plugin-materials/dist/reference.js.map +1 -1
  629. package/node_modules/@fps-games/plugin-materials/dist/runtime.js.map +1 -1
  630. package/node_modules/@fps-games/plugin-materials/dist/version.d.ts +1 -1
  631. package/node_modules/@fps-games/plugin-materials/dist/version.js +1 -1
  632. package/node_modules/@fps-games/plugin-materials/dist/version.js.map +1 -1
  633. package/node_modules/@fps-games/plugin-materials/package.json +5 -5
  634. package/node_modules/@fps-games/plugin-rendering/dist/reference.js.map +1 -1
  635. package/node_modules/@fps-games/plugin-rendering/dist/runtime.js.map +1 -1
  636. package/node_modules/@fps-games/plugin-rendering/dist/version.d.ts +1 -1
  637. package/node_modules/@fps-games/plugin-rendering/dist/version.js +1 -1
  638. package/node_modules/@fps-games/plugin-rendering/dist/version.js.map +1 -1
  639. package/node_modules/@fps-games/plugin-rendering/package.json +5 -5
  640. package/node_modules/@fps-games/plugin-scene/dist/reference.js.map +1 -1
  641. package/node_modules/@fps-games/plugin-scene/dist/runtime.js.map +1 -1
  642. package/node_modules/@fps-games/plugin-scene/dist/version.d.ts +1 -1
  643. package/node_modules/@fps-games/plugin-scene/dist/version.js +1 -1
  644. package/node_modules/@fps-games/plugin-scene/dist/version.js.map +1 -1
  645. package/node_modules/@fps-games/plugin-scene/package.json +5 -5
  646. package/node_modules/@fps-games/plugin-shadows/dist/reference.js.map +1 -1
  647. package/node_modules/@fps-games/plugin-shadows/dist/runtime.js.map +1 -1
  648. package/node_modules/@fps-games/plugin-shadows/dist/version.d.ts +1 -1
  649. package/node_modules/@fps-games/plugin-shadows/dist/version.js +1 -1
  650. package/node_modules/@fps-games/plugin-shadows/dist/version.js.map +1 -1
  651. package/node_modules/@fps-games/plugin-shadows/package.json +7 -7
  652. package/package.json +27 -19
@@ -1 +1 @@
1
- {"version":3,"file":"transform.d.ts","sourceRoot":"","sources":["../../../src/agent-bridge/capabilities/transform.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,qCAAqC,EAAE,MAAM,oBAAoB,CAAC;AAChF,OAAO,EAGL,KAAK,gDAAgD,EACrD,KAAK,kCAAkC,EACxC,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAC;AAE/E,wBAAgB,2CAA2C,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EACnF,KAAK,EAAE,kCAAkC,CAAC,SAAS,EAAE,MAAM,CAAC,EAC5D,OAAO,EAAE,yBAAyB,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,EAC7D,QAAQ,EAAE,MAAM,IAAI,EACpB,UAAU,EAAE,gDAAgD,CAAC,SAAS,CAAC,GACtE,qCAAqC,CASvC"}
1
+ {"version":3,"file":"transform.d.ts","sourceRoot":"","sources":["../../../src/agent-bridge/capabilities/transform.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,qCAAqC,EAAE,MAAM,oBAAoB,CAAC;AAChF,OAAO,EAKL,KAAK,gDAAgD,EACrD,KAAK,kCAAkC,EACxC,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAC;AAE/E,wBAAgB,2CAA2C,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EACnF,KAAK,EAAE,kCAAkC,CAAC,SAAS,EAAE,MAAM,CAAC,EAC5D,OAAO,EAAE,yBAAyB,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,EAC7D,QAAQ,EAAE,MAAM,IAAI,EACpB,UAAU,EAAE,gDAAgD,CAAC,SAAS,CAAC,GACtE,qCAAqC,CASvC"}
@@ -1,7 +1,7 @@
1
1
  import { isEditorTransformTrsSnapshot, } from '@fps-games/editor-core';
2
2
  import { EDITOR_AGENT_BRIDGE_CAPABILITY_ID, } from '@fps-games/editor-protocol';
3
3
  import { cloneVec3, createLocalEditorAgentBridgeFailure, editorTransformSnapshotToAgentTransform, isLocalEditorAgentBridgeVec3, } from '../diagnostics.js';
4
- import { cloneAgentBridgeSelection, isAgentBridgeDocumentNodeSelectable, } from '../shared.js';
4
+ import { cloneAgentBridgeSelection, getAgentBridgeSafeSceneSelection, isAgentBridgeDocumentNodeSelectable, isAgentBridgeSafeSceneObjectId, } from '../shared.js';
5
5
  export function createLocalEditorAgentBridgeTransformSource(state, options, renderUi, operations) {
6
6
  return {
7
7
  move(input) {
@@ -31,7 +31,8 @@ function moveAgentBridgeObject(state, options, input, renderUi, operations) {
31
31
  return createLocalEditorAgentBridgeFailure(EDITOR_AGENT_BRIDGE_CAPABILITY_ID.TRANSFORM_MOVE, 'Editor is not in edit mode.', { code: 'editor.notReady', objectId });
32
32
  }
33
33
  const document = state.session.getState({ cloneDocuments: false }).workingDocument;
34
- if (!isAgentBridgeDocumentNodeSelectable(options, document, objectId)) {
34
+ if (!isAgentBridgeSafeSceneObjectId(operations, objectId)
35
+ || !isAgentBridgeDocumentNodeSelectable(options, document, objectId)) {
35
36
  return createLocalEditorAgentBridgeFailure(EDITOR_AGENT_BRIDGE_CAPABILITY_ID.TRANSFORM_MOVE, `Object is not movable: ${objectId}`, { code: 'transform.notSelectable', objectId });
36
37
  }
37
38
  const before = state.projection?.readNodeTransform(objectId) ?? null;
@@ -75,7 +76,8 @@ function setAgentBridgeObjectTransform(state, options, input, renderUi, operatio
75
76
  return createLocalEditorAgentBridgeFailure(EDITOR_AGENT_BRIDGE_CAPABILITY_ID.TRANSFORM_SET, 'Editor is not in edit mode.', { code: 'editor.notReady', objectId });
76
77
  }
77
78
  const document = state.session.getState({ cloneDocuments: false }).workingDocument;
78
- if (!isAgentBridgeDocumentNodeSelectable(options, document, objectId)) {
79
+ if (!isAgentBridgeSafeSceneObjectId(operations, objectId)
80
+ || !isAgentBridgeDocumentNodeSelectable(options, document, objectId)) {
79
81
  return createLocalEditorAgentBridgeFailure(EDITOR_AGENT_BRIDGE_CAPABILITY_ID.TRANSFORM_SET, `Object is not transformable: ${objectId}`, { code: 'transform.notSelectable', objectId });
80
82
  }
81
83
  const before = state.projection?.readNodeTransform(objectId) ?? null;
@@ -149,7 +151,7 @@ function dispatchAgentBridgeTransformPatch(state, options, input, renderUi, oper
149
151
  objectId,
150
152
  before: editorTransformSnapshotToAgentTransform(before) ?? {},
151
153
  after: editorTransformSnapshotToAgentTransform(updated) ?? {},
152
- selection: cloneAgentBridgeSelection(state.session.getState({ cloneDocuments: false }).selection),
154
+ selection: cloneAgentBridgeSelection(getAgentBridgeSafeSceneSelection(operations)),
153
155
  };
154
156
  }
155
157
  function addAgentBridgeVec3(left, right) {
@@ -1 +1 @@
1
- {"version":3,"file":"transform.js","sourceRoot":"","sources":["../../../src/agent-bridge/capabilities/transform.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transform.js","sourceRoot":"","sources":["../../../src/agent-bridge/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_AGENT_BRIDGE_CAPABILITY_ID,\n type EditorAgentBridgeTransformMoveOutput,\n type EditorAgentBridgeVec3,\n} from '@fps-games/editor-protocol';\nimport {\n cloneVec3,\n createLocalEditorAgentBridgeFailure,\n editorTransformSnapshotToAgentTransform,\n isLocalEditorAgentBridgeVec3,\n} from '../diagnostics.js';\nimport type { LocalEditorAgentBridgeTransformSource } from '../source-types.js';\nimport {\n cloneAgentBridgeSelection,\n getAgentBridgeSafeSceneSelection,\n isAgentBridgeDocumentNodeSelectable,\n isAgentBridgeSafeSceneObjectId,\n type LocalEditorAgentBridgeCapabilitySourceOperations,\n type LocalEditorAgentBridgeHarnessState,\n} from '../shared.js';\nimport type { LocalEditorHarnessOptions } from '../../local-editor-harness.js';\n\nexport function createLocalEditorAgentBridgeTransformSource<TDocument, TPatch, TAsset>(\n state: LocalEditorAgentBridgeHarnessState<TDocument, TPatch>,\n options: LocalEditorHarnessOptions<TDocument, TPatch, TAsset>,\n renderUi: () => void,\n operations: LocalEditorAgentBridgeCapabilitySourceOperations<TDocument>,\n): LocalEditorAgentBridgeTransformSource {\n return {\n move(input) {\n return moveAgentBridgeObject(state, options, input, renderUi, operations);\n },\n set(input) {\n return setAgentBridgeObjectTransform(state, options, input, renderUi, operations);\n },\n };\n}\n\nfunction moveAgentBridgeObject<TDocument, TPatch, TAsset>(\n state: LocalEditorAgentBridgeHarnessState<TDocument, TPatch>,\n options: LocalEditorHarnessOptions<TDocument, TPatch, TAsset>,\n input: { objectId?: string; position?: unknown; offset?: unknown },\n renderUi: () => void,\n operations: LocalEditorAgentBridgeCapabilitySourceOperations<TDocument>,\n): ReturnType<LocalEditorAgentBridgeTransformSource['move']> {\n const objectId = typeof input?.objectId === 'string' ? input.objectId.trim() : '';\n if (!objectId) {\n return createLocalEditorAgentBridgeFailure(\n EDITOR_AGENT_BRIDGE_CAPABILITY_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 createLocalEditorAgentBridgeFailure(\n EDITOR_AGENT_BRIDGE_CAPABILITY_ID.TRANSFORM_MOVE,\n 'transform.move requires exactly one of position or offset.',\n { code: 'transform.invalidInput', objectId },\n );\n }\n const movePosition = hasPosition && isLocalEditorAgentBridgeVec3(input.position) ? input.position : null;\n const moveOffset = hasOffset && isLocalEditorAgentBridgeVec3(input.offset) ? input.offset : null;\n if ((hasPosition && !movePosition) || (hasOffset && !moveOffset)) {\n return createLocalEditorAgentBridgeFailure(\n EDITOR_AGENT_BRIDGE_CAPABILITY_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 createLocalEditorAgentBridgeFailure(\n EDITOR_AGENT_BRIDGE_CAPABILITY_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 (!isAgentBridgeSafeSceneObjectId(operations, objectId)\n || !isAgentBridgeDocumentNodeSelectable(options, document, objectId)) {\n return createLocalEditorAgentBridgeFailure(\n EDITOR_AGENT_BRIDGE_CAPABILITY_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 createLocalEditorAgentBridgeFailure(\n EDITOR_AGENT_BRIDGE_CAPABILITY_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 createLocalEditorAgentBridgeFailure(\n EDITOR_AGENT_BRIDGE_CAPABILITY_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 : addAgentBridgeVec3(after.position, moveOffset!);\n return dispatchAgentBridgeTransformPatch(\n state,\n options,\n {\n capabilityId: EDITOR_AGENT_BRIDGE_CAPABILITY_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 setAgentBridgeObjectTransform<TDocument, TPatch, TAsset>(\n state: LocalEditorAgentBridgeHarnessState<TDocument, TPatch>,\n options: LocalEditorHarnessOptions<TDocument, TPatch, TAsset>,\n input: { objectId?: string; position?: unknown; rotation?: unknown; scale?: unknown },\n renderUi: () => void,\n operations: LocalEditorAgentBridgeCapabilitySourceOperations<TDocument>,\n): ReturnType<LocalEditorAgentBridgeTransformSource['set']> {\n const objectId = typeof input?.objectId === 'string' ? input.objectId.trim() : '';\n if (!objectId) {\n return createLocalEditorAgentBridgeFailure(\n EDITOR_AGENT_BRIDGE_CAPABILITY_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 createLocalEditorAgentBridgeFailure(\n EDITOR_AGENT_BRIDGE_CAPABILITY_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 && isLocalEditorAgentBridgeVec3(input.position) ? input.position : null;\n const rotation = hasRotation && isLocalEditorAgentBridgeVec3(input.rotation) ? input.rotation : null;\n const scale = hasScale && isLocalEditorAgentBridgeVec3(input.scale) ? input.scale : null;\n if ((hasPosition && !position) || (hasRotation && !rotation) || (hasScale && !scale)) {\n return createLocalEditorAgentBridgeFailure(\n EDITOR_AGENT_BRIDGE_CAPABILITY_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 createLocalEditorAgentBridgeFailure(\n EDITOR_AGENT_BRIDGE_CAPABILITY_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 (!isAgentBridgeSafeSceneObjectId(operations, objectId)\n || !isAgentBridgeDocumentNodeSelectable(options, document, objectId)) {\n return createLocalEditorAgentBridgeFailure(\n EDITOR_AGENT_BRIDGE_CAPABILITY_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 createLocalEditorAgentBridgeFailure(\n EDITOR_AGENT_BRIDGE_CAPABILITY_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 createLocalEditorAgentBridgeFailure(\n EDITOR_AGENT_BRIDGE_CAPABILITY_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 dispatchAgentBridgeTransformPatch(\n state,\n options,\n {\n capabilityId: EDITOR_AGENT_BRIDGE_CAPABILITY_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 dispatchAgentBridgeTransformPatch<TDocument, TPatch, TAsset>(\n state: LocalEditorAgentBridgeHarnessState<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: LocalEditorAgentBridgeCapabilitySourceOperations<TDocument>,\n): EditorAgentBridgeTransformMoveOutput | ReturnType<typeof createLocalEditorAgentBridgeFailure> {\n const { capabilityId, objectId, before, after, tool, label } = input;\n if (state.mode !== 'editor' || !state.session) {\n return createLocalEditorAgentBridgeFailure(\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 createLocalEditorAgentBridgeFailure(\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 createLocalEditorAgentBridgeFailure(\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: cloneAgentBridgeSelection(getAgentBridgeSafeSceneSelection(operations)),\n } satisfies EditorAgentBridgeTransformMoveOutput;\n}\n\nfunction addAgentBridgeVec3(left: EditorAgentBridgeVec3, right: EditorAgentBridgeVec3): EditorAgentBridgeVec3 {\n return {\n x: left.x + right.x,\n y: left.y + right.y,\n z: left.z + right.z,\n };\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"ui-regions.js","sourceRoot":"","sources":["../../../src/agent-bridge/capabilities/ui-regions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ui-regions.js","sourceRoot":"","sources":["../../../src/agent-bridge/capabilities/ui-regions.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iCAAiC,GAGlC,MAAM,4BAA4B,CAAC;AAIpC,MAAM,8BAA8B,GAAgD,MAAM,CAAC,MAAM,CAAC;IAChG;QACE,EAAE,EAAE,aAAa;QACjB,KAAK,EAAE,aAAa;QACpB,QAAQ,EAAE,KAAK;QACf,OAAO,EAAE,yFAAyF;QAClG,mBAAmB,EAAE;YACnB,iCAAiC,CAAC,aAAa;YAC/C,iCAAiC,CAAC,iBAAiB;YACnD,iCAAiC,CAAC,sBAAsB;YACxD,iCAAiC,CAAC,gBAAgB;SACnD;QACD,aAAa,EAAE,CAAC,YAAY,EAAE,QAAQ,CAAC;QACvC,KAAK,EAAE;YACL,gEAAgE;YAChE,0FAA0F;SAC3F;KACF;IACD;QACE,EAAE,EAAE,gBAAgB;QACpB,KAAK,EAAE,WAAW;QAClB,QAAQ,EAAE,MAAM;QAChB,OAAO,EAAE,kGAAkG;QAC3G,mBAAmB,EAAE;YACnB,iCAAiC,CAAC,kBAAkB;YACpD,iCAAiC,CAAC,cAAc;YAChD,iCAAiC,CAAC,aAAa;YAC/C,iCAAiC,CAAC,uBAAuB;YACzD,iCAAiC,CAAC,aAAa;SAChD;QACD,aAAa,EAAE,CAAC,YAAY,EAAE,QAAQ,CAAC;QACvC,KAAK,EAAE;YACL,2FAA2F;YAC3F,qGAAqG;SACtG;KACF;IACD;QACE,EAAE,EAAE,gBAAgB;QACpB,KAAK,EAAE,sBAAsB;QAC7B,QAAQ,EAAE,QAAQ;QAClB,OAAO,EAAE,mGAAmG;QAC5G,mBAAmB,EAAE;YACnB,iCAAiC,CAAC,qBAAqB;YACvD,iCAAiC,CAAC,wBAAwB;YAC1D,iCAAiC,CAAC,mBAAmB;YACrD,iCAAiC,CAAC,0BAA0B;YAC5D,iCAAiC,CAAC,qBAAqB;YACvD,iCAAiC,CAAC,cAAc;YAChD,iCAAiC,CAAC,aAAa;SAChD;QACD,aAAa,EAAE,CAAC,YAAY,EAAE,QAAQ,EAAE,cAAc,CAAC;QACvD,KAAK,EAAE;YACL,oGAAoG;YACpG,uGAAuG;SACxG;KACF;IACD;QACE,EAAE,EAAE,iBAAiB;QACrB,KAAK,EAAE,WAAW;QAClB,QAAQ,EAAE,OAAO;QACjB,OAAO,EAAE,sGAAsG;QAC/G,mBAAmB,EAAE;YACnB,iCAAiC,CAAC,gBAAgB;YAClD,iCAAiC,CAAC,mBAAmB;YACrD,iCAAiC,CAAC,aAAa;YAC/C,iCAAiC,CAAC,aAAa;SAChD;QACD,aAAa,EAAE,CAAC,YAAY,EAAE,QAAQ,CAAC;QACvC,KAAK,EAAE;YACL,0GAA0G;YAC1G,yHAAyH;SAC1H;KACF;IACD;QACE,EAAE,EAAE,mBAAmB;QACvB,KAAK,EAAE,2BAA2B;QAClC,QAAQ,EAAE,OAAO;QACjB,OAAO,EAAE,2FAA2F;QACpG,mBAAmB,EAAE;YACnB,iCAAiC,CAAC,gBAAgB;YAClD,iCAAiC,CAAC,mBAAmB;SACtD;QACD,aAAa,EAAE,CAAC,YAAY,EAAE,QAAQ,CAAC;QACvC,KAAK,EAAE;YACL,gFAAgF;YAChF,2FAA2F;SAC5F;KACF;IACD;QACE,EAAE,EAAE,eAAe;QACnB,KAAK,EAAE,eAAe;QACtB,QAAQ,EAAE,QAAQ;QAClB,OAAO,EAAE,6EAA6E;QACtF,mBAAmB,EAAE;YACnB,iCAAiC,CAAC,kBAAkB;YACpD,iCAAiC,CAAC,cAAc;YAChD,iCAAiC,CAAC,kBAAkB;YACpD,iCAAiC,CAAC,cAAc;YAChD,iCAAiC,CAAC,iBAAiB;YACnD,iCAAiC,CAAC,iBAAiB;YACnD,iCAAiC,CAAC,wBAAwB;SAC3D;QACD,aAAa,EAAE,CAAC,YAAY,EAAE,QAAQ,CAAC;QACvC,KAAK,EAAE;YACL,8EAA8E;YAC9E,4HAA4H;YAC5H,kGAAkG;SACnG;KACF;IACD;QACE,EAAE,EAAE,eAAe;QACnB,KAAK,EAAE,sBAAsB;QAC7B,QAAQ,EAAE,oBAAoB;QAC9B,OAAO,EAAE,kIAAkI;QAC3I,mBAAmB,EAAE;YACnB,iCAAiC,CAAC,gBAAgB;SACnD;QACD,aAAa,EAAE,CAAC,SAAS,EAAE,YAAY,EAAE,QAAQ,CAAC;QAClD,KAAK,EAAE;YACL,2DAA2D;YAC3D,+GAA+G;SAChH;KACF;CACF,CAAC,CAAC;AAEH,MAAM,2BAA2B,GAAG,MAAM,CAAC,MAAM,CAAC;IAChD,mBAAmB;IACnB,sBAAsB;IACtB,0BAA0B;IAC1B,+CAA+C;IAC/C,2CAA2C;IAC3C,2DAA2D;IAC3D,8CAA8C;IAC9C,2GAA2G;CAC5G,CAAC,CAAC;AAEH,MAAM,iBAAiB,GAAG,MAAM,CAAC,MAAM,CAAC;IACtC,wGAAwG;IACxG,0FAA0F;IAC1F,mHAAmH;IACnH,kGAAkG;IAClG,8GAA8G;CAC/G,CAAC,CAAC;AAEH,MAAM,UAAU,oCAAoC,CAClD,KAA4D;IAE5D,OAAO;QACL,UAAU;YACR,OAAO,0BAA0B,CAAC,KAAK,CAAC,CAAC;QAC3C,CAAC;KACF,CAAC;AACJ,CAAC;AAED,SAAS,0BAA0B,CACjC,KAA4D;IAE5D,OAAO;QACL,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,WAAW,EAAE,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI;QACtE,aAAa,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO;QAC9B,OAAO,EAAE,8BAA8B,CAAC,GAAG,CAAC,WAAW,CAAC;QACxD,yBAAyB,EAAE,CAAC,GAAG,2BAA2B,CAAC;QAC3D,eAAe,EAAE,CAAC,GAAG,iBAAiB,CAAC;KACxC,CAAC;AACJ,CAAC;AAED,SAAS,WAAW,CAAC,MAAwC;IAC3D,OAAO;QACL,GAAG,MAAM;QACT,mBAAmB,EAAE,CAAC,GAAG,MAAM,CAAC,mBAAmB,CAAC;QACpD,GAAG,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,GAAG,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7E,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACtD,CAAC;AACJ,CAAC","sourcesContent":["import {\n EDITOR_AGENT_BRIDGE_CAPABILITY_ID,\n type EditorAgentBridgeUiRegionsGetOutput,\n type EditorAgentBridgeWorkspaceRegion,\n} from '@fps-games/editor-protocol';\nimport type { LocalEditorAgentBridgeUiSource } from '../source-types.js';\nimport type { LocalEditorAgentBridgeHarnessState } from '../shared.js';\n\nconst AGENT_BRIDGE_WORKSPACE_REGIONS: readonly EditorAgentBridgeWorkspaceRegion[] = Object.freeze([\n {\n id: 'top-toolbar',\n label: 'Top Toolbar',\n location: 'top',\n purpose: 'Mode, transform tool, viewport utility, save/history, and Agent Bridge status controls.',\n primaryCapabilities: [\n EDITOR_AGENT_BRIDGE_CAPABILITY_ID.HOST_MODE_GET,\n EDITOR_AGENT_BRIDGE_CAPABILITY_ID.HOST_EDITOR_ENTER,\n EDITOR_AGENT_BRIDGE_CAPABILITY_ID.HOST_EDITOR_WAIT_READY,\n EDITOR_AGENT_BRIDGE_CAPABILITY_ID.EDITOR_STATE_GET,\n ],\n fallbackTools: ['playwright', 'chrome'],\n notes: [\n 'Use host.editor.enter instead of clicking the editor entry UI.',\n 'Toolbar status indicators are observability hints, not the source of editor state truth.',\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_AGENT_BRIDGE_CAPABILITY_ID.SCENE_OBJECTS_LIST,\n EDITOR_AGENT_BRIDGE_CAPABILITY_ID.OBJECT_RESOLVE,\n EDITOR_AGENT_BRIDGE_CAPABILITY_ID.SELECTION_SET,\n EDITOR_AGENT_BRIDGE_CAPABILITY_ID.OBJECT_CREATE_PRIMITIVE,\n EDITOR_AGENT_BRIDGE_CAPABILITY_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_AGENT_BRIDGE_CAPABILITY_ID.VIEWPORT_FOCUS_OBJECT,\n EDITOR_AGENT_BRIDGE_CAPABILITY_ID.VIEWPORT_FRAME_SELECTION,\n EDITOR_AGENT_BRIDGE_CAPABILITY_ID.VIEWPORT_CAMERA_GET,\n EDITOR_AGENT_BRIDGE_CAPABILITY_ID.VIEWPORT_CAMERA_SET_PRESET,\n EDITOR_AGENT_BRIDGE_CAPABILITY_ID.VIEWPORT_CAMERA_ORBIT,\n EDITOR_AGENT_BRIDGE_CAPABILITY_ID.TRANSFORM_MOVE,\n EDITOR_AGENT_BRIDGE_CAPABILITY_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_AGENT_BRIDGE_CAPABILITY_ID.EDITOR_STATE_GET,\n EDITOR_AGENT_BRIDGE_CAPABILITY_ID.EDITOR_SNAPSHOT_GET,\n EDITOR_AGENT_BRIDGE_CAPABILITY_ID.TRANSFORM_SET,\n EDITOR_AGENT_BRIDGE_CAPABILITY_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_AGENT_BRIDGE_CAPABILITY_ID.EDITOR_STATE_GET,\n EDITOR_AGENT_BRIDGE_CAPABILITY_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_AGENT_BRIDGE_CAPABILITY_ID.ASSET_LIBRARY_LIST,\n EDITOR_AGENT_BRIDGE_CAPABILITY_ID.ASSET_INFO_GET,\n EDITOR_AGENT_BRIDGE_CAPABILITY_ID.ASSET_ANALYSIS_GET,\n EDITOR_AGENT_BRIDGE_CAPABILITY_ID.PREFAB_RESOLVE,\n EDITOR_AGENT_BRIDGE_CAPABILITY_ID.PREFAB_STAGE_OPEN,\n EDITOR_AGENT_BRIDGE_CAPABILITY_ID.PREFAB_STAGE_EXIT,\n EDITOR_AGENT_BRIDGE_CAPABILITY_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: 'agent-console',\n label: 'Agent Bridge Console',\n location: 'external-localhost',\n purpose: 'Readonly observability for MCP health, editor sessions, capabilities, recent calls, logs, traces, diagnostics, and L0 artifacts.',\n primaryCapabilities: [\n EDITOR_AGENT_BRIDGE_CAPABILITY_ID.EDITOR_STATE_GET,\n ],\n fallbackTools: ['browser', 'playwright', 'chrome'],\n notes: [\n 'The console is an observability plane, not an editing UI.',\n 'Write L0 screenshot paths and console/page errors to /api/traces/events instead of embedding binary payloads.',\n ],\n },\n]);\n\nconst RECOMMENDED_OPERATION_ORDER = Object.freeze([\n 'get_bridge_health',\n 'list_editor_sessions',\n 'list_editor_capabilities',\n 'call_editor_capability(editor.ui.regions.get)',\n 'call_editor_capability(host.editor.enter)',\n 'call_editor_capability(host.editor.waitReady when needed)',\n 'L2 semantic capability for the target region',\n 'L0 browser automation only for missing capability, disconnected bridge, 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 createLocalEditorAgentBridgeUiSource<TDocument, TPatch>(\n state: LocalEditorAgentBridgeHarnessState<TDocument, TPatch>,\n): LocalEditorAgentBridgeUiSource {\n return {\n getRegions() {\n return createAgentBridgeUiRegions(state);\n },\n };\n}\n\nfunction createAgentBridgeUiRegions<TDocument, TPatch>(\n state: LocalEditorAgentBridgeHarnessState<TDocument, TPatch>,\n): EditorAgentBridgeUiRegionsGetOutput {\n return {\n mode: state.mode,\n editorReady: state.mode === 'editor' && !!state.session && !state.busy,\n sessionActive: !!state.session,\n regions: AGENT_BRIDGE_WORKSPACE_REGIONS.map(cloneRegion),\n recommendedOperationOrder: [...RECOMMENDED_OPERATION_ORDER],\n l0FallbackRules: [...L0_FALLBACK_RULES],\n };\n}\n\nfunction cloneRegion(region: EditorAgentBridgeWorkspaceRegion): EditorAgentBridgeWorkspaceRegion {\n return {\n ...region,\n primaryCapabilities: [...region.primaryCapabilities],\n ...(region.fallbackTools ? { fallbackTools: [...region.fallbackTools] } : {}),\n ...(region.notes ? { notes: [...region.notes] } : {}),\n };\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"viewport.d.ts","sourceRoot":"","sources":["../../../src/agent-bridge/capabilities/viewport.ts"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EAAE,oCAAoC,EAAE,MAAM,oBAAoB,CAAC;AAC/E,OAAO,EAOL,KAAK,gDAAgD,EACrD,KAAK,kCAAkC,EACxC,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAC;AAE/E,wBAAgB,0CAA0C,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAClF,KAAK,EAAE,kCAAkC,CAAC,SAAS,EAAE,MAAM,CAAC,EAC5D,OAAO,EAAE,yBAAyB,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,EAC7D,QAAQ,EAAE,MAAM,IAAI,EACpB,UAAU,EAAE,gDAAgD,CAAC,SAAS,CAAC,GACtE,oCAAoC,CAoEtC"}
1
+ {"version":3,"file":"viewport.d.ts","sourceRoot":"","sources":["../../../src/agent-bridge/capabilities/viewport.ts"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EAAE,oCAAoC,EAAE,MAAM,oBAAoB,CAAC;AAC/E,OAAO,EASL,KAAK,gDAAgD,EACrD,KAAK,kCAAkC,EACxC,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAC;AAE/E,wBAAgB,0CAA0C,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAClF,KAAK,EAAE,kCAAkC,CAAC,SAAS,EAAE,MAAM,CAAC,EAC5D,OAAO,EAAE,yBAAyB,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,EAC7D,QAAQ,EAAE,MAAM,IAAI,EACpB,UAAU,EAAE,gDAAgD,CAAC,SAAS,CAAC,GACtE,oCAAoC,CAqFtC"}
@@ -1,6 +1,6 @@
1
1
  import { EDITOR_AGENT_BRIDGE_CAPABILITY_ID, } from '@fps-games/editor-protocol';
2
2
  import { cloneVec3, createLocalEditorAgentBridgeFailure, isLocalEditorAgentBridgeVec3, } from '../diagnostics.js';
3
- import { cloneAgentBridgeSelection, EMPTY_EDITOR_SELECTION, isAgentBridgeObjectSelectable, normalizeAgentBridgeIdList, normalizeAgentBridgeString, } from '../shared.js';
3
+ import { cloneAgentBridgeSelection, getAgentBridgeSafeSceneHierarchy, getAgentBridgeSafeSceneSelection, hasAgentBridgeSafeSceneScope, isAgentBridgeHierarchyObjectSelectable, normalizeAgentBridgeIdList, normalizeAgentBridgeString, } from '../shared.js';
4
4
  export function createLocalEditorAgentBridgeViewportSource(state, options, renderUi, operations) {
5
5
  return {
6
6
  focusObject(input) {
@@ -8,20 +8,28 @@ export function createLocalEditorAgentBridgeViewportSource(state, options, rende
8
8
  if (!objectId) {
9
9
  return createLocalEditorAgentBridgeFailure(EDITOR_AGENT_BRIDGE_CAPABILITY_ID.VIEWPORT_FOCUS_OBJECT, 'viewport.focusObject requires objectId.', { code: 'viewport.invalidInput' });
10
10
  }
11
+ const document = state.session?.getState({ cloneDocuments: false }).workingDocument ?? null;
12
+ const hierarchy = document ? getAgentBridgeSafeSceneHierarchy(operations) : [];
13
+ if (!document || !isAgentBridgeHierarchyObjectSelectable(options, document, objectId, hierarchy)) {
14
+ return createLocalEditorAgentBridgeFailure(EDITOR_AGENT_BRIDGE_CAPABILITY_ID.VIEWPORT_FOCUS_OBJECT, `Viewport object was not found: ${objectId}`, { code: 'viewport.targetNotFound', objectId });
15
+ }
11
16
  const focused = operations.focusProjectionNode(objectId);
12
17
  renderUi();
13
18
  return { objectId, focused };
14
19
  },
15
20
  frameSelection() {
16
- const focused = operations.focusSelectedProjection();
21
+ const selection = getAgentBridgeSafeSceneSelection(operations);
22
+ const focused = hasAgentBridgeSafeSceneScope(operations) && selection.activeId
23
+ ? operations.focusProjectionNode(selection.activeId)
24
+ : false;
17
25
  renderUi();
18
26
  return {
19
27
  focused,
20
- selection: cloneAgentBridgeSelection(state.session?.getState({ cloneDocuments: false }).selection ?? EMPTY_EDITOR_SELECTION),
28
+ selection: cloneAgentBridgeSelection(selection),
21
29
  };
22
30
  },
23
31
  getCamera() {
24
- return createAgentBridgeViewportCameraState(state);
32
+ return createAgentBridgeViewportCameraState(state, operations);
25
33
  },
26
34
  setCameraPreset(input) {
27
35
  return setAgentBridgeViewportCameraPreset(state, options, input, renderUi, operations);
@@ -30,10 +38,10 @@ export function createLocalEditorAgentBridgeViewportSource(state, options, rende
30
38
  return orbitAgentBridgeViewportCamera(state, options, input, renderUi, operations);
31
39
  },
32
40
  getVisibilitySnapshot() {
33
- return createAgentBridgeViewportVisibilitySnapshot(state);
41
+ return createAgentBridgeViewportVisibilitySnapshot(state, operations);
34
42
  },
35
43
  setVisibility(input) {
36
- const result = setAgentBridgeViewportVisibility(state, input);
44
+ const result = setAgentBridgeViewportVisibility(state, options, input, operations);
37
45
  if ('ok' in result && result.ok === false)
38
46
  return result;
39
47
  operations.requestSceneFrame('agent-viewport-visibility-set');
@@ -41,6 +49,9 @@ export function createLocalEditorAgentBridgeViewportSource(state, options, rende
41
49
  return result;
42
50
  },
43
51
  clearVisibility() {
52
+ if (!hasAgentBridgeSafeSceneScope(operations)) {
53
+ return createLocalEditorAgentBridgeFailure(EDITOR_AGENT_BRIDGE_CAPABILITY_ID.VIEWPORT_VISIBILITY_CLEAR, 'Scene viewport visibility is unavailable outside the Scene Hierarchy scope.', { code: 'viewport.sceneScopeRequired' });
54
+ }
44
55
  const previousCount = Object.keys(state.previewVisibility.overrides).length;
45
56
  const wasIsolated = state.previewVisibility.isolatedObjectIds.length > 0;
46
57
  state.previewVisibility.overrides = {};
@@ -53,11 +64,11 @@ export function createLocalEditorAgentBridgeViewportSource(state, options, rende
53
64
  renderUi();
54
65
  return {
55
66
  changed: previousCount > 0 || wasIsolated,
56
- snapshot: createAgentBridgeViewportVisibilitySnapshot(state),
67
+ snapshot: createAgentBridgeViewportVisibilitySnapshot(state, operations),
57
68
  };
58
69
  },
59
70
  enterIsolation(input) {
60
- const result = enterAgentBridgeViewportIsolation(state, input);
71
+ const result = enterAgentBridgeViewportIsolation(state, options, input, operations);
61
72
  if ('ok' in result && result.ok === false)
62
73
  return result;
63
74
  operations.requestSceneFrame('agent-viewport-isolation-enter');
@@ -66,7 +77,7 @@ export function createLocalEditorAgentBridgeViewportSource(state, options, rende
66
77
  },
67
78
  };
68
79
  }
69
- function setAgentBridgeViewportVisibility(state, input) {
80
+ function setAgentBridgeViewportVisibility(state, options, input, operations) {
70
81
  const ids = normalizeAgentBridgeIdList(Array.isArray(input.objectIds) ? input.objectIds : []);
71
82
  if (ids.length === 0) {
72
83
  return createLocalEditorAgentBridgeFailure(EDITOR_AGENT_BRIDGE_CAPABILITY_ID.VIEWPORT_VISIBILITY_SET, 'viewport.visibility.set requires at least one objectId.', { code: 'viewport.visibility.invalidInput' });
@@ -74,8 +85,15 @@ function setAgentBridgeViewportVisibility(state, input) {
74
85
  if (typeof input.visible !== 'boolean') {
75
86
  return createLocalEditorAgentBridgeFailure(EDITOR_AGENT_BRIDGE_CAPABILITY_ID.VIEWPORT_VISIBILITY_SET, 'viewport.visibility.set requires visible to be boolean.', { code: 'viewport.visibility.invalidInput' });
76
87
  }
88
+ const document = state.session?.getState({ cloneDocuments: false }).workingDocument ?? null;
89
+ const hierarchy = document ? getAgentBridgeSafeSceneHierarchy(operations) : [];
90
+ const invalidId = ids.find(id => !document || !isAgentBridgeHierarchyObjectSelectable(options, document, id, hierarchy));
91
+ if (invalidId) {
92
+ return createLocalEditorAgentBridgeFailure(EDITOR_AGENT_BRIDGE_CAPABILITY_ID.VIEWPORT_VISIBILITY_SET, `Viewport object was not found: ${invalidId}`, { code: 'viewport.targetNotFound', objectId: invalidId });
93
+ }
77
94
  const previous = JSON.stringify(state.previewVisibility.overrides);
78
- const nextOverrides = { ...state.previewVisibility.overrides };
95
+ const safeIds = new Set(hierarchy.map(item => item.id));
96
+ const nextOverrides = Object.fromEntries(Object.entries(state.previewVisibility.overrides).filter(([id]) => safeIds.has(id)));
79
97
  const protectedIds = new Set([
80
98
  ...(state.previewVisibility.protectedObjectIds ?? []),
81
99
  ...(state.previewVisibility.protectedReceiverIds ?? []),
@@ -93,9 +111,12 @@ function setAgentBridgeViewportVisibility(state, input) {
93
111
  if (blockedIds.length === 0) {
94
112
  state.previewVisibility.isolatedObjectIds = [];
95
113
  }
114
+ else {
115
+ state.previewVisibility.isolatedObjectIds = state.previewVisibility.isolatedObjectIds.filter(id => safeIds.has(id));
116
+ }
96
117
  state.previewVisibility.reason = normalizeAgentBridgeString(input.reason) || undefined;
97
- const appliedOverrides = Object.fromEntries(ids.map(id => [id, nextOverrides[id] ?? input.visible]));
98
- const entries = state.projection?.setPreviewVisibilityOverrides?.(appliedOverrides) ?? [];
118
+ state.projection?.clearPreviewVisibilityOverrides?.();
119
+ const entries = state.projection?.setPreviewVisibilityOverrides?.(nextOverrides) ?? [];
99
120
  const diagnostics = blockedIds.length > 0
100
121
  ? [{
101
122
  code: 'shadow.receiverProtectedInDebugContext',
@@ -107,23 +128,30 @@ function setAgentBridgeViewportVisibility(state, input) {
107
128
  : undefined;
108
129
  return {
109
130
  changed: previous !== JSON.stringify(state.previewVisibility.overrides),
110
- snapshot: createAgentBridgeViewportVisibilitySnapshot(state, entries, diagnostics),
131
+ snapshot: createAgentBridgeViewportVisibilitySnapshot(state, operations, entries, diagnostics),
111
132
  ...(diagnostics ? { diagnostics } : {}),
112
133
  };
113
134
  }
114
- function enterAgentBridgeViewportIsolation(state, input) {
135
+ function enterAgentBridgeViewportIsolation(state, options, input, operations) {
115
136
  const targetIds = normalizeAgentBridgeIdList(Array.isArray(input.objectIds) ? input.objectIds : []);
116
137
  if (targetIds.length === 0) {
117
138
  return createLocalEditorAgentBridgeFailure(EDITOR_AGENT_BRIDGE_CAPABILITY_ID.VIEWPORT_ISOLATION_ENTER, 'viewport.isolation.enter requires at least one objectId.', { code: 'viewport.isolation.invalidInput' });
118
139
  }
119
- const objectIds = createAgentBridgeViewportObjectIds(state);
140
+ const document = state.session?.getState({ cloneDocuments: false }).workingDocument ?? null;
141
+ const hierarchy = document ? getAgentBridgeSafeSceneHierarchy(operations) : [];
142
+ const invalidId = targetIds.find(id => !document || !isAgentBridgeHierarchyObjectSelectable(options, document, id, hierarchy));
143
+ if (invalidId) {
144
+ return createLocalEditorAgentBridgeFailure(EDITOR_AGENT_BRIDGE_CAPABILITY_ID.VIEWPORT_ISOLATION_ENTER, `Viewport object was not found: ${invalidId}`, { code: 'viewport.targetNotFound', objectId: invalidId });
145
+ }
146
+ const objectIds = createAgentBridgeViewportObjectIds(state, operations);
120
147
  if (objectIds.length === 0) {
121
148
  return createLocalEditorAgentBridgeFailure(EDITOR_AGENT_BRIDGE_CAPABILITY_ID.VIEWPORT_ISOLATION_ENTER, 'Viewport projection is unavailable or has no visible objects to isolate.', { code: 'viewport.projectionUnavailable' });
122
149
  }
123
150
  const keep = new Set(targetIds);
124
151
  for (const targetId of targetIds) {
125
152
  for (const parentId of state.projection?.getProjectionParentIds?.(targetId) ?? []) {
126
- keep.add(parentId);
153
+ if (hierarchy.some(item => item.id === parentId))
154
+ keep.add(parentId);
127
155
  }
128
156
  }
129
157
  const nextOverrides = {};
@@ -147,19 +175,21 @@ function enterAgentBridgeViewportIsolation(state, input) {
147
175
  : undefined;
148
176
  return {
149
177
  changed: previous !== JSON.stringify(state.previewVisibility),
150
- snapshot: createAgentBridgeViewportVisibilitySnapshot(state, entries, diagnostics),
178
+ snapshot: createAgentBridgeViewportVisibilitySnapshot(state, operations, entries, diagnostics),
151
179
  ...(diagnostics ? { diagnostics } : {}),
152
180
  };
153
181
  }
154
- function createAgentBridgeViewportVisibilitySnapshot(state, entries, diagnostics) {
182
+ function createAgentBridgeViewportVisibilitySnapshot(state, operations, entries, diagnostics) {
155
183
  const projectionEntries = entries ?? state.projection?.getPreviewVisibilityOverrides?.() ?? [];
156
- const entryById = new Map(projectionEntries.map(entry => [entry.nodeId, entry]));
184
+ const safeIds = new Set(getAgentBridgeSafeSceneHierarchy(operations).map(item => item.id));
185
+ const safeProjectionEntries = projectionEntries.filter(entry => safeIds.has(entry.nodeId));
186
+ const entryById = new Map(safeProjectionEntries.map(entry => [entry.nodeId, entry]));
157
187
  const objectIds = new Set([
158
- ...Object.keys(state.previewVisibility.overrides),
159
- ...projectionEntries.map(entry => entry.nodeId),
160
- ...state.previewVisibility.isolatedObjectIds,
188
+ ...Object.keys(state.previewVisibility.overrides).filter(id => safeIds.has(id)),
189
+ ...safeProjectionEntries.map(entry => entry.nodeId),
190
+ ...state.previewVisibility.isolatedObjectIds.filter(id => safeIds.has(id)),
161
191
  ]);
162
- const isolatedIds = new Set(state.previewVisibility.isolatedObjectIds);
192
+ const isolatedIds = new Set(state.previewVisibility.isolatedObjectIds.filter(id => safeIds.has(id)));
163
193
  const normalizedEntries = [...objectIds].sort().map((objectId) => {
164
194
  const projectionEntry = entryById.get(objectId);
165
195
  const overrideVisible = state.previewVisibility.overrides[objectId];
@@ -180,19 +210,20 @@ function createAgentBridgeViewportVisibilitySnapshot(state, entries, diagnostics
180
210
  ...(diagnostics?.length ? { diagnostics } : {}),
181
211
  };
182
212
  }
183
- function createAgentBridgeViewportObjectIds(state) {
213
+ function createAgentBridgeViewportObjectIds(state, operations) {
184
214
  const fromOverrides = Object.keys(state.previewVisibility.overrides);
185
215
  const fromProjectedNodes = state.projection?.getProjectedNodeIds?.() ?? [];
186
216
  const fromProjection = state.projection?.getPreviewVisibilityOverrides?.().map(entry => entry.nodeId) ?? [];
187
- const sessionIds = state.session?.getState({ cloneDocuments: false }).selection.selectedIds ?? [];
217
+ const sessionIds = getAgentBridgeSafeSceneSelection(operations).selectedIds;
188
218
  const ids = new Set([...fromProjectedNodes, ...fromOverrides, ...fromProjection, ...sessionIds]);
219
+ const safeIds = new Set(getAgentBridgeSafeSceneHierarchy(operations).map(item => item.id));
189
220
  if (ids.size > 0)
190
- return [...ids];
221
+ return [...ids].filter(id => safeIds.has(id));
191
222
  return [];
192
223
  }
193
- function createAgentBridgeViewportCameraState(state) {
224
+ function createAgentBridgeViewportCameraState(state, operations) {
194
225
  const cameraState = state.sceneViewCamera?.getState();
195
- const selection = state.session?.getState({ cloneDocuments: false }).selection ?? EMPTY_EDITOR_SELECTION;
226
+ const selection = getAgentBridgeSafeSceneSelection(operations);
196
227
  const alpha = cameraState?.alpha;
197
228
  const beta = cameraState?.beta;
198
229
  const radius = cameraState?.radius;
@@ -217,7 +248,7 @@ function setAgentBridgeViewportCameraPreset(state, options, input, renderUi, ope
217
248
  if (!state.sceneViewCamera) {
218
249
  return createLocalEditorAgentBridgeFailure(EDITOR_AGENT_BRIDGE_CAPABILITY_ID.VIEWPORT_CAMERA_SET_PRESET, 'Viewport camera is unavailable.', { code: 'viewport.camera.unavailable' });
219
250
  }
220
- const target = resolveAgentBridgeViewportCameraTarget(state, options, input.target, EDITOR_AGENT_BRIDGE_CAPABILITY_ID.VIEWPORT_CAMERA_SET_PRESET);
251
+ const target = resolveAgentBridgeViewportCameraTarget(state, options, input.target, EDITOR_AGENT_BRIDGE_CAPABILITY_ID.VIEWPORT_CAMERA_SET_PRESET, operations);
221
252
  if (!target.ok)
222
253
  return target.result;
223
254
  const preset = normalizeAgentBridgeViewportCameraPreset(input.preset);
@@ -226,7 +257,7 @@ function setAgentBridgeViewportCameraPreset(state, options, input, renderUi, ope
226
257
  }
227
258
  const radius = normalizeAgentBridgePositiveNumber(input.radius, null);
228
259
  const distanceScale = normalizeAgentBridgePositiveNumber(input.distanceScale, 1);
229
- const baseRadius = target.radius ?? createAgentBridgeViewportCameraState(state).radius ?? undefined;
260
+ const baseRadius = target.radius ?? createAgentBridgeViewportCameraState(state, operations).radius ?? undefined;
230
261
  const scaledRadius = baseRadius && distanceScale ? baseRadius * distanceScale : baseRadius;
231
262
  const changed = state.sceneViewCamera.setViewPreset(preset, {
232
263
  target: target.target,
@@ -240,7 +271,7 @@ function setAgentBridgeViewportCameraPreset(state, options, input, renderUi, ope
240
271
  if (changed)
241
272
  operations.requestSceneFrame('agent-viewport-camera-set-preset');
242
273
  renderUi();
243
- return createAgentBridgeViewportCameraMutationOutput(state, changed);
274
+ return createAgentBridgeViewportCameraMutationOutput(state, changed, operations);
244
275
  }
245
276
  function orbitAgentBridgeViewportCamera(state, options, input, renderUi, operations) {
246
277
  if (state.mode !== 'editor' || !state.session) {
@@ -252,7 +283,7 @@ function orbitAgentBridgeViewportCamera(state, options, input, renderUi, operati
252
283
  if (!state.sceneViewCamera) {
253
284
  return createLocalEditorAgentBridgeFailure(EDITOR_AGENT_BRIDGE_CAPABILITY_ID.VIEWPORT_CAMERA_ORBIT, 'Viewport camera is unavailable.', { code: 'viewport.camera.unavailable' });
254
285
  }
255
- const target = resolveAgentBridgeViewportCameraTarget(state, options, input.target, EDITOR_AGENT_BRIDGE_CAPABILITY_ID.VIEWPORT_CAMERA_ORBIT);
286
+ const target = resolveAgentBridgeViewportCameraTarget(state, options, input.target, EDITOR_AGENT_BRIDGE_CAPABILITY_ID.VIEWPORT_CAMERA_ORBIT, operations);
256
287
  if (!target.ok)
257
288
  return target.result;
258
289
  const changed = state.sceneViewCamera.orbit({
@@ -269,10 +300,10 @@ function orbitAgentBridgeViewportCamera(state, options, input, renderUi, operati
269
300
  if (changed)
270
301
  operations.requestSceneFrame('agent-viewport-camera-orbit');
271
302
  renderUi();
272
- return createAgentBridgeViewportCameraMutationOutput(state, changed);
303
+ return createAgentBridgeViewportCameraMutationOutput(state, changed, operations);
273
304
  }
274
- function createAgentBridgeViewportCameraMutationOutput(state, changed) {
275
- const cameraState = createAgentBridgeViewportCameraState(state);
305
+ function createAgentBridgeViewportCameraMutationOutput(state, changed, operations) {
306
+ const cameraState = createAgentBridgeViewportCameraState(state, operations);
276
307
  return {
277
308
  changed,
278
309
  viewPreset: cameraState.viewPreset,
@@ -282,8 +313,8 @@ function createAgentBridgeViewportCameraMutationOutput(state, changed) {
282
313
  selection: cameraState.selection,
283
314
  };
284
315
  }
285
- function resolveAgentBridgeViewportCameraTarget(state, options, input, capabilityId) {
286
- const target = input ?? createDefaultAgentBridgeViewportCameraTarget(state);
316
+ function resolveAgentBridgeViewportCameraTarget(state, options, input, capabilityId, operations) {
317
+ const target = input ?? createDefaultAgentBridgeViewportCameraTarget(operations);
287
318
  if (target.kind === 'point') {
288
319
  if (!isLocalEditorAgentBridgeVec3(target.point)) {
289
320
  return {
@@ -294,9 +325,9 @@ function resolveAgentBridgeViewportCameraTarget(state, options, input, capabilit
294
325
  return { ok: true, target: cloneVec3(target.point) };
295
326
  }
296
327
  if (target.kind === 'scene')
297
- return resolveAgentBridgeSceneCameraTarget(state, options);
328
+ return resolveAgentBridgeSceneCameraTarget(state, options, operations);
298
329
  if (target.kind === 'selection')
299
- return resolveAgentBridgeSelectionCameraTarget(state, capabilityId);
330
+ return resolveAgentBridgeSelectionCameraTarget(state, capabilityId, operations);
300
331
  if (target.kind === 'object') {
301
332
  const objectId = normalizeAgentBridgeString(target.objectId);
302
333
  if (!objectId) {
@@ -306,7 +337,8 @@ function resolveAgentBridgeViewportCameraTarget(state, options, input, capabilit
306
337
  };
307
338
  }
308
339
  const document = state.session?.getState({ cloneDocuments: false }).workingDocument ?? null;
309
- if (!document || !isAgentBridgeObjectSelectable(options, document, objectId, options.documentAdapter.getHierarchyItems(document))) {
340
+ const hierarchy = document ? getAgentBridgeSafeSceneHierarchy(operations) : [];
341
+ if (!document || !isAgentBridgeHierarchyObjectSelectable(options, document, objectId, hierarchy)) {
310
342
  return {
311
343
  ok: false,
312
344
  result: createLocalEditorAgentBridgeFailure(capabilityId, `Camera target object was not found: ${objectId}`, { code: 'viewport.camera.targetNotFound', objectId }),
@@ -319,12 +351,12 @@ function resolveAgentBridgeViewportCameraTarget(state, options, input, capabilit
319
351
  result: createLocalEditorAgentBridgeFailure(capabilityId, 'Unsupported camera target.', { code: 'viewport.camera.invalidTarget' }),
320
352
  };
321
353
  }
322
- function createDefaultAgentBridgeViewportCameraTarget(state) {
323
- const selection = state.session?.getState({ cloneDocuments: false }).selection ?? EMPTY_EDITOR_SELECTION;
354
+ function createDefaultAgentBridgeViewportCameraTarget(operations) {
355
+ const selection = getAgentBridgeSafeSceneSelection(operations);
324
356
  return selection.activeId ? { kind: 'selection' } : { kind: 'scene' };
325
357
  }
326
- function resolveAgentBridgeSelectionCameraTarget(state, capabilityId) {
327
- const selection = state.session?.getState({ cloneDocuments: false }).selection ?? EMPTY_EDITOR_SELECTION;
358
+ function resolveAgentBridgeSelectionCameraTarget(state, capabilityId, operations) {
359
+ const selection = getAgentBridgeSafeSceneSelection(operations);
328
360
  const selectedIds = selection.selectedIds.length > 0
329
361
  ? selection.selectedIds
330
362
  : selection.activeId ? [selection.activeId] : [];
@@ -347,14 +379,14 @@ function resolveAgentBridgeSelectionCameraTarget(state, capabilityId) {
347
379
  radius: createAgentBridgeCameraRadiusFromBounds(bounds),
348
380
  };
349
381
  }
350
- function resolveAgentBridgeSceneCameraTarget(state, options) {
382
+ function resolveAgentBridgeSceneCameraTarget(state, options, operations) {
351
383
  const document = state.session?.getState({ cloneDocuments: false }).workingDocument ?? null;
352
384
  if (!document)
353
385
  return { ok: true, target: null };
354
- const hierarchy = options.documentAdapter.getHierarchyItems(document);
386
+ const hierarchy = getAgentBridgeSafeSceneHierarchy(operations);
355
387
  const objectIds = hierarchy
356
388
  .map(item => item.id)
357
- .filter(objectId => isAgentBridgeObjectSelectable(options, document, objectId, hierarchy));
389
+ .filter(objectId => isAgentBridgeHierarchyObjectSelectable(options, document, objectId, hierarchy));
358
390
  if (objectIds.length === 0)
359
391
  return { ok: true, target: null };
360
392
  const bounds = state.projection?.getSelectionBounds(objectIds) ?? null;