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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (653) hide show
  1. package/dist/agent-bridge/capabilities/assets.js.map +1 -1
  2. package/dist/agent-bridge/capabilities/editor-state.js.map +1 -1
  3. package/dist/agent-bridge/capabilities/host-lifecycle.js.map +1 -1
  4. package/dist/agent-bridge/capabilities/prefabs.js.map +1 -1
  5. package/dist/agent-bridge/capabilities/scene-objects.js.map +1 -1
  6. package/dist/agent-bridge/capabilities/selection.js.map +1 -1
  7. package/dist/agent-bridge/capabilities/shadows.js.map +1 -1
  8. package/dist/agent-bridge/capabilities/transform.js.map +1 -1
  9. package/dist/agent-bridge/capabilities/ui-regions.js.map +1 -1
  10. package/dist/agent-bridge/capabilities/viewport.js.map +1 -1
  11. package/dist/agent-bridge/capability-sources.js.map +1 -1
  12. package/dist/agent-bridge/diagnostics.js.map +1 -1
  13. package/dist/agent-bridge/index.js.map +1 -1
  14. package/dist/agent-bridge/register.js.map +1 -1
  15. package/dist/agent-bridge/shared.js.map +1 -1
  16. package/dist/agent-bridge/source-types.js.map +1 -1
  17. package/dist/authoring-apply.js.map +1 -1
  18. package/dist/build-info.json +48 -48
  19. package/dist/editor-plugin-agent-capabilities.js.map +1 -1
  20. package/dist/editor-plugin-hierarchy-command.js.map +1 -1
  21. package/dist/index.js.map +1 -1
  22. package/dist/internal/local-editor-lifecycle-operations.js.map +1 -1
  23. package/dist/local-editor-agent-actions.js.map +1 -1
  24. package/dist/local-editor-agent-bridge-transport.js.map +1 -1
  25. package/dist/local-editor-agent-bridge.js.map +1 -1
  26. package/dist/local-editor-agent-context.js.map +1 -1
  27. package/dist/local-editor-harness.d.ts +57 -1
  28. package/dist/local-editor-harness.d.ts.map +1 -1
  29. package/dist/local-editor-harness.js +129 -0
  30. package/dist/local-editor-harness.js.map +1 -1
  31. package/dist/local-editor-marker-graph.js.map +1 -1
  32. package/dist/local-editor-performance-stats.js.map +1 -1
  33. package/dist/local-editor-plugin-inspector.js.map +1 -1
  34. package/dist/local-editor-plugin-panel.js.map +1 -1
  35. package/dist/local-editor-scene-render-scheduler.js.map +1 -1
  36. package/dist/local-editor-scene-view-interaction-runtime.js.map +1 -1
  37. package/dist/local-editor-viewport-render-coordinator.js.map +1 -1
  38. package/dist/playable-babylon-facade.js.map +1 -1
  39. package/dist/playable-babylon-outline-inspector.js.map +1 -1
  40. package/dist/playable-babylon-outline-runtime.js.map +1 -1
  41. package/dist/playable-babylon-rendering.js.map +1 -1
  42. package/dist/playable-local-editor-host.d.ts +36 -0
  43. package/dist/playable-local-editor-host.d.ts.map +1 -1
  44. package/dist/playable-local-editor-host.js.map +1 -1
  45. package/dist/playable-product-local-editor.js.map +1 -1
  46. package/dist/playable-product-projection-preview.js.map +1 -1
  47. package/dist/playable-product-rendering.js.map +1 -1
  48. package/dist/playable-product-scene-capabilities.d.ts.map +1 -1
  49. package/dist/playable-product-scene-capabilities.js +50 -3
  50. package/dist/playable-product-scene-capabilities.js.map +1 -1
  51. package/dist/playable-runtime-babylon.js.map +1 -1
  52. package/dist/playable-runtime.js.map +1 -1
  53. package/dist/playable-sdk-upgrade-doctor.js.map +1 -1
  54. package/dist/playable-sdk-vite.js.map +1 -1
  55. package/dist/playable-sdk.js.map +1 -1
  56. package/dist/playable-standard-project.d.ts.map +1 -1
  57. package/dist/playable-standard-project.js +8 -3
  58. package/dist/playable-standard-project.js.map +1 -1
  59. package/dist/static-shadow-cpu-worker.js.map +1 -1
  60. package/dist/vite.js.map +1 -1
  61. package/node_modules/@fps-games/babylon-renderer/dist/environment/environment-texture-controller.js.map +1 -1
  62. package/node_modules/@fps-games/babylon-renderer/dist/environment/index.js.map +1 -1
  63. package/node_modules/@fps-games/babylon-renderer/dist/environment/profile.js.map +1 -1
  64. package/node_modules/@fps-games/babylon-renderer/dist/environment/types.js.map +1 -1
  65. package/node_modules/@fps-games/babylon-renderer/dist/index.js.map +1 -1
  66. package/node_modules/@fps-games/babylon-renderer/dist/lighting/directional-light-angles.js.map +1 -1
  67. package/node_modules/@fps-games/babylon-renderer/dist/outlines/babylon-default/apply.js.map +1 -1
  68. package/node_modules/@fps-games/babylon-renderer/dist/outlines/babylon-default/index.js.map +1 -1
  69. package/node_modules/@fps-games/babylon-renderer/dist/outlines/babylon-default/types.js.map +1 -1
  70. package/node_modules/@fps-games/babylon-renderer/dist/outlines/index.js.map +1 -1
  71. package/node_modules/@fps-games/babylon-renderer/dist/outlines/types.js.map +1 -1
  72. package/node_modules/@fps-games/babylon-renderer/dist/placement/index.js.map +1 -1
  73. package/node_modules/@fps-games/babylon-renderer/dist/placement/runtime-drop-position.js.map +1 -1
  74. package/node_modules/@fps-games/babylon-renderer/dist/plugin.js.map +1 -1
  75. package/node_modules/@fps-games/babylon-renderer/dist/post-process/babylon-default-pipeline.js.map +1 -1
  76. package/node_modules/@fps-games/babylon-renderer/dist/post-process/index.js.map +1 -1
  77. package/node_modules/@fps-games/babylon-renderer/dist/post-process/profile.js.map +1 -1
  78. package/node_modules/@fps-games/babylon-renderer/dist/post-process/types.js.map +1 -1
  79. package/node_modules/@fps-games/babylon-renderer/dist/post-process/volume-stack.js.map +1 -1
  80. package/node_modules/@fps-games/babylon-renderer/dist/reference.js.map +1 -1
  81. package/node_modules/@fps-games/babylon-renderer/dist/rendering/index.js.map +1 -1
  82. package/node_modules/@fps-games/babylon-renderer/dist/rendering/node-rendering.js.map +1 -1
  83. package/node_modules/@fps-games/babylon-renderer/dist/shadows/blob-shadow-shaders.js.map +1 -1
  84. package/node_modules/@fps-games/babylon-renderer/dist/shadows/blob-shadow-system.js.map +1 -1
  85. package/node_modules/@fps-games/babylon-renderer/dist/shadows/dynamic-shadow-system.js.map +1 -1
  86. package/node_modules/@fps-games/babylon-renderer/dist/shadows/planar-shadow-shaders.js.map +1 -1
  87. package/node_modules/@fps-games/babylon-renderer/dist/shadows/planar-shadow-system.js.map +1 -1
  88. package/node_modules/@fps-games/babylon-renderer/dist/shadows/static-projected-shadow-artifact-system.js.map +1 -1
  89. package/node_modules/@fps-games/babylon-renderer/dist/shadows/static-projected-shadow-atlas.js.map +1 -1
  90. package/node_modules/@fps-games/babylon-renderer/dist/shadows/static-projected-shadow-bake.js.map +1 -1
  91. package/node_modules/@fps-games/babylon-renderer/dist/shadows/static-projected-shadow-baker.js.map +1 -1
  92. package/node_modules/@fps-games/babylon-renderer/dist/shadows/static-projected-shadow-options.js.map +1 -1
  93. package/node_modules/@fps-games/babylon-renderer/dist/shadows/static-projected-shadow-rendering.js.map +1 -1
  94. package/node_modules/@fps-games/babylon-renderer/dist/shadows/types.js.map +1 -1
  95. package/node_modules/@fps-games/babylon-renderer/package.json +7 -7
  96. package/node_modules/@fps-games/editor-babylon/dist/camera-controller.js.map +1 -1
  97. package/node_modules/@fps-games/editor-babylon/dist/edit-session.js.map +1 -1
  98. package/node_modules/@fps-games/editor-babylon/dist/editor-sky.js.map +1 -1
  99. package/node_modules/@fps-games/editor-babylon/dist/editor-world.js.map +1 -1
  100. package/node_modules/@fps-games/editor-babylon/dist/event-guard.js.map +1 -1
  101. package/node_modules/@fps-games/editor-babylon/dist/index.js.map +1 -1
  102. package/node_modules/@fps-games/editor-babylon/dist/infinite-grid-layer.js.map +1 -1
  103. package/node_modules/@fps-games/editor-babylon/dist/infinite-grid.js.map +1 -1
  104. package/node_modules/@fps-games/editor-babylon/dist/input-controller.js.map +1 -1
  105. package/node_modules/@fps-games/editor-babylon/dist/inspector-adapter.js.map +1 -1
  106. package/node_modules/@fps-games/editor-babylon/dist/inspector-host.js.map +1 -1
  107. package/node_modules/@fps-games/editor-babylon/dist/main-camera-preview.js.map +1 -1
  108. package/node_modules/@fps-games/editor-babylon/dist/marker-overlay.js.map +1 -1
  109. package/node_modules/@fps-games/editor-babylon/dist/material-property-adapter.js.map +1 -1
  110. package/node_modules/@fps-games/editor-babylon/dist/material-slot-source-resolver.js.map +1 -1
  111. package/node_modules/@fps-games/editor-babylon/dist/monitor.js.map +1 -1
  112. package/node_modules/@fps-games/editor-babylon/dist/outline-adapter.js.map +1 -1
  113. package/node_modules/@fps-games/editor-babylon/dist/performance-monitor.js.map +1 -1
  114. package/node_modules/@fps-games/editor-babylon/dist/prefab-comparison-preview-controller.js.map +1 -1
  115. package/node_modules/@fps-games/editor-babylon/dist/primitive-projection-instancing.js.map +1 -1
  116. package/node_modules/@fps-games/editor-babylon/dist/projection-asset-container-importer.js.map +1 -1
  117. package/node_modules/@fps-games/editor-babylon/dist/projection-pick-resolver.js.map +1 -1
  118. package/node_modules/@fps-games/editor-babylon/dist/projection-selection-controller.js.map +1 -1
  119. package/node_modules/@fps-games/editor-babylon/dist/projection-source-owner-path.js.map +1 -1
  120. package/node_modules/@fps-games/editor-babylon/dist/projection.js.map +1 -1
  121. package/node_modules/@fps-games/editor-babylon/dist/runtime-globals.js.map +1 -1
  122. package/node_modules/@fps-games/editor-babylon/dist/scene-camera-preview.js.map +1 -1
  123. package/node_modules/@fps-games/editor-babylon/dist/scene-view-camera-controller.js.map +1 -1
  124. package/node_modules/@fps-games/editor-babylon/dist/scene-view-input-controller.js.map +1 -1
  125. package/node_modules/@fps-games/editor-babylon/dist/scene-view-measurement-controller.js.map +1 -1
  126. package/node_modules/@fps-games/editor-babylon/dist/scene-view-spatial-overlay-controller.js.map +1 -1
  127. package/node_modules/@fps-games/editor-babylon/dist/selection-controller.js.map +1 -1
  128. package/node_modules/@fps-games/editor-babylon/dist/shadow-preview-controller.js.map +1 -1
  129. package/node_modules/@fps-games/editor-babylon/dist/tool-controller.js.map +1 -1
  130. package/node_modules/@fps-games/editor-babylon/dist/transform-gizmo-controller.js.map +1 -1
  131. package/node_modules/@fps-games/editor-babylon/dist/transform-solver.js.map +1 -1
  132. package/node_modules/@fps-games/editor-babylon/dist/types.js.map +1 -1
  133. package/node_modules/@fps-games/editor-babylon/package.json +5 -5
  134. package/node_modules/@fps-games/editor-browser/dist/index.js.map +1 -1
  135. package/node_modules/@fps-games/editor-browser/dist/local-editor-inspector-clipboard.js.map +1 -1
  136. package/node_modules/@fps-games/editor-browser/dist/local-editor-inspector-groups.js.map +1 -1
  137. package/node_modules/@fps-games/editor-browser/dist/local-editor-rendering-actions.js.map +1 -1
  138. package/node_modules/@fps-games/editor-browser/dist/local-editor-root-ownership.js.map +1 -1
  139. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-asset-kind.js.map +1 -1
  140. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-context-menu.js.map +1 -1
  141. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-dock-panel.js.map +1 -1
  142. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-actions.js.map +1 -1
  143. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-attach-dialog.js.map +1 -1
  144. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-auto-scroll.js.map +1 -1
  145. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-command-adapter.js.map +1 -1
  146. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-controller.js.map +1 -1
  147. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-drag-policy.js.map +1 -1
  148. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-scope.js.map +1 -1
  149. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-tree.js.map +1 -1
  150. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-view.js.map +1 -1
  151. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-icons.js.map +1 -1
  152. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-input-router.js.map +1 -1
  153. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-modal-dialog.js.map +1 -1
  154. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-panel-registry.js.map +1 -1
  155. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-panels.js.map +1 -1
  156. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-plugin-panel.js.map +1 -1
  157. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-prefab-stage.js.map +1 -1
  158. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-primitives.js.map +1 -1
  159. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-shared.js.map +1 -1
  160. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-shortcuts.js.map +1 -1
  161. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-structured-drag-auto-scroll.js.map +1 -1
  162. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-structured-drag-policy.js.map +1 -1
  163. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-structured-drag-preview.js.map +1 -1
  164. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-structured-drag-session.js.map +1 -1
  165. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-theme.js.map +1 -1
  166. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-tooltip.js.map +1 -1
  167. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-types.js.map +1 -1
  168. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-workbench.js.map +1 -1
  169. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui.js.map +1 -1
  170. package/node_modules/@fps-games/editor-browser/dist/plugin-contributions.js.map +1 -1
  171. package/node_modules/@fps-games/editor-browser/dist/runtime-camera-debug-panel.js.map +1 -1
  172. package/node_modules/@fps-games/editor-browser/dist/runtime-debug-panel-shell.js.map +1 -1
  173. package/node_modules/@fps-games/editor-browser/dist/runtime-lighting-debug-panel.js.map +1 -1
  174. package/node_modules/@fps-games/editor-browser/package.json +4 -4
  175. package/node_modules/@fps-games/editor-core/dist/agent-bridge.js.map +1 -1
  176. package/node_modules/@fps-games/editor-core/dist/agent-interaction.js.map +1 -1
  177. package/node_modules/@fps-games/editor-core/dist/authoring-source.js.map +1 -1
  178. package/node_modules/@fps-games/editor-core/dist/document-adapter.js.map +1 -1
  179. package/node_modules/@fps-games/editor-core/dist/editor-plugin-host.d.ts.map +1 -1
  180. package/node_modules/@fps-games/editor-core/dist/editor-plugin-host.js +17 -2
  181. package/node_modules/@fps-games/editor-core/dist/editor-plugin-host.js.map +1 -1
  182. package/node_modules/@fps-games/editor-core/dist/editor-session.d.ts +6 -1
  183. package/node_modules/@fps-games/editor-core/dist/editor-session.d.ts.map +1 -1
  184. package/node_modules/@fps-games/editor-core/dist/editor-session.js +9 -0
  185. package/node_modules/@fps-games/editor-core/dist/editor-session.js.map +1 -1
  186. package/node_modules/@fps-games/editor-core/dist/events.d.ts +1 -1
  187. package/node_modules/@fps-games/editor-core/dist/events.d.ts.map +1 -1
  188. package/node_modules/@fps-games/editor-core/dist/events.js.map +1 -1
  189. package/node_modules/@fps-games/editor-core/dist/field-schema/index.js.map +1 -1
  190. package/node_modules/@fps-games/editor-core/dist/field-schema/resolver.js.map +1 -1
  191. package/node_modules/@fps-games/editor-core/dist/field-schema/schema.js.map +1 -1
  192. package/node_modules/@fps-games/editor-core/dist/field-schema/types.js.map +1 -1
  193. package/node_modules/@fps-games/editor-core/dist/field-schema/validators.js.map +1 -1
  194. package/node_modules/@fps-games/editor-core/dist/host-services.js.map +1 -1
  195. package/node_modules/@fps-games/editor-core/dist/index.js.map +1 -1
  196. package/node_modules/@fps-games/editor-core/dist/inspector.js.map +1 -1
  197. package/node_modules/@fps-games/editor-core/dist/lifecycle.js.map +1 -1
  198. package/node_modules/@fps-games/editor-core/dist/marker-graph.js.map +1 -1
  199. package/node_modules/@fps-games/editor-core/dist/scene-graph.js.map +1 -1
  200. package/node_modules/@fps-games/editor-core/dist/scene-view-input.js.map +1 -1
  201. package/node_modules/@fps-games/editor-core/dist/selection-strategy.js.map +1 -1
  202. package/node_modules/@fps-games/editor-core/dist/serialized-object.js.map +1 -1
  203. package/node_modules/@fps-games/editor-core/dist/transform-command.js.map +1 -1
  204. package/node_modules/@fps-games/editor-core/dist/transform-gizmo.js.map +1 -1
  205. package/node_modules/@fps-games/editor-core/dist/transform-operation-policy.js.map +1 -1
  206. package/node_modules/@fps-games/editor-core/dist/transform-operations.js.map +1 -1
  207. package/node_modules/@fps-games/editor-core/dist/viewport-tools.js.map +1 -1
  208. package/node_modules/@fps-games/editor-core/package.json +6 -6
  209. package/node_modules/@fps-games/editor-forge-play/dist/agent-transport.js.map +1 -1
  210. package/node_modules/@fps-games/editor-forge-play/dist/index.js.map +1 -1
  211. package/node_modules/@fps-games/editor-forge-play/package.json +2 -2
  212. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-bridge/drop-cache.js.map +1 -1
  213. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-bridge/index.js.map +1 -1
  214. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-bridge/payload.d.ts.map +1 -1
  215. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-bridge/payload.js +28 -5
  216. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-bridge/payload.js.map +1 -1
  217. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-bridge/types.d.ts +1 -0
  218. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-bridge/types.d.ts.map +1 -1
  219. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-bridge/types.js.map +1 -1
  220. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/config.js.map +1 -1
  221. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/generated-module.d.ts.map +1 -1
  222. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/generated-module.js +10 -0
  223. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/generated-module.js.map +1 -1
  224. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/index.js.map +1 -1
  225. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/managed-facade.js.map +1 -1
  226. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/manager-core.d.ts +8 -0
  227. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/manager-core.d.ts.map +1 -1
  228. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/manager-core.js +24 -2
  229. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/manager-core.js.map +1 -1
  230. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/metadata.d.ts.map +1 -1
  231. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/metadata.js +6 -2
  232. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/metadata.js.map +1 -1
  233. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/node.js.map +1 -1
  234. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/registry.d.ts +1 -0
  235. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/registry.d.ts.map +1 -1
  236. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/registry.js +83 -23
  237. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/registry.js.map +1 -1
  238. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/types.js.map +1 -1
  239. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/catalog.d.ts +1 -0
  240. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/catalog.d.ts.map +1 -1
  241. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/catalog.js +8 -0
  242. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/catalog.js.map +1 -1
  243. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/document.d.ts +22 -0
  244. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/document.d.ts.map +1 -1
  245. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/document.js +108 -1
  246. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/document.js.map +1 -1
  247. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/index.d.ts +3 -2
  248. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/index.d.ts.map +1 -1
  249. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/index.js +2 -2
  250. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/index.js.map +1 -1
  251. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/types.d.ts +2 -0
  252. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/types.d.ts.map +1 -1
  253. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/types.js.map +1 -1
  254. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-placement/document.d.ts.map +1 -1
  255. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-placement/document.js +2 -0
  256. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-placement/document.js.map +1 -1
  257. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-placement/identity.js.map +1 -1
  258. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-placement/index.js.map +1 -1
  259. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-placement/managed-runtime-instance.js.map +1 -1
  260. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-placement/placement.js.map +1 -1
  261. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-placement/runtime-scene.js.map +1 -1
  262. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-placement/types.js.map +1 -1
  263. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/index.js.map +1 -1
  264. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/result.d.ts.map +1 -1
  265. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/result.js +3 -0
  266. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/result.js.map +1 -1
  267. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/transport.js.map +1 -1
  268. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/types.d.ts +1 -0
  269. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/types.d.ts.map +1 -1
  270. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/types.js.map +1 -1
  271. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/workflow.d.ts +1 -0
  272. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/workflow.d.ts.map +1 -1
  273. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/workflow.js +7 -1
  274. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/workflow.js.map +1 -1
  275. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring/constants.js.map +1 -1
  276. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring/drift.js.map +1 -1
  277. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring/index.js.map +1 -1
  278. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring/runtime-transform-patch.js.map +1 -1
  279. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring/source.js.map +1 -1
  280. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-client/client.js.map +1 -1
  281. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-client/index.js.map +1 -1
  282. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-client/types.js.map +1 -1
  283. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-server/handler.js.map +1 -1
  284. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-server/index.js.map +1 -1
  285. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-server/payload.js.map +1 -1
  286. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-server/response.js.map +1 -1
  287. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-server/routes.js.map +1 -1
  288. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-server/types.js.map +1 -1
  289. package/node_modules/@fps-games/editor-playable-sdk/dist/bridge-command/adapter-dispatcher.js.map +1 -1
  290. package/node_modules/@fps-games/editor-playable-sdk/dist/bridge-command/index.js.map +1 -1
  291. package/node_modules/@fps-games/editor-playable-sdk/dist/bridge-command/payload.js.map +1 -1
  292. package/node_modules/@fps-games/editor-playable-sdk/dist/bridge-command/project-asset-adapter.js.map +1 -1
  293. package/node_modules/@fps-games/editor-playable-sdk/dist/bridge-command/protocol.js.map +1 -1
  294. package/node_modules/@fps-games/editor-playable-sdk/dist/bridge-command/readers.js.map +1 -1
  295. package/node_modules/@fps-games/editor-playable-sdk/dist/bridge-command/types.js.map +1 -1
  296. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/binding.js.map +1 -1
  297. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/fields.js.map +1 -1
  298. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/index.js.map +1 -1
  299. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/math.js.map +1 -1
  300. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/pan.js.map +1 -1
  301. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/panel-format.js.map +1 -1
  302. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/panel-state.js.map +1 -1
  303. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/panel-storage.js.map +1 -1
  304. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/panel-text.js.map +1 -1
  305. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/rig.js.map +1 -1
  306. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/save-patch.js.map +1 -1
  307. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/snapshot.js.map +1 -1
  308. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/types.js.map +1 -1
  309. package/node_modules/@fps-games/editor-playable-sdk/dist/commands/index.js.map +1 -1
  310. package/node_modules/@fps-games/editor-playable-sdk/dist/commands/transform.js.map +1 -1
  311. package/node_modules/@fps-games/editor-playable-sdk/dist/commands/types.js.map +1 -1
  312. package/node_modules/@fps-games/editor-playable-sdk/dist/core-contracts/index.js.map +1 -1
  313. package/node_modules/@fps-games/editor-playable-sdk/dist/document/helpers.js.map +1 -1
  314. package/node_modules/@fps-games/editor-playable-sdk/dist/document/index.js.map +1 -1
  315. package/node_modules/@fps-games/editor-playable-sdk/dist/document/types.d.ts +4 -0
  316. package/node_modules/@fps-games/editor-playable-sdk/dist/document/types.d.ts.map +1 -1
  317. package/node_modules/@fps-games/editor-playable-sdk/dist/document/types.js.map +1 -1
  318. package/node_modules/@fps-games/editor-playable-sdk/dist/field-schema/index.js.map +1 -1
  319. package/node_modules/@fps-games/editor-playable-sdk/dist/field-schema/resolver.js.map +1 -1
  320. package/node_modules/@fps-games/editor-playable-sdk/dist/field-schema/schema.js.map +1 -1
  321. package/node_modules/@fps-games/editor-playable-sdk/dist/field-schema/types.js.map +1 -1
  322. package/node_modules/@fps-games/editor-playable-sdk/dist/field-schema/validators.js.map +1 -1
  323. package/node_modules/@fps-games/editor-playable-sdk/dist/index.d.ts +1 -0
  324. package/node_modules/@fps-games/editor-playable-sdk/dist/index.d.ts.map +1 -1
  325. package/node_modules/@fps-games/editor-playable-sdk/dist/index.js +1 -0
  326. package/node_modules/@fps-games/editor-playable-sdk/dist/index.js.map +1 -1
  327. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/camera-section.js.map +1 -1
  328. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/document-property.js.map +1 -1
  329. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/document-sections.js.map +1 -1
  330. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/format.js.map +1 -1
  331. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/index.js.map +1 -1
  332. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/light-fields.js.map +1 -1
  333. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/light-sections.js.map +1 -1
  334. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/marker-section.js.map +1 -1
  335. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/object-assembly.js.map +1 -1
  336. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/readonly.js.map +1 -1
  337. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/runtime-sections.js.map +1 -1
  338. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/runtime-summary.js.map +1 -1
  339. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/runtime.js.map +1 -1
  340. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/safe-value.js.map +1 -1
  341. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/types.js.map +1 -1
  342. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/validation.js.map +1 -1
  343. package/node_modules/@fps-games/editor-playable-sdk/dist/internal/local-harness.js.map +1 -1
  344. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-debug/binding.js.map +1 -1
  345. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-debug/fields.js.map +1 -1
  346. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-debug/index.js.map +1 -1
  347. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-debug/math.js.map +1 -1
  348. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-debug/save-patch.js.map +1 -1
  349. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-debug/snapshot.js.map +1 -1
  350. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-debug/storage.js.map +1 -1
  351. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-debug/text.js.map +1 -1
  352. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-debug/types.js.map +1 -1
  353. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-preview/index.js.map +1 -1
  354. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-preview/math.js.map +1 -1
  355. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-preview/profile.js.map +1 -1
  356. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-preview/types.js.map +1 -1
  357. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/agent-descriptions.js.map +1 -1
  358. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/forge-play-types.js.map +1 -1
  359. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/forge-play.d.ts +2 -0
  360. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/forge-play.d.ts.map +1 -1
  361. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/forge-play.js +5 -0
  362. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/forge-play.js.map +1 -1
  363. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/host-controller.js.map +1 -1
  364. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/index.d.ts +2 -2
  365. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/index.d.ts.map +1 -1
  366. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/index.js.map +1 -1
  367. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/lifecycle.d.ts.map +1 -1
  368. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/lifecycle.js +4 -1
  369. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/lifecycle.js.map +1 -1
  370. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/loading-overlay.d.ts.map +1 -1
  371. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/loading-overlay.js +54 -2
  372. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/loading-overlay.js.map +1 -1
  373. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/project-asset-commands.d.ts +18 -0
  374. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/project-asset-commands.d.ts.map +1 -1
  375. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/project-asset-commands.js +60 -1
  376. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/project-asset-commands.js.map +1 -1
  377. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/timing.js.map +1 -1
  378. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/types.d.ts +2 -0
  379. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/types.d.ts.map +1 -1
  380. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/types.js.map +1 -1
  381. package/node_modules/@fps-games/editor-playable-sdk/dist/marker-scene/facade.js.map +1 -1
  382. package/node_modules/@fps-games/editor-playable-sdk/dist/marker-scene/game-objects.js.map +1 -1
  383. package/node_modules/@fps-games/editor-playable-sdk/dist/marker-scene/geometry.js.map +1 -1
  384. package/node_modules/@fps-games/editor-playable-sdk/dist/marker-scene/index.js.map +1 -1
  385. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/asset-fields.js.map +1 -1
  386. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/binding.js.map +1 -1
  387. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/default-assets.js.map +1 -1
  388. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/document-assets.d.ts.map +1 -1
  389. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/document-assets.js +28 -2
  390. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/document-assets.js.map +1 -1
  391. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/duplicate.js.map +1 -1
  392. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/index.js.map +1 -1
  393. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/inspector.js.map +1 -1
  394. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/paths.js.map +1 -1
  395. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/preview.js.map +1 -1
  396. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/profile.js.map +1 -1
  397. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/reimport.d.ts.map +1 -1
  398. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/reimport.js +26 -9
  399. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/reimport.js.map +1 -1
  400. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/resolver.js.map +1 -1
  401. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/scene-inspector.js.map +1 -1
  402. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/slot-inspector.d.ts.map +1 -1
  403. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/slot-inspector.js +0 -3
  404. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/slot-inspector.js.map +1 -1
  405. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/text.js.map +1 -1
  406. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/types.d.ts +8 -1
  407. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/types.d.ts.map +1 -1
  408. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/types.js.map +1 -1
  409. package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/field-patch.js.map +1 -1
  410. package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/index.js.map +1 -1
  411. package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/json-field.js.map +1 -1
  412. package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/reducer.js.map +1 -1
  413. package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/rendering-alpha-index.js.map +1 -1
  414. package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/transform.js.map +1 -1
  415. package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/types.js.map +1 -1
  416. package/node_modules/@fps-games/editor-playable-sdk/dist/package-resolution/aliases.d.ts +1 -1
  417. package/node_modules/@fps-games/editor-playable-sdk/dist/package-resolution/aliases.d.ts.map +1 -1
  418. package/node_modules/@fps-games/editor-playable-sdk/dist/package-resolution/aliases.js +18 -1
  419. package/node_modules/@fps-games/editor-playable-sdk/dist/package-resolution/aliases.js.map +1 -1
  420. package/node_modules/@fps-games/editor-playable-sdk/dist/package-resolution/index.js.map +1 -1
  421. package/node_modules/@fps-games/editor-playable-sdk/dist/package-resolution/types.d.ts +2 -0
  422. package/node_modules/@fps-games/editor-playable-sdk/dist/package-resolution/types.d.ts.map +1 -1
  423. package/node_modules/@fps-games/editor-playable-sdk/dist/package-resolution/types.js.map +1 -1
  424. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/action-patches.js.map +1 -1
  425. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/assets.js.map +1 -1
  426. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/index.js.map +1 -1
  427. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/material-override-inspector.js.map +1 -1
  428. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/projection.js.map +1 -1
  429. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/shadow-inspector.js.map +1 -1
  430. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/source-structure-inspector.js.map +1 -1
  431. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/stage-inspector.js.map +1 -1
  432. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/structure.js.map +1 -1
  433. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/types.js.map +1 -1
  434. package/node_modules/@fps-games/editor-playable-sdk/dist/product/asset-manager.js.map +1 -1
  435. package/node_modules/@fps-games/editor-playable-sdk/dist/product/ground-decal-scene-feature.js.map +1 -1
  436. package/node_modules/@fps-games/editor-playable-sdk/dist/product/ground-decal.js.map +1 -1
  437. package/node_modules/@fps-games/editor-playable-sdk/dist/product/index.js.map +1 -1
  438. package/node_modules/@fps-games/editor-playable-sdk/dist/product/project-host-services.d.ts +1 -0
  439. package/node_modules/@fps-games/editor-playable-sdk/dist/product/project-host-services.d.ts.map +1 -1
  440. package/node_modules/@fps-games/editor-playable-sdk/dist/product/project-host-services.js +3 -1
  441. package/node_modules/@fps-games/editor-playable-sdk/dist/product/project-host-services.js.map +1 -1
  442. package/node_modules/@fps-games/editor-playable-sdk/dist/product/scene-session.js.map +1 -1
  443. package/node_modules/@fps-games/editor-playable-sdk/dist/product/scene-source.d.ts +3 -3
  444. package/node_modules/@fps-games/editor-playable-sdk/dist/product/scene-source.d.ts.map +1 -1
  445. package/node_modules/@fps-games/editor-playable-sdk/dist/product/scene-source.js +10 -1
  446. package/node_modules/@fps-games/editor-playable-sdk/dist/product/scene-source.js.map +1 -1
  447. package/node_modules/@fps-games/editor-playable-sdk/dist/product/standard-asset-actions.js.map +1 -1
  448. package/node_modules/@fps-games/editor-playable-sdk/dist/product/standard-scene-assembly.js.map +1 -1
  449. package/node_modules/@fps-games/editor-playable-sdk/dist/rendering-profile/draft.js.map +1 -1
  450. package/node_modules/@fps-games/editor-playable-sdk/dist/rendering-profile/index.js.map +1 -1
  451. package/node_modules/@fps-games/editor-playable-sdk/dist/rendering-profile/panel.js.map +1 -1
  452. package/node_modules/@fps-games/editor-playable-sdk/dist/rendering-profile/route.js.map +1 -1
  453. package/node_modules/@fps-games/editor-playable-sdk/dist/rendering-profile/types.js.map +1 -1
  454. package/node_modules/@fps-games/editor-playable-sdk/dist/runtime-preview/assets.js.map +1 -1
  455. package/node_modules/@fps-games/editor-playable-sdk/dist/runtime-preview/import-plan.js.map +1 -1
  456. package/node_modules/@fps-games/editor-playable-sdk/dist/runtime-preview/index.js.map +1 -1
  457. package/node_modules/@fps-games/editor-playable-sdk/dist/runtime-preview/nodes.js.map +1 -1
  458. package/node_modules/@fps-games/editor-playable-sdk/dist/runtime-preview/types.js.map +1 -1
  459. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/compiler.d.ts +1 -1
  460. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/compiler.js +82 -6
  461. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/compiler.js.map +1 -1
  462. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/index.js.map +1 -1
  463. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/types.d.ts +11 -3
  464. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/types.d.ts.map +1 -1
  465. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/types.js.map +1 -1
  466. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/validation.d.ts +1 -0
  467. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/validation.d.ts.map +1 -1
  468. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/validation.js +46 -3
  469. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/validation.js.map +1 -1
  470. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/artifacts.js.map +1 -1
  471. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/client.d.ts.map +1 -1
  472. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/client.js +4 -0
  473. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/client.js.map +1 -1
  474. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/companion-configs.js.map +1 -1
  475. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/driver.js.map +1 -1
  476. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/index.js.map +1 -1
  477. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/protocol.js.map +1 -1
  478. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/types.d.ts +3 -2
  479. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/types.d.ts.map +1 -1
  480. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/types.js.map +1 -1
  481. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/validation.js.map +1 -1
  482. package/node_modules/@fps-games/editor-playable-sdk/dist/serialized-property/descriptors.js.map +1 -1
  483. package/node_modules/@fps-games/editor-playable-sdk/dist/serialized-property/index.js.map +1 -1
  484. package/node_modules/@fps-games/editor-playable-sdk/dist/serialized-property/inspector.js.map +1 -1
  485. package/node_modules/@fps-games/editor-playable-sdk/dist/serialized-property/object.js.map +1 -1
  486. package/node_modules/@fps-games/editor-playable-sdk/dist/serialized-property/patch.js.map +1 -1
  487. package/node_modules/@fps-games/editor-playable-sdk/dist/serialized-property/types.js.map +1 -1
  488. package/node_modules/@fps-games/editor-playable-sdk/dist/session/classification.js.map +1 -1
  489. package/node_modules/@fps-games/editor-playable-sdk/dist/session/hierarchy-facade.js.map +1 -1
  490. package/node_modules/@fps-games/editor-playable-sdk/dist/session/hierarchy.js.map +1 -1
  491. package/node_modules/@fps-games/editor-playable-sdk/dist/session/identity.js.map +1 -1
  492. package/node_modules/@fps-games/editor-playable-sdk/dist/session/index.js.map +1 -1
  493. package/node_modules/@fps-games/editor-playable-sdk/dist/session/object-command-facade.js.map +1 -1
  494. package/node_modules/@fps-games/editor-playable-sdk/dist/session/patches.js.map +1 -1
  495. package/node_modules/@fps-games/editor-playable-sdk/dist/session/property-patches.js.map +1 -1
  496. package/node_modules/@fps-games/editor-playable-sdk/dist/session/reducer-core.js.map +1 -1
  497. package/node_modules/@fps-games/editor-playable-sdk/dist/session/system-defaults.js.map +1 -1
  498. package/node_modules/@fps-games/editor-playable-sdk/dist/session/transform.js.map +1 -1
  499. package/node_modules/@fps-games/editor-playable-sdk/dist/session/types.js.map +1 -1
  500. package/node_modules/@fps-games/editor-playable-sdk/dist/shadow-system/index.js.map +1 -1
  501. package/node_modules/@fps-games/editor-playable-sdk/dist/shadow-system/resolver.js.map +1 -1
  502. package/node_modules/@fps-games/editor-playable-sdk/dist/shared/http.js.map +1 -1
  503. package/node_modules/@fps-games/editor-playable-sdk/dist/shared/json.d.ts +1 -0
  504. package/node_modules/@fps-games/editor-playable-sdk/dist/shared/json.d.ts.map +1 -1
  505. package/node_modules/@fps-games/editor-playable-sdk/dist/shared/json.js +25 -0
  506. package/node_modules/@fps-games/editor-playable-sdk/dist/shared/json.js.map +1 -1
  507. package/node_modules/@fps-games/editor-playable-sdk/dist/static-shadows/artifact.js.map +1 -1
  508. package/node_modules/@fps-games/editor-playable-sdk/dist/static-shadows/index.js.map +1 -1
  509. package/node_modules/@fps-games/editor-playable-sdk/dist/upgrade-doctor/host.js.map +1 -1
  510. package/node_modules/@fps-games/editor-playable-sdk/dist/upgrade-doctor/index.js.map +1 -1
  511. package/node_modules/@fps-games/editor-playable-sdk/dist/upgrade-doctor/inspectors.js.map +1 -1
  512. package/node_modules/@fps-games/editor-playable-sdk/dist/upgrade-doctor/report.js.map +1 -1
  513. package/node_modules/@fps-games/editor-playable-sdk/dist/upgrade-doctor/types.js.map +1 -1
  514. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/asset-authoring.js.map +1 -1
  515. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/authoring-http.d.ts +1 -0
  516. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/authoring-http.d.ts.map +1 -1
  517. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/authoring-http.js +1 -0
  518. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/authoring-http.js.map +1 -1
  519. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/build-info-core.js.map +1 -1
  520. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/build-info-node.js.map +1 -1
  521. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/editor-scene-workflow.d.ts +6 -5
  522. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/editor-scene-workflow.d.ts.map +1 -1
  523. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/editor-scene-workflow.js +37 -20
  524. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/editor-scene-workflow.js.map +1 -1
  525. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/index.js.map +1 -1
  526. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/module-invalidation.d.ts +3 -1
  527. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/module-invalidation.d.ts.map +1 -1
  528. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/module-invalidation.js +37 -8
  529. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/module-invalidation.js.map +1 -1
  530. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/path-write-coordinator.js.map +1 -1
  531. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/plugin.d.ts +4 -3
  532. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/plugin.d.ts.map +1 -1
  533. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/plugin.js +14 -1
  534. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/plugin.js.map +1 -1
  535. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-adapter.d.ts +5 -4
  536. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-adapter.d.ts.map +1 -1
  537. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-adapter.js.map +1 -1
  538. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-asset-authoring.d.ts +3 -2
  539. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-asset-authoring.d.ts.map +1 -1
  540. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-asset-authoring.js +10 -17
  541. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-asset-authoring.js.map +1 -1
  542. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-authoring-api.d.ts +8 -7
  543. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-authoring-api.d.ts.map +1 -1
  544. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-authoring-api.js +84 -6
  545. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-authoring-api.js.map +1 -1
  546. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-rendering-authoring.d.ts +2 -1
  547. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-rendering-authoring.d.ts.map +1 -1
  548. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-rendering-authoring.js.map +1 -1
  549. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-scene-authoring.d.ts +4 -3
  550. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-scene-authoring.d.ts.map +1 -1
  551. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-scene-authoring.js +1 -4
  552. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-scene-authoring.js.map +1 -1
  553. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/session-metadata.js.map +1 -1
  554. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/types.d.ts +0 -33
  555. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/types.d.ts.map +1 -1
  556. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/types.js.map +1 -1
  557. package/node_modules/@fps-games/editor-playable-sdk/package.json +9 -6
  558. package/node_modules/@fps-games/editor-protocol/dist/agent-bridge.js.map +1 -1
  559. package/node_modules/@fps-games/editor-protocol/dist/agent-trace.js.map +1 -1
  560. package/node_modules/@fps-games/editor-protocol/dist/agent.js.map +1 -1
  561. package/node_modules/@fps-games/editor-protocol/dist/index.js.map +1 -1
  562. package/node_modules/@fps-games/editor-protocol/dist/marker-graph.js.map +1 -1
  563. package/node_modules/@fps-games/editor-protocol/package.json +2 -2
  564. package/node_modules/@fps-games/editor-tooling/dist/contributions.js.map +1 -1
  565. package/node_modules/@fps-games/editor-tooling/dist/data-object.js.map +1 -1
  566. package/node_modules/@fps-games/editor-tooling/dist/index.js.map +1 -1
  567. package/node_modules/@fps-games/editor-tooling/dist/migration.js.map +1 -1
  568. package/node_modules/@fps-games/editor-tooling/dist/package-metadata-node.js.map +1 -1
  569. package/node_modules/@fps-games/editor-tooling/dist/vite.js.map +1 -1
  570. package/node_modules/@fps-games/editor-tooling/package.json +3 -3
  571. package/node_modules/@fps-games/playable-assets/dist/identity.js.map +1 -1
  572. package/node_modules/@fps-games/playable-assets/dist/index.d.ts +1 -0
  573. package/node_modules/@fps-games/playable-assets/dist/index.d.ts.map +1 -1
  574. package/node_modules/@fps-games/playable-assets/dist/index.js +1 -0
  575. package/node_modules/@fps-games/playable-assets/dist/index.js.map +1 -1
  576. package/node_modules/@fps-games/playable-assets/dist/portable-path.d.ts +2 -0
  577. package/node_modules/@fps-games/playable-assets/dist/portable-path.d.ts.map +1 -0
  578. package/node_modules/@fps-games/playable-assets/dist/portable-path.js +25 -0
  579. package/node_modules/@fps-games/playable-assets/dist/portable-path.js.map +1 -0
  580. package/node_modules/@fps-games/playable-assets/package.json +1 -1
  581. package/node_modules/@fps-games/playable-contracts/dist/index.js.map +1 -1
  582. package/node_modules/@fps-games/playable-contracts/dist/marker-graph-validation.js.map +1 -1
  583. package/node_modules/@fps-games/playable-contracts/dist/marker-graph.js.map +1 -1
  584. package/node_modules/@fps-games/playable-contracts/package.json +1 -1
  585. package/node_modules/@fps-games/playable-rendering/dist/index.js.map +1 -1
  586. package/node_modules/@fps-games/playable-rendering/dist/rendering-profile-authoring.js.map +1 -1
  587. package/node_modules/@fps-games/playable-rendering/dist/rendering-profile-types.js.map +1 -1
  588. package/node_modules/@fps-games/playable-rendering/dist/rendering-profile-validation.js.map +1 -1
  589. package/node_modules/@fps-games/playable-rendering/dist/rendering-profile-values.js.map +1 -1
  590. package/node_modules/@fps-games/playable-rendering/dist/rendering-profile.js.map +1 -1
  591. package/node_modules/@fps-games/playable-rendering/dist/runtime.js.map +1 -1
  592. package/node_modules/@fps-games/playable-rendering/dist/shadow-quality.js.map +1 -1
  593. package/node_modules/@fps-games/playable-rendering/dist/shadow-runtime.js.map +1 -1
  594. package/node_modules/@fps-games/playable-rendering/dist/shadow-settings.js.map +1 -1
  595. package/node_modules/@fps-games/playable-rendering/dist/shadow-types.js.map +1 -1
  596. package/node_modules/@fps-games/playable-rendering/dist/shadow-validation.js.map +1 -1
  597. package/node_modules/@fps-games/playable-rendering/dist/value.js.map +1 -1
  598. package/node_modules/@fps-games/playable-rendering/package.json +2 -2
  599. package/node_modules/@fps-games/playable-runtime/dist/compiled-scene-data.js +5 -1
  600. package/node_modules/@fps-games/playable-runtime/dist/compiled-scene-data.js.map +1 -1
  601. package/node_modules/@fps-games/playable-runtime/dist/index.js.map +1 -1
  602. package/node_modules/@fps-games/playable-runtime/dist/runtime-data.js.map +1 -1
  603. package/node_modules/@fps-games/playable-runtime/dist/runtime.js.map +1 -1
  604. package/node_modules/@fps-games/playable-runtime/dist/standard-plugins.js.map +1 -1
  605. package/node_modules/@fps-games/playable-runtime/dist/tokens.js.map +1 -1
  606. package/node_modules/@fps-games/playable-runtime/dist/types.js.map +1 -1
  607. package/node_modules/@fps-games/playable-runtime/package.json +12 -12
  608. package/node_modules/@fps-games/playable-runtime-data/dist/index.js.map +1 -1
  609. package/node_modules/@fps-games/playable-runtime-data/package.json +4 -4
  610. package/node_modules/@fps-games/playable-scene/dist/index.js.map +1 -1
  611. package/node_modules/@fps-games/playable-scene/dist/transform-math.js.map +1 -1
  612. package/node_modules/@fps-games/playable-scene/package.json +2 -2
  613. package/node_modules/@fps-games/plugin-api/dist/index.js.map +1 -1
  614. package/node_modules/@fps-games/plugin-api/package.json +1 -1
  615. package/node_modules/@fps-games/plugin-assets/dist/reference.js.map +1 -1
  616. package/node_modules/@fps-games/plugin-assets/dist/runtime.js.map +1 -1
  617. package/node_modules/@fps-games/plugin-assets/dist/version.d.ts +1 -1
  618. package/node_modules/@fps-games/plugin-assets/dist/version.js +1 -1
  619. package/node_modules/@fps-games/plugin-assets/dist/version.js.map +1 -1
  620. package/node_modules/@fps-games/plugin-assets/package.json +5 -5
  621. package/node_modules/@fps-games/plugin-host/dist/index.js.map +1 -1
  622. package/node_modules/@fps-games/plugin-host/package.json +2 -2
  623. package/node_modules/@fps-games/plugin-markers/dist/reference.js.map +1 -1
  624. package/node_modules/@fps-games/plugin-markers/dist/runtime.js.map +1 -1
  625. package/node_modules/@fps-games/plugin-markers/dist/version.d.ts +1 -1
  626. package/node_modules/@fps-games/plugin-markers/dist/version.js +1 -1
  627. package/node_modules/@fps-games/plugin-markers/dist/version.js.map +1 -1
  628. package/node_modules/@fps-games/plugin-markers/package.json +5 -5
  629. package/node_modules/@fps-games/plugin-materials/dist/reference.js.map +1 -1
  630. package/node_modules/@fps-games/plugin-materials/dist/runtime.js.map +1 -1
  631. package/node_modules/@fps-games/plugin-materials/dist/version.d.ts +1 -1
  632. package/node_modules/@fps-games/plugin-materials/dist/version.js +1 -1
  633. package/node_modules/@fps-games/plugin-materials/dist/version.js.map +1 -1
  634. package/node_modules/@fps-games/plugin-materials/package.json +5 -5
  635. package/node_modules/@fps-games/plugin-rendering/dist/reference.js.map +1 -1
  636. package/node_modules/@fps-games/plugin-rendering/dist/runtime.js.map +1 -1
  637. package/node_modules/@fps-games/plugin-rendering/dist/version.d.ts +1 -1
  638. package/node_modules/@fps-games/plugin-rendering/dist/version.js +1 -1
  639. package/node_modules/@fps-games/plugin-rendering/dist/version.js.map +1 -1
  640. package/node_modules/@fps-games/plugin-rendering/package.json +5 -5
  641. package/node_modules/@fps-games/plugin-scene/dist/reference.js.map +1 -1
  642. package/node_modules/@fps-games/plugin-scene/dist/runtime.js.map +1 -1
  643. package/node_modules/@fps-games/plugin-scene/dist/version.d.ts +1 -1
  644. package/node_modules/@fps-games/plugin-scene/dist/version.js +1 -1
  645. package/node_modules/@fps-games/plugin-scene/dist/version.js.map +1 -1
  646. package/node_modules/@fps-games/plugin-scene/package.json +5 -5
  647. package/node_modules/@fps-games/plugin-shadows/dist/reference.js.map +1 -1
  648. package/node_modules/@fps-games/plugin-shadows/dist/runtime.js.map +1 -1
  649. package/node_modules/@fps-games/plugin-shadows/dist/version.d.ts +1 -1
  650. package/node_modules/@fps-games/plugin-shadows/dist/version.js +1 -1
  651. package/node_modules/@fps-games/plugin-shadows/dist/version.js.map +1 -1
  652. package/node_modules/@fps-games/plugin-shadows/package.json +7 -7
  653. package/package.json +27 -19
@@ -1 +1 @@
1
- {"version":3,"file":"descriptors.js","sourceRoot":"","sources":["../../src/serialized-property/descriptors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"descriptors.js","sourceRoot":"","sources":["../../src/serialized-property/descriptors.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n createIdentityEditorTransform,\n type SerializedProperty,\n type SerializedPropertyDescriptor,\n} from '@fps-games/editor-core';\nimport {\n findEditorSceneModelRenderer,\n findEditorSceneTransform,\n readEditorSceneNodeKind,\n type EditorSceneDocument,\n type EditorSceneGameObject,\n type EditorSceneVec3,\n} from '../document/index';\nimport {\n EDITOR_SHADOW_OBJECT_ADVANCED_PARAMS_ENABLED,\n EDITOR_SHADOW_STATIC_AUTHORING_ENABLED,\n readEditorShadowSettingsResult,\n type EditorShadowCastMode,\n type EditorShadowMode,\n type EditorShadowQuality,\n type EditorShadowReceiveMode,\n type EditorShadowSettings,\n} from '@fps-games/playable-rendering';\nimport {\n isEditorSceneRootGameObject,\n} from '../session/identity';\nimport {\n findEditorSceneGameObject,\n isEditorSceneMatrixTransformComponent,\n isEditorSceneTrsTransformComponent,\n patchEditorSceneGameObjectLocalTransform,\n} from '../session/transform';\nimport {\n degreesToEditorSceneRadians,\n radiansToEditorSceneDegrees,\n readEditorSceneTransformVector,\n roundEditorSceneInspectorNumber,\n} from '../inspector/format';\nimport {\n patchEditorSceneGameObjectField,\n} from '../mutation/field-patch';\nimport type {\n EditorSceneTransformVectorSource,\n} from '../inspector/types';\nimport type {\n EditorSceneSerializedPropertyDescriptorInput,\n EditorSceneSerializedPropertyValidator,\n} from './types';\n\nconst TRANSFORM_VECTOR_NAMES = ['position', 'rotation', 'scale'] as const;\nconst TRANSFORM_AXES = ['x', 'y', 'z'] as const;\nconst EPSILON = 0.000001;\nconst DEFAULT_EDITOR_SCENE_SERIALIZED_SHADOW_CAST_OPTIONS: readonly {\n label: string;\n value: EditorShadowCastMode;\n}[] = [\n { label: 'Off', value: 'none' },\n { label: 'On', value: 'enabled' },\n];\nconst DEFAULT_EDITOR_SCENE_SERIALIZED_SHADOW_RECEIVE_OPTIONS: readonly {\n label: string;\n value: EditorShadowReceiveMode;\n}[] = [\n { label: 'Off', value: 'none' },\n { label: 'On', value: 'enabled' },\n];\nconst DEFAULT_EDITOR_SCENE_SERIALIZED_SHADOW_POLICY_OPTIONS: readonly {\n label: string;\n value: EditorShadowMode;\n}[] = [\n { label: 'No Shadow', value: 'none' },\n { label: 'Dynamic Shadow Map', value: 'dynamic' },\n { label: 'Blob Shadow', value: 'blob' },\n { label: 'Projected Shadow', value: 'projected' },\n];\nconst DEFAULT_EDITOR_SCENE_SERIALIZED_SHADOW_QUALITY_OPTIONS: readonly {\n label: string;\n value: EditorShadowQuality;\n}[] = [\n { label: 'High Performance', value: 'low' },\n { label: 'Balanced', value: 'medium' },\n { label: 'High Quality', value: 'high' },\n];\n\ntype TransformVectorName = typeof TRANSFORM_VECTOR_NAMES[number];\ntype TransformAxis = typeof TRANSFORM_AXES[number];\n\nexport function createEditorSceneSerializedPropertyDescriptors<\n TDocument extends EditorSceneDocument = EditorSceneDocument,\n>(\n input: EditorSceneSerializedPropertyDescriptorInput<TDocument>,\n): SerializedPropertyDescriptor<TDocument>[] {\n const descriptors: SerializedPropertyDescriptor<TDocument>[] = [\n {\n path: 'gameObject.id',\n label: 'ID',\n valueType: 'string',\n readOnly: true,\n getValue: () => input.gameObject.id,\n },\n {\n path: 'gameObject.name',\n label: 'Name',\n valueType: 'string',\n readOnly: true,\n getValue: () => input.gameObject.name ?? input.gameObject.id,\n },\n ];\n\n const transform = findEditorSceneTransform(input.gameObject);\n if (transform) {\n const rootTransform = isEditorSceneRootGameObject(input.gameObject);\n const displayTransform = rootTransform\n ? createIdentityEditorTransform()\n : isEditorSceneTrsTransformComponent(transform)\n ? transform\n : null;\n if (!displayTransform) return descriptors;\n for (const vectorName of TRANSFORM_VECTOR_NAMES) {\n for (const axis of TRANSFORM_AXES) {\n descriptors.push(createTransformAxisDescriptor({\n gameObject: input.gameObject,\n vectorName,\n axis,\n rootTransform,\n displayTransform,\n validateField: input.validateField,\n }));\n }\n }\n }\n\n const renderer = findEditorSceneModelRenderer(input.gameObject);\n if (renderer) {\n descriptors.push({\n path: 'modelRenderer.assetId',\n label: 'Asset ID',\n valueType: 'asset',\n readOnly: true,\n getValue: () => renderer.assetId,\n });\n }\n\n if (canEditEditorSceneShadowSettings(input.gameObject)) {\n descriptors.push(...createShadowSettingsDescriptors({\n gameObject: input.gameObject,\n validateField: input.validateField,\n }));\n }\n\n return descriptors;\n}\n\nexport function createEditorSceneSerializedMultiTransformProperties<\n TDocument extends EditorSceneDocument = EditorSceneDocument,\n>(\n gameObjects: readonly EditorSceneGameObject[],\n): SerializedProperty<TDocument>[] {\n const properties: SerializedProperty<TDocument>[] = [];\n for (const vectorName of TRANSFORM_VECTOR_NAMES) {\n for (const axis of TRANSFORM_AXES) {\n const values = gameObjects\n .map((gameObject) => {\n const transform = findEditorSceneTransform(gameObject);\n return transform && !isEditorSceneMatrixTransformComponent(transform)\n ? readEditorSceneTransformVector(transform, vectorName)[axis]\n : null;\n })\n .filter((value): value is number => typeof value === 'number');\n if (values.length !== gameObjects.length) continue;\n\n const displayValues = vectorName === 'rotation'\n ? values.map(radiansToEditorSceneDegrees)\n : values;\n const firstValue = displayValues[0] ?? 0;\n const mixed = displayValues.some((value) => Math.abs(value - firstValue) > EPSILON);\n const path = `transform.${vectorName}.${axis}`;\n properties.push({\n path,\n label: `${vectorName}.${axis}`,\n valueType: 'number',\n value: roundEditorSceneInspectorNumber(firstValue),\n mixed,\n readOnly: false,\n descriptor: {\n path,\n valueType: 'number',\n getValue: () => firstValue,\n },\n });\n }\n }\n return properties;\n}\n\nexport function createEditorSceneSerializedMultiCommonProperties<\n TDocument extends EditorSceneDocument = EditorSceneDocument,\n>(\n gameObjects: readonly EditorSceneGameObject[],\n): SerializedProperty<TDocument>[] {\n if (gameObjects.length === 0) return [];\n const values = gameObjects.map((gameObject) => gameObject.active !== false);\n const firstValue = values[0] ?? true;\n return [{\n path: 'enabled',\n label: 'Enabled',\n valueType: 'boolean',\n value: firstValue,\n mixed: values.some((value) => value !== firstValue),\n readOnly: false,\n descriptor: {\n path: 'enabled',\n label: 'Enabled',\n valueType: 'boolean',\n getValue: () => firstValue,\n },\n }];\n}\n\nexport function createEditorSceneSerializedMultiShadowProperties<\n TDocument extends EditorSceneDocument = EditorSceneDocument,\n>(\n gameObjects: readonly EditorSceneGameObject[],\n): SerializedProperty<TDocument>[] {\n if (gameObjects.length === 0 || gameObjects.some(gameObject => !canEditEditorSceneShadowSettings(gameObject))) return [];\n const properties: SerializedProperty<TDocument>[] = [\n createEditorSceneSerializedMultiShadowProperty<TDocument>(gameObjects, {\n path: 'shadow.cast',\n label: 'Caster',\n valueType: 'enum',\n defaultValue: 'none',\n options: DEFAULT_EDITOR_SCENE_SERIALIZED_SHADOW_CAST_OPTIONS,\n }),\n createEditorSceneSerializedMultiShadowProperty<TDocument>(gameObjects, {\n path: 'shadow.receive',\n label: 'Receiver',\n valueType: 'enum',\n defaultValue: 'none',\n options: DEFAULT_EDITOR_SCENE_SERIALIZED_SHADOW_RECEIVE_OPTIONS,\n }),\n createEditorSceneSerializedMultiShadowProperty<TDocument>(gameObjects, {\n path: 'shadow.mode',\n label: 'Policy',\n valueType: 'enum',\n defaultValue: 'none',\n options: DEFAULT_EDITOR_SCENE_SERIALIZED_SHADOW_POLICY_OPTIONS,\n }),\n createEditorSceneSerializedMultiShadowProperty<TDocument>(gameObjects, {\n path: 'shadow.quality',\n label: 'Quality',\n valueType: 'enum',\n defaultValue: 'medium',\n options: DEFAULT_EDITOR_SCENE_SERIALIZED_SHADOW_QUALITY_OPTIONS,\n }),\n ...(EDITOR_SHADOW_OBJECT_ADVANCED_PARAMS_ENABLED\n ? ([\n ['shadow.params.opacity', 'Opacity', null],\n ['shadow.params.softness', 'Softness', null],\n ['shadow.params.bias', 'Bias', null],\n ['shadow.params.normalBias', 'Normal Bias', null],\n ['shadow.params.maxDistance', 'Max Distance', null],\n ['shadow.params.resolution', 'Resolution', null],\n ['shadow.params.cascadeCount', 'Cascade Count', null],\n ['shadow.params.bakeSamples', 'Bake Samples', null],\n ['shadow.params.blurKernel', 'Blur Kernel', null],\n ] as const).map(([path, label, defaultValue]) => createEditorSceneSerializedMultiShadowProperty<TDocument>(gameObjects, {\n path,\n label,\n valueType: 'number',\n defaultValue,\n }))\n : []),\n ];\n return properties;\n}\n\nfunction createShadowSettingsDescriptors<TDocument extends EditorSceneDocument>(input: {\n gameObject: EditorSceneGameObject;\n validateField?: EditorSceneSerializedPropertyValidator<TDocument>;\n}): SerializedPropertyDescriptor<TDocument>[] {\n const descriptors: SerializedPropertyDescriptor<TDocument>[] = [\n createShadowSettingsDescriptor({\n ...input,\n path: 'shadow.cast',\n label: 'Caster',\n valueType: 'enum',\n options: DEFAULT_EDITOR_SCENE_SERIALIZED_SHADOW_CAST_OPTIONS,\n defaultValue: 'none',\n }),\n createShadowSettingsDescriptor({\n ...input,\n path: 'shadow.receive',\n label: 'Receiver',\n valueType: 'enum',\n options: DEFAULT_EDITOR_SCENE_SERIALIZED_SHADOW_RECEIVE_OPTIONS,\n defaultValue: 'none',\n }),\n createShadowSettingsDescriptor({\n ...input,\n path: 'shadow.mode',\n label: 'Policy',\n valueType: 'enum',\n options: DEFAULT_EDITOR_SCENE_SERIALIZED_SHADOW_POLICY_OPTIONS,\n defaultValue: 'none',\n }),\n createShadowSettingsDescriptor({\n ...input,\n path: 'shadow.quality',\n label: 'Quality',\n valueType: 'enum',\n options: DEFAULT_EDITOR_SCENE_SERIALIZED_SHADOW_QUALITY_OPTIONS,\n defaultValue: 'medium',\n }),\n ];\n if (EDITOR_SHADOW_OBJECT_ADVANCED_PARAMS_ENABLED) {\n for (const [path, label] of [\n ['shadow.params.opacity', 'Opacity'],\n ['shadow.params.softness', 'Softness'],\n ['shadow.params.bias', 'Bias'],\n ['shadow.params.normalBias', 'Normal Bias'],\n ['shadow.params.maxDistance', 'Max Distance'],\n ['shadow.params.resolution', 'Resolution'],\n ['shadow.params.cascadeCount', 'Cascade Count'],\n ['shadow.params.bakeSamples', 'Bake Samples'],\n ['shadow.params.blurKernel', 'Blur Kernel'],\n ] as const) {\n descriptors.push(createShadowSettingsDescriptor({\n ...input,\n path,\n label,\n valueType: 'number',\n defaultValue: null,\n }));\n }\n }\n return descriptors;\n}\n\nfunction createShadowSettingsDescriptor<TDocument extends EditorSceneDocument>(input: {\n gameObject: EditorSceneGameObject;\n path: string;\n label: string;\n valueType: SerializedPropertyDescriptor<TDocument>['valueType'];\n defaultValue: unknown;\n options?: SerializedPropertyDescriptor<TDocument>['options'];\n validateField?: EditorSceneSerializedPropertyValidator<TDocument>;\n}): SerializedPropertyDescriptor<TDocument> {\n return {\n path: input.path,\n label: input.label,\n valueType: input.valueType,\n ...(input.options ? { options: input.options } : {}),\n getValue: () => readEditorSceneSerializedShadowField(input.gameObject, input.path, input.defaultValue),\n setValue: (document: TDocument, value: unknown, context: { targetId?: string }) => {\n if (!context.targetId) return document;\n const validation = input.validateField?.({\n document,\n gameObject: input.gameObject,\n nodeKind: readEditorSceneNodeKind(input.gameObject),\n path: input.path,\n value,\n });\n if (validation && !validation.ok) return document;\n return patchEditorSceneGameObjectField(document, context.targetId, input.path, value);\n },\n };\n}\n\nfunction createEditorSceneSerializedMultiShadowProperty<TDocument extends EditorSceneDocument>(\n gameObjects: readonly EditorSceneGameObject[],\n input: {\n path: string;\n label: string;\n valueType: SerializedProperty<TDocument>['valueType'];\n defaultValue: unknown;\n options?: SerializedProperty<TDocument>['options'];\n },\n): SerializedProperty<TDocument> {\n const values = gameObjects.map(gameObject => readEditorSceneSerializedShadowField(gameObject, input.path, input.defaultValue));\n const firstValue = values[0] ?? input.defaultValue;\n return {\n path: input.path,\n label: input.label,\n valueType: input.valueType,\n value: firstValue,\n mixed: values.some(value => value !== firstValue),\n readOnly: false,\n ...(input.options ? { options: input.options } : {}),\n descriptor: {\n path: input.path,\n label: input.label,\n valueType: input.valueType,\n ...(input.options ? { options: input.options } : {}),\n getValue: () => firstValue,\n },\n };\n}\n\nfunction readEditorSceneSerializedShadowField(\n gameObject: EditorSceneGameObject,\n path: string,\n defaultValue: unknown,\n): unknown {\n const settings = readEditorSceneSerializedShadowSettings(gameObject);\n if (path === 'shadow.cast') return settings.cast === 'enabled' ? 'enabled' : defaultValue;\n if (path === 'shadow.receive') return settings.receive === 'enabled' ? 'enabled' : defaultValue;\n if (path === 'shadow.mode') {\n return settings.mode === 'dynamic' || settings.mode === 'blob' || settings.mode === 'projected' || settings.mode === 'none'\n ? settings.mode\n : defaultValue;\n }\n if (path === 'shadow.quality') {\n return settings.quality === 'low' || settings.quality === 'medium' || settings.quality === 'high'\n ? settings.quality\n : defaultValue;\n }\n if (path === 'shadow.light.mode') return settings.light?.mode ?? defaultValue;\n if (path === 'shadow.light.lightId') return settings.light?.lightId ?? defaultValue;\n if (path.startsWith('shadow.params.')) {\n const paramName = path.slice('shadow.params.'.length) as keyof NonNullable<EditorShadowSettings['params']>;\n return settings.params?.[paramName] ?? defaultValue;\n }\n return defaultValue;\n}\n\nfunction readEditorSceneSerializedShadowSettings(gameObject: EditorSceneGameObject): EditorShadowSettings {\n return readEditorShadowSettingsResult(gameObject.shadow).shadow ?? {};\n}\n\nfunction canEditEditorSceneShadowSettings(gameObject: EditorSceneGameObject): boolean {\n if (isEditorSceneRootGameObject(gameObject)) return false;\n if (gameObject.transformType === 'camera' || gameObject.transformType === 'light') return false;\n if (gameObject.camera || gameObject.light) return false;\n const nodeKind = readEditorSceneNodeKind(gameObject);\n return nodeKind === 'instance' || nodeKind === 'primitive' || nodeKind === 'transform';\n}\n\nfunction createTransformAxisDescriptor<TDocument extends EditorSceneDocument>(input: {\n gameObject: EditorSceneGameObject;\n vectorName: TransformVectorName;\n axis: TransformAxis;\n rootTransform: boolean;\n displayTransform: EditorSceneTransformVectorSource;\n validateField?: EditorSceneSerializedPropertyValidator<TDocument>;\n}): SerializedPropertyDescriptor<TDocument> {\n const path = `transform.${input.vectorName}.${input.axis}`;\n return {\n path,\n label: `${input.vectorName}.${input.axis}`,\n valueType: 'number',\n readOnly: input.rootTransform,\n getValue: () => {\n const value = readEditorSceneTransformVector(input.displayTransform, input.vectorName)[input.axis];\n return input.vectorName === 'rotation'\n ? roundEditorSceneInspectorNumber(radiansToEditorSceneDegrees(value))\n : value;\n },\n ...(input.rootTransform\n ? {}\n : {\n setValue: (document: TDocument, value: unknown, context: { targetId?: string }) => (\n setTransformAxisValue({\n document,\n targetId: context.targetId,\n vectorName: input.vectorName,\n axis: input.axis,\n value,\n validateField: input.validateField,\n })\n ),\n }),\n };\n}\n\nfunction setTransformAxisValue<TDocument extends EditorSceneDocument>(input: {\n document: TDocument;\n targetId?: string;\n vectorName: TransformVectorName;\n axis: TransformAxis;\n value: unknown;\n validateField?: EditorSceneSerializedPropertyValidator<TDocument>;\n}): TDocument {\n const numericValue = Number(input.value);\n if (!input.targetId || !Number.isFinite(numericValue)) return input.document;\n\n const target = findEditorSceneGameObject(input.document, input.targetId);\n const transform = target ? findEditorSceneTransform(target) : null;\n if (!target || !transform || isEditorSceneMatrixTransformComponent(transform)) return input.document;\n\n const path = `transform.${input.vectorName}.${input.axis}`;\n const validation = input.validateField?.({\n document: input.document,\n gameObject: target,\n nodeKind: readEditorSceneNodeKind(target),\n path,\n value: numericValue,\n });\n if (validation && !validation.ok) return input.document;\n\n const storedValue = input.vectorName === 'rotation'\n ? degreesToEditorSceneRadians(numericValue)\n : numericValue;\n const position = input.vectorName === 'position'\n ? { ...transform.position, [input.axis]: storedValue }\n : transform.position;\n const rotation = input.vectorName === 'rotation'\n ? { ...transform.rotation, [input.axis]: storedValue }\n : transform.rotation;\n const scale = input.vectorName === 'scale'\n ? { ...readEditorSceneTransformVector(transform, 'scale'), [input.axis]: storedValue }\n : readEditorSceneTransformVector(transform, 'scale');\n\n return patchEditorSceneDocumentGameObjectTransform(input.document, input.targetId, {\n position,\n rotation,\n scale,\n });\n}\n\nfunction patchEditorSceneDocumentGameObjectTransform<TDocument extends EditorSceneDocument>(\n document: TDocument,\n targetId: string,\n transform: {\n position: EditorSceneVec3;\n rotation: EditorSceneVec3;\n scale: EditorSceneVec3;\n },\n): TDocument {\n return {\n ...document,\n scene: {\n ...document.scene,\n gameObjects: document.scene.gameObjects.map((gameObject) => (\n gameObject.id === targetId\n ? patchEditorSceneGameObjectLocalTransform(gameObject, transform)\n : gameObject\n )),\n },\n } as TDocument;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/serialized-property/index.ts"],"names":[],"mappings":"AAUA,OAAO,EACL,8CAA8C,GAC/C,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,sCAAsC,EACtC,iCAAiC,GAClC,MAAM,UAAU,CAAC;AAClB,OAAO,EACL,4DAA4D,EAC5D,+CAA+C,EAC/C,iDAAiD,GAElD,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,uCAAuC,GACxC,MAAM,SAAS,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/serialized-property/index.ts"],"names":[],"mappings":"AAUA,OAAO,EACL,8CAA8C,GAC/C,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,sCAAsC,EACtC,iCAAiC,GAClC,MAAM,UAAU,CAAC;AAClB,OAAO,EACL,4DAA4D,EAC5D,+CAA+C,EAC/C,iDAAiD,GAElD,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,uCAAuC,GACxC,MAAM,SAAS,CAAC","sourcesContent":["export type {\n EditorSceneSerializedMultiObjectInput,\n EditorSceneSerializedMultiObjectResult,\n EditorSceneSerializedObjectInput,\n EditorSceneSerializedObjectResult,\n EditorSceneSerializedPropertyDescriptorInput,\n EditorSceneSerializedPropertyPatchInput,\n EditorSceneSerializedPropertyValidationInput,\n EditorSceneSerializedPropertyValidator,\n} from './types';\nexport {\n createEditorSceneSerializedPropertyDescriptors,\n} from './descriptors';\nexport {\n createEditorSceneSerializedMultiObject,\n createEditorSceneSerializedObject,\n} from './object';\nexport {\n EDITOR_SCENE_LARGE_SELECTION_LIGHTWEIGHT_INSPECTOR_THRESHOLD,\n createEditorSceneSerializedMultiInspectorObject,\n createEditorSceneSerializedMultiInspectorSections,\n type EditorSceneSerializedMultiInspectorObjectInput,\n} from './inspector';\nexport {\n applyEditorSceneSerializedPropertyPatch,\n} from './patch';\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"inspector.js","sourceRoot":"","sources":["../../src/serialized-property/inspector.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"inspector.js","sourceRoot":"","sources":["../../src/serialized-property/inspector.ts"],"names":[],"mappings":"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","sourcesContent":["import type {\n InspectorObject,\n InspectorProperty,\n InspectorSection,\n SerializedMultiObject,\n} from '@fps-games/editor-core';\nimport {\n readEditorSceneNodeKind,\n type EditorSceneDocument,\n type EditorSceneGameObject,\n} from '../document/index';\nimport {\n EDITOR_SCENE_SHADOW_INSPECTOR_LANGUAGE_OPTIONS,\n EDITOR_SCENE_SHADOW_INSPECTOR_LANGUAGE_PATH,\n canEditEditorSceneShadowSettings,\n createEditorSceneShadowCastOptions,\n createEditorSceneShadowLightOptions,\n createEditorSceneShadowPolicyOptions,\n createEditorSceneShadowQualityOptions,\n createEditorSceneShadowReceiveOptions,\n createEditorSceneStaticShadowBakeActionProperty,\n getEditorSceneShadowInspectorText,\n readEditorSceneShadowInspectorLanguage,\n} from '../inspector/document-sections';\nimport {\n createEditorSceneFieldInspectorValidator,\n} from '../inspector/validation';\nimport {\n isEditorSceneRootGameObject,\n} from '../session/identity';\nimport {\n createEditorSceneSerializedMultiCommonProperties,\n createEditorSceneSerializedMultiShadowProperties,\n} from './descriptors';\nimport {\n createEditorSceneSerializedMultiObject,\n} from './object';\nimport {\n EDITOR_SHADOW_STATIC_AUTHORING_ENABLED,\n} from '@fps-games/playable-rendering';\n\nconst ENABLED_PATH = 'enabled';\nconst SHADOW_PREFIX = 'shadow.';\n\nexport const EDITOR_SCENE_LARGE_SELECTION_LIGHTWEIGHT_INSPECTOR_THRESHOLD = 200;\n\nexport interface EditorSceneSerializedMultiInspectorObjectInput<\n TDocument extends EditorSceneDocument = EditorSceneDocument,\n> {\n document: TDocument;\n selectedIds: readonly string[];\n activeId: string | null;\n label?: string;\n largeSelectionThreshold?: number;\n}\n\nexport function createEditorSceneSerializedMultiInspectorObject<\n TDocument extends EditorSceneDocument = EditorSceneDocument,\n>(\n input: EditorSceneSerializedMultiInspectorObjectInput<TDocument>,\n): InspectorObject<TDocument> | null {\n const gameObjects = collectEditorSceneMultiInspectorTargets(input.document, input.selectedIds);\n if (gameObjects.length === 0) return null;\n\n const targetIds = gameObjects.map((gameObject) => gameObject.id);\n const activeId = input.activeId && targetIds.includes(input.activeId)\n ? input.activeId\n : targetIds[0] ?? null;\n const threshold = input.largeSelectionThreshold ?? EDITOR_SCENE_LARGE_SELECTION_LIGHTWEIGHT_INSPECTOR_THRESHOLD;\n const shadowGameObjects = filterEditorSceneMultiInspectorShadowTargets(gameObjects);\n const shadowProperties = createEditorSceneSerializedMultiShadowProperties<TDocument>(shadowGameObjects);\n const largeSelection = gameObjects.length > threshold;\n const baseSerialized = largeSelection\n ? createEditorSceneLargeSelectionSerializedMultiObject({\n document: input.document,\n gameObjects,\n shadowGameObjects,\n activeId,\n label: input.label,\n })\n : createEditorSceneSerializedMultiObject({\n document: input.document,\n targetIds,\n activeId,\n label: input.label,\n });\n if (!baseSerialized) return null;\n const serialized = baseSerialized.properties.some((property) => isEditorSceneSerializedMultiShadowPropertyPath(property.path)) || shadowProperties.length === 0\n ? baseSerialized\n : {\n ...baseSerialized,\n properties: [\n ...baseSerialized.properties,\n ...shadowProperties,\n ],\n };\n\n const sections = createEditorSceneSerializedMultiInspectorSections({\n document: input.document,\n serialized,\n shadowOnly: largeSelection,\n });\n if (sections.length === 0) return null;\n\n return {\n targetIds: serialized.targetIds,\n activeId: serialized.activeId,\n label: serialized.label,\n document: input.document,\n selection: {\n targetIds: serialized.targetIds,\n activeId: serialized.activeId,\n document: input.document,\n },\n sections,\n };\n}\n\nexport function createEditorSceneSerializedMultiInspectorSections<\n TDocument extends EditorSceneDocument = EditorSceneDocument,\n>(input: {\n document: TDocument;\n serialized: SerializedMultiObject<TDocument>;\n shadowOnly?: boolean;\n}): InspectorSection<TDocument>[] {\n const shadow = createEditorSceneSerializedMultiShadowInspectorSection(\n input.document,\n input.serialized,\n input.serialized.properties.filter((property) => isEditorSceneSerializedMultiShadowPropertyPath(property.path)),\n );\n const common = createEditorSceneSerializedMultiInspectorSection(\n 'common',\n 'Common',\n 10,\n input.serialized.properties.filter((property) => property.path === ENABLED_PATH),\n input.document,\n );\n if (input.shadowOnly) return [common, shadow].filter((section): section is InspectorSection<TDocument> => !!section);\n return [\n common,\n createEditorSceneSerializedMultiInspectorSection(\n 'transform',\n 'Transform',\n 20,\n input.serialized.properties.filter((property) => property.path.startsWith('transform.')),\n input.document,\n ),\n shadow,\n createEditorSceneSerializedMultiInspectorSection(\n 'properties',\n 'Properties',\n 90,\n input.serialized.properties.filter((property) => (\n !property.path.startsWith('transform.') && property.path !== ENABLED_PATH\n && !property.path.startsWith(SHADOW_PREFIX)\n )),\n input.document,\n ),\n ].filter((section): section is InspectorSection<TDocument> => !!section);\n}\n\nfunction collectEditorSceneMultiInspectorTargets<\n TDocument extends EditorSceneDocument,\n>(\n document: TDocument,\n selectedIds: readonly string[],\n): EditorSceneGameObject[] {\n const gameObjectById = new Map(document.scene.gameObjects.map((gameObject) => [gameObject.id, gameObject]));\n const seen = new Set<string>();\n const gameObjects: EditorSceneGameObject[] = [];\n for (const selectedId of selectedIds) {\n if (!selectedId || seen.has(selectedId)) continue;\n seen.add(selectedId);\n const gameObject = gameObjectById.get(selectedId);\n if (!gameObject) continue;\n if (isEditorSceneRootGameObject(gameObject)) continue;\n gameObjects.push(gameObject);\n }\n return gameObjects;\n}\n\nfunction filterEditorSceneMultiInspectorShadowTargets(\n gameObjects: readonly EditorSceneGameObject[],\n): EditorSceneGameObject[] {\n return gameObjects.filter((gameObject) => canEditEditorSceneShadowSettings({\n gameObject,\n nodeKind: readEditorSceneNodeKind(gameObject),\n }));\n}\n\nfunction createEditorSceneLargeSelectionSerializedMultiObject<\n TDocument extends EditorSceneDocument,\n>(input: {\n document: TDocument;\n gameObjects: readonly EditorSceneGameObject[];\n shadowGameObjects: readonly EditorSceneGameObject[];\n activeId: string | null;\n label?: string;\n}): SerializedMultiObject<TDocument> | null {\n if (input.gameObjects.length === 0) return null;\n const shadowProperties: SerializedMultiObject<TDocument>['properties'] = input.shadowGameObjects.length === 0\n ? []\n : createEditorSceneSerializedMultiShadowProperties<TDocument>(input.shadowGameObjects);\n return {\n targetIds: input.gameObjects.map((gameObject) => gameObject.id),\n activeId: input.activeId,\n label: input.label ?? `${input.gameObjects.length} GameObjects`,\n properties: [\n ...createEditorSceneSerializedMultiCommonProperties<TDocument>(input.gameObjects),\n ...shadowProperties,\n ],\n };\n}\n\nfunction createEditorSceneSerializedMultiShadowInspectorSection<\n TDocument extends EditorSceneDocument,\n>(\n document: TDocument,\n serialized: SerializedMultiObject<TDocument>,\n shadowProperties: SerializedMultiObject<TDocument>['properties'],\n): InspectorSection<TDocument> | null {\n if (shadowProperties.length === 0) return null;\n const gameObjectById = new Map(document.scene.gameObjects.map((gameObject) => [gameObject.id, gameObject]));\n const selectedObjects = serialized.targetIds\n .map((targetId) => gameObjectById.get(targetId))\n .filter((gameObject): gameObject is EditorSceneGameObject => !!gameObject)\n .filter((gameObject) => canEditEditorSceneShadowSettings({\n gameObject,\n nodeKind: readEditorSceneNodeKind(gameObject),\n }));\n const activeObject = gameObjectById.get(serialized.activeId ?? '') ?? selectedObjects[0] ?? null;\n const shadowActiveObject = activeObject && canEditEditorSceneShadowSettings({\n gameObject: activeObject,\n nodeKind: readEditorSceneNodeKind(activeObject),\n })\n ? activeObject\n : selectedObjects[0] ?? null;\n if (!shadowActiveObject) return null;\n\n const language = readEditorSceneShadowInspectorLanguage(shadowActiveObject);\n const mixedLanguage = selectedObjects\n .map(readEditorSceneShadowInspectorLanguage)\n .some((candidate) => candidate !== language);\n const text = getEditorSceneShadowInspectorText(language);\n const activeNodeKind = readEditorSceneNodeKind(shadowActiveObject);\n const policySource = shadowProperties.find(property => property.path === 'shadow.mode');\n const castSource = shadowProperties.find(property => property.path === 'shadow.cast');\n const showShadowPolicyControls = !castSource || castSource.mixed === true || castSource.value === 'enabled';\n const mode = readEditorSceneSerializedMultiShadowPolicyMode(policySource);\n const mixedMode = policySource?.mixed === true;\n const visibleShadowProperties = showShadowPolicyControls\n ? shadowProperties\n : shadowProperties.filter(property => property.path !== 'shadow.mode' && property.path !== 'shadow.quality');\n\n return {\n id: 'shadow',\n title: text.title,\n order: 25,\n placement: 'body',\n summary: text.summaryPolicy(mode, mixedMode),\n persistence: 'document',\n collapsedByDefault: false,\n properties: [\n createEditorSceneSerializedMultiShadowLanguageInspectorProperty({\n document,\n text,\n language,\n mixed: mixedLanguage,\n nodeKind: activeNodeKind,\n order: 0,\n }),\n ...orderEditorSceneSerializedMultiShadowProperties(visibleShadowProperties).map((property, index) => createEditorSceneLocalizedSerializedMultiShadowInspectorProperty({\n property,\n propertyOrder: index + 1,\n text,\n nodeKind: activeNodeKind,\n document,\n })),\n ...(EDITOR_SHADOW_STATIC_AUTHORING_ENABLED && mode === 'static' && !mixedMode\n ? [createEditorSceneStaticShadowBakeActionProperty<TDocument>(text, 90)]\n : []),\n ],\n };\n}\n\nfunction orderEditorSceneSerializedMultiShadowProperties<TDocument extends EditorSceneDocument>(\n properties: SerializedMultiObject<TDocument>['properties'],\n): SerializedMultiObject<TDocument>['properties'] {\n const priority = (path: string): number => {\n if (path === 'shadow.cast') return 0;\n if (path === 'shadow.mode') return 1;\n if (path === 'shadow.quality') return 2;\n if (path === 'shadow.receive') return 3;\n if (path.startsWith('shadow.light.')) return 5;\n if (path.startsWith('shadow.params.')) return 6;\n return 10;\n };\n return [...properties].sort((a, b) => priority(a.path) - priority(b.path));\n}\n\nfunction isEditorSceneSerializedMultiShadowPropertyPath(path: string): boolean {\n return path.startsWith(SHADOW_PREFIX);\n}\n\nfunction createEditorSceneLocalizedSerializedMultiShadowInspectorProperty<\n TDocument extends EditorSceneDocument,\n>(input: {\n property: SerializedMultiObject<TDocument>['properties'][number];\n propertyOrder: number;\n text: ReturnType<typeof getEditorSceneShadowInspectorText>;\n nodeKind: string;\n document: TDocument;\n}): InspectorProperty<TDocument> {\n const localized = localizeEditorSceneSerializedMultiShadowProperty(input.property, input.text);\n const inspectorProperty = createEditorSceneSerializedMultiInspectorProperty(localized, input.propertyOrder);\n return {\n ...inspectorProperty,\n ...(isEditorSceneShadowPolicyChildProperty(localized.path)\n ? {\n controlOptions: {\n ...inspectorProperty.controlOptions,\n indentLevel: 1,\n parentPath: 'shadow.cast',\n },\n }\n : {}),\n tooltip: resolveEditorSceneSerializedMultiShadowTooltip(localized.path, input.text),\n validate: createEditorSceneFieldInspectorValidator({\n path: localized.path,\n nodeKind: input.nodeKind,\n document: input.document,\n }),\n };\n}\n\nfunction isEditorSceneShadowPolicyChildProperty(path: string): boolean {\n return path === 'shadow.mode' || path === 'shadow.quality';\n}\n\nfunction localizeEditorSceneSerializedMultiShadowProperty<TDocument extends EditorSceneDocument>(\n property: SerializedMultiObject<TDocument>['properties'][number],\n text: ReturnType<typeof getEditorSceneShadowInspectorText>,\n): SerializedMultiObject<TDocument>['properties'][number] {\n if (property.path === 'shadow.cast') return localizeProperty(property, text.cast, createEditorSceneShadowCastOptions(text));\n if (property.path === 'shadow.receive') return localizeProperty(property, text.receive, createEditorSceneShadowReceiveOptions(text));\n if (property.path === 'shadow.mode') return localizeProperty(property, text.policy, createEditorSceneShadowPolicyOptions(text));\n if (property.path === 'shadow.quality') return localizeProperty(property, text.quality, createEditorSceneShadowQualityOptions(text));\n if (property.path === 'shadow.light.mode') return localizeProperty(property, text.light, createEditorSceneShadowLightOptions(text));\n if (property.path === 'shadow.light.lightId') return localizeProperty(property, text.lightId);\n if (property.path === 'shadow.params.opacity') return localizeProperty(property, text.opacity);\n if (property.path === 'shadow.params.softness') return localizeProperty(property, text.softness);\n if (property.path === 'shadow.params.bias') return localizeProperty(property, text.bias);\n if (property.path === 'shadow.params.normalBias') return localizeProperty(property, text.normalBias);\n if (property.path === 'shadow.params.maxDistance') return localizeProperty(property, text.maxDistance);\n if (property.path === 'shadow.params.resolution') return localizeProperty(property, text.resolution);\n if (property.path === 'shadow.params.cascadeCount') return localizeProperty(property, text.cascadeCount);\n if (property.path === 'shadow.params.bakeSamples') return localizeProperty(property, text.bakeSamples);\n if (property.path === 'shadow.params.blurKernel') return localizeProperty(property, text.blurKernel);\n return property;\n}\n\nfunction localizeProperty<TDocument extends EditorSceneDocument>(\n property: SerializedMultiObject<TDocument>['properties'][number],\n label: string,\n options?: SerializedMultiObject<TDocument>['properties'][number]['options'],\n): SerializedMultiObject<TDocument>['properties'][number] {\n return {\n ...property,\n label,\n ...(options ? { options } : {}),\n descriptor: {\n ...property.descriptor,\n label,\n ...(options ? { options } : {}),\n },\n };\n}\n\nfunction resolveEditorSceneSerializedMultiShadowTooltip(\n path: string,\n text: ReturnType<typeof getEditorSceneShadowInspectorText>,\n): string | undefined {\n if (path === 'shadow.cast') return text.tooltips.cast;\n if (path === 'shadow.receive') return text.tooltips.receive;\n if (path === 'shadow.mode') return text.tooltips.policy;\n if (path === 'shadow.quality') return text.tooltips.quality;\n if (path === 'shadow.light.mode') return text.tooltips.light;\n if (path === 'shadow.light.lightId') return text.tooltips.lightId;\n if (path === 'shadow.params.opacity') return text.tooltips.opacity;\n if (path === 'shadow.params.softness') return text.tooltips.softness;\n if (path === 'shadow.params.bias') return text.tooltips.bias;\n if (path === 'shadow.params.normalBias') return text.tooltips.normalBias;\n if (path === 'shadow.params.maxDistance') return text.tooltips.maxDistance;\n if (path === 'shadow.params.resolution') return text.tooltips.resolution;\n if (path === 'shadow.params.cascadeCount') return text.tooltips.cascadeCount;\n if (path === 'shadow.params.bakeSamples') return text.tooltips.bakeSamples;\n if (path === 'shadow.params.blurKernel') return text.tooltips.blurKernel;\n return undefined;\n}\n\nfunction readEditorSceneSerializedMultiShadowPolicyMode<TDocument extends EditorSceneDocument>(\n policySource: SerializedMultiObject<TDocument>['properties'][number] | undefined,\n) {\n if (policySource?.value === 'none'\n || policySource?.value === 'dynamic'\n || policySource?.value === 'static'\n || policySource?.value === 'blob'\n || policySource?.value === 'projected'\n || policySource?.value === 'auto'\n || policySource?.value === 'inherit') {\n return policySource.value;\n }\n return 'inherit';\n}\n\nfunction createEditorSceneSerializedMultiShadowLanguageInspectorProperty<\n TDocument extends EditorSceneDocument,\n>(input: {\n document: TDocument;\n text: ReturnType<typeof getEditorSceneShadowInspectorText>;\n language: ReturnType<typeof readEditorSceneShadowInspectorLanguage>;\n mixed: boolean;\n nodeKind: string;\n order: number;\n}): InspectorProperty<TDocument> {\n return {\n path: EDITOR_SCENE_SHADOW_INSPECTOR_LANGUAGE_PATH,\n label: input.text.language,\n valueType: 'enum',\n control: 'enum',\n value: input.language,\n options: EDITOR_SCENE_SHADOW_INSPECTOR_LANGUAGE_OPTIONS,\n mixed: input.mixed,\n readOnly: false,\n persistence: 'document',\n commitMode: 'immediate',\n order: input.order,\n controlOptions: { variant: 'segmented' },\n tooltip: input.text.tooltips.language,\n validate: createEditorSceneFieldInspectorValidator({\n path: EDITOR_SCENE_SHADOW_INSPECTOR_LANGUAGE_PATH,\n nodeKind: input.nodeKind,\n document: input.document,\n }),\n };\n}\n\nfunction createEditorSceneSerializedMultiInspectorSection<\n TDocument extends EditorSceneDocument,\n>(\n id: string,\n title: string,\n order: number,\n properties: SerializedMultiObject<TDocument>['properties'],\n document: TDocument,\n): InspectorSection<TDocument> | null {\n if (properties.length === 0) return null;\n return {\n id,\n title,\n order,\n placement: 'body',\n persistence: 'document',\n properties: properties.map((property, propertyOrder) => {\n const inspectorProperty = createEditorSceneSerializedMultiInspectorProperty(property, propertyOrder);\n const nodeKind = resolveEditorSceneSerializedMultiPropertyNodeKind(document, property.path);\n return {\n ...inspectorProperty,\n step: property.valueType === 'number'\n ? property.path.startsWith('transform.rotation.') ? 1 : 0.1\n : inspectorProperty.step,\n validate: nodeKind\n ? createEditorSceneFieldInspectorValidator({\n path: property.path,\n nodeKind,\n document,\n })\n : inspectorProperty.validate,\n };\n }),\n };\n}\n\nfunction createEditorSceneSerializedMultiInspectorProperty<\n TDocument extends EditorSceneDocument,\n>(\n property: SerializedMultiObject<TDocument>['properties'][number],\n order: number,\n): InspectorProperty<TDocument> {\n const readOnly = property.readOnly === true;\n return {\n path: property.path,\n label: property.label,\n valueType: property.valueType,\n control: readOnly ? 'readonly' : inferEditorSceneSerializedMultiInspectorControl(property.valueType),\n value: property.value,\n options: property.options,\n mixed: property.mixed,\n readOnly,\n persistence: readOnly ? 'readonly' : 'document',\n commitMode: inferEditorSceneSerializedMultiInspectorCommitMode(property.valueType),\n order,\n source: property,\n };\n}\n\nfunction resolveEditorSceneSerializedMultiPropertyNodeKind<TDocument extends EditorSceneDocument>(\n document: TDocument,\n path: string,\n): string | null {\n if (path.startsWith('transform.')) return 'transform';\n if (path === ENABLED_PATH) {\n const gameObject = document.scene.gameObjects.find((entry) => !isEditorSceneRootGameObject(entry));\n return gameObject ? readEditorSceneNodeKind(gameObject) : null;\n }\n if (path === EDITOR_SCENE_SHADOW_INSPECTOR_LANGUAGE_PATH) {\n const gameObject = document.scene.gameObjects.find((entry) => canEditEditorSceneShadowSettings({\n gameObject: entry,\n nodeKind: readEditorSceneNodeKind(entry),\n }));\n return gameObject ? readEditorSceneNodeKind(gameObject) : null;\n }\n return null;\n}\n\nfunction inferEditorSceneSerializedMultiInspectorControl(\n valueType: SerializedMultiObject['properties'][number]['valueType'],\n): InspectorProperty['control'] {\n if (valueType === 'string' || valueType === 'number' || valueType === 'boolean' || valueType === 'enum' || valueType === 'asset' || valueType === 'object') {\n return valueType;\n }\n return 'readonly';\n}\n\nfunction inferEditorSceneSerializedMultiInspectorCommitMode(\n valueType: SerializedMultiObject['properties'][number]['valueType'],\n): InspectorProperty['commitMode'] {\n if (valueType === 'number') return 'live';\n if (valueType === 'boolean' || valueType === 'enum' || valueType === 'asset') return 'immediate';\n return 'blur';\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"object.js","sourceRoot":"","sources":["../../src/serialized-property/object.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,GAGvB,MAAM,wBAAwB,CAAC;AAKhC,OAAO,EACL,yBAAyB,GAC1B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,2BAA2B,GAC5B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,gDAAgD,EAChD,gDAAgD,EAChD,mDAAmD,EACnD,8CAA8C,GAC/C,MAAM,eAAe,CAAC;AAMvB,MAAM,UAAU,iCAAiC,CAG/C,KAAkD;IAElD,MAAM,UAAU,GAAG,yBAAyB,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC7E,IAAI,CAAC,UAAU;QAAE,OAAO,IAAI,CAAC;IAC7B,OAAO,sBAAsB,CAAC;QAC5B,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,UAAU,CAAC,IAAI,IAAI,UAAU,CAAC,EAAE;QACtD,WAAW,EAAE,8CAA8C,CAAC;YAC1D,UAAU;YACV,aAAa,EAAE,KAAK,CAAC,aAAa;SACnC,CAAC;KACH,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,sCAAsC,CAGpD,KAAuD;IAEvD,MAAM,cAAc,GAAG,IAAI,GAAG,CAC5B,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC,CAClF,CAAC;IACF,MAAM,WAAW,GAAG,KAAK,CAAC,SAAS;SAChC,GAAG,CAAC,CAAC,YAAY,EAAE,EAAE,CAAC,cAAc,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,IAAI,CAAC;SAC/D,MAAM,CAAC,CAAC,UAAU,EAAuC,EAAE,CAAC,CAAC,CAAC,UAAU,IAAI,CAAC,2BAA2B,CAAC,UAAU,CAAC,CAAC,CAAC;IACzH,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAC1C,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;IACjE,OAAO;QACL,SAAS;QACT,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI;QACtG,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,GAAG,WAAW,CAAC,MAAM,cAAc;QACzD,UAAU,EAAE;YACV,GAAG,gDAAgD,CAAY,WAAW,CAAC;YAC3E,GAAG,mDAAmD,CAAY,WAAW,CAAC;YAC9E,GAAG,gDAAgD,CAAY,WAAW,CAAC;SAC5E;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"object.js","sourceRoot":"","sources":["../../src/serialized-property/object.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,GAGvB,MAAM,wBAAwB,CAAC;AAKhC,OAAO,EACL,yBAAyB,GAC1B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,2BAA2B,GAC5B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,gDAAgD,EAChD,gDAAgD,EAChD,mDAAmD,EACnD,8CAA8C,GAC/C,MAAM,eAAe,CAAC;AAMvB,MAAM,UAAU,iCAAiC,CAG/C,KAAkD;IAElD,MAAM,UAAU,GAAG,yBAAyB,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC7E,IAAI,CAAC,UAAU;QAAE,OAAO,IAAI,CAAC;IAC7B,OAAO,sBAAsB,CAAC;QAC5B,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,UAAU,CAAC,IAAI,IAAI,UAAU,CAAC,EAAE;QACtD,WAAW,EAAE,8CAA8C,CAAC;YAC1D,UAAU;YACV,aAAa,EAAE,KAAK,CAAC,aAAa;SACnC,CAAC;KACH,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,sCAAsC,CAGpD,KAAuD;IAEvD,MAAM,cAAc,GAAG,IAAI,GAAG,CAC5B,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC,CAClF,CAAC;IACF,MAAM,WAAW,GAAG,KAAK,CAAC,SAAS;SAChC,GAAG,CAAC,CAAC,YAAY,EAAE,EAAE,CAAC,cAAc,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,IAAI,CAAC;SAC/D,MAAM,CAAC,CAAC,UAAU,EAAuC,EAAE,CAAC,CAAC,CAAC,UAAU,IAAI,CAAC,2BAA2B,CAAC,UAAU,CAAC,CAAC,CAAC;IACzH,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAC1C,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;IACjE,OAAO;QACL,SAAS;QACT,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI;QACtG,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,GAAG,WAAW,CAAC,MAAM,cAAc;QACzD,UAAU,EAAE;YACV,GAAG,gDAAgD,CAAY,WAAW,CAAC;YAC3E,GAAG,mDAAmD,CAAY,WAAW,CAAC;YAC9E,GAAG,gDAAgD,CAAY,WAAW,CAAC;SAC5E;KACF,CAAC;AACJ,CAAC","sourcesContent":["import {\n createSerializedObject,\n type SerializedMultiObject,\n type SerializedObject,\n} from '@fps-games/editor-core';\nimport type {\n EditorSceneDocument,\n EditorSceneGameObject,\n} from '../document/index';\nimport {\n findEditorSceneGameObject,\n} from '../session/transform';\nimport {\n isEditorSceneRootGameObject,\n} from '../session/identity';\nimport {\n createEditorSceneSerializedMultiCommonProperties,\n createEditorSceneSerializedMultiShadowProperties,\n createEditorSceneSerializedMultiTransformProperties,\n createEditorSceneSerializedPropertyDescriptors,\n} from './descriptors';\nimport type {\n EditorSceneSerializedMultiObjectInput,\n EditorSceneSerializedObjectInput,\n} from './types';\n\nexport function createEditorSceneSerializedObject<\n TDocument extends EditorSceneDocument = EditorSceneDocument,\n>(\n input: EditorSceneSerializedObjectInput<TDocument>,\n): SerializedObject<TDocument> | null {\n const gameObject = findEditorSceneGameObject(input.document, input.targetId);\n if (!gameObject) return null;\n return createSerializedObject({\n document: input.document,\n targetId: input.targetId,\n label: input.label ?? gameObject.name ?? gameObject.id,\n descriptors: createEditorSceneSerializedPropertyDescriptors({\n gameObject,\n validateField: input.validateField,\n }),\n });\n}\n\nexport function createEditorSceneSerializedMultiObject<\n TDocument extends EditorSceneDocument = EditorSceneDocument,\n>(\n input: EditorSceneSerializedMultiObjectInput<TDocument>,\n): SerializedMultiObject<TDocument> | null {\n const gameObjectById = new Map(\n input.document.scene.gameObjects.map((gameObject) => [gameObject.id, gameObject]),\n );\n const gameObjects = input.targetIds\n .map((gameObjectId) => gameObjectById.get(gameObjectId) ?? null)\n .filter((gameObject): gameObject is EditorSceneGameObject => !!gameObject && !isEditorSceneRootGameObject(gameObject));\n if (gameObjects.length === 0) return null;\n const targetIds = gameObjects.map((gameObject) => gameObject.id);\n return {\n targetIds,\n activeId: input.activeId && targetIds.includes(input.activeId) ? input.activeId : targetIds[0] ?? null,\n label: input.label ?? `${gameObjects.length} GameObjects`,\n properties: [\n ...createEditorSceneSerializedMultiCommonProperties<TDocument>(gameObjects),\n ...createEditorSceneSerializedMultiTransformProperties<TDocument>(gameObjects),\n ...createEditorSceneSerializedMultiShadowProperties<TDocument>(gameObjects),\n ],\n };\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"patch.js","sourceRoot":"","sources":["../../src/serialized-property/patch.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"patch.js","sourceRoot":"","sources":["../../src/serialized-property/patch.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n applySerializedPropertyPatch as applyCoreSerializedPropertyPatch,\n} from '@fps-games/editor-core';\nimport type {\n EditorSceneDocument,\n EditorSceneGameObject,\n EditorSceneVec3,\n} from '../document/index';\nimport {\n findEditorSceneTransform,\n} from '../document/index';\nimport {\n isEditorSceneRootGameObjectId,\n} from '../session/identity';\nimport {\n findEditorSceneGameObject,\n} from '../session/transform';\nimport {\n syncEditorSceneDirectionalLightOrientationAfterTransformPatch,\n syncEditorSceneDirectionalLightTransformRotationAfterDirectionPatch,\n} from '../lighting-debug/index';\nimport {\n createEditorSceneSerializedPropertyDescriptors,\n} from './descriptors';\nimport type {\n EditorSceneSerializedPropertyPatchInput,\n} from './types';\n\nconst ROOT_TRANSFORM_PATH_PATTERN = /^transform\\.(position|rotation|scale)\\.(x|y|z)$/;\n\nexport function applyEditorSceneSerializedPropertyPatch<\n TDocument extends EditorSceneDocument = EditorSceneDocument,\n>(\n input: EditorSceneSerializedPropertyPatchInput<TDocument>,\n): TDocument {\n if (isEditorSceneRootGameObjectId(input.patch.targetId) && ROOT_TRANSFORM_PATH_PATTERN.test(input.patch.path)) {\n return input.document;\n }\n const gameObject = findEditorSceneGameObject(input.document, input.patch.targetId);\n if (!gameObject) return input.document;\n const beforeRotation = input.patch.path.startsWith('transform.rotation') ? readEditorSceneTrsRotation(gameObject) : null;\n const beforeDirection = input.patch.path.startsWith('light.direction') ? readEditorSceneDirectionalLightDirection(gameObject) : null;\n const patched = applyCoreSerializedPropertyPatch(\n input.document,\n createEditorSceneSerializedPropertyDescriptors({\n gameObject,\n validateField: input.validateField,\n }),\n input.patch,\n );\n if (!input.patch.path.startsWith('transform.rotation') && !input.patch.path.startsWith('light.direction')) {\n return patched;\n }\n const patchedGameObject = findEditorSceneGameObject(patched, input.patch.targetId);\n if (!patchedGameObject) return patched;\n const afterRotation = beforeRotation ? readEditorSceneTrsRotation(patchedGameObject) : null;\n const afterDirection = beforeDirection ? readEditorSceneDirectionalLightDirection(patchedGameObject) : null;\n const rotationChanged = beforeRotation && afterRotation && !areEditorSceneVec3Equal(beforeRotation, afterRotation);\n const directionChanged = beforeDirection && afterDirection && !areEditorSceneVec3Equal(beforeDirection, afterDirection);\n if (!rotationChanged && !directionChanged) return patched;\n return {\n ...patched,\n scene: {\n ...patched.scene,\n gameObjects: patched.scene.gameObjects.map((entry) => {\n if (entry.id !== input.patch.targetId) return entry;\n const directionSynced = rotationChanged\n ? syncEditorSceneDirectionalLightOrientationAfterTransformPatch(entry)\n : entry;\n return directionChanged\n ? syncEditorSceneDirectionalLightTransformRotationAfterDirectionPatch(directionSynced)\n : directionSynced;\n }),\n },\n };\n}\n\nfunction readEditorSceneTrsRotation(gameObject: EditorSceneGameObject): EditorSceneVec3 | null {\n const transform = findEditorSceneTransform(gameObject);\n return transform && 'rotation' in transform ? transform.rotation : null;\n}\n\nfunction readEditorSceneDirectionalLightDirection(gameObject: EditorSceneGameObject): EditorSceneVec3 | null {\n return gameObject.light?.type === 'directional' ? gameObject.light.direction : null;\n}\n\nfunction areEditorSceneVec3Equal(a: EditorSceneVec3, b: EditorSceneVec3, epsilon = 0.000001): boolean {\n return Math.abs(a.x - b.x) <= epsilon\n && Math.abs(a.y - b.y) <= epsilon\n && Math.abs(a.z - b.z) <= epsilon;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/serialized-property/types.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/serialized-property/types.ts"],"names":[],"mappings":"","sourcesContent":["import type {\n InspectorValidationResult,\n SerializedMultiObject,\n SerializedObject,\n SerializedPropertyPatch,\n} from '@fps-games/editor-core';\nimport type {\n EditorSceneDocument,\n EditorSceneGameObject,\n EditorSceneNodeKind,\n} from '../document/index';\n\nexport interface EditorSceneSerializedPropertyValidationInput<\n TDocument extends EditorSceneDocument = EditorSceneDocument,\n> {\n document: TDocument;\n gameObject: EditorSceneGameObject;\n nodeKind: EditorSceneNodeKind;\n path: string;\n value: unknown;\n}\n\nexport type EditorSceneSerializedPropertyValidator<\n TDocument extends EditorSceneDocument = EditorSceneDocument,\n> = (\n input: EditorSceneSerializedPropertyValidationInput<TDocument>,\n) => InspectorValidationResult;\n\nexport interface EditorSceneSerializedPropertyDescriptorInput<\n TDocument extends EditorSceneDocument = EditorSceneDocument,\n> {\n gameObject: EditorSceneGameObject;\n validateField?: EditorSceneSerializedPropertyValidator<TDocument>;\n}\n\nexport interface EditorSceneSerializedObjectInput<\n TDocument extends EditorSceneDocument = EditorSceneDocument,\n> {\n document: TDocument;\n targetId: string;\n label?: string;\n validateField?: EditorSceneSerializedPropertyValidator<TDocument>;\n}\n\nexport interface EditorSceneSerializedMultiObjectInput<\n TDocument extends EditorSceneDocument = EditorSceneDocument,\n> {\n document: TDocument;\n targetIds: readonly string[];\n activeId: string | null;\n label?: string;\n}\n\nexport interface EditorSceneSerializedPropertyPatchInput<\n TDocument extends EditorSceneDocument = EditorSceneDocument,\n> {\n document: TDocument;\n patch: SerializedPropertyPatch;\n validateField?: EditorSceneSerializedPropertyValidator<TDocument>;\n}\n\nexport type EditorSceneSerializedObjectResult<\n TDocument extends EditorSceneDocument = EditorSceneDocument,\n> = SerializedObject<TDocument> | null;\n\nexport type EditorSceneSerializedMultiObjectResult<\n TDocument extends EditorSceneDocument = EditorSceneDocument,\n> = SerializedMultiObject<TDocument> | null;\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"classification.js","sourceRoot":"","sources":["../../src/session/classification.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,wBAAwB,EACxB,uBAAuB,GAExB,MAAM,mBAAmB,CAAC;AAE3B,MAAM,CAAC,MAAM,2BAA2B,GAAG,aAAa,CAAC;AACzD,MAAM,CAAC,MAAM,iCAAiC,GAAG,mBAAmB,CAAC;AACrE,MAAM,CAAC,MAAM,yBAAyB,GAAG,WAAW,CAAC;AAErD,MAAM,UAAU,gCAAgC,CAAC,UAAiC;IAChF,OAAO,uBAAuB,CAAC,UAAU,CAAC,KAAK,OAAO,CAAC;AACzD,CAAC;AAED,MAAM,UAAU,oCAAoC,CAAC,UAAqD;IACxG,OAAO,CAAC,CAAC,wBAAwB,CAAC,UAAU,CAAC,CAAC;AAChD,CAAC;AAED,MAAM,UAAU,6BAA6B,CAAC,UAAiC;IAC7E,OAAO,uBAAuB,CAAC,UAAU,CAAC,KAAK,WAAW;WACrD,CAAC,UAAU,CAAC,aAAa,KAAK,QAAQ,IAAI,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;AACtE,CAAC;AAED,MAAM,UAAU,4BAA4B,CAAC,UAAiC;IAC5E,OAAO,uBAAuB,CAAC,UAAU,CAAC,KAAK,WAAW;WACrD,CAAC,UAAU,CAAC,aAAa,KAAK,OAAO,IAAI,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;AACpE,CAAC;AAED,MAAM,UAAU,sCAAsC,CAAC,UAAiC;IACtF,OAAO,UAAU,CAAC,EAAE,KAAK,2BAA2B;WAC/C,UAAU,CAAC,EAAE,KAAK,iCAAiC;WACnD,UAAU,CAAC,EAAE,KAAK,yBAAyB;WAC3C,6BAA6B,CAAC,UAAU,CAAC;WACzC,4BAA4B,CAAC,UAAU,CAAC,CAAC;AAChD,CAAC;AAED,MAAM,UAAU,wCAAwC,CACtD,QAA6D,EAC7D,EAAsB;IAEtB,IAAI,CAAC,EAAE;QAAE,OAAO,KAAK,CAAC;IACtB,MAAM,UAAU,GAAG,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IACrF,OAAO,CAAC,CAAC,UAAU,IAAI,sCAAsC,CAAC,UAAU,CAAC,CAAC;AAC5E,CAAC;AAED,MAAM,UAAU,oBAAoB,CAClC,QAA6D,EAC7D,QAAiB;IAEjB,OAAO,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CACnD,UAAU,CAAC,EAAE,KAAK,QAAQ,IAAI,6BAA6B,CAAC,UAAU,CAAC,CACxE,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"classification.js","sourceRoot":"","sources":["../../src/session/classification.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,wBAAwB,EACxB,uBAAuB,GAExB,MAAM,mBAAmB,CAAC;AAE3B,MAAM,CAAC,MAAM,2BAA2B,GAAG,aAAa,CAAC;AACzD,MAAM,CAAC,MAAM,iCAAiC,GAAG,mBAAmB,CAAC;AACrE,MAAM,CAAC,MAAM,yBAAyB,GAAG,WAAW,CAAC;AAErD,MAAM,UAAU,gCAAgC,CAAC,UAAiC;IAChF,OAAO,uBAAuB,CAAC,UAAU,CAAC,KAAK,OAAO,CAAC;AACzD,CAAC;AAED,MAAM,UAAU,oCAAoC,CAAC,UAAqD;IACxG,OAAO,CAAC,CAAC,wBAAwB,CAAC,UAAU,CAAC,CAAC;AAChD,CAAC;AAED,MAAM,UAAU,6BAA6B,CAAC,UAAiC;IAC7E,OAAO,uBAAuB,CAAC,UAAU,CAAC,KAAK,WAAW;WACrD,CAAC,UAAU,CAAC,aAAa,KAAK,QAAQ,IAAI,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;AACtE,CAAC;AAED,MAAM,UAAU,4BAA4B,CAAC,UAAiC;IAC5E,OAAO,uBAAuB,CAAC,UAAU,CAAC,KAAK,WAAW;WACrD,CAAC,UAAU,CAAC,aAAa,KAAK,OAAO,IAAI,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;AACpE,CAAC;AAED,MAAM,UAAU,sCAAsC,CAAC,UAAiC;IACtF,OAAO,UAAU,CAAC,EAAE,KAAK,2BAA2B;WAC/C,UAAU,CAAC,EAAE,KAAK,iCAAiC;WACnD,UAAU,CAAC,EAAE,KAAK,yBAAyB;WAC3C,6BAA6B,CAAC,UAAU,CAAC;WACzC,4BAA4B,CAAC,UAAU,CAAC,CAAC;AAChD,CAAC;AAED,MAAM,UAAU,wCAAwC,CACtD,QAA6D,EAC7D,EAAsB;IAEtB,IAAI,CAAC,EAAE;QAAE,OAAO,KAAK,CAAC;IACtB,MAAM,UAAU,GAAG,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IACrF,OAAO,CAAC,CAAC,UAAU,IAAI,sCAAsC,CAAC,UAAU,CAAC,CAAC;AAC5E,CAAC;AAED,MAAM,UAAU,oBAAoB,CAClC,QAA6D,EAC7D,QAAiB;IAEjB,OAAO,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CACnD,UAAU,CAAC,EAAE,KAAK,QAAQ,IAAI,6BAA6B,CAAC,UAAU,CAAC,CACxE,CAAC,CAAC;AACL,CAAC","sourcesContent":["import {\n findEditorSceneTransform,\n readEditorSceneNodeKind,\n type EditorSceneGameObject,\n} from '../document/index';\n\nexport const EDITOR_SCENE_MAIN_CAMERA_ID = 'main_camera';\nexport const EDITOR_SCENE_ENVIRONMENT_LIGHT_ID = 'environment_light';\nexport const EDITOR_SCENE_SUN_LIGHT_ID = 'sun_light';\n\nexport function isEditorSceneGroupLikeGameObject(gameObject: EditorSceneGameObject): boolean {\n return readEditorSceneNodeKind(gameObject) === 'group';\n}\n\nexport function canEditorSceneGameObjectHaveChildren(gameObject: Pick<EditorSceneGameObject, 'components'>): boolean {\n return !!findEditorSceneTransform(gameObject);\n}\n\nexport function isEditorSceneCameraGameObject(gameObject: EditorSceneGameObject): boolean {\n return readEditorSceneNodeKind(gameObject) === 'transform'\n && (gameObject.transformType === 'camera' || !!gameObject.camera);\n}\n\nexport function isEditorSceneLightGameObject(gameObject: EditorSceneGameObject): boolean {\n return readEditorSceneNodeKind(gameObject) === 'transform'\n && (gameObject.transformType === 'light' || !!gameObject.light);\n}\n\nexport function isEditorSceneProtectedSystemGameObject(gameObject: EditorSceneGameObject): boolean {\n return gameObject.id === EDITOR_SCENE_MAIN_CAMERA_ID\n || gameObject.id === EDITOR_SCENE_ENVIRONMENT_LIGHT_ID\n || gameObject.id === EDITOR_SCENE_SUN_LIGHT_ID\n || isEditorSceneCameraGameObject(gameObject)\n || isEditorSceneLightGameObject(gameObject);\n}\n\nexport function isEditorSceneProtectedSystemGameObjectId(\n document: { scene: { gameObjects: EditorSceneGameObject[] } },\n id: string | undefined,\n): boolean {\n if (!id) return false;\n const gameObject = document.scene.gameObjects.find(candidate => candidate.id === id);\n return !!gameObject && isEditorSceneProtectedSystemGameObject(gameObject);\n}\n\nexport function hasEditorSceneCamera(\n document: { scene: { gameObjects: EditorSceneGameObject[] } },\n exceptId?: string,\n): boolean {\n return document.scene.gameObjects.some(gameObject => (\n gameObject.id !== exceptId && isEditorSceneCameraGameObject(gameObject)\n ));\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"hierarchy-facade.js","sourceRoot":"","sources":["../../src/session/hierarchy-facade.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hierarchy-facade.js","sourceRoot":"","sources":["../../src/session/hierarchy-facade.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n getTopLevelSceneGraphNodeIds,\n type EditorPlacementHit,\n type SceneGraphCreateGroupIntent,\n type SceneGraphCreatePrimitiveIntent,\n type SceneGraphDeleteIntent,\n type SceneGraphDropIntent,\n type SceneGraphGroupSelectionIntent,\n type SceneGraphMoveIntent,\n type SceneGraphRenameIntent,\n type SceneGraphTreeItem,\n type SceneGraphValidationResult,\n} from '@fps-games/editor-core';\nimport {\n createEditorSceneAssetPlacementPatch,\n} from '../asset-placement/index';\nimport type {\n EditorSceneAssetLibraryItem,\n EditorSceneDocument,\n EditorSceneGameObject,\n} from '../document/index';\nimport {\n canEditorSceneGameObjectHaveChildren,\n} from './classification';\nimport {\n collectEditorSceneSubtreeIdList,\n getEditorSceneHierarchyItems,\n normalizeEditorSceneHierarchyDocument,\n} from './hierarchy';\nimport {\n createEditorSceneCreateGroupPatch,\n createEditorSceneCreatePrimitivePatch,\n createEditorSceneDeleteSubtreePatch,\n createEditorSceneDuplicateSelectionPatch,\n createEditorSceneGroupSelectionPatch,\n createEditorSceneHierarchyMovePatch,\n createEditorSceneRenamePatch,\n createEditorSceneReparentPatch,\n validateEditorSceneGroupSelection,\n validateEditorSceneHierarchyMove,\n validateEditorSceneReparent,\n} from './patches';\n\nexport type PlayableEditorSceneHierarchyPatchResult<TResult extends { patch: unknown }, TPatch> =\n Omit<TResult, 'patch'> & { patch: TPatch };\n\nexport interface PlayableEditorSceneHierarchyFacadeServices<\n TDocument extends EditorSceneDocument = EditorSceneDocument,\n TGameObject extends EditorSceneGameObject = EditorSceneGameObject,\n> {\n findGameObject: (document: TDocument, gameObjectId: string | null | undefined) => TGameObject | null;\n resolveRootContainerId: (document: TDocument) => string | undefined;\n isProtectedSystemGameObject: (gameObject: TGameObject) => boolean;\n isProtectedSystemGameObjectId: (document: TDocument, id: string | undefined) => boolean;\n decorateHierarchyItem?: (input: {\n item: SceneGraphTreeItem;\n gameObject: TGameObject | null;\n document: TDocument;\n }) => SceneGraphTreeItem;\n collectHierarchyItemChildren?: (input: {\n item: SceneGraphTreeItem;\n gameObject: TGameObject;\n document: TDocument;\n }) => SceneGraphTreeItem[];\n}\n\nexport interface PlayableEditorSceneHierarchyFacade<\n TDocument extends EditorSceneDocument = EditorSceneDocument,\n TGameObject extends EditorSceneGameObject = EditorSceneGameObject,\n TPatch = unknown,\n> {\n getHierarchyItems(document: TDocument): SceneGraphTreeItem[];\n normalizeHierarchyDocument(document: TDocument): TDocument;\n createRenamePatch(\n document: TDocument,\n intent: SceneGraphRenameIntent,\n ): PlayableEditorSceneHierarchyPatchResult<NonNullable<ReturnType<typeof createEditorSceneRenamePatch>>, TPatch> | null;\n createCreateGroupPatch(\n document: TDocument,\n intent: SceneGraphCreateGroupIntent,\n ): PlayableEditorSceneHierarchyPatchResult<NonNullable<ReturnType<typeof createEditorSceneCreateGroupPatch>>, TPatch> | null;\n createCreatePrimitivePatch(\n document: TDocument,\n intent: SceneGraphCreatePrimitiveIntent,\n ): PlayableEditorSceneHierarchyPatchResult<NonNullable<ReturnType<typeof createEditorSceneCreatePrimitivePatch>>, TPatch> | null;\n createDeleteSubtreePatch(\n document: TDocument,\n intent: SceneGraphDeleteIntent,\n ): PlayableEditorSceneHierarchyPatchResult<NonNullable<ReturnType<typeof createEditorSceneDeleteSubtreePatch>>, TPatch> | null;\n collectSubtreeIdList(document: TDocument, rootIds: string[]): string[];\n validateReparent(document: TDocument, intent: SceneGraphDropIntent): SceneGraphValidationResult;\n createReparentPatch(\n document: TDocument,\n intent: SceneGraphDropIntent,\n ): PlayableEditorSceneHierarchyPatchResult<NonNullable<ReturnType<typeof createEditorSceneReparentPatch>>, TPatch> | null;\n validateHierarchyMove(document: TDocument, intent: SceneGraphMoveIntent): SceneGraphValidationResult;\n createHierarchyMovePatch(\n document: TDocument,\n intent: SceneGraphMoveIntent,\n ): PlayableEditorSceneHierarchyPatchResult<NonNullable<ReturnType<typeof createEditorSceneHierarchyMovePatch>>, TPatch> | null;\n validateGroupSelection(document: TDocument, intent: SceneGraphGroupSelectionIntent): SceneGraphValidationResult;\n createGroupSelectionPatch(\n document: TDocument,\n intent: SceneGraphGroupSelectionIntent,\n ): PlayableEditorSceneHierarchyPatchResult<NonNullable<ReturnType<typeof createEditorSceneGroupSelectionPatch>>, TPatch> | null;\n createDuplicateSelectionPatch(input: {\n document: TDocument;\n targetIds: string[];\n activeId: string | null;\n }): PlayableEditorSceneHierarchyPatchResult<NonNullable<ReturnType<typeof createEditorSceneDuplicateSelectionPatch>>, TPatch> | null;\n createPlacedAssetPatch(input: {\n document: TDocument;\n asset: EditorSceneAssetLibraryItem;\n hit: EditorPlacementHit;\n }): PlayableEditorSceneHierarchyPatchResult<ReturnType<typeof createEditorSceneAssetPlacementPatch>, TPatch>;\n}\n\nexport function createPlayableEditorSceneHierarchyFacade<\n TDocument extends EditorSceneDocument,\n TGameObject extends EditorSceneGameObject,\n TPatch = unknown,\n>(\n services: PlayableEditorSceneHierarchyFacadeServices<TDocument, TGameObject>,\n): PlayableEditorSceneHierarchyFacade<TDocument, TGameObject, TPatch> {\n return {\n getHierarchyItems(document) {\n return getDecoratedEditorSceneHierarchyItems(document, services);\n },\n normalizeHierarchyDocument(document) {\n return normalizeEditorSceneHierarchyDocument(document) as TDocument;\n },\n createRenamePatch(document, intent) {\n return coerceHierarchyPatchResult(createEditorSceneRenamePatch(document, intent));\n },\n createCreateGroupPatch(document, intent) {\n return coerceHierarchyPatchResult(createEditorSceneCreateGroupPatch(document, intent));\n },\n createCreatePrimitivePatch(document, intent) {\n return coerceHierarchyPatchResult(createEditorSceneCreatePrimitivePatch(document, intent));\n },\n createDeleteSubtreePatch(document, intent) {\n const deletedIds = collectEditorSceneSubtreeIdList(document, intent.ids);\n if (document.scene.gameObjects.some(gameObject => (\n deletedIds.includes(gameObject.id) && services.isProtectedSystemGameObject(gameObject as TGameObject)\n ))) {\n return null;\n }\n return coerceHierarchyPatchResult(createEditorSceneDeleteSubtreePatch(document, intent));\n },\n collectSubtreeIdList(document, rootIds) {\n return collectEditorSceneSubtreeIdList(document, rootIds);\n },\n validateReparent(document, intent) {\n const dragged = services.findGameObject(document, intent.draggedId);\n const target = services.findGameObject(document, intent.targetId);\n if (dragged && services.isProtectedSystemGameObject(dragged)) {\n return { ok: false, reason: 'Protected system GameObject cannot be reparented.' };\n }\n if (target && services.isProtectedSystemGameObject(target)) {\n return { ok: false, reason: 'Protected system GameObject cannot have children.' };\n }\n return validateEditorSceneReparent(document, intent);\n },\n createReparentPatch(document, intent) {\n return coerceHierarchyPatchResult(createEditorSceneReparentPatch(document, intent));\n },\n validateHierarchyMove(document, intent) {\n const hierarchy = getDecoratedEditorSceneHierarchyItems(document, services);\n const ids = getTopLevelSceneGraphNodeIds(hierarchy, intent.ids);\n if (ids.some(id => services.isProtectedSystemGameObjectId(document, id))) {\n return { ok: false, reason: 'Protected system GameObject cannot be moved.' };\n }\n const parentId = resolvePlayableEditorSceneMoveParentId(document, intent, services);\n if (services.isProtectedSystemGameObjectId(document, parentId)) {\n return { ok: false, reason: 'Protected system GameObject cannot have children.' };\n }\n return validateEditorSceneHierarchyMove(document, intent);\n },\n createHierarchyMovePatch(document, intent) {\n return coerceHierarchyPatchResult(createEditorSceneHierarchyMovePatch(document, intent));\n },\n validateGroupSelection(document, intent) {\n const hierarchy = getDecoratedEditorSceneHierarchyItems(document, services);\n const ids = getTopLevelSceneGraphNodeIds(hierarchy, intent.ids);\n if (ids.some(id => services.isProtectedSystemGameObjectId(document, id))) {\n return { ok: false, reason: 'Protected system GameObject cannot be grouped.' };\n }\n const parentId = resolvePlayableEditorSceneGroupSelectionParentId(document, intent.parentId ?? null, services);\n if (services.isProtectedSystemGameObjectId(document, parentId)) {\n return { ok: false, reason: 'Protected system GameObject cannot have children.' };\n }\n return validateEditorSceneGroupSelection(document, intent);\n },\n createGroupSelectionPatch(document, intent) {\n return coerceHierarchyPatchResult(createEditorSceneGroupSelectionPatch(document, intent));\n },\n createDuplicateSelectionPatch(input) {\n const targetIds = input.targetIds.filter((targetId) => {\n const source = services.findGameObject(input.document, targetId);\n return !!source && !services.isProtectedSystemGameObject(source);\n });\n return coerceHierarchyPatchResult(createEditorSceneDuplicateSelectionPatch({ ...input, targetIds }));\n },\n createPlacedAssetPatch(input) {\n return coerceHierarchyPatchResult(createEditorSceneAssetPlacementPatch(input))!;\n },\n };\n}\n\nfunction getDecoratedEditorSceneHierarchyItems<\n TDocument extends EditorSceneDocument,\n TGameObject extends EditorSceneGameObject,\n>(\n document: TDocument,\n services: PlayableEditorSceneHierarchyFacadeServices<TDocument, TGameObject>,\n): SceneGraphTreeItem[] {\n const items = getEditorSceneHierarchyItems(document);\n const gameObjectsById = new Map(document.scene.gameObjects.map(gameObject => [gameObject.id, gameObject as TGameObject]));\n const result: SceneGraphTreeItem[] = [];\n for (const item of items) {\n const gameObject = gameObjectsById.get(item.id) ?? null;\n result.push(services.decorateHierarchyItem?.({ item, gameObject, document }) ?? item);\n if (!gameObject) continue;\n result.push(...(services.collectHierarchyItemChildren?.({ item, gameObject, document }) ?? []));\n }\n return result;\n}\n\nfunction resolvePlayableEditorSceneMoveParentId<\n TDocument extends EditorSceneDocument,\n TGameObject extends EditorSceneGameObject,\n>(\n document: TDocument,\n intent: SceneGraphMoveIntent,\n services: Pick<\n PlayableEditorSceneHierarchyFacadeServices<TDocument, TGameObject>,\n 'findGameObject' | 'resolveRootContainerId'\n >,\n): string | undefined {\n if (intent.placement === 'root') return services.resolveRootContainerId(document);\n if (intent.placement === 'inside' && intent.targetId) return intent.targetId;\n const target = intent.targetId ? services.findGameObject(document, intent.targetId) : null;\n return intent.parentId ?? target?.parentId ?? services.resolveRootContainerId(document);\n}\n\nfunction resolvePlayableEditorSceneGroupSelectionParentId<\n TDocument extends EditorSceneDocument,\n TGameObject extends EditorSceneGameObject,\n>(\n document: TDocument,\n parentId: string | null,\n services: Pick<\n PlayableEditorSceneHierarchyFacadeServices<TDocument, TGameObject>,\n 'findGameObject' | 'resolveRootContainerId'\n >,\n): string | undefined {\n const parent = parentId ? services.findGameObject(document, parentId) : null;\n return parent && canEditorSceneGameObjectHaveChildren(parent)\n ? parent.id\n : services.resolveRootContainerId(document);\n}\n\nfunction coerceHierarchyPatchResult<TResult extends { patch: unknown }, TPatch>(\n result: TResult | null,\n): PlayableEditorSceneHierarchyPatchResult<TResult, TPatch> | null {\n if (!result) return null;\n return {\n ...result,\n patch: result.patch as TPatch,\n };\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"hierarchy.js","sourceRoot":"","sources":["../../src/session/hierarchy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hierarchy.js","sourceRoot":"","sources":["../../src/session/hierarchy.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n type EditorTransformSnapshot,\n type SceneGraphTreeItem,\n} from '@fps-games/editor-core';\nimport {\n isEditorScenePrefabInstance,\n type EditorSceneDocument,\n type EditorSceneGameObject,\n} from '../document/index';\nimport {\n canEditorSceneGameObjectHaveChildren,\n isEditorSceneGroupLikeGameObject,\n isEditorSceneProtectedSystemGameObject,\n} from './classification';\nimport {\n EDITOR_SCENE_ROOT_ID,\n isEditorSceneRootGameObject,\n} from './identity';\nimport {\n getEditorSceneGameObjectWorldTransform,\n resolveEditorSceneRootContainerId,\n toEditorSceneTransformComponent,\n toEditorScenePreserveWorldLocalTransformForParent,\n normalizeEditorSceneRootTransformDocument,\n} from './transform';\n\nexport function getEditorSceneHierarchyItems(document: EditorSceneDocument): SceneGraphTreeItem[] {\n const rootId = resolveEditorSceneRootContainerId(document);\n const byId = new Map(document.scene.gameObjects.map(gameObject => [gameObject.id, gameObject]));\n return document.scene.gameObjects\n .filter(gameObject => gameObject.id !== EDITOR_SCENE_ROOT_ID)\n .map((gameObject) => {\n const systemProtected = isEditorSceneProtectedSystemGameObject(gameObject);\n const canHaveChildren = canEditorSceneGameObjectHaveChildren(gameObject);\n const directEnabled = gameObject.active !== false;\n return {\n id: gameObject.id,\n label: gameObject.name ?? gameObject.id,\n parentId: gameObject.parentId === rootId ? null : gameObject.parentId ?? null,\n depth: Math.max(0, getEditorSceneGameObjectDepthFromMap(byId, gameObject) - (rootId ? 1 : 0)),\n role: canHaveChildren && isEditorSceneGroupLikeGameObject(gameObject) ? 'group' : 'object',\n ...(isEditorScenePrefabInstance(gameObject) ? { icon: 'prefab' } : {}),\n selectable: true,\n enabled: directEnabled && areEditorSceneAncestorsEnabled(byId, gameObject.parentId, rootId),\n directEnabled,\n canToggleEnabled: !systemProtected,\n enableToggleDisabledReason: systemProtected ? 'Protected system objects cannot be hidden from Hierarchy.' : undefined,\n protected: systemProtected,\n canHaveChildren: !systemProtected && canHaveChildren,\n renamable: !systemProtected,\n deletable: !systemProtected,\n draggable: !systemProtected,\n };\n });\n}\n\nfunction getEditorSceneGameObjectDepthFromMap(\n byId: ReadonlyMap<string, EditorSceneGameObject>,\n gameObject: EditorSceneGameObject,\n): number {\n const visited = new Set<string>();\n let depth = 0;\n let cursorId = gameObject.parentId ?? null;\n while (cursorId) {\n if (visited.has(cursorId)) return depth;\n visited.add(cursorId);\n const parent = byId.get(cursorId);\n if (!parent) return depth;\n depth += 1;\n cursorId = parent.parentId ?? null;\n }\n return depth;\n}\n\nfunction areEditorSceneAncestorsEnabled(\n byId: ReadonlyMap<string, EditorSceneGameObject>,\n parentId: string | null | undefined,\n rootId: string | undefined,\n): boolean {\n const visited = new Set<string>();\n let cursorId = parentId ?? null;\n while (cursorId) {\n if (visited.has(cursorId)) return true;\n visited.add(cursorId);\n const parent = byId.get(cursorId);\n if (!parent) return true;\n if (parent.id !== rootId && parent.active === false) return false;\n cursorId = parent.parentId ?? null;\n }\n return true;\n}\n\nexport function normalizeEditorSceneHierarchyDocument<TDocument extends EditorSceneDocument>(\n document: TDocument,\n): TDocument {\n const normalizedDocument = normalizeEditorSceneRootTransformDocument(document, {\n normalizeRootActive: true,\n });\n const rootId = resolveEditorSceneRootContainerId(normalizedDocument);\n if (!rootId) return normalizedDocument;\n\n let changed = false;\n const gameObjects = normalizedDocument.scene.gameObjects.map((gameObject) => {\n if (gameObject.id === rootId || gameObject.parentId) return gameObject;\n const world = getEditorSceneGameObjectWorldTransform(normalizedDocument, gameObject.id);\n const local = world ? toEditorScenePreserveWorldLocalTransformForParent(normalizedDocument, rootId, world) : null;\n changed = true;\n return {\n ...gameObject,\n parentId: rootId,\n components: local\n ? gameObject.components.map((component) => {\n if (component.type !== 'Transform') return component;\n return toEditorSceneTransformComponent(local);\n })\n : gameObject.components,\n };\n });\n\n return changed\n ? {\n ...normalizedDocument,\n scene: {\n ...normalizedDocument.scene,\n gameObjects,\n },\n } as TDocument\n : normalizedDocument;\n}\n\nexport function collectEditorSceneSubtreeIdList(\n document: EditorSceneDocument,\n rootIds: string[],\n): string[] {\n return [...collectEditorSceneSubtreeIds(document, rootIds)];\n}\n\nexport function collectEditorSceneSubtreeIds(\n document: EditorSceneDocument,\n rootIds: string[],\n): Set<string> {\n const ids = new Set(rootIds.filter((id) => !!document.scene.gameObjects.find((gameObject) => gameObject.id === id)));\n let changed = true;\n while (changed) {\n changed = false;\n for (const gameObject of document.scene.gameObjects) {\n if (gameObject.parentId && ids.has(gameObject.parentId) && !ids.has(gameObject.id)) {\n ids.add(gameObject.id);\n changed = true;\n }\n }\n }\n return ids;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"identity.js","sourceRoot":"","sources":["../../src/session/identity.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"identity.js","sourceRoot":"","sources":["../../src/session/identity.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,oBAAoB,GAAG,MAAM,CAAC;AAC3C,MAAM,oCAAoC,GAAG,KAAK,CAAC;AACnD,MAAM,qCAAqC,GAAG,YAAY,CAAC;AAO3D,MAAM,UAAU,6BAA6B,CAAC,YAAuC;IACnF,OAAO,YAAY,KAAK,oBAAoB,CAAC;AAC/C,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,UAA6C;IACvF,OAAO,6BAA6B,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;AACtD,CAAC;AAED,MAAM,UAAU,gCAAgC,CAC9C,QAAmB;IAEnB,MAAM,SAAS,GAAG,IAAI,GAAG,EAAU,CAAC;IACpC,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,MAAM,WAAW,GAAG,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE;QAChE,MAAM,IAAI,GAAG,qCAAqC,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;QAC1E,OAAO,GAAG,OAAO,IAAI,IAAI,KAAK,UAAU,CAAC;QACzC,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CAAC;IACH,OAAO,OAAO;QACZ,CAAC,CAAC;YACE,GAAG,QAAQ;YACX,KAAK,EAAE;gBACL,GAAG,QAAQ,CAAC,KAAK;gBACjB,WAAW;aACZ;SACW;QAChB,CAAC,CAAC,QAAQ,CAAC;AACf,CAAC;AAED,MAAM,UAAU,+BAA+B;IAC7C,MAAM,QAAQ,GAAG,UAAU,CAAC,MAAM,EAAE,UAAU,EAAE,EAAE,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;IAC1H,OAAO,GAAG,oCAAoC,GAAG,QAAQ,EAAE,CAAC;AAC9D,CAAC;AAED,MAAM,UAAU,mCAAmC,CACjD,WAA8B,EAC9B,WAAmB;IAEnB,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,CAAC;IAClC,MAAM,IAAI,GAAG,+BAA+B,CAAC,WAAW,CAAC,IAAI,aAAa,CAAC;IAC3E,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACjC,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,IAAI,MAAM,EAAE,CAAC;QAAE,MAAM,IAAI,CAAC,CAAC;IAClD,OAAO,GAAG,IAAI,IAAI,MAAM,EAAE,CAAC;AAC7B,CAAC;AAED,MAAM,UAAU,yCAAyC,CACvD,KAAc,EACd,QAAQ,GAAG,qCAAqC;IAEhD,OAAO,6CAA6C,CAAC,KAAK,CAAC;WACtD,6CAA6C,CAAC,QAAQ,CAAC;WACvD,qCAAqC,CAAC;AAC7C,CAAC;AAED,MAAM,UAAU,4CAA4C,CAC1D,aAAiC,EACjC,aAAsB,EACtB,UAA+D,EAAE;IAEjE,MAAM,IAAI,GAAG,yCAAyC,CACpD,aAAa,EACb,OAAO,CAAC,YAAY,IAAI,qCAAqC,CAC9D,CAAC;IACF,MAAM,SAAS,GAAG,IAAI,GAAG,CACvB,aAAa;SACV,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,6CAA6C,CAAC,IAAI,CAAC,CAAC;SAClE,MAAM,CAAC,CAAC,IAAI,EAAkB,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAC5C,CAAC;IACF,IAAI,CAAC,OAAO,CAAC,kBAAkB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IAErE,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,IAAI,SAAS,GAAG,GAAG,IAAI,IAAI,MAAM,EAAE,CAAC;IACpC,OAAO,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;QAChC,MAAM,IAAI,CAAC,CAAC;QACZ,SAAS,GAAG,GAAG,IAAI,IAAI,MAAM,EAAE,CAAC;IAClC,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,6CAA6C,CAAC,KAAc;IACnE,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IACvC,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAC;IACtB,MAAM,UAAU,GAAG,GAAG;SACnB,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC;SACpB,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;SACnB,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;IAC3B,OAAO,UAAU,IAAI,IAAI,CAAC;AAC5B,CAAC;AAED,MAAM,UAAU,+BAA+B,CAAC,KAAa;IAC3D,OAAO,KAAK;SACT,IAAI,EAAE;SACN,WAAW,EAAE;SACb,OAAO,CAAC,cAAc,EAAE,GAAG,CAAC;SAC5B,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC;WACrB,OAAO,CAAC;AACf,CAAC;AAED,SAAS,6BAA6B,CAAC,UAA+C;IACpF,OAAO,OAAO,UAAU,CAAC,IAAI,KAAK,QAAQ,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AACvG,CAAC;AAED,SAAS,qCAAqC,CAC5C,UAAuB,EACvB,SAAsB;IAEtB,MAAM,YAAY,GAAG,6BAA6B,CAAC,UAAU,CAAC,CAAC;IAC/D,IAAI,YAAY,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;QACjD,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAC5B,OAAO,YAAY,KAAK,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,GAAG,UAAU,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;IAC/F,CAAC;IAED,IAAI,IAAI,GAAG,+BAA+B,EAAE,CAAC;IAC7C,OAAO,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;QAC3B,IAAI,GAAG,+BAA+B,EAAE,CAAC;IAC3C,CAAC;IACD,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACpB,OAAO,EAAE,GAAG,UAAU,EAAE,IAAI,EAAE,CAAC;AACjC,CAAC","sourcesContent":["import type { EditorSceneDocument, EditorSceneGameObject } from '../document/index';\n\nexport const EDITOR_SCENE_ROOT_ID = 'root';\nconst EDITOR_SCENE_GAME_OBJECT_GUID_PREFIX = 'go_';\nconst DEFAULT_EDITOR_SCENE_GAME_OBJECT_NAME = 'GameObject';\n\nexport interface CreateUniqueEditorSceneGameObjectDisplayNameOptions {\n alwaysAppendSuffix?: boolean;\n fallbackName?: string;\n}\n\nexport function isEditorSceneRootGameObjectId(gameObjectId: string | null | undefined): boolean {\n return gameObjectId === EDITOR_SCENE_ROOT_ID;\n}\n\nexport function isEditorSceneRootGameObject(gameObject: Pick<EditorSceneGameObject, 'id'>): boolean {\n return isEditorSceneRootGameObjectId(gameObject.id);\n}\n\nexport function ensureEditorSceneGameObjectGuids<TDocument extends EditorSceneDocument>(\n document: TDocument,\n): TDocument {\n const usedGuids = new Set<string>();\n let changed = false;\n const gameObjects = document.scene.gameObjects.map((gameObject) => {\n const next = ensureUniqueEditorSceneGameObjectGuid(gameObject, usedGuids);\n changed = changed || next !== gameObject;\n return next;\n });\n return changed\n ? {\n ...document,\n scene: {\n ...document.scene,\n gameObjects,\n },\n } as TDocument\n : document;\n}\n\nexport function createEditorSceneGameObjectGuid(): string {\n const randomId = globalThis.crypto?.randomUUID?.() ?? `${Date.now().toString(36)}-${Math.random().toString(36).slice(2)}`;\n return `${EDITOR_SCENE_GAME_OBJECT_GUID_PREFIX}${randomId}`;\n}\n\nexport function createUniqueEditorSceneGameObjectId(\n existingIds: readonly string[],\n preferredId: string,\n): string {\n const used = new Set(existingIds);\n const base = sanitizeEditorSceneGameObjectId(preferredId) || 'game_object';\n if (!used.has(base)) return base;\n let suffix = 2;\n while (used.has(`${base}_${suffix}`)) suffix += 1;\n return `${base}_${suffix}`;\n}\n\nexport function normalizeEditorSceneGameObjectDisplayName(\n value: unknown,\n fallback = DEFAULT_EDITOR_SCENE_GAME_OBJECT_NAME,\n): string {\n return normalizeEditorSceneGameObjectDisplayNamePart(value)\n ?? normalizeEditorSceneGameObjectDisplayNamePart(fallback)\n ?? DEFAULT_EDITOR_SCENE_GAME_OBJECT_NAME;\n}\n\nexport function createUniqueEditorSceneGameObjectDisplayName(\n existingNames: readonly unknown[],\n preferredName: unknown,\n options: CreateUniqueEditorSceneGameObjectDisplayNameOptions = {},\n): string {\n const base = normalizeEditorSceneGameObjectDisplayName(\n preferredName,\n options.fallbackName ?? DEFAULT_EDITOR_SCENE_GAME_OBJECT_NAME,\n );\n const usedNames = new Set(\n existingNames\n .map((name) => normalizeEditorSceneGameObjectDisplayNamePart(name))\n .filter((name): name is string => !!name),\n );\n if (!options.alwaysAppendSuffix && !usedNames.has(base)) return base;\n\n let suffix = 1;\n let candidate = `${base}_${suffix}`;\n while (usedNames.has(candidate)) {\n suffix += 1;\n candidate = `${base}_${suffix}`;\n }\n return candidate;\n}\n\nfunction normalizeEditorSceneGameObjectDisplayNamePart(value: unknown): string | null {\n const raw = String(value ?? '').trim();\n if (!raw) return null;\n const normalized = raw\n .replace(/\\s+/g, '_')\n .replace(/_+/g, '_')\n .replace(/^_+|_+$/g, '');\n return normalized || null;\n}\n\nexport function sanitizeEditorSceneGameObjectId(value: string): string {\n return value\n .trim()\n .toLowerCase()\n .replace(/[^a-z0-9_]+/g, '_')\n .replace(/^_+|_+$/g, '')\n || 'asset';\n}\n\nfunction readEditorSceneGameObjectGuid(gameObject: Pick<EditorSceneGameObject, 'guid'>): string | null {\n return typeof gameObject.guid === 'string' && gameObject.guid.trim() ? gameObject.guid.trim() : null;\n}\n\nfunction ensureUniqueEditorSceneGameObjectGuid<TGameObject extends EditorSceneGameObject>(\n gameObject: TGameObject,\n usedGuids: Set<string>,\n): TGameObject {\n const existingGuid = readEditorSceneGameObjectGuid(gameObject);\n if (existingGuid && !usedGuids.has(existingGuid)) {\n usedGuids.add(existingGuid);\n return existingGuid === gameObject.guid ? gameObject : { ...gameObject, guid: existingGuid };\n }\n\n let guid = createEditorSceneGameObjectGuid();\n while (usedGuids.has(guid)) {\n guid = createEditorSceneGameObjectGuid();\n }\n usedGuids.add(guid);\n return { ...gameObject, guid };\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/session/index.ts"],"names":[],"mappings":"AAOA,OAAO,EACL,oBAAoB,EACpB,+BAA+B,EAC/B,4CAA4C,EAC5C,mCAAmC,EACnC,gCAAgC,EAChC,2BAA2B,EAC3B,6BAA6B,EAC7B,yCAAyC,EACzC,+BAA+B,GAChC,MAAM,YAAY,CAAC;AAIpB,OAAO,EACL,oCAAoC,EACpC,oBAAoB,EACpB,6BAA6B,EAC7B,gCAAgC,EAChC,4BAA4B,EAC5B,sCAAsC,EACtC,wCAAwC,GACzC,MAAM,kBAAkB,CAAC;AAQ1B,OAAO,EACL,2BAA2B,EAC3B,sCAAsC,EACtC,8BAA8B,EAC9B,iCAAiC,EACjC,2BAA2B,EAC3B,yBAAyB,EACzB,wCAAwC,EACxC,kDAAkD,EAClD,0CAA0C,EAC1C,2CAA2C,EAC3C,wCAAwC,EACxC,8BAA8B,EAC9B,6BAA6B,EAC7B,yCAAyC,EACzC,oCAAoC,EACpC,4CAA4C,EAC5C,yCAAyC,EACzC,wBAAwB,EACxB,kCAAkC,GACnC,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,2BAA2B,EAC3B,uCAAuC,EACvC,yBAAyB,EACzB,sCAAsC,EACtC,qCAAqC,EACrC,kCAAkC,EAClC,kCAAkC,EAClC,yCAAyC,EACzC,8BAA8B,EAC9B,kCAAkC,EAClC,iCAAiC,EACjC,uCAAuC,EACvC,0CAA0C,EAC1C,+BAA+B,EAC/B,8BAA8B,EAC9B,sCAAsC,EACtC,qCAAqC,EACrC,oCAAoC,EACpC,oCAAoC,EACpC,iDAAiD,GAClD,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,+BAA+B,EAC/B,4BAA4B,EAC5B,qCAAqC,GACtC,MAAM,aAAa,CAAC;AAOrB,OAAO,EACL,iCAAiC,EACjC,qCAAqC,EACrC,mCAAmC,EACnC,wCAAwC,EACxC,oCAAoC,EACpC,mCAAmC,EACnC,4BAA4B,EAC5B,8BAA8B,EAC9B,iCAAiC,EACjC,gCAAgC,EAChC,2BAA2B,GAC5B,MAAM,WAAW,CAAC;AAMnB,OAAO,EACL,wCAAwC,GACzC,MAAM,oBAAoB,CAAC;AAQ5B,OAAO,EACL,6CAA6C,EAC7C,gDAAgD,EAChD,4CAA4C,EAC5C,kDAAkD,EAClD,qCAAqC,GACtC,MAAM,gBAAgB,CAAC;AAQxB,OAAO,EACL,+CAA+C,EAC/C,mDAAmD,EACnD,oDAAoD,GACrD,MAAM,oBAAoB,CAAC;AAO5B,OAAO,EACL,4CAA4C,GAC7C,MAAM,yBAAyB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/session/index.ts"],"names":[],"mappings":"AAOA,OAAO,EACL,oBAAoB,EACpB,+BAA+B,EAC/B,4CAA4C,EAC5C,mCAAmC,EACnC,gCAAgC,EAChC,2BAA2B,EAC3B,6BAA6B,EAC7B,yCAAyC,EACzC,+BAA+B,GAChC,MAAM,YAAY,CAAC;AAIpB,OAAO,EACL,oCAAoC,EACpC,oBAAoB,EACpB,6BAA6B,EAC7B,gCAAgC,EAChC,4BAA4B,EAC5B,sCAAsC,EACtC,wCAAwC,GACzC,MAAM,kBAAkB,CAAC;AAQ1B,OAAO,EACL,2BAA2B,EAC3B,sCAAsC,EACtC,8BAA8B,EAC9B,iCAAiC,EACjC,2BAA2B,EAC3B,yBAAyB,EACzB,wCAAwC,EACxC,kDAAkD,EAClD,0CAA0C,EAC1C,2CAA2C,EAC3C,wCAAwC,EACxC,8BAA8B,EAC9B,6BAA6B,EAC7B,yCAAyC,EACzC,oCAAoC,EACpC,4CAA4C,EAC5C,yCAAyC,EACzC,wBAAwB,EACxB,kCAAkC,GACnC,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,2BAA2B,EAC3B,uCAAuC,EACvC,yBAAyB,EACzB,sCAAsC,EACtC,qCAAqC,EACrC,kCAAkC,EAClC,kCAAkC,EAClC,yCAAyC,EACzC,8BAA8B,EAC9B,kCAAkC,EAClC,iCAAiC,EACjC,uCAAuC,EACvC,0CAA0C,EAC1C,+BAA+B,EAC/B,8BAA8B,EAC9B,sCAAsC,EACtC,qCAAqC,EACrC,oCAAoC,EACpC,oCAAoC,EACpC,iDAAiD,GAClD,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,+BAA+B,EAC/B,4BAA4B,EAC5B,qCAAqC,GACtC,MAAM,aAAa,CAAC;AAOrB,OAAO,EACL,iCAAiC,EACjC,qCAAqC,EACrC,mCAAmC,EACnC,wCAAwC,EACxC,oCAAoC,EACpC,mCAAmC,EACnC,4BAA4B,EAC5B,8BAA8B,EAC9B,iCAAiC,EACjC,gCAAgC,EAChC,2BAA2B,GAC5B,MAAM,WAAW,CAAC;AAMnB,OAAO,EACL,wCAAwC,GACzC,MAAM,oBAAoB,CAAC;AAQ5B,OAAO,EACL,6CAA6C,EAC7C,gDAAgD,EAChD,4CAA4C,EAC5C,kDAAkD,EAClD,qCAAqC,GACtC,MAAM,gBAAgB,CAAC;AAQxB,OAAO,EACL,+CAA+C,EAC/C,mDAAmD,EACnD,oDAAoD,GACrD,MAAM,oBAAoB,CAAC;AAO5B,OAAO,EACL,4CAA4C,GAC7C,MAAM,yBAAyB,CAAC","sourcesContent":["export type {\n EditorSceneHierarchyItem,\n EditorSceneSessionDocument,\n EditorSceneSessionGameObject,\n EditorSceneTransformSnapshot,\n PlayableEditorSceneDocumentPatch,\n} from './types';\nexport {\n EDITOR_SCENE_ROOT_ID,\n createEditorSceneGameObjectGuid,\n createUniqueEditorSceneGameObjectDisplayName,\n createUniqueEditorSceneGameObjectId,\n ensureEditorSceneGameObjectGuids,\n isEditorSceneRootGameObject,\n isEditorSceneRootGameObjectId,\n normalizeEditorSceneGameObjectDisplayName,\n sanitizeEditorSceneGameObjectId,\n} from './identity';\nexport type {\n CreateUniqueEditorSceneGameObjectDisplayNameOptions,\n} from './identity';\nexport {\n canEditorSceneGameObjectHaveChildren,\n hasEditorSceneCamera,\n isEditorSceneCameraGameObject,\n isEditorSceneGroupLikeGameObject,\n isEditorSceneLightGameObject,\n isEditorSceneProtectedSystemGameObject,\n isEditorSceneProtectedSystemGameObjectId,\n} from './classification';\nexport type {\n EditorSceneCameraProjection,\n EditorSceneDefaultCameraRig,\n EditorSceneDefaultDirectionalLight,\n EditorSceneDefaultHemisphericLight,\n EditorSceneDefaultObjectServices,\n} from './system-defaults';\nexport {\n DEFAULT_EDITOR_SCENE_CAMERA,\n DEFAULT_EDITOR_SCENE_ENVIRONMENT_LIGHT,\n DEFAULT_EDITOR_SCENE_SUN_LIGHT,\n EDITOR_SCENE_ENVIRONMENT_LIGHT_ID,\n EDITOR_SCENE_MAIN_CAMERA_ID,\n EDITOR_SCENE_SUN_LIGHT_ID,\n createDefaultEditorSceneCameraGameObject,\n createDefaultEditorSceneEnvironmentLightGameObject,\n createDefaultEditorSceneSunLightGameObject,\n createEditorSceneIdentityTransformComponent,\n hasInvalidEditorSceneCameraRelationships,\n mergeEditorSceneCameraDefaults,\n mergeEditorSceneLightDefaults,\n normalizeEditorSceneCameraAfterFieldPatch,\n normalizeEditorSceneCameraGameObject,\n normalizeEditorScenePlainTransformGameObject,\n normalizeEditorSceneSystemLightGameObject,\n readEditorSceneLightType,\n shallowEditorSceneGameObjectsEqual,\n} from './system-defaults';\nexport {\n EDITOR_SCENE_ROOT_TRANSFORM,\n createEditorSceneRootTransformComponent,\n findEditorSceneGameObject,\n getEditorSceneGameObjectWorldTransform,\n isEditorSceneMatrixTransformComponent,\n isEditorSceneTrsTransformComponent,\n normalizeEditorSceneRootGameObject,\n normalizeEditorSceneRootTransformDocument,\n isEditorSceneRootTransformPath,\n isEditorSceneSelectableHierarchyId,\n resolveEditorSceneRootContainerId,\n readEditorSceneGameObjectLocalTransform,\n readRawEditorSceneGameObjectLocalTransform,\n toEditorSceneTransformComponent,\n toEditorSceneTransformSnapshot,\n tryCreateEditorSceneTransformComponent,\n tryCreateEditorSceneTransformSnapshot,\n toEditorSceneLocalTransformFromWorld,\n toEditorSceneLocalTransformForParent,\n toEditorScenePreserveWorldLocalTransformForParent,\n} from './transform';\nexport {\n collectEditorSceneSubtreeIdList,\n getEditorSceneHierarchyItems,\n normalizeEditorSceneHierarchyDocument,\n} from './hierarchy';\nexport type {\n EditorSceneHierarchyMoveOptions,\n EditorSceneHierarchyMoveTransformResolver,\n EditorSceneHierarchyMoveTransformResolverInput,\n EditorSceneHierarchyPatch,\n} from './patches';\nexport {\n createEditorSceneCreateGroupPatch,\n createEditorSceneCreatePrimitivePatch,\n createEditorSceneDeleteSubtreePatch,\n createEditorSceneDuplicateSelectionPatch,\n createEditorSceneGroupSelectionPatch,\n createEditorSceneHierarchyMovePatch,\n createEditorSceneRenamePatch,\n createEditorSceneReparentPatch,\n validateEditorSceneGroupSelection,\n validateEditorSceneHierarchyMove,\n validateEditorSceneReparent,\n} from './patches';\nexport type {\n PlayableEditorSceneHierarchyFacade,\n PlayableEditorSceneHierarchyFacadeServices,\n PlayableEditorSceneHierarchyPatchResult,\n} from './hierarchy-facade';\nexport {\n createPlayableEditorSceneHierarchyFacade,\n} from './hierarchy-facade';\nexport type {\n PlayableEditorSceneDefaultObjectServices,\n PlayableEditorSceneFieldMutationServices,\n PlayableEditorSceneReducerCoreServices,\n PlayableEditorSceneReducerSystemDefaultServices,\n PlayableEditorSceneSystemFieldPatchServices,\n} from './reducer-core';\nexport {\n createPlayableEditorSceneFieldMutationOptions,\n ensurePlayableEditorSceneEnvironmentDefaultsCore,\n isBlockedPlayableEditorSceneSystemFieldPatch,\n patchPlayableEditorSceneDirectionalLightAngleField,\n reducePlayableEditorSceneDocumentCore,\n} from './reducer-core';\nexport type {\n PlayableEditorSceneAssetMeshSelectionTarget,\n PlayableEditorSceneInspectorPropertyPatchInput,\n PlayableEditorSceneInspectorPropertyPatchResult,\n PlayableEditorSceneMaterialAssetFieldPath,\n PlayableEditorScenePropertyPatchServices,\n} from './property-patches';\nexport {\n createPlayableEditorSceneInspectorPropertyPatch,\n patchPlayableEditorSceneGameObjectFieldWithServices,\n patchPlayableEditorSceneGameObjectsFieldWithServices,\n} from './property-patches';\nexport type {\n PlayableEditorSceneMultiPropertyCapabilityInput,\n PlayableEditorSceneMultiPropertyPatchInput,\n PlayableEditorSceneObjectCommandFacade,\n PlayableEditorSceneObjectCommandServices,\n} from './object-command-facade';\nexport {\n createPlayableEditorSceneObjectCommandFacade,\n} from './object-command-facade';\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"object-command-facade.js","sourceRoot":"","sources":["../../src/session/object-command-facade.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"object-command-facade.js","sourceRoot":"","sources":["../../src/session/object-command-facade.ts"],"names":[],"mappings":"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","sourcesContent":["import type {\n SerializedPropertyPatch,\n} from '@fps-games/editor-core';\nimport type {\n EditorSceneDocument,\n EditorSceneGameObject,\n} from '../document/index';\nimport {\n applyEditorSceneSerializedPropertyPatch,\n type EditorSceneSerializedPropertyValidator,\n} from '../serialized-property/index';\n\nexport interface PlayableEditorSceneObjectCommandServices<\n TDocument extends EditorSceneDocument = EditorSceneDocument,\n TGameObject extends EditorSceneGameObject = EditorSceneGameObject,\n TPatch = unknown,\n> {\n isRootTransformPath: (targetId: string, path: string) => boolean;\n validateSerializedPropertyField: EditorSceneSerializedPropertyValidator<TDocument>;\n findGameObject: (document: TDocument, gameObjectId: string | null | undefined) => TGameObject | null;\n isCameraGameObject: (gameObject: TGameObject) => boolean;\n isLightGameObject: (gameObject: TGameObject) => boolean;\n isSerializedMultiFieldPath: (path: string) => boolean;\n isSerializedMultiProjectionPath: (path: string) => boolean;\n getSerializedMultiPropertyProbeValue: (path: string) => unknown;\n canPatchCustomSerializedMultiField?: (input: {\n document: TDocument;\n targetId: string;\n path: string;\n value: unknown;\n }) => boolean;\n createInspectorPropertyPatch: (input: {\n document: TDocument;\n targetId: string;\n path: string;\n value: unknown;\n }) => unknown | null;\n createFieldBatchPatch: (fields: Array<{\n targetId: string;\n path: string;\n value: unknown;\n }>) => TPatch;\n}\n\nexport interface PlayableEditorSceneMultiPropertyCapabilityInput<\n TDocument extends EditorSceneDocument = EditorSceneDocument,\n> {\n document: TDocument;\n targetIds: readonly string[];\n activeId: string | null;\n path: string;\n}\n\nexport interface PlayableEditorSceneMultiPropertyPatchInput<\n TDocument extends EditorSceneDocument = EditorSceneDocument,\n> extends PlayableEditorSceneMultiPropertyCapabilityInput<TDocument> {\n value: unknown;\n}\n\nexport interface PlayableEditorSceneObjectCommandFacade<\n TDocument extends EditorSceneDocument = EditorSceneDocument,\n TPatch = unknown,\n> {\n applySerializedPropertyPatch(document: TDocument, patch: SerializedPropertyPatch): TDocument;\n canCreateSerializedMultiPropertyPatch(input: PlayableEditorSceneMultiPropertyCapabilityInput<TDocument>): boolean;\n createSerializedMultiPropertyPatch(input: PlayableEditorSceneMultiPropertyPatchInput<TDocument>): {\n patch: TPatch;\n label: string;\n changedIds: string[];\n reprojectIds?: string[];\n } | null;\n}\n\nexport function createPlayableEditorSceneObjectCommandFacade<\n TDocument extends EditorSceneDocument = EditorSceneDocument,\n TGameObject extends EditorSceneGameObject = EditorSceneGameObject,\n TPatch = unknown,\n>(\n services: PlayableEditorSceneObjectCommandServices<TDocument, TGameObject, TPatch>,\n): PlayableEditorSceneObjectCommandFacade<TDocument, TPatch> {\n return {\n applySerializedPropertyPatch(document, patch) {\n if (services.isRootTransformPath(patch.targetId, patch.path)) return document;\n return applyEditorSceneSerializedPropertyPatch<TDocument>({\n document,\n patch,\n validateField: services.validateSerializedPropertyField,\n });\n },\n canCreateSerializedMultiPropertyPatch(input) {\n return getPlayableEditorSceneSerializedMultiPropertyPatchTargets({\n document: input.document,\n targetIds: input.targetIds,\n activeId: input.activeId,\n path: input.path,\n value: services.getSerializedMultiPropertyProbeValue(input.path),\n services,\n }).length > 0;\n },\n createSerializedMultiPropertyPatch(input) {\n if (!services.isSerializedMultiFieldPath(input.path)) return null;\n const targetIds = getPlayableEditorSceneSerializedMultiPropertyPatchTargets({ ...input, services });\n if (targetIds.length === 0) return null;\n return {\n label: `Patch ${targetIds.length} GameObjects ${input.path}`,\n patch: services.createFieldBatchPatch(targetIds.map((targetId) => ({\n targetId,\n path: input.path,\n value: input.value,\n }))),\n changedIds: targetIds,\n ...(services.isSerializedMultiProjectionPath(input.path) ? { reprojectIds: targetIds } : {}),\n };\n },\n };\n}\n\nfunction getPlayableEditorSceneSerializedMultiPropertyPatchTargets<\n TDocument extends EditorSceneDocument,\n TGameObject extends EditorSceneGameObject,\n TPatch,\n>(\n input: PlayableEditorSceneMultiPropertyPatchInput<TDocument> & {\n services: PlayableEditorSceneObjectCommandServices<TDocument, TGameObject, TPatch>;\n },\n): string[] {\n if (!input.services.isSerializedMultiFieldPath(input.path)) return [];\n return input.targetIds.filter((targetId) => {\n const gameObject = input.services.findGameObject(input.document, targetId);\n if (input.services.canPatchCustomSerializedMultiField?.({\n document: input.document,\n targetId,\n path: input.path,\n value: input.value,\n }) === false) {\n return false;\n }\n if (input.services.isSerializedMultiProjectionPath(input.path)) {\n if (!gameObject || input.services.isCameraGameObject(gameObject) || input.services.isLightGameObject(gameObject)) return false;\n }\n return !!input.services.createInspectorPropertyPatch({\n document: input.document,\n targetId,\n path: input.path,\n value: input.value,\n });\n });\n}\n"]}