@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-types.js","sourceRoot":"","sources":["../src/local-editor-ui-types.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"local-editor-ui-types.js","sourceRoot":"","sources":["../src/local-editor-ui-types.ts"],"names":[],"mappings":"","sourcesContent":["import type {\n EditorPlacementMode,\n EditorTransformAction,\n EditorTransformConstraint,\n EditorTransformHandleDescriptor,\n EditorTransformOperationSettings,\n EditorTransformSpace,\n EditorTransformTool,\n EditorTransformToolDescriptor,\n EditorViewportGroundMeasurement,\n EditorViewportOverlaySettings,\n EditorViewportProjectionMode,\n EditorViewportSpatialOverlayState,\n EditorViewportToolState,\n EditorViewportUtilityTool,\n EditorViewportViewPreset,\n SceneGraphPrimitiveShape,\n SelectionCommand,\n} from '@fps-games/editor-core';\nimport type { LocalEditorThemeName } from './local-editor-ui-theme';\nimport type { LocalEditorModalDialogInput } from './local-editor-ui-modal-dialog';\n\nexport type LocalEditorBrowserSerializedValueType =\n | 'string'\n | 'number'\n | 'boolean'\n | 'enum'\n | 'asset'\n | 'object'\n | 'unknown';\n\nexport interface LocalEditorBrowserSerializedProperty<TDocument = unknown> {\n path: string;\n label: string;\n valueType: LocalEditorBrowserSerializedValueType;\n value: unknown;\n mixed?: boolean;\n readOnly?: boolean;\n document?: TDocument;\n}\n\nexport interface LocalEditorBrowserSerializedObject<TDocument = unknown> {\n targetId: string;\n label?: string;\n properties: LocalEditorBrowserSerializedProperty<TDocument>[];\n document?: TDocument;\n}\n\nexport interface LocalEditorBrowserSerializedMultiObject<TDocument = unknown> {\n targetIds: string[];\n activeId: string | null;\n label?: string;\n properties: LocalEditorBrowserSerializedProperty<TDocument>[];\n document?: TDocument;\n}\n\nexport type LocalEditorBrowserInspectorPersistenceMode = 'document' | 'runtime' | 'readonly';\n\nexport type LocalEditorBrowserInspectorControlKind =\n | 'readonly'\n | 'string'\n | 'number'\n | 'boolean'\n | 'enum'\n | 'vec2'\n | 'vec3'\n | 'color'\n | 'asset'\n | 'object'\n | 'custom';\n\nexport type LocalEditorBrowserInspectorCommitMode = 'live' | 'blur' | 'change' | 'immediate';\n\nexport type LocalEditorBrowserInspectorEffectMode = 'active' | 'default' | 'derived' | 'runtime' | 'unsupported';\n\nexport type LocalEditorBrowserInspectorEditSource =\n | 'input'\n | 'toggle'\n | 'select'\n | 'color'\n | 'asset'\n | 'custom';\n\nexport interface LocalEditorBrowserInspectorEnumOption<TValue = string | number | boolean | null> {\n label: string;\n value: TValue;\n disabled?: boolean;\n batchCompatibility?: 'include' | 'ignore';\n}\n\nexport interface LocalEditorBrowserInspectorSelectionContext<TDocument = unknown> {\n targetIds: string[];\n activeId: string | null;\n targetKind?: string;\n document?: TDocument;\n runtimeTarget?: unknown;\n capabilities?: readonly string[];\n}\n\nexport interface LocalEditorBrowserInspectorProperty<TDocument = unknown> {\n id?: string;\n path: string;\n label: string;\n valueType: LocalEditorBrowserSerializedValueType | 'color' | 'vec2' | 'vec3';\n control: LocalEditorBrowserInspectorControlKind;\n customControl?: string;\n controlOptions?: Record<string, unknown>;\n value: unknown;\n mixed?: boolean;\n batchEdit?: boolean | 'auto';\n readOnly: boolean;\n persistence: LocalEditorBrowserInspectorPersistenceMode;\n commitMode: LocalEditorBrowserInspectorCommitMode;\n order?: number;\n tags?: readonly string[];\n tooltip?: string;\n effect?: LocalEditorBrowserInspectorEffectMode;\n disabledReason?: string;\n placeholder?: string;\n min?: number;\n max?: number;\n step?: number;\n options?: readonly LocalEditorBrowserInspectorEnumOption[];\n document?: TDocument;\n}\n\nexport interface LocalEditorBrowserInspectorSection<TDocument = unknown> {\n id: string;\n title: string;\n summary?: string;\n order?: number;\n placement?: 'summary' | 'body';\n collapsedByDefault?: boolean;\n persistence?: LocalEditorBrowserInspectorPersistenceMode;\n runtimeOnly?: boolean;\n effect?: LocalEditorBrowserInspectorEffectMode;\n disabledReason?: string;\n tags?: readonly string[];\n properties: LocalEditorBrowserInspectorProperty<TDocument>[];\n}\n\nexport interface LocalEditorBrowserInspectorObject<TDocument = unknown> {\n targetIds: string[];\n activeId: string | null;\n label?: string;\n selection: LocalEditorBrowserInspectorSelectionContext<TDocument>;\n sections: LocalEditorBrowserInspectorSection<TDocument>[];\n document?: TDocument;\n}\n\nexport interface LocalEditorBrowserUiHierarchyItem {\n id: string;\n label: string;\n parentId?: string | null;\n depth?: number;\n role?: 'root' | 'group' | 'object' | 'marker';\n icon?: string;\n selectable?: boolean;\n enabled?: boolean;\n directEnabled?: boolean;\n canToggleEnabled?: boolean;\n enableToggleDisabledReason?: string;\n locked?: boolean;\n protected?: boolean;\n canHaveChildren?: boolean;\n renamable?: boolean;\n deletable?: boolean;\n draggable?: boolean;\n}\n\nexport type LocalEditorBrowserHierarchyScopeKind = 'scene' | 'prefab-stage';\n\nexport type LocalEditorBrowserHierarchyCommandSurface =\n | 'scene-graph'\n | 'prefab-composition'\n | 'readonly';\n\nexport interface LocalEditorBrowserHierarchyScopeNode extends LocalEditorBrowserUiHierarchyItem {\n scopeId?: string;\n sourceKind?: string;\n commandTargetId?: string;\n}\n\nexport interface LocalEditorBrowserHierarchyScope {\n scopeId: string;\n kind: LocalEditorBrowserHierarchyScopeKind;\n title: string;\n searchPlaceholder: string;\n nodes: LocalEditorBrowserHierarchyScopeNode[];\n selectedIds: string[];\n activeId: string | null;\n readonly: boolean;\n commandSurface: LocalEditorBrowserHierarchyCommandSurface;\n}\n\nexport type LocalEditorBrowserPreviewScopeKind = 'scene' | 'prefab-stage';\n\nexport type LocalEditorBrowserPreviewCommandSurface =\n | 'scene-graph'\n | 'prefab-composition'\n | 'readonly';\n\nexport interface LocalEditorBrowserPreviewTarget {\n scopeId: string;\n scopeKind: LocalEditorBrowserPreviewScopeKind;\n projectionNodeId: string;\n targetId: string;\n itemId?: string;\n label?: string;\n kind?: string;\n selectable: boolean;\n transformable: boolean;\n readonly?: boolean;\n disabledReason?: string;\n}\n\nexport interface LocalEditorBrowserPreviewScope {\n scopeId: string;\n kind: LocalEditorBrowserPreviewScopeKind;\n readonly: boolean;\n commandSurface: LocalEditorBrowserPreviewCommandSurface;\n selectedProjectionNodeIds: string[];\n activeProjectionNodeId: string | null;\n selectedTargetIds: string[];\n activeTargetId: string | null;\n}\n\nexport interface LocalEditorBrowserAssetPreviewColor {\n r: number;\n g: number;\n b: number;\n a?: number;\n}\n\nexport type LocalEditorBrowserAssetPreviewColorValue = string | LocalEditorBrowserAssetPreviewColor;\n\nexport type LocalEditorBrowserAssetPreview =\n | {\n kind: 'image';\n url: string;\n alt?: string;\n fit?: 'cover' | 'contain';\n }\n | {\n kind: 'material-sphere';\n baseColor?: LocalEditorBrowserAssetPreviewColorValue;\n metallic?: number;\n roughness?: number;\n emissionColor?: LocalEditorBrowserAssetPreviewColorValue;\n emissionIntensity?: number;\n textureUrl?: string;\n };\n\nexport interface LocalEditorBrowserMaterialTextureRef {\n url?: string;\n textureAssetId?: string;\n}\n\nexport interface LocalEditorBrowserMaterialBaseColorProfile {\n color?: LocalEditorBrowserAssetPreviewColor;\n texture?: LocalEditorBrowserMaterialTextureRef;\n brightness?: number;\n saturation?: number;\n contrast?: number;\n hue?: number;\n}\n\nexport interface LocalEditorBrowserMaterialEmissionProfile {\n color?: LocalEditorBrowserAssetPreviewColor;\n intensity?: number;\n maskTexture?: LocalEditorBrowserMaterialTextureRef;\n}\n\nexport interface LocalEditorBrowserMaterialProfile {\n baseColor?: LocalEditorBrowserMaterialBaseColorProfile;\n metallic?: number;\n roughness?: number;\n emission?: LocalEditorBrowserMaterialEmissionProfile;\n}\n\nexport interface LocalEditorBrowserMaterialAssetEditorData {\n id: string;\n name: string;\n materialKind?: 'pbr' | 'standard' | string;\n readonly?: boolean;\n usage?: {\n count: number;\n items: Array<{\n kind?: string;\n gameObjectId?: string;\n gameObjectName?: string;\n materialAssetId?: string;\n bindingPath?: string;\n label: string;\n slotId?: string;\n ownerNodePath?: string;\n }>;\n };\n profile?: LocalEditorBrowserMaterialProfile;\n}\n\nexport interface LocalEditorBrowserPrefabAssetEditorData {\n id: string;\n name?: string;\n sourceAssetId?: string;\n sourceAssetGuid?: string;\n readonly?: boolean;\n}\n\nexport type LocalEditorBrowserPrefabStageStructureItemKind =\n | 'root'\n | 'source'\n | 'group'\n | 'model'\n | 'primitive'\n | 'light'\n | 'prefabInstance'\n | 'collision'\n | 'mesh'\n | 'material'\n | 'texture'\n | 'animation'\n | 'info';\n\nexport interface LocalEditorBrowserPrefabStageStructureItem {\n id: string;\n label: string;\n kind: LocalEditorBrowserPrefabStageStructureItemKind;\n guid?: string;\n icon?: string;\n meta?: string;\n readonly?: boolean;\n itemType?: string;\n nodeId?: string;\n sourceAssetId?: string;\n sourceNodePath?: string;\n childPrefabId?: string;\n transform?: unknown;\n primitive?: Record<string, unknown>;\n defaults?: Record<string, unknown>;\n overrides?: Record<string, unknown>;\n slotId?: string;\n ownerNodePath?: string;\n meshIndex?: number;\n primitiveIndex?: number;\n sourceMaterialIndex?: number;\n sourceMaterialIndices?: number[];\n sourceMaterialName?: string;\n sourceMaterialNames?: string[];\n children?: LocalEditorBrowserPrefabStageStructureItem[];\n}\n\nexport interface LocalEditorBrowserPrefabStageImportStats {\n status: 'loading' | 'ready' | 'missing';\n projectionNodeId?: string;\n assetId?: string;\n sourceId?: string;\n nodeCount: number;\n transformCount: number;\n meshCount: number;\n materialCount: number;\n textureCount: number;\n animationCount: number;\n}\n\nexport type LocalEditorBrowserPrefabStageComparisonPreviewMode = 'meshClone' | 'instancedMesh';\n\nexport type LocalEditorBrowserPrefabStageComparisonPreviewStatus = 'loading' | 'ready' | 'unavailable';\n\nexport interface LocalEditorBrowserPrefabStageComparisonPreview {\n id: string;\n label: string;\n mode: LocalEditorBrowserPrefabStageComparisonPreviewMode;\n projectionNodeId: string;\n status: LocalEditorBrowserPrefabStageComparisonPreviewStatus;\n}\n\nexport interface LocalEditorBrowserPrefabComparisonPreviewSurface {\n previewId: string;\n projectionNodeId: string;\n element: HTMLElement;\n rect: DOMRect;\n}\n\nexport type LocalEditorBrowserPrefabComparisonPreviewInteraction =\n | {\n kind: 'orbit';\n previewId: string;\n deltaX: number;\n deltaY: number;\n }\n | {\n kind: 'zoom';\n previewId: string;\n deltaY: number;\n };\n\nexport interface LocalEditorBrowserPrefabStageState<TDocument = unknown> {\n assetId: string;\n browserAssetId?: string;\n label: string;\n sourceAssetId?: string;\n sourceAssetGuid?: string;\n readonly?: boolean;\n selectedItemId?: string | null;\n structureItems: LocalEditorBrowserPrefabStageStructureItem[];\n inspectorObject?: LocalEditorBrowserInspectorObject<TDocument> | null;\n importStructureReady?: boolean;\n importStats?: LocalEditorBrowserPrefabStageImportStats | null;\n previewNodeId?: string;\n comparisonPreviews?: LocalEditorBrowserPrefabStageComparisonPreview[];\n}\n\nexport interface LocalEditorBrowserInspectorAssetPickerOption {\n label: string;\n value: string;\n meta?: string;\n kind?: string;\n preview?: LocalEditorBrowserAssetPreview;\n}\n\nexport interface LocalEditorBrowserUiAssetItem {\n id: string;\n label: string;\n guid?: string;\n assetId?: string;\n kind?: string;\n external?: {\n platformAssetId?: string;\n assetPath?: string;\n assetUrl?: string;\n [key: string]: unknown;\n };\n origin?: string;\n dedupeKey?: string;\n placeable?: boolean;\n preview?: LocalEditorBrowserAssetPreview;\n material?: LocalEditorBrowserMaterialAssetEditorData;\n prefab?: LocalEditorBrowserPrefabAssetEditorData;\n meta?: string;\n disabled?: boolean;\n}\n\nexport type LocalEditorBrowserTransformTool = EditorTransformTool;\n\nexport type LocalEditorBrowserTransformSpace = EditorTransformSpace;\n\nexport type LocalEditorBrowserTransformConstraint = EditorTransformConstraint;\n\nexport type LocalEditorBrowserTransformHandleDescriptor = EditorTransformHandleDescriptor;\n\nexport type LocalEditorBrowserTransformToolDescriptor = EditorTransformToolDescriptor;\n\nexport type LocalEditorBrowserPlacementMode = EditorPlacementMode;\n\nexport type LocalEditorBrowserTransformAction = EditorTransformAction;\n\nexport type LocalEditorBrowserTransformOperationSettings = EditorTransformOperationSettings;\n\nexport type LocalEditorBrowserTransformSnapStepKind = 'move' | 'rotate' | 'scale';\n\nexport interface LocalEditorBrowserTransformToolState {\n activeTool: LocalEditorBrowserTransformTool;\n activeSpace: LocalEditorBrowserTransformSpace;\n activeConstraint?: LocalEditorBrowserTransformConstraint;\n dragPhase: 'idle' | 'dragging';\n draggingNodeId?: string | null;\n}\n\nexport interface LocalEditorBrowserTransformOperationState {\n settings: LocalEditorBrowserTransformOperationSettings;\n selectedCount: number;\n activeId: string | null;\n canAlign: boolean;\n canDistribute: boolean;\n}\n\nexport type LocalEditorBrowserViewportViewPreset = EditorViewportViewPreset;\n\nexport type LocalEditorBrowserViewportProjectionMode = EditorViewportProjectionMode;\n\nexport type LocalEditorBrowserViewportUtilityTool = EditorViewportUtilityTool;\n\nexport type LocalEditorBrowserViewportOverlaySettings = EditorViewportOverlaySettings;\n\nexport type LocalEditorBrowserViewportToolState = EditorViewportToolState;\n\nexport type LocalEditorBrowserViewportMeasurementState = EditorViewportGroundMeasurement;\n\nexport type LocalEditorBrowserViewportSpatialOverlayState = EditorViewportSpatialOverlayState;\n\nexport interface LocalEditorBrowserHistoryEntry {\n id: string;\n label: string;\n commandType: string;\n createdAt: number;\n}\n\nexport interface LocalEditorBrowserHistoryView {\n entries: LocalEditorBrowserHistoryEntry[];\n}\n\nexport interface LocalEditorBrowserAuthoringSource {\n ref: {\n sourceId: string;\n sourceType: string;\n revision?: number;\n };\n}\n\nexport type LocalEditorBrowserRenderingPropertyValueType =\n | 'string'\n | 'number'\n | 'boolean'\n | 'enum'\n | 'asset'\n | 'color'\n | 'string-list'\n | 'unknown';\n\nexport type LocalEditorBrowserRenderingPropertyControlKind =\n | 'readonly'\n | 'string'\n | 'number'\n | 'boolean'\n | 'enum'\n | 'asset-picker-card'\n | 'color'\n | 'string-list';\n\nexport type LocalEditorBrowserRenderingPropertyCommitMode = 'live' | 'blur' | 'change' | 'immediate';\n\nexport type LocalEditorBrowserRenderingPropertyEditSource =\n | 'input'\n | 'toggle'\n | 'select'\n | 'asset'\n | 'color'\n | 'list';\n\nexport type LocalEditorBrowserRenderingSystemKind =\n | 'environment'\n | 'rendering-group'\n | 'blob-shadow'\n | 'static-projected-shadow'\n | 'planar-shadow'\n | 'csm-shadow'\n | 'custom';\n\nexport type LocalEditorBrowserRenderingSectionLayout = 'cards' | 'list';\n\nexport interface LocalEditorBrowserRenderingProperty {\n path: string;\n label: string;\n valueType: LocalEditorBrowserRenderingPropertyValueType;\n control: LocalEditorBrowserRenderingPropertyControlKind;\n value: unknown;\n readOnly?: boolean;\n disabled?: boolean;\n disabledReason?: string;\n tooltip?: string;\n unit?: string;\n min?: number;\n max?: number;\n step?: number;\n options?: readonly LocalEditorBrowserInspectorEnumOption[];\n controlOptions?: Record<string, unknown>;\n placeholder?: string;\n commitMode?: LocalEditorBrowserRenderingPropertyCommitMode;\n tags?: readonly string[];\n actions?: readonly LocalEditorBrowserRenderingPanelAction[];\n}\n\nexport interface LocalEditorBrowserRenderingSystem {\n id: string;\n label: string;\n kind: LocalEditorBrowserRenderingSystemKind;\n group?: LocalEditorBrowserRenderingSystemGroup;\n active?: boolean;\n readOnly?: boolean;\n summary?: string;\n status?: string;\n details?: readonly LocalEditorBrowserRenderingSystemDetail[];\n progress?: LocalEditorBrowserRenderingProgress;\n collapsedByDefault?: boolean;\n properties: readonly LocalEditorBrowserRenderingProperty[];\n actions?: readonly LocalEditorBrowserRenderingPanelAction[];\n}\n\nexport interface LocalEditorBrowserRenderingSystemGroup {\n id: string;\n label: string;\n summary?: string;\n}\n\nexport interface LocalEditorBrowserRenderingSystemDetail {\n label: string;\n value: string;\n tone?: 'default' | 'success' | 'warning' | 'error';\n}\n\nexport interface LocalEditorBrowserRenderingProgress {\n label: string;\n value?: number;\n indeterminate?: boolean;\n}\n\nexport interface LocalEditorBrowserRenderingSection {\n id: string;\n title: string;\n summary?: string;\n collapsedByDefault?: boolean;\n systemsCollapsible?: boolean;\n layout?: LocalEditorBrowserRenderingSectionLayout;\n systems: LocalEditorBrowserRenderingSystem[];\n}\n\nexport interface LocalEditorBrowserRenderingPanelState {\n title?: string;\n summary?: string;\n dirty?: boolean;\n status?: string;\n statusTone?: 'default' | 'success' | 'warning' | 'error';\n actions?: LocalEditorBrowserRenderingPanelAction[];\n sections: LocalEditorBrowserRenderingSection[];\n}\n\nexport interface LocalEditorBrowserRenderingPanelAction {\n id: string;\n label: string;\n icon?: 'undo' | 'save' | 'world' | 'status' | 'plus' | 'trash';\n disabled?: boolean;\n tooltip?: string;\n params?: Record<string, unknown>;\n}\n\nexport type LocalEditorBrowserAgentBridgeStatusKind =\n | 'disabled'\n | 'connecting'\n | 'connected'\n | 'disconnected'\n | 'error';\n\nexport interface LocalEditorBrowserAgentBridgeStatus {\n status: LocalEditorBrowserAgentBridgeStatusKind;\n url: string | null;\n sessionId: string | null;\n capabilityCount: number;\n lastChangedAt: string;\n connectedAt?: string;\n lastError?: string;\n}\n\nexport interface LocalEditorBrowserMarkerTypeItem {\n type: string;\n label: string;\n kind?: string;\n description?: string;\n defaultTags?: string[];\n builtIn?: boolean;\n usedByCount?: number;\n deletable?: boolean;\n}\n\nexport interface LocalEditorBrowserMarkerRelationEndpointItem {\n kind: string;\n id: string;\n label: string;\n disabled?: boolean;\n status?: string;\n visibility?: 'visible' | 'hidden';\n}\n\nexport interface LocalEditorBrowserMarkerRelationEndpointInput {\n kind: string;\n id: string;\n}\n\nexport interface LocalEditorBrowserMarkerRelationTypeItem {\n type: string;\n label: string;\n directed?: boolean;\n description?: string;\n}\n\nexport interface LocalEditorBrowserMarkerRelationItem {\n id: string;\n type: string;\n typeLabel: string;\n directed: boolean;\n from: LocalEditorBrowserMarkerRelationEndpointItem;\n to: LocalEditorBrowserMarkerRelationEndpointItem;\n selected?: boolean;\n active?: boolean;\n status?: string;\n statusTone?: 'default' | 'success' | 'warning' | 'error';\n}\n\nexport interface LocalEditorBrowserMarkerRelationPickState {\n active: boolean;\n type?: string;\n typeLabel?: string;\n directed?: boolean;\n from?: LocalEditorBrowserMarkerRelationEndpointInput | null;\n status?: string;\n statusTone?: 'default' | 'success' | 'warning' | 'error';\n}\n\nexport interface LocalEditorBrowserMarkerPanelState {\n title?: string;\n summary?: string;\n markerTypes: LocalEditorBrowserMarkerTypeItem[];\n relationTypes?: LocalEditorBrowserMarkerRelationTypeItem[];\n relationEndpointOptions?: LocalEditorBrowserMarkerRelationEndpointItem[];\n relations?: LocalEditorBrowserMarkerRelationItem[];\n activeMarkerId?: string | null;\n activeRelationId?: string | null;\n relationPick?: LocalEditorBrowserMarkerRelationPickState | null;\n markersCount?: number;\n relationsCount?: number;\n markersVisible?: boolean;\n status?: string;\n statusTone?: 'default' | 'success' | 'warning' | 'error';\n}\n\nexport type LocalEditorBrowserMarkerTypeActionInput =\n | {\n action: 'create';\n type: string;\n label: string;\n kind?: string;\n description?: string;\n }\n | {\n action: 'update';\n type: string;\n label?: string;\n kind?: string;\n description?: string;\n }\n | {\n action: 'delete';\n type: string;\n };\n\nexport type LocalEditorBrowserMarkerRelationActionInput =\n | {\n action: 'create';\n type: string;\n fromKind?: string;\n fromId?: string;\n toKind?: string;\n toId?: string;\n toEndpoints?: readonly LocalEditorBrowserMarkerRelationEndpointInput[];\n directed?: boolean;\n }\n | {\n action: 'delete';\n relationId: string;\n }\n | {\n action: 'delete-connected';\n markerId?: string;\n }\n | {\n action: 'reverse';\n relationId: string;\n }\n | {\n action: 'pick-start';\n type: string;\n fromKind?: string;\n fromId?: string;\n directed?: boolean;\n }\n | {\n action: 'pick-cancel';\n }\n | {\n action: 'select';\n relationId: string;\n };\n\nexport interface LocalEditorBrowserUiState<TDocument = unknown> {\n mode: 'game' | 'editor';\n busy: boolean;\n label?: string;\n agentBridge?: LocalEditorBrowserAgentBridgeStatus | null;\n status: string;\n statusTone?: 'default' | 'success' | 'warning' | 'error';\n statusDetails?: string;\n summary?: string;\n assetFilter: string;\n assets: LocalEditorBrowserUiAssetItem[];\n selectedAssetId?: string | null;\n assetCountLabel?: string;\n hierarchy: LocalEditorBrowserUiHierarchyItem[];\n selectedIds: string[];\n activeId: string | null;\n selectionSummary?: {\n count: number;\n activeId: string | null;\n } | null;\n inspectorObject?: LocalEditorBrowserInspectorObject<TDocument> | null;\n inspectorMultiObject?: LocalEditorBrowserInspectorObject<TDocument> | null;\n renderingPanel?: LocalEditorBrowserRenderingPanelState | null;\n markerPanel?: LocalEditorBrowserMarkerPanelState | null;\n pluginPanel?: LocalEditorBrowserPluginPanelState | null;\n boxSelection?: {\n active: boolean;\n left: number;\n top: number;\n width: number;\n height: number;\n } | null;\n coordinateAxes?: LocalEditorBrowserCoordinateAxesState | null;\n transformTool?: LocalEditorBrowserTransformToolState | null;\n transformOperations?: LocalEditorBrowserTransformOperationState | null;\n viewportTools?: LocalEditorBrowserViewportToolState | null;\n viewportMeasurement?: LocalEditorBrowserViewportMeasurementState | null;\n viewportSpatialOverlay?: LocalEditorBrowserViewportSpatialOverlayState | null;\n sceneFrameStats?: LocalEditorBrowserSceneFrameStats | null;\n performanceStats?: LocalEditorBrowserPerformanceStats | null;\n sceneCameraPreview?: {\n enabled: boolean;\n available: boolean;\n } | null;\n prefabStage?: LocalEditorBrowserPrefabStageState<TDocument> | null;\n grid?: {\n visible: boolean;\n available: boolean;\n } | null;\n session?: {\n source?: LocalEditorBrowserAuthoringSource | null;\n dirty: boolean;\n canUndo: boolean;\n canRedo: boolean;\n history?: LocalEditorBrowserHistoryView;\n } | null;\n}\n\nexport type LocalEditorBrowserPluginLifecycleState =\n | 'unavailable'\n | 'discovered'\n | 'registered'\n | 'started'\n | 'stopped'\n | 'disposed';\n\nexport interface LocalEditorBrowserPluginPanelItem {\n id: string;\n version: string;\n apiVersion: number;\n compatible: boolean;\n lifecycle: LocalEditorBrowserPluginLifecycleState;\n entries: string[];\n contracts: LocalEditorBrowserPluginEnvironmentContract[];\n}\n\nexport interface LocalEditorBrowserPluginEnvironmentContract {\n environment: string;\n requiredPlugins: Array<{ id: string; range?: string }>;\n requiredServices: string[];\n providedFeatures: string[];\n providedServices: string[];\n}\n\nexport interface LocalEditorBrowserPluginPanelDiagnostic {\n code: string;\n message: string;\n severity: 'info' | 'warning' | 'error';\n pluginId?: string;\n}\n\nexport interface LocalEditorBrowserLifecycleTransition {\n id: string;\n type: string;\n startedAt: number;\n traceId?: string;\n transactionId?: string;\n sourcePluginId?: string;\n}\n\nexport interface LocalEditorBrowserLifecycleScope {\n id: string;\n scope: string;\n parentId?: string;\n state: string;\n}\n\nexport interface LocalEditorBrowserLifecycleSnapshot {\n revision: number;\n transitioning: boolean;\n activeTransition?: LocalEditorBrowserLifecycleTransition;\n application: string;\n project: string;\n mode: string;\n document: string;\n preview: string;\n scopes: LocalEditorBrowserLifecycleScope[];\n}\n\nexport interface LocalEditorBrowserPluginPanelState {\n environment: string;\n apiVersion: number;\n scope: string;\n hostState: string;\n transitioning: boolean;\n lifecycle?: LocalEditorBrowserLifecycleSnapshot;\n plugins: LocalEditorBrowserPluginPanelItem[];\n diagnostics: LocalEditorBrowserPluginPanelDiagnostic[];\n}\n\nexport type LocalEditorBrowserCoordinateAxisId = 'x' | 'y' | 'z';\n\nexport interface LocalEditorBrowserCoordinateAxis {\n id: LocalEditorBrowserCoordinateAxisId;\n label: string;\n color: string;\n x: number;\n y: number;\n depth: number;\n scale: number;\n}\n\nexport interface LocalEditorBrowserCoordinateAxesState {\n axes: LocalEditorBrowserCoordinateAxis[];\n projectionMode: LocalEditorBrowserViewportProjectionMode;\n projectionToggleDisabled?: boolean;\n}\n\nexport interface LocalEditorBrowserSceneFrameStats {\n fps: number | null;\n frameCount: number;\n mode: 'idle' | 'continuous';\n lastFrameMs: number | null;\n activeReasons: string[];\n}\n\nexport interface LocalEditorBrowserPerformanceMeshClassCounts {\n mesh: number;\n instancedMesh: number;\n linesMesh: number;\n groundMesh: number;\n other: number;\n}\n\nexport interface LocalEditorBrowserPerformanceMeshCategoryCounts {\n assetMesh: number;\n primitiveMesh: number;\n staticProjectedShadow: number;\n editorHelper: number;\n uncategorized: number;\n}\n\nexport interface LocalEditorBrowserPerformanceProjectionRoleCounts {\n assetInstanceMesh: number;\n assetSourceMesh: number;\n assetWrapperMesh: number;\n assetCloneMesh: number;\n assetGeneratedMesh: number;\n assetSelectionProxy: number;\n primitiveMesh: number;\n staticProjectedShadow: number;\n helperMesh: number;\n uncategorized: number;\n}\n\nexport interface LocalEditorBrowserPerformanceStats {\n fps: number | null;\n frameMs: number | null;\n frameCount: number;\n mode: 'idle' | 'continuous';\n activeReasons: string[];\n drawCalls: number | null;\n objectCount: number | null;\n meshCount: number | null;\n activeMeshCount: number | null;\n meshClassCounts: LocalEditorBrowserPerformanceMeshClassCounts | null;\n activeMeshClassCounts: LocalEditorBrowserPerformanceMeshClassCounts | null;\n meshCategoryCounts: LocalEditorBrowserPerformanceMeshCategoryCounts | null;\n activeMeshCategoryCounts: LocalEditorBrowserPerformanceMeshCategoryCounts | null;\n projectionRoleCounts?: LocalEditorBrowserPerformanceProjectionRoleCounts | null;\n activeProjectionRoleCounts?: LocalEditorBrowserPerformanceProjectionRoleCounts | null;\n materialCount: number | null;\n textureCount: number | null;\n lightCount: number | null;\n cameraCount: number | null;\n}\n\nexport interface LocalEditorBrowserUiPropertyInput {\n targetId: string;\n targetIds?: string[];\n path: string;\n value: number | string | boolean | Record<string, unknown> | null;\n control?: LocalEditorBrowserInspectorControlKind;\n valueType?: LocalEditorBrowserInspectorProperty['valueType'];\n commitMode?: LocalEditorBrowserInspectorCommitMode;\n persistence?: LocalEditorBrowserInspectorPersistenceMode;\n source?: LocalEditorBrowserInspectorEditSource;\n}\n\nexport interface LocalEditorBrowserRenderingPropertyChangeInput {\n sectionId: string;\n systemId: string;\n path: string;\n value: unknown;\n control?: LocalEditorBrowserRenderingPropertyControlKind;\n valueType?: LocalEditorBrowserRenderingPropertyValueType;\n commitMode?: LocalEditorBrowserRenderingPropertyCommitMode;\n source?: LocalEditorBrowserRenderingPropertyEditSource;\n}\n\nexport interface LocalEditorBrowserRenderingActionInput {\n actionId: string;\n sectionId?: string;\n systemId?: string;\n path?: string;\n params?: Record<string, unknown>;\n}\n\nexport interface LocalEditorBrowserInspectorActionInput {\n actionId: string;\n targetId?: string | null;\n targetIds?: string[];\n path?: string;\n params?: Record<string, unknown>;\n}\n\nexport type LocalEditorBrowserInspectorConflictStrategy = 'error' | 'ignore' | 'replace';\n\nexport interface LocalEditorBrowserInspectorControlBindingOptions {\n source?: LocalEditorBrowserInspectorEditSource;\n}\n\nexport interface LocalEditorBrowserInspectorControlRenderContext<TDocument = unknown> {\n doc: Document;\n target: LocalEditorBrowserInspectorObject<TDocument>;\n property: LocalEditorBrowserInspectorProperty<TDocument>;\n bindInput(\n element: HTMLInputElement | HTMLSelectElement,\n options?: LocalEditorBrowserInspectorControlBindingOptions,\n ): void;\n}\n\nexport type LocalEditorBrowserInspectorControlRenderer<TDocument = unknown> = (\n context: LocalEditorBrowserInspectorControlRenderContext<TDocument>,\n) => HTMLElement;\n\nexport interface LocalEditorBrowserInspectorControlRegistration<TDocument = unknown> {\n id: string;\n order?: number;\n control?: LocalEditorBrowserInspectorControlKind;\n customControl?: string;\n supports?(context: LocalEditorBrowserInspectorControlRenderContext<TDocument>): boolean;\n render: LocalEditorBrowserInspectorControlRenderer<TDocument>;\n}\n\nexport interface LocalEditorBrowserInspectorOptions<TDocument = unknown> {\n controls?: readonly LocalEditorBrowserInspectorControlRegistration<TDocument>[];\n controlConflict?: LocalEditorBrowserInspectorConflictStrategy;\n}\n\nexport interface LocalEditorBrowserHierarchySelectionInput {\n id: string;\n additive: boolean;\n toggle: boolean;\n}\n\nexport interface LocalEditorBrowserHierarchyEnabledChangeInput {\n id: string;\n enabled: boolean;\n}\n\nexport type LocalEditorBrowserSceneGraphDropPlacement = 'inside' | 'before' | 'after';\n\nexport type LocalEditorBrowserSceneGraphMovePlacement = LocalEditorBrowserSceneGraphDropPlacement | 'root';\n\nexport interface LocalEditorBrowserSceneGraphRenameIntent {\n id: string;\n name: string;\n}\n\nexport interface LocalEditorBrowserSceneGraphCreateGroupIntent {\n parentId?: string | null;\n activeId?: string | null;\n name?: string;\n}\n\nexport type LocalEditorBrowserPrimitiveShape = SceneGraphPrimitiveShape;\n\nexport interface LocalEditorBrowserSceneGraphCreatePrimitiveIntent {\n parentId?: string | null;\n activeId?: string | null;\n shape: LocalEditorBrowserPrimitiveShape;\n name?: string;\n}\n\nexport interface LocalEditorBrowserSceneGraphCreateMarkerIntent {\n markerType?: string;\n parentId?: string | null;\n activeId?: string | null;\n name?: string;\n}\n\nexport interface LocalEditorBrowserSceneGraphDeleteIntent {\n ids: string[];\n activeId?: string | null;\n}\n\nexport interface LocalEditorBrowserSceneGraphDuplicateIntent {\n targetIds: string[];\n activeId?: string | null;\n}\n\nexport interface LocalEditorBrowserSceneGraphDropIntent {\n draggedId: string;\n targetId: string;\n placement: LocalEditorBrowserSceneGraphDropPlacement;\n preserveWorldTransform?: boolean;\n}\n\nexport interface LocalEditorBrowserSceneGraphMoveIntent {\n ids: string[];\n targetId?: string | null;\n placement: LocalEditorBrowserSceneGraphMovePlacement;\n parentId?: string | null;\n beforeId?: string | null;\n afterId?: string | null;\n preserveWorldTransform?: boolean;\n}\n\nexport interface LocalEditorBrowserSceneGraphActionResult {\n ok: boolean;\n reason?: string;\n}\n\nexport type LocalEditorBrowserSceneGraphActionResponse =\n | LocalEditorBrowserSceneGraphActionResult\n | boolean\n | string\n | void;\n\nexport interface LocalEditorBrowserSceneGraphGroupSelectionIntent {\n ids: string[];\n parentId?: string | null;\n insertBeforeId?: string | null;\n name?: string;\n pivot?: 'selection-center' | 'active' | 'parent-origin';\n preserveWorldTransform?: boolean;\n}\n\nexport interface LocalEditorContextMenuItem {\n id: string;\n label: string;\n shortcut?: string;\n danger?: boolean;\n disabled?: boolean;\n disabledReason?: string;\n separatorBefore?: boolean;\n children?: LocalEditorContextMenuItem[];\n}\n\nexport interface LocalEditorBrowserHierarchyContextActionContext<TDocument = unknown> {\n state: LocalEditorBrowserUiState<TDocument>;\n menuKind: 'node' | 'blank';\n node: LocalEditorBrowserUiHierarchyItem | null;\n contextNodeId: string | null;\n targetIds: string[];\n activeId: string | null;\n}\n\nexport type LocalEditorBrowserHierarchyContextActionPlacement =\n | 'top'\n | 'after-primary'\n | 'after-create'\n | 'after-edit'\n | 'after-clipboard'\n | 'bottom';\n\nexport interface LocalEditorBrowserHierarchyContextActionChildRegistration<TDocument = unknown> {\n id: string;\n label: string;\n shortcut?: string;\n danger?: boolean;\n disabled?(context: LocalEditorBrowserHierarchyContextActionContext<TDocument>): boolean | string;\n payload?(context: LocalEditorBrowserHierarchyContextActionContext<TDocument>): Record<string, unknown> | undefined;\n}\n\nexport interface LocalEditorBrowserHierarchyContextActionRegistration<TDocument = unknown> {\n id: string;\n commandId?: string;\n label: string;\n shortcut?: string;\n danger?: boolean;\n placement?: LocalEditorBrowserHierarchyContextActionPlacement;\n separatorBefore?: boolean;\n children?: readonly LocalEditorBrowserHierarchyContextActionChildRegistration<TDocument>[]\n | ((context: LocalEditorBrowserHierarchyContextActionContext<TDocument>) => readonly LocalEditorBrowserHierarchyContextActionChildRegistration<TDocument>[]);\n visible?(context: LocalEditorBrowserHierarchyContextActionContext<TDocument>): boolean;\n disabled?(context: LocalEditorBrowserHierarchyContextActionContext<TDocument>): boolean | string;\n payload?(context: LocalEditorBrowserHierarchyContextActionContext<TDocument>): Record<string, unknown> | undefined;\n}\n\nexport type LocalEditorContextAction =\n | { region: 'hierarchy'; action: 'focus'; targetIds: string[]; activeId: string | null }\n | { region: 'hierarchy'; action: 'rename'; targetId: string }\n | { region: 'hierarchy'; action: 'create-group'; parentId?: string | null; activeId?: string | null }\n | { region: 'hierarchy'; action: 'create-primitive'; parentId?: string | null; activeId?: string | null; shape: LocalEditorBrowserPrimitiveShape; name?: string }\n | { region: 'hierarchy'; action: 'create-marker'; parentId?: string | null; activeId?: string | null; markerType?: string; name?: string }\n | { region: 'hierarchy'; action: 'delete'; targetIds: string[]; activeId?: string | null }\n | { region: 'hierarchy'; action: 'duplicate'; targetIds: string[]; activeId?: string | null }\n | { region: 'hierarchy'; action: 'paste'; sourceIds: string[]; activeId?: string | null }\n | { region: 'hierarchy'; action: 'custom'; id: string; contextNodeId: string | null; targetIds: string[]; activeId: string | null; payload?: Record<string, unknown> };\n\nexport interface LocalEditorBrowserAssetActionInput {\n actionId: string;\n assetId?: string;\n browserAssetId?: string;\n assetKind?: string;\n targetPrefabAssetId?: string;\n nodeId?: string;\n parentNodeId?: string;\n primitiveShape?: string;\n fieldPath?: string;\n value?: unknown;\n}\n\nexport interface LocalEditorBrowserUiCallbacks {\n onEnterEditor?: () => void;\n onSaveScene?: () => void;\n onSaveAndRunGame?: () => void;\n onDiscardAndRunGame?: () => void;\n onUndo?: () => void;\n onRedo?: () => void;\n onSelectHierarchyItem?: (input: LocalEditorBrowserHierarchySelectionInput) => void;\n onHierarchyItemEnabledChange?: (input: LocalEditorBrowserHierarchyEnabledChangeInput) => void;\n onSelectionCommand?: (command: SelectionCommand) => void;\n onCreateFromAsset?: (assetId: string) => void;\n onSelectAsset?: (assetId: string) => void;\n onAssetAction?: (input: LocalEditorBrowserAssetActionInput) => void;\n onExitPrefabStage?: () => void;\n onSelectPrefabStageItem?: (itemId: string) => void;\n onAssetFilterChange?: (value: string) => void;\n onPropertyInput?: (input: LocalEditorBrowserUiPropertyInput) => void;\n onInspectorAction?: (input: LocalEditorBrowserInspectorActionInput) => void;\n onRenderingPropertyChange?: (input: LocalEditorBrowserRenderingPropertyChangeInput) => void;\n onRenderingAction?: (input: LocalEditorBrowserRenderingActionInput) => void;\n onMarkerTypeAction?: (input: LocalEditorBrowserMarkerTypeActionInput) => void;\n onMarkerRelationAction?: (input: LocalEditorBrowserMarkerRelationActionInput) => void;\n onTransformToolChange?: (tool: LocalEditorBrowserTransformTool) => void;\n onTransformSpaceChange?: (space: LocalEditorBrowserTransformSpace) => void;\n onTransformConstraintChange?: (constraint: LocalEditorBrowserTransformConstraint) => void;\n onTransformSnapEnabledChange?: (enabled: boolean) => void;\n onTransformSnapStepChange?: (input: { kind: LocalEditorBrowserTransformSnapStepKind; value: number }) => void;\n onPlacementModeChange?: (mode: LocalEditorBrowserPlacementMode) => void;\n onTransformAction?: (action: LocalEditorBrowserTransformAction) => void;\n onViewportViewPresetChange?: (preset: LocalEditorBrowserViewportViewPreset) => void;\n onViewportProjectionModeChange?: (mode: LocalEditorBrowserViewportProjectionMode) => void;\n onViewportOverlaySettingsChange?: (settings: LocalEditorBrowserViewportOverlaySettings) => void;\n onViewportUtilityToolChange?: (tool: LocalEditorBrowserViewportUtilityTool) => void;\n onViewportMeasurementClear?: () => void;\n onSceneCameraPreviewToggle?: (enabled: boolean) => void;\n onMarkerViewportVisibilityChange?: (visible: boolean) => void;\n onGridVisibleChange?: (visible: boolean) => void;\n onPerformanceMonitorOpenChange?: (open: boolean) => void;\n onPrefabComparisonPreviewLayoutChange?: () => void;\n onPrefabComparisonPreviewInteraction?: (input: LocalEditorBrowserPrefabComparisonPreviewInteraction) => void;\n onFocusSelection?: () => void;\n onCancelEditorIntent?: () => void;\n onCancelActiveOperation?: () => void;\n onSceneGraphRename?: (intent: LocalEditorBrowserSceneGraphRenameIntent) => void;\n onSceneGraphCreateGroup?: (intent: LocalEditorBrowserSceneGraphCreateGroupIntent) => void;\n onSceneGraphCreatePrimitive?: (intent: LocalEditorBrowserSceneGraphCreatePrimitiveIntent) => void;\n onSceneGraphCreateMarker?: (intent: LocalEditorBrowserSceneGraphCreateMarkerIntent) => void;\n onSceneGraphDelete?: (intent: LocalEditorBrowserSceneGraphDeleteIntent) => void;\n onSceneGraphDuplicate?: (intent: LocalEditorBrowserSceneGraphDuplicateIntent) => void;\n onSceneGraphDrop?: (intent: LocalEditorBrowserSceneGraphDropIntent) => void;\n onSceneGraphMove?: (intent: LocalEditorBrowserSceneGraphMoveIntent) => LocalEditorBrowserSceneGraphActionResponse;\n onSceneGraphGroupSelection?: (intent: LocalEditorBrowserSceneGraphGroupSelectionIntent) => void;\n onContextAction?: (action: LocalEditorContextAction) => void;\n}\n\nexport interface LocalEditorBrowserUiOptions<TDocument = unknown> {\n root?: HTMLElement;\n document?: Document;\n theme?: LocalEditorThemeName;\n localTestActions?: boolean;\n input?: {\n isShortcutReserved?: (event: KeyboardEvent) => boolean;\n };\n callbacks?: LocalEditorBrowserUiCallbacks;\n inspector?: LocalEditorBrowserInspectorOptions<TDocument>;\n hierarchy?: {\n contextActions?: readonly LocalEditorBrowserHierarchyContextActionRegistration<TDocument>[];\n };\n}\n\nexport type LocalEditorBrowserUiPreviewState<TDocument = unknown> = Partial<Pick<\n LocalEditorBrowserUiState<TDocument>,\n | 'status'\n | 'statusTone'\n | 'statusDetails'\n | 'inspectorObject'\n | 'inspectorMultiObject'\n | 'boxSelection'\n | 'coordinateAxes'\n | 'transformTool'\n | 'transformOperations'\n | 'viewportTools'\n | 'viewportMeasurement'\n | 'viewportSpatialOverlay'\n | 'sceneFrameStats'\n | 'performanceStats'\n>>;\n\nexport interface LocalEditorBrowserUi<TDocument = unknown> {\n update(state: LocalEditorBrowserUiState<TDocument>): void;\n updatePreview?(state: LocalEditorBrowserUiPreviewState<TDocument>): void;\n updateSceneFrameStats?(stats: LocalEditorBrowserSceneFrameStats | null): void;\n updatePerformanceStats?(stats: LocalEditorBrowserPerformanceStats | null): void;\n getPrefabComparisonPreviewSurfaces?(): LocalEditorBrowserPrefabComparisonPreviewSurface[];\n alert(input: LocalEditorModalDialogInput): Promise<void>;\n confirm(input: LocalEditorModalDialogInput): Promise<boolean>;\n setTheme?(theme: LocalEditorThemeName): void;\n getTheme?(): LocalEditorThemeName;\n dispose(): void;\n}\n\nexport interface LocalEditorThemeController {\n setTheme(theme: LocalEditorThemeName): void;\n getTheme(): LocalEditorThemeName;\n}\n\nexport type LocalEditorBottomDockTab = 'assets' | 'history';\n\nexport type LocalEditorRightDockTab = 'inspector' | 'rendering' | 'markers' | 'plugins';\n\nexport type LocalEditorAssetBrowserTab = 'all' | 'models' | 'prefabs' | 'materials' | 'textures';\n\nexport type LocalEditorWorkbenchDockArea = 'left' | 'right' | 'bottom';\n\nexport type LocalEditorWorkbenchPanelId = 'hierarchy' | LocalEditorRightDockTab | LocalEditorBottomDockTab;\n\nexport type LocalEditorWorkbenchRegionId = 'top-app-bar' | 'left-dock' | 'scene-view' | 'scene-header' | 'right-dock' | 'bottom-dock';\n\nexport interface LocalEditorWorkbenchRegionDescriptor {\n id: LocalEditorWorkbenchRegionId;\n label: string;\n}\n\nexport interface LocalEditorWorkbenchPanelDescriptor {\n id: LocalEditorWorkbenchPanelId;\n title: string;\n area: LocalEditorWorkbenchDockArea;\n contextMenu?: string;\n toolbar?: string;\n}\n\nexport interface LocalEditorWorkbenchLayout {\n regions: LocalEditorWorkbenchRegionDescriptor[];\n panels: LocalEditorWorkbenchPanelDescriptor[];\n activeTabs: Record<LocalEditorWorkbenchDockArea, LocalEditorWorkbenchPanelId | null>;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"local-editor-ui-workbench.js","sourceRoot":"","sources":["../src/local-editor-ui-workbench.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"local-editor-ui-workbench.js","sourceRoot":"","sources":["../src/local-editor-ui-workbench.ts"],"names":[],"mappings":"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","sourcesContent":["import { LOCAL_EDITOR_THEME_CLASS } from './local-editor-ui-theme';\nimport { createLocalEditorIcon, type LocalEditorIconName } from './local-editor-ui-icons';\nimport type {\n LocalEditorWorkbenchLayout,\n LocalEditorWorkbenchPanelDescriptor,\n LocalEditorWorkbenchRegionDescriptor,\n} from './local-editor-ui-types';\n\nexport interface LocalEditorWorkbenchLayoutState {\n leftWidth: number;\n rightWidth: number;\n bottomHeight: number;\n leftCollapsed: boolean;\n rightCollapsed: boolean;\n bottomCollapsed: boolean;\n}\n\nexport interface LocalEditorWorkbenchLayoutController {\n getLayout(): LocalEditorWorkbenchLayoutState;\n refresh(): void;\n setLayout(layout: LocalEditorWorkbenchLayoutState, save?: boolean): void;\n setBottomCollapsed(collapsed: boolean, save?: boolean): void;\n reset(): void;\n dispose(): void;\n}\n\nexport interface LocalEditorWorkbenchLayoutControllerOptions {\n onAfterApply?: (layout: LocalEditorWorkbenchLayoutState) => void;\n}\n\nexport interface LocalEditorWorkbenchViewport {\n width: number;\n height: number;\n}\n\nexport interface LocalEditorWorkbenchVisibility {\n leftVisible: boolean;\n rightVisible: boolean;\n bottomVisible: boolean;\n leftAutoHidden: boolean;\n rightAutoHidden: boolean;\n bottomAutoHidden: boolean;\n}\n\nexport interface LocalEditorWorkbenchOverlayState {\n leftOpen: boolean;\n rightOpen: boolean;\n bottomOpen: boolean;\n}\n\nexport interface LocalEditorWorkbenchDockDisplay extends LocalEditorWorkbenchVisibility {\n leftDockVisible: boolean;\n rightDockVisible: boolean;\n bottomDockVisible: boolean;\n leftDockOverlay: boolean;\n rightDockOverlay: boolean;\n bottomDockOverlay: boolean;\n}\n\nconst LOCAL_EDITOR_WORKBENCH_LAYOUT_STORAGE_KEY = 'fps-game-editor:workbench-layout:v1';\n\nconst DEFAULT_WORKBENCH_LAYOUT: LocalEditorWorkbenchLayoutState = {\n leftWidth: 300,\n rightWidth: 340,\n bottomHeight: 260,\n leftCollapsed: false,\n rightCollapsed: false,\n bottomCollapsed: true,\n};\n\nconst WORKBENCH_LAYOUT_LIMITS = {\n leftMin: 220,\n leftMax: 420,\n rightMin: 300,\n rightMax: 520,\n bottomMin: 160,\n bottomMax: 420,\n sceneMinWidth: 420,\n sceneMinHeight: 220,\n};\n\nconst RESIZER_THICKNESS = 7;\nconst WORKBENCH_COMPACT_WIDTH = 760;\nconst WORKBENCH_RIGHT_AUTO_COLLAPSE_WIDTH = 1120;\nconst WORKBENCH_BOTTOM_AUTO_COLLAPSE_HEIGHT = 520;\n\nexport const LOCAL_EDITOR_WORKBENCH_REGIONS = [\n { id: 'top-app-bar', label: 'Top App Bar' },\n { id: 'left-dock', label: 'Left Dock' },\n { id: 'scene-view', label: 'Scene View' },\n { id: 'scene-header', label: 'Scene View Header' },\n { id: 'right-dock', label: 'Right Dock' },\n { id: 'bottom-dock', label: 'Bottom Dock' },\n] satisfies LocalEditorWorkbenchRegionDescriptor[];\n\nexport const LOCAL_EDITOR_WORKBENCH_PANELS = [\n { id: 'hierarchy', title: '层级', area: 'left', toolbar: 'scene-graph' },\n { id: 'inspector', title: '检查器', area: 'right' },\n { id: 'rendering', title: '渲染', area: 'right' },\n { id: 'markers', title: '标记', area: 'right' },\n { id: 'plugins', title: '插件', area: 'right' },\n { id: 'assets', title: '资产', area: 'bottom', contextMenu: 'asset-browser' },\n { id: 'history', title: '历史', area: 'bottom' },\n] satisfies LocalEditorWorkbenchPanelDescriptor[];\n\nexport function createDefaultLocalEditorWorkbenchLayout(): LocalEditorWorkbenchLayout {\n return {\n regions: [...LOCAL_EDITOR_WORKBENCH_REGIONS],\n panels: [...LOCAL_EDITOR_WORKBENCH_PANELS],\n activeTabs: {\n left: 'hierarchy',\n right: 'inspector',\n bottom: 'assets',\n },\n };\n}\n\nexport interface LocalEditorWorkbenchElements {\n root: HTMLDivElement;\n leftDock: HTMLDivElement;\n sceneFrame: HTMLDivElement;\n sceneHeader: HTMLDivElement;\n rightDock: HTMLDivElement;\n bottomDock: HTMLDivElement;\n leftResizer: HTMLDivElement;\n rightResizer: HTMLDivElement;\n bottomResizer: HTMLDivElement;\n leftToggle: HTMLButtonElement;\n rightToggle: HTMLButtonElement;\n bottomToggle: HTMLButtonElement;\n}\n\nexport function createLocalEditorWorkbench(doc: Document): LocalEditorWorkbenchElements {\n const root = doc.createElement('div');\n root.dataset.editorWorkbench = 'true';\n root.className = LOCAL_EDITOR_THEME_CLASS;\n root.style.cssText = [\n 'position:fixed',\n 'top:0',\n 'left:0',\n 'right:0',\n 'bottom:0',\n 'z-index:2147483639',\n 'display:none',\n 'pointer-events:none',\n 'font-family:var(--fps-editor-font)',\n 'color:var(--fps-editor-text)',\n 'font-size:12px',\n ].join(';');\n\n const leftDock = createDock(doc, 'left');\n const rightDock = createDock(doc, 'right');\n const bottomDock = createDock(doc, 'bottom');\n const leftResizer = createResizer(doc, 'left');\n const rightResizer = createResizer(doc, 'right');\n const bottomResizer = createResizer(doc, 'bottom');\n const leftToggle = createDockToggle(doc, 'left', 'hierarchy');\n const rightToggle = createDockToggle(doc, 'right', 'inspector');\n const bottomToggle = createDockToggle(doc, 'bottom', 'asset');\n const sceneFrame = doc.createElement('div');\n sceneFrame.dataset.editorWorkbenchRegion = 'scene-view';\n sceneFrame.style.cssText = [\n 'position:absolute',\n 'top:0',\n 'left:300px',\n 'right:340px',\n 'bottom:260px',\n 'display:flex',\n 'flex-direction:column',\n 'min-width:0',\n 'min-height:0',\n 'border-left:1px solid var(--fps-editor-divider)',\n 'border-right:1px solid var(--fps-editor-divider)',\n 'border-bottom:1px solid var(--fps-editor-divider)',\n 'background:transparent',\n 'pointer-events:none',\n 'overflow:hidden',\n ].join(';');\n const sceneHeader = doc.createElement('div');\n sceneHeader.dataset.editorWorkbenchRegion = 'scene-header';\n sceneHeader.style.cssText = [\n 'height:38px',\n 'flex:0 0 38px',\n 'display:flex',\n 'align-items:center',\n 'justify-content:flex-start',\n 'border-bottom:1px solid var(--fps-editor-divider)',\n 'background:var(--fps-editor-chrome)',\n 'box-shadow:var(--fps-editor-shadow-inset-highlight)',\n 'pointer-events:none',\n ].join(';');\n sceneFrame.appendChild(sceneHeader);\n\n root.appendChild(sceneFrame);\n root.appendChild(leftDock);\n root.appendChild(rightDock);\n root.appendChild(bottomDock);\n root.appendChild(leftResizer);\n root.appendChild(rightResizer);\n root.appendChild(bottomResizer);\n root.appendChild(leftToggle);\n root.appendChild(rightToggle);\n root.appendChild(bottomToggle);\n return {\n root,\n leftDock,\n sceneFrame,\n sceneHeader,\n rightDock,\n bottomDock,\n leftResizer,\n rightResizer,\n bottomResizer,\n leftToggle,\n rightToggle,\n bottomToggle,\n };\n}\n\nfunction createDock(doc: Document, area: 'left' | 'right' | 'bottom'): HTMLDivElement {\n const dock = doc.createElement('div');\n dock.dataset.editorWorkbenchRegion = area === 'left' ? 'left-dock' : area === 'right' ? 'right-dock' : 'bottom-dock';\n const placement = area === 'left'\n ? 'top:0;left:0;bottom:260px;width:300px'\n : area === 'right'\n ? 'top:0;right:0;bottom:0;width:340px'\n : 'left:0;right:340px;bottom:0;height:260px';\n dock.style.cssText = [\n 'position:absolute',\n placement,\n 'display:flex',\n 'flex-direction:column',\n 'min-width:0',\n 'min-height:0',\n 'border:1px solid var(--fps-editor-divider)',\n 'background:var(--fps-editor-panel)',\n 'pointer-events:auto',\n 'overflow:hidden',\n ].join(';');\n return dock;\n}\n\nfunction createResizer(doc: Document, area: 'left' | 'right' | 'bottom'): HTMLDivElement {\n const resizer = doc.createElement('div');\n resizer.dataset.editorWorkbenchResizer = area;\n resizer.title = area === 'bottom'\n ? '拖拽调整底部面板高度,双击恢复默认'\n : '拖拽调整面板宽度,双击恢复默认';\n resizer.style.cssText = [\n 'position:absolute',\n 'z-index:4',\n area === 'bottom' ? `height:${RESIZER_THICKNESS}px` : `width:${RESIZER_THICKNESS}px`,\n area === 'bottom' ? 'cursor:row-resize' : 'cursor:col-resize',\n 'background:transparent',\n 'pointer-events:auto',\n 'touch-action:none',\n ].join(';');\n resizer.addEventListener('mouseenter', () => {\n resizer.style.background = 'var(--fps-editor-accent-soft)';\n });\n resizer.addEventListener('mouseleave', () => {\n resizer.style.background = 'transparent';\n });\n return resizer;\n}\n\nfunction createDockToggle(doc: Document, area: 'left' | 'right' | 'bottom', icon: LocalEditorIconName): HTMLButtonElement {\n const button = doc.createElement('button');\n button.type = 'button';\n button.dataset.editorWorkbenchToggle = area;\n button.style.cssText = [\n 'position:absolute',\n 'z-index:5',\n 'width:26px',\n 'height:26px',\n 'display:inline-flex',\n 'align-items:center',\n 'justify-content:center',\n 'padding:0',\n 'border:1px solid var(--fps-editor-border)',\n 'border-radius:3px',\n 'background:var(--fps-editor-button)',\n 'color:var(--fps-editor-text)',\n 'box-shadow:var(--fps-editor-shadow-panel)',\n 'cursor:pointer',\n 'pointer-events:auto',\n ].join(';');\n button.appendChild(createLocalEditorIcon(doc, icon, { size: 14 }));\n button.addEventListener('mouseenter', () => {\n button.style.background = 'var(--fps-editor-button-hover)';\n });\n button.addEventListener('mouseleave', () => {\n button.style.background = 'var(--fps-editor-button)';\n });\n return button;\n}\n\nexport function createWorkbenchPanelContent(doc: Document): HTMLDivElement {\n const content = doc.createElement('div');\n content.dataset.editorPanelContent = 'true';\n content.style.cssText = [\n 'flex:1',\n 'min-height:0',\n 'overflow:auto',\n 'padding:8px',\n ].join(';');\n return content;\n}\n\nexport function createSceneHeaderToolbar(doc: Document): HTMLDivElement {\n const toolbar = doc.createElement('div');\n toolbar.dataset.editorWorkbenchRegion = 'scene-toolbar';\n toolbar.style.cssText = [\n 'display:flex',\n 'align-items:center',\n 'gap:7px',\n 'width:100%',\n 'height:100%',\n 'max-width:100%',\n 'padding:5px 8px',\n 'background:transparent',\n 'pointer-events:auto',\n 'overflow:hidden',\n ].join(';');\n return toolbar;\n}\n\nexport function normalizeLocalEditorWorkbenchLayout(\n input: Partial<LocalEditorWorkbenchLayoutState> | null | undefined,\n viewport: LocalEditorWorkbenchViewport,\n): LocalEditorWorkbenchLayoutState {\n const userLayout = normalizeLocalEditorWorkbenchUserLayout(input);\n const compactWidth = viewport.width < WORKBENCH_COMPACT_WIDTH;\n const rightAutoCollapsed = viewport.width < WORKBENCH_RIGHT_AUTO_COLLAPSE_WIDTH;\n const leftVisible = !userLayout.leftCollapsed && !compactWidth;\n const rightVisible = !userLayout.rightCollapsed && !rightAutoCollapsed;\n\n const rightEdge = rightVisible\n ? clampNumber(userLayout.rightWidth, WORKBENCH_LAYOUT_LIMITS.rightMin, resolveRightMax(viewport, leftVisible))\n : 0;\n const leftEdge = leftVisible\n ? clampNumber(userLayout.leftWidth, WORKBENCH_LAYOUT_LIMITS.leftMin, resolveLeftMax(viewport, rightEdge))\n : 0;\n const bottomMax = Math.max(\n WORKBENCH_LAYOUT_LIMITS.bottomMin,\n Math.min(\n WORKBENCH_LAYOUT_LIMITS.bottomMax,\n Math.floor(viewport.height * 0.45),\n viewport.height - WORKBENCH_LAYOUT_LIMITS.sceneMinHeight,\n ),\n );\n\n return {\n leftWidth: leftVisible ? leftEdge : userLayout.leftWidth,\n rightWidth: rightVisible ? rightEdge : userLayout.rightWidth,\n bottomHeight: clampNumber(userLayout.bottomHeight, WORKBENCH_LAYOUT_LIMITS.bottomMin, bottomMax),\n leftCollapsed: userLayout.leftCollapsed,\n rightCollapsed: userLayout.rightCollapsed,\n bottomCollapsed: userLayout.bottomCollapsed,\n };\n}\n\nexport function normalizeLocalEditorWorkbenchUserLayout(\n input: Partial<LocalEditorWorkbenchLayoutState> | null | undefined,\n): LocalEditorWorkbenchLayoutState {\n const next = {\n ...DEFAULT_WORKBENCH_LAYOUT,\n ...(input ?? {}),\n };\n return {\n leftWidth: clampNumber(next.leftWidth, WORKBENCH_LAYOUT_LIMITS.leftMin, WORKBENCH_LAYOUT_LIMITS.leftMax),\n rightWidth: clampNumber(next.rightWidth, WORKBENCH_LAYOUT_LIMITS.rightMin, WORKBENCH_LAYOUT_LIMITS.rightMax),\n bottomHeight: clampNumber(next.bottomHeight, WORKBENCH_LAYOUT_LIMITS.bottomMin, WORKBENCH_LAYOUT_LIMITS.bottomMax),\n leftCollapsed: next.leftCollapsed === true,\n rightCollapsed: next.rightCollapsed === true,\n bottomCollapsed: next.bottomCollapsed === true,\n };\n}\n\nexport function resolveLocalEditorWorkbenchVisibility(\n layout: LocalEditorWorkbenchLayoutState,\n viewport: LocalEditorWorkbenchViewport,\n): LocalEditorWorkbenchVisibility {\n const leftAutoHidden = viewport.width < WORKBENCH_COMPACT_WIDTH;\n const rightAutoHidden = viewport.width < WORKBENCH_RIGHT_AUTO_COLLAPSE_WIDTH;\n const bottomAutoHidden = viewport.height < WORKBENCH_BOTTOM_AUTO_COLLAPSE_HEIGHT;\n return {\n leftVisible: !layout.leftCollapsed && !leftAutoHidden,\n rightVisible: !layout.rightCollapsed && !rightAutoHidden,\n bottomVisible: !layout.bottomCollapsed && !bottomAutoHidden,\n leftAutoHidden,\n rightAutoHidden,\n bottomAutoHidden,\n };\n}\n\nexport function resolveLocalEditorWorkbenchDockDisplay(\n layout: LocalEditorWorkbenchLayoutState,\n viewport: LocalEditorWorkbenchViewport,\n overlay: Partial<LocalEditorWorkbenchOverlayState> | null | undefined,\n): LocalEditorWorkbenchDockDisplay {\n const visibility = resolveLocalEditorWorkbenchVisibility(layout, viewport);\n const leftDockOverlay = visibility.leftAutoHidden && overlay?.leftOpen === true;\n const rightDockOverlay = visibility.rightAutoHidden && overlay?.rightOpen === true;\n const bottomDockOverlay = visibility.bottomAutoHidden && overlay?.bottomOpen === true;\n return {\n ...visibility,\n leftDockVisible: visibility.leftVisible || leftDockOverlay,\n rightDockVisible: visibility.rightVisible || rightDockOverlay,\n bottomDockVisible: visibility.bottomVisible || bottomDockOverlay,\n leftDockOverlay,\n rightDockOverlay,\n bottomDockOverlay,\n };\n}\n\nexport function createLocalEditorWorkbenchLayoutController(\n doc: Document,\n elements: LocalEditorWorkbenchElements,\n options: LocalEditorWorkbenchLayoutControllerOptions = {},\n): LocalEditorWorkbenchLayoutController {\n const win = doc.defaultView;\n let layout = normalizeLocalEditorWorkbenchUserLayout(readStoredWorkbenchLayout(doc));\n let projectedVisibility = resolveLocalEditorWorkbenchVisibility(layout, readViewport(doc));\n let overlay: LocalEditorWorkbenchOverlayState = { leftOpen: false, rightOpen: false, bottomOpen: false };\n let drag:\n | { area: 'left' | 'right' | 'bottom' }\n | null = null;\n\n const persist = (): void => writeStoredWorkbenchLayout(doc, layout);\n\n const apply = (save = false): void => {\n const viewport = readViewport(doc);\n const projectedLayout = normalizeLocalEditorWorkbenchLayout(layout, viewport);\n projectedVisibility = resolveLocalEditorWorkbenchVisibility(projectedLayout, viewport);\n if (!projectedVisibility.leftAutoHidden && overlay.leftOpen) overlay = { ...overlay, leftOpen: false };\n if (!projectedVisibility.rightAutoHidden && overlay.rightOpen) overlay = { ...overlay, rightOpen: false };\n if (!projectedVisibility.bottomAutoHidden && overlay.bottomOpen) overlay = { ...overlay, bottomOpen: false };\n const dockDisplay = resolveLocalEditorWorkbenchDockDisplay(projectedLayout, viewport, overlay);\n const leftEdge = projectedVisibility.leftVisible ? projectedLayout.leftWidth : 0;\n const rightEdge = projectedVisibility.rightVisible ? projectedLayout.rightWidth : 0;\n const bottomEdge = projectedVisibility.bottomVisible ? projectedLayout.bottomHeight : 0;\n const leftDockWidth = dockDisplay.leftDockOverlay\n ? resolveOverlayPanelWidth(viewport, projectedLayout.leftWidth)\n : projectedLayout.leftWidth;\n const rightDockWidth = dockDisplay.rightDockOverlay\n ? resolveOverlayPanelWidth(viewport, projectedLayout.rightWidth)\n : projectedLayout.rightWidth;\n const bottomDockHeight = dockDisplay.bottomDockOverlay\n ? resolveOverlayPanelHeight(viewport, projectedLayout.bottomHeight)\n : projectedLayout.bottomHeight;\n\n elements.root.dataset.editorLayoutLeftCollapsed = String(!dockDisplay.leftDockVisible);\n elements.root.dataset.editorLayoutRightCollapsed = String(!dockDisplay.rightDockVisible);\n elements.root.dataset.editorLayoutBottomCollapsed = String(!dockDisplay.bottomDockVisible);\n elements.root.dataset.editorLayoutLeftOverlay = String(dockDisplay.leftDockOverlay);\n elements.root.dataset.editorLayoutRightOverlay = String(dockDisplay.rightDockOverlay);\n elements.root.dataset.editorLayoutBottomOverlay = String(dockDisplay.bottomDockOverlay);\n\n elements.sceneFrame.style.left = `${leftEdge}px`;\n elements.sceneFrame.style.right = `${rightEdge}px`;\n elements.sceneFrame.style.bottom = `${bottomEdge}px`;\n\n elements.leftDock.style.display = dockDisplay.leftDockVisible ? 'flex' : 'none';\n elements.leftDock.style.width = `${leftDockWidth}px`;\n elements.leftDock.style.bottom = dockDisplay.leftDockOverlay ? '0' : `${bottomEdge}px`;\n elements.leftDock.style.zIndex = dockDisplay.leftDockOverlay ? '6' : '';\n elements.leftDock.style.boxShadow = dockDisplay.leftDockOverlay ? 'var(--fps-editor-shadow-panel)' : '';\n\n elements.rightDock.style.display = dockDisplay.rightDockVisible ? 'flex' : 'none';\n elements.rightDock.style.width = `${rightDockWidth}px`;\n elements.rightDock.style.zIndex = dockDisplay.rightDockOverlay ? '6' : '';\n elements.rightDock.style.boxShadow = dockDisplay.rightDockOverlay ? 'var(--fps-editor-shadow-panel)' : '';\n\n elements.bottomDock.style.display = dockDisplay.bottomDockVisible ? 'flex' : 'none';\n elements.bottomDock.style.left = '0';\n elements.bottomDock.style.right = dockDisplay.bottomDockOverlay ? '0' : `${rightEdge}px`;\n elements.bottomDock.style.height = `${bottomDockHeight}px`;\n elements.bottomDock.style.zIndex = dockDisplay.bottomDockOverlay ? '6' : '';\n elements.bottomDock.style.boxShadow = dockDisplay.bottomDockOverlay ? 'var(--fps-editor-shadow-panel)' : '';\n\n elements.leftResizer.style.display = projectedVisibility.leftVisible ? '' : 'none';\n elements.leftResizer.style.left = `${projectedLayout.leftWidth - Math.ceil(RESIZER_THICKNESS / 2)}px`;\n elements.leftResizer.style.top = '0';\n elements.leftResizer.style.bottom = `${bottomEdge}px`;\n\n elements.rightResizer.style.display = projectedVisibility.rightVisible ? '' : 'none';\n elements.rightResizer.style.right = `${projectedLayout.rightWidth - Math.ceil(RESIZER_THICKNESS / 2)}px`;\n elements.rightResizer.style.top = '0';\n elements.rightResizer.style.bottom = '0';\n\n elements.bottomResizer.style.display = projectedVisibility.bottomVisible ? '' : 'none';\n elements.bottomResizer.style.left = '0';\n elements.bottomResizer.style.right = `${rightEdge}px`;\n elements.bottomResizer.style.bottom = `${projectedLayout.bottomHeight - Math.ceil(RESIZER_THICKNESS / 2)}px`;\n\n elements.leftToggle.style.left = dockDisplay.leftDockVisible ? `${Math.max(6, leftDockWidth - 13)}px` : '6px';\n elements.leftToggle.style.top = '43px';\n elements.leftToggle.disabled = false;\n elements.leftToggle.style.opacity = '';\n elements.leftToggle.style.cursor = 'pointer';\n elements.leftToggle.title = dockDisplay.leftDockVisible ? '隐藏层级面板' : '显示层级面板';\n elements.leftToggle.setAttribute('aria-label', elements.leftToggle.title);\n\n elements.rightToggle.style.right = dockDisplay.rightDockVisible ? `${Math.max(6, rightDockWidth - 13)}px` : '6px';\n elements.rightToggle.style.top = '43px';\n elements.rightToggle.disabled = false;\n elements.rightToggle.style.opacity = '';\n elements.rightToggle.style.cursor = 'pointer';\n elements.rightToggle.title = dockDisplay.rightDockVisible ? '隐藏检查器面板' : '显示检查器面板';\n elements.rightToggle.setAttribute('aria-label', elements.rightToggle.title);\n\n elements.bottomToggle.style.left = '50%';\n elements.bottomToggle.style.transform = 'translateX(-50%)';\n elements.bottomToggle.style.bottom = dockDisplay.bottomDockVisible ? `${Math.max(6, bottomDockHeight - 13)}px` : '6px';\n elements.bottomToggle.disabled = false;\n elements.bottomToggle.style.opacity = '';\n elements.bottomToggle.style.cursor = 'pointer';\n elements.bottomToggle.title = dockDisplay.bottomDockVisible ? '隐藏资产/历史面板' : '显示资产/历史面板';\n elements.bottomToggle.setAttribute('aria-label', elements.bottomToggle.title);\n\n if (save) persist();\n options.onAfterApply?.(projectedLayout);\n };\n\n const onPointerMove = (event: PointerEvent): void => {\n if (!drag) return;\n const viewport = readViewport(doc);\n if (drag.area === 'left') {\n layout = {\n ...layout,\n leftWidth: clampNumber(\n event.clientX,\n WORKBENCH_LAYOUT_LIMITS.leftMin,\n resolveLeftMax(viewport, projectedVisibility.rightVisible ? layout.rightWidth : 0),\n ),\n };\n } else if (drag.area === 'right') {\n layout = {\n ...layout,\n rightWidth: clampNumber(\n viewport.width - event.clientX,\n WORKBENCH_LAYOUT_LIMITS.rightMin,\n resolveRightMax(viewport, projectedVisibility.leftVisible),\n ),\n };\n } else {\n const bottomMax = Math.max(\n WORKBENCH_LAYOUT_LIMITS.bottomMin,\n Math.min(\n WORKBENCH_LAYOUT_LIMITS.bottomMax,\n Math.floor(viewport.height * 0.45),\n viewport.height - WORKBENCH_LAYOUT_LIMITS.sceneMinHeight,\n ),\n );\n layout = {\n ...layout,\n bottomHeight: clampNumber(viewport.height - event.clientY, WORKBENCH_LAYOUT_LIMITS.bottomMin, bottomMax),\n };\n }\n apply();\n };\n\n const onPointerUp = (): void => {\n if (!drag) return;\n drag = null;\n doc.body.style.cursor = '';\n doc.body.style.userSelect = '';\n win?.removeEventListener('pointermove', onPointerMove);\n win?.removeEventListener('pointerup', onPointerUp);\n persist();\n };\n\n const beginDrag = (area: 'left' | 'right' | 'bottom', event: PointerEvent): void => {\n if (event.button !== 0) return;\n event.preventDefault();\n drag = { area };\n doc.body.style.cursor = area === 'bottom' ? 'row-resize' : 'col-resize';\n doc.body.style.userSelect = 'none';\n win?.addEventListener('pointermove', onPointerMove);\n win?.addEventListener('pointerup', onPointerUp);\n };\n\n const onLeftPointerDown = (event: PointerEvent): void => beginDrag('left', event);\n const onRightPointerDown = (event: PointerEvent): void => beginDrag('right', event);\n const onBottomPointerDown = (event: PointerEvent): void => beginDrag('bottom', event);\n const onLeftDoubleClick = (): void => {\n layout = { ...layout, leftWidth: DEFAULT_WORKBENCH_LAYOUT.leftWidth };\n apply(true);\n };\n const onRightDoubleClick = (): void => {\n layout = { ...layout, rightWidth: DEFAULT_WORKBENCH_LAYOUT.rightWidth };\n apply(true);\n };\n const onBottomDoubleClick = (): void => {\n layout = { ...layout, bottomHeight: DEFAULT_WORKBENCH_LAYOUT.bottomHeight };\n apply(true);\n };\n const onLeftToggle = (): void => {\n if (projectedVisibility.leftAutoHidden) {\n overlay = { ...overlay, leftOpen: !overlay.leftOpen };\n apply();\n return;\n }\n layout = { ...layout, leftCollapsed: !layout.leftCollapsed };\n apply(true);\n };\n const onRightToggle = (): void => {\n if (projectedVisibility.rightAutoHidden) {\n overlay = { ...overlay, rightOpen: !overlay.rightOpen };\n apply();\n return;\n }\n layout = { ...layout, rightCollapsed: !layout.rightCollapsed };\n apply(true);\n };\n const onBottomToggle = (): void => {\n if (projectedVisibility.bottomAutoHidden) {\n overlay = { ...overlay, bottomOpen: !overlay.bottomOpen };\n apply();\n return;\n }\n layout = { ...layout, bottomCollapsed: !layout.bottomCollapsed };\n apply(true);\n };\n const onResize = (): void => apply();\n\n elements.leftResizer.addEventListener('pointerdown', onLeftPointerDown);\n elements.rightResizer.addEventListener('pointerdown', onRightPointerDown);\n elements.bottomResizer.addEventListener('pointerdown', onBottomPointerDown);\n elements.leftResizer.addEventListener('dblclick', onLeftDoubleClick);\n elements.rightResizer.addEventListener('dblclick', onRightDoubleClick);\n elements.bottomResizer.addEventListener('dblclick', onBottomDoubleClick);\n elements.leftToggle.addEventListener('click', onLeftToggle);\n elements.rightToggle.addEventListener('click', onRightToggle);\n elements.bottomToggle.addEventListener('click', onBottomToggle);\n win?.addEventListener('resize', onResize);\n apply();\n\n return {\n getLayout() {\n return { ...layout };\n },\n refresh() {\n apply();\n },\n setLayout(nextLayout: LocalEditorWorkbenchLayoutState, save = false) {\n layout = normalizeLocalEditorWorkbenchUserLayout(nextLayout);\n apply(save);\n },\n setBottomCollapsed(collapsed: boolean, save = false) {\n if (layout.bottomCollapsed === collapsed) return;\n layout = { ...layout, bottomCollapsed: collapsed };\n apply(save);\n },\n reset() {\n layout = { ...DEFAULT_WORKBENCH_LAYOUT };\n apply(true);\n },\n dispose() {\n onPointerUp();\n elements.leftResizer.removeEventListener('pointerdown', onLeftPointerDown);\n elements.rightResizer.removeEventListener('pointerdown', onRightPointerDown);\n elements.bottomResizer.removeEventListener('pointerdown', onBottomPointerDown);\n elements.leftResizer.removeEventListener('dblclick', onLeftDoubleClick);\n elements.rightResizer.removeEventListener('dblclick', onRightDoubleClick);\n elements.bottomResizer.removeEventListener('dblclick', onBottomDoubleClick);\n elements.leftToggle.removeEventListener('click', onLeftToggle);\n elements.rightToggle.removeEventListener('click', onRightToggle);\n elements.bottomToggle.removeEventListener('click', onBottomToggle);\n win?.removeEventListener('resize', onResize);\n },\n };\n}\n\nfunction readViewport(doc: Document): LocalEditorWorkbenchViewport {\n const win = doc.defaultView;\n return {\n width: Math.max(320, win?.innerWidth ?? doc.documentElement.clientWidth ?? 1280),\n height: Math.max(320, win?.innerHeight ?? doc.documentElement.clientHeight ?? 720),\n };\n}\n\nfunction resolveOverlayPanelWidth(viewport: LocalEditorWorkbenchViewport, preferredWidth: number): number {\n return Math.min(preferredWidth, Math.max(260, viewport.width - 24));\n}\n\nfunction resolveOverlayPanelHeight(viewport: LocalEditorWorkbenchViewport, preferredHeight: number): number {\n return Math.min(preferredHeight, Math.max(WORKBENCH_LAYOUT_LIMITS.bottomMin, viewport.height - 64));\n}\n\nfunction resolveLeftMax(viewport: LocalEditorWorkbenchViewport, rightWidth: number): number {\n return Math.max(\n WORKBENCH_LAYOUT_LIMITS.leftMin,\n Math.min(\n WORKBENCH_LAYOUT_LIMITS.leftMax,\n viewport.width - rightWidth - WORKBENCH_LAYOUT_LIMITS.sceneMinWidth,\n ),\n );\n}\n\nfunction resolveRightMax(viewport: LocalEditorWorkbenchViewport, leftVisible: boolean): number {\n const leftWidth = leftVisible ? WORKBENCH_LAYOUT_LIMITS.leftMin : 0;\n return Math.max(\n WORKBENCH_LAYOUT_LIMITS.rightMin,\n Math.min(\n WORKBENCH_LAYOUT_LIMITS.rightMax,\n viewport.width - leftWidth - WORKBENCH_LAYOUT_LIMITS.sceneMinWidth,\n ),\n );\n}\n\nfunction clampNumber(value: unknown, min: number, max: number): number {\n const numeric = typeof value === 'number' && Number.isFinite(value) ? value : min;\n return Math.min(Math.max(numeric, min), max);\n}\n\nfunction readStoredWorkbenchLayout(doc: Document): Partial<LocalEditorWorkbenchLayoutState> | null {\n try {\n const raw = doc.defaultView?.localStorage?.getItem(LOCAL_EDITOR_WORKBENCH_LAYOUT_STORAGE_KEY);\n if (!raw) return null;\n const parsed = JSON.parse(raw) as Partial<LocalEditorWorkbenchLayoutState>;\n if (!parsed || typeof parsed !== 'object') return null;\n return parsed;\n } catch {\n return null;\n }\n}\n\nfunction writeStoredWorkbenchLayout(doc: Document, layout: LocalEditorWorkbenchLayoutState): void {\n try {\n doc.defaultView?.localStorage?.setItem(LOCAL_EDITOR_WORKBENCH_LAYOUT_STORAGE_KEY, JSON.stringify(layout));\n } catch {\n // Browsers can disable localStorage; the editor should still stay usable.\n }\n}\n"]}