@fps-games/editor 0.1.3-beta.3 → 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 +23 -2
  14. package/dist/local-editor-harness.d.ts.map +1 -1
  15. package/dist/local-editor-harness.js +657 -128
  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))
@@ -283,6 +298,20 @@ export function createLocalEditorHarness(options) {
283
298
  },
284
299
  },
285
300
  });
301
+ const runGameFromEditor = async (reason) => {
302
+ cancelActiveOperation(state);
303
+ disposeEditorWorld(state);
304
+ state.mode = 'game';
305
+ state.session = null;
306
+ state.source = null;
307
+ state.status = reason === 'save' ? 'Saved scene; starting game' : 'Discarded editor changes; starting game';
308
+ state.statusTone = 'default';
309
+ state.statusToneStatus = state.status;
310
+ state.statusDetails = '';
311
+ harness.render();
312
+ await options.persistenceAdapter.runGame({ reason });
313
+ harness.render();
314
+ };
286
315
  harness = {
287
316
  render() {
288
317
  syncSceneCameraPreview(state, options);
@@ -360,7 +389,12 @@ export function createLocalEditorHarness(options) {
360
389
  reduceDocument: options.documentAdapter.reduceDocument,
361
390
  });
362
391
  await options.worldAdapter.disposeGameWorld();
363
- 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));
364
398
  state.mode = 'editor';
365
399
  state.summary = loadedSource?.summary ?? summarizeDocument(options, preparedDocument, source);
366
400
  state.status = `GameWorld disposed; EditorWorld active; assets=${assets.length}`;
@@ -427,19 +461,11 @@ export function createLocalEditorHarness(options) {
427
461
  const saved = await harness.saveScene();
428
462
  if (!saved)
429
463
  return false;
430
- await harness.discardAndRunGame();
464
+ await runGameFromEditor('save');
431
465
  return true;
432
466
  },
433
467
  async discardAndRunGame() {
434
- cancelActiveOperation(state);
435
- disposeEditorWorld(state);
436
- state.session = null;
437
- state.source = null;
438
- state.status = 'Reloading game';
439
- state.statusTone = 'default';
440
- state.statusToneStatus = state.status;
441
- state.statusDetails = '';
442
- await options.persistenceAdapter.runGame();
468
+ await runGameFromEditor('discard');
443
469
  },
444
470
  dispose() {
445
471
  disposeEditorWorld(state);
@@ -490,6 +516,13 @@ function cloneTransformOperationSettings(settings) {
490
516
  placementMode: settings.placementMode,
491
517
  };
492
518
  }
519
+ function cloneEditorTransformSnapshot(transform) {
520
+ return {
521
+ position: { ...transform.position },
522
+ rotation: { ...transform.rotation },
523
+ scale: { ...transform.scale },
524
+ };
525
+ }
493
526
  function updateTransformOperationSettings(current, patch) {
494
527
  return {
495
528
  ...current,
@@ -741,12 +774,15 @@ function validateTransformActionSelection(state, action) {
741
774
  ? { ok: true }
742
775
  : { ok: false, message: 'Distribute needs at least 3 selected objects' };
743
776
  }
744
- async function createEditorWorld(state, options, renderUi, updateSceneFrameStats) {
777
+ async function createEditorWorld(state, options, renderUi, renderPreviewUi, updateSceneFrameStats) {
745
778
  disposeEditorWorld(state);
746
779
  const render = (reason = 'editor-world-update') => {
747
780
  renderUi();
748
781
  requestEditorSceneFrame(state, reason);
749
782
  };
783
+ const preview = (reason) => {
784
+ requestEditorPreviewFrame(state, options, renderPreviewUi, reason);
785
+ };
750
786
  const canvas = options.worldAdapter.getCanvas();
751
787
  if (!canvas)
752
788
  throw new Error('Editor canvas not found');
@@ -798,15 +834,16 @@ async function createEditorWorld(state, options, renderUi, updateSceneFrameStats
798
834
  babylon,
799
835
  scene: world.scene,
800
836
  importModel: options.worldAdapter.importProjectionModel,
837
+ resolveTextureUrl: options.worldAdapter.resolveMaterialTextureUrl,
801
838
  logger: console,
802
839
  onProjectionReady(event) {
803
- syncCurrentSelectionToSceneArtifacts(state);
840
+ syncCurrentSelectionToSceneArtifacts(state, `projection-${event.nodeId}-ready-selection`);
804
841
  viewportRenderCoordinator.invalidateScene(`projection-${event.nodeId}-ready`);
805
842
  },
806
843
  onProjectionBatchSettled(event) {
807
844
  if (event.asyncNodeIds.length === 0)
808
845
  return;
809
- syncCurrentSelectionToSceneArtifacts(state);
846
+ syncCurrentSelectionToSceneArtifacts(state, `projection-batch-${event.batchId}-settled-selection`);
810
847
  scheduleProjectionShadowPreviewRebuild(state, `projection-batch-${event.batchId}-settled`);
811
848
  },
812
849
  });
@@ -816,19 +853,26 @@ async function createEditorWorld(state, options, renderUi, updateSceneFrameStats
816
853
  projection,
817
854
  initialTool: state.transformTool,
818
855
  initialSpace: state.transformSpace,
856
+ documentCapabilities: options.transformDocumentCapabilities,
819
857
  logger: console,
820
858
  onDragStart(event) {
821
859
  sceneViewInteraction.beginGizmoDrag();
822
- state.status = event.targetIds.length > 1
860
+ const policyStatus = toTransformOperationPolicyStatusLabel(event.operationPolicy);
861
+ state.status = policyStatus || (event.targetIds.length > 1
823
862
  ? `Dragging ${event.duplicate ? 'duplicate ' : ''}${event.tool} ${event.targetIds.length} objects`
824
- : `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 = '';
825
867
  render();
826
868
  },
827
- onDragUpdate() {
828
- render();
869
+ onDragUpdate(event) {
870
+ updateActiveTransformPreview(state, event);
871
+ preview('gizmo-drag-update');
829
872
  },
830
873
  onDragEnd(event) {
831
874
  sceneViewInteraction.endGizmoDrag();
875
+ clearActiveTransformPreview(state);
832
876
  const changed = commitGizmoTransform(state, options, event);
833
877
  if (!changed)
834
878
  requestEditorSceneFrame(state, 'gizmo-drag-end');
@@ -836,6 +880,7 @@ async function createEditorWorld(state, options, renderUi, updateSceneFrameStats
836
880
  },
837
881
  onDragCancel(event) {
838
882
  sceneViewInteraction.endGizmoDrag();
883
+ clearActiveTransformPreview(state);
839
884
  if (event.duplicate && cancelDuplicateDrag(state, options)) {
840
885
  render();
841
886
  return;
@@ -847,6 +892,7 @@ async function createEditorWorld(state, options, renderUi, updateSceneFrameStats
847
892
  },
848
893
  onDragBlocked(event) {
849
894
  sceneViewInteraction.endGizmoDrag();
895
+ clearActiveTransformPreview(state);
850
896
  if (event.duplicate)
851
897
  cancelDuplicateDrag(state, options);
852
898
  requestEditorSceneFrame(state, 'gizmo-drag-blocked');
@@ -871,8 +917,7 @@ async function createEditorWorld(state, options, renderUi, updateSceneFrameStats
871
917
  isLocked: (nodeId) => isDocumentNodeLocked(state, options, nodeId),
872
918
  isOperationBlocked: () => state.gizmo?.getState().dragPhase === 'dragging',
873
919
  onSelectionCommand(command) {
874
- if (dispatchSelectionCommand(state, options, command))
875
- render();
920
+ dispatchSelectionCommand(state, options, command, render);
876
921
  },
877
922
  onFocusIntent(nodeId) {
878
923
  if (focusProjectionNode(state, nodeId))
@@ -880,7 +925,7 @@ async function createEditorWorld(state, options, renderUi, updateSceneFrameStats
880
925
  },
881
926
  onBoxSelectionChange(box) {
882
927
  state.boxSelection = box;
883
- render();
928
+ preview('viewport-box-selection-preview');
884
929
  },
885
930
  });
886
931
  const sceneViewMeasurement = createBabylonSceneViewMeasurementController({
@@ -924,26 +969,26 @@ async function createEditorWorld(state, options, renderUi, updateSceneFrameStats
924
969
  onPointerIntentMove(event) {
925
970
  if (event.state.intent === 'measurement') {
926
971
  if (handleViewportMeasurementMove(state, event.originalEvent))
927
- render();
972
+ preview('viewport-measurement-preview');
928
973
  return;
929
974
  }
930
975
  if (event.state.intent === 'placement') {
931
976
  if (previewArmedPlacement(state, event.originalEvent))
932
- render();
977
+ preview('placement-preview');
933
978
  return;
934
979
  }
935
980
  if (event.state.intent === 'view-plane-move') {
936
981
  if (gizmo.updateViewPlaneMove(event.originalEvent))
937
- render();
982
+ preview('view-plane-move-update');
938
983
  return;
939
984
  }
940
985
  if (!state.sceneCameraPreviewEnabled && state.sceneViewCamera?.handlePointerIntentMove(event)) {
941
- render();
986
+ preview('viewport-camera-pointer-move');
942
987
  return;
943
988
  }
944
989
  if (event.state.intent === 'selection-click' || event.state.intent === 'box-select') {
945
990
  selectionController.updatePointerSelection(event.originalEvent, event.state.intent);
946
- requestEditorSceneFrame(state, 'viewport-pointer-selection-update');
991
+ preview('viewport-pointer-selection-update');
947
992
  }
948
993
  },
949
994
  onPointerIntentEnd(event) {
@@ -993,8 +1038,9 @@ async function createEditorWorld(state, options, renderUi, updateSceneFrameStats
993
1038
  selectionController.handleDoubleClick(event);
994
1039
  },
995
1040
  onWheel(event) {
996
- if (!state.sceneCameraPreviewEnabled && state.sceneViewCamera?.handleWheel(event))
997
- render();
1041
+ if (!state.sceneCameraPreviewEnabled && state.sceneViewCamera?.handleWheel(event)) {
1042
+ preview('viewport-camera-wheel');
1043
+ }
998
1044
  },
999
1045
  onMovementKeysChange(event) {
1000
1046
  sceneViewInteraction.updateMovementKeys(event.pressedMovementKeys);
@@ -1016,17 +1062,13 @@ async function createEditorWorld(state, options, renderUi, updateSceneFrameStats
1016
1062
  babylon,
1017
1063
  scene: world.scene,
1018
1064
  });
1019
- if (document) {
1020
- projection.projectNodes(options.documentAdapter.getProjectionNodes(document));
1021
- const selection = state.session?.getState().selection ?? { selectedIds: [], activeId: null };
1022
- projection.syncSelection(selection);
1023
- gizmo.setSelection(selection);
1024
- }
1025
1065
  const shadowPreview = createBabylonEditorShadowPreviewController({
1026
1066
  scene: world.scene,
1027
1067
  projection,
1028
1068
  options: initialRendering.shadowPreview,
1029
1069
  });
1070
+ const environmentTexture = createBabylonEnvironmentTextureController(world.scene, initialRendering.environment ?? null);
1071
+ const postProcess = createBabylonDefaultPostProcessPipelineController(world.scene, [world.camera], initialRendering.postProcess ?? null, { name: 'editorDefaultPostProcessPipeline' });
1030
1072
  const resize = () => {
1031
1073
  engine.resize?.();
1032
1074
  viewportRenderCoordinator.requestFrame('resize');
@@ -1038,6 +1080,8 @@ async function createEditorWorld(state, options, renderUi, updateSceneFrameStats
1038
1080
  state.grid = grid;
1039
1081
  state.projection = projection;
1040
1082
  state.shadowPreview = shadowPreview;
1083
+ state.environmentTexture = environmentTexture;
1084
+ state.postProcess = postProcess;
1041
1085
  state.gizmo = gizmo;
1042
1086
  state.sceneCameraPreview = sceneCameraPreview;
1043
1087
  state.sceneViewInput = sceneViewInput;
@@ -1051,9 +1095,14 @@ async function createEditorWorld(state, options, renderUi, updateSceneFrameStats
1051
1095
  state.worldAppearanceKey = initialAppearanceKey;
1052
1096
  state.worldRenderingKey = initialRenderingKey;
1053
1097
  state.resizeHandler = resize;
1098
+ if (document) {
1099
+ projection.projectNodes(options.documentAdapter.getProjectionNodes(document));
1100
+ }
1101
+ syncCurrentSelectionToSceneArtifacts(state, 'editor-world-initial-selection');
1054
1102
  viewportRenderCoordinator.requestFrame('editor-world-created');
1055
1103
  }
1056
1104
  function disposeEditorWorld(state) {
1105
+ state.activeTransformPreview = null;
1057
1106
  state.sceneViewInteraction?.dispose();
1058
1107
  state.sceneViewInteraction = null;
1059
1108
  if (state.resizeHandler) {
@@ -1093,6 +1142,10 @@ function disposeEditorWorld(state) {
1093
1142
  }
1094
1143
  state.shadowPreview?.dispose();
1095
1144
  state.shadowPreview = null;
1145
+ state.environmentTexture?.dispose();
1146
+ state.environmentTexture = null;
1147
+ state.postProcess?.dispose();
1148
+ state.postProcess = null;
1096
1149
  state.projection?.dispose();
1097
1150
  state.projection = null;
1098
1151
  state.grid?.dispose();
@@ -1107,6 +1160,30 @@ function disposeEditorWorld(state) {
1107
1160
  function requestEditorSceneFrame(state, reason) {
1108
1161
  state.viewportRenderCoordinator?.requestFrame(reason);
1109
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
+ }
1110
1187
  function scheduleProjectionShadowPreviewRebuild(state, reason) {
1111
1188
  if (state.projectionShadowPreviewRebuildFrame !== null) {
1112
1189
  window.cancelAnimationFrame(state.projectionShadowPreviewRebuildFrame);
@@ -1137,7 +1214,7 @@ async function runExclusive(state, render, action) {
1137
1214
  render();
1138
1215
  }
1139
1216
  }
1140
- function selectItem(state, options, input) {
1217
+ function selectItem(state, options, input, renderUi) {
1141
1218
  if (state.mode !== 'editor')
1142
1219
  return false;
1143
1220
  if (!isDocumentNodeSelectable(state, options, input.id))
@@ -1152,7 +1229,7 @@ function selectItem(state, options, input) {
1152
1229
  });
1153
1230
  if (!command)
1154
1231
  return false;
1155
- return dispatchSelectionCommand(state, options, command);
1232
+ return dispatchSelectionCommand(state, options, command, renderUi);
1156
1233
  }
1157
1234
  function createBrowserHierarchyContextActions(state, options) {
1158
1235
  return (options.hierarchy?.contextActions ?? []).map((registration) => ({
@@ -1289,7 +1366,7 @@ function handleContextAction(state, options, action) {
1289
1366
  }
1290
1367
  return false;
1291
1368
  }
1292
- function dispatchSelectionCommand(state, options, command) {
1369
+ function dispatchSelectionCommand(state, options, command, renderUi) {
1293
1370
  if (state.mode !== 'editor')
1294
1371
  return false;
1295
1372
  cancelActiveOperation(state);
@@ -1299,8 +1376,19 @@ function dispatchSelectionCommand(state, options, command) {
1299
1376
  const result = session.dispatch(command);
1300
1377
  const sanitized = sanitizeSelection(state, options, result.workingDocument, result.selection);
1301
1378
  const selection = sanitized ?? result.selection;
1302
- syncSelectionToProjection(state, selection);
1303
- 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;
1304
1392
  }
1305
1393
  function renameSceneGraphNode(state, options, intent) {
1306
1394
  const document = state.session?.getState().workingDocument;
@@ -1644,14 +1732,60 @@ function sanitizeSelection(state, options, document, selection) {
1644
1732
  });
1645
1733
  return result?.selection ?? { selectedIds, activeId };
1646
1734
  }
1647
- 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;
1648
1758
  state.projection?.syncSelection(selection);
1649
1759
  state.gizmo?.setSelection(selection);
1650
- state.gizmo?.refreshSelection();
1651
- 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);
1776
+ }
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);
1652
1782
  }
1653
- function syncCurrentSelectionToSceneArtifacts(state) {
1654
- syncSelectionToProjection(state, state.session?.getState().selection ?? { selectedIds: [], activeId: null });
1783
+ function beginSceneArtifactSync(state, reason, revision) {
1784
+ if (revision < state.sceneArtifactRevision) {
1785
+ return false;
1786
+ }
1787
+ state.sceneArtifactRevision = revision;
1788
+ return true;
1655
1789
  }
1656
1790
  function invalidateEditorScene(state, reason, options) {
1657
1791
  if (options && state.sceneCameraPreviewEnabled) {
@@ -1659,6 +1793,13 @@ function invalidateEditorScene(state, reason, options) {
1659
1793
  }
1660
1794
  state.viewportRenderCoordinator?.invalidateScene(reason);
1661
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
+ }
1662
1803
  function syncEditorWorldAppearanceFromDocument(state, options, document, reason) {
1663
1804
  const appearance = resolveLocalEditorWorldAppearance(options, document);
1664
1805
  const key = serializeLocalEditorWorldAppearance(appearance);
@@ -1682,6 +1823,8 @@ function syncEditorWorldRenderingFromDocument(state, options, document, reason,
1682
1823
  }
1683
1824
  state.worldRenderingKey = key;
1684
1825
  state.shadowPreview?.setOptions(rendering.shadowPreview);
1826
+ state.environmentTexture?.setProfile(rendering.environment);
1827
+ state.postProcess?.setProfile(rendering.postProcess);
1685
1828
  requestEditorSceneFrame(state, reason);
1686
1829
  }
1687
1830
  function resolveLocalEditorWorldAppearance(options, document) {
@@ -1699,7 +1842,9 @@ function resolveLocalEditorWorldRendering(options, document) {
1699
1842
  ? options.documentAdapter.getWorldRendering?.(document) ?? null
1700
1843
  : null;
1701
1844
  return {
1845
+ environment: documentRendering?.environment ?? null,
1702
1846
  shadowPreview: documentRendering?.shadowPreview ?? null,
1847
+ postProcess: documentRendering?.postProcess ?? null,
1703
1848
  };
1704
1849
  }
1705
1850
  function hasEditorWorldAppearanceSky(appearance) {
@@ -1714,7 +1859,9 @@ function serializeLocalEditorWorldAppearance(appearance) {
1714
1859
  }
1715
1860
  function serializeLocalEditorWorldRendering(rendering) {
1716
1861
  return JSON.stringify({
1862
+ environment: rendering.environment ?? null,
1717
1863
  shadowPreview: rendering.shadowPreview ?? null,
1864
+ postProcess: rendering.postProcess ?? null,
1718
1865
  });
1719
1866
  }
1720
1867
  function executeTransformAction(state, options, action) {
@@ -1773,8 +1920,7 @@ function executeTransformAction(state, options, action) {
1773
1920
  state.status = `Transform action unchanged: ${action}`;
1774
1921
  return true;
1775
1922
  }
1776
- const changedIds = patch.changedIds ?? changedTargets.map(target => target.id);
1777
- syncProjectionForChangedIds(state, options, result.workingDocument, changedIds);
1923
+ syncProjectionForChangedIds(state, options, result.workingDocument, changedTargets.map(target => target.id));
1778
1924
  state.summary = summarizeDocument(options, result.workingDocument, state.session.getSource());
1779
1925
  state.status = patch.label ?? formatTransformActionStatus(action, changedTargets.length);
1780
1926
  return true;
@@ -1822,11 +1968,14 @@ function selectBrowserAsset(state, assetId) {
1822
1968
  return true;
1823
1969
  }
1824
1970
  function handleBrowserAssetAction(state, options, input) {
1825
- state.selectedAssetId = input.browserAssetId;
1971
+ if (input.browserAssetId)
1972
+ state.selectedAssetId = input.browserAssetId;
1826
1973
  if (input.actionId === 'asset.add-to-scene') {
1827
- return addAssetToDocument(state, options, input.assetId).ok;
1974
+ return input.assetId ? addAssetToDocument(state, options, input.assetId).ok : false;
1828
1975
  }
1829
1976
  if (input.actionId === 'asset.place') {
1977
+ if (!input.assetId)
1978
+ return false;
1830
1979
  if (state.transformOperationSettings.placementMode === 'off') {
1831
1980
  state.transformOperationSettings = updateTransformOperationSettings(state.transformOperationSettings, {
1832
1981
  placementMode: 'ground',
@@ -1848,7 +1997,7 @@ function patchBrowserAssetAction(state, options, input) {
1848
1997
  const document = session?.getState().workingDocument ?? null;
1849
1998
  if (!session || !document || !options.documentAdapter.createAssetActionPatch)
1850
1999
  return false;
1851
- const asset = findAssetByResolvedId(state, options, input.assetId);
2000
+ const asset = input.assetId ? findAssetByResolvedId(state, options, input.assetId) : null;
1852
2001
  const patch = options.documentAdapter.createAssetActionPatch({
1853
2002
  ...input,
1854
2003
  document,
@@ -1872,8 +2021,23 @@ function patchBrowserAssetAction(state, options, input) {
1872
2021
  reprojectProjectionForChangedIds(state, options, result.workingDocument, patch.reprojectIds);
1873
2022
  else if (patch.changedIds)
1874
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);
1875
2028
  return true;
1876
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
+ }
1877
2041
  function armAssetPlacement(state, options, assetId) {
1878
2042
  if (state.mode !== 'editor')
1879
2043
  return false;
@@ -2038,6 +2202,7 @@ function patchSerializedProperty(state, options, input) {
2038
2202
  return false;
2039
2203
  }
2040
2204
  const payload = transaction.payload;
2205
+ const shouldReprojectInspectorEdit = shouldReprojectEditorInspectorEditPath(payload.path);
2041
2206
  if (targetIds.length > 1) {
2042
2207
  const patch = options.documentAdapter.createSerializedMultiPropertyPatch?.({
2043
2208
  document,
@@ -2062,11 +2227,14 @@ function patchSerializedProperty(state, options, input) {
2062
2227
  if (!result.documentChanged)
2063
2228
  return false;
2064
2229
  const changedIds = patch.changedIds ?? targetIds;
2230
+ const projectionSyncIds = isSerializedTransformPath(payload.path) ? targetIds : changedIds;
2065
2231
  const workingDocument = result.workingDocument;
2066
2232
  if (patch.reprojectIds?.length)
2067
2233
  reprojectProjectionForChangedIds(state, options, workingDocument, patch.reprojectIds);
2234
+ else if (shouldReprojectInspectorEdit)
2235
+ reprojectProjectionForChangedIds(state, options, workingDocument, changedIds);
2068
2236
  else
2069
- syncProjectionForChangedIds(state, options, workingDocument, changedIds);
2237
+ syncProjectionForChangedIds(state, options, workingDocument, projectionSyncIds);
2070
2238
  state.summary = summarizeDocument(options, workingDocument, state.session.getSource());
2071
2239
  state.status = patch.label ?? `Patch ${payload.path} on ${targetIds.length} objects`;
2072
2240
  return true;
@@ -2092,6 +2260,11 @@ function patchSerializedProperty(state, options, input) {
2092
2260
  });
2093
2261
  if (patch.reprojectIds?.length)
2094
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]);
2095
2268
  else if (patch.changedIds)
2096
2269
  syncProjectionForChangedIds(state, options, result.workingDocument, patch.changedIds);
2097
2270
  else
@@ -2100,6 +2273,18 @@ function patchSerializedProperty(state, options, input) {
2100
2273
  state.status = patch.label ?? `Patched ${payload.path}`;
2101
2274
  return true;
2102
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
+ }
2103
2288
  async function applyRenderingPropertyChange(state, options, input) {
2104
2289
  if (state.mode !== 'editor')
2105
2290
  return false;
@@ -2205,7 +2390,10 @@ function createInspectorEditTransaction(state, options, document, input, targetI
2205
2390
  });
2206
2391
  if (!result.ok)
2207
2392
  return { ok: false, message: result.message };
2208
- return { ok: true, payload: result.value };
2393
+ return {
2394
+ ok: true,
2395
+ payload: createPlayableBabylonOutlineInspectorPatchPayload(state, options, document, result.value),
2396
+ };
2209
2397
  }
2210
2398
  function findInspectorPropertyForEdit(state, options, document, input, targetIds) {
2211
2399
  const inspector = createInspectorObjectForEdit(state, options, document, input, targetIds);
@@ -2216,20 +2404,17 @@ function findInspectorPropertyForEdit(state, options, document, input, targetIds
2216
2404
  function createInspectorObjectForEdit(state, options, document, input, targetIds) {
2217
2405
  if (targetIds.length > 1) {
2218
2406
  const activeId = state.session?.getState().selection.activeId ?? input.targetId ?? null;
2219
- const inspector = options.documentAdapter.getInspectorMultiObject?.(document, targetIds, activeId) ?? null;
2407
+ const inspector = createInspectorMultiObjectBase(state, options, document, targetIds, activeId);
2220
2408
  if (inspector)
2221
- return withInspectorComponentSections(state, options, document, inspector);
2222
- const serializedMultiObject = options.documentAdapter.getSerializedMultiObject?.(document, targetIds, activeId) ?? null;
2223
- return serializedMultiObject
2224
- ? withInspectorComponentSections(state, options, document, serializedMultiObjectToInspectorObject(serializedMultiObject, document))
2225
- : null;
2409
+ return withDefaultEditorInspectorSections(state, options, document, inspector);
2410
+ return null;
2226
2411
  }
2227
2412
  const inspector = options.documentAdapter.getInspectorObject?.(document, input.targetId) ?? null;
2228
2413
  if (inspector)
2229
- return withInspectorComponentSections(state, options, document, inspector);
2414
+ return withDefaultEditorInspectorSections(state, options, document, inspector);
2230
2415
  const serializedObject = options.documentAdapter.getSerializedObject(document, input.targetId);
2231
2416
  return serializedObject
2232
- ? withInspectorComponentSections(state, options, document, serializedObjectToInspectorObject(serializedObject, document))
2417
+ ? withDefaultEditorInspectorSections(state, options, document, serializedObjectToInspectorObject(serializedObject, document))
2233
2418
  : null;
2234
2419
  }
2235
2420
  function findInspectorPropertyByPath(inspector, path) {
@@ -2240,6 +2425,40 @@ function findInspectorPropertyByPath(inspector, path) {
2240
2425
  }
2241
2426
  return null;
2242
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
+ }
2243
2462
  function beginDuplicateDrag(state, options, input) {
2244
2463
  if (state.mode !== 'editor' || !state.session)
2245
2464
  return null;
@@ -2345,15 +2564,19 @@ function commitGizmoTransform(state, options, event) {
2345
2564
  mergeWithPrevious: event.targetIds.some(id => state.duplicateDrag?.createdIds.includes(id)) === true,
2346
2565
  });
2347
2566
  syncProjectionForDispatchResult(state, options, result);
2348
- 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);
2349
2571
  state.summary = summarizeDocument(options, result.workingDocument, state.session.getSource());
2350
2572
  state.status = patch.label ?? `${event.tool} ${event.targetIds.length} objects`;
2351
2573
  state.duplicateDrag = null;
2352
2574
  return result.documentChanged;
2353
2575
  }
2576
+ const targetId = event.nodeId;
2354
2577
  const patch = options.documentAdapter.createTransformPatch?.({
2355
2578
  document,
2356
- targetId: event.nodeId,
2579
+ targetId,
2357
2580
  tool: event.tool,
2358
2581
  space: event.space,
2359
2582
  constraint: event.constraint,
@@ -2362,25 +2585,25 @@ function commitGizmoTransform(state, options, event) {
2362
2585
  });
2363
2586
  if (!patch) {
2364
2587
  if (!cancelDuplicateDrag(state, options)) {
2365
- state.projection?.setNodeTransformPreview(event.nodeId, event.before);
2366
- state.status = `Ignored ${event.tool} ${event.nodeId}`;
2588
+ state.projection?.setNodeTransformPreview(targetId, event.before);
2589
+ state.status = `Ignored ${event.tool} ${targetId}`;
2367
2590
  }
2368
2591
  return false;
2369
2592
  }
2370
2593
  const result = state.session.dispatch({
2371
2594
  type: 'document.patch',
2372
- label: patch.label ?? `${event.tool} ${event.nodeId}`,
2595
+ label: patch.label ?? `${event.tool} ${targetId}`,
2373
2596
  patch: patch.patch,
2374
- targetId: event.nodeId,
2597
+ targetId,
2375
2598
  }, {
2376
- mergeWithPrevious: state.duplicateDrag?.createdIds.includes(event.nodeId) === true,
2599
+ mergeWithPrevious: state.duplicateDrag?.createdIds.includes(targetId) === true,
2377
2600
  });
2378
- if (patch.changedIds)
2379
- syncProjectionForChangedIds(state, options, result.workingDocument, patch.changedIds);
2601
+ if (patch.reprojectIds?.length)
2602
+ reprojectProjectionForChangedIds(state, options, result.workingDocument, patch.reprojectIds);
2380
2603
  else
2381
- syncProjectionForDispatchResult(state, options, result, patch.changedId ?? event.nodeId);
2604
+ syncProjectionForChangedIds(state, options, result.workingDocument, [patch.changedId ?? targetId]);
2382
2605
  state.summary = summarizeDocument(options, result.workingDocument, state.session.getSource());
2383
- state.status = patch.label ?? `${event.tool} ${event.nodeId}`;
2606
+ state.status = patch.label ?? `${event.tool} ${targetId}`;
2384
2607
  state.duplicateDrag = null;
2385
2608
  return result.documentChanged;
2386
2609
  }
@@ -2647,6 +2870,60 @@ function hasSceneCameraPreviewRig(state, options) {
2647
2870
  const document = state.session?.getState().workingDocument ?? null;
2648
2871
  return !!document && !!options.documentAdapter.getSceneCameraPreviewRig?.(document);
2649
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
+ }
2650
2927
  function createUiState(state, options) {
2651
2928
  const sessionState = state.session?.getState();
2652
2929
  const document = sessionState?.workingDocument ?? null;
@@ -2662,7 +2939,7 @@ function createUiState(state, options) {
2662
2939
  ? options.documentAdapter.getInspectorObject?.(document, activeId) ?? (serializedObject ? serializedObjectToInspectorObject(serializedObject, document) : null)
2663
2940
  : null;
2664
2941
  const inspectorMultiObjectBase = document && selectedIds.length > 1
2665
- ? options.documentAdapter.getInspectorMultiObject?.(document, selectedIds, activeId) ?? (serializedMultiObject ? serializedMultiObjectToInspectorObject(serializedMultiObject, document) : null)
2942
+ ? createInspectorMultiObjectBase(state, options, document, selectedIds, activeId, serializedMultiObject)
2666
2943
  : null;
2667
2944
  const inspectorObject = document && inspectorObjectBase
2668
2945
  ? withRuntimeInspectorSections(state, options, document, inspectorObjectBase)
@@ -2670,6 +2947,8 @@ function createUiState(state, options) {
2670
2947
  const inspectorMultiObject = document && inspectorMultiObjectBase
2671
2948
  ? withRuntimeInspectorSections(state, options, document, inspectorMultiObjectBase)
2672
2949
  : inspectorMultiObjectBase;
2950
+ const previewInspectorObject = applyActiveTransformPreviewToInspectorObject(state, inspectorObject);
2951
+ const previewInspectorMultiObject = applyActiveTransformPreviewToInspectorObject(state, inspectorMultiObject);
2673
2952
  const documentAssetItems = document
2674
2953
  ? options.documentAdapter.getBrowserAssetItems?.(document) ?? []
2675
2954
  : [];
@@ -2697,17 +2976,17 @@ function createUiState(state, options) {
2697
2976
  },
2698
2977
  serializedObject,
2699
2978
  serializedMultiObject,
2700
- inspectorObject,
2701
- inspectorMultiObject,
2979
+ inspectorObject: previewInspectorObject,
2980
+ inspectorMultiObject: previewInspectorMultiObject,
2702
2981
  renderingPanel: document ? options.documentAdapter.getRenderingPanelState?.(document) ?? null : null,
2703
2982
  boxSelection: state.boxSelection,
2704
2983
  coordinateAxes: options.world?.coordinateAxes === false
2705
2984
  ? null
2706
2985
  : createSceneViewCoordinateAxesState(state),
2707
2986
  transformTool: {
2708
- activeTool: state.gizmo?.getState().tool ?? state.transformTool,
2709
- activeSpace: state.gizmo?.getState().space ?? state.transformSpace,
2710
- activeConstraint: state.gizmo?.getState().constraint ?? state.transformConstraint,
2987
+ activeTool: state.transformTool,
2988
+ activeSpace: state.transformSpace,
2989
+ activeConstraint: state.transformConstraint,
2711
2990
  dragPhase: state.gizmo?.getState().dragPhase ?? 'idle',
2712
2991
  draggingNodeId: state.gizmo?.getState().draggingNodeId ?? null,
2713
2992
  },
@@ -2743,6 +3022,53 @@ function createUiState(state, options) {
2743
3022
  : null,
2744
3023
  };
2745
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
+ }
2746
3072
  function createSceneViewCoordinateAxesState(state) {
2747
3073
  if (state.mode !== 'editor')
2748
3074
  return null;
@@ -2836,8 +3162,141 @@ function clampNumber(value, min, max) {
2836
3162
  return min;
2837
3163
  return Math.min(max, Math.max(min, value));
2838
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
+ }
2839
3298
  function withRuntimeInspectorSections(state, options, document, inspectorObject) {
2840
- const baseInspectorObject = withInspectorComponentSections(state, options, document, inspectorObject);
3299
+ const baseInspectorObject = withDefaultEditorInspectorSections(state, options, document, inspectorObject);
2841
3300
  const activeId = inspectorObject.activeId;
2842
3301
  const projectionNode = activeId ? options.documentAdapter.getProjectionNode(document, activeId) : null;
2843
3302
  const projectedRoot = activeId ? state.projection?.getProjectedNode(activeId)?.root ?? null : null;
@@ -2861,6 +3320,65 @@ function withRuntimeInspectorSections(state, options, document, inspectorObject)
2861
3320
  sections,
2862
3321
  };
2863
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
+ }
2864
3382
  function withInspectorComponentSections(state, options, document, inspectorObject) {
2865
3383
  const context = createHarnessInspectorSelectionContext(state, document, inspectorObject);
2866
3384
  return mergeLocalEditorHarnessInspectorComponentSections({
@@ -3042,6 +3560,17 @@ function findAssetByResolvedId(state, options, assetId) {
3042
3560
  }
3043
3561
  return selected?.asset ?? null;
3044
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
+ }
3045
3574
  function toBrowserAssetItem(options, asset) {
3046
3575
  return options.worldAdapter.toBrowserAssetItem?.(asset)
3047
3576
  ?? {