@fps-games/editor 0.2.0-beta.1 → 0.2.0-beta.3

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 (653) hide show
  1. package/dist/agent-bridge/capabilities/assets.js.map +1 -1
  2. package/dist/agent-bridge/capabilities/editor-state.js.map +1 -1
  3. package/dist/agent-bridge/capabilities/host-lifecycle.js.map +1 -1
  4. package/dist/agent-bridge/capabilities/prefabs.js.map +1 -1
  5. package/dist/agent-bridge/capabilities/scene-objects.js.map +1 -1
  6. package/dist/agent-bridge/capabilities/selection.js.map +1 -1
  7. package/dist/agent-bridge/capabilities/shadows.js.map +1 -1
  8. package/dist/agent-bridge/capabilities/transform.js.map +1 -1
  9. package/dist/agent-bridge/capabilities/ui-regions.js.map +1 -1
  10. package/dist/agent-bridge/capabilities/viewport.js.map +1 -1
  11. package/dist/agent-bridge/capability-sources.js.map +1 -1
  12. package/dist/agent-bridge/diagnostics.js.map +1 -1
  13. package/dist/agent-bridge/index.js.map +1 -1
  14. package/dist/agent-bridge/register.js.map +1 -1
  15. package/dist/agent-bridge/shared.js.map +1 -1
  16. package/dist/agent-bridge/source-types.js.map +1 -1
  17. package/dist/authoring-apply.js.map +1 -1
  18. package/dist/build-info.json +48 -48
  19. package/dist/editor-plugin-agent-capabilities.js.map +1 -1
  20. package/dist/editor-plugin-hierarchy-command.js.map +1 -1
  21. package/dist/index.js.map +1 -1
  22. package/dist/internal/local-editor-lifecycle-operations.js.map +1 -1
  23. package/dist/local-editor-agent-actions.js.map +1 -1
  24. package/dist/local-editor-agent-bridge-transport.js.map +1 -1
  25. package/dist/local-editor-agent-bridge.js.map +1 -1
  26. package/dist/local-editor-agent-context.js.map +1 -1
  27. package/dist/local-editor-harness.d.ts +57 -1
  28. package/dist/local-editor-harness.d.ts.map +1 -1
  29. package/dist/local-editor-harness.js +129 -0
  30. package/dist/local-editor-harness.js.map +1 -1
  31. package/dist/local-editor-marker-graph.js.map +1 -1
  32. package/dist/local-editor-performance-stats.js.map +1 -1
  33. package/dist/local-editor-plugin-inspector.js.map +1 -1
  34. package/dist/local-editor-plugin-panel.js.map +1 -1
  35. package/dist/local-editor-scene-render-scheduler.js.map +1 -1
  36. package/dist/local-editor-scene-view-interaction-runtime.js.map +1 -1
  37. package/dist/local-editor-viewport-render-coordinator.js.map +1 -1
  38. package/dist/playable-babylon-facade.js.map +1 -1
  39. package/dist/playable-babylon-outline-inspector.js.map +1 -1
  40. package/dist/playable-babylon-outline-runtime.js.map +1 -1
  41. package/dist/playable-babylon-rendering.js.map +1 -1
  42. package/dist/playable-local-editor-host.d.ts +36 -0
  43. package/dist/playable-local-editor-host.d.ts.map +1 -1
  44. package/dist/playable-local-editor-host.js.map +1 -1
  45. package/dist/playable-product-local-editor.js.map +1 -1
  46. package/dist/playable-product-projection-preview.js.map +1 -1
  47. package/dist/playable-product-rendering.js.map +1 -1
  48. package/dist/playable-product-scene-capabilities.d.ts.map +1 -1
  49. package/dist/playable-product-scene-capabilities.js +50 -3
  50. package/dist/playable-product-scene-capabilities.js.map +1 -1
  51. package/dist/playable-runtime-babylon.js.map +1 -1
  52. package/dist/playable-runtime.js.map +1 -1
  53. package/dist/playable-sdk-upgrade-doctor.js.map +1 -1
  54. package/dist/playable-sdk-vite.js.map +1 -1
  55. package/dist/playable-sdk.js.map +1 -1
  56. package/dist/playable-standard-project.d.ts.map +1 -1
  57. package/dist/playable-standard-project.js +8 -3
  58. package/dist/playable-standard-project.js.map +1 -1
  59. package/dist/static-shadow-cpu-worker.js.map +1 -1
  60. package/dist/vite.js.map +1 -1
  61. package/node_modules/@fps-games/babylon-renderer/dist/environment/environment-texture-controller.js.map +1 -1
  62. package/node_modules/@fps-games/babylon-renderer/dist/environment/index.js.map +1 -1
  63. package/node_modules/@fps-games/babylon-renderer/dist/environment/profile.js.map +1 -1
  64. package/node_modules/@fps-games/babylon-renderer/dist/environment/types.js.map +1 -1
  65. package/node_modules/@fps-games/babylon-renderer/dist/index.js.map +1 -1
  66. package/node_modules/@fps-games/babylon-renderer/dist/lighting/directional-light-angles.js.map +1 -1
  67. package/node_modules/@fps-games/babylon-renderer/dist/outlines/babylon-default/apply.js.map +1 -1
  68. package/node_modules/@fps-games/babylon-renderer/dist/outlines/babylon-default/index.js.map +1 -1
  69. package/node_modules/@fps-games/babylon-renderer/dist/outlines/babylon-default/types.js.map +1 -1
  70. package/node_modules/@fps-games/babylon-renderer/dist/outlines/index.js.map +1 -1
  71. package/node_modules/@fps-games/babylon-renderer/dist/outlines/types.js.map +1 -1
  72. package/node_modules/@fps-games/babylon-renderer/dist/placement/index.js.map +1 -1
  73. package/node_modules/@fps-games/babylon-renderer/dist/placement/runtime-drop-position.js.map +1 -1
  74. package/node_modules/@fps-games/babylon-renderer/dist/plugin.js.map +1 -1
  75. package/node_modules/@fps-games/babylon-renderer/dist/post-process/babylon-default-pipeline.js.map +1 -1
  76. package/node_modules/@fps-games/babylon-renderer/dist/post-process/index.js.map +1 -1
  77. package/node_modules/@fps-games/babylon-renderer/dist/post-process/profile.js.map +1 -1
  78. package/node_modules/@fps-games/babylon-renderer/dist/post-process/types.js.map +1 -1
  79. package/node_modules/@fps-games/babylon-renderer/dist/post-process/volume-stack.js.map +1 -1
  80. package/node_modules/@fps-games/babylon-renderer/dist/reference.js.map +1 -1
  81. package/node_modules/@fps-games/babylon-renderer/dist/rendering/index.js.map +1 -1
  82. package/node_modules/@fps-games/babylon-renderer/dist/rendering/node-rendering.js.map +1 -1
  83. package/node_modules/@fps-games/babylon-renderer/dist/shadows/blob-shadow-shaders.js.map +1 -1
  84. package/node_modules/@fps-games/babylon-renderer/dist/shadows/blob-shadow-system.js.map +1 -1
  85. package/node_modules/@fps-games/babylon-renderer/dist/shadows/dynamic-shadow-system.js.map +1 -1
  86. package/node_modules/@fps-games/babylon-renderer/dist/shadows/planar-shadow-shaders.js.map +1 -1
  87. package/node_modules/@fps-games/babylon-renderer/dist/shadows/planar-shadow-system.js.map +1 -1
  88. package/node_modules/@fps-games/babylon-renderer/dist/shadows/static-projected-shadow-artifact-system.js.map +1 -1
  89. package/node_modules/@fps-games/babylon-renderer/dist/shadows/static-projected-shadow-atlas.js.map +1 -1
  90. package/node_modules/@fps-games/babylon-renderer/dist/shadows/static-projected-shadow-bake.js.map +1 -1
  91. package/node_modules/@fps-games/babylon-renderer/dist/shadows/static-projected-shadow-baker.js.map +1 -1
  92. package/node_modules/@fps-games/babylon-renderer/dist/shadows/static-projected-shadow-options.js.map +1 -1
  93. package/node_modules/@fps-games/babylon-renderer/dist/shadows/static-projected-shadow-rendering.js.map +1 -1
  94. package/node_modules/@fps-games/babylon-renderer/dist/shadows/types.js.map +1 -1
  95. package/node_modules/@fps-games/babylon-renderer/package.json +7 -7
  96. package/node_modules/@fps-games/editor-babylon/dist/camera-controller.js.map +1 -1
  97. package/node_modules/@fps-games/editor-babylon/dist/edit-session.js.map +1 -1
  98. package/node_modules/@fps-games/editor-babylon/dist/editor-sky.js.map +1 -1
  99. package/node_modules/@fps-games/editor-babylon/dist/editor-world.js.map +1 -1
  100. package/node_modules/@fps-games/editor-babylon/dist/event-guard.js.map +1 -1
  101. package/node_modules/@fps-games/editor-babylon/dist/index.js.map +1 -1
  102. package/node_modules/@fps-games/editor-babylon/dist/infinite-grid-layer.js.map +1 -1
  103. package/node_modules/@fps-games/editor-babylon/dist/infinite-grid.js.map +1 -1
  104. package/node_modules/@fps-games/editor-babylon/dist/input-controller.js.map +1 -1
  105. package/node_modules/@fps-games/editor-babylon/dist/inspector-adapter.js.map +1 -1
  106. package/node_modules/@fps-games/editor-babylon/dist/inspector-host.js.map +1 -1
  107. package/node_modules/@fps-games/editor-babylon/dist/main-camera-preview.js.map +1 -1
  108. package/node_modules/@fps-games/editor-babylon/dist/marker-overlay.js.map +1 -1
  109. package/node_modules/@fps-games/editor-babylon/dist/material-property-adapter.js.map +1 -1
  110. package/node_modules/@fps-games/editor-babylon/dist/material-slot-source-resolver.js.map +1 -1
  111. package/node_modules/@fps-games/editor-babylon/dist/monitor.js.map +1 -1
  112. package/node_modules/@fps-games/editor-babylon/dist/outline-adapter.js.map +1 -1
  113. package/node_modules/@fps-games/editor-babylon/dist/performance-monitor.js.map +1 -1
  114. package/node_modules/@fps-games/editor-babylon/dist/prefab-comparison-preview-controller.js.map +1 -1
  115. package/node_modules/@fps-games/editor-babylon/dist/primitive-projection-instancing.js.map +1 -1
  116. package/node_modules/@fps-games/editor-babylon/dist/projection-asset-container-importer.js.map +1 -1
  117. package/node_modules/@fps-games/editor-babylon/dist/projection-pick-resolver.js.map +1 -1
  118. package/node_modules/@fps-games/editor-babylon/dist/projection-selection-controller.js.map +1 -1
  119. package/node_modules/@fps-games/editor-babylon/dist/projection-source-owner-path.js.map +1 -1
  120. package/node_modules/@fps-games/editor-babylon/dist/projection.js.map +1 -1
  121. package/node_modules/@fps-games/editor-babylon/dist/runtime-globals.js.map +1 -1
  122. package/node_modules/@fps-games/editor-babylon/dist/scene-camera-preview.js.map +1 -1
  123. package/node_modules/@fps-games/editor-babylon/dist/scene-view-camera-controller.js.map +1 -1
  124. package/node_modules/@fps-games/editor-babylon/dist/scene-view-input-controller.js.map +1 -1
  125. package/node_modules/@fps-games/editor-babylon/dist/scene-view-measurement-controller.js.map +1 -1
  126. package/node_modules/@fps-games/editor-babylon/dist/scene-view-spatial-overlay-controller.js.map +1 -1
  127. package/node_modules/@fps-games/editor-babylon/dist/selection-controller.js.map +1 -1
  128. package/node_modules/@fps-games/editor-babylon/dist/shadow-preview-controller.js.map +1 -1
  129. package/node_modules/@fps-games/editor-babylon/dist/tool-controller.js.map +1 -1
  130. package/node_modules/@fps-games/editor-babylon/dist/transform-gizmo-controller.js.map +1 -1
  131. package/node_modules/@fps-games/editor-babylon/dist/transform-solver.js.map +1 -1
  132. package/node_modules/@fps-games/editor-babylon/dist/types.js.map +1 -1
  133. package/node_modules/@fps-games/editor-babylon/package.json +5 -5
  134. package/node_modules/@fps-games/editor-browser/dist/index.js.map +1 -1
  135. package/node_modules/@fps-games/editor-browser/dist/local-editor-inspector-clipboard.js.map +1 -1
  136. package/node_modules/@fps-games/editor-browser/dist/local-editor-inspector-groups.js.map +1 -1
  137. package/node_modules/@fps-games/editor-browser/dist/local-editor-rendering-actions.js.map +1 -1
  138. package/node_modules/@fps-games/editor-browser/dist/local-editor-root-ownership.js.map +1 -1
  139. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-asset-kind.js.map +1 -1
  140. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-context-menu.js.map +1 -1
  141. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-dock-panel.js.map +1 -1
  142. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-actions.js.map +1 -1
  143. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-attach-dialog.js.map +1 -1
  144. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-auto-scroll.js.map +1 -1
  145. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-command-adapter.js.map +1 -1
  146. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-controller.js.map +1 -1
  147. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-drag-policy.js.map +1 -1
  148. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-scope.js.map +1 -1
  149. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-tree.js.map +1 -1
  150. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-view.js.map +1 -1
  151. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-icons.js.map +1 -1
  152. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-input-router.js.map +1 -1
  153. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-modal-dialog.js.map +1 -1
  154. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-panel-registry.js.map +1 -1
  155. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-panels.js.map +1 -1
  156. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-plugin-panel.js.map +1 -1
  157. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-prefab-stage.js.map +1 -1
  158. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-primitives.js.map +1 -1
  159. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-shared.js.map +1 -1
  160. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-shortcuts.js.map +1 -1
  161. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-structured-drag-auto-scroll.js.map +1 -1
  162. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-structured-drag-policy.js.map +1 -1
  163. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-structured-drag-preview.js.map +1 -1
  164. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-structured-drag-session.js.map +1 -1
  165. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-theme.js.map +1 -1
  166. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-tooltip.js.map +1 -1
  167. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-types.js.map +1 -1
  168. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-workbench.js.map +1 -1
  169. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui.js.map +1 -1
  170. package/node_modules/@fps-games/editor-browser/dist/plugin-contributions.js.map +1 -1
  171. package/node_modules/@fps-games/editor-browser/dist/runtime-camera-debug-panel.js.map +1 -1
  172. package/node_modules/@fps-games/editor-browser/dist/runtime-debug-panel-shell.js.map +1 -1
  173. package/node_modules/@fps-games/editor-browser/dist/runtime-lighting-debug-panel.js.map +1 -1
  174. package/node_modules/@fps-games/editor-browser/package.json +4 -4
  175. package/node_modules/@fps-games/editor-core/dist/agent-bridge.js.map +1 -1
  176. package/node_modules/@fps-games/editor-core/dist/agent-interaction.js.map +1 -1
  177. package/node_modules/@fps-games/editor-core/dist/authoring-source.js.map +1 -1
  178. package/node_modules/@fps-games/editor-core/dist/document-adapter.js.map +1 -1
  179. package/node_modules/@fps-games/editor-core/dist/editor-plugin-host.d.ts.map +1 -1
  180. package/node_modules/@fps-games/editor-core/dist/editor-plugin-host.js +17 -2
  181. package/node_modules/@fps-games/editor-core/dist/editor-plugin-host.js.map +1 -1
  182. package/node_modules/@fps-games/editor-core/dist/editor-session.d.ts +6 -1
  183. package/node_modules/@fps-games/editor-core/dist/editor-session.d.ts.map +1 -1
  184. package/node_modules/@fps-games/editor-core/dist/editor-session.js +9 -0
  185. package/node_modules/@fps-games/editor-core/dist/editor-session.js.map +1 -1
  186. package/node_modules/@fps-games/editor-core/dist/events.d.ts +1 -1
  187. package/node_modules/@fps-games/editor-core/dist/events.d.ts.map +1 -1
  188. package/node_modules/@fps-games/editor-core/dist/events.js.map +1 -1
  189. package/node_modules/@fps-games/editor-core/dist/field-schema/index.js.map +1 -1
  190. package/node_modules/@fps-games/editor-core/dist/field-schema/resolver.js.map +1 -1
  191. package/node_modules/@fps-games/editor-core/dist/field-schema/schema.js.map +1 -1
  192. package/node_modules/@fps-games/editor-core/dist/field-schema/types.js.map +1 -1
  193. package/node_modules/@fps-games/editor-core/dist/field-schema/validators.js.map +1 -1
  194. package/node_modules/@fps-games/editor-core/dist/host-services.js.map +1 -1
  195. package/node_modules/@fps-games/editor-core/dist/index.js.map +1 -1
  196. package/node_modules/@fps-games/editor-core/dist/inspector.js.map +1 -1
  197. package/node_modules/@fps-games/editor-core/dist/lifecycle.js.map +1 -1
  198. package/node_modules/@fps-games/editor-core/dist/marker-graph.js.map +1 -1
  199. package/node_modules/@fps-games/editor-core/dist/scene-graph.js.map +1 -1
  200. package/node_modules/@fps-games/editor-core/dist/scene-view-input.js.map +1 -1
  201. package/node_modules/@fps-games/editor-core/dist/selection-strategy.js.map +1 -1
  202. package/node_modules/@fps-games/editor-core/dist/serialized-object.js.map +1 -1
  203. package/node_modules/@fps-games/editor-core/dist/transform-command.js.map +1 -1
  204. package/node_modules/@fps-games/editor-core/dist/transform-gizmo.js.map +1 -1
  205. package/node_modules/@fps-games/editor-core/dist/transform-operation-policy.js.map +1 -1
  206. package/node_modules/@fps-games/editor-core/dist/transform-operations.js.map +1 -1
  207. package/node_modules/@fps-games/editor-core/dist/viewport-tools.js.map +1 -1
  208. package/node_modules/@fps-games/editor-core/package.json +6 -6
  209. package/node_modules/@fps-games/editor-forge-play/dist/agent-transport.js.map +1 -1
  210. package/node_modules/@fps-games/editor-forge-play/dist/index.js.map +1 -1
  211. package/node_modules/@fps-games/editor-forge-play/package.json +2 -2
  212. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-bridge/drop-cache.js.map +1 -1
  213. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-bridge/index.js.map +1 -1
  214. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-bridge/payload.d.ts.map +1 -1
  215. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-bridge/payload.js +28 -5
  216. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-bridge/payload.js.map +1 -1
  217. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-bridge/types.d.ts +1 -0
  218. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-bridge/types.d.ts.map +1 -1
  219. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-bridge/types.js.map +1 -1
  220. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/config.js.map +1 -1
  221. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/generated-module.d.ts.map +1 -1
  222. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/generated-module.js +10 -0
  223. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/generated-module.js.map +1 -1
  224. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/index.js.map +1 -1
  225. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/managed-facade.js.map +1 -1
  226. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/manager-core.d.ts +8 -0
  227. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/manager-core.d.ts.map +1 -1
  228. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/manager-core.js +24 -2
  229. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/manager-core.js.map +1 -1
  230. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/metadata.d.ts.map +1 -1
  231. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/metadata.js +6 -2
  232. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/metadata.js.map +1 -1
  233. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/node.js.map +1 -1
  234. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/registry.d.ts +1 -0
  235. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/registry.d.ts.map +1 -1
  236. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/registry.js +83 -23
  237. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/registry.js.map +1 -1
  238. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/types.js.map +1 -1
  239. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/catalog.d.ts +1 -0
  240. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/catalog.d.ts.map +1 -1
  241. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/catalog.js +8 -0
  242. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/catalog.js.map +1 -1
  243. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/document.d.ts +22 -0
  244. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/document.d.ts.map +1 -1
  245. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/document.js +108 -1
  246. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/document.js.map +1 -1
  247. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/index.d.ts +3 -2
  248. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/index.d.ts.map +1 -1
  249. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/index.js +2 -2
  250. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/index.js.map +1 -1
  251. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/types.d.ts +2 -0
  252. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/types.d.ts.map +1 -1
  253. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/types.js.map +1 -1
  254. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-placement/document.d.ts.map +1 -1
  255. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-placement/document.js +2 -0
  256. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-placement/document.js.map +1 -1
  257. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-placement/identity.js.map +1 -1
  258. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-placement/index.js.map +1 -1
  259. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-placement/managed-runtime-instance.js.map +1 -1
  260. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-placement/placement.js.map +1 -1
  261. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-placement/runtime-scene.js.map +1 -1
  262. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-placement/types.js.map +1 -1
  263. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/index.js.map +1 -1
  264. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/result.d.ts.map +1 -1
  265. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/result.js +3 -0
  266. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/result.js.map +1 -1
  267. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/transport.js.map +1 -1
  268. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/types.d.ts +1 -0
  269. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/types.d.ts.map +1 -1
  270. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/types.js.map +1 -1
  271. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/workflow.d.ts +1 -0
  272. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/workflow.d.ts.map +1 -1
  273. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/workflow.js +7 -1
  274. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/workflow.js.map +1 -1
  275. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring/constants.js.map +1 -1
  276. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring/drift.js.map +1 -1
  277. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring/index.js.map +1 -1
  278. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring/runtime-transform-patch.js.map +1 -1
  279. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring/source.js.map +1 -1
  280. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-client/client.js.map +1 -1
  281. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-client/index.js.map +1 -1
  282. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-client/types.js.map +1 -1
  283. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-server/handler.js.map +1 -1
  284. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-server/index.js.map +1 -1
  285. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-server/payload.js.map +1 -1
  286. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-server/response.js.map +1 -1
  287. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-server/routes.js.map +1 -1
  288. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-server/types.js.map +1 -1
  289. package/node_modules/@fps-games/editor-playable-sdk/dist/bridge-command/adapter-dispatcher.js.map +1 -1
  290. package/node_modules/@fps-games/editor-playable-sdk/dist/bridge-command/index.js.map +1 -1
  291. package/node_modules/@fps-games/editor-playable-sdk/dist/bridge-command/payload.js.map +1 -1
  292. package/node_modules/@fps-games/editor-playable-sdk/dist/bridge-command/project-asset-adapter.js.map +1 -1
  293. package/node_modules/@fps-games/editor-playable-sdk/dist/bridge-command/protocol.js.map +1 -1
  294. package/node_modules/@fps-games/editor-playable-sdk/dist/bridge-command/readers.js.map +1 -1
  295. package/node_modules/@fps-games/editor-playable-sdk/dist/bridge-command/types.js.map +1 -1
  296. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/binding.js.map +1 -1
  297. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/fields.js.map +1 -1
  298. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/index.js.map +1 -1
  299. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/math.js.map +1 -1
  300. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/pan.js.map +1 -1
  301. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/panel-format.js.map +1 -1
  302. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/panel-state.js.map +1 -1
  303. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/panel-storage.js.map +1 -1
  304. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/panel-text.js.map +1 -1
  305. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/rig.js.map +1 -1
  306. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/save-patch.js.map +1 -1
  307. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/snapshot.js.map +1 -1
  308. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/types.js.map +1 -1
  309. package/node_modules/@fps-games/editor-playable-sdk/dist/commands/index.js.map +1 -1
  310. package/node_modules/@fps-games/editor-playable-sdk/dist/commands/transform.js.map +1 -1
  311. package/node_modules/@fps-games/editor-playable-sdk/dist/commands/types.js.map +1 -1
  312. package/node_modules/@fps-games/editor-playable-sdk/dist/core-contracts/index.js.map +1 -1
  313. package/node_modules/@fps-games/editor-playable-sdk/dist/document/helpers.js.map +1 -1
  314. package/node_modules/@fps-games/editor-playable-sdk/dist/document/index.js.map +1 -1
  315. package/node_modules/@fps-games/editor-playable-sdk/dist/document/types.d.ts +4 -0
  316. package/node_modules/@fps-games/editor-playable-sdk/dist/document/types.d.ts.map +1 -1
  317. package/node_modules/@fps-games/editor-playable-sdk/dist/document/types.js.map +1 -1
  318. package/node_modules/@fps-games/editor-playable-sdk/dist/field-schema/index.js.map +1 -1
  319. package/node_modules/@fps-games/editor-playable-sdk/dist/field-schema/resolver.js.map +1 -1
  320. package/node_modules/@fps-games/editor-playable-sdk/dist/field-schema/schema.js.map +1 -1
  321. package/node_modules/@fps-games/editor-playable-sdk/dist/field-schema/types.js.map +1 -1
  322. package/node_modules/@fps-games/editor-playable-sdk/dist/field-schema/validators.js.map +1 -1
  323. package/node_modules/@fps-games/editor-playable-sdk/dist/index.d.ts +1 -0
  324. package/node_modules/@fps-games/editor-playable-sdk/dist/index.d.ts.map +1 -1
  325. package/node_modules/@fps-games/editor-playable-sdk/dist/index.js +1 -0
  326. package/node_modules/@fps-games/editor-playable-sdk/dist/index.js.map +1 -1
  327. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/camera-section.js.map +1 -1
  328. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/document-property.js.map +1 -1
  329. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/document-sections.js.map +1 -1
  330. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/format.js.map +1 -1
  331. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/index.js.map +1 -1
  332. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/light-fields.js.map +1 -1
  333. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/light-sections.js.map +1 -1
  334. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/marker-section.js.map +1 -1
  335. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/object-assembly.js.map +1 -1
  336. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/readonly.js.map +1 -1
  337. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/runtime-sections.js.map +1 -1
  338. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/runtime-summary.js.map +1 -1
  339. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/runtime.js.map +1 -1
  340. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/safe-value.js.map +1 -1
  341. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/types.js.map +1 -1
  342. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/validation.js.map +1 -1
  343. package/node_modules/@fps-games/editor-playable-sdk/dist/internal/local-harness.js.map +1 -1
  344. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-debug/binding.js.map +1 -1
  345. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-debug/fields.js.map +1 -1
  346. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-debug/index.js.map +1 -1
  347. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-debug/math.js.map +1 -1
  348. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-debug/save-patch.js.map +1 -1
  349. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-debug/snapshot.js.map +1 -1
  350. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-debug/storage.js.map +1 -1
  351. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-debug/text.js.map +1 -1
  352. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-debug/types.js.map +1 -1
  353. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-preview/index.js.map +1 -1
  354. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-preview/math.js.map +1 -1
  355. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-preview/profile.js.map +1 -1
  356. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-preview/types.js.map +1 -1
  357. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/agent-descriptions.js.map +1 -1
  358. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/forge-play-types.js.map +1 -1
  359. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/forge-play.d.ts +2 -0
  360. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/forge-play.d.ts.map +1 -1
  361. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/forge-play.js +5 -0
  362. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/forge-play.js.map +1 -1
  363. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/host-controller.js.map +1 -1
  364. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/index.d.ts +2 -2
  365. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/index.d.ts.map +1 -1
  366. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/index.js.map +1 -1
  367. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/lifecycle.d.ts.map +1 -1
  368. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/lifecycle.js +4 -1
  369. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/lifecycle.js.map +1 -1
  370. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/loading-overlay.d.ts.map +1 -1
  371. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/loading-overlay.js +54 -2
  372. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/loading-overlay.js.map +1 -1
  373. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/project-asset-commands.d.ts +18 -0
  374. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/project-asset-commands.d.ts.map +1 -1
  375. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/project-asset-commands.js +60 -1
  376. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/project-asset-commands.js.map +1 -1
  377. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/timing.js.map +1 -1
  378. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/types.d.ts +2 -0
  379. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/types.d.ts.map +1 -1
  380. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/types.js.map +1 -1
  381. package/node_modules/@fps-games/editor-playable-sdk/dist/marker-scene/facade.js.map +1 -1
  382. package/node_modules/@fps-games/editor-playable-sdk/dist/marker-scene/game-objects.js.map +1 -1
  383. package/node_modules/@fps-games/editor-playable-sdk/dist/marker-scene/geometry.js.map +1 -1
  384. package/node_modules/@fps-games/editor-playable-sdk/dist/marker-scene/index.js.map +1 -1
  385. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/asset-fields.js.map +1 -1
  386. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/binding.js.map +1 -1
  387. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/default-assets.js.map +1 -1
  388. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/document-assets.d.ts.map +1 -1
  389. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/document-assets.js +28 -2
  390. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/document-assets.js.map +1 -1
  391. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/duplicate.js.map +1 -1
  392. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/index.js.map +1 -1
  393. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/inspector.js.map +1 -1
  394. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/paths.js.map +1 -1
  395. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/preview.js.map +1 -1
  396. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/profile.js.map +1 -1
  397. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/reimport.d.ts.map +1 -1
  398. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/reimport.js +26 -9
  399. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/reimport.js.map +1 -1
  400. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/resolver.js.map +1 -1
  401. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/scene-inspector.js.map +1 -1
  402. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/slot-inspector.d.ts.map +1 -1
  403. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/slot-inspector.js +0 -3
  404. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/slot-inspector.js.map +1 -1
  405. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/text.js.map +1 -1
  406. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/types.d.ts +8 -1
  407. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/types.d.ts.map +1 -1
  408. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/types.js.map +1 -1
  409. package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/field-patch.js.map +1 -1
  410. package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/index.js.map +1 -1
  411. package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/json-field.js.map +1 -1
  412. package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/reducer.js.map +1 -1
  413. package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/rendering-alpha-index.js.map +1 -1
  414. package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/transform.js.map +1 -1
  415. package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/types.js.map +1 -1
  416. package/node_modules/@fps-games/editor-playable-sdk/dist/package-resolution/aliases.d.ts +1 -1
  417. package/node_modules/@fps-games/editor-playable-sdk/dist/package-resolution/aliases.d.ts.map +1 -1
  418. package/node_modules/@fps-games/editor-playable-sdk/dist/package-resolution/aliases.js +18 -1
  419. package/node_modules/@fps-games/editor-playable-sdk/dist/package-resolution/aliases.js.map +1 -1
  420. package/node_modules/@fps-games/editor-playable-sdk/dist/package-resolution/index.js.map +1 -1
  421. package/node_modules/@fps-games/editor-playable-sdk/dist/package-resolution/types.d.ts +2 -0
  422. package/node_modules/@fps-games/editor-playable-sdk/dist/package-resolution/types.d.ts.map +1 -1
  423. package/node_modules/@fps-games/editor-playable-sdk/dist/package-resolution/types.js.map +1 -1
  424. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/action-patches.js.map +1 -1
  425. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/assets.js.map +1 -1
  426. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/index.js.map +1 -1
  427. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/material-override-inspector.js.map +1 -1
  428. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/projection.js.map +1 -1
  429. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/shadow-inspector.js.map +1 -1
  430. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/source-structure-inspector.js.map +1 -1
  431. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/stage-inspector.js.map +1 -1
  432. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/structure.js.map +1 -1
  433. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/types.js.map +1 -1
  434. package/node_modules/@fps-games/editor-playable-sdk/dist/product/asset-manager.js.map +1 -1
  435. package/node_modules/@fps-games/editor-playable-sdk/dist/product/ground-decal-scene-feature.js.map +1 -1
  436. package/node_modules/@fps-games/editor-playable-sdk/dist/product/ground-decal.js.map +1 -1
  437. package/node_modules/@fps-games/editor-playable-sdk/dist/product/index.js.map +1 -1
  438. package/node_modules/@fps-games/editor-playable-sdk/dist/product/project-host-services.d.ts +1 -0
  439. package/node_modules/@fps-games/editor-playable-sdk/dist/product/project-host-services.d.ts.map +1 -1
  440. package/node_modules/@fps-games/editor-playable-sdk/dist/product/project-host-services.js +3 -1
  441. package/node_modules/@fps-games/editor-playable-sdk/dist/product/project-host-services.js.map +1 -1
  442. package/node_modules/@fps-games/editor-playable-sdk/dist/product/scene-session.js.map +1 -1
  443. package/node_modules/@fps-games/editor-playable-sdk/dist/product/scene-source.d.ts +3 -3
  444. package/node_modules/@fps-games/editor-playable-sdk/dist/product/scene-source.d.ts.map +1 -1
  445. package/node_modules/@fps-games/editor-playable-sdk/dist/product/scene-source.js +10 -1
  446. package/node_modules/@fps-games/editor-playable-sdk/dist/product/scene-source.js.map +1 -1
  447. package/node_modules/@fps-games/editor-playable-sdk/dist/product/standard-asset-actions.js.map +1 -1
  448. package/node_modules/@fps-games/editor-playable-sdk/dist/product/standard-scene-assembly.js.map +1 -1
  449. package/node_modules/@fps-games/editor-playable-sdk/dist/rendering-profile/draft.js.map +1 -1
  450. package/node_modules/@fps-games/editor-playable-sdk/dist/rendering-profile/index.js.map +1 -1
  451. package/node_modules/@fps-games/editor-playable-sdk/dist/rendering-profile/panel.js.map +1 -1
  452. package/node_modules/@fps-games/editor-playable-sdk/dist/rendering-profile/route.js.map +1 -1
  453. package/node_modules/@fps-games/editor-playable-sdk/dist/rendering-profile/types.js.map +1 -1
  454. package/node_modules/@fps-games/editor-playable-sdk/dist/runtime-preview/assets.js.map +1 -1
  455. package/node_modules/@fps-games/editor-playable-sdk/dist/runtime-preview/import-plan.js.map +1 -1
  456. package/node_modules/@fps-games/editor-playable-sdk/dist/runtime-preview/index.js.map +1 -1
  457. package/node_modules/@fps-games/editor-playable-sdk/dist/runtime-preview/nodes.js.map +1 -1
  458. package/node_modules/@fps-games/editor-playable-sdk/dist/runtime-preview/types.js.map +1 -1
  459. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/compiler.d.ts +1 -1
  460. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/compiler.js +82 -6
  461. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/compiler.js.map +1 -1
  462. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/index.js.map +1 -1
  463. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/types.d.ts +11 -3
  464. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/types.d.ts.map +1 -1
  465. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/types.js.map +1 -1
  466. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/validation.d.ts +1 -0
  467. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/validation.d.ts.map +1 -1
  468. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/validation.js +46 -3
  469. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/validation.js.map +1 -1
  470. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/artifacts.js.map +1 -1
  471. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/client.d.ts.map +1 -1
  472. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/client.js +4 -0
  473. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/client.js.map +1 -1
  474. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/companion-configs.js.map +1 -1
  475. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/driver.js.map +1 -1
  476. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/index.js.map +1 -1
  477. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/protocol.js.map +1 -1
  478. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/types.d.ts +3 -2
  479. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/types.d.ts.map +1 -1
  480. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/types.js.map +1 -1
  481. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/validation.js.map +1 -1
  482. package/node_modules/@fps-games/editor-playable-sdk/dist/serialized-property/descriptors.js.map +1 -1
  483. package/node_modules/@fps-games/editor-playable-sdk/dist/serialized-property/index.js.map +1 -1
  484. package/node_modules/@fps-games/editor-playable-sdk/dist/serialized-property/inspector.js.map +1 -1
  485. package/node_modules/@fps-games/editor-playable-sdk/dist/serialized-property/object.js.map +1 -1
  486. package/node_modules/@fps-games/editor-playable-sdk/dist/serialized-property/patch.js.map +1 -1
  487. package/node_modules/@fps-games/editor-playable-sdk/dist/serialized-property/types.js.map +1 -1
  488. package/node_modules/@fps-games/editor-playable-sdk/dist/session/classification.js.map +1 -1
  489. package/node_modules/@fps-games/editor-playable-sdk/dist/session/hierarchy-facade.js.map +1 -1
  490. package/node_modules/@fps-games/editor-playable-sdk/dist/session/hierarchy.js.map +1 -1
  491. package/node_modules/@fps-games/editor-playable-sdk/dist/session/identity.js.map +1 -1
  492. package/node_modules/@fps-games/editor-playable-sdk/dist/session/index.js.map +1 -1
  493. package/node_modules/@fps-games/editor-playable-sdk/dist/session/object-command-facade.js.map +1 -1
  494. package/node_modules/@fps-games/editor-playable-sdk/dist/session/patches.js.map +1 -1
  495. package/node_modules/@fps-games/editor-playable-sdk/dist/session/property-patches.js.map +1 -1
  496. package/node_modules/@fps-games/editor-playable-sdk/dist/session/reducer-core.js.map +1 -1
  497. package/node_modules/@fps-games/editor-playable-sdk/dist/session/system-defaults.js.map +1 -1
  498. package/node_modules/@fps-games/editor-playable-sdk/dist/session/transform.js.map +1 -1
  499. package/node_modules/@fps-games/editor-playable-sdk/dist/session/types.js.map +1 -1
  500. package/node_modules/@fps-games/editor-playable-sdk/dist/shadow-system/index.js.map +1 -1
  501. package/node_modules/@fps-games/editor-playable-sdk/dist/shadow-system/resolver.js.map +1 -1
  502. package/node_modules/@fps-games/editor-playable-sdk/dist/shared/http.js.map +1 -1
  503. package/node_modules/@fps-games/editor-playable-sdk/dist/shared/json.d.ts +1 -0
  504. package/node_modules/@fps-games/editor-playable-sdk/dist/shared/json.d.ts.map +1 -1
  505. package/node_modules/@fps-games/editor-playable-sdk/dist/shared/json.js +25 -0
  506. package/node_modules/@fps-games/editor-playable-sdk/dist/shared/json.js.map +1 -1
  507. package/node_modules/@fps-games/editor-playable-sdk/dist/static-shadows/artifact.js.map +1 -1
  508. package/node_modules/@fps-games/editor-playable-sdk/dist/static-shadows/index.js.map +1 -1
  509. package/node_modules/@fps-games/editor-playable-sdk/dist/upgrade-doctor/host.js.map +1 -1
  510. package/node_modules/@fps-games/editor-playable-sdk/dist/upgrade-doctor/index.js.map +1 -1
  511. package/node_modules/@fps-games/editor-playable-sdk/dist/upgrade-doctor/inspectors.js.map +1 -1
  512. package/node_modules/@fps-games/editor-playable-sdk/dist/upgrade-doctor/report.js.map +1 -1
  513. package/node_modules/@fps-games/editor-playable-sdk/dist/upgrade-doctor/types.js.map +1 -1
  514. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/asset-authoring.js.map +1 -1
  515. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/authoring-http.d.ts +1 -0
  516. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/authoring-http.d.ts.map +1 -1
  517. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/authoring-http.js +1 -0
  518. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/authoring-http.js.map +1 -1
  519. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/build-info-core.js.map +1 -1
  520. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/build-info-node.js.map +1 -1
  521. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/editor-scene-workflow.d.ts +6 -5
  522. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/editor-scene-workflow.d.ts.map +1 -1
  523. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/editor-scene-workflow.js +37 -20
  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 +10 -17
  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 +5 -1
  600. package/node_modules/@fps-games/playable-runtime/dist/compiled-scene-data.js.map +1 -1
  601. package/node_modules/@fps-games/playable-runtime/dist/index.js.map +1 -1
  602. package/node_modules/@fps-games/playable-runtime/dist/runtime-data.js.map +1 -1
  603. package/node_modules/@fps-games/playable-runtime/dist/runtime.js.map +1 -1
  604. package/node_modules/@fps-games/playable-runtime/dist/standard-plugins.js.map +1 -1
  605. package/node_modules/@fps-games/playable-runtime/dist/tokens.js.map +1 -1
  606. package/node_modules/@fps-games/playable-runtime/dist/types.js.map +1 -1
  607. package/node_modules/@fps-games/playable-runtime/package.json +12 -12
  608. package/node_modules/@fps-games/playable-runtime-data/dist/index.js.map +1 -1
  609. package/node_modules/@fps-games/playable-runtime-data/package.json +4 -4
  610. package/node_modules/@fps-games/playable-scene/dist/index.js.map +1 -1
  611. package/node_modules/@fps-games/playable-scene/dist/transform-math.js.map +1 -1
  612. package/node_modules/@fps-games/playable-scene/package.json +2 -2
  613. package/node_modules/@fps-games/plugin-api/dist/index.js.map +1 -1
  614. package/node_modules/@fps-games/plugin-api/package.json +1 -1
  615. package/node_modules/@fps-games/plugin-assets/dist/reference.js.map +1 -1
  616. package/node_modules/@fps-games/plugin-assets/dist/runtime.js.map +1 -1
  617. package/node_modules/@fps-games/plugin-assets/dist/version.d.ts +1 -1
  618. package/node_modules/@fps-games/plugin-assets/dist/version.js +1 -1
  619. package/node_modules/@fps-games/plugin-assets/dist/version.js.map +1 -1
  620. package/node_modules/@fps-games/plugin-assets/package.json +5 -5
  621. package/node_modules/@fps-games/plugin-host/dist/index.js.map +1 -1
  622. package/node_modules/@fps-games/plugin-host/package.json +2 -2
  623. package/node_modules/@fps-games/plugin-markers/dist/reference.js.map +1 -1
  624. package/node_modules/@fps-games/plugin-markers/dist/runtime.js.map +1 -1
  625. package/node_modules/@fps-games/plugin-markers/dist/version.d.ts +1 -1
  626. package/node_modules/@fps-games/plugin-markers/dist/version.js +1 -1
  627. package/node_modules/@fps-games/plugin-markers/dist/version.js.map +1 -1
  628. package/node_modules/@fps-games/plugin-markers/package.json +5 -5
  629. package/node_modules/@fps-games/plugin-materials/dist/reference.js.map +1 -1
  630. package/node_modules/@fps-games/plugin-materials/dist/runtime.js.map +1 -1
  631. package/node_modules/@fps-games/plugin-materials/dist/version.d.ts +1 -1
  632. package/node_modules/@fps-games/plugin-materials/dist/version.js +1 -1
  633. package/node_modules/@fps-games/plugin-materials/dist/version.js.map +1 -1
  634. package/node_modules/@fps-games/plugin-materials/package.json +5 -5
  635. package/node_modules/@fps-games/plugin-rendering/dist/reference.js.map +1 -1
  636. package/node_modules/@fps-games/plugin-rendering/dist/runtime.js.map +1 -1
  637. package/node_modules/@fps-games/plugin-rendering/dist/version.d.ts +1 -1
  638. package/node_modules/@fps-games/plugin-rendering/dist/version.js +1 -1
  639. package/node_modules/@fps-games/plugin-rendering/dist/version.js.map +1 -1
  640. package/node_modules/@fps-games/plugin-rendering/package.json +5 -5
  641. package/node_modules/@fps-games/plugin-scene/dist/reference.js.map +1 -1
  642. package/node_modules/@fps-games/plugin-scene/dist/runtime.js.map +1 -1
  643. package/node_modules/@fps-games/plugin-scene/dist/version.d.ts +1 -1
  644. package/node_modules/@fps-games/plugin-scene/dist/version.js +1 -1
  645. package/node_modules/@fps-games/plugin-scene/dist/version.js.map +1 -1
  646. package/node_modules/@fps-games/plugin-scene/package.json +5 -5
  647. package/node_modules/@fps-games/plugin-shadows/dist/reference.js.map +1 -1
  648. package/node_modules/@fps-games/plugin-shadows/dist/runtime.js.map +1 -1
  649. package/node_modules/@fps-games/plugin-shadows/dist/version.d.ts +1 -1
  650. package/node_modules/@fps-games/plugin-shadows/dist/version.js +1 -1
  651. package/node_modules/@fps-games/plugin-shadows/dist/version.js.map +1 -1
  652. package/node_modules/@fps-games/plugin-shadows/package.json +7 -7
  653. package/package.json +27 -19
@@ -1 +1 @@
1
- {"version":3,"file":"local-editor-ui-hierarchy-controller.js","sourceRoot":"","sources":["../src/local-editor-ui-hierarchy-controller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"local-editor-ui-hierarchy-controller.js","sourceRoot":"","sources":["../src/local-editor-ui-hierarchy-controller.ts"],"names":[],"mappings":"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","sourcesContent":["import type { SelectionCommand } from '@fps-games/editor-core';\nimport {\n createLocalEditorHierarchyBlankMenu,\n createLocalEditorHierarchyCopyShortcutAction,\n createLocalEditorHierarchyDeleteShortcutAction,\n createLocalEditorHierarchyDuplicateShortcutAction,\n createLocalEditorHierarchyNodeMenu,\n createLocalEditorHierarchyPasteShortcutAction,\n createLocalEditorHierarchySelectAllShortcutAction,\n type LocalEditorHierarchyAction,\n} from './local-editor-ui-hierarchy-actions';\nimport {\n canLocalEditorHierarchyNodeHaveChildren,\n canLocalEditorHierarchyNodeRename,\n canLocalEditorHierarchyNodeToggleEnabled,\n createLocalEditorHierarchyTreeModel,\n type LocalEditorHierarchyDropResolution,\n isLocalEditorHierarchyNodeSelectable,\n isLocalEditorHierarchyNodeMovable,\n type LocalEditorHierarchyTreeModel,\n type LocalEditorHierarchyTreeNode,\n} from './local-editor-ui-hierarchy-tree';\nimport {\n resolveLocalEditorHierarchyDragOperation,\n type LocalEditorHierarchyDragLayout,\n type LocalEditorHierarchyDragLayoutRow,\n type LocalEditorHierarchyDragOperation,\n type LocalEditorHierarchyDropPreview,\n} from './local-editor-ui-hierarchy-drag-policy';\nimport {\n resolveLocalEditorHierarchyAutoScroll,\n} from './local-editor-ui-hierarchy-auto-scroll';\nimport {\n clearLocalEditorStructuredDragSession,\n createLocalEditorStructuredDragSession,\n hasLocalEditorStructuredDragSessionFeedback,\n} from './local-editor-ui-structured-drag-session';\nimport {\n renderLocalEditorHierarchyPanel,\n syncLocalEditorHierarchyDropPreview,\n} from './local-editor-ui-hierarchy-view';\nimport {\n createLocalEditorActiveHierarchyScope,\n} from './local-editor-ui-hierarchy-scope';\nimport {\n resolveLocalEditorHierarchyCommandAdapter,\n} from './local-editor-ui-hierarchy-command-adapter';\nimport {\n createLocalEditorViewportRevealController,\n} from './local-editor-ui-dock-panel';\nimport {\n createLocalEditorHierarchyAttachDialog,\n type LocalEditorHierarchyAttachConfirmResult,\n type LocalEditorHierarchyAttachTargetSelection,\n} from './local-editor-ui-hierarchy-attach-dialog';\nimport type { LocalEditorContextMenuController } from './local-editor-ui-context-menu';\nimport type { LocalEditorWorkbenchInputRouter } from './local-editor-ui-input-router';\nimport type {\n LocalEditorBrowserAssetActionInput,\n LocalEditorBrowserSceneGraphDropIntent,\n LocalEditorBrowserSceneGraphDropPlacement,\n LocalEditorBrowserSceneGraphActionResponse,\n LocalEditorBrowserHierarchyContextActionRegistration,\n LocalEditorBrowserHierarchyScope,\n LocalEditorBrowserUiCallbacks,\n LocalEditorBrowserUiState,\n LocalEditorContextAction,\n} from './local-editor-ui-types';\n\nconst HIERARCHY_DRAG_INDENT_WIDTH = 16;\n\nexport interface LocalEditorHierarchyController<TDocument = unknown> {\n render(state: LocalEditorBrowserUiState<TDocument>): void;\n handleEditShortcut(event: KeyboardEvent): boolean;\n handleDeleteShortcut(event: KeyboardEvent): boolean;\n dispose(): void;\n}\n\nexport interface LocalEditorHierarchyControllerOptions<TDocument = unknown> {\n doc: Document;\n panel: HTMLElement;\n callbacks: LocalEditorBrowserUiCallbacks;\n inputRouter: LocalEditorWorkbenchInputRouter;\n contextMenu: LocalEditorContextMenuController;\n getState: () => LocalEditorBrowserUiState<TDocument> | null;\n requestRender: () => void;\n onBeforeOpenContextMenu?: () => void;\n contextActions?: readonly LocalEditorBrowserHierarchyContextActionRegistration<TDocument>[];\n}\n\nexport function resolveLocalEditorHierarchyCreateMarkerParentId(\n activeNode: LocalEditorHierarchyTreeNode | null,\n): string | null {\n return activeNode && activeNode.item.canHaveChildren === true && activeNode.item.role !== 'marker'\n ? activeNode.id\n : null;\n}\n\nexport function createLocalEditorHierarchyController<TDocument = unknown>(\n options: LocalEditorHierarchyControllerOptions<TDocument>,\n): LocalEditorHierarchyController<TDocument> {\n const { doc, panel, callbacks, inputRouter, contextMenu, getState, requestRender } = options;\n const collapsedIdsByScope = new Map<string, Set<string>>();\n const hierarchySearchByScope = new Map<string, string>();\n let hierarchyRename: { id: string; value: string } | null = null;\n let hierarchyDrag: { id: string } | null = null;\n let hierarchyDrop: LocalEditorBrowserSceneGraphDropIntent | null = null;\n let hierarchyRootDrop = false;\n const hierarchyDragSession = createLocalEditorStructuredDragSession<\n LocalEditorHierarchyDragOperation,\n LocalEditorHierarchyDropPreview\n >();\n let hierarchyShortcutScopeActive = false;\n let hierarchyClipboard: { ids: string[]; activeId: string | null } | null = null;\n let hierarchySearchComposing = false;\n let currentModel: LocalEditorHierarchyTreeModel | null = null;\n let lastRenderedActiveId: string | null | undefined;\n let lastRenderedScopeId: string | null | undefined;\n let pendingHierarchyScrollId: string | null = null;\n let hierarchySelectionAnchorId: string | null = null;\n const attachDialog = createLocalEditorHierarchyAttachDialog({\n doc,\n getTheme: resolveActiveTheme,\n onOpenChange: open => inputRouter.setModalOpen(open, 'hierarchy-attach'),\n onConfirm: selection => submitAttachSelection(selection),\n });\n const treeViewportReveal = createLocalEditorViewportRevealController<string>({\n getViewport: findHierarchyTreeViewport,\n margin: 4,\n });\n\n const getModel = (state: LocalEditorBrowserUiState<TDocument>): LocalEditorHierarchyTreeModel => {\n if (currentModel) return currentModel;\n currentModel = createModel(state);\n return currentModel;\n };\n\n const render = (state: LocalEditorBrowserUiState<TDocument>): void => {\n const scope = resolveScope(state);\n const commandAdapter = resolveHierarchyCommandAdapter(scope);\n if (hierarchyRename && !scope.nodes.some(item => item.id === hierarchyRename?.id)) hierarchyRename = null;\n const scopeChanged = scope.scopeId !== lastRenderedScopeId;\n const activeIdChanged = scope.activeId !== lastRenderedActiveId || scopeChanged;\n const treeScrollSnapshot = treeViewportReveal.captureScrollSnapshot();\n if (activeIdChanged) {\n pendingHierarchyScrollId = null;\n expandActiveHierarchyPath(state, scope);\n }\n currentModel = createModel(state, scope);\n if (hierarchySelectionAnchorId && !currentModel.getNode(hierarchySelectionAnchorId)) {\n hierarchySelectionAnchorId = null;\n }\n renderLocalEditorHierarchyPanel(doc, panel, {\n model: currentModel,\n rename: hierarchyRename,\n drop: hierarchyDrop,\n dropPreview: hierarchyDragSession.preview,\n rootDrop: hierarchyRootDrop,\n searchQuery: getScopeSearch(scope.scopeId),\n title: scope.title,\n searchPlaceholder: scope.searchPlaceholder,\n showCreateGroup: commandAdapter.showCreateGroupToolbar,\n showCreateMarker: commandAdapter.kind === 'scene',\n });\n treeViewportReveal.restoreScrollSnapshot(treeScrollSnapshot);\n const suppressActiveScroll = scope.activeId\n ? treeViewportReveal.consumeRevealSuppression(scope.activeId, { clearWhenDifferent: activeIdChanged })\n : false;\n if (activeIdChanged && scope.activeId && !suppressActiveScroll && shouldAutoScrollActiveHierarchyNode()) {\n scheduleActiveHierarchyScroll(scope.activeId);\n }\n lastRenderedActiveId = scope.activeId;\n lastRenderedScopeId = scope.scopeId;\n };\n\n const onClick = (event: MouseEvent): void => {\n const target = event.target instanceof HTMLElement ? event.target : null;\n if (target?.closest('[data-editor-hierarchy-rename-input]')) return;\n if (target?.closest('input[data-editor-hierarchy-search]')) {\n clearSelectionFromSearchClick(event);\n return;\n }\n const enabledToggle = target?.closest<HTMLElement>('[data-editor-hierarchy-enabled-toggle]');\n const enabledToggleId = enabledToggle?.dataset.editorHierarchyEnabledToggle;\n if (enabledToggleId) {\n event.preventDefault();\n event.stopPropagation();\n toggleHierarchyItemEnabled(enabledToggleId, enabledToggle);\n return;\n }\n const toggle = target?.closest<HTMLElement>('[data-editor-hierarchy-toggle]')?.dataset.editorHierarchyToggle;\n if (toggle) {\n event.preventDefault();\n event.stopPropagation();\n toggleExpanded(toggle);\n return;\n }\n const createGroupButton = target?.closest<HTMLButtonElement>('[data-editor-hierarchy-create-group]');\n if (createGroupButton) {\n const state = getState();\n if (!state || resolveScope(state).commandSurface !== 'scene-graph') return;\n const parentId = state.activeId ?? null;\n if (parentId) expandNode(parentId);\n callbacks.onSceneGraphCreateGroup?.({\n parentId,\n activeId: parentId,\n name: 'Empty',\n });\n return;\n }\n const createMarkerButton = target?.closest<HTMLButtonElement>('[data-editor-hierarchy-create-marker]');\n if (createMarkerButton) {\n event.preventDefault();\n event.stopPropagation();\n createHierarchyMarkerFromButton();\n return;\n }\n const hierarchyButton = target?.closest<HTMLButtonElement>('[data-editor-hierarchy-id]');\n const hierarchyId = hierarchyButton?.dataset.editorHierarchyId;\n if (hierarchyId) {\n if (treeViewportReveal.isElementVisible(hierarchyButton)) {\n treeViewportReveal.suppressNextReveal(hierarchyId);\n }\n event.preventDefault();\n event.stopPropagation();\n selectHierarchyItemFromClick(hierarchyId, event);\n return;\n }\n if (shouldClearSelectionFromBlankClick(event, target)) {\n event.preventDefault();\n hierarchySelectionAnchorId = null;\n submitSelectionCommand({ type: 'selection.clear', label: 'Clear Selection' }, getState() ?? undefined);\n }\n };\n\n const onContextMenu = (event: MouseEvent): void => {\n openHierarchyContextMenu(event);\n };\n\n const onDocumentPointerDown = (event: PointerEvent): void => {\n hierarchyShortcutScopeActive = isEventInsideHierarchyPanel(event);\n };\n\n const onDocumentFocusIn = (event: FocusEvent): void => {\n hierarchyShortcutScopeActive = isEventInsideHierarchyPanel(event);\n };\n\n const onDoubleClick = (event: MouseEvent): void => {\n const target = event.target instanceof HTMLElement ? event.target : null;\n if (target?.closest('[data-editor-hierarchy-toggle]')) return;\n const hierarchyButton = target?.closest<HTMLButtonElement>('[data-editor-hierarchy-id]');\n const id = hierarchyButton?.dataset.editorHierarchyId;\n if (!id) return;\n event.preventDefault();\n event.stopPropagation();\n hierarchySelectionAnchorId = id;\n selectSingleHierarchyItem(id);\n if (resolveScopeForCurrentState()?.kind === 'scene') callbacks.onFocusSelection?.();\n };\n\n const onInput = (event: Event): void => {\n const input = event.target instanceof HTMLInputElement ? event.target : null;\n if (input?.dataset.editorHierarchySearch != null) {\n const scopeId = resolveScopeForCurrentState()?.scopeId ?? 'scene';\n hierarchySearchByScope.set(scopeId, input.value);\n if (!hierarchySearchComposing && !isComposingInputEvent(event)) requestRender();\n return;\n }\n if (!input?.dataset.editorHierarchyRenameInput || !hierarchyRename) return;\n hierarchyRename = {\n id: input.dataset.editorHierarchyRenameInput,\n value: input.value,\n };\n };\n\n const onKeyDown = (event: KeyboardEvent): void => {\n const input = event.target instanceof HTMLInputElement ? event.target : null;\n if (input?.dataset.editorHierarchySearch != null) {\n if (event.isComposing || hierarchySearchComposing) return;\n const scopeId = resolveScopeForCurrentState()?.scopeId ?? 'scene';\n if (event.key !== 'Escape' || getScopeSearch(scopeId).length === 0) return;\n event.preventDefault();\n hierarchySearchByScope.set(scopeId, '');\n requestRender();\n return;\n }\n if (!input?.dataset.editorHierarchyRenameInput) return;\n if (event.key === 'Enter') {\n event.preventDefault();\n commitHierarchyRename(input.dataset.editorHierarchyRenameInput, input.value);\n return;\n }\n if (event.key === 'Escape') {\n event.preventDefault();\n hierarchyRename = null;\n requestRender();\n }\n };\n\n const onCompositionStart = (event: CompositionEvent): void => {\n const input = event.target instanceof HTMLInputElement ? event.target : null;\n if (input?.dataset.editorHierarchySearch == null) return;\n hierarchySearchComposing = true;\n };\n\n const onCompositionEnd = (event: CompositionEvent): void => {\n const input = event.target instanceof HTMLInputElement ? event.target : null;\n if (input?.dataset.editorHierarchySearch == null) return;\n hierarchySearchComposing = false;\n const scopeId = resolveScopeForCurrentState()?.scopeId ?? 'scene';\n hierarchySearchByScope.set(scopeId, input.value);\n requestRender();\n };\n\n const onFocusOut = (event: FocusEvent): void => {\n const input = event.target instanceof HTMLInputElement ? event.target : null;\n if (!input?.dataset.editorHierarchyRenameInput) return;\n commitHierarchyRename(input.dataset.editorHierarchyRenameInput, input.value);\n };\n\n const onDragStart = (event: DragEvent): void => {\n const state = getState();\n const target = event.target instanceof HTMLElement ? event.target : null;\n const button = target?.closest<HTMLButtonElement>('[data-editor-hierarchy-id]');\n const id = button?.dataset.editorHierarchyId;\n if (!id || !state) return;\n if (!resolveHierarchyCommandAdapter(resolveScope(state)).menuCapabilities.hasMoveHandler) {\n event.preventDefault();\n return;\n }\n const model = getModel(state);\n const node = model.getNode(id);\n if (!isLocalEditorHierarchyNodeMovable(node)) {\n event.preventDefault();\n return;\n }\n hierarchyDrag = { id };\n const draggedIds = resolveDraggedIds(state, model, id);\n event.dataTransfer?.setData('text/plain', draggedIds.join(','));\n if (event.dataTransfer) event.dataTransfer.effectAllowed = 'move';\n };\n\n const onDragOver = (event: DragEvent): void => {\n const state = getState();\n const target = event.target instanceof HTMLElement ? event.target : null;\n const draggedIds = readDraggedIds(event);\n if (!state || draggedIds.length === 0) {\n clearHierarchyDragFeedbackAndRender();\n return;\n }\n if (!resolveHierarchyCommandAdapter(resolveScope(state)).menuCapabilities.hasMoveHandler) {\n clearHierarchyDragFeedbackAndRender();\n return;\n }\n const model = getModel(state);\n if (!isInsideHierarchyTreeViewport(target)) {\n clearHierarchyDragFeedbackAndRender();\n return;\n }\n hierarchyDragSession.pointer = { x: event.clientX, y: event.clientY };\n updateHierarchyAutoScroll();\n const operation = resolveHierarchyDragOperation(event, model, draggedIds);\n if (!operation || operation.status === 'idle') {\n clearHierarchyDragFeedbackAndRender();\n return;\n }\n event.preventDefault();\n hierarchyDragSession.operation = operation;\n const canSubmitDrop = operation.status === 'valid'\n && (!!callbacks.onSceneGraphMove || operation.slot?.placement === 'inside');\n if (event.dataTransfer) event.dataTransfer.dropEffect = canSubmitDrop ? 'move' : 'none';\n if (operation.status !== 'valid' || !operation.slot || !operation.resolution?.ok) {\n hierarchyDragSession.preview = operation.preview;\n hierarchyDrop = null;\n hierarchyRootDrop = false;\n syncHierarchyDropPreview();\n return;\n }\n if (operation.slot.placement === 'root') {\n hierarchyDragSession.preview = operation.preview;\n hierarchyDrop = null;\n hierarchyRootDrop = true;\n syncHierarchyDropPreview();\n return;\n }\n const targetId = operation.slot.targetId;\n if (!targetId) return;\n const nextDrop = {\n draggedId: operation.resolution.draggedIds[0] ?? draggedIds[0]!,\n targetId,\n placement: operation.slot.placement,\n preserveWorldTransform: true,\n };\n hierarchyDragSession.preview = operation.preview;\n hierarchyDrop = nextDrop;\n hierarchyRootDrop = false;\n syncHierarchyDropPreview();\n };\n\n const onDragLeave = (event: DragEvent): void => {\n if (!panel.contains(event.relatedTarget as Node | null)) {\n clearHierarchyDragFeedback();\n requestRender();\n }\n };\n\n const onDragEnd = (): void => {\n hierarchyDrag = null;\n clearHierarchyDragFeedback();\n requestRender();\n };\n\n const onDrop = (event: DragEvent): void => {\n const state = getState();\n const target = event.target instanceof HTMLElement ? event.target : null;\n const draggedIds = readDraggedIds(event);\n if (!state || draggedIds.length === 0) {\n clearHierarchyDragFeedbackAndRender();\n return;\n }\n const scope = resolveScope(state);\n if (!resolveHierarchyCommandAdapter(scope).menuCapabilities.hasMoveHandler) {\n clearHierarchyDragFeedbackAndRender();\n return;\n }\n const model = getModel(state);\n if (!isInsideHierarchyTreeViewport(target)) {\n clearHierarchyDragFeedbackAndRender();\n return;\n }\n const operation = hierarchyDragSession.operation ?? resolveHierarchyDragOperation(event, model, draggedIds);\n if (!operation || operation.status !== 'valid' || !operation.slot || !operation.resolution?.ok) {\n clearHierarchyDragFeedbackAndRender();\n return;\n }\n event.preventDefault();\n hierarchyDrag = null;\n clearHierarchyDragFeedback();\n if (operation.slot.placement === 'root') {\n if (scope.commandSurface === 'prefab-composition') {\n requestRender();\n return;\n }\n submitResolvedRootDrop(operation.resolution);\n return;\n }\n const targetId = operation.slot.targetId;\n if (!targetId) {\n requestRender();\n return;\n }\n expandDropParent(operation.resolution);\n if (scope.commandSurface === 'prefab-composition') {\n if (operation.slot.placement !== 'inside') {\n requestRender();\n return;\n }\n submitPrefabNodeReparent(scope, operation.resolution.draggedIds[0] ?? draggedIds[0]!, targetId);\n requestRender();\n return;\n }\n submitResolvedDrop(operation.resolution, targetId, operation.slot.placement, draggedIds);\n };\n\n panel.addEventListener('click', onClick);\n panel.addEventListener('contextmenu', onContextMenu);\n panel.addEventListener('dblclick', onDoubleClick);\n panel.addEventListener('input', onInput);\n panel.addEventListener('keydown', onKeyDown);\n panel.addEventListener('compositionstart', onCompositionStart);\n panel.addEventListener('compositionend', onCompositionEnd);\n panel.addEventListener('focusout', onFocusOut);\n panel.addEventListener('dragstart', onDragStart);\n panel.addEventListener('dragover', onDragOver);\n panel.addEventListener('dragleave', onDragLeave);\n panel.addEventListener('dragend', onDragEnd);\n panel.addEventListener('drop', onDrop);\n doc.addEventListener('pointerdown', onDocumentPointerDown, { capture: true });\n doc.addEventListener('focusin', onDocumentFocusIn, { capture: true });\n\n return {\n render,\n handleDeleteShortcut(event) {\n return handleDeleteShortcut(event);\n },\n handleEditShortcut(event) {\n return handleEditShortcut(event);\n },\n dispose() {\n clearHierarchyDragFeedback();\n panel.removeEventListener('click', onClick);\n panel.removeEventListener('contextmenu', onContextMenu);\n panel.removeEventListener('dblclick', onDoubleClick);\n panel.removeEventListener('input', onInput);\n panel.removeEventListener('keydown', onKeyDown);\n panel.removeEventListener('compositionstart', onCompositionStart);\n panel.removeEventListener('compositionend', onCompositionEnd);\n panel.removeEventListener('focusout', onFocusOut);\n panel.removeEventListener('dragstart', onDragStart);\n panel.removeEventListener('dragover', onDragOver);\n panel.removeEventListener('dragleave', onDragLeave);\n panel.removeEventListener('dragend', onDragEnd);\n panel.removeEventListener('drop', onDrop);\n doc.removeEventListener('pointerdown', onDocumentPointerDown, { capture: true });\n doc.removeEventListener('focusin', onDocumentFocusIn, { capture: true });\n attachDialog.dispose();\n },\n };\n\n function handleDeleteShortcut(event: KeyboardEvent): boolean {\n const state = getState();\n if (!state) return false;\n const scope = resolveScope(state);\n if (scope.kind !== 'scene') return false;\n const commandAdapter = resolveHierarchyCommandAdapter(scope);\n const action = createLocalEditorHierarchyDeleteShortcutAction({\n state,\n model: getModel(state),\n ...commandAdapter.menuCapabilities,\n });\n if (!action) return false;\n event.preventDefault();\n submitHierarchyAction(action);\n return true;\n }\n\n function handleEditShortcut(event: KeyboardEvent): boolean {\n const key = event.key.toLowerCase();\n if (key === 'delete' || key === 'backspace') return handleDeleteShortcut(event);\n if (event.altKey || (!event.metaKey && !event.ctrlKey)) return false;\n if (key === 'a' && (event.shiftKey || !isHierarchyShortcutScope(event))) return false;\n const state = getState();\n if (!state) return false;\n const scope = resolveScope(state);\n if (scope.kind !== 'scene') return false;\n const commandAdapter = resolveHierarchyCommandAdapter(scope);\n const input = {\n state,\n model: getModel(state),\n clipboardIds: hierarchyClipboard?.ids ?? null,\n clipboardActiveId: hierarchyClipboard?.activeId ?? null,\n ...commandAdapter.menuCapabilities,\n };\n const action = key === 'd'\n ? createLocalEditorHierarchyDuplicateShortcutAction(input)\n : key === 'c'\n ? createLocalEditorHierarchyCopyShortcutAction(input)\n : key === 'v'\n ? createLocalEditorHierarchyPasteShortcutAction(input)\n : key === 'a'\n ? createLocalEditorHierarchySelectAllShortcutAction(input)\n : null;\n if (!action) return false;\n event.preventDefault();\n submitHierarchyAction(action);\n return true;\n }\n\n function isComposingInputEvent(event: Event): boolean {\n return (event as Event & { isComposing?: boolean }).isComposing === true;\n }\n\n function resolveScope(state: LocalEditorBrowserUiState<TDocument>): LocalEditorBrowserHierarchyScope {\n return createLocalEditorActiveHierarchyScope(state);\n }\n\n function resolveScopeForCurrentState(): LocalEditorBrowserHierarchyScope | null {\n const state = getState();\n return state ? resolveScope(state) : null;\n }\n\n function getScopeCollapsedIds(scopeId: string): Set<string> {\n const existing = collapsedIdsByScope.get(scopeId);\n if (existing) return existing;\n const created = new Set<string>();\n collapsedIdsByScope.set(scopeId, created);\n return created;\n }\n\n function getScopeSearch(scopeId: string): string {\n return hierarchySearchByScope.get(scopeId) ?? '';\n }\n\n function createModel(\n state: LocalEditorBrowserUiState<TDocument>,\n scope = resolveScope(state),\n ): LocalEditorHierarchyTreeModel {\n return createLocalEditorHierarchyTreeModel(scope.nodes, scope.selectedIds, scope.activeId, {\n collapsedIds: getScopeCollapsedIds(scope.scopeId),\n defaultExpanded: true,\n });\n }\n\n function selectHierarchyItemFromClick(id: string, event: MouseEvent): void {\n const scope = resolveScopeForCurrentState();\n if (!scope) return;\n const toggle = event.metaKey || event.ctrlKey;\n const range = event.shiftKey && !toggle;\n if (range) {\n selectHierarchyVisibleRange(id);\n return;\n }\n hierarchySelectionAnchorId = id;\n if (scope.kind === 'prefab-stage') callbacks.onSelectPrefabStageItem?.(id);\n else callbacks.onSelectHierarchyItem?.({ id, additive: false, toggle });\n }\n\n function toggleHierarchyItemEnabled(id: string, toggle: HTMLElement): void {\n if (toggle.dataset.editorHierarchyEnabledToggleDisabled === 'true') return;\n const state = getState();\n if (!state) return;\n if (resolveScope(state).commandSurface !== 'scene-graph') return;\n const node = getModel(state).getNode(id);\n if (!node || !canLocalEditorHierarchyNodeToggleEnabled(node)) return;\n const directEnabled = typeof node.item.directEnabled === 'boolean'\n ? node.item.directEnabled\n : node.item.enabled;\n callbacks.onHierarchyItemEnabledChange?.({\n id,\n enabled: directEnabled === false,\n });\n }\n\n function selectHierarchyVisibleRange(targetId: string): void {\n const state = getState();\n if (!state) {\n selectSingleHierarchyItem(targetId);\n hierarchySelectionAnchorId = targetId;\n return;\n }\n const scope = resolveScope(state);\n if (scope.kind !== 'scene') {\n hierarchySelectionAnchorId = targetId;\n callbacks.onSelectPrefabStageItem?.(targetId);\n return;\n }\n const model = getModel(state);\n const anchorId = hierarchySelectionAnchorId ?? scope.activeId ?? targetId;\n const selectedIds = model.getVisibleRangeSelection(anchorId, targetId);\n if (selectedIds.length === 0) {\n hierarchySelectionAnchorId = targetId;\n selectSingleHierarchyItem(targetId);\n return;\n }\n const activeId = selectedIds.includes(targetId)\n ? targetId\n : selectedIds[selectedIds.length - 1] ?? null;\n submitSelectionCommand({\n type: 'selection.replace',\n label: 'Select Hierarchy Range',\n selectedIds,\n activeId,\n }, state);\n }\n\n function resolveDraggedIds(\n state: LocalEditorBrowserUiState<TDocument>,\n model: LocalEditorHierarchyTreeModel,\n draggedId: string,\n ): string[] {\n const scope = resolveScope(state);\n const selectedIds = scope.selectedIds.includes(draggedId) ? scope.selectedIds : [draggedId];\n return model.getTopLevelSelection(selectedIds);\n }\n\n function readDraggedIds(event: DragEvent): string[] {\n const dataTransferIds = event.dataTransfer?.getData('text/plain')\n .split(',')\n .map(id => id.trim())\n .filter(Boolean) ?? [];\n return dataTransferIds.length > 0 ? dataTransferIds : hierarchyDrag?.id ? [hierarchyDrag.id] : [];\n }\n\n function submitResolvedRootDrop(resolved: LocalEditorHierarchyDropResolution): void {\n callbacks.onSceneGraphMove?.({\n ids: resolved.draggedIds,\n targetId: null,\n placement: 'root',\n preserveWorldTransform: true,\n });\n requestRender();\n }\n\n function toggleExpanded(id: string): void {\n const scope = resolveScopeForCurrentState();\n const collapsedIds = getScopeCollapsedIds(scope?.scopeId ?? 'scene');\n if (collapsedIds.has(id)) collapsedIds.delete(id);\n else collapsedIds.add(id);\n requestRender();\n }\n\n function expandNode(id: string | null | undefined): void {\n if (!id) return;\n const scope = resolveScopeForCurrentState();\n getScopeCollapsedIds(scope?.scopeId ?? 'scene').delete(id);\n }\n\n function expandActiveHierarchyPath(\n state: LocalEditorBrowserUiState<TDocument>,\n scope = resolveScope(state),\n ): void {\n if (!scope.activeId) return;\n const model = createModel(state, scope);\n if (!model.getNode(scope.activeId)) return;\n const collapsedIds = getScopeCollapsedIds(scope.scopeId);\n for (const ancestor of model.getAncestors(scope.activeId)) {\n collapsedIds.delete(ancestor.id);\n }\n }\n\n function shouldAutoScrollActiveHierarchyNode(): boolean {\n return !hierarchyRename && !hierarchyDrag && !hasHierarchyDragFeedback();\n }\n\n function scheduleActiveHierarchyScroll(activeId: string): void {\n pendingHierarchyScrollId = activeId;\n setTimeout(() => {\n if (pendingHierarchyScrollId !== activeId) return;\n pendingHierarchyScrollId = null;\n const row = findHierarchyRow(activeId);\n if (!row) return;\n const viewport = findHierarchyTreeViewport();\n if (viewport) {\n treeViewportReveal.revealElement(row, { behavior: 'smooth' });\n return;\n }\n try {\n row.scrollIntoView({ block: 'nearest', inline: 'nearest', behavior: 'smooth' });\n } catch {\n row.scrollIntoView();\n }\n }, 0);\n }\n\n function findHierarchyRow(id: string): HTMLElement | null {\n for (const row of panel.querySelectorAll<HTMLElement>('[data-editor-hierarchy-id]')) {\n if (row.dataset.editorHierarchyId === id) return row;\n }\n return null;\n }\n\n function findHierarchyTreeViewport(): HTMLElement | null {\n return panel.querySelector<HTMLElement>('[data-editor-hierarchy-tree-viewport]');\n }\n\n function isInsideHierarchyTreeViewport(target: HTMLElement | null): boolean {\n return !!target?.closest('[data-editor-hierarchy-tree-viewport]');\n }\n\n function armHierarchyAutoScroll(): void {\n if (hierarchyDragSession.autoScrollFrame !== null) return;\n hierarchyDragSession.autoScrollFrame = doc.defaultView?.requestAnimationFrame(tickHierarchyAutoScroll) ?? null;\n }\n\n function stopHierarchyAutoScroll(): void {\n if (hierarchyDragSession.autoScrollFrame !== null) {\n doc.defaultView?.cancelAnimationFrame(hierarchyDragSession.autoScrollFrame);\n }\n hierarchyDragSession.autoScrollFrame = null;\n }\n\n function clearHierarchyDragFeedback(): void {\n hierarchyDrop = null;\n hierarchyRootDrop = false;\n stopHierarchyAutoScroll();\n clearLocalEditorStructuredDragSession(hierarchyDragSession);\n }\n\n function hasHierarchyDragFeedback(): boolean {\n return hierarchyDrop !== null\n || hierarchyRootDrop\n || hasLocalEditorStructuredDragSessionFeedback(hierarchyDragSession);\n }\n\n function clearHierarchyDragFeedbackAndRender(): void {\n const hadFeedback = hasHierarchyDragFeedback();\n clearHierarchyDragFeedback();\n if (hadFeedback) syncHierarchyDropPreview();\n }\n\n function syncHierarchyDropPreview(): void {\n syncLocalEditorHierarchyDropPreview(doc, panel, {\n dropPreview: hierarchyDragSession.preview,\n rootDrop: hierarchyRootDrop,\n });\n }\n\n function tickHierarchyAutoScroll(): void {\n hierarchyDragSession.autoScrollFrame = null;\n if (!hierarchyDragSession.pointer) return;\n const viewport = findHierarchyTreeViewport();\n if (!viewport) return;\n const rect = viewport.getBoundingClientRect();\n const scroll = resolveLocalEditorHierarchyAutoScroll({\n pointerY: hierarchyDragSession.pointer.y,\n viewportTop: rect.top,\n viewportBottom: rect.bottom,\n viewportHeight: rect.height,\n scrollTop: viewport.scrollTop,\n scrollHeight: viewport.scrollHeight,\n clientHeight: viewport.clientHeight,\n });\n if (scroll.speed !== 0) {\n viewport.scrollTop += scroll.speed;\n requestRender();\n armHierarchyAutoScroll();\n }\n }\n\n function updateHierarchyAutoScroll(): void {\n const viewport = findHierarchyTreeViewport();\n if (!viewport || !hierarchyDragSession.pointer) {\n stopHierarchyAutoScroll();\n return;\n }\n const rect = viewport.getBoundingClientRect();\n const scroll = resolveLocalEditorHierarchyAutoScroll({\n pointerY: hierarchyDragSession.pointer.y,\n viewportTop: rect.top,\n viewportBottom: rect.bottom,\n viewportHeight: rect.height,\n scrollTop: viewport.scrollTop,\n scrollHeight: viewport.scrollHeight,\n clientHeight: viewport.clientHeight,\n });\n if (scroll.speed === 0) {\n stopHierarchyAutoScroll();\n return;\n }\n armHierarchyAutoScroll();\n }\n\n function resolveHierarchyDragOperation(\n event: DragEvent,\n model: LocalEditorHierarchyTreeModel,\n draggedIds: readonly string[],\n ): LocalEditorHierarchyDragOperation | null {\n const layout = createHierarchyDragLayout(model);\n if (!layout) return null;\n return resolveLocalEditorHierarchyDragOperation({\n layout,\n pointer: { x: event.clientX, y: event.clientY },\n draggedIds,\n resolveDrop: model.resolveDrop.bind(model),\n });\n }\n\n function createHierarchyDragLayout(model: LocalEditorHierarchyTreeModel): LocalEditorHierarchyDragLayout | null {\n const viewport = findHierarchyTreeViewport();\n if (!viewport) return null;\n const viewportRect = viewport.getBoundingClientRect();\n const rows: LocalEditorHierarchyDragLayoutRow[] = [];\n for (const element of panel.querySelectorAll<HTMLElement>('[data-editor-hierarchy-id]')) {\n const id = element.dataset.editorHierarchyId;\n const node = model.getNode(id);\n if (!id || !node) continue;\n const rect = element.getBoundingClientRect();\n rows.push({\n id,\n depth: node.depth,\n parentId: node.parentId,\n canHaveChildren: canLocalEditorHierarchyNodeHaveChildren(node),\n rect: {\n left: rect.left,\n top: rect.top,\n width: rect.width,\n height: rect.height,\n },\n });\n }\n rows.sort((left, right) => left.rect.top - right.rect.top);\n return {\n rows,\n viewport: {\n left: viewportRect.left,\n top: viewportRect.top,\n width: viewportRect.width,\n height: viewportRect.height,\n },\n indentWidth: HIERARCHY_DRAG_INDENT_WIDTH,\n };\n }\n\n function expandDropParent(resolved: LocalEditorHierarchyDropResolution): void {\n if (resolved.placement === 'inside') expandNode(resolved.parentId);\n }\n\n function commitHierarchyRename(id: string, value: string): void {\n if (!hierarchyRename || hierarchyRename.id !== id) return;\n const trimmed = value.trim();\n const state = getState();\n const scope = state ? resolveScope(state) : null;\n const item = scope?.nodes.find(candidate => candidate.id === id) ?? null;\n hierarchyRename = null;\n if (trimmed && item && trimmed !== item.label) {\n if (scope?.commandSurface === 'scene-graph') {\n callbacks.onSceneGraphRename?.({ id, name: trimmed });\n } else if (scope?.commandSurface === 'prefab-composition') {\n callbacks.onAssetAction?.(createPrefabNodeAssetAction(scope, 'prefab.node.rename', resolvePrefabCommandTargetId(scope, id), {\n value: trimmed,\n }));\n }\n }\n requestRender();\n }\n\n function openHierarchyContextMenu(event: MouseEvent): void {\n const hadHierarchyFeedback = hasHierarchyDragFeedback();\n hierarchyDrag = null;\n clearHierarchyDragFeedback();\n const target = event.target instanceof HTMLElement ? event.target : null;\n if (!target || inputRouter.isEditableTarget(target)) {\n if (hadHierarchyFeedback) requestRender();\n return;\n }\n const state = getState();\n if (!state || state.mode !== 'editor' || state.busy) {\n if (hadHierarchyFeedback) requestRender();\n return;\n }\n const scope = resolveScope(state);\n const commandAdapter = resolveHierarchyCommandAdapter(scope);\n const model = getModel(state);\n const hierarchyButton = target.closest<HTMLButtonElement>('[data-editor-hierarchy-id]');\n const node = model.getNode(hierarchyButton?.dataset.editorHierarchyId);\n if (node && !scope.selectedIds.includes(node.id) && isLocalEditorHierarchyNodeSelectable(node)) {\n hierarchySelectionAnchorId = node.id;\n if (scope.kind === 'prefab-stage') callbacks.onSelectPrefabStageItem?.(node.id);\n else callbacks.onSelectHierarchyItem?.({ id: node.id, additive: false, toggle: false });\n }\n if (!commandAdapter.canOpenContextMenu) {\n if (hadHierarchyFeedback) requestRender();\n return;\n }\n event.preventDefault();\n event.stopPropagation();\n options.onBeforeOpenContextMenu?.();\n const menuState = createScopedHierarchyMenuState(state, scope);\n const menu = node\n ? createLocalEditorHierarchyNodeMenu({\n state: menuState,\n model,\n node,\n clipboardIds: hierarchyClipboard?.ids ?? null,\n clipboardActiveId: hierarchyClipboard?.activeId ?? null,\n ...commandAdapter.menuCapabilities,\n contextActions: options.contextActions,\n })\n : createLocalEditorHierarchyBlankMenu({\n state: menuState,\n model,\n clipboardIds: hierarchyClipboard?.ids ?? null,\n clipboardActiveId: hierarchyClipboard?.activeId ?? null,\n ...commandAdapter.menuCapabilities,\n contextActions: options.contextActions,\n });\n const menuItems = commandAdapter.filterMenuItems(menu.items);\n if (menuItems.length === 0) {\n if (hadHierarchyFeedback) requestRender();\n return;\n }\n\n contextMenu.open({\n x: event.clientX,\n y: event.clientY,\n items: menuItems,\n onAction(item) {\n const action = menu.actions.get(item.id);\n if (action) submitHierarchyAction(action);\n },\n });\n if (hadHierarchyFeedback) requestRender();\n }\n\n function createHierarchyMarkerFromButton(): void {\n const state = getState();\n if (!state || state.mode !== 'editor' || state.busy) return;\n const model = getModel(state);\n const activeNode = model.getNode(state.activeId);\n const parentId = resolveLocalEditorHierarchyCreateMarkerParentId(activeNode);\n if (parentId) expandNode(parentId);\n callbacks.onSceneGraphCreateMarker?.({\n parentId,\n activeId: parentId ?? state.activeId ?? null,\n name: 'Marker',\n });\n requestRender();\n }\n\n function submitHierarchyAction(action: LocalEditorHierarchyAction): void {\n if (action.kind === 'begin-rename') {\n beginHierarchyRename(action.targetId);\n return;\n }\n if (action.kind === 'copy-selection') {\n hierarchyClipboard = {\n ids: action.targetIds,\n activeId: action.activeId && action.targetIds.includes(action.activeId)\n ? action.activeId\n : action.targetIds[action.targetIds.length - 1] ?? null,\n };\n return;\n }\n if (action.kind === 'group-selection') {\n callbacks.onSceneGraphGroupSelection?.(action.intent);\n return;\n }\n if (action.kind === 'open-attach-picker') {\n openAttachPicker(action.targetIds, action.activeId);\n return;\n }\n if (action.kind === 'selection-command') {\n submitSelectionCommand(action.command);\n return;\n }\n submitHierarchyContextAction(action.action);\n }\n\n function createScopedHierarchyMenuState(\n state: LocalEditorBrowserUiState<TDocument>,\n scope: LocalEditorBrowserHierarchyScope,\n ): LocalEditorBrowserUiState<TDocument> {\n return {\n ...state,\n hierarchy: scope.nodes,\n selectedIds: scope.selectedIds,\n activeId: scope.activeId,\n };\n }\n\n function submitSelectionCommand(command: SelectionCommand, state = getState() ?? undefined): void {\n if (state && resolveScope(state).kind !== 'scene') return;\n callbacks.onSelectionCommand?.(command);\n }\n\n function openAttachPicker(targetIds: readonly string[], activeId: string | null): void {\n const state = getState();\n if (!state || state.mode !== 'editor' || state.busy || targetIds.length === 0) return;\n if (!resolveHierarchyCommandAdapter(resolveScope(state)).menuCapabilities.hasMoveHandler) return;\n attachDialog.open({\n model: getModel(state),\n targetIds,\n activeId,\n });\n }\n\n function submitAttachSelection(selection: LocalEditorHierarchyAttachTargetSelection): LocalEditorHierarchyAttachConfirmResult {\n const state = getState();\n if (!state || state.mode !== 'editor' || state.busy) return { ok: false, reason: 'Editor is not ready.' };\n const scope = resolveScope(state);\n if (scope.commandSurface === 'prefab-composition') return submitPrefabAttachSelection(scope, selection);\n if (scope.commandSurface !== 'scene-graph') return { ok: false, reason: 'Hierarchy move pipeline is not connected yet.' };\n const ids = selection.resolution.draggedIds;\n if (ids.length === 0) return { ok: false, reason: 'Select one or more movable nodes first.' };\n if (!callbacks.onSceneGraphMove) return { ok: false, reason: 'Hierarchy move pipeline is not connected yet.' };\n if (selection.placement === 'root') {\n const result = normalizeAttachSceneGraphMoveResult(callbacks.onSceneGraphMove({\n ids,\n placement: 'root',\n preserveWorldTransform: true,\n }));\n requestRender();\n return result;\n }\n if (!selection.targetId) return { ok: false, reason: 'Select a valid target first.' };\n expandNode(selection.targetId);\n const result = normalizeAttachSceneGraphMoveResult(callbacks.onSceneGraphMove({\n ids,\n targetId: selection.targetId,\n placement: 'inside',\n parentId: selection.resolution.parentId,\n beforeId: selection.resolution.beforeId,\n afterId: selection.resolution.afterId,\n preserveWorldTransform: true,\n }));\n requestRender();\n return result;\n }\n\n function submitPrefabAttachSelection(\n scope: LocalEditorBrowserHierarchyScope,\n selection: LocalEditorHierarchyAttachTargetSelection,\n ): LocalEditorHierarchyAttachConfirmResult {\n const ids = selection.resolution.draggedIds;\n if (ids.length !== 1) return { ok: false, reason: 'Move one prefab node at a time.' };\n if (selection.placement !== 'inside') return { ok: false, reason: 'Prefab node reparent supports inside placement only.' };\n if (!selection.targetId) return { ok: false, reason: 'Select a valid prefab parent first.' };\n if (!submitPrefabNodeReparent(scope, ids[0], selection.targetId)) {\n return { ok: false, reason: 'Select valid prefab nodes first.' };\n }\n expandNode(selection.targetId);\n requestRender();\n return { ok: true };\n }\n\n function submitPrefabNodeReparent(\n scope: LocalEditorBrowserHierarchyScope,\n hierarchyId: string,\n parentHierarchyId: string,\n ): boolean {\n const nodeId = resolvePrefabCommandTargetId(scope, hierarchyId);\n const parentNodeId = resolvePrefabCommandTargetId(scope, parentHierarchyId);\n if (!nodeId || !parentNodeId) return false;\n callbacks.onAssetAction?.(createPrefabNodeAssetAction(scope, 'prefab.node.reparent', nodeId, {\n parentNodeId,\n }));\n return true;\n }\n\n function normalizeAttachSceneGraphMoveResult(result: LocalEditorBrowserSceneGraphActionResponse): LocalEditorHierarchyAttachConfirmResult {\n if (typeof result === 'boolean') return { ok: result };\n if (typeof result === 'string') return { ok: false, reason: result };\n if (result && typeof result === 'object') return result;\n return { ok: true };\n }\n\n function shouldClearSelectionFromBlankClick(event: MouseEvent, target: HTMLElement | null): boolean {\n if (event.button !== 0 || event.shiftKey || event.metaKey || event.ctrlKey || event.altKey) return false;\n if (!target?.closest('[data-editor-hierarchy-root-drop]')) return false;\n if (hierarchyRename || hierarchyDrag || hasHierarchyDragFeedback()) return false;\n const state = getState();\n if (!state) return false;\n const scope = resolveScope(state);\n return scope.kind === 'scene' && scope.selectedIds.length > 0;\n }\n\n function clearSelectionFromSearchClick(event: MouseEvent): void {\n if (event.button !== 0 || event.shiftKey || event.metaKey || event.ctrlKey || event.altKey) return;\n const state = getState();\n if (!state || resolveScope(state).kind !== 'scene' || state.selectedIds.length === 0) return;\n hierarchySelectionAnchorId = null;\n submitSelectionCommand({ type: 'selection.clear', label: 'Clear Selection' }, state);\n }\n\n function isHierarchyShortcutScope(event: KeyboardEvent): boolean {\n const target = event.target instanceof Node ? event.target : null;\n const activeElement = doc.activeElement;\n return hierarchyShortcutScopeActive\n || (target !== null && panel.contains(target))\n || (activeElement !== null && panel.contains(activeElement));\n }\n\n function isEventInsideHierarchyPanel(event: Event): boolean {\n const target = event.target instanceof Node ? event.target : null;\n return target !== null && panel.contains(target);\n }\n\n function submitHierarchyContextAction(action: LocalEditorContextAction): void {\n if (action.action === 'rename') return;\n const scope = resolveScopeForCurrentState();\n if (scope?.commandSurface === 'prefab-composition') {\n submitPrefabHierarchyContextAction(scope, action);\n return;\n }\n if (scope?.commandSurface !== 'scene-graph') return;\n if (action.action === 'create-group' || action.action === 'create-primitive' || action.action === 'create-marker') {\n expandNode(action.parentId);\n }\n if (callbacks.onContextAction) {\n callbacks.onContextAction(action);\n return;\n }\n if (action.action === 'focus') callbacks.onFocusSelection?.();\n else if (action.action === 'duplicate') {\n callbacks.onSceneGraphDuplicate?.({\n targetIds: action.targetIds,\n activeId: action.activeId ?? null,\n });\n } else if (action.action === 'paste') {\n callbacks.onSceneGraphDuplicate?.({\n targetIds: action.sourceIds,\n activeId: action.activeId ?? null,\n });\n }\n else if (action.action === 'create-group') {\n callbacks.onSceneGraphCreateGroup?.({\n parentId: action.parentId ?? null,\n activeId: action.activeId ?? null,\n name: 'Empty',\n });\n } else if (action.action === 'create-marker') {\n callbacks.onSceneGraphCreateMarker?.({\n parentId: action.parentId ?? null,\n activeId: action.activeId ?? null,\n markerType: action.markerType,\n name: action.name,\n });\n } else if (action.action === 'create-primitive') {\n callbacks.onSceneGraphCreatePrimitive?.({\n parentId: action.parentId ?? null,\n activeId: action.activeId ?? null,\n shape: action.shape,\n name: action.name,\n });\n } else if (action.action === 'delete') {\n callbacks.onSceneGraphDelete?.({\n ids: action.targetIds,\n activeId: action.activeId ?? null,\n });\n }\n }\n\n function submitPrefabHierarchyContextAction(scope: LocalEditorBrowserHierarchyScope, action: LocalEditorContextAction): void {\n if (action.action === 'focus') {\n const targetId = action.activeId ?? action.targetIds[0] ?? null;\n if (targetId) callbacks.onSelectPrefabStageItem?.(targetId);\n return;\n }\n if (action.action === 'create-primitive') {\n if (action.parentId) expandNode(action.parentId);\n callbacks.onAssetAction?.(createPrefabNodeAssetAction(scope, 'prefab.node.createPrimitive', resolvePrefabCommandTargetId(scope, action.parentId ?? scope.activeId), {\n primitiveShape: action.shape,\n }));\n return;\n }\n if (action.action === 'create-group') {\n if (action.parentId) expandNode(action.parentId);\n callbacks.onAssetAction?.(createPrefabNodeAssetAction(scope, 'prefab.node.createGroup', resolvePrefabCommandTargetId(scope, action.parentId ?? scope.activeId), {\n value: { name: 'Empty' },\n }));\n return;\n }\n if (action.action === 'delete') {\n const nodeId = action.activeId && action.targetIds.includes(action.activeId)\n ? action.activeId\n : action.targetIds[0] ?? null;\n if (!nodeId) return;\n callbacks.onAssetAction?.(createPrefabNodeAssetAction(scope, 'prefab.node.delete', resolvePrefabCommandTargetId(scope, nodeId)));\n }\n }\n\n function resolvePrefabCommandTargetId(\n scope: LocalEditorBrowserHierarchyScope,\n hierarchyId: string | null | undefined,\n ): string | null {\n if (!hierarchyId) return null;\n const node = scope.nodes.find(candidate => candidate.id === hierarchyId);\n return node?.commandTargetId ?? hierarchyId;\n }\n\n function createPrefabNodeAssetAction(\n scope: LocalEditorBrowserHierarchyScope,\n actionId: string,\n nodeId: string | null | undefined,\n extra: Partial<LocalEditorBrowserAssetActionInput> = {},\n ): LocalEditorBrowserAssetActionInput {\n const stageAssetId = scope.scopeId.startsWith('prefab-stage:')\n ? scope.scopeId.slice('prefab-stage:'.length)\n : undefined;\n return {\n actionId,\n assetId: stageAssetId,\n browserAssetId: stageAssetId ? `prefab:${stageAssetId}` : undefined,\n assetKind: 'prefab',\n targetPrefabAssetId: stageAssetId,\n ...(nodeId ? { nodeId, parentNodeId: nodeId } : {}),\n ...extra,\n };\n }\n\n function resolveHierarchyCommandAdapter(scope: LocalEditorBrowserHierarchyScope) {\n return resolveLocalEditorHierarchyCommandAdapter(scope, {\n hasDuplicateHandler: typeof callbacks.onSceneGraphDuplicate === 'function',\n hasMoveHandler: typeof callbacks.onSceneGraphMove === 'function',\n hasGroupSelectionHandler: typeof callbacks.onSceneGraphGroupSelection === 'function',\n });\n }\n\n function resolveActiveTheme(): 'dark' | 'light' | undefined {\n const themed = panel.closest<HTMLElement>('.fps-editor-workbench[data-fps-editor-theme]');\n const theme = themed?.dataset.fpsEditorTheme;\n return theme === 'light' || theme === 'dark' ? theme : undefined;\n }\n\n function beginHierarchyRename(id: string): void {\n const state = getState();\n const model = state ? getModel(state) : null;\n const node = model?.getNode(id) ?? null;\n if (!node || !canLocalEditorHierarchyNodeRename(node)) return;\n hierarchyRename = { id, value: node.label };\n requestRender();\n }\n\n function selectSingleHierarchyItem(id: string): void {\n const scope = resolveScopeForCurrentState();\n if (scope?.kind === 'prefab-stage') callbacks.onSelectPrefabStageItem?.(id);\n else callbacks.onSelectHierarchyItem?.({ id, additive: false, toggle: false });\n }\n\n function submitResolvedDrop(\n resolved: LocalEditorHierarchyDropResolution,\n targetId: string,\n placement: LocalEditorBrowserSceneGraphDropPlacement,\n draggedIds: readonly string[],\n ): void {\n if (callbacks.onSceneGraphMove) {\n callbacks.onSceneGraphMove({\n ids: resolved.draggedIds,\n targetId,\n placement,\n parentId: resolved.parentId,\n beforeId: resolved.beforeId,\n afterId: resolved.afterId,\n preserveWorldTransform: true,\n });\n } else if (placement === 'inside') {\n callbacks.onSceneGraphDrop?.({\n draggedId: resolved.draggedIds[0] ?? draggedIds[0]!,\n targetId,\n placement,\n preserveWorldTransform: true,\n });\n } else {\n requestRender();\n }\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"local-editor-ui-hierarchy-drag-policy.js","sourceRoot":"","sources":["../src/local-editor-ui-hierarchy-drag-policy.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,yCAAyC,EACzC,oCAAoC,GAMrC,MAAM,0CAA0C,CAAC;AAmDlD,MAAM,UAAU,wCAAwC,CACtD,KAAoD;IAEpD,MAAM,SAAS,GAAG,yCAAyC,CAAC;QAC1D,MAAM,EAAE,+BAA+B,CAAC,KAAK,CAAC,MAAM,CAAC;QACrD,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,WAAW,EAAE,cAAc,CAAC,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,cAAc,CAAC;QAChE,iBAAiB,EAAE,UAAU,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE;KAC/C,CAAC,CAAC;IACH,OAAO,SAA8C,CAAC;AACxD,CAAC;AAED,MAAM,UAAU,mCAAmC,CACjD,MAAsC,EACtC,OAAwC;IAExC,OAAO,oCAAoC,CACzC,+BAA+B,CAAC,MAAM,CAAC,EACvC,OAAO,CAC+B,CAAC;AAC3C,CAAC;AAED,SAAS,+BAA+B,CAAC,MAAsC;IAC7E,OAAO;QACL,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC7B,EAAE,EAAE,GAAG,CAAC,EAAE;YACV,KAAK,EAAE,GAAG,CAAC,KAAK;YAChB,QAAQ,EAAE,GAAG,CAAC,QAAQ;YACtB,eAAe,EAAE,GAAG,CAAC,eAAe;YACpC,IAAI,EAAE,GAAG,CAAC,IAAI;SACf,CAAC,CAAC;KACJ,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"local-editor-ui-hierarchy-drag-policy.js","sourceRoot":"","sources":["../src/local-editor-ui-hierarchy-drag-policy.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,yCAAyC,EACzC,oCAAoC,GAMrC,MAAM,0CAA0C,CAAC;AAmDlD,MAAM,UAAU,wCAAwC,CACtD,KAAoD;IAEpD,MAAM,SAAS,GAAG,yCAAyC,CAAC;QAC1D,MAAM,EAAE,+BAA+B,CAAC,KAAK,CAAC,MAAM,CAAC;QACrD,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,WAAW,EAAE,cAAc,CAAC,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,cAAc,CAAC;QAChE,iBAAiB,EAAE,UAAU,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE;KAC/C,CAAC,CAAC;IACH,OAAO,SAA8C,CAAC;AACxD,CAAC;AAED,MAAM,UAAU,mCAAmC,CACjD,MAAsC,EACtC,OAAwC;IAExC,OAAO,oCAAoC,CACzC,+BAA+B,CAAC,MAAM,CAAC,EACvC,OAAO,CAC+B,CAAC;AAC3C,CAAC;AAED,SAAS,+BAA+B,CAAC,MAAsC;IAC7E,OAAO;QACL,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC7B,EAAE,EAAE,GAAG,CAAC,EAAE;YACV,KAAK,EAAE,GAAG,CAAC,KAAK;YAChB,QAAQ,EAAE,GAAG,CAAC,QAAQ;YACtB,eAAe,EAAE,GAAG,CAAC,eAAe;YACpC,IAAI,EAAE,GAAG,CAAC,IAAI;SACf,CAAC,CAAC;KACJ,CAAC;AACJ,CAAC","sourcesContent":["import {\n resolveLocalEditorStructuredDragOperation,\n resolveLocalEditorStructuredDropSlot,\n type LocalEditorStructuredDragLayout,\n type LocalEditorStructuredDragPointer,\n type LocalEditorStructuredDropPreview,\n type LocalEditorStructuredDropSlot,\n type LocalEditorStructuredDropSlotKind,\n} from './local-editor-ui-structured-drag-policy';\nimport type {\n LocalEditorHierarchyDropInput,\n LocalEditorHierarchyDropPlacement,\n LocalEditorHierarchyDropResolution,\n} from './local-editor-ui-hierarchy-tree';\n\nexport interface LocalEditorHierarchyDragRect {\n left: number;\n top: number;\n width: number;\n height: number;\n}\n\nexport interface LocalEditorHierarchyDragLayoutRow {\n id: string;\n depth: number;\n parentId: string | null;\n canHaveChildren: boolean;\n rect: LocalEditorHierarchyDragRect;\n}\n\nexport interface LocalEditorHierarchyDragLayout {\n rows: readonly LocalEditorHierarchyDragLayoutRow[];\n viewport: LocalEditorHierarchyDragRect;\n indentWidth: number;\n}\n\nexport type LocalEditorHierarchyDragPointer = LocalEditorStructuredDragPointer;\nexport type LocalEditorHierarchyDropSlotKind = LocalEditorStructuredDropSlotKind;\nexport type LocalEditorHierarchyDropSlot = LocalEditorStructuredDropSlot & {\n placement: LocalEditorHierarchyDropPlacement;\n};\nexport type LocalEditorHierarchyDropPreview = LocalEditorStructuredDropPreview & {\n placement: LocalEditorHierarchyDropPlacement;\n};\n\nexport interface LocalEditorHierarchyDragOperation {\n status: 'valid' | 'invalid' | 'idle';\n slot: LocalEditorHierarchyDropSlot | null;\n preview: LocalEditorHierarchyDropPreview | null;\n resolution: LocalEditorHierarchyDropResolution | null;\n}\n\nexport interface ResolveLocalEditorHierarchyDragOperationInput {\n layout: LocalEditorHierarchyDragLayout;\n pointer: LocalEditorHierarchyDragPointer;\n draggedIds: readonly string[];\n resolveDrop(input: LocalEditorHierarchyDropInput): LocalEditorHierarchyDropResolution;\n}\n\nexport function resolveLocalEditorHierarchyDragOperation(\n input: ResolveLocalEditorHierarchyDragOperationInput,\n): LocalEditorHierarchyDragOperation {\n const operation = resolveLocalEditorStructuredDragOperation({\n layout: toStructuredHierarchyDragLayout(input.layout),\n pointer: input.pointer,\n draggedIds: input.draggedIds,\n resolveDrop: structuredDrop => input.resolveDrop(structuredDrop),\n isResolutionValid: resolution => resolution.ok,\n });\n return operation as LocalEditorHierarchyDragOperation;\n}\n\nexport function resolveLocalEditorHierarchyDropSlot(\n layout: LocalEditorHierarchyDragLayout,\n pointer: LocalEditorHierarchyDragPointer,\n): LocalEditorHierarchyDropSlot | null {\n return resolveLocalEditorStructuredDropSlot(\n toStructuredHierarchyDragLayout(layout),\n pointer,\n ) as LocalEditorHierarchyDropSlot | null;\n}\n\nfunction toStructuredHierarchyDragLayout(layout: LocalEditorHierarchyDragLayout): LocalEditorStructuredDragLayout {\n return {\n viewport: layout.viewport,\n indentWidth: layout.indentWidth,\n items: layout.rows.map(row => ({\n id: row.id,\n depth: row.depth,\n parentId: row.parentId,\n canAcceptInside: row.canHaveChildren,\n rect: row.rect,\n })),\n };\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"local-editor-ui-hierarchy-scope.js","sourceRoot":"","sources":["../src/local-editor-ui-hierarchy-scope.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"local-editor-ui-hierarchy-scope.js","sourceRoot":"","sources":["../src/local-editor-ui-hierarchy-scope.ts"],"names":[],"mappings":"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","sourcesContent":["import type {\n LocalEditorBrowserHierarchyScope,\n LocalEditorBrowserHierarchyScopeNode,\n LocalEditorBrowserPrefabStageState,\n LocalEditorBrowserPrefabStageStructureItem,\n LocalEditorBrowserUiHierarchyItem,\n LocalEditorBrowserUiState,\n} from './local-editor-ui-types';\n\nexport function createLocalEditorSceneHierarchyScope<TDocument>(\n state: Pick<LocalEditorBrowserUiState<TDocument>, 'hierarchy' | 'selectedIds' | 'activeId'>,\n): LocalEditorBrowserHierarchyScope {\n return {\n scopeId: 'scene',\n kind: 'scene',\n title: 'Hierarchy',\n searchPlaceholder: '搜索 GameObject 名称',\n nodes: state.hierarchy.map(mapSceneHierarchyItemToScopeNode),\n selectedIds: [...state.selectedIds],\n activeId: state.activeId,\n readonly: false,\n commandSurface: 'scene-graph',\n };\n}\n\nfunction mapSceneHierarchyItemToScopeNode(item: LocalEditorBrowserUiHierarchyItem): LocalEditorBrowserHierarchyScopeNode {\n if (item.protected !== true) return { ...item, scopeId: 'scene' };\n return {\n ...item,\n scopeId: 'scene',\n renamable: item.renamable ?? false,\n deletable: item.deletable ?? false,\n draggable: item.draggable ?? false,\n };\n}\n\nexport function createLocalEditorPrefabStageHierarchyScope<TDocument>(\n stage: LocalEditorBrowserPrefabStageState<TDocument>,\n): LocalEditorBrowserHierarchyScope {\n const scopeId = `prefab-stage:${stage.assetId}`;\n const nodes = flattenPrefabStageStructureItems(stage.structureItems, scopeId, null, stage.readonly === true);\n const selectedIds = stage.selectedItemId && nodes.some(node => node.id === stage.selectedItemId)\n ? [stage.selectedItemId]\n : [];\n return {\n scopeId,\n kind: 'prefab-stage',\n title: `Hierarchy / Prefab: ${stage.label}`,\n searchPlaceholder: 'Filter prefab nodes',\n nodes,\n selectedIds,\n activeId: selectedIds[0] ?? null,\n readonly: stage.readonly === true,\n commandSurface: stage.readonly === true ? 'readonly' : 'prefab-composition',\n };\n}\n\nexport function createLocalEditorActiveHierarchyScope<TDocument>(\n state: LocalEditorBrowserUiState<TDocument>,\n): LocalEditorBrowserHierarchyScope {\n return state.prefabStage\n ? createLocalEditorPrefabStageHierarchyScope(state.prefabStage)\n : createLocalEditorSceneHierarchyScope(state);\n}\n\nfunction flattenPrefabStageStructureItems(\n items: readonly LocalEditorBrowserPrefabStageStructureItem[],\n scopeId: string,\n parentId: string | null,\n stageReadonly: boolean,\n): LocalEditorBrowserHierarchyScopeNode[] {\n const nodes: LocalEditorBrowserHierarchyScopeNode[] = [];\n for (const item of items) {\n const includeItem = isPrefabStageHierarchyItem(item);\n const nextParentId = includeItem ? item.id : parentId;\n if (includeItem) {\n nodes.push(mapPrefabStageStructureItemToHierarchyNode(item, scopeId, parentId, stageReadonly));\n }\n nodes.push(...flattenPrefabStageStructureItems(item.children ?? [], scopeId, nextParentId, stageReadonly));\n }\n return nodes;\n}\n\nfunction isPrefabStageHierarchyItem(item: LocalEditorBrowserPrefabStageStructureItem): boolean {\n return item.kind === 'root' || item.itemType === 'prefab-node';\n}\n\nfunction mapPrefabStageStructureItemToHierarchyNode(\n item: LocalEditorBrowserPrefabStageStructureItem,\n scopeId: string,\n parentId: string | null,\n stageReadonly: boolean,\n): LocalEditorBrowserHierarchyScopeNode {\n const readonly = stageReadonly || item.readonly === true;\n const isRoot = item.kind === 'root';\n const canEdit = !readonly && !isRoot;\n return {\n id: item.id,\n label: item.label,\n parentId,\n role: mapPrefabStageStructureKindToHierarchyRole(item.kind),\n icon: item.icon,\n scopeId,\n sourceKind: item.kind,\n commandTargetId: item.nodeId,\n selectable: true,\n protected: false,\n locked: false,\n canHaveChildren: !readonly,\n renamable: canEdit,\n deletable: canEdit,\n draggable: canEdit,\n };\n}\n\nfunction mapPrefabStageStructureKindToHierarchyRole(\n kind: LocalEditorBrowserPrefabStageStructureItem['kind'],\n): LocalEditorBrowserUiHierarchyItem['role'] {\n if (kind === 'root') return 'root';\n if (kind === 'group') return 'group';\n return 'object';\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"local-editor-ui-hierarchy-tree.js","sourceRoot":"","sources":["../src/local-editor-ui-hierarchy-tree.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"local-editor-ui-hierarchy-tree.js","sourceRoot":"","sources":["../src/local-editor-ui-hierarchy-tree.ts"],"names":[],"mappings":"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","sourcesContent":["import type { LocalEditorBrowserUiHierarchyItem } from './local-editor-ui-types';\n\nexport type LocalEditorHierarchyNodeRole = 'root' | 'group' | 'object' | 'marker';\nexport type LocalEditorHierarchyDropPlacement = 'inside' | 'before' | 'after' | 'root';\n\nexport interface LocalEditorHierarchyTreeOptions {\n expandedIds?: ReadonlySet<string> | readonly string[];\n collapsedIds?: ReadonlySet<string> | readonly string[];\n defaultExpanded?: boolean;\n}\n\nexport interface LocalEditorHierarchyTreeNode {\n id: string;\n label: string;\n item: LocalEditorBrowserUiHierarchyItem;\n parentId: string | null;\n childIds: string[];\n depth: number;\n siblingIndex: number;\n inputIndex: number;\n role: LocalEditorHierarchyNodeRole;\n protected: boolean;\n selected: boolean;\n active: boolean;\n expanded: boolean;\n visible: boolean;\n}\n\nexport interface LocalEditorHierarchyDropResolution {\n ok: boolean;\n reason?: string;\n placement: LocalEditorHierarchyDropPlacement;\n draggedIds: string[];\n targetId: string | null;\n parentId: string | null;\n beforeId: string | null;\n afterId: string | null;\n}\n\nexport interface LocalEditorHierarchyDropInput {\n draggedIds: readonly string[];\n targetId?: string | null;\n placement: LocalEditorHierarchyDropPlacement;\n}\n\nexport interface LocalEditorHierarchyTreeModel {\n readonly nodes: LocalEditorHierarchyTreeNode[];\n readonly visibleRows: LocalEditorHierarchyTreeNode[];\n readonly rootIds: string[];\n readonly byId: ReadonlyMap<string, LocalEditorHierarchyTreeNode>;\n readonly childrenByParentId: ReadonlyMap<string | null, string[]>;\n getNode(id: string | null | undefined): LocalEditorHierarchyTreeNode | null;\n getChildren(parentId: string | null | undefined): LocalEditorHierarchyTreeNode[];\n getAncestors(id: string | null | undefined): LocalEditorHierarchyTreeNode[];\n isDescendant(candidateId: string, ancestorId: string): boolean;\n getSelectableChildren(id: string | null | undefined): string[];\n getSelectableDescendants(id: string | null | undefined): string[];\n getTopLevelSelection(ids: readonly string[]): string[];\n getVisibleRangeSelection(anchorId: string | null | undefined, targetId: string | null | undefined): string[];\n resolveDrop(input: LocalEditorHierarchyDropInput): LocalEditorHierarchyDropResolution;\n}\n\nexport function createLocalEditorHierarchyTreeModel(\n items: readonly LocalEditorBrowserUiHierarchyItem[],\n selectedIds: readonly string[] = [],\n activeId: string | null = null,\n options: LocalEditorHierarchyTreeOptions = {},\n): LocalEditorHierarchyTreeModel {\n const selected = new Set(selectedIds);\n const byRawId = new Map(items.map((item, inputIndex) => [item.id, { item, inputIndex }]));\n const childrenByParentId = new Map<string | null, string[]>();\n const provisionalNodes = new Map<string, Omit<LocalEditorHierarchyTreeNode, 'childIds' | 'depth' | 'siblingIndex' | 'expanded' | 'visible'>>();\n\n for (const { item, inputIndex } of byRawId.values()) {\n const parentId = item.parentId && byRawId.has(item.parentId) ? item.parentId : null;\n const role = resolveHierarchyNodeRole(item);\n provisionalNodes.set(item.id, {\n id: item.id,\n label: item.label,\n item,\n parentId,\n inputIndex,\n role,\n protected: item.protected === true,\n selected: selected.has(item.id),\n active: activeId === item.id,\n });\n const children = childrenByParentId.get(parentId) ?? [];\n children.push(item.id);\n childrenByParentId.set(parentId, children);\n }\n\n for (const childIds of childrenByParentId.values()) {\n childIds.sort((a, b) => {\n const left = provisionalNodes.get(a);\n const right = provisionalNodes.get(b);\n return (left?.inputIndex ?? 0) - (right?.inputIndex ?? 0);\n });\n }\n const siblingIndexById = new Map<string, number>();\n for (const childIds of childrenByParentId.values()) {\n childIds.forEach((id, index) => {\n siblingIndexById.set(id, index);\n });\n }\n\n const expanded = normalizeIdSet(options.expandedIds);\n const collapsed = normalizeIdSet(options.collapsedIds);\n const defaultExpanded = options.defaultExpanded ?? true;\n const nodesById = new Map<string, LocalEditorHierarchyTreeNode>();\n const visibleRows: LocalEditorHierarchyTreeNode[] = [];\n const visited = new Set<string>();\n\n const appendNode = (id: string, depth: number, visible: boolean): void => {\n if (visited.has(id)) return;\n const provisional = provisionalNodes.get(id);\n if (!provisional) return;\n visited.add(id);\n const childIds = childrenByParentId.get(id) ?? [];\n const parentChildren = childrenByParentId.get(provisional.parentId) ?? [];\n const nodeExpanded = childIds.length > 0 && (expanded.has(id) || (defaultExpanded && !collapsed.has(id)));\n const node: LocalEditorHierarchyTreeNode = {\n ...provisional,\n childIds: [...childIds],\n depth,\n siblingIndex: siblingIndexById.get(id) ?? Math.max(0, parentChildren.indexOf(id)),\n expanded: nodeExpanded,\n visible,\n };\n nodesById.set(id, node);\n if (visible) visibleRows.push(node);\n for (const childId of childIds) appendNode(childId, depth + 1, visible && nodeExpanded);\n };\n\n const rootIds = [...(childrenByParentId.get(null) ?? [])];\n for (const rootId of rootIds) appendNode(rootId, 0, true);\n for (const id of provisionalNodes.keys()) {\n if (visited.has(id)) continue;\n rootIds.push(id);\n appendNode(id, 0, true);\n }\n\n const nodes = [...nodesById.values()].sort((a, b) => a.inputIndex - b.inputIndex);\n return {\n nodes,\n visibleRows,\n rootIds,\n byId: nodesById,\n childrenByParentId,\n getNode(id) {\n return id ? nodesById.get(id) ?? null : null;\n },\n getChildren(parentId) {\n return (childrenByParentId.get(parentId ?? null) ?? [])\n .map(id => nodesById.get(id) ?? null)\n .filter((node): node is LocalEditorHierarchyTreeNode => !!node);\n },\n getAncestors(id) {\n const ancestors: LocalEditorHierarchyTreeNode[] = [];\n const seen = new Set<string>();\n let cursor = id ? nodesById.get(id) ?? null : null;\n while (cursor?.parentId && !seen.has(cursor.parentId)) {\n seen.add(cursor.parentId);\n cursor = nodesById.get(cursor.parentId) ?? null;\n if (cursor) ancestors.push(cursor);\n }\n return ancestors;\n },\n isDescendant(candidateId, ancestorId) {\n if (candidateId === ancestorId) return false;\n return this.getAncestors(candidateId).some(ancestor => ancestor.id === ancestorId);\n },\n getSelectableChildren(id) {\n return this.getChildren(id)\n .filter(isLocalEditorHierarchyNodeSelectable)\n .map(node => node.id);\n },\n getSelectableDescendants(id) {\n return collectSelectableDescendantIds(id, childrenByParentId, nodesById);\n },\n getTopLevelSelection(ids) {\n const selectedIds = new Set(ids.filter(id => nodesById.has(id)));\n const seen = new Set<string>();\n return ids.filter((id, index) => {\n if (!selectedIds.has(id) || seen.has(id)) return false;\n seen.add(id);\n return !this.getAncestors(id).some(ancestor => selectedIds.has(ancestor.id));\n });\n },\n getVisibleRangeSelection(anchorId, targetId) {\n const anchorIndex = findVisibleRowIndex(visibleRows, anchorId);\n const targetIndex = findVisibleRowIndex(visibleRows, targetId);\n if (anchorIndex < 0 || targetIndex < 0) return [];\n const start = Math.min(anchorIndex, targetIndex);\n const end = Math.max(anchorIndex, targetIndex);\n return visibleRows\n .slice(start, end + 1)\n .filter(isLocalEditorHierarchyNodeSelectable)\n .map(node => node.id);\n },\n resolveDrop(input) {\n return resolveHierarchyDrop(nodesById, childrenByParentId, input, this.getTopLevelSelection.bind(this), this.isDescendant.bind(this));\n },\n };\n}\n\nexport function isLocalEditorHierarchyNodeSelectable(node: LocalEditorHierarchyTreeNode | null): boolean {\n return !!node\n && node.item.selectable !== false\n && node.item.locked !== true;\n}\n\nexport function isLocalEditorHierarchyNodeMovable(node: LocalEditorHierarchyTreeNode | null): boolean {\n return !!node\n && node.item.locked !== true\n && node.item.draggable !== false;\n}\n\nexport function canLocalEditorHierarchyNodeHaveChildren(node: LocalEditorHierarchyTreeNode | null): boolean {\n if (!node) return false;\n if (node.item.locked === true) return false;\n return node.item.canHaveChildren === true;\n}\n\nexport function canLocalEditorHierarchyNodeRename(node: LocalEditorHierarchyTreeNode | null): boolean {\n return !!node\n && node.item.locked !== true\n && node.item.renamable !== false;\n}\n\nexport function canLocalEditorHierarchyNodeDelete(node: LocalEditorHierarchyTreeNode | null): boolean {\n return !!node\n && node.item.locked !== true\n && node.item.deletable !== false;\n}\n\nexport function canLocalEditorHierarchyNodeToggleEnabled(node: LocalEditorHierarchyTreeNode | null): boolean {\n return !!node\n && typeof node.item.enabled === 'boolean'\n && node.item.canToggleEnabled !== false\n && node.item.locked !== true\n && node.protected !== true;\n}\n\nfunction resolveHierarchyNodeRole(item: LocalEditorBrowserUiHierarchyItem): LocalEditorHierarchyNodeRole {\n if (item.role) return item.role;\n if (item.parentId == null && item.selectable === false) return 'root';\n return 'object';\n}\n\nfunction normalizeIdSet(value: ReadonlySet<string> | readonly string[] | undefined): ReadonlySet<string> {\n if (!value) return new Set<string>();\n return value instanceof Set ? value : new Set(value);\n}\n\nfunction findVisibleRowIndex(rows: readonly LocalEditorHierarchyTreeNode[], id: string | null | undefined): number {\n if (!id) return -1;\n return rows.findIndex(row => row.id === id);\n}\n\nfunction collectSelectableDescendantIds(\n id: string | null | undefined,\n childrenByParentId: ReadonlyMap<string | null, string[]>,\n nodesById: ReadonlyMap<string, LocalEditorHierarchyTreeNode>,\n): string[] {\n if (!id || !nodesById.has(id)) return [];\n const selectedIds: string[] = [];\n const visit = (parentId: string): void => {\n for (const childId of childrenByParentId.get(parentId) ?? []) {\n const child = nodesById.get(childId) ?? null;\n if (!child) continue;\n if (isLocalEditorHierarchyNodeSelectable(child)) selectedIds.push(child.id);\n visit(child.id);\n }\n };\n visit(id);\n return selectedIds;\n}\n\nfunction resolveHierarchyDrop(\n nodesById: ReadonlyMap<string, LocalEditorHierarchyTreeNode>,\n childrenByParentId: ReadonlyMap<string | null, string[]>,\n input: LocalEditorHierarchyDropInput,\n getTopLevelSelection: (ids: readonly string[]) => string[],\n isDescendant: (candidateId: string, ancestorId: string) => boolean,\n): LocalEditorHierarchyDropResolution {\n const draggedIds = getTopLevelSelection(input.draggedIds);\n if (draggedIds.length === 0) return invalidDrop(input, 'empty-drag');\n for (const id of draggedIds) {\n if (!isLocalEditorHierarchyNodeMovable(nodesById.get(id) ?? null)) return invalidDrop(input, 'dragged-node-not-movable');\n }\n if (input.placement === 'root') {\n return {\n ok: true,\n placement: 'root',\n draggedIds,\n targetId: null,\n parentId: null,\n beforeId: null,\n afterId: null,\n };\n }\n\n const targetId = input.targetId ?? null;\n const target = targetId ? nodesById.get(targetId) ?? null : null;\n if (!target) return invalidDrop(input, 'missing-target');\n if (draggedIds.includes(target.id)) return invalidDrop(input, 'cannot-drop-on-self');\n if (draggedIds.some(id => isDescendant(target.id, id))) return invalidDrop(input, 'cannot-drop-on-descendant');\n\n if (input.placement === 'inside') {\n if (!canLocalEditorHierarchyNodeHaveChildren(target)) return invalidDrop(input, 'target-cannot-have-children');\n const draggedSet = new Set(draggedIds);\n const children = (childrenByParentId.get(target.id) ?? []).filter(id => !draggedSet.has(id));\n return {\n ok: true,\n placement: 'inside',\n draggedIds,\n targetId: target.id,\n parentId: target.id,\n beforeId: null,\n afterId: children[children.length - 1] ?? null,\n };\n }\n\n if (target.role === 'root') return invalidDrop(input, 'cannot-reorder-root');\n if (target.item.locked === true) return invalidDrop(input, 'target-node-locked');\n const parent = target.parentId ? nodesById.get(target.parentId) ?? null : null;\n if (parent?.item.locked === true) return invalidDrop(input, 'target-parent-locked');\n const draggedSet = new Set(draggedIds);\n const siblings = (childrenByParentId.get(target.parentId) ?? []).filter(id => !draggedSet.has(id));\n const targetIndex = siblings.indexOf(target.id);\n return {\n ok: true,\n placement: input.placement,\n draggedIds,\n targetId: target.id,\n parentId: target.parentId,\n beforeId: input.placement === 'before' ? target.id : siblings[targetIndex + 1] ?? null,\n afterId: input.placement === 'after' ? target.id : siblings[targetIndex - 1] ?? null,\n };\n}\n\nfunction invalidDrop(\n input: LocalEditorHierarchyDropInput,\n reason: string,\n): LocalEditorHierarchyDropResolution {\n return {\n ok: false,\n reason,\n placement: input.placement,\n draggedIds: [],\n targetId: input.targetId ?? null,\n parentId: null,\n beforeId: null,\n afterId: null,\n };\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"local-editor-ui-hierarchy-view.js","sourceRoot":"","sources":["../src/local-editor-ui-hierarchy-view.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"local-editor-ui-hierarchy-view.js","sourceRoot":"","sources":["../src/local-editor-ui-hierarchy-view.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n createBadge,\n createEditorInputStyle,\n createPanelHeader,\n createToolbarButton,\n createTreeViewItem,\n} from './local-editor-ui-primitives';\nimport {\n configureLocalEditorDockPanelContent,\n createLocalEditorDockPanelViewport,\n} from './local-editor-ui-dock-panel';\nimport { createLocalEditorIcon, isLocalEditorIconName, type LocalEditorIconName } from './local-editor-ui-icons';\nimport { clearElement } from './local-editor-ui-shared';\nimport type { LocalEditorBrowserSceneGraphDropIntent } from './local-editor-ui-types';\nimport {\n canLocalEditorHierarchyNodeHaveChildren,\n canLocalEditorHierarchyNodeToggleEnabled,\n} from './local-editor-ui-hierarchy-tree';\nimport type { LocalEditorHierarchyDropPreview } from './local-editor-ui-hierarchy-drag-policy';\nimport { syncLocalEditorStructuredDragPreview } from './local-editor-ui-structured-drag-preview';\nimport type {\n LocalEditorHierarchyTreeModel,\n LocalEditorHierarchyTreeNode,\n} from './local-editor-ui-hierarchy-tree';\n\nconst HIERARCHY_ROLE_ICONS: Record<LocalEditorHierarchyTreeNode['role'], LocalEditorIconName> = {\n root: 'root',\n group: 'group',\n object: 'object',\n marker: 'view-overlay',\n};\n\nexport interface LocalEditorHierarchyViewInput {\n title?: string;\n searchPlaceholder?: string;\n showCreateGroup?: boolean;\n showCreateMarker?: boolean;\n model: LocalEditorHierarchyTreeModel;\n rename: { id: string; value: string } | null;\n drop: LocalEditorBrowserSceneGraphDropIntent | null;\n dropPreview: LocalEditorHierarchyDropPreview | null;\n rootDrop: boolean;\n searchQuery: string;\n}\n\nexport function renderLocalEditorHierarchyPanel(\n doc: Document,\n panel: HTMLElement,\n input: LocalEditorHierarchyViewInput,\n): void {\n clearElement(panel);\n configureLocalEditorDockPanelContent(panel);\n const actions: HTMLElement[] = [];\n if (input.showCreateGroup !== false) {\n const createGroupButton = createToolbarButton(doc, '+ Empty', 'object');\n createGroupButton.dataset.editorHierarchyCreateGroup = 'true';\n createGroupButton.style.padding = '3px 7px';\n createGroupButton.style.fontSize = '11px';\n actions.push(createGroupButton);\n }\n if (input.showCreateMarker === true) {\n const createMarkerButton = createToolbarButton(doc, '+ Marker', 'view-overlay');\n createMarkerButton.dataset.editorHierarchyCreateMarker = 'true';\n createMarkerButton.style.padding = '3px 7px';\n createMarkerButton.style.fontSize = '11px';\n actions.push(createMarkerButton);\n }\n panel.appendChild(createPanelHeader(doc, input.title ?? 'Hierarchy', actions, 'hierarchy'));\n\n panel.appendChild(createHierarchySearchInput(doc, input.searchQuery, input.searchPlaceholder));\n\n const list = createLocalEditorDockPanelViewport(doc, 'editorHierarchyTreeViewport', { gap: '1px' });\n list.dataset.editorHierarchyRootDrop = input.rootDrop ? 'active' : 'ready';\n const rows = resolveLocalEditorHierarchySearchRows(input.model, input.searchQuery);\n if (rows.length === 0) {\n const empty = doc.createElement('div');\n empty.textContent = input.searchQuery.trim() ? 'No matching GameObjects.' : 'No hierarchy nodes.';\n empty.style.cssText = 'padding:8px;color:var(--fps-editor-muted);font-size:11px';\n list.appendChild(empty);\n } else {\n for (const node of rows) {\n const row = renderHierarchyRow(doc, node, input.rename, null, null);\n list.appendChild(row);\n }\n }\n panel.appendChild(list);\n syncLocalEditorHierarchyDropPreview(doc, panel, {\n dropPreview: input.dropPreview,\n rootDrop: input.rootDrop,\n });\n}\n\nexport function syncLocalEditorHierarchyDropPreview(\n doc: Document,\n panel: HTMLElement,\n input: Pick<LocalEditorHierarchyViewInput, 'dropPreview' | 'rootDrop'>,\n): void {\n const list = panel.querySelector<HTMLElement>('[data-editor-hierarchy-tree-viewport]');\n if (!list) return;\n syncLocalEditorStructuredDragPreview(doc, {\n root: list,\n preview: input.dropPreview,\n rootActive: input.rootDrop,\n reset: clearHierarchyDropPreviewDom,\n applyRootState: applyHierarchyRootDropPreviewState,\n findTarget: preview => findHierarchyPreviewRow(panel, preview.targetId),\n applyTargetPreview: applyHierarchyTargetDropPreview,\n });\n}\n\nfunction applyHierarchyRootDropPreviewState(\n list: HTMLElement,\n state: { rootActive: boolean; rootPreview: LocalEditorHierarchyDropPreview | null },\n): void {\n list.dataset.editorHierarchyRootDrop = state.rootActive ? 'active' : 'ready';\n const preview = state.rootPreview;\n if (!preview) return;\n list.dataset.editorHierarchyDropPreview = 'root';\n list.dataset.editorHierarchyDropPreviewValid = preview.valid ? 'true' : 'false';\n list.style.boxShadow = `inset 0 -3px 0 ${preview.valid ? 'var(--fps-editor-warn-strong)' : 'var(--fps-editor-muted)'}`;\n list.style.background = preview.valid ? 'var(--fps-editor-warn-soft)' : 'var(--fps-editor-field)';\n}\n\nfunction applyHierarchyTargetDropPreview(\n doc: Document,\n row: HTMLElement,\n preview: LocalEditorHierarchyDropPreview,\n): void {\n row.dataset.editorHierarchyDropPreview = preview.kind === 'inside' ? 'inside' : preview.placement;\n row.dataset.editorHierarchyDropPreviewValid = preview.valid ? 'true' : 'false';\n if (preview.kind === 'inside') {\n row.appendChild(renderHierarchyInsidePreview(doc, preview));\n return;\n }\n row.appendChild(renderHierarchyInsertionPreview(doc, preview));\n}\n\nexport function resolveLocalEditorHierarchySearchRows(\n model: LocalEditorHierarchyTreeModel,\n query: string,\n): LocalEditorHierarchyTreeNode[] {\n const needle = query.trim().toLowerCase();\n if (!needle) return model.visibleRows;\n const includedIds = new Set<string>();\n for (const node of collectHierarchyRows(model)) {\n if (!node.label.toLowerCase().includes(needle)) continue;\n includedIds.add(node.id);\n for (const ancestor of model.getAncestors(node.id)) includedIds.add(ancestor.id);\n }\n return collectHierarchyRows(model).filter(node => includedIds.has(node.id));\n}\n\nfunction createHierarchySearchInput(\n doc: Document,\n value: string,\n placeholder = '搜索 GameObject 名称',\n): HTMLInputElement {\n const input = doc.createElement('input');\n input.type = 'search';\n input.dataset.editorHierarchySearch = 'true';\n input.placeholder = placeholder;\n input.value = value;\n input.style.cssText = [\n createEditorInputStyle(),\n 'width:100%',\n 'height:28px',\n 'margin:0 0 8px',\n 'outline:none',\n ].join(';');\n return input;\n}\n\nfunction collectHierarchyRows(model: LocalEditorHierarchyTreeModel): LocalEditorHierarchyTreeNode[] {\n const rows: LocalEditorHierarchyTreeNode[] = [];\n const visit = (id: string): void => {\n const node = model.getNode(id);\n if (!node) return;\n rows.push(node);\n for (const child of model.getChildren(id)) visit(child.id);\n };\n for (const rootId of model.rootIds) visit(rootId);\n return rows;\n}\n\nfunction renderHierarchyRow(\n doc: Document,\n node: LocalEditorHierarchyTreeNode,\n rename: { id: string; value: string } | null,\n drop: LocalEditorBrowserSceneGraphDropIntent | null,\n dropPreview: LocalEditorHierarchyDropPreview | null,\n): HTMLButtonElement {\n const isRenaming = rename?.id === node.id;\n const dropPlacement = dropPreview?.kind === 'inside' && dropPreview.targetId === node.id\n ? 'inside'\n : drop?.targetId === node.id && drop.placement === 'inside'\n ? 'inside'\n : null;\n const dropValid = dropPreview?.kind === 'inside' && dropPreview.targetId === node.id\n ? dropPreview.valid\n : undefined;\n const canHaveChildren = canLocalEditorHierarchyNodeHaveChildren(node);\n const button = createTreeViewItem(doc, {\n id: node.id,\n label: node.label,\n depth: node.depth,\n role: node.role,\n selected: node.selected,\n active: node.active,\n locked: node.item.locked,\n protected: node.protected,\n selectable: node.item.selectable,\n enabled: node.item.enabled,\n draggable: node.item.draggable,\n dropPlacement,\n dropValid,\n });\n if (dropPreview?.kind === 'inside' && dropPreview.targetId === node.id) {\n button.dataset.editorHierarchyDropPreview = 'inside';\n button.dataset.editorHierarchyDropPreviewValid = dropPreview.valid ? 'true' : 'false';\n }\n button.dataset.editorHierarchyCanHaveChildren = canHaveChildren ? 'true' : 'false';\n button.title = node.protected ? `${node.label} (protected)` : node.label;\n appendDisclosure(doc, button, node);\n appendEnabledToggle(doc, button, node);\n appendRoleBadge(doc, button, node);\n if (isRenaming) appendRenameInput(doc, button, node, rename.value);\n else appendLabel(doc, button, node);\n if (node.protected) appendProtectedBadge(doc, button);\n return button;\n}\n\nfunction appendEnabledToggle(\n doc: Document,\n button: HTMLButtonElement,\n node: LocalEditorHierarchyTreeNode,\n): void {\n if (typeof node.item.enabled !== 'boolean') {\n const spacer = doc.createElement('span');\n spacer.style.cssText = 'width:18px;height:18px;flex:0 0 18px';\n button.appendChild(spacer);\n return;\n }\n const enabled = node.item.enabled !== false;\n const toggle = doc.createElement('span');\n toggle.dataset.editorHierarchyEnabledToggle = node.id;\n toggle.dataset.editorHierarchyEnabled = enabled ? 'true' : 'false';\n const disabled = !canLocalEditorHierarchyNodeToggleEnabled(node);\n toggle.dataset.editorHierarchyEnabledToggleDisabled = disabled ? 'true' : 'false';\n toggle.title = disabled\n ? node.item.enableToggleDisabledReason ?? 'This hierarchy item cannot be hidden.'\n : `${enabled ? 'Hide' : 'Show'} ${node.label}`;\n toggle.style.cssText = [\n 'width:18px',\n 'height:18px',\n 'flex:0 0 18px',\n 'display:inline-flex',\n 'align-items:center',\n 'justify-content:center',\n 'padding:0',\n 'border:1px solid transparent',\n 'border-radius:3px',\n 'background:transparent',\n `color:${enabled ? 'var(--fps-editor-muted-strong)' : 'var(--fps-editor-muted)'}`,\n `opacity:${disabled ? '0.45' : '1'}`,\n `cursor:${disabled ? 'not-allowed' : 'pointer'}`,\n ].join(';');\n toggle.appendChild(createLocalEditorIcon(doc, enabled ? 'eye' : 'eye-off', { size: 13, strokeWidth: 2.2 }));\n button.appendChild(toggle);\n}\n\nfunction renderHierarchyInsertionPreview(\n doc: Document,\n preview: LocalEditorHierarchyDropPreview,\n): HTMLDivElement {\n const line = doc.createElement('div');\n line.dataset.editorHierarchyInsertionPreview = 'true';\n line.dataset.editorHierarchyDropPreview = preview.placement;\n line.dataset.editorHierarchyDropPreviewValid = preview.valid ? 'true' : 'false';\n line.style.cssText = [\n 'position:absolute',\n 'left:0',\n 'right:0',\n preview.placement === 'before' ? 'top:-5px' : 'bottom:-5px',\n 'height:10px',\n 'pointer-events:none',\n 'z-index:4',\n ].join(';');\n const anchor = doc.createElement('span');\n anchor.style.cssText = [\n 'position:absolute',\n `left:${Math.max(2, 2 + preview.depth * 16)}px`,\n 'top:2px',\n 'width:6px',\n 'height:6px',\n 'border-radius:50%',\n `background:${preview.valid ? 'var(--fps-editor-warn-strong)' : 'var(--fps-editor-muted)'}`,\n `box-shadow:${preview.valid ? '0 0 0 2px rgba(0,0,0,0.35), 0 0 10px rgba(255,193,7,0.55)' : '0 0 0 2px rgba(0,0,0,0.25)'}`,\n ].join(';');\n const rule = doc.createElement('span');\n rule.style.cssText = [\n 'position:absolute',\n `left:${8 + preview.depth * 16}px`,\n 'right:4px',\n 'top:4px',\n 'height:3px',\n `background:${preview.valid ? 'var(--fps-editor-warn-strong)' : 'var(--fps-editor-muted)'}`,\n `opacity:${preview.valid ? '1' : '0.6'}`,\n `box-shadow:${preview.valid ? '0 0 0 1px rgba(0,0,0,0.25), 0 0 12px rgba(255,193,7,0.42)' : '0 0 0 1px rgba(0,0,0,0.18)'}`,\n ].join(';');\n line.appendChild(anchor);\n line.appendChild(rule);\n return line;\n}\n\nfunction renderHierarchyInsidePreview(\n doc: Document,\n preview: LocalEditorHierarchyDropPreview,\n): HTMLDivElement {\n const overlay = doc.createElement('div');\n overlay.dataset.editorHierarchyInsidePreview = 'true';\n overlay.dataset.editorHierarchyDropPreview = 'inside';\n overlay.dataset.editorHierarchyDropPreviewValid = preview.valid ? 'true' : 'false';\n overlay.style.cssText = [\n 'position:absolute',\n 'inset:0',\n 'pointer-events:none',\n 'z-index:1',\n `border:1px solid ${preview.valid ? 'var(--fps-editor-drop-target)' : 'var(--fps-editor-muted)'}`,\n `box-shadow:${preview.valid ? 'inset 4px 0 0 var(--fps-editor-drop-target), 0 0 0 1px rgba(255,255,255,0.08), 0 0 14px rgba(255,193,7,0.24)' : 'inset 4px 0 0 var(--fps-editor-muted)'}`,\n `background:${preview.valid ? 'rgba(255,193,7,0.09)' : 'rgba(255,255,255,0.04)'}`,\n ].join(';');\n return overlay;\n}\n\nfunction clearHierarchyDropPreviewDom(list: HTMLElement): void {\n list.style.boxShadow = '';\n list.style.background = '';\n delete list.dataset.editorHierarchyDropPreview;\n delete list.dataset.editorHierarchyDropPreviewValid;\n for (const preview of list.querySelectorAll<HTMLElement>('[data-editor-hierarchy-insertion-preview],[data-editor-hierarchy-inside-preview]')) {\n preview.remove();\n }\n for (const row of list.querySelectorAll<HTMLElement>('[data-editor-hierarchy-drop-preview]')) {\n delete row.dataset.editorHierarchyDropPreview;\n delete row.dataset.editorHierarchyDropPreviewValid;\n }\n}\n\nfunction findHierarchyPreviewRow(panel: HTMLElement, targetId: string | null): HTMLElement | null {\n if (!targetId) return null;\n for (const row of panel.querySelectorAll<HTMLElement>('[data-editor-hierarchy-id]')) {\n if (row.dataset.editorHierarchyId === targetId) return row;\n }\n return null;\n}\n\nfunction appendDisclosure(doc: Document, parent: HTMLElement, node: LocalEditorHierarchyTreeNode): void {\n const disclosure = doc.createElement('span');\n if (node.childIds.length > 0) disclosure.dataset.editorHierarchyToggle = node.id;\n disclosure.style.cssText = [\n 'width:12px',\n 'flex:0 0 12px',\n 'display:inline-flex',\n 'align-items:center',\n 'justify-content:center',\n 'color:var(--fps-editor-muted)',\n 'font-size:10px',\n ].join(';');\n if (node.childIds.length > 0) {\n disclosure.appendChild(createLocalEditorIcon(doc, node.expanded ? 'chevron-down' : 'chevron-right', {\n size: 12,\n strokeWidth: 2.4,\n }));\n }\n parent.appendChild(disclosure);\n}\n\nfunction appendRoleBadge(doc: Document, parent: HTMLElement, node: LocalEditorHierarchyTreeNode): void {\n const badge = doc.createElement('span');\n const icon = isLocalEditorIconName(node.item.icon) ? node.item.icon : HIERARCHY_ROLE_ICONS[node.role];\n const isMaterialSlot = icon === 'material-slot';\n const isPrefab = icon === 'prefab';\n badge.title = isMaterialSlot ? 'material slot' : isPrefab ? 'prefab' : node.role;\n badge.style.cssText = [\n 'width:15px',\n 'height:15px',\n 'flex:0 0 15px',\n 'display:inline-flex',\n 'align-items:center',\n 'justify-content:center',\n 'border:1px solid var(--fps-editor-border)',\n 'border-radius:2px',\n `background:${isMaterialSlot ? 'var(--fps-editor-warn-soft)' : node.role === 'root' ? 'var(--fps-editor-role-root-bg)' : node.role === 'group' ? 'var(--fps-editor-role-group-bg)' : 'var(--fps-editor-role-object-bg)'}`,\n `border-color:${isMaterialSlot ? 'var(--fps-editor-warn-border)' : 'var(--fps-editor-border)'}`,\n `color:${isMaterialSlot ? 'var(--fps-editor-warn-strong)' : 'var(--fps-editor-muted-strong)'}`,\n 'font-size:9px',\n 'font-weight:900',\n ].join(';');\n badge.appendChild(createLocalEditorIcon(doc, icon, { size: 11, strokeWidth: 2.3 }));\n parent.appendChild(badge);\n}\n\nfunction appendLabel(doc: Document, parent: HTMLElement, node: LocalEditorHierarchyTreeNode): void {\n const label = doc.createElement('span');\n label.textContent = node.item.locked && !node.protected ? `${node.label} [locked]` : node.label;\n label.style.cssText = 'min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap';\n parent.appendChild(label);\n}\n\nfunction appendProtectedBadge(doc: Document, parent: HTMLElement): void {\n const badge = createBadge(doc, 'protected', { compact: true, tone: 'warning', icon: 'lock' });\n badge.style.flex = '0 0 auto';\n parent.appendChild(badge);\n}\n\nfunction appendRenameInput(\n doc: Document,\n parent: HTMLElement,\n node: LocalEditorHierarchyTreeNode,\n value: string,\n): void {\n const input = doc.createElement('input');\n input.dataset.editorHierarchyRenameInput = node.id;\n input.value = value;\n input.style.cssText = [\n 'min-width:0',\n 'flex:1',\n 'height:22px',\n 'box-sizing:border-box',\n 'border:1px solid var(--fps-editor-accent-strong)',\n 'border-radius:2px',\n 'background:var(--fps-editor-field)',\n 'color:var(--fps-editor-text-strong)',\n 'font-size:12px',\n 'font-weight:700',\n 'padding:2px 5px',\n 'outline:none',\n ].join(';');\n parent.appendChild(input);\n setTimeout(() => {\n input.focus();\n input.select();\n }, 0);\n}\n"]}