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

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