@fps-games/editor 0.1.3-beta.4 → 0.1.4-beta.1

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 (887) hide show
  1. package/dist/index.d.ts +4 -0
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +3 -2
  4. package/dist/index.js.map +1 -1
  5. package/dist/local-editor-agent-actions.d.ts +38 -0
  6. package/dist/local-editor-agent-actions.d.ts.map +1 -0
  7. package/dist/local-editor-agent-actions.js +134 -0
  8. package/dist/local-editor-agent-actions.js.map +1 -0
  9. package/dist/local-editor-agent-context.d.ts +29 -0
  10. package/dist/local-editor-agent-context.d.ts.map +1 -0
  11. package/dist/local-editor-agent-context.js +266 -0
  12. package/dist/local-editor-agent-context.js.map +1 -0
  13. package/dist/local-editor-harness.d.ts +19 -1
  14. package/dist/local-editor-harness.d.ts.map +1 -1
  15. package/dist/local-editor-harness.js +641 -118
  16. package/dist/local-editor-harness.js.map +1 -1
  17. package/dist/local-editor-viewport-render-coordinator.d.ts.map +1 -1
  18. package/dist/local-editor-viewport-render-coordinator.js +34 -14
  19. package/dist/local-editor-viewport-render-coordinator.js.map +1 -1
  20. package/dist/playable-babylon-facade.d.ts +15 -0
  21. package/dist/playable-babylon-facade.d.ts.map +1 -0
  22. package/dist/playable-babylon-facade.js +12 -0
  23. package/dist/playable-babylon-facade.js.map +1 -0
  24. package/dist/playable-babylon-outline-inspector.d.ts +32 -0
  25. package/dist/playable-babylon-outline-inspector.d.ts.map +1 -0
  26. package/dist/playable-babylon-outline-inspector.js +182 -0
  27. package/dist/playable-babylon-outline-inspector.js.map +1 -0
  28. package/dist/playable-babylon-outline-runtime.d.ts +19 -0
  29. package/dist/playable-babylon-outline-runtime.d.ts.map +1 -0
  30. package/dist/playable-babylon-outline-runtime.js +67 -0
  31. package/dist/playable-babylon-outline-runtime.js.map +1 -0
  32. package/dist/playable-local-editor-host.d.ts +501 -0
  33. package/dist/playable-local-editor-host.d.ts.map +1 -0
  34. package/dist/playable-local-editor-host.js +526 -0
  35. package/dist/playable-local-editor-host.js.map +1 -0
  36. package/dist/playable-sdk.d.ts +8 -0
  37. package/dist/playable-sdk.d.ts.map +1 -0
  38. package/dist/playable-sdk.js +5 -0
  39. package/dist/playable-sdk.js.map +1 -0
  40. package/node_modules/@fps-games/babylon-renderer/dist/environment/environment-texture-controller.d.ts +4 -0
  41. package/node_modules/@fps-games/babylon-renderer/dist/environment/environment-texture-controller.d.ts.map +1 -0
  42. package/node_modules/@fps-games/babylon-renderer/dist/environment/environment-texture-controller.js +79 -0
  43. package/node_modules/@fps-games/babylon-renderer/dist/environment/environment-texture-controller.js.map +1 -0
  44. package/node_modules/@fps-games/babylon-renderer/dist/environment/index.d.ts +4 -0
  45. package/node_modules/@fps-games/babylon-renderer/dist/environment/index.d.ts.map +1 -0
  46. package/node_modules/@fps-games/babylon-renderer/dist/environment/index.js +4 -0
  47. package/node_modules/@fps-games/babylon-renderer/dist/environment/index.js.map +1 -0
  48. package/node_modules/@fps-games/babylon-renderer/dist/environment/profile.d.ts +3 -0
  49. package/node_modules/@fps-games/babylon-renderer/dist/environment/profile.d.ts.map +1 -0
  50. package/node_modules/@fps-games/babylon-renderer/dist/environment/profile.js +26 -0
  51. package/node_modules/@fps-games/babylon-renderer/dist/environment/profile.js.map +1 -0
  52. package/node_modules/@fps-games/babylon-renderer/dist/environment/types.d.ts +13 -0
  53. package/node_modules/@fps-games/babylon-renderer/dist/environment/types.d.ts.map +1 -0
  54. package/node_modules/@fps-games/babylon-renderer/dist/environment/types.js +6 -0
  55. package/node_modules/@fps-games/babylon-renderer/dist/environment/types.js.map +1 -0
  56. package/node_modules/@fps-games/babylon-renderer/dist/index.d.ts +3 -0
  57. package/node_modules/@fps-games/babylon-renderer/dist/index.d.ts.map +1 -1
  58. package/node_modules/@fps-games/babylon-renderer/dist/index.js +7 -4
  59. package/node_modules/@fps-games/babylon-renderer/dist/index.js.map +1 -1
  60. package/node_modules/@fps-games/babylon-renderer/dist/outlines/babylon-default/apply.d.ts +4 -0
  61. package/node_modules/@fps-games/babylon-renderer/dist/outlines/babylon-default/apply.d.ts.map +1 -0
  62. package/node_modules/@fps-games/babylon-renderer/dist/outlines/babylon-default/apply.js +45 -0
  63. package/node_modules/@fps-games/babylon-renderer/dist/outlines/babylon-default/apply.js.map +1 -0
  64. package/node_modules/@fps-games/babylon-renderer/dist/outlines/babylon-default/index.d.ts +3 -0
  65. package/node_modules/@fps-games/babylon-renderer/dist/outlines/babylon-default/index.d.ts.map +1 -0
  66. package/node_modules/@fps-games/babylon-renderer/dist/outlines/babylon-default/index.js +2 -0
  67. package/node_modules/@fps-games/babylon-renderer/dist/outlines/babylon-default/index.js.map +1 -0
  68. package/node_modules/@fps-games/babylon-renderer/dist/outlines/babylon-default/types.d.ts +7 -0
  69. package/node_modules/@fps-games/babylon-renderer/dist/outlines/babylon-default/types.d.ts.map +1 -0
  70. package/node_modules/@fps-games/babylon-renderer/dist/outlines/babylon-default/types.js +2 -0
  71. package/node_modules/@fps-games/babylon-renderer/dist/outlines/babylon-default/types.js.map +1 -0
  72. package/node_modules/@fps-games/babylon-renderer/dist/outlines/index.d.ts +3 -0
  73. package/node_modules/@fps-games/babylon-renderer/dist/outlines/index.d.ts.map +1 -0
  74. package/node_modules/@fps-games/babylon-renderer/dist/outlines/index.js +2 -0
  75. package/node_modules/@fps-games/babylon-renderer/dist/outlines/index.js.map +1 -0
  76. package/node_modules/@fps-games/babylon-renderer/dist/outlines/types.d.ts +7 -0
  77. package/node_modules/@fps-games/babylon-renderer/dist/outlines/types.d.ts.map +1 -0
  78. package/node_modules/@fps-games/babylon-renderer/dist/outlines/types.js +2 -0
  79. package/node_modules/@fps-games/babylon-renderer/dist/outlines/types.js.map +1 -0
  80. package/node_modules/@fps-games/babylon-renderer/dist/post-process/babylon-default-pipeline.d.ts +5 -0
  81. package/node_modules/@fps-games/babylon-renderer/dist/post-process/babylon-default-pipeline.d.ts.map +1 -0
  82. package/node_modules/@fps-games/babylon-renderer/dist/post-process/babylon-default-pipeline.js +83 -0
  83. package/node_modules/@fps-games/babylon-renderer/dist/post-process/babylon-default-pipeline.js.map +1 -0
  84. package/node_modules/@fps-games/babylon-renderer/dist/post-process/index.d.ts +5 -0
  85. package/node_modules/@fps-games/babylon-renderer/dist/post-process/index.d.ts.map +1 -0
  86. package/node_modules/@fps-games/babylon-renderer/dist/post-process/index.js +5 -0
  87. package/node_modules/@fps-games/babylon-renderer/dist/post-process/index.js.map +1 -0
  88. package/node_modules/@fps-games/babylon-renderer/dist/post-process/profile.d.ts +5 -0
  89. package/node_modules/@fps-games/babylon-renderer/dist/post-process/profile.d.ts.map +1 -0
  90. package/node_modules/@fps-games/babylon-renderer/dist/post-process/profile.js +155 -0
  91. package/node_modules/@fps-games/babylon-renderer/dist/post-process/profile.js.map +1 -0
  92. package/node_modules/@fps-games/babylon-renderer/dist/post-process/types.d.ts +77 -0
  93. package/node_modules/@fps-games/babylon-renderer/dist/post-process/types.d.ts.map +1 -0
  94. package/node_modules/@fps-games/babylon-renderer/dist/post-process/types.js +24 -0
  95. package/node_modules/@fps-games/babylon-renderer/dist/post-process/types.js.map +1 -0
  96. package/node_modules/@fps-games/babylon-renderer/dist/post-process/volume-stack.d.ts +4 -0
  97. package/node_modules/@fps-games/babylon-renderer/dist/post-process/volume-stack.d.ts.map +1 -0
  98. package/node_modules/@fps-games/babylon-renderer/dist/post-process/volume-stack.js +105 -0
  99. package/node_modules/@fps-games/babylon-renderer/dist/post-process/volume-stack.js.map +1 -0
  100. package/node_modules/@fps-games/babylon-renderer/dist/shadows/planar-shadow-shaders.js +1 -1
  101. package/node_modules/@fps-games/babylon-renderer/dist/shadows/planar-shadow-system.js +14 -14
  102. package/node_modules/@fps-games/babylon-renderer/package.json +1 -1
  103. package/node_modules/@fps-games/editor-babylon/dist/camera-controller.d.ts.map +1 -1
  104. package/node_modules/@fps-games/editor-babylon/dist/camera-controller.js +15 -5
  105. package/node_modules/@fps-games/editor-babylon/dist/camera-controller.js.map +1 -1
  106. package/node_modules/@fps-games/editor-babylon/dist/edit-session.js +4 -4
  107. package/node_modules/@fps-games/editor-babylon/dist/editor-world.js +1 -1
  108. package/node_modules/@fps-games/editor-babylon/dist/index.js +24 -24
  109. package/node_modules/@fps-games/editor-babylon/dist/infinite-grid-layer.d.ts +3 -0
  110. package/node_modules/@fps-games/editor-babylon/dist/infinite-grid-layer.d.ts.map +1 -0
  111. package/node_modules/@fps-games/editor-babylon/dist/infinite-grid-layer.js +396 -0
  112. package/node_modules/@fps-games/editor-babylon/dist/infinite-grid-layer.js.map +1 -0
  113. package/node_modules/@fps-games/editor-babylon/dist/infinite-grid.d.ts +3 -0
  114. package/node_modules/@fps-games/editor-babylon/dist/infinite-grid.d.ts.map +1 -1
  115. package/node_modules/@fps-games/editor-babylon/dist/infinite-grid.js +2 -567
  116. package/node_modules/@fps-games/editor-babylon/dist/infinite-grid.js.map +1 -1
  117. package/node_modules/@fps-games/editor-babylon/dist/inspector-host.js +4 -4
  118. package/node_modules/@fps-games/editor-babylon/dist/legacy-runtime.js +4 -4
  119. package/node_modules/@fps-games/editor-babylon/dist/main-camera-preview.js +1 -1
  120. package/node_modules/@fps-games/editor-babylon/dist/material-property-adapter.d.ts +3 -2
  121. package/node_modules/@fps-games/editor-babylon/dist/material-property-adapter.d.ts.map +1 -1
  122. package/node_modules/@fps-games/editor-babylon/dist/material-property-adapter.js +401 -96
  123. package/node_modules/@fps-games/editor-babylon/dist/material-property-adapter.js.map +1 -1
  124. package/node_modules/@fps-games/editor-babylon/dist/monitor.js +2 -2
  125. package/node_modules/@fps-games/editor-babylon/dist/outline-adapter.d.ts.map +1 -1
  126. package/node_modules/@fps-games/editor-babylon/dist/outline-adapter.js +7 -23
  127. package/node_modules/@fps-games/editor-babylon/dist/outline-adapter.js.map +1 -1
  128. package/node_modules/@fps-games/editor-babylon/dist/projection-selection-controller.js +1 -1
  129. package/node_modules/@fps-games/editor-babylon/dist/projection-selection-controller.js.map +1 -1
  130. package/node_modules/@fps-games/editor-babylon/dist/projection.d.ts +10 -1
  131. package/node_modules/@fps-games/editor-babylon/dist/projection.d.ts.map +1 -1
  132. package/node_modules/@fps-games/editor-babylon/dist/projection.js +234 -150
  133. package/node_modules/@fps-games/editor-babylon/dist/projection.js.map +1 -1
  134. package/node_modules/@fps-games/editor-babylon/dist/scene-camera-preview.js +1 -1
  135. package/node_modules/@fps-games/editor-babylon/dist/scene-view-camera-controller.js +4 -4
  136. package/node_modules/@fps-games/editor-babylon/dist/scene-view-input-controller.js +10 -10
  137. package/node_modules/@fps-games/editor-babylon/dist/scene-view-input-controller.js.map +1 -1
  138. package/node_modules/@fps-games/editor-babylon/dist/tool-controller.js +1 -1
  139. package/node_modules/@fps-games/editor-babylon/dist/transform-gizmo-controller.d.ts +12 -2
  140. package/node_modules/@fps-games/editor-babylon/dist/transform-gizmo-controller.d.ts.map +1 -1
  141. package/node_modules/@fps-games/editor-babylon/dist/transform-gizmo-controller.js +69 -17
  142. package/node_modules/@fps-games/editor-babylon/dist/transform-gizmo-controller.js.map +1 -1
  143. package/node_modules/@fps-games/editor-babylon/dist/types.d.ts +1 -0
  144. package/node_modules/@fps-games/editor-babylon/dist/types.d.ts.map +1 -1
  145. package/node_modules/@fps-games/editor-babylon/package.json +5 -5
  146. package/node_modules/@fps-games/editor-browser/dist/index.d.ts +9 -2
  147. package/node_modules/@fps-games/editor-browser/dist/index.d.ts.map +1 -1
  148. package/node_modules/@fps-games/editor-browser/dist/index.js +8 -2
  149. package/node_modules/@fps-games/editor-browser/dist/index.js.map +1 -1
  150. package/node_modules/@fps-games/editor-browser/dist/local-editor-inspector-clipboard.d.ts +20 -0
  151. package/node_modules/@fps-games/editor-browser/dist/local-editor-inspector-clipboard.d.ts.map +1 -0
  152. package/node_modules/@fps-games/editor-browser/dist/local-editor-inspector-clipboard.js +88 -0
  153. package/node_modules/@fps-games/editor-browser/dist/local-editor-inspector-clipboard.js.map +1 -0
  154. package/node_modules/@fps-games/editor-browser/dist/local-editor-inspector-groups.d.ts +12 -0
  155. package/node_modules/@fps-games/editor-browser/dist/local-editor-inspector-groups.d.ts.map +1 -0
  156. package/node_modules/@fps-games/editor-browser/dist/local-editor-inspector-groups.js +34 -0
  157. package/node_modules/@fps-games/editor-browser/dist/local-editor-inspector-groups.js.map +1 -0
  158. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-context-menu.js +2 -2
  159. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-dock-panel.d.ts +55 -0
  160. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-dock-panel.d.ts.map +1 -0
  161. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-dock-panel.js +144 -0
  162. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-dock-panel.js.map +1 -0
  163. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-actions.d.ts.map +1 -1
  164. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-actions.js +40 -7
  165. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-actions.js.map +1 -1
  166. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-auto-scroll.d.ts +5 -0
  167. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-auto-scroll.d.ts.map +1 -0
  168. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-auto-scroll.js +5 -0
  169. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-auto-scroll.js.map +1 -0
  170. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-controller.d.ts.map +1 -1
  171. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-controller.js +312 -126
  172. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-controller.js.map +1 -1
  173. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-drag-policy.d.ts +43 -0
  174. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-drag-policy.d.ts.map +1 -0
  175. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-drag-policy.js +28 -0
  176. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-drag-policy.js.map +1 -0
  177. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-tree.d.ts +4 -0
  178. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-tree.d.ts.map +1 -1
  179. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-tree.js +48 -0
  180. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-tree.js.map +1 -1
  181. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-view.d.ts +3 -0
  182. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-view.d.ts.map +1 -1
  183. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-view.js +182 -20
  184. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-view.js.map +1 -1
  185. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-icons.d.ts +1 -1
  186. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-icons.d.ts.map +1 -1
  187. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-icons.js +24 -0
  188. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-icons.js.map +1 -1
  189. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-panels.d.ts +2 -0
  190. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-panels.d.ts.map +1 -1
  191. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-panels.js +373 -63
  192. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-panels.js.map +1 -1
  193. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-primitives.d.ts +2 -0
  194. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-primitives.d.ts.map +1 -1
  195. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-primitives.js +17 -12
  196. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-primitives.js.map +1 -1
  197. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-shared.d.ts +2 -0
  198. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-shared.d.ts.map +1 -1
  199. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-shared.js +9 -1
  200. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-shared.js.map +1 -1
  201. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-shortcuts.d.ts.map +1 -1
  202. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-shortcuts.js +42 -19
  203. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-shortcuts.js.map +1 -1
  204. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-structured-drag-auto-scroll.d.ts +19 -0
  205. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-structured-drag-auto-scroll.d.ts.map +1 -0
  206. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-structured-drag-auto-scroll.js +40 -0
  207. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-structured-drag-auto-scroll.js.map +1 -0
  208. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-structured-drag-policy.d.ts +59 -0
  209. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-structured-drag-policy.d.ts.map +1 -0
  210. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-structured-drag-policy.js +182 -0
  211. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-structured-drag-policy.js.map +1 -0
  212. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-structured-drag-preview.d.ts +16 -0
  213. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-structured-drag-preview.d.ts.map +1 -0
  214. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-structured-drag-preview.js +14 -0
  215. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-structured-drag-preview.js.map +1 -0
  216. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-structured-drag-session.d.ts +11 -0
  217. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-structured-drag-session.d.ts.map +1 -0
  218. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-structured-drag-session.js +18 -0
  219. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-structured-drag-session.js.map +1 -0
  220. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-tooltip.js +1 -1
  221. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-types.d.ts +34 -6
  222. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-types.d.ts.map +1 -1
  223. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-workbench.d.ts +14 -0
  224. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-workbench.d.ts.map +1 -1
  225. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-workbench.js +88 -37
  226. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-workbench.js.map +1 -1
  227. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui.d.ts +16 -2
  228. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui.d.ts.map +1 -1
  229. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui.js +630 -140
  230. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui.js.map +1 -1
  231. package/node_modules/@fps-games/editor-browser/dist/runtime-camera-debug-panel.d.ts +40 -0
  232. package/node_modules/@fps-games/editor-browser/dist/runtime-camera-debug-panel.d.ts.map +1 -0
  233. package/node_modules/@fps-games/editor-browser/dist/runtime-camera-debug-panel.js +685 -0
  234. package/node_modules/@fps-games/editor-browser/dist/runtime-camera-debug-panel.js.map +1 -0
  235. package/node_modules/@fps-games/editor-browser/dist/runtime-debug-panel-shell.d.ts +73 -0
  236. package/node_modules/@fps-games/editor-browser/dist/runtime-debug-panel-shell.d.ts.map +1 -0
  237. package/node_modules/@fps-games/editor-browser/dist/runtime-debug-panel-shell.js +370 -0
  238. package/node_modules/@fps-games/editor-browser/dist/runtime-debug-panel-shell.js.map +1 -0
  239. package/node_modules/@fps-games/editor-browser/dist/runtime-lighting-debug-panel.d.ts +15 -0
  240. package/node_modules/@fps-games/editor-browser/dist/runtime-lighting-debug-panel.d.ts.map +1 -0
  241. package/node_modules/@fps-games/editor-browser/dist/runtime-lighting-debug-panel.js +350 -0
  242. package/node_modules/@fps-games/editor-browser/dist/runtime-lighting-debug-panel.js.map +1 -0
  243. package/node_modules/@fps-games/editor-browser/package.json +3 -2
  244. package/node_modules/@fps-games/editor-core/dist/agent-interaction.d.ts +17 -0
  245. package/node_modules/@fps-games/editor-core/dist/agent-interaction.d.ts.map +1 -0
  246. package/node_modules/@fps-games/editor-core/dist/agent-interaction.js +14 -0
  247. package/node_modules/@fps-games/editor-core/dist/agent-interaction.js.map +1 -0
  248. package/node_modules/@fps-games/editor-core/dist/index.d.ts +2 -0
  249. package/node_modules/@fps-games/editor-core/dist/index.d.ts.map +1 -1
  250. package/node_modules/@fps-games/editor-core/dist/index.js +14 -12
  251. package/node_modules/@fps-games/editor-core/dist/index.js.map +1 -1
  252. package/node_modules/@fps-games/editor-core/dist/inspector.d.ts +9 -0
  253. package/node_modules/@fps-games/editor-core/dist/inspector.d.ts.map +1 -1
  254. package/node_modules/@fps-games/editor-core/dist/inspector.js +108 -0
  255. package/node_modules/@fps-games/editor-core/dist/inspector.js.map +1 -1
  256. package/node_modules/@fps-games/editor-core/dist/scene-graph.d.ts +5 -0
  257. package/node_modules/@fps-games/editor-core/dist/scene-graph.d.ts.map +1 -1
  258. package/node_modules/@fps-games/editor-core/dist/scene-graph.js.map +1 -1
  259. package/node_modules/@fps-games/editor-core/dist/transform-operation-policy.d.ts +27 -0
  260. package/node_modules/@fps-games/editor-core/dist/transform-operation-policy.d.ts.map +1 -0
  261. package/node_modules/@fps-games/editor-core/dist/transform-operation-policy.js +35 -0
  262. package/node_modules/@fps-games/editor-core/dist/transform-operation-policy.js.map +1 -0
  263. package/node_modules/@fps-games/editor-core/package.json +2 -2
  264. package/node_modules/@fps-games/editor-forge-play/dist/agent-transport.d.ts +23 -0
  265. package/node_modules/@fps-games/editor-forge-play/dist/agent-transport.d.ts.map +1 -0
  266. package/node_modules/@fps-games/editor-forge-play/dist/agent-transport.js +43 -0
  267. package/node_modules/@fps-games/editor-forge-play/dist/agent-transport.js.map +1 -0
  268. package/node_modules/@fps-games/editor-forge-play/dist/index.d.ts +1 -0
  269. package/node_modules/@fps-games/editor-forge-play/dist/index.d.ts.map +1 -1
  270. package/node_modules/@fps-games/editor-forge-play/dist/index.js +1 -0
  271. package/node_modules/@fps-games/editor-forge-play/dist/index.js.map +1 -1
  272. package/node_modules/@fps-games/editor-forge-play/package.json +2 -2
  273. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-bridge/drop-cache.d.ts +4 -0
  274. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-bridge/drop-cache.d.ts.map +1 -0
  275. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-bridge/drop-cache.js +93 -0
  276. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-bridge/drop-cache.js.map +1 -0
  277. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-bridge/index.d.ts +4 -0
  278. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-bridge/index.d.ts.map +1 -0
  279. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-bridge/index.js +4 -0
  280. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-bridge/index.js.map +1 -0
  281. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-bridge/payload.d.ts +15 -0
  282. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-bridge/payload.d.ts.map +1 -0
  283. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-bridge/payload.js +169 -0
  284. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-bridge/payload.js.map +1 -0
  285. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-bridge/types.d.ts +46 -0
  286. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-bridge/types.d.ts.map +1 -0
  287. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-bridge/types.js +2 -0
  288. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-bridge/types.js.map +1 -0
  289. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/catalog.d.ts +6 -0
  290. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/catalog.d.ts.map +1 -0
  291. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/catalog.js +64 -0
  292. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/catalog.js.map +1 -0
  293. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/document.d.ts +4 -0
  294. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/document.d.ts.map +1 -0
  295. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/document.js +28 -0
  296. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/document.js.map +1 -0
  297. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/index.d.ts +4 -0
  298. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/index.d.ts.map +1 -0
  299. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/index.js +3 -0
  300. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/index.js.map +1 -0
  301. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/types.d.ts +23 -0
  302. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/types.d.ts.map +1 -0
  303. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/types.js +2 -0
  304. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/types.js.map +1 -0
  305. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-placement/document.d.ts +8 -0
  306. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-placement/document.d.ts.map +1 -0
  307. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-placement/document.js +120 -0
  308. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-placement/document.js.map +1 -0
  309. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-placement/identity.d.ts +3 -0
  310. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-placement/identity.d.ts.map +1 -0
  311. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-placement/identity.js +19 -0
  312. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-placement/identity.js.map +1 -0
  313. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-placement/index.d.ts +5 -0
  314. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-placement/index.d.ts.map +1 -0
  315. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-placement/index.js +4 -0
  316. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-placement/index.js.map +1 -0
  317. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-placement/placement.d.ts +7 -0
  318. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-placement/placement.d.ts.map +1 -0
  319. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-placement/placement.js +35 -0
  320. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-placement/placement.js.map +1 -0
  321. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-placement/types.d.ts +33 -0
  322. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-placement/types.d.ts.map +1 -0
  323. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-placement/types.js +2 -0
  324. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-placement/types.js.map +1 -0
  325. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/index.d.ts +5 -0
  326. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/index.d.ts.map +1 -0
  327. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/index.js +5 -0
  328. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/index.js.map +1 -0
  329. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/result.d.ts +4 -0
  330. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/result.d.ts.map +1 -0
  331. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/result.js +22 -0
  332. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/result.js.map +1 -0
  333. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/transport.d.ts +3 -0
  334. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/transport.d.ts.map +1 -0
  335. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/transport.js +42 -0
  336. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/transport.js.map +1 -0
  337. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/types.d.ts +27 -0
  338. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/types.d.ts.map +1 -0
  339. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/types.js +2 -0
  340. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/types.js.map +1 -0
  341. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/workflow.d.ts +3 -0
  342. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/workflow.d.ts.map +1 -0
  343. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/workflow.js +36 -0
  344. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/workflow.js.map +1 -0
  345. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring/constants.d.ts +4 -0
  346. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring/constants.d.ts.map +1 -0
  347. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring/constants.js +4 -0
  348. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring/constants.js.map +1 -0
  349. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring/drift.d.ts +11 -0
  350. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring/drift.d.ts.map +1 -0
  351. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring/drift.js +66 -0
  352. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring/drift.js.map +1 -0
  353. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring/index.d.ts +4 -0
  354. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring/index.d.ts.map +1 -0
  355. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring/index.js +4 -0
  356. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring/index.js.map +1 -0
  357. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring/source.d.ts +7 -0
  358. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring/source.d.ts.map +1 -0
  359. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring/source.js +51 -0
  360. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring/source.js.map +1 -0
  361. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-client/client.d.ts +7 -0
  362. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-client/client.d.ts.map +1 -0
  363. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-client/client.js +60 -0
  364. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-client/client.js.map +1 -0
  365. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-client/index.d.ts +4 -0
  366. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-client/index.d.ts.map +1 -0
  367. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-client/index.js +4 -0
  368. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-client/index.js.map +1 -0
  369. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-client/types.d.ts +24 -0
  370. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-client/types.d.ts.map +1 -0
  371. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-client/types.js +2 -0
  372. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-client/types.js.map +1 -0
  373. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-server/handler.d.ts +3 -0
  374. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-server/handler.d.ts.map +1 -0
  375. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-server/handler.js +105 -0
  376. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-server/handler.js.map +1 -0
  377. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-server/index.d.ts +6 -0
  378. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-server/index.d.ts.map +1 -0
  379. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-server/index.js +6 -0
  380. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-server/index.js.map +1 -0
  381. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-server/payload.d.ts +2 -0
  382. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-server/payload.d.ts.map +1 -0
  383. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-server/payload.js +9 -0
  384. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-server/payload.js.map +1 -0
  385. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-server/response.d.ts +5 -0
  386. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-server/response.d.ts.map +1 -0
  387. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-server/response.js +18 -0
  388. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-server/response.js.map +1 -0
  389. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-server/routes.d.ts +3 -0
  390. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-server/routes.d.ts.map +1 -0
  391. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-server/routes.js +37 -0
  392. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-server/routes.js.map +1 -0
  393. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-server/types.d.ts +54 -0
  394. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-server/types.d.ts.map +1 -0
  395. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-server/types.js +2 -0
  396. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-server/types.js.map +1 -0
  397. package/node_modules/@fps-games/editor-playable-sdk/dist/bridge-command/index.d.ts +5 -0
  398. package/node_modules/@fps-games/editor-playable-sdk/dist/bridge-command/index.d.ts.map +1 -0
  399. package/node_modules/@fps-games/editor-playable-sdk/dist/bridge-command/index.js +5 -0
  400. package/node_modules/@fps-games/editor-playable-sdk/dist/bridge-command/index.js.map +1 -0
  401. package/node_modules/@fps-games/editor-playable-sdk/dist/bridge-command/payload.d.ts +8 -0
  402. package/node_modules/@fps-games/editor-playable-sdk/dist/bridge-command/payload.d.ts.map +1 -0
  403. package/node_modules/@fps-games/editor-playable-sdk/dist/bridge-command/payload.js +26 -0
  404. package/node_modules/@fps-games/editor-playable-sdk/dist/bridge-command/payload.js.map +1 -0
  405. package/node_modules/@fps-games/editor-playable-sdk/dist/bridge-command/protocol.d.ts +43 -0
  406. package/node_modules/@fps-games/editor-playable-sdk/dist/bridge-command/protocol.d.ts.map +1 -0
  407. package/node_modules/@fps-games/editor-playable-sdk/dist/bridge-command/protocol.js +5 -0
  408. package/node_modules/@fps-games/editor-playable-sdk/dist/bridge-command/protocol.js.map +1 -0
  409. package/node_modules/@fps-games/editor-playable-sdk/dist/bridge-command/readers.d.ts +9 -0
  410. package/node_modules/@fps-games/editor-playable-sdk/dist/bridge-command/readers.d.ts.map +1 -0
  411. package/node_modules/@fps-games/editor-playable-sdk/dist/bridge-command/readers.js +89 -0
  412. package/node_modules/@fps-games/editor-playable-sdk/dist/bridge-command/readers.js.map +1 -0
  413. package/node_modules/@fps-games/editor-playable-sdk/dist/bridge-command/types.d.ts +79 -0
  414. package/node_modules/@fps-games/editor-playable-sdk/dist/bridge-command/types.d.ts.map +1 -0
  415. package/node_modules/@fps-games/editor-playable-sdk/dist/bridge-command/types.js +2 -0
  416. package/node_modules/@fps-games/editor-playable-sdk/dist/bridge-command/types.js.map +1 -0
  417. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/binding.d.ts +10 -0
  418. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/binding.d.ts.map +1 -0
  419. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/binding.js +42 -0
  420. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/binding.js.map +1 -0
  421. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/fields.d.ts +74 -0
  422. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/fields.d.ts.map +1 -0
  423. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/fields.js +24 -0
  424. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/fields.js.map +1 -0
  425. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/index.d.ts +13 -0
  426. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/index.d.ts.map +1 -0
  427. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/index.js +13 -0
  428. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/index.js.map +1 -0
  429. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/math.d.ts +7 -0
  430. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/math.d.ts.map +1 -0
  431. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/math.js +19 -0
  432. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/math.js.map +1 -0
  433. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/pan.d.ts +12 -0
  434. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/pan.d.ts.map +1 -0
  435. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/pan.js +46 -0
  436. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/pan.js.map +1 -0
  437. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/panel-format.d.ts +5 -0
  438. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/panel-format.d.ts.map +1 -0
  439. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/panel-format.js +12 -0
  440. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/panel-format.js.map +1 -0
  441. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/panel-state.d.ts +38 -0
  442. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/panel-state.d.ts.map +1 -0
  443. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/panel-state.js +98 -0
  444. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/panel-state.js.map +1 -0
  445. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/panel-storage.d.ts +13 -0
  446. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/panel-storage.d.ts.map +1 -0
  447. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/panel-storage.js +33 -0
  448. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/panel-storage.js.map +1 -0
  449. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/panel-text.d.ts +10 -0
  450. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/panel-text.d.ts.map +1 -0
  451. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/panel-text.js +149 -0
  452. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/panel-text.js.map +1 -0
  453. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/rig.d.ts +8 -0
  454. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/rig.d.ts.map +1 -0
  455. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/rig.js +214 -0
  456. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/rig.js.map +1 -0
  457. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/save-patch.d.ts +17 -0
  458. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/save-patch.d.ts.map +1 -0
  459. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/save-patch.js +84 -0
  460. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/save-patch.js.map +1 -0
  461. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/snapshot.d.ts +32 -0
  462. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/snapshot.d.ts.map +1 -0
  463. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/snapshot.js +85 -0
  464. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/snapshot.js.map +1 -0
  465. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/types.d.ts +39 -0
  466. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/types.d.ts.map +1 -0
  467. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/types.js +2 -0
  468. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/types.js.map +1 -0
  469. package/node_modules/@fps-games/editor-playable-sdk/dist/commands/index.d.ts +3 -0
  470. package/node_modules/@fps-games/editor-playable-sdk/dist/commands/index.d.ts.map +1 -0
  471. package/node_modules/@fps-games/editor-playable-sdk/dist/commands/index.js +2 -0
  472. package/node_modules/@fps-games/editor-playable-sdk/dist/commands/index.js.map +1 -0
  473. package/node_modules/@fps-games/editor-playable-sdk/dist/commands/transform.d.ts +10 -0
  474. package/node_modules/@fps-games/editor-playable-sdk/dist/commands/transform.d.ts.map +1 -0
  475. package/node_modules/@fps-games/editor-playable-sdk/dist/commands/transform.js +88 -0
  476. package/node_modules/@fps-games/editor-playable-sdk/dist/commands/transform.js.map +1 -0
  477. package/node_modules/@fps-games/editor-playable-sdk/dist/commands/types.d.ts +50 -0
  478. package/node_modules/@fps-games/editor-playable-sdk/dist/commands/types.d.ts.map +1 -0
  479. package/node_modules/@fps-games/editor-playable-sdk/dist/commands/types.js +2 -0
  480. package/node_modules/@fps-games/editor-playable-sdk/dist/commands/types.js.map +1 -0
  481. package/node_modules/@fps-games/editor-playable-sdk/dist/core-contracts/index.d.ts +3 -0
  482. package/node_modules/@fps-games/editor-playable-sdk/dist/core-contracts/index.d.ts.map +1 -0
  483. package/node_modules/@fps-games/editor-playable-sdk/dist/core-contracts/index.js +2 -0
  484. package/node_modules/@fps-games/editor-playable-sdk/dist/core-contracts/index.js.map +1 -0
  485. package/node_modules/@fps-games/editor-playable-sdk/dist/document/helpers.d.ts +6 -0
  486. package/node_modules/@fps-games/editor-playable-sdk/dist/document/helpers.d.ts.map +1 -0
  487. package/node_modules/@fps-games/editor-playable-sdk/dist/document/helpers.js +31 -0
  488. package/node_modules/@fps-games/editor-playable-sdk/dist/document/helpers.js.map +1 -0
  489. package/node_modules/@fps-games/editor-playable-sdk/dist/document/index.d.ts +3 -0
  490. package/node_modules/@fps-games/editor-playable-sdk/dist/document/index.d.ts.map +1 -0
  491. package/node_modules/@fps-games/editor-playable-sdk/dist/document/index.js +3 -0
  492. package/node_modules/@fps-games/editor-playable-sdk/dist/document/index.js.map +1 -0
  493. package/node_modules/@fps-games/editor-playable-sdk/dist/document/types.d.ts +112 -0
  494. package/node_modules/@fps-games/editor-playable-sdk/dist/document/types.d.ts.map +1 -0
  495. package/node_modules/@fps-games/editor-playable-sdk/dist/document/types.js +2 -0
  496. package/node_modules/@fps-games/editor-playable-sdk/dist/document/types.js.map +1 -0
  497. package/node_modules/@fps-games/editor-playable-sdk/dist/field-schema/index.d.ts +5 -0
  498. package/node_modules/@fps-games/editor-playable-sdk/dist/field-schema/index.d.ts.map +1 -0
  499. package/node_modules/@fps-games/editor-playable-sdk/dist/field-schema/index.js +4 -0
  500. package/node_modules/@fps-games/editor-playable-sdk/dist/field-schema/index.js.map +1 -0
  501. package/node_modules/@fps-games/editor-playable-sdk/dist/field-schema/resolver.d.ts +3 -0
  502. package/node_modules/@fps-games/editor-playable-sdk/dist/field-schema/resolver.d.ts.map +1 -0
  503. package/node_modules/@fps-games/editor-playable-sdk/dist/field-schema/resolver.js +8 -0
  504. package/node_modules/@fps-games/editor-playable-sdk/dist/field-schema/resolver.js.map +1 -0
  505. package/node_modules/@fps-games/editor-playable-sdk/dist/field-schema/schema.d.ts +3 -0
  506. package/node_modules/@fps-games/editor-playable-sdk/dist/field-schema/schema.d.ts.map +1 -0
  507. package/node_modules/@fps-games/editor-playable-sdk/dist/field-schema/schema.js +201 -0
  508. package/node_modules/@fps-games/editor-playable-sdk/dist/field-schema/schema.js.map +1 -0
  509. package/node_modules/@fps-games/editor-playable-sdk/dist/field-schema/types.d.ts +28 -0
  510. package/node_modules/@fps-games/editor-playable-sdk/dist/field-schema/types.d.ts.map +1 -0
  511. package/node_modules/@fps-games/editor-playable-sdk/dist/field-schema/types.js +2 -0
  512. package/node_modules/@fps-games/editor-playable-sdk/dist/field-schema/types.js.map +1 -0
  513. package/node_modules/@fps-games/editor-playable-sdk/dist/field-schema/validators.d.ts +17 -0
  514. package/node_modules/@fps-games/editor-playable-sdk/dist/field-schema/validators.d.ts.map +1 -0
  515. package/node_modules/@fps-games/editor-playable-sdk/dist/field-schema/validators.js +81 -0
  516. package/node_modules/@fps-games/editor-playable-sdk/dist/field-schema/validators.js.map +1 -0
  517. package/node_modules/@fps-games/editor-playable-sdk/dist/index.d.ts +27 -0
  518. package/node_modules/@fps-games/editor-playable-sdk/dist/index.d.ts.map +1 -0
  519. package/node_modules/@fps-games/editor-playable-sdk/dist/index.js +27 -0
  520. package/node_modules/@fps-games/editor-playable-sdk/dist/index.js.map +1 -0
  521. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/document-property.d.ts +5 -0
  522. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/document-property.d.ts.map +1 -0
  523. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/document-property.js +16 -0
  524. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/document-property.js.map +1 -0
  525. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/document-sections.d.ts +47 -0
  526. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/document-sections.d.ts.map +1 -0
  527. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/document-sections.js +545 -0
  528. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/document-sections.js.map +1 -0
  529. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/format.d.ts +7 -0
  530. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/format.d.ts.map +1 -0
  531. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/format.js +15 -0
  532. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/format.js.map +1 -0
  533. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/index.d.ts +12 -0
  534. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/index.d.ts.map +1 -0
  535. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/index.js +10 -0
  536. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/index.js.map +1 -0
  537. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/readonly.d.ts +8 -0
  538. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/readonly.d.ts.map +1 -0
  539. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/readonly.js +99 -0
  540. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/readonly.js.map +1 -0
  541. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/runtime-sections.d.ts +58 -0
  542. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/runtime-sections.d.ts.map +1 -0
  543. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/runtime-sections.js +557 -0
  544. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/runtime-sections.js.map +1 -0
  545. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/runtime-summary.d.ts +30 -0
  546. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/runtime-summary.d.ts.map +1 -0
  547. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/runtime-summary.js +105 -0
  548. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/runtime-summary.js.map +1 -0
  549. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/runtime.d.ts +9 -0
  550. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/runtime.d.ts.map +1 -0
  551. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/runtime.js +56 -0
  552. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/runtime.js.map +1 -0
  553. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/safe-value.d.ts +2 -0
  554. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/safe-value.d.ts.map +1 -0
  555. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/safe-value.js +33 -0
  556. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/safe-value.js.map +1 -0
  557. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/types.d.ts +61 -0
  558. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/types.d.ts.map +1 -0
  559. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/types.js +2 -0
  560. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/types.js.map +1 -0
  561. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/validation.d.ts +7 -0
  562. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/validation.d.ts.map +1 -0
  563. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/validation.js +61 -0
  564. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/validation.js.map +1 -0
  565. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-debug/binding.d.ts +4 -0
  566. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-debug/binding.d.ts.map +1 -0
  567. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-debug/binding.js +48 -0
  568. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-debug/binding.js.map +1 -0
  569. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-debug/fields.d.ts +6 -0
  570. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-debug/fields.d.ts.map +1 -0
  571. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-debug/fields.js +16 -0
  572. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-debug/fields.js.map +1 -0
  573. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-debug/index.d.ts +9 -0
  574. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-debug/index.d.ts.map +1 -0
  575. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-debug/index.js +9 -0
  576. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-debug/index.js.map +1 -0
  577. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-debug/math.d.ts +19 -0
  578. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-debug/math.d.ts.map +1 -0
  579. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-debug/math.js +95 -0
  580. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-debug/math.js.map +1 -0
  581. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-debug/save-patch.d.ts +8 -0
  582. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-debug/save-patch.d.ts.map +1 -0
  583. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-debug/save-patch.js +162 -0
  584. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-debug/save-patch.js.map +1 -0
  585. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-debug/snapshot.d.ts +10 -0
  586. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-debug/snapshot.d.ts.map +1 -0
  587. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-debug/snapshot.js +71 -0
  588. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-debug/snapshot.js.map +1 -0
  589. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-debug/storage.d.ts +13 -0
  590. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-debug/storage.d.ts.map +1 -0
  591. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-debug/storage.js +34 -0
  592. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-debug/storage.js.map +1 -0
  593. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-debug/text.d.ts +7 -0
  594. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-debug/text.d.ts.map +1 -0
  595. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-debug/text.js +108 -0
  596. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-debug/text.js.map +1 -0
  597. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-debug/types.d.ts +72 -0
  598. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-debug/types.d.ts.map +1 -0
  599. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-debug/types.js +2 -0
  600. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-debug/types.js.map +1 -0
  601. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-preview/index.d.ts +4 -0
  602. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-preview/index.d.ts.map +1 -0
  603. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-preview/index.js +4 -0
  604. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-preview/index.js.map +1 -0
  605. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-preview/math.d.ts +13 -0
  606. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-preview/math.d.ts.map +1 -0
  607. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-preview/math.js +70 -0
  608. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-preview/math.js.map +1 -0
  609. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-preview/profile.d.ts +7 -0
  610. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-preview/profile.d.ts.map +1 -0
  611. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-preview/profile.js +86 -0
  612. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-preview/profile.js.map +1 -0
  613. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-preview/types.d.ts +31 -0
  614. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-preview/types.d.ts.map +1 -0
  615. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-preview/types.js +2 -0
  616. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-preview/types.js.map +1 -0
  617. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/forge-play-types.d.ts +80 -0
  618. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/forge-play-types.d.ts.map +1 -0
  619. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/forge-play-types.js +2 -0
  620. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/forge-play-types.js.map +1 -0
  621. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/forge-play.d.ts +39 -0
  622. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/forge-play.d.ts.map +1 -0
  623. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/forge-play.js +371 -0
  624. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/forge-play.js.map +1 -0
  625. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/host-controller.d.ts +58 -0
  626. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/host-controller.d.ts.map +1 -0
  627. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/host-controller.js +125 -0
  628. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/host-controller.js.map +1 -0
  629. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/index.d.ts +11 -0
  630. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/index.d.ts.map +1 -0
  631. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/index.js +7 -0
  632. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/index.js.map +1 -0
  633. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/lifecycle.d.ts +3 -0
  634. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/lifecycle.d.ts.map +1 -0
  635. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/lifecycle.js +87 -0
  636. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/lifecycle.js.map +1 -0
  637. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/loading-overlay.d.ts +3 -0
  638. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/loading-overlay.d.ts.map +1 -0
  639. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/loading-overlay.js +82 -0
  640. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/loading-overlay.js.map +1 -0
  641. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/project-asset-commands.d.ts +37 -0
  642. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/project-asset-commands.d.ts.map +1 -0
  643. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/project-asset-commands.js +140 -0
  644. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/project-asset-commands.js.map +1 -0
  645. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/timing.d.ts +3 -0
  646. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/timing.d.ts.map +1 -0
  647. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/timing.js +16 -0
  648. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/timing.js.map +1 -0
  649. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/types.d.ts +40 -0
  650. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/types.d.ts.map +1 -0
  651. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/types.js +2 -0
  652. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/types.js.map +1 -0
  653. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/binding.d.ts +13 -0
  654. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/binding.d.ts.map +1 -0
  655. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/binding.js +299 -0
  656. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/binding.js.map +1 -0
  657. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/duplicate.d.ts +26 -0
  658. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/duplicate.d.ts.map +1 -0
  659. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/duplicate.js +251 -0
  660. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/duplicate.js.map +1 -0
  661. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/index.d.ts +11 -0
  662. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/index.d.ts.map +1 -0
  663. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/index.js +11 -0
  664. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/index.js.map +1 -0
  665. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/inspector.d.ts +28 -0
  666. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/inspector.d.ts.map +1 -0
  667. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/inspector.js +188 -0
  668. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/inspector.js.map +1 -0
  669. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/paths.d.ts +26 -0
  670. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/paths.d.ts.map +1 -0
  671. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/paths.js +222 -0
  672. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/paths.js.map +1 -0
  673. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/preview.d.ts +15 -0
  674. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/preview.d.ts.map +1 -0
  675. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/preview.js +97 -0
  676. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/preview.js.map +1 -0
  677. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/profile.d.ts +6 -0
  678. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/profile.d.ts.map +1 -0
  679. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/profile.js +128 -0
  680. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/profile.js.map +1 -0
  681. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/reimport.d.ts +3 -0
  682. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/reimport.d.ts.map +1 -0
  683. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/reimport.js +259 -0
  684. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/reimport.js.map +1 -0
  685. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/resolver.d.ts +22 -0
  686. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/resolver.d.ts.map +1 -0
  687. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/resolver.js +49 -0
  688. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/resolver.js.map +1 -0
  689. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/types.d.ts +433 -0
  690. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/types.d.ts.map +1 -0
  691. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/types.js +2 -0
  692. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/types.js.map +1 -0
  693. package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/field-patch.d.ts +5 -0
  694. package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/field-patch.d.ts.map +1 -0
  695. package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/field-patch.js +224 -0
  696. package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/field-patch.js.map +1 -0
  697. package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/index.d.ts +7 -0
  698. package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/index.d.ts.map +1 -0
  699. package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/index.js +5 -0
  700. package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/index.js.map +1 -0
  701. package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/json-field.d.ts +5 -0
  702. package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/json-field.d.ts.map +1 -0
  703. package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/json-field.js +76 -0
  704. package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/json-field.js.map +1 -0
  705. package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/reducer.d.ts +6 -0
  706. package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/reducer.d.ts.map +1 -0
  707. package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/reducer.js +242 -0
  708. package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/reducer.js.map +1 -0
  709. package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/transform.d.ts +4 -0
  710. package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/transform.d.ts.map +1 -0
  711. package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/transform.js +30 -0
  712. package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/transform.js.map +1 -0
  713. package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/types.d.ts +62 -0
  714. package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/types.d.ts.map +1 -0
  715. package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/types.js +2 -0
  716. package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/types.js.map +1 -0
  717. package/node_modules/@fps-games/editor-playable-sdk/dist/package-resolution/aliases.d.ts +9 -0
  718. package/node_modules/@fps-games/editor-playable-sdk/dist/package-resolution/aliases.d.ts.map +1 -0
  719. package/node_modules/@fps-games/editor-playable-sdk/dist/package-resolution/aliases.js +131 -0
  720. package/node_modules/@fps-games/editor-playable-sdk/dist/package-resolution/aliases.js.map +1 -0
  721. package/node_modules/@fps-games/editor-playable-sdk/dist/package-resolution/index.d.ts +3 -0
  722. package/node_modules/@fps-games/editor-playable-sdk/dist/package-resolution/index.d.ts.map +1 -0
  723. package/node_modules/@fps-games/editor-playable-sdk/dist/package-resolution/index.js +3 -0
  724. package/node_modules/@fps-games/editor-playable-sdk/dist/package-resolution/index.js.map +1 -0
  725. package/node_modules/@fps-games/editor-playable-sdk/dist/package-resolution/types.d.ts +41 -0
  726. package/node_modules/@fps-games/editor-playable-sdk/dist/package-resolution/types.d.ts.map +1 -0
  727. package/node_modules/@fps-games/editor-playable-sdk/dist/package-resolution/types.js +2 -0
  728. package/node_modules/@fps-games/editor-playable-sdk/dist/package-resolution/types.js.map +1 -0
  729. package/node_modules/@fps-games/editor-playable-sdk/dist/rendering-profile/draft.d.ts +8 -0
  730. package/node_modules/@fps-games/editor-playable-sdk/dist/rendering-profile/draft.d.ts.map +1 -0
  731. package/node_modules/@fps-games/editor-playable-sdk/dist/rendering-profile/draft.js +45 -0
  732. package/node_modules/@fps-games/editor-playable-sdk/dist/rendering-profile/draft.js.map +1 -0
  733. package/node_modules/@fps-games/editor-playable-sdk/dist/rendering-profile/index.d.ts +6 -0
  734. package/node_modules/@fps-games/editor-playable-sdk/dist/rendering-profile/index.d.ts.map +1 -0
  735. package/node_modules/@fps-games/editor-playable-sdk/dist/rendering-profile/index.js +6 -0
  736. package/node_modules/@fps-games/editor-playable-sdk/dist/rendering-profile/index.js.map +1 -0
  737. package/node_modules/@fps-games/editor-playable-sdk/dist/rendering-profile/panel.d.ts +3 -0
  738. package/node_modules/@fps-games/editor-playable-sdk/dist/rendering-profile/panel.d.ts.map +1 -0
  739. package/node_modules/@fps-games/editor-playable-sdk/dist/rendering-profile/panel.js +759 -0
  740. package/node_modules/@fps-games/editor-playable-sdk/dist/rendering-profile/panel.js.map +1 -0
  741. package/node_modules/@fps-games/editor-playable-sdk/dist/rendering-profile/profile.d.ts +11 -0
  742. package/node_modules/@fps-games/editor-playable-sdk/dist/rendering-profile/profile.d.ts.map +1 -0
  743. package/node_modules/@fps-games/editor-playable-sdk/dist/rendering-profile/profile.js +512 -0
  744. package/node_modules/@fps-games/editor-playable-sdk/dist/rendering-profile/profile.js.map +1 -0
  745. package/node_modules/@fps-games/editor-playable-sdk/dist/rendering-profile/route.d.ts +4 -0
  746. package/node_modules/@fps-games/editor-playable-sdk/dist/rendering-profile/route.d.ts.map +1 -0
  747. package/node_modules/@fps-games/editor-playable-sdk/dist/rendering-profile/route.js +73 -0
  748. package/node_modules/@fps-games/editor-playable-sdk/dist/rendering-profile/route.js.map +1 -0
  749. package/node_modules/@fps-games/editor-playable-sdk/dist/rendering-profile/types.d.ts +290 -0
  750. package/node_modules/@fps-games/editor-playable-sdk/dist/rendering-profile/types.d.ts.map +1 -0
  751. package/node_modules/@fps-games/editor-playable-sdk/dist/rendering-profile/types.js +2 -0
  752. package/node_modules/@fps-games/editor-playable-sdk/dist/rendering-profile/types.js.map +1 -0
  753. package/node_modules/@fps-games/editor-playable-sdk/dist/runtime-preview/assets.d.ts +9 -0
  754. package/node_modules/@fps-games/editor-playable-sdk/dist/runtime-preview/assets.d.ts.map +1 -0
  755. package/node_modules/@fps-games/editor-playable-sdk/dist/runtime-preview/assets.js +136 -0
  756. package/node_modules/@fps-games/editor-playable-sdk/dist/runtime-preview/assets.js.map +1 -0
  757. package/node_modules/@fps-games/editor-playable-sdk/dist/runtime-preview/import-plan.d.ts +18 -0
  758. package/node_modules/@fps-games/editor-playable-sdk/dist/runtime-preview/import-plan.d.ts.map +1 -0
  759. package/node_modules/@fps-games/editor-playable-sdk/dist/runtime-preview/import-plan.js +65 -0
  760. package/node_modules/@fps-games/editor-playable-sdk/dist/runtime-preview/import-plan.js.map +1 -0
  761. package/node_modules/@fps-games/editor-playable-sdk/dist/runtime-preview/index.d.ts +5 -0
  762. package/node_modules/@fps-games/editor-playable-sdk/dist/runtime-preview/index.d.ts.map +1 -0
  763. package/node_modules/@fps-games/editor-playable-sdk/dist/runtime-preview/index.js +5 -0
  764. package/node_modules/@fps-games/editor-playable-sdk/dist/runtime-preview/index.js.map +1 -0
  765. package/node_modules/@fps-games/editor-playable-sdk/dist/runtime-preview/nodes.d.ts +6 -0
  766. package/node_modules/@fps-games/editor-playable-sdk/dist/runtime-preview/nodes.d.ts.map +1 -0
  767. package/node_modules/@fps-games/editor-playable-sdk/dist/runtime-preview/nodes.js +211 -0
  768. package/node_modules/@fps-games/editor-playable-sdk/dist/runtime-preview/nodes.js.map +1 -0
  769. package/node_modules/@fps-games/editor-playable-sdk/dist/runtime-preview/types.d.ts +80 -0
  770. package/node_modules/@fps-games/editor-playable-sdk/dist/runtime-preview/types.d.ts.map +1 -0
  771. package/node_modules/@fps-games/editor-playable-sdk/dist/runtime-preview/types.js +2 -0
  772. package/node_modules/@fps-games/editor-playable-sdk/dist/runtime-preview/types.js.map +1 -0
  773. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/artifacts.d.ts +7 -0
  774. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/artifacts.d.ts.map +1 -0
  775. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/artifacts.js +78 -0
  776. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/artifacts.js.map +1 -0
  777. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/client.d.ts +7 -0
  778. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/client.d.ts.map +1 -0
  779. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/client.js +73 -0
  780. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/client.js.map +1 -0
  781. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/companion-configs.d.ts +10 -0
  782. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/companion-configs.d.ts.map +1 -0
  783. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/companion-configs.js +43 -0
  784. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/companion-configs.js.map +1 -0
  785. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/driver.d.ts +5 -0
  786. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/driver.d.ts.map +1 -0
  787. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/driver.js +49 -0
  788. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/driver.js.map +1 -0
  789. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/index.d.ts +7 -0
  790. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/index.d.ts.map +1 -0
  791. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/index.js +7 -0
  792. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/index.js.map +1 -0
  793. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/protocol.d.ts +7 -0
  794. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/protocol.d.ts.map +1 -0
  795. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/protocol.js +81 -0
  796. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/protocol.js.map +1 -0
  797. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/types.d.ts +37 -0
  798. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/types.d.ts.map +1 -0
  799. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/types.js +2 -0
  800. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/types.js.map +1 -0
  801. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/validation.d.ts +4 -0
  802. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/validation.d.ts.map +1 -0
  803. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/validation.js +60 -0
  804. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/validation.js.map +1 -0
  805. package/node_modules/@fps-games/editor-playable-sdk/dist/serialized-property/descriptors.d.ts +6 -0
  806. package/node_modules/@fps-games/editor-playable-sdk/dist/serialized-property/descriptors.d.ts.map +1 -0
  807. package/node_modules/@fps-games/editor-playable-sdk/dist/serialized-property/descriptors.js +164 -0
  808. package/node_modules/@fps-games/editor-playable-sdk/dist/serialized-property/descriptors.js.map +1 -0
  809. package/node_modules/@fps-games/editor-playable-sdk/dist/serialized-property/index.d.ts +5 -0
  810. package/node_modules/@fps-games/editor-playable-sdk/dist/serialized-property/index.d.ts.map +1 -0
  811. package/node_modules/@fps-games/editor-playable-sdk/dist/serialized-property/index.js +4 -0
  812. package/node_modules/@fps-games/editor-playable-sdk/dist/serialized-property/index.js.map +1 -0
  813. package/node_modules/@fps-games/editor-playable-sdk/dist/serialized-property/object.d.ts +6 -0
  814. package/node_modules/@fps-games/editor-playable-sdk/dist/serialized-property/object.d.ts.map +1 -0
  815. package/node_modules/@fps-games/editor-playable-sdk/dist/serialized-property/object.js +31 -0
  816. package/node_modules/@fps-games/editor-playable-sdk/dist/serialized-property/object.js.map +1 -0
  817. package/node_modules/@fps-games/editor-playable-sdk/dist/serialized-property/patch.d.ts +4 -0
  818. package/node_modules/@fps-games/editor-playable-sdk/dist/serialized-property/patch.d.ts.map +1 -0
  819. package/node_modules/@fps-games/editor-playable-sdk/dist/serialized-property/patch.js +18 -0
  820. package/node_modules/@fps-games/editor-playable-sdk/dist/serialized-property/patch.js.map +1 -0
  821. package/node_modules/@fps-games/editor-playable-sdk/dist/serialized-property/types.d.ts +34 -0
  822. package/node_modules/@fps-games/editor-playable-sdk/dist/serialized-property/types.d.ts.map +1 -0
  823. package/node_modules/@fps-games/editor-playable-sdk/dist/serialized-property/types.js +2 -0
  824. package/node_modules/@fps-games/editor-playable-sdk/dist/serialized-property/types.js.map +1 -0
  825. package/node_modules/@fps-games/editor-playable-sdk/dist/session/classification.d.ts +9 -0
  826. package/node_modules/@fps-games/editor-playable-sdk/dist/session/classification.d.ts.map +1 -0
  827. package/node_modules/@fps-games/editor-playable-sdk/dist/session/classification.js +24 -0
  828. package/node_modules/@fps-games/editor-playable-sdk/dist/session/classification.js.map +1 -0
  829. package/node_modules/@fps-games/editor-playable-sdk/dist/session/hierarchy.d.ts +7 -0
  830. package/node_modules/@fps-games/editor-playable-sdk/dist/session/hierarchy.d.ts.map +1 -0
  831. package/node_modules/@fps-games/editor-playable-sdk/dist/session/hierarchy.js +206 -0
  832. package/node_modules/@fps-games/editor-playable-sdk/dist/session/hierarchy.js.map +1 -0
  833. package/node_modules/@fps-games/editor-playable-sdk/dist/session/identity.d.ts +7 -0
  834. package/node_modules/@fps-games/editor-playable-sdk/dist/session/identity.d.ts.map +1 -0
  835. package/node_modules/@fps-games/editor-playable-sdk/dist/session/identity.js +47 -0
  836. package/node_modules/@fps-games/editor-playable-sdk/dist/session/identity.js.map +1 -0
  837. package/node_modules/@fps-games/editor-playable-sdk/dist/session/index.d.ts +8 -0
  838. package/node_modules/@fps-games/editor-playable-sdk/dist/session/index.d.ts.map +1 -0
  839. package/node_modules/@fps-games/editor-playable-sdk/dist/session/index.js +6 -0
  840. package/node_modules/@fps-games/editor-playable-sdk/dist/session/index.js.map +1 -0
  841. package/node_modules/@fps-games/editor-playable-sdk/dist/session/patches.d.ts +91 -0
  842. package/node_modules/@fps-games/editor-playable-sdk/dist/session/patches.d.ts.map +1 -0
  843. package/node_modules/@fps-games/editor-playable-sdk/dist/session/patches.js +579 -0
  844. package/node_modules/@fps-games/editor-playable-sdk/dist/session/patches.js.map +1 -0
  845. package/node_modules/@fps-games/editor-playable-sdk/dist/session/transform.d.ts +14 -0
  846. package/node_modules/@fps-games/editor-playable-sdk/dist/session/transform.d.ts.map +1 -0
  847. package/node_modules/@fps-games/editor-playable-sdk/dist/session/transform.js +90 -0
  848. package/node_modules/@fps-games/editor-playable-sdk/dist/session/transform.js.map +1 -0
  849. package/node_modules/@fps-games/editor-playable-sdk/dist/session/types.d.ts +7 -0
  850. package/node_modules/@fps-games/editor-playable-sdk/dist/session/types.d.ts.map +1 -0
  851. package/node_modules/@fps-games/editor-playable-sdk/dist/session/types.js +2 -0
  852. package/node_modules/@fps-games/editor-playable-sdk/dist/session/types.js.map +1 -0
  853. package/node_modules/@fps-games/editor-playable-sdk/dist/shared/http.d.ts +4 -0
  854. package/node_modules/@fps-games/editor-playable-sdk/dist/shared/http.d.ts.map +1 -0
  855. package/node_modules/@fps-games/editor-playable-sdk/dist/shared/http.js +15 -0
  856. package/node_modules/@fps-games/editor-playable-sdk/dist/shared/http.js.map +1 -0
  857. package/node_modules/@fps-games/editor-playable-sdk/dist/shared/json.d.ts +3 -0
  858. package/node_modules/@fps-games/editor-playable-sdk/dist/shared/json.d.ts.map +1 -0
  859. package/node_modules/@fps-games/editor-playable-sdk/dist/shared/json.js +9 -0
  860. package/node_modules/@fps-games/editor-playable-sdk/dist/shared/json.js.map +1 -0
  861. package/node_modules/@fps-games/editor-playable-sdk/dist/upgrade-doctor/index.d.ts +4 -0
  862. package/node_modules/@fps-games/editor-playable-sdk/dist/upgrade-doctor/index.d.ts.map +1 -0
  863. package/node_modules/@fps-games/editor-playable-sdk/dist/upgrade-doctor/index.js +4 -0
  864. package/node_modules/@fps-games/editor-playable-sdk/dist/upgrade-doctor/index.js.map +1 -0
  865. package/node_modules/@fps-games/editor-playable-sdk/dist/upgrade-doctor/inspectors.d.ts +19 -0
  866. package/node_modules/@fps-games/editor-playable-sdk/dist/upgrade-doctor/inspectors.d.ts.map +1 -0
  867. package/node_modules/@fps-games/editor-playable-sdk/dist/upgrade-doctor/inspectors.js +268 -0
  868. package/node_modules/@fps-games/editor-playable-sdk/dist/upgrade-doctor/inspectors.js.map +1 -0
  869. package/node_modules/@fps-games/editor-playable-sdk/dist/upgrade-doctor/report.d.ts +7 -0
  870. package/node_modules/@fps-games/editor-playable-sdk/dist/upgrade-doctor/report.d.ts.map +1 -0
  871. package/node_modules/@fps-games/editor-playable-sdk/dist/upgrade-doctor/report.js +38 -0
  872. package/node_modules/@fps-games/editor-playable-sdk/dist/upgrade-doctor/report.js.map +1 -0
  873. package/node_modules/@fps-games/editor-playable-sdk/dist/upgrade-doctor/types.d.ts +87 -0
  874. package/node_modules/@fps-games/editor-playable-sdk/dist/upgrade-doctor/types.d.ts.map +1 -0
  875. package/node_modules/@fps-games/editor-playable-sdk/dist/upgrade-doctor/types.js +2 -0
  876. package/node_modules/@fps-games/editor-playable-sdk/dist/upgrade-doctor/types.js.map +1 -0
  877. package/node_modules/@fps-games/editor-playable-sdk/package.json +20 -0
  878. package/node_modules/@fps-games/editor-protocol/dist/agent.d.ts +113 -0
  879. package/node_modules/@fps-games/editor-protocol/dist/agent.d.ts.map +1 -0
  880. package/node_modules/@fps-games/editor-protocol/dist/agent.js +5 -0
  881. package/node_modules/@fps-games/editor-protocol/dist/agent.js.map +1 -0
  882. package/node_modules/@fps-games/editor-protocol/dist/index.d.ts +45 -4
  883. package/node_modules/@fps-games/editor-protocol/dist/index.d.ts.map +1 -1
  884. package/node_modules/@fps-games/editor-protocol/dist/index.js +115 -2
  885. package/node_modules/@fps-games/editor-protocol/dist/index.js.map +1 -1
  886. package/node_modules/@fps-games/editor-protocol/package.json +1 -1
  887. package/package.json +13 -7
@@ -1,13 +1,18 @@
1
- import { createEditorSession, createInspectorRegistry, DEFAULT_EDITOR_TRANSFORM_OPERATION_SETTINGS, DEFAULT_EDITOR_VIEWPORT_TOOL_STATE, createEmptyEditorViewportSpatialOverlayState, cloneEditorViewportToolState, cloneEditorViewportSpatialOverlayState, createInspectorEditPayload, computeEditorTransformActionTargets, mergeInspectorSections, normalizeEditorTransformConstraint, resolveEditorSelectionCommand, serializedMultiObjectToInspectorObject, serializedObjectToInspectorObject, validateSceneGraphDelete, validateSceneGraphDrop, validateSceneGraphGroupSelection, validateSceneGraphMove, validateSceneGraphRename, } from '@fps-games/editor-core';
2
- import { createLocalEditorBrowserUi, } from '@fps-games/editor-browser';
1
+ import { createEditorSession, createInspectorRegistry, DEFAULT_EDITOR_TRANSFORM_OPERATION_SETTINGS, DEFAULT_EDITOR_VIEWPORT_TOOL_STATE, createEmptyEditorViewportSpatialOverlayState, cloneEditorViewportToolState, cloneEditorViewportSpatialOverlayState, aggregateInspectorObjectsToMultiObject, createInspectorEditPayload, compareInspectorSections, computeEditorTransformActionTargets, mergeInspectorSections, normalizeEditorTransformConstraint, resolveEditorSelectionCommand, serializedMultiObjectToInspectorObject, serializedObjectToInspectorObject, validateSceneGraphDelete, validateSceneGraphDrop, validateSceneGraphGroupSelection, validateSceneGraphMove, validateSceneGraphRename, } from '@fps-games/editor-core';
2
+ import { createLocalEditorBrowserUi, toTransformOperationPolicyStatusLabel, } from '@fps-games/editor-browser';
3
+ import { createBabylonEnvironmentTextureController, createBabylonDefaultPostProcessPipelineController, } from '@fps-games/babylon-renderer';
3
4
  import { createBabylonEditorProjection, createBabylonEditorWorld, createBabylonProjectionSelectionController, createBabylonSceneCameraPreviewController, createBabylonSceneViewCameraController, createBabylonSceneViewInputController, createBabylonSceneViewMeasurementController, createBabylonSceneViewSpatialOverlayController, createBabylonEditorShadowPreviewController, createBabylonTransformGizmoController, focusEditorViewportSelection, } from '@fps-games/editor-babylon';
4
- import { createLocalEditorSceneRenderScheduler, } from './local-editor-scene-render-scheduler';
5
- import { createLocalEditorViewportRenderCoordinator, } from './local-editor-viewport-render-coordinator';
6
- import { createLocalEditorSceneViewInteractionRuntime, } from './local-editor-scene-view-interaction-runtime';
5
+ import { createLocalEditorSceneRenderScheduler, } from './local-editor-scene-render-scheduler.js';
6
+ import { createPlayableBabylonOutlineInspectorSection, createPlayableBabylonOutlineInspectorSeedPatchValue, isPlayableBabylonOutlineInspectorPatchPath, } from './playable-babylon-outline-inspector.js';
7
+ import { createLocalEditorViewportRenderCoordinator, } from './local-editor-viewport-render-coordinator.js';
8
+ import { createLocalEditorSceneViewInteractionRuntime, } from './local-editor-scene-view-interaction-runtime.js';
9
+ const BATCH_EDIT_REQUIRES_MULTI_PATCH_REASON = 'Batch edit requires multi-property patch support.';
7
10
  export function createLocalEditorHarness(options) {
8
11
  const root = options.root ?? document.body;
9
12
  const state = {
10
13
  mode: 'game',
14
+ editorStateRevision: 0,
15
+ sceneArtifactRevision: 0,
11
16
  busy: false,
12
17
  session: null,
13
18
  source: null,
@@ -21,6 +26,8 @@ export function createLocalEditorHarness(options) {
21
26
  gridVisible: true,
22
27
  projection: null,
23
28
  shadowPreview: null,
29
+ environmentTexture: null,
30
+ postProcess: null,
24
31
  projectionShadowPreviewRebuildFrame: null,
25
32
  gizmo: null,
26
33
  sceneCameraPreview: null,
@@ -45,6 +52,7 @@ export function createLocalEditorHarness(options) {
45
52
  viewportMeasurement: createEmptyViewportMeasurement(),
46
53
  viewportSpatialOverlay: createEmptyEditorViewportSpatialOverlayState(),
47
54
  duplicateDrag: null,
55
+ activeTransformPreview: null,
48
56
  armedPlacement: null,
49
57
  resizeHandler: null,
50
58
  status: 'Game running',
@@ -99,12 +107,14 @@ export function createLocalEditorHarness(options) {
99
107
  harness.render();
100
108
  },
101
109
  onSelectHierarchyItem: (input) => {
102
- if (selectItem(state, options, input))
110
+ selectItem(state, options, input, harness.render);
111
+ },
112
+ onHierarchyItemEnabledChange: (input) => {
113
+ if (patchHierarchyItemEnabled(state, options, input))
103
114
  harness.render();
104
115
  },
105
116
  onSelectionCommand: (command) => {
106
- if (dispatchSelectionCommand(state, options, command))
107
- harness.render();
117
+ dispatchSelectionCommand(state, options, command, harness.render);
108
118
  },
109
119
  onSceneGraphRename: (intent) => {
110
120
  if (renameSceneGraphNode(state, options, intent))
@@ -178,64 +188,69 @@ export function createLocalEditorHarness(options) {
178
188
  }
179
189
  : undefined,
180
190
  onTransformToolChange: (tool) => {
181
- state.transformTool = tool;
182
- state.transformConstraint = normalizeTransformConstraint(tool, state.transformConstraint);
183
- state.gizmo?.setTool(tool);
184
- state.gizmo?.setConstraint(state.transformConstraint);
185
- harness.render();
186
- requestEditorSceneFrame(state, 'transform-tool-change');
191
+ commitEditorStateChange(state, harness.render, 'transform-tool-change', () => {
192
+ state.transformTool = tool;
193
+ state.transformConstraint = normalizeTransformConstraint(tool, state.transformConstraint);
194
+ }, {
195
+ syncTransformArtifacts: true,
196
+ });
187
197
  },
188
198
  onTransformSpaceChange: (space) => {
189
- state.transformSpace = space;
190
- state.gizmo?.setSpace(space);
191
- harness.render();
192
- requestEditorSceneFrame(state, 'transform-space-change');
199
+ commitEditorStateChange(state, harness.render, 'transform-space-change', () => {
200
+ state.transformSpace = space;
201
+ }, {
202
+ syncTransformArtifacts: true,
203
+ });
193
204
  },
194
205
  onTransformConstraintChange: (constraint) => {
195
- state.transformConstraint = normalizeTransformConstraint(state.transformTool, constraint);
196
- state.gizmo?.setConstraint(state.transformConstraint);
197
- harness.render();
198
- requestEditorSceneFrame(state, 'transform-constraint-change');
206
+ commitEditorStateChange(state, harness.render, 'transform-constraint-change', () => {
207
+ state.transformConstraint = normalizeTransformConstraint(state.transformTool, constraint);
208
+ }, {
209
+ syncTransformArtifacts: true,
210
+ });
199
211
  },
200
212
  onTransformSnapEnabledChange: (enabled) => {
201
- state.transformOperationSettings = updateTransformOperationSettings(state.transformOperationSettings, {
202
- snap: {
203
- ...state.transformOperationSettings.snap,
204
- enabled,
205
- },
213
+ commitEditorStateChange(state, harness.render, 'transform-operation-settings-change', () => {
214
+ state.transformOperationSettings = updateTransformOperationSettings(state.transformOperationSettings, {
215
+ snap: {
216
+ ...state.transformOperationSettings.snap,
217
+ enabled,
218
+ },
219
+ });
220
+ state.status = enabled ? 'Transform snap enabled' : 'Transform snap disabled';
221
+ }, {
222
+ syncTransformOperationArtifacts: true,
206
223
  });
207
- state.gizmo?.setOperationSettings(state.transformOperationSettings);
208
- state.status = enabled ? 'Transform snap enabled' : 'Transform snap disabled';
209
- harness.render();
210
- requestEditorSceneFrame(state, 'transform-operation-settings-change');
211
224
  },
212
225
  onTransformSnapStepChange: (input) => {
213
226
  const value = normalizePositiveStep(input.value);
214
227
  if (value == null)
215
228
  return;
216
- const snap = { ...state.transformOperationSettings.snap };
217
- if (input.kind === 'move')
218
- snap.moveStep = value;
219
- else if (input.kind === 'rotate')
220
- snap.rotateStepDegrees = value;
221
- else
222
- snap.scaleStep = value;
223
- state.transformOperationSettings = updateTransformOperationSettings(state.transformOperationSettings, { snap });
224
- state.gizmo?.setOperationSettings(state.transformOperationSettings);
225
- state.status = `Transform snap ${input.kind} step ${value}`;
226
- harness.render();
227
- requestEditorSceneFrame(state, 'transform-operation-settings-change');
229
+ commitEditorStateChange(state, harness.render, 'transform-operation-settings-change', () => {
230
+ const snap = { ...state.transformOperationSettings.snap };
231
+ if (input.kind === 'move')
232
+ snap.moveStep = value;
233
+ else if (input.kind === 'rotate')
234
+ snap.rotateStepDegrees = value;
235
+ else
236
+ snap.scaleStep = value;
237
+ state.transformOperationSettings = updateTransformOperationSettings(state.transformOperationSettings, { snap });
238
+ state.status = `Transform snap ${input.kind} step ${value}`;
239
+ }, {
240
+ syncTransformOperationArtifacts: true,
241
+ });
228
242
  },
229
243
  onPlacementModeChange: (mode) => {
230
- state.transformOperationSettings = updateTransformOperationSettings(state.transformOperationSettings, {
231
- placementMode: normalizePlacementMode(mode),
244
+ commitEditorStateChange(state, harness.render, 'placement-mode-change', () => {
245
+ state.transformOperationSettings = updateTransformOperationSettings(state.transformOperationSettings, {
246
+ placementMode: normalizePlacementMode(mode),
247
+ });
248
+ if (state.transformOperationSettings.placementMode === 'off')
249
+ clearArmedPlacement(state);
250
+ state.status = `Placement mode: ${state.transformOperationSettings.placementMode}`;
251
+ }, {
252
+ syncTransformOperationArtifacts: true,
232
253
  });
233
- state.gizmo?.setOperationSettings(state.transformOperationSettings);
234
- if (state.transformOperationSettings.placementMode === 'off')
235
- clearArmedPlacement(state);
236
- state.status = `Placement mode: ${state.transformOperationSettings.placementMode}`;
237
- harness.render();
238
- requestEditorSceneFrame(state, 'placement-mode-change');
239
254
  },
240
255
  onTransformAction: (action) => {
241
256
  if (executeTransformAction(state, options, action))
@@ -374,7 +389,12 @@ export function createLocalEditorHarness(options) {
374
389
  reduceDocument: options.documentAdapter.reduceDocument,
375
390
  });
376
391
  await options.worldAdapter.disposeGameWorld();
377
- await createEditorWorld(state, options, harness.render, stats => ui.updateSceneFrameStats?.(stats));
392
+ await createEditorWorld(state, options, harness.render, previewState => {
393
+ if (ui.updatePreview)
394
+ ui.updatePreview(previewState);
395
+ else
396
+ ui.update(createUiState(state, options));
397
+ }, stats => ui.updateSceneFrameStats?.(stats));
378
398
  state.mode = 'editor';
379
399
  state.summary = loadedSource?.summary ?? summarizeDocument(options, preparedDocument, source);
380
400
  state.status = `GameWorld disposed; EditorWorld active; assets=${assets.length}`;
@@ -496,6 +516,13 @@ function cloneTransformOperationSettings(settings) {
496
516
  placementMode: settings.placementMode,
497
517
  };
498
518
  }
519
+ function cloneEditorTransformSnapshot(transform) {
520
+ return {
521
+ position: { ...transform.position },
522
+ rotation: { ...transform.rotation },
523
+ scale: { ...transform.scale },
524
+ };
525
+ }
499
526
  function updateTransformOperationSettings(current, patch) {
500
527
  return {
501
528
  ...current,
@@ -747,12 +774,15 @@ function validateTransformActionSelection(state, action) {
747
774
  ? { ok: true }
748
775
  : { ok: false, message: 'Distribute needs at least 3 selected objects' };
749
776
  }
750
- async function createEditorWorld(state, options, renderUi, updateSceneFrameStats) {
777
+ async function createEditorWorld(state, options, renderUi, renderPreviewUi, updateSceneFrameStats) {
751
778
  disposeEditorWorld(state);
752
779
  const render = (reason = 'editor-world-update') => {
753
780
  renderUi();
754
781
  requestEditorSceneFrame(state, reason);
755
782
  };
783
+ const preview = (reason) => {
784
+ requestEditorPreviewFrame(state, options, renderPreviewUi, reason);
785
+ };
756
786
  const canvas = options.worldAdapter.getCanvas();
757
787
  if (!canvas)
758
788
  throw new Error('Editor canvas not found');
@@ -804,15 +834,16 @@ async function createEditorWorld(state, options, renderUi, updateSceneFrameStats
804
834
  babylon,
805
835
  scene: world.scene,
806
836
  importModel: options.worldAdapter.importProjectionModel,
837
+ resolveTextureUrl: options.worldAdapter.resolveMaterialTextureUrl,
807
838
  logger: console,
808
839
  onProjectionReady(event) {
809
- syncCurrentSelectionToSceneArtifacts(state);
840
+ syncCurrentSelectionToSceneArtifacts(state, `projection-${event.nodeId}-ready-selection`);
810
841
  viewportRenderCoordinator.invalidateScene(`projection-${event.nodeId}-ready`);
811
842
  },
812
843
  onProjectionBatchSettled(event) {
813
844
  if (event.asyncNodeIds.length === 0)
814
845
  return;
815
- syncCurrentSelectionToSceneArtifacts(state);
846
+ syncCurrentSelectionToSceneArtifacts(state, `projection-batch-${event.batchId}-settled-selection`);
816
847
  scheduleProjectionShadowPreviewRebuild(state, `projection-batch-${event.batchId}-settled`);
817
848
  },
818
849
  });
@@ -822,19 +853,26 @@ async function createEditorWorld(state, options, renderUi, updateSceneFrameStats
822
853
  projection,
823
854
  initialTool: state.transformTool,
824
855
  initialSpace: state.transformSpace,
856
+ documentCapabilities: options.transformDocumentCapabilities,
825
857
  logger: console,
826
858
  onDragStart(event) {
827
859
  sceneViewInteraction.beginGizmoDrag();
828
- state.status = event.targetIds.length > 1
860
+ const policyStatus = toTransformOperationPolicyStatusLabel(event.operationPolicy);
861
+ state.status = policyStatus || (event.targetIds.length > 1
829
862
  ? `Dragging ${event.duplicate ? 'duplicate ' : ''}${event.tool} ${event.targetIds.length} objects`
830
- : `Dragging ${event.duplicate ? 'duplicate ' : ''}${event.tool} ${event.nodeId ?? event.activeId ?? 'selection'}`;
863
+ : `Dragging ${event.duplicate ? 'duplicate ' : ''}${event.tool} ${event.nodeId ?? event.activeId ?? 'selection'}`);
864
+ state.statusTone = policyStatus ? 'warning' : 'default';
865
+ state.statusToneStatus = state.status;
866
+ state.statusDetails = '';
831
867
  render();
832
868
  },
833
- onDragUpdate() {
834
- render();
869
+ onDragUpdate(event) {
870
+ updateActiveTransformPreview(state, event);
871
+ preview('gizmo-drag-update');
835
872
  },
836
873
  onDragEnd(event) {
837
874
  sceneViewInteraction.endGizmoDrag();
875
+ clearActiveTransformPreview(state);
838
876
  const changed = commitGizmoTransform(state, options, event);
839
877
  if (!changed)
840
878
  requestEditorSceneFrame(state, 'gizmo-drag-end');
@@ -842,6 +880,7 @@ async function createEditorWorld(state, options, renderUi, updateSceneFrameStats
842
880
  },
843
881
  onDragCancel(event) {
844
882
  sceneViewInteraction.endGizmoDrag();
883
+ clearActiveTransformPreview(state);
845
884
  if (event.duplicate && cancelDuplicateDrag(state, options)) {
846
885
  render();
847
886
  return;
@@ -853,6 +892,7 @@ async function createEditorWorld(state, options, renderUi, updateSceneFrameStats
853
892
  },
854
893
  onDragBlocked(event) {
855
894
  sceneViewInteraction.endGizmoDrag();
895
+ clearActiveTransformPreview(state);
856
896
  if (event.duplicate)
857
897
  cancelDuplicateDrag(state, options);
858
898
  requestEditorSceneFrame(state, 'gizmo-drag-blocked');
@@ -877,8 +917,7 @@ async function createEditorWorld(state, options, renderUi, updateSceneFrameStats
877
917
  isLocked: (nodeId) => isDocumentNodeLocked(state, options, nodeId),
878
918
  isOperationBlocked: () => state.gizmo?.getState().dragPhase === 'dragging',
879
919
  onSelectionCommand(command) {
880
- if (dispatchSelectionCommand(state, options, command))
881
- render();
920
+ dispatchSelectionCommand(state, options, command, render);
882
921
  },
883
922
  onFocusIntent(nodeId) {
884
923
  if (focusProjectionNode(state, nodeId))
@@ -886,7 +925,7 @@ async function createEditorWorld(state, options, renderUi, updateSceneFrameStats
886
925
  },
887
926
  onBoxSelectionChange(box) {
888
927
  state.boxSelection = box;
889
- render();
928
+ preview('viewport-box-selection-preview');
890
929
  },
891
930
  });
892
931
  const sceneViewMeasurement = createBabylonSceneViewMeasurementController({
@@ -930,26 +969,26 @@ async function createEditorWorld(state, options, renderUi, updateSceneFrameStats
930
969
  onPointerIntentMove(event) {
931
970
  if (event.state.intent === 'measurement') {
932
971
  if (handleViewportMeasurementMove(state, event.originalEvent))
933
- render();
972
+ preview('viewport-measurement-preview');
934
973
  return;
935
974
  }
936
975
  if (event.state.intent === 'placement') {
937
976
  if (previewArmedPlacement(state, event.originalEvent))
938
- render();
977
+ preview('placement-preview');
939
978
  return;
940
979
  }
941
980
  if (event.state.intent === 'view-plane-move') {
942
981
  if (gizmo.updateViewPlaneMove(event.originalEvent))
943
- render();
982
+ preview('view-plane-move-update');
944
983
  return;
945
984
  }
946
985
  if (!state.sceneCameraPreviewEnabled && state.sceneViewCamera?.handlePointerIntentMove(event)) {
947
- render();
986
+ preview('viewport-camera-pointer-move');
948
987
  return;
949
988
  }
950
989
  if (event.state.intent === 'selection-click' || event.state.intent === 'box-select') {
951
990
  selectionController.updatePointerSelection(event.originalEvent, event.state.intent);
952
- requestEditorSceneFrame(state, 'viewport-pointer-selection-update');
991
+ preview('viewport-pointer-selection-update');
953
992
  }
954
993
  },
955
994
  onPointerIntentEnd(event) {
@@ -999,8 +1038,9 @@ async function createEditorWorld(state, options, renderUi, updateSceneFrameStats
999
1038
  selectionController.handleDoubleClick(event);
1000
1039
  },
1001
1040
  onWheel(event) {
1002
- if (!state.sceneCameraPreviewEnabled && state.sceneViewCamera?.handleWheel(event))
1003
- render();
1041
+ if (!state.sceneCameraPreviewEnabled && state.sceneViewCamera?.handleWheel(event)) {
1042
+ preview('viewport-camera-wheel');
1043
+ }
1004
1044
  },
1005
1045
  onMovementKeysChange(event) {
1006
1046
  sceneViewInteraction.updateMovementKeys(event.pressedMovementKeys);
@@ -1022,17 +1062,13 @@ async function createEditorWorld(state, options, renderUi, updateSceneFrameStats
1022
1062
  babylon,
1023
1063
  scene: world.scene,
1024
1064
  });
1025
- if (document) {
1026
- projection.projectNodes(options.documentAdapter.getProjectionNodes(document));
1027
- const selection = state.session?.getState().selection ?? { selectedIds: [], activeId: null };
1028
- projection.syncSelection(selection);
1029
- gizmo.setSelection(selection);
1030
- }
1031
1065
  const shadowPreview = createBabylonEditorShadowPreviewController({
1032
1066
  scene: world.scene,
1033
1067
  projection,
1034
1068
  options: initialRendering.shadowPreview,
1035
1069
  });
1070
+ const environmentTexture = createBabylonEnvironmentTextureController(world.scene, initialRendering.environment ?? null);
1071
+ const postProcess = createBabylonDefaultPostProcessPipelineController(world.scene, [world.camera], initialRendering.postProcess ?? null, { name: 'editorDefaultPostProcessPipeline' });
1036
1072
  const resize = () => {
1037
1073
  engine.resize?.();
1038
1074
  viewportRenderCoordinator.requestFrame('resize');
@@ -1044,6 +1080,8 @@ async function createEditorWorld(state, options, renderUi, updateSceneFrameStats
1044
1080
  state.grid = grid;
1045
1081
  state.projection = projection;
1046
1082
  state.shadowPreview = shadowPreview;
1083
+ state.environmentTexture = environmentTexture;
1084
+ state.postProcess = postProcess;
1047
1085
  state.gizmo = gizmo;
1048
1086
  state.sceneCameraPreview = sceneCameraPreview;
1049
1087
  state.sceneViewInput = sceneViewInput;
@@ -1057,9 +1095,14 @@ async function createEditorWorld(state, options, renderUi, updateSceneFrameStats
1057
1095
  state.worldAppearanceKey = initialAppearanceKey;
1058
1096
  state.worldRenderingKey = initialRenderingKey;
1059
1097
  state.resizeHandler = resize;
1098
+ if (document) {
1099
+ projection.projectNodes(options.documentAdapter.getProjectionNodes(document));
1100
+ }
1101
+ syncCurrentSelectionToSceneArtifacts(state, 'editor-world-initial-selection');
1060
1102
  viewportRenderCoordinator.requestFrame('editor-world-created');
1061
1103
  }
1062
1104
  function disposeEditorWorld(state) {
1105
+ state.activeTransformPreview = null;
1063
1106
  state.sceneViewInteraction?.dispose();
1064
1107
  state.sceneViewInteraction = null;
1065
1108
  if (state.resizeHandler) {
@@ -1099,6 +1142,10 @@ function disposeEditorWorld(state) {
1099
1142
  }
1100
1143
  state.shadowPreview?.dispose();
1101
1144
  state.shadowPreview = null;
1145
+ state.environmentTexture?.dispose();
1146
+ state.environmentTexture = null;
1147
+ state.postProcess?.dispose();
1148
+ state.postProcess = null;
1102
1149
  state.projection?.dispose();
1103
1150
  state.projection = null;
1104
1151
  state.grid?.dispose();
@@ -1113,6 +1160,30 @@ function disposeEditorWorld(state) {
1113
1160
  function requestEditorSceneFrame(state, reason) {
1114
1161
  state.viewportRenderCoordinator?.requestFrame(reason);
1115
1162
  }
1163
+ function requestEditorPreviewFrame(state, options, renderPreviewUi, reason) {
1164
+ syncViewportCameraState(state);
1165
+ syncViewportMeasurementState(state);
1166
+ syncViewportSpatialOverlay(state);
1167
+ renderPreviewUi(createUiPreviewState(state, options));
1168
+ requestEditorSceneFrame(state, reason);
1169
+ }
1170
+ function updateActiveTransformPreview(state, event) {
1171
+ const activeId = event.activeId ?? event.nodeId ?? event.targetIds[0] ?? null;
1172
+ if (!activeId) {
1173
+ state.activeTransformPreview = null;
1174
+ return;
1175
+ }
1176
+ state.activeTransformPreview = {
1177
+ targetIds: [...event.targetIds],
1178
+ activeId,
1179
+ transforms: {
1180
+ [activeId]: cloneEditorTransformSnapshot(event.current),
1181
+ },
1182
+ };
1183
+ }
1184
+ function clearActiveTransformPreview(state) {
1185
+ state.activeTransformPreview = null;
1186
+ }
1116
1187
  function scheduleProjectionShadowPreviewRebuild(state, reason) {
1117
1188
  if (state.projectionShadowPreviewRebuildFrame !== null) {
1118
1189
  window.cancelAnimationFrame(state.projectionShadowPreviewRebuildFrame);
@@ -1143,7 +1214,7 @@ async function runExclusive(state, render, action) {
1143
1214
  render();
1144
1215
  }
1145
1216
  }
1146
- function selectItem(state, options, input) {
1217
+ function selectItem(state, options, input, renderUi) {
1147
1218
  if (state.mode !== 'editor')
1148
1219
  return false;
1149
1220
  if (!isDocumentNodeSelectable(state, options, input.id))
@@ -1158,7 +1229,7 @@ function selectItem(state, options, input) {
1158
1229
  });
1159
1230
  if (!command)
1160
1231
  return false;
1161
- return dispatchSelectionCommand(state, options, command);
1232
+ return dispatchSelectionCommand(state, options, command, renderUi);
1162
1233
  }
1163
1234
  function createBrowserHierarchyContextActions(state, options) {
1164
1235
  return (options.hierarchy?.contextActions ?? []).map((registration) => ({
@@ -1295,7 +1366,7 @@ function handleContextAction(state, options, action) {
1295
1366
  }
1296
1367
  return false;
1297
1368
  }
1298
- function dispatchSelectionCommand(state, options, command) {
1369
+ function dispatchSelectionCommand(state, options, command, renderUi) {
1299
1370
  if (state.mode !== 'editor')
1300
1371
  return false;
1301
1372
  cancelActiveOperation(state);
@@ -1305,8 +1376,19 @@ function dispatchSelectionCommand(state, options, command) {
1305
1376
  const result = session.dispatch(command);
1306
1377
  const sanitized = sanitizeSelection(state, options, result.workingDocument, result.selection);
1307
1378
  const selection = sanitized ?? result.selection;
1308
- syncSelectionToProjection(state, selection);
1309
- return result.selectionChanged || !!sanitized;
1379
+ const changed = result.selectionChanged || !!sanitized;
1380
+ if (!changed)
1381
+ return false;
1382
+ if (renderUi) {
1383
+ commitEditorStateChange(state, renderUi, 'selection-command', () => { }, {
1384
+ syncSelectionArtifacts: selection,
1385
+ });
1386
+ }
1387
+ else {
1388
+ state.editorStateRevision += 1;
1389
+ syncSelectionToProjection(state, selection, 'selection-command', state.editorStateRevision);
1390
+ }
1391
+ return true;
1310
1392
  }
1311
1393
  function renameSceneGraphNode(state, options, intent) {
1312
1394
  const document = state.session?.getState().workingDocument;
@@ -1650,14 +1732,60 @@ function sanitizeSelection(state, options, document, selection) {
1650
1732
  });
1651
1733
  return result?.selection ?? { selectedIds, activeId };
1652
1734
  }
1653
- function syncSelectionToProjection(state, selection) {
1735
+ function commitEditorStateChange(state, renderUi, reason, mutate, options = {}) {
1736
+ const beforeRevision = state.editorStateRevision;
1737
+ mutate();
1738
+ const revision = beforeRevision + 1;
1739
+ state.editorStateRevision = revision;
1740
+ renderUi();
1741
+ if (options.syncSelectionArtifacts) {
1742
+ const selection = typeof options.syncSelectionArtifacts === 'boolean'
1743
+ ? state.session?.getState().selection ?? { selectedIds: [], activeId: null }
1744
+ : options.syncSelectionArtifacts;
1745
+ syncSelectionToProjection(state, selection, reason, revision);
1746
+ }
1747
+ else if (options.syncTransformOperationArtifacts) {
1748
+ syncTransformOperationSettingsToSceneArtifacts(state, reason, revision);
1749
+ }
1750
+ else if (options.syncTransformArtifacts) {
1751
+ syncTransformGizmoToSceneArtifacts(state, reason, revision);
1752
+ }
1753
+ return revision;
1754
+ }
1755
+ function syncSelectionToProjection(state, selection, reason = 'projection-selection', revision = state.editorStateRevision) {
1756
+ if (!beginSceneArtifactSync(state, reason, revision))
1757
+ return;
1654
1758
  state.projection?.syncSelection(selection);
1655
1759
  state.gizmo?.setSelection(selection);
1656
- state.gizmo?.refreshSelection();
1657
- requestEditorSceneFrame(state, 'projection-selection');
1760
+ syncTransformGizmoToSceneArtifacts(state, reason, revision, false);
1761
+ }
1762
+ function syncCurrentSelectionToSceneArtifacts(state, reason = 'projection-selection-current', revision = state.editorStateRevision) {
1763
+ syncSelectionToProjection(state, state.session?.getState().selection ?? { selectedIds: [], activeId: null }, reason, revision);
1764
+ }
1765
+ function syncTransformGizmoToSceneArtifacts(state, reason, revision = state.editorStateRevision, beginSync = true) {
1766
+ if (beginSync && !beginSceneArtifactSync(state, reason, revision))
1767
+ return;
1768
+ const gizmo = state.gizmo;
1769
+ if (gizmo) {
1770
+ gizmo.setTool(state.transformTool);
1771
+ gizmo.setSpace(state.transformSpace);
1772
+ gizmo.setConstraint(state.transformConstraint);
1773
+ gizmo.refreshSelection();
1774
+ }
1775
+ requestEditorArtifactRevealFrame(state, reason);
1658
1776
  }
1659
- function syncCurrentSelectionToSceneArtifacts(state) {
1660
- syncSelectionToProjection(state, state.session?.getState().selection ?? { selectedIds: [], activeId: null });
1777
+ function syncTransformOperationSettingsToSceneArtifacts(state, reason, revision = state.editorStateRevision) {
1778
+ if (!beginSceneArtifactSync(state, reason, revision))
1779
+ return;
1780
+ state.gizmo?.setOperationSettings(state.transformOperationSettings);
1781
+ requestEditorSceneFrame(state, reason);
1782
+ }
1783
+ function beginSceneArtifactSync(state, reason, revision) {
1784
+ if (revision < state.sceneArtifactRevision) {
1785
+ return false;
1786
+ }
1787
+ state.sceneArtifactRevision = revision;
1788
+ return true;
1661
1789
  }
1662
1790
  function invalidateEditorScene(state, reason, options) {
1663
1791
  if (options && state.sceneCameraPreviewEnabled) {
@@ -1665,6 +1793,13 @@ function invalidateEditorScene(state, reason, options) {
1665
1793
  }
1666
1794
  state.viewportRenderCoordinator?.invalidateScene(reason);
1667
1795
  }
1796
+ function requestEditorArtifactRevealFrame(state, reason) {
1797
+ const coordinator = state.viewportRenderCoordinator;
1798
+ if (!coordinator)
1799
+ return;
1800
+ coordinator.invalidateScene(reason);
1801
+ coordinator.requestRevealFrame(`${reason}-artifact-reveal`);
1802
+ }
1668
1803
  function syncEditorWorldAppearanceFromDocument(state, options, document, reason) {
1669
1804
  const appearance = resolveLocalEditorWorldAppearance(options, document);
1670
1805
  const key = serializeLocalEditorWorldAppearance(appearance);
@@ -1688,6 +1823,8 @@ function syncEditorWorldRenderingFromDocument(state, options, document, reason,
1688
1823
  }
1689
1824
  state.worldRenderingKey = key;
1690
1825
  state.shadowPreview?.setOptions(rendering.shadowPreview);
1826
+ state.environmentTexture?.setProfile(rendering.environment);
1827
+ state.postProcess?.setProfile(rendering.postProcess);
1691
1828
  requestEditorSceneFrame(state, reason);
1692
1829
  }
1693
1830
  function resolveLocalEditorWorldAppearance(options, document) {
@@ -1705,7 +1842,9 @@ function resolveLocalEditorWorldRendering(options, document) {
1705
1842
  ? options.documentAdapter.getWorldRendering?.(document) ?? null
1706
1843
  : null;
1707
1844
  return {
1845
+ environment: documentRendering?.environment ?? null,
1708
1846
  shadowPreview: documentRendering?.shadowPreview ?? null,
1847
+ postProcess: documentRendering?.postProcess ?? null,
1709
1848
  };
1710
1849
  }
1711
1850
  function hasEditorWorldAppearanceSky(appearance) {
@@ -1720,7 +1859,9 @@ function serializeLocalEditorWorldAppearance(appearance) {
1720
1859
  }
1721
1860
  function serializeLocalEditorWorldRendering(rendering) {
1722
1861
  return JSON.stringify({
1862
+ environment: rendering.environment ?? null,
1723
1863
  shadowPreview: rendering.shadowPreview ?? null,
1864
+ postProcess: rendering.postProcess ?? null,
1724
1865
  });
1725
1866
  }
1726
1867
  function executeTransformAction(state, options, action) {
@@ -1779,8 +1920,7 @@ function executeTransformAction(state, options, action) {
1779
1920
  state.status = `Transform action unchanged: ${action}`;
1780
1921
  return true;
1781
1922
  }
1782
- const changedIds = patch.changedIds ?? changedTargets.map(target => target.id);
1783
- syncProjectionForChangedIds(state, options, result.workingDocument, changedIds);
1923
+ syncProjectionForChangedIds(state, options, result.workingDocument, changedTargets.map(target => target.id));
1784
1924
  state.summary = summarizeDocument(options, result.workingDocument, state.session.getSource());
1785
1925
  state.status = patch.label ?? formatTransformActionStatus(action, changedTargets.length);
1786
1926
  return true;
@@ -1828,11 +1968,14 @@ function selectBrowserAsset(state, assetId) {
1828
1968
  return true;
1829
1969
  }
1830
1970
  function handleBrowserAssetAction(state, options, input) {
1831
- state.selectedAssetId = input.browserAssetId;
1971
+ if (input.browserAssetId)
1972
+ state.selectedAssetId = input.browserAssetId;
1832
1973
  if (input.actionId === 'asset.add-to-scene') {
1833
- return addAssetToDocument(state, options, input.assetId).ok;
1974
+ return input.assetId ? addAssetToDocument(state, options, input.assetId).ok : false;
1834
1975
  }
1835
1976
  if (input.actionId === 'asset.place') {
1977
+ if (!input.assetId)
1978
+ return false;
1836
1979
  if (state.transformOperationSettings.placementMode === 'off') {
1837
1980
  state.transformOperationSettings = updateTransformOperationSettings(state.transformOperationSettings, {
1838
1981
  placementMode: 'ground',
@@ -1854,7 +1997,7 @@ function patchBrowserAssetAction(state, options, input) {
1854
1997
  const document = session?.getState().workingDocument ?? null;
1855
1998
  if (!session || !document || !options.documentAdapter.createAssetActionPatch)
1856
1999
  return false;
1857
- const asset = findAssetByResolvedId(state, options, input.assetId);
2000
+ const asset = input.assetId ? findAssetByResolvedId(state, options, input.assetId) : null;
1858
2001
  const patch = options.documentAdapter.createAssetActionPatch({
1859
2002
  ...input,
1860
2003
  document,
@@ -1878,8 +2021,23 @@ function patchBrowserAssetAction(state, options, input) {
1878
2021
  reprojectProjectionForChangedIds(state, options, result.workingDocument, patch.reprojectIds);
1879
2022
  else if (patch.changedIds)
1880
2023
  syncProjectionForChangedIds(state, options, result.workingDocument, patch.changedIds);
2024
+ if (input.actionId === 'asset.delete-material' && input.browserAssetId && state.selectedAssetId === input.browserAssetId) {
2025
+ state.selectedAssetId = null;
2026
+ }
2027
+ selectCreatedBrowserAssetFromPatch(state, options, patch.createdId ?? null, input);
1881
2028
  return true;
1882
2029
  }
2030
+ function selectCreatedBrowserAssetFromPatch(state, options, createdId, input) {
2031
+ if (!createdId)
2032
+ return;
2033
+ const browserAssetId = resolveBrowserAssetItemId(state, options, createdId)
2034
+ ?? resolveBrowserAssetItemId(state, options, `material:${createdId}`);
2035
+ if (browserAssetId)
2036
+ state.selectedAssetId = browserAssetId;
2037
+ else if (input.actionId === 'asset.create-material' || input.actionId === 'asset.duplicate-material') {
2038
+ state.selectedAssetId = `material:${createdId}`;
2039
+ }
2040
+ }
1883
2041
  function armAssetPlacement(state, options, assetId) {
1884
2042
  if (state.mode !== 'editor')
1885
2043
  return false;
@@ -2044,6 +2202,7 @@ function patchSerializedProperty(state, options, input) {
2044
2202
  return false;
2045
2203
  }
2046
2204
  const payload = transaction.payload;
2205
+ const shouldReprojectInspectorEdit = shouldReprojectEditorInspectorEditPath(payload.path);
2047
2206
  if (targetIds.length > 1) {
2048
2207
  const patch = options.documentAdapter.createSerializedMultiPropertyPatch?.({
2049
2208
  document,
@@ -2068,11 +2227,14 @@ function patchSerializedProperty(state, options, input) {
2068
2227
  if (!result.documentChanged)
2069
2228
  return false;
2070
2229
  const changedIds = patch.changedIds ?? targetIds;
2230
+ const projectionSyncIds = isSerializedTransformPath(payload.path) ? targetIds : changedIds;
2071
2231
  const workingDocument = result.workingDocument;
2072
2232
  if (patch.reprojectIds?.length)
2073
2233
  reprojectProjectionForChangedIds(state, options, workingDocument, patch.reprojectIds);
2234
+ else if (shouldReprojectInspectorEdit)
2235
+ reprojectProjectionForChangedIds(state, options, workingDocument, changedIds);
2074
2236
  else
2075
- syncProjectionForChangedIds(state, options, workingDocument, changedIds);
2237
+ syncProjectionForChangedIds(state, options, workingDocument, projectionSyncIds);
2076
2238
  state.summary = summarizeDocument(options, workingDocument, state.session.getSource());
2077
2239
  state.status = patch.label ?? `Patch ${payload.path} on ${targetIds.length} objects`;
2078
2240
  return true;
@@ -2098,6 +2260,11 @@ function patchSerializedProperty(state, options, input) {
2098
2260
  });
2099
2261
  if (patch.reprojectIds?.length)
2100
2262
  reprojectProjectionForChangedIds(state, options, result.workingDocument, patch.reprojectIds);
2263
+ else if (shouldReprojectInspectorEdit) {
2264
+ reprojectProjectionForChangedIds(state, options, result.workingDocument, patch.changedIds ?? [patch.changedId ?? payload.targetId]);
2265
+ }
2266
+ else if (isSerializedTransformPath(payload.path))
2267
+ syncProjectionForChangedIds(state, options, result.workingDocument, [patch.changedId ?? payload.targetId]);
2101
2268
  else if (patch.changedIds)
2102
2269
  syncProjectionForChangedIds(state, options, result.workingDocument, patch.changedIds);
2103
2270
  else
@@ -2106,6 +2273,18 @@ function patchSerializedProperty(state, options, input) {
2106
2273
  state.status = patch.label ?? `Patched ${payload.path}`;
2107
2274
  return true;
2108
2275
  }
2276
+ function patchHierarchyItemEnabled(state, options, input) {
2277
+ return patchSerializedProperty(state, options, {
2278
+ targetId: input.id,
2279
+ path: 'enabled',
2280
+ value: input.enabled,
2281
+ control: 'boolean',
2282
+ valueType: 'boolean',
2283
+ commitMode: 'immediate',
2284
+ persistence: 'document',
2285
+ source: 'toggle',
2286
+ });
2287
+ }
2109
2288
  async function applyRenderingPropertyChange(state, options, input) {
2110
2289
  if (state.mode !== 'editor')
2111
2290
  return false;
@@ -2211,7 +2390,10 @@ function createInspectorEditTransaction(state, options, document, input, targetI
2211
2390
  });
2212
2391
  if (!result.ok)
2213
2392
  return { ok: false, message: result.message };
2214
- return { ok: true, payload: result.value };
2393
+ return {
2394
+ ok: true,
2395
+ payload: createPlayableBabylonOutlineInspectorPatchPayload(state, options, document, result.value),
2396
+ };
2215
2397
  }
2216
2398
  function findInspectorPropertyForEdit(state, options, document, input, targetIds) {
2217
2399
  const inspector = createInspectorObjectForEdit(state, options, document, input, targetIds);
@@ -2222,20 +2404,17 @@ function findInspectorPropertyForEdit(state, options, document, input, targetIds
2222
2404
  function createInspectorObjectForEdit(state, options, document, input, targetIds) {
2223
2405
  if (targetIds.length > 1) {
2224
2406
  const activeId = state.session?.getState().selection.activeId ?? input.targetId ?? null;
2225
- const inspector = options.documentAdapter.getInspectorMultiObject?.(document, targetIds, activeId) ?? null;
2407
+ const inspector = createInspectorMultiObjectBase(state, options, document, targetIds, activeId);
2226
2408
  if (inspector)
2227
- return withInspectorComponentSections(state, options, document, inspector);
2228
- const serializedMultiObject = options.documentAdapter.getSerializedMultiObject?.(document, targetIds, activeId) ?? null;
2229
- return serializedMultiObject
2230
- ? withInspectorComponentSections(state, options, document, serializedMultiObjectToInspectorObject(serializedMultiObject, document))
2231
- : null;
2409
+ return withDefaultEditorInspectorSections(state, options, document, inspector);
2410
+ return null;
2232
2411
  }
2233
2412
  const inspector = options.documentAdapter.getInspectorObject?.(document, input.targetId) ?? null;
2234
2413
  if (inspector)
2235
- return withInspectorComponentSections(state, options, document, inspector);
2414
+ return withDefaultEditorInspectorSections(state, options, document, inspector);
2236
2415
  const serializedObject = options.documentAdapter.getSerializedObject(document, input.targetId);
2237
2416
  return serializedObject
2238
- ? withInspectorComponentSections(state, options, document, serializedObjectToInspectorObject(serializedObject, document))
2417
+ ? withDefaultEditorInspectorSections(state, options, document, serializedObjectToInspectorObject(serializedObject, document))
2239
2418
  : null;
2240
2419
  }
2241
2420
  function findInspectorPropertyByPath(inspector, path) {
@@ -2246,6 +2425,40 @@ function findInspectorPropertyByPath(inspector, path) {
2246
2425
  }
2247
2426
  return null;
2248
2427
  }
2428
+ function createPlayableBabylonOutlineInspectorPatchPayload(_state, options, document, payload) {
2429
+ if (!isPlayableBabylonOutlineInspectorPatchPath(payload.path) || (payload.targetIds?.length ?? 1) > 1) {
2430
+ return payload;
2431
+ }
2432
+ const projectionNode = options.documentAdapter.getProjectionNode(document, payload.targetId);
2433
+ if (!projectionNode)
2434
+ return payload;
2435
+ const seedValue = createPlayableBabylonOutlineInspectorSeedPatchValue({
2436
+ existingOutline: readPlayableBabylonProjectionOutline(projectionNode.outline),
2437
+ path: payload.path,
2438
+ value: payload.value,
2439
+ });
2440
+ if (!seedValue)
2441
+ return payload;
2442
+ return {
2443
+ ...payload,
2444
+ path: 'overrides.outline',
2445
+ value: seedValue,
2446
+ control: 'object',
2447
+ valueType: 'object',
2448
+ commitMode: 'immediate',
2449
+ };
2450
+ }
2451
+ function shouldReprojectEditorInspectorEditPath(path) {
2452
+ return isPlayableBabylonOutlineInspectorPatchPath(path);
2453
+ }
2454
+ function isSerializedTransformPath(path) {
2455
+ return path === 'transform.position'
2456
+ || path === 'transform.rotation'
2457
+ || path === 'transform.scale'
2458
+ || path.startsWith('transform.position.')
2459
+ || path.startsWith('transform.rotation.')
2460
+ || path.startsWith('transform.scale.');
2461
+ }
2249
2462
  function beginDuplicateDrag(state, options, input) {
2250
2463
  if (state.mode !== 'editor' || !state.session)
2251
2464
  return null;
@@ -2351,15 +2564,19 @@ function commitGizmoTransform(state, options, event) {
2351
2564
  mergeWithPrevious: event.targetIds.some(id => state.duplicateDrag?.createdIds.includes(id)) === true,
2352
2565
  });
2353
2566
  syncProjectionForDispatchResult(state, options, result);
2354
- syncProjectionForChangedIds(state, options, result.workingDocument, patch.changedIds ?? event.targetIds);
2567
+ if (patch.reprojectIds?.length)
2568
+ reprojectProjectionForChangedIds(state, options, result.workingDocument, patch.reprojectIds);
2569
+ else
2570
+ syncProjectionForChangedIds(state, options, result.workingDocument, event.targetIds);
2355
2571
  state.summary = summarizeDocument(options, result.workingDocument, state.session.getSource());
2356
2572
  state.status = patch.label ?? `${event.tool} ${event.targetIds.length} objects`;
2357
2573
  state.duplicateDrag = null;
2358
2574
  return result.documentChanged;
2359
2575
  }
2576
+ const targetId = event.nodeId;
2360
2577
  const patch = options.documentAdapter.createTransformPatch?.({
2361
2578
  document,
2362
- targetId: event.nodeId,
2579
+ targetId,
2363
2580
  tool: event.tool,
2364
2581
  space: event.space,
2365
2582
  constraint: event.constraint,
@@ -2368,25 +2585,25 @@ function commitGizmoTransform(state, options, event) {
2368
2585
  });
2369
2586
  if (!patch) {
2370
2587
  if (!cancelDuplicateDrag(state, options)) {
2371
- state.projection?.setNodeTransformPreview(event.nodeId, event.before);
2372
- state.status = `Ignored ${event.tool} ${event.nodeId}`;
2588
+ state.projection?.setNodeTransformPreview(targetId, event.before);
2589
+ state.status = `Ignored ${event.tool} ${targetId}`;
2373
2590
  }
2374
2591
  return false;
2375
2592
  }
2376
2593
  const result = state.session.dispatch({
2377
2594
  type: 'document.patch',
2378
- label: patch.label ?? `${event.tool} ${event.nodeId}`,
2595
+ label: patch.label ?? `${event.tool} ${targetId}`,
2379
2596
  patch: patch.patch,
2380
- targetId: event.nodeId,
2597
+ targetId,
2381
2598
  }, {
2382
- mergeWithPrevious: state.duplicateDrag?.createdIds.includes(event.nodeId) === true,
2599
+ mergeWithPrevious: state.duplicateDrag?.createdIds.includes(targetId) === true,
2383
2600
  });
2384
- if (patch.changedIds)
2385
- syncProjectionForChangedIds(state, options, result.workingDocument, patch.changedIds);
2601
+ if (patch.reprojectIds?.length)
2602
+ reprojectProjectionForChangedIds(state, options, result.workingDocument, patch.reprojectIds);
2386
2603
  else
2387
- syncProjectionForDispatchResult(state, options, result, patch.changedId ?? event.nodeId);
2604
+ syncProjectionForChangedIds(state, options, result.workingDocument, [patch.changedId ?? targetId]);
2388
2605
  state.summary = summarizeDocument(options, result.workingDocument, state.session.getSource());
2389
- state.status = patch.label ?? `${event.tool} ${event.nodeId}`;
2606
+ state.status = patch.label ?? `${event.tool} ${targetId}`;
2390
2607
  state.duplicateDrag = null;
2391
2608
  return result.documentChanged;
2392
2609
  }
@@ -2653,6 +2870,60 @@ function hasSceneCameraPreviewRig(state, options) {
2653
2870
  const document = state.session?.getState().workingDocument ?? null;
2654
2871
  return !!document && !!options.documentAdapter.getSceneCameraPreviewRig?.(document);
2655
2872
  }
2873
+ function applyActiveTransformPreviewToInspectorObject(state, inspectorObject) {
2874
+ const preview = state.activeTransformPreview;
2875
+ if (!preview || !inspectorObject || inspectorObject.targetIds.length !== 1)
2876
+ return inspectorObject;
2877
+ const targetId = inspectorObject.activeId ?? inspectorObject.targetIds[0] ?? null;
2878
+ if (!targetId || targetId !== preview.activeId)
2879
+ return inspectorObject;
2880
+ const transform = preview.transforms[targetId];
2881
+ if (!transform)
2882
+ return inspectorObject;
2883
+ let changed = false;
2884
+ const sections = inspectorObject.sections.map(section => {
2885
+ let sectionChanged = false;
2886
+ const properties = section.properties.map(property => {
2887
+ const previewValue = readActiveTransformPreviewPropertyValue(transform, property.path);
2888
+ if (previewValue === undefined)
2889
+ return property;
2890
+ sectionChanged = true;
2891
+ return {
2892
+ ...property,
2893
+ value: previewValue,
2894
+ mixed: false,
2895
+ };
2896
+ });
2897
+ if (!sectionChanged)
2898
+ return section;
2899
+ changed = true;
2900
+ return { ...section, properties };
2901
+ });
2902
+ return changed ? { ...inspectorObject, sections } : inspectorObject;
2903
+ }
2904
+ function readActiveTransformPreviewPropertyValue(transform, path) {
2905
+ const vectorMatch = path.match(/^transform\.(position|rotation|scale)$/);
2906
+ if (vectorMatch) {
2907
+ const group = vectorMatch[1];
2908
+ return group === 'rotation'
2909
+ ? {
2910
+ x: radiansToInspectorDegrees(transform.rotation.x),
2911
+ y: radiansToInspectorDegrees(transform.rotation.y),
2912
+ z: radiansToInspectorDegrees(transform.rotation.z),
2913
+ }
2914
+ : { ...transform[group] };
2915
+ }
2916
+ const axisMatch = path.match(/^transform\.(position|rotation|scale)\.(x|y|z)$/);
2917
+ if (!axisMatch)
2918
+ return undefined;
2919
+ const group = axisMatch[1];
2920
+ const axis = axisMatch[2];
2921
+ const value = transform[group][axis];
2922
+ return group === 'rotation' ? radiansToInspectorDegrees(value) : value;
2923
+ }
2924
+ function radiansToInspectorDegrees(value) {
2925
+ return (value * 180) / Math.PI;
2926
+ }
2656
2927
  function createUiState(state, options) {
2657
2928
  const sessionState = state.session?.getState();
2658
2929
  const document = sessionState?.workingDocument ?? null;
@@ -2668,7 +2939,7 @@ function createUiState(state, options) {
2668
2939
  ? options.documentAdapter.getInspectorObject?.(document, activeId) ?? (serializedObject ? serializedObjectToInspectorObject(serializedObject, document) : null)
2669
2940
  : null;
2670
2941
  const inspectorMultiObjectBase = document && selectedIds.length > 1
2671
- ? options.documentAdapter.getInspectorMultiObject?.(document, selectedIds, activeId) ?? (serializedMultiObject ? serializedMultiObjectToInspectorObject(serializedMultiObject, document) : null)
2942
+ ? createInspectorMultiObjectBase(state, options, document, selectedIds, activeId, serializedMultiObject)
2672
2943
  : null;
2673
2944
  const inspectorObject = document && inspectorObjectBase
2674
2945
  ? withRuntimeInspectorSections(state, options, document, inspectorObjectBase)
@@ -2676,6 +2947,8 @@ function createUiState(state, options) {
2676
2947
  const inspectorMultiObject = document && inspectorMultiObjectBase
2677
2948
  ? withRuntimeInspectorSections(state, options, document, inspectorMultiObjectBase)
2678
2949
  : inspectorMultiObjectBase;
2950
+ const previewInspectorObject = applyActiveTransformPreviewToInspectorObject(state, inspectorObject);
2951
+ const previewInspectorMultiObject = applyActiveTransformPreviewToInspectorObject(state, inspectorMultiObject);
2679
2952
  const documentAssetItems = document
2680
2953
  ? options.documentAdapter.getBrowserAssetItems?.(document) ?? []
2681
2954
  : [];
@@ -2703,17 +2976,17 @@ function createUiState(state, options) {
2703
2976
  },
2704
2977
  serializedObject,
2705
2978
  serializedMultiObject,
2706
- inspectorObject,
2707
- inspectorMultiObject,
2979
+ inspectorObject: previewInspectorObject,
2980
+ inspectorMultiObject: previewInspectorMultiObject,
2708
2981
  renderingPanel: document ? options.documentAdapter.getRenderingPanelState?.(document) ?? null : null,
2709
2982
  boxSelection: state.boxSelection,
2710
2983
  coordinateAxes: options.world?.coordinateAxes === false
2711
2984
  ? null
2712
2985
  : createSceneViewCoordinateAxesState(state),
2713
2986
  transformTool: {
2714
- activeTool: state.gizmo?.getState().tool ?? state.transformTool,
2715
- activeSpace: state.gizmo?.getState().space ?? state.transformSpace,
2716
- activeConstraint: state.gizmo?.getState().constraint ?? state.transformConstraint,
2987
+ activeTool: state.transformTool,
2988
+ activeSpace: state.transformSpace,
2989
+ activeConstraint: state.transformConstraint,
2717
2990
  dragPhase: state.gizmo?.getState().dragPhase ?? 'idle',
2718
2991
  draggingNodeId: state.gizmo?.getState().draggingNodeId ?? null,
2719
2992
  },
@@ -2749,6 +3022,53 @@ function createUiState(state, options) {
2749
3022
  : null,
2750
3023
  };
2751
3024
  }
3025
+ function createUiPreviewState(state, options) {
3026
+ const selection = state.session?.getState().selection;
3027
+ const document = state.session?.getState().workingDocument ?? null;
3028
+ const selectedIds = selection?.selectedIds ?? [];
3029
+ const activeId = selection?.activeId ?? null;
3030
+ const shouldPreviewInspector = !!state.activeTransformPreview && document && activeId && selectedIds.length === 1;
3031
+ const inspectorObjectBase = shouldPreviewInspector
3032
+ ? options.documentAdapter.getInspectorObject?.(document, activeId)
3033
+ ?? (() => {
3034
+ const serializedObject = options.documentAdapter.getSerializedObject(document, activeId);
3035
+ return serializedObject ? serializedObjectToInspectorObject(serializedObject, document) : null;
3036
+ })()
3037
+ : null;
3038
+ const inspectorObject = shouldPreviewInspector && document && inspectorObjectBase
3039
+ ? applyActiveTransformPreviewToInspectorObject(state, withRuntimeInspectorSections(state, options, document, inspectorObjectBase))
3040
+ : null;
3041
+ return {
3042
+ status: state.status,
3043
+ statusTone: state.statusToneStatus === state.status ? state.statusTone : 'default',
3044
+ statusDetails: state.statusToneStatus === state.status ? state.statusDetails : '',
3045
+ ...(inspectorObject ? { inspectorObject } : {}),
3046
+ boxSelection: state.boxSelection,
3047
+ coordinateAxes: options.world?.coordinateAxes === false
3048
+ ? null
3049
+ : createSceneViewCoordinateAxesState(state),
3050
+ transformTool: {
3051
+ activeTool: state.transformTool,
3052
+ activeSpace: state.transformSpace,
3053
+ activeConstraint: state.transformConstraint,
3054
+ dragPhase: state.gizmo?.getState().dragPhase ?? 'idle',
3055
+ draggingNodeId: state.gizmo?.getState().draggingNodeId ?? null,
3056
+ },
3057
+ transformOperations: {
3058
+ settings: cloneTransformOperationSettings(state.transformOperationSettings),
3059
+ selectedCount: selectedIds.length,
3060
+ activeId,
3061
+ canAlign: selectedIds.length >= 2 && activeId != null,
3062
+ canDistribute: selectedIds.length >= 3,
3063
+ },
3064
+ viewportTools: cloneEditorViewportToolState(state.viewportTools),
3065
+ viewportMeasurement: cloneViewportMeasurement(state.viewportMeasurement),
3066
+ viewportSpatialOverlay: cloneEditorViewportSpatialOverlayState(state.viewportSpatialOverlay),
3067
+ sceneFrameStats: state.sceneFrameStats
3068
+ ? { ...state.sceneFrameStats, activeReasons: [...state.sceneFrameStats.activeReasons] }
3069
+ : null,
3070
+ };
3071
+ }
2752
3072
  function createSceneViewCoordinateAxesState(state) {
2753
3073
  if (state.mode !== 'editor')
2754
3074
  return null;
@@ -2842,8 +3162,141 @@ function clampNumber(value, min, max) {
2842
3162
  return min;
2843
3163
  return Math.min(max, Math.max(min, value));
2844
3164
  }
3165
+ function createInspectorMultiObjectBase(state, options, document, selectedIds, activeId, serializedMultiObject) {
3166
+ const targetIds = [...selectedIds];
3167
+ if (targetIds.length <= 1)
3168
+ return null;
3169
+ const adapterMultiObject = options.documentAdapter.getInspectorMultiObject?.(document, targetIds, activeId) ?? null;
3170
+ const serializedMulti = serializedMultiObject !== undefined
3171
+ ? serializedMultiObject
3172
+ : options.documentAdapter.getSerializedMultiObject?.(document, targetIds, activeId) ?? null;
3173
+ const serializedInspector = serializedMulti ? serializedMultiObjectToInspectorObject(serializedMulti, document) : null;
3174
+ const baseInspector = adapterMultiObject ?? serializedInspector;
3175
+ const aggregatedInspector = createAggregatedInspectorMultiObjectBase(state, options, document, targetIds, activeId);
3176
+ if (!baseInspector)
3177
+ return aggregatedInspector;
3178
+ if (!aggregatedInspector)
3179
+ return baseInspector;
3180
+ return {
3181
+ ...baseInspector,
3182
+ targetIds,
3183
+ activeId,
3184
+ label: baseInspector.label ?? aggregatedInspector.label,
3185
+ document,
3186
+ selection: {
3187
+ ...baseInspector.selection,
3188
+ targetIds,
3189
+ activeId,
3190
+ document,
3191
+ },
3192
+ sections: mergeInspectorSections(baseInspector.sections, aggregatedInspector.sections, {
3193
+ propertyConflict: 'ignore',
3194
+ }),
3195
+ };
3196
+ }
3197
+ function createAggregatedInspectorMultiObjectBase(_state, options, document, selectedIds, activeId) {
3198
+ const inspectorObjects = selectedIds.map((id) => createSingleInspectorObjectBase(options, document, id));
3199
+ if (inspectorObjects.some(object => !object))
3200
+ return null;
3201
+ const aggregatedInspector = aggregateInspectorObjectsToMultiObject({
3202
+ targetIds: selectedIds,
3203
+ activeId,
3204
+ inspectorObjects: inspectorObjects,
3205
+ label: `${selectedIds.length} objects`,
3206
+ document,
3207
+ });
3208
+ return options.documentAdapter.createSerializedMultiPropertyPatch
3209
+ ? applyAggregatedBatchInspectorCapabilityGate(options, document, aggregatedInspector)
3210
+ : disableAggregatedBatchInspectorObject(aggregatedInspector);
3211
+ }
3212
+ function createSingleInspectorObjectBase(options, document, targetId) {
3213
+ const inspectorObject = options.documentAdapter.getInspectorObject?.(document, targetId) ?? null;
3214
+ if (inspectorObject)
3215
+ return inspectorObject;
3216
+ const serializedObject = options.documentAdapter.getSerializedObject(document, targetId);
3217
+ return serializedObject ? serializedObjectToInspectorObject(serializedObject, document) : null;
3218
+ }
3219
+ function disableAggregatedBatchInspectorObject(inspectorObject) {
3220
+ if (!inspectorObject)
3221
+ return null;
3222
+ const coverageLabel = `${inspectorObject.targetIds.length} selected`;
3223
+ return {
3224
+ ...inspectorObject,
3225
+ sections: inspectorObject.sections.map(section => ({
3226
+ ...section,
3227
+ effect: 'unsupported',
3228
+ disabledReason: section.disabledReason ?? BATCH_EDIT_REQUIRES_MULTI_PATCH_REASON,
3229
+ properties: section.properties.map(property => ({
3230
+ ...property,
3231
+ controlOptions: {
3232
+ ...property.controlOptions,
3233
+ coverageLabel: readInspectorControlOptionString(property, 'coverageLabel') ?? coverageLabel,
3234
+ actionDisabledReason: readInspectorControlOptionString(property, 'actionDisabledReason')
3235
+ ?? BATCH_EDIT_REQUIRES_MULTI_PATCH_REASON,
3236
+ },
3237
+ readOnly: true,
3238
+ effect: 'unsupported',
3239
+ disabledReason: property.disabledReason ?? BATCH_EDIT_REQUIRES_MULTI_PATCH_REASON,
3240
+ })),
3241
+ })),
3242
+ };
3243
+ }
3244
+ function applyAggregatedBatchInspectorCapabilityGate(options, document, inspectorObject) {
3245
+ if (!inspectorObject || !options.documentAdapter.canCreateSerializedMultiPropertyPatch)
3246
+ return inspectorObject;
3247
+ const coverageLabel = `${inspectorObject.targetIds.length} selected`;
3248
+ return {
3249
+ ...inspectorObject,
3250
+ sections: inspectorObject.sections.map((section) => {
3251
+ const properties = section.properties.map((property) => {
3252
+ const supported = options.documentAdapter.canCreateSerializedMultiPropertyPatch?.({
3253
+ document,
3254
+ targetIds: inspectorObject.targetIds,
3255
+ activeId: inspectorObject.activeId,
3256
+ path: property.path,
3257
+ control: property.control,
3258
+ valueType: property.valueType,
3259
+ commitMode: property.commitMode,
3260
+ persistence: property.persistence,
3261
+ }) === true;
3262
+ return supported
3263
+ ? property
3264
+ : disableAggregatedBatchInspectorProperty(property, coverageLabel);
3265
+ });
3266
+ const disabledCount = properties.filter(property => property.effect === 'unsupported' && property.readOnly).length;
3267
+ if (disabledCount === 0)
3268
+ return { ...section, properties };
3269
+ return {
3270
+ ...section,
3271
+ effect: disabledCount === properties.length ? 'unsupported' : section.effect,
3272
+ disabledReason: disabledCount === properties.length
3273
+ ? section.disabledReason ?? BATCH_EDIT_REQUIRES_MULTI_PATCH_REASON
3274
+ : section.disabledReason,
3275
+ properties,
3276
+ };
3277
+ }),
3278
+ };
3279
+ }
3280
+ function disableAggregatedBatchInspectorProperty(property, coverageLabel) {
3281
+ return {
3282
+ ...property,
3283
+ controlOptions: {
3284
+ ...property.controlOptions,
3285
+ coverageLabel: readInspectorControlOptionString(property, 'coverageLabel') ?? coverageLabel,
3286
+ actionDisabledReason: readInspectorControlOptionString(property, 'actionDisabledReason')
3287
+ ?? BATCH_EDIT_REQUIRES_MULTI_PATCH_REASON,
3288
+ },
3289
+ readOnly: true,
3290
+ effect: 'unsupported',
3291
+ disabledReason: property.disabledReason ?? BATCH_EDIT_REQUIRES_MULTI_PATCH_REASON,
3292
+ };
3293
+ }
3294
+ function readInspectorControlOptionString(property, key) {
3295
+ const value = property.controlOptions?.[key];
3296
+ return typeof value === 'string' && value.trim() ? value : undefined;
3297
+ }
2845
3298
  function withRuntimeInspectorSections(state, options, document, inspectorObject) {
2846
- const baseInspectorObject = withInspectorComponentSections(state, options, document, inspectorObject);
3299
+ const baseInspectorObject = withDefaultEditorInspectorSections(state, options, document, inspectorObject);
2847
3300
  const activeId = inspectorObject.activeId;
2848
3301
  const projectionNode = activeId ? options.documentAdapter.getProjectionNode(document, activeId) : null;
2849
3302
  const projectedRoot = activeId ? state.projection?.getProjectedNode(activeId)?.root ?? null : null;
@@ -2867,6 +3320,65 @@ function withRuntimeInspectorSections(state, options, document, inspectorObject)
2867
3320
  sections,
2868
3321
  };
2869
3322
  }
3323
+ function withDefaultEditorInspectorSections(state, options, document, inspectorObject) {
3324
+ const componentInspectorObject = withInspectorComponentSections(state, options, document, inspectorObject);
3325
+ return withPlayableBabylonOutlineInspectorSection(state, options, document, componentInspectorObject);
3326
+ }
3327
+ function withPlayableBabylonOutlineInspectorSection(_state, options, document, inspectorObject) {
3328
+ if (inspectorObject.targetIds.length !== 1 || !inspectorObject.activeId)
3329
+ return inspectorObject;
3330
+ const projectionNode = options.documentAdapter.getProjectionNode(document, inspectorObject.activeId);
3331
+ if (!projectionNode)
3332
+ return inspectorObject;
3333
+ const outlineSection = createPlayableBabylonOutlineInspectorSection({
3334
+ document,
3335
+ nodeKind: inferPlayableBabylonOutlineNodeKind(projectionNode),
3336
+ outline: readPlayableBabylonProjectionOutline(projectionNode.outline),
3337
+ language: readPlayableBabylonInspectorLanguage(inspectorObject),
3338
+ });
3339
+ const sections = [
3340
+ ...inspectorObject.sections.filter(section => section.id !== outlineSection.id),
3341
+ outlineSection,
3342
+ ].sort(compareInspectorSections);
3343
+ return {
3344
+ ...inspectorObject,
3345
+ sections,
3346
+ };
3347
+ }
3348
+ function inferPlayableBabylonOutlineNodeKind(projectionNode) {
3349
+ if (projectionNode.primitive)
3350
+ return 'primitive';
3351
+ if (projectionNode.asset)
3352
+ return 'instance';
3353
+ return 'transform';
3354
+ }
3355
+ function readPlayableBabylonProjectionOutline(value) {
3356
+ if (!isObjectRecord(value))
3357
+ return null;
3358
+ const outline = {};
3359
+ if (value.strategy === 'babylon-default')
3360
+ outline.strategy = value.strategy;
3361
+ if (typeof value.renderOutline === 'boolean')
3362
+ outline.renderOutline = value.renderOutline;
3363
+ if (typeof value.outlineWidth === 'number' && Number.isFinite(value.outlineWidth)) {
3364
+ outline.outlineWidth = value.outlineWidth;
3365
+ }
3366
+ const color = value.outlineColor;
3367
+ if (isObjectRecord(color)
3368
+ && typeof color.r === 'number'
3369
+ && typeof color.g === 'number'
3370
+ && typeof color.b === 'number'
3371
+ && Number.isFinite(color.r)
3372
+ && Number.isFinite(color.g)
3373
+ && Number.isFinite(color.b)) {
3374
+ outline.outlineColor = { r: color.r, g: color.g, b: color.b };
3375
+ }
3376
+ return Object.keys(outline).length > 0 ? outline : {};
3377
+ }
3378
+ function readPlayableBabylonInspectorLanguage(inspectorObject) {
3379
+ const languageProperty = findInspectorPropertyByPath(inspectorObject, 'metadata.artistMaterialInspectorLanguage');
3380
+ return languageProperty?.value === 'en' ? 'en' : 'zh';
3381
+ }
2870
3382
  function withInspectorComponentSections(state, options, document, inspectorObject) {
2871
3383
  const context = createHarnessInspectorSelectionContext(state, document, inspectorObject);
2872
3384
  return mergeLocalEditorHarnessInspectorComponentSections({
@@ -3048,6 +3560,17 @@ function findAssetByResolvedId(state, options, assetId) {
3048
3560
  }
3049
3561
  return selected?.asset ?? null;
3050
3562
  }
3563
+ function resolveBrowserAssetItemId(state, options, assetId) {
3564
+ let selected = null;
3565
+ for (const asset of state.assets) {
3566
+ const item = toBrowserAssetItem(options, asset);
3567
+ if (item.id !== assetId && item.assetId !== assetId && resolveAssetId(options, asset) !== assetId)
3568
+ continue;
3569
+ if (!selected || shouldReplaceBrowserAssetItem(selected, item))
3570
+ selected = item;
3571
+ }
3572
+ return selected?.id ?? null;
3573
+ }
3051
3574
  function toBrowserAssetItem(options, asset) {
3052
3575
  return options.worldAdapter.toBrowserAssetItem?.(asset)
3053
3576
  ?? {