@fps-games/editor 0.2.0-beta.2 → 0.2.0-beta.4

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 (652) hide show
  1. package/dist/agent-bridge/capabilities/assets.js.map +1 -1
  2. package/dist/agent-bridge/capabilities/editor-state.d.ts.map +1 -1
  3. package/dist/agent-bridge/capabilities/editor-state.js +26 -17
  4. package/dist/agent-bridge/capabilities/editor-state.js.map +1 -1
  5. package/dist/agent-bridge/capabilities/host-lifecycle.js.map +1 -1
  6. package/dist/agent-bridge/capabilities/prefabs.d.ts.map +1 -1
  7. package/dist/agent-bridge/capabilities/prefabs.js +61 -13
  8. package/dist/agent-bridge/capabilities/prefabs.js.map +1 -1
  9. package/dist/agent-bridge/capabilities/scene-objects.d.ts +1 -1
  10. package/dist/agent-bridge/capabilities/scene-objects.d.ts.map +1 -1
  11. package/dist/agent-bridge/capabilities/scene-objects.js +110 -25
  12. package/dist/agent-bridge/capabilities/scene-objects.js.map +1 -1
  13. package/dist/agent-bridge/capabilities/selection.d.ts.map +1 -1
  14. package/dist/agent-bridge/capabilities/selection.js +8 -5
  15. package/dist/agent-bridge/capabilities/selection.js.map +1 -1
  16. package/dist/agent-bridge/capabilities/shadows.d.ts.map +1 -1
  17. package/dist/agent-bridge/capabilities/shadows.js +11 -2
  18. package/dist/agent-bridge/capabilities/shadows.js.map +1 -1
  19. package/dist/agent-bridge/capabilities/transform.d.ts.map +1 -1
  20. package/dist/agent-bridge/capabilities/transform.js +6 -4
  21. package/dist/agent-bridge/capabilities/transform.js.map +1 -1
  22. package/dist/agent-bridge/capabilities/ui-regions.js.map +1 -1
  23. package/dist/agent-bridge/capabilities/viewport.d.ts.map +1 -1
  24. package/dist/agent-bridge/capabilities/viewport.js +79 -47
  25. package/dist/agent-bridge/capabilities/viewport.js.map +1 -1
  26. package/dist/agent-bridge/capability-sources.js.map +1 -1
  27. package/dist/agent-bridge/diagnostics.js.map +1 -1
  28. package/dist/agent-bridge/index.js.map +1 -1
  29. package/dist/agent-bridge/register.js.map +1 -1
  30. package/dist/agent-bridge/shared.d.ts +8 -3
  31. package/dist/agent-bridge/shared.d.ts.map +1 -1
  32. package/dist/agent-bridge/shared.js +32 -0
  33. package/dist/agent-bridge/shared.js.map +1 -1
  34. package/dist/agent-bridge/source-types.js.map +1 -1
  35. package/dist/authoring-apply.js.map +1 -1
  36. package/dist/build-info.json +48 -48
  37. package/dist/editor-plugin-agent-capabilities.js.map +1 -1
  38. package/dist/editor-plugin-hierarchy-command.js.map +1 -1
  39. package/dist/index.js.map +1 -1
  40. package/dist/internal/local-editor-lifecycle-operations.js.map +1 -1
  41. package/dist/local-editor-agent-actions.d.ts.map +1 -1
  42. package/dist/local-editor-agent-actions.js +9 -5
  43. package/dist/local-editor-agent-actions.js.map +1 -1
  44. package/dist/local-editor-agent-bridge-transport.js.map +1 -1
  45. package/dist/local-editor-agent-bridge.js.map +1 -1
  46. package/dist/local-editor-agent-context.js.map +1 -1
  47. package/dist/local-editor-harness.d.ts +57 -1
  48. package/dist/local-editor-harness.d.ts.map +1 -1
  49. package/dist/local-editor-harness.js +393 -41
  50. package/dist/local-editor-harness.js.map +1 -1
  51. package/dist/local-editor-marker-graph.js.map +1 -1
  52. package/dist/local-editor-performance-stats.js.map +1 -1
  53. package/dist/local-editor-plugin-inspector.js.map +1 -1
  54. package/dist/local-editor-plugin-panel.js.map +1 -1
  55. package/dist/local-editor-scene-render-scheduler.js.map +1 -1
  56. package/dist/local-editor-scene-view-interaction-runtime.js.map +1 -1
  57. package/dist/local-editor-viewport-render-coordinator.js.map +1 -1
  58. package/dist/playable-babylon-facade.js.map +1 -1
  59. package/dist/playable-babylon-outline-inspector.js.map +1 -1
  60. package/dist/playable-babylon-outline-runtime.js.map +1 -1
  61. package/dist/playable-babylon-rendering.js.map +1 -1
  62. package/dist/playable-local-editor-host.d.ts +36 -0
  63. package/dist/playable-local-editor-host.d.ts.map +1 -1
  64. package/dist/playable-local-editor-host.js.map +1 -1
  65. package/dist/playable-product-local-editor.js.map +1 -1
  66. package/dist/playable-product-projection-preview.js.map +1 -1
  67. package/dist/playable-product-rendering.js.map +1 -1
  68. package/dist/playable-product-scene-capabilities.d.ts.map +1 -1
  69. package/dist/playable-product-scene-capabilities.js +49 -2
  70. package/dist/playable-product-scene-capabilities.js.map +1 -1
  71. package/dist/playable-runtime-babylon.js.map +1 -1
  72. package/dist/playable-runtime.js.map +1 -1
  73. package/dist/playable-sdk-upgrade-doctor.js.map +1 -1
  74. package/dist/playable-sdk-vite.js.map +1 -1
  75. package/dist/playable-sdk.js.map +1 -1
  76. package/dist/playable-standard-project.js.map +1 -1
  77. package/dist/static-shadow-cpu-worker.js.map +1 -1
  78. package/dist/vite.js.map +1 -1
  79. package/node_modules/@fps-games/babylon-renderer/dist/environment/environment-texture-controller.js.map +1 -1
  80. package/node_modules/@fps-games/babylon-renderer/dist/environment/index.js.map +1 -1
  81. package/node_modules/@fps-games/babylon-renderer/dist/environment/profile.js.map +1 -1
  82. package/node_modules/@fps-games/babylon-renderer/dist/environment/types.js.map +1 -1
  83. package/node_modules/@fps-games/babylon-renderer/dist/index.js.map +1 -1
  84. package/node_modules/@fps-games/babylon-renderer/dist/lighting/directional-light-angles.js.map +1 -1
  85. package/node_modules/@fps-games/babylon-renderer/dist/outlines/babylon-default/apply.js.map +1 -1
  86. package/node_modules/@fps-games/babylon-renderer/dist/outlines/babylon-default/index.js.map +1 -1
  87. package/node_modules/@fps-games/babylon-renderer/dist/outlines/babylon-default/types.js.map +1 -1
  88. package/node_modules/@fps-games/babylon-renderer/dist/outlines/index.js.map +1 -1
  89. package/node_modules/@fps-games/babylon-renderer/dist/outlines/types.js.map +1 -1
  90. package/node_modules/@fps-games/babylon-renderer/dist/placement/index.js.map +1 -1
  91. package/node_modules/@fps-games/babylon-renderer/dist/placement/runtime-drop-position.js.map +1 -1
  92. package/node_modules/@fps-games/babylon-renderer/dist/plugin.js.map +1 -1
  93. package/node_modules/@fps-games/babylon-renderer/dist/post-process/babylon-default-pipeline.js.map +1 -1
  94. package/node_modules/@fps-games/babylon-renderer/dist/post-process/index.js.map +1 -1
  95. package/node_modules/@fps-games/babylon-renderer/dist/post-process/profile.js.map +1 -1
  96. package/node_modules/@fps-games/babylon-renderer/dist/post-process/types.js.map +1 -1
  97. package/node_modules/@fps-games/babylon-renderer/dist/post-process/volume-stack.js.map +1 -1
  98. package/node_modules/@fps-games/babylon-renderer/dist/reference.js.map +1 -1
  99. package/node_modules/@fps-games/babylon-renderer/dist/rendering/index.js.map +1 -1
  100. package/node_modules/@fps-games/babylon-renderer/dist/rendering/node-rendering.js.map +1 -1
  101. package/node_modules/@fps-games/babylon-renderer/dist/shadows/blob-shadow-shaders.js.map +1 -1
  102. package/node_modules/@fps-games/babylon-renderer/dist/shadows/blob-shadow-system.js.map +1 -1
  103. package/node_modules/@fps-games/babylon-renderer/dist/shadows/dynamic-shadow-system.js.map +1 -1
  104. package/node_modules/@fps-games/babylon-renderer/dist/shadows/planar-shadow-shaders.js.map +1 -1
  105. package/node_modules/@fps-games/babylon-renderer/dist/shadows/planar-shadow-system.js.map +1 -1
  106. package/node_modules/@fps-games/babylon-renderer/dist/shadows/static-projected-shadow-artifact-system.js.map +1 -1
  107. package/node_modules/@fps-games/babylon-renderer/dist/shadows/static-projected-shadow-atlas.js.map +1 -1
  108. package/node_modules/@fps-games/babylon-renderer/dist/shadows/static-projected-shadow-bake.js.map +1 -1
  109. package/node_modules/@fps-games/babylon-renderer/dist/shadows/static-projected-shadow-baker.js.map +1 -1
  110. package/node_modules/@fps-games/babylon-renderer/dist/shadows/static-projected-shadow-options.js.map +1 -1
  111. package/node_modules/@fps-games/babylon-renderer/dist/shadows/static-projected-shadow-rendering.js.map +1 -1
  112. package/node_modules/@fps-games/babylon-renderer/dist/shadows/types.js.map +1 -1
  113. package/node_modules/@fps-games/babylon-renderer/package.json +7 -7
  114. package/node_modules/@fps-games/editor-babylon/dist/camera-controller.js.map +1 -1
  115. package/node_modules/@fps-games/editor-babylon/dist/edit-session.js.map +1 -1
  116. package/node_modules/@fps-games/editor-babylon/dist/editor-sky.js.map +1 -1
  117. package/node_modules/@fps-games/editor-babylon/dist/editor-world.js.map +1 -1
  118. package/node_modules/@fps-games/editor-babylon/dist/event-guard.js.map +1 -1
  119. package/node_modules/@fps-games/editor-babylon/dist/index.js.map +1 -1
  120. package/node_modules/@fps-games/editor-babylon/dist/infinite-grid-layer.js.map +1 -1
  121. package/node_modules/@fps-games/editor-babylon/dist/infinite-grid.js.map +1 -1
  122. package/node_modules/@fps-games/editor-babylon/dist/input-controller.js.map +1 -1
  123. package/node_modules/@fps-games/editor-babylon/dist/inspector-adapter.js.map +1 -1
  124. package/node_modules/@fps-games/editor-babylon/dist/inspector-host.js.map +1 -1
  125. package/node_modules/@fps-games/editor-babylon/dist/main-camera-preview.js.map +1 -1
  126. package/node_modules/@fps-games/editor-babylon/dist/marker-overlay.js.map +1 -1
  127. package/node_modules/@fps-games/editor-babylon/dist/material-property-adapter.js.map +1 -1
  128. package/node_modules/@fps-games/editor-babylon/dist/material-slot-source-resolver.js.map +1 -1
  129. package/node_modules/@fps-games/editor-babylon/dist/monitor.js.map +1 -1
  130. package/node_modules/@fps-games/editor-babylon/dist/outline-adapter.js.map +1 -1
  131. package/node_modules/@fps-games/editor-babylon/dist/performance-monitor.js.map +1 -1
  132. package/node_modules/@fps-games/editor-babylon/dist/prefab-comparison-preview-controller.js.map +1 -1
  133. package/node_modules/@fps-games/editor-babylon/dist/primitive-projection-instancing.js.map +1 -1
  134. package/node_modules/@fps-games/editor-babylon/dist/projection-asset-container-importer.js.map +1 -1
  135. package/node_modules/@fps-games/editor-babylon/dist/projection-pick-resolver.js.map +1 -1
  136. package/node_modules/@fps-games/editor-babylon/dist/projection-selection-controller.js.map +1 -1
  137. package/node_modules/@fps-games/editor-babylon/dist/projection-source-owner-path.js.map +1 -1
  138. package/node_modules/@fps-games/editor-babylon/dist/projection.js.map +1 -1
  139. package/node_modules/@fps-games/editor-babylon/dist/runtime-globals.js.map +1 -1
  140. package/node_modules/@fps-games/editor-babylon/dist/scene-camera-preview.js.map +1 -1
  141. package/node_modules/@fps-games/editor-babylon/dist/scene-view-camera-controller.js.map +1 -1
  142. package/node_modules/@fps-games/editor-babylon/dist/scene-view-input-controller.js.map +1 -1
  143. package/node_modules/@fps-games/editor-babylon/dist/scene-view-measurement-controller.js.map +1 -1
  144. package/node_modules/@fps-games/editor-babylon/dist/scene-view-spatial-overlay-controller.js.map +1 -1
  145. package/node_modules/@fps-games/editor-babylon/dist/selection-controller.js.map +1 -1
  146. package/node_modules/@fps-games/editor-babylon/dist/shadow-preview-controller.js.map +1 -1
  147. package/node_modules/@fps-games/editor-babylon/dist/tool-controller.js.map +1 -1
  148. package/node_modules/@fps-games/editor-babylon/dist/transform-gizmo-controller.js.map +1 -1
  149. package/node_modules/@fps-games/editor-babylon/dist/transform-solver.js.map +1 -1
  150. package/node_modules/@fps-games/editor-babylon/dist/types.js.map +1 -1
  151. package/node_modules/@fps-games/editor-babylon/package.json +5 -5
  152. package/node_modules/@fps-games/editor-browser/dist/index.d.ts +3 -1
  153. package/node_modules/@fps-games/editor-browser/dist/index.d.ts.map +1 -1
  154. package/node_modules/@fps-games/editor-browser/dist/index.js +2 -0
  155. package/node_modules/@fps-games/editor-browser/dist/index.js.map +1 -1
  156. package/node_modules/@fps-games/editor-browser/dist/local-editor-inspector-clipboard.js.map +1 -1
  157. package/node_modules/@fps-games/editor-browser/dist/local-editor-inspector-groups.js.map +1 -1
  158. package/node_modules/@fps-games/editor-browser/dist/local-editor-rendering-actions.js.map +1 -1
  159. package/node_modules/@fps-games/editor-browser/dist/local-editor-root-ownership.js.map +1 -1
  160. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-asset-kind.js.map +1 -1
  161. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-context-menu.js.map +1 -1
  162. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-dock-panel.js.map +1 -1
  163. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-actions.js.map +1 -1
  164. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-attach-dialog.js.map +1 -1
  165. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-auto-scroll.js.map +1 -1
  166. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-command-adapter.js.map +1 -1
  167. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-controller.d.ts +2 -1
  168. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-controller.d.ts.map +1 -1
  169. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-controller.js +260 -94
  170. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-controller.js.map +1 -1
  171. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-drag-policy.js.map +1 -1
  172. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-projection.d.ts +7 -0
  173. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-projection.d.ts.map +1 -0
  174. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-projection.js +186 -0
  175. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-projection.js.map +1 -0
  176. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-scope.d.ts +2 -2
  177. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-scope.d.ts.map +1 -1
  178. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-scope.js +14 -8
  179. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-scope.js.map +1 -1
  180. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-tree.d.ts.map +1 -1
  181. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-tree.js +23 -7
  182. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-tree.js.map +1 -1
  183. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-view.js.map +1 -1
  184. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-icons.d.ts +1 -1
  185. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-icons.d.ts.map +1 -1
  186. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-icons.js +6 -0
  187. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-icons.js.map +1 -1
  188. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-input-router.d.ts +3 -0
  189. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-input-router.d.ts.map +1 -1
  190. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-input-router.js +60 -13
  191. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-input-router.js.map +1 -1
  192. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-modal-dialog.js.map +1 -1
  193. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-panel-registry.js.map +1 -1
  194. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-panels.js.map +1 -1
  195. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-plugin-panel.js.map +1 -1
  196. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-prefab-stage.js.map +1 -1
  197. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-primitives.js.map +1 -1
  198. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-shared.js.map +1 -1
  199. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-shortcuts.js.map +1 -1
  200. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-status-diagnostics.d.ts +24 -0
  201. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-status-diagnostics.d.ts.map +1 -0
  202. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-status-diagnostics.js +69 -0
  203. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-status-diagnostics.js.map +1 -0
  204. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-structured-drag-auto-scroll.js.map +1 -1
  205. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-structured-drag-policy.js.map +1 -1
  206. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-structured-drag-preview.js.map +1 -1
  207. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-structured-drag-session.js.map +1 -1
  208. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-theme.js.map +1 -1
  209. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-tooltip.js.map +1 -1
  210. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-types.d.ts +58 -14
  211. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-types.d.ts.map +1 -1
  212. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-types.js.map +1 -1
  213. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-workbench.js.map +1 -1
  214. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui.d.ts +1 -1
  215. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui.d.ts.map +1 -1
  216. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui.js +196 -11
  217. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui.js.map +1 -1
  218. package/node_modules/@fps-games/editor-browser/dist/plugin-contributions.js.map +1 -1
  219. package/node_modules/@fps-games/editor-browser/dist/runtime-camera-debug-panel.js.map +1 -1
  220. package/node_modules/@fps-games/editor-browser/dist/runtime-debug-panel-shell.js.map +1 -1
  221. package/node_modules/@fps-games/editor-browser/dist/runtime-lighting-debug-panel.js.map +1 -1
  222. package/node_modules/@fps-games/editor-browser/package.json +4 -4
  223. package/node_modules/@fps-games/editor-core/dist/agent-bridge.js.map +1 -1
  224. package/node_modules/@fps-games/editor-core/dist/agent-interaction.js.map +1 -1
  225. package/node_modules/@fps-games/editor-core/dist/authoring-source.js.map +1 -1
  226. package/node_modules/@fps-games/editor-core/dist/document-adapter.js.map +1 -1
  227. package/node_modules/@fps-games/editor-core/dist/editor-plugin-host.js.map +1 -1
  228. package/node_modules/@fps-games/editor-core/dist/editor-session.d.ts +9 -1
  229. package/node_modules/@fps-games/editor-core/dist/editor-session.d.ts.map +1 -1
  230. package/node_modules/@fps-games/editor-core/dist/editor-session.js +18 -0
  231. package/node_modules/@fps-games/editor-core/dist/editor-session.js.map +1 -1
  232. package/node_modules/@fps-games/editor-core/dist/events.d.ts +1 -1
  233. package/node_modules/@fps-games/editor-core/dist/events.d.ts.map +1 -1
  234. package/node_modules/@fps-games/editor-core/dist/events.js.map +1 -1
  235. package/node_modules/@fps-games/editor-core/dist/field-schema/index.js.map +1 -1
  236. package/node_modules/@fps-games/editor-core/dist/field-schema/resolver.js.map +1 -1
  237. package/node_modules/@fps-games/editor-core/dist/field-schema/schema.js.map +1 -1
  238. package/node_modules/@fps-games/editor-core/dist/field-schema/types.js.map +1 -1
  239. package/node_modules/@fps-games/editor-core/dist/field-schema/validators.js.map +1 -1
  240. package/node_modules/@fps-games/editor-core/dist/host-services.js.map +1 -1
  241. package/node_modules/@fps-games/editor-core/dist/index.js.map +1 -1
  242. package/node_modules/@fps-games/editor-core/dist/inspector.js.map +1 -1
  243. package/node_modules/@fps-games/editor-core/dist/lifecycle.js.map +1 -1
  244. package/node_modules/@fps-games/editor-core/dist/marker-graph.js.map +1 -1
  245. package/node_modules/@fps-games/editor-core/dist/scene-graph.js.map +1 -1
  246. package/node_modules/@fps-games/editor-core/dist/scene-view-input.js.map +1 -1
  247. package/node_modules/@fps-games/editor-core/dist/selection-strategy.js.map +1 -1
  248. package/node_modules/@fps-games/editor-core/dist/serialized-object.js.map +1 -1
  249. package/node_modules/@fps-games/editor-core/dist/transform-command.js.map +1 -1
  250. package/node_modules/@fps-games/editor-core/dist/transform-gizmo.js.map +1 -1
  251. package/node_modules/@fps-games/editor-core/dist/transform-operation-policy.js.map +1 -1
  252. package/node_modules/@fps-games/editor-core/dist/transform-operations.js.map +1 -1
  253. package/node_modules/@fps-games/editor-core/dist/viewport-tools.js.map +1 -1
  254. package/node_modules/@fps-games/editor-core/package.json +6 -6
  255. package/node_modules/@fps-games/editor-forge-play/dist/agent-transport.js.map +1 -1
  256. package/node_modules/@fps-games/editor-forge-play/dist/index.js.map +1 -1
  257. package/node_modules/@fps-games/editor-forge-play/package.json +2 -2
  258. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-bridge/drop-cache.js.map +1 -1
  259. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-bridge/index.js.map +1 -1
  260. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-bridge/payload.d.ts.map +1 -1
  261. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-bridge/payload.js +28 -5
  262. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-bridge/payload.js.map +1 -1
  263. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-bridge/types.d.ts +1 -0
  264. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-bridge/types.d.ts.map +1 -1
  265. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-bridge/types.js.map +1 -1
  266. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/config.js.map +1 -1
  267. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/generated-module.js.map +1 -1
  268. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/index.js.map +1 -1
  269. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/managed-facade.js.map +1 -1
  270. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/manager-core.d.ts.map +1 -1
  271. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/manager-core.js +13 -1
  272. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/manager-core.js.map +1 -1
  273. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/metadata.js.map +1 -1
  274. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/node.js.map +1 -1
  275. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/registry.d.ts +1 -0
  276. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/registry.d.ts.map +1 -1
  277. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/registry.js +58 -23
  278. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/registry.js.map +1 -1
  279. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/types.js.map +1 -1
  280. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/catalog.js.map +1 -1
  281. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/document.js.map +1 -1
  282. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/index.js.map +1 -1
  283. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/types.js.map +1 -1
  284. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-placement/document.js.map +1 -1
  285. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-placement/identity.js.map +1 -1
  286. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-placement/index.js.map +1 -1
  287. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-placement/managed-runtime-instance.js.map +1 -1
  288. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-placement/placement.js.map +1 -1
  289. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-placement/runtime-scene.js.map +1 -1
  290. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-placement/types.js.map +1 -1
  291. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/index.js.map +1 -1
  292. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/result.d.ts.map +1 -1
  293. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/result.js +3 -0
  294. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/result.js.map +1 -1
  295. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/transport.js.map +1 -1
  296. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/types.d.ts +1 -0
  297. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/types.d.ts.map +1 -1
  298. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/types.js.map +1 -1
  299. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/workflow.d.ts +1 -0
  300. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/workflow.d.ts.map +1 -1
  301. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/workflow.js +7 -1
  302. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/workflow.js.map +1 -1
  303. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring/constants.js.map +1 -1
  304. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring/drift.js.map +1 -1
  305. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring/index.js.map +1 -1
  306. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring/runtime-transform-patch.js.map +1 -1
  307. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring/source.js.map +1 -1
  308. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-client/client.js.map +1 -1
  309. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-client/index.js.map +1 -1
  310. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-client/types.js.map +1 -1
  311. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-server/handler.js.map +1 -1
  312. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-server/index.js.map +1 -1
  313. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-server/payload.js.map +1 -1
  314. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-server/response.js.map +1 -1
  315. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-server/routes.js.map +1 -1
  316. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-server/types.js.map +1 -1
  317. package/node_modules/@fps-games/editor-playable-sdk/dist/bridge-command/adapter-dispatcher.js.map +1 -1
  318. package/node_modules/@fps-games/editor-playable-sdk/dist/bridge-command/index.js.map +1 -1
  319. package/node_modules/@fps-games/editor-playable-sdk/dist/bridge-command/payload.js.map +1 -1
  320. package/node_modules/@fps-games/editor-playable-sdk/dist/bridge-command/project-asset-adapter.js.map +1 -1
  321. package/node_modules/@fps-games/editor-playable-sdk/dist/bridge-command/protocol.js.map +1 -1
  322. package/node_modules/@fps-games/editor-playable-sdk/dist/bridge-command/readers.js.map +1 -1
  323. package/node_modules/@fps-games/editor-playable-sdk/dist/bridge-command/types.js.map +1 -1
  324. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/binding.js.map +1 -1
  325. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/fields.js.map +1 -1
  326. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/index.js.map +1 -1
  327. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/math.js.map +1 -1
  328. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/pan.js.map +1 -1
  329. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/panel-format.js.map +1 -1
  330. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/panel-state.js.map +1 -1
  331. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/panel-storage.js.map +1 -1
  332. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/panel-text.js.map +1 -1
  333. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/rig.js.map +1 -1
  334. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/save-patch.js.map +1 -1
  335. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/snapshot.js.map +1 -1
  336. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/types.js.map +1 -1
  337. package/node_modules/@fps-games/editor-playable-sdk/dist/commands/index.js.map +1 -1
  338. package/node_modules/@fps-games/editor-playable-sdk/dist/commands/transform.js.map +1 -1
  339. package/node_modules/@fps-games/editor-playable-sdk/dist/commands/types.js.map +1 -1
  340. package/node_modules/@fps-games/editor-playable-sdk/dist/core-contracts/index.js.map +1 -1
  341. package/node_modules/@fps-games/editor-playable-sdk/dist/document/helpers.js.map +1 -1
  342. package/node_modules/@fps-games/editor-playable-sdk/dist/document/index.js.map +1 -1
  343. package/node_modules/@fps-games/editor-playable-sdk/dist/document/types.js.map +1 -1
  344. package/node_modules/@fps-games/editor-playable-sdk/dist/field-schema/index.js.map +1 -1
  345. package/node_modules/@fps-games/editor-playable-sdk/dist/field-schema/resolver.js.map +1 -1
  346. package/node_modules/@fps-games/editor-playable-sdk/dist/field-schema/schema.js.map +1 -1
  347. package/node_modules/@fps-games/editor-playable-sdk/dist/field-schema/types.js.map +1 -1
  348. package/node_modules/@fps-games/editor-playable-sdk/dist/field-schema/validators.js.map +1 -1
  349. package/node_modules/@fps-games/editor-playable-sdk/dist/index.js.map +1 -1
  350. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/camera-section.js.map +1 -1
  351. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/document-property.js.map +1 -1
  352. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/document-sections.js.map +1 -1
  353. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/format.js.map +1 -1
  354. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/index.js.map +1 -1
  355. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/light-fields.js.map +1 -1
  356. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/light-sections.js.map +1 -1
  357. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/marker-section.js.map +1 -1
  358. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/object-assembly.js.map +1 -1
  359. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/readonly.js.map +1 -1
  360. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/runtime-sections.js.map +1 -1
  361. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/runtime-summary.js.map +1 -1
  362. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/runtime.js.map +1 -1
  363. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/safe-value.js.map +1 -1
  364. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/types.js.map +1 -1
  365. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/validation.js.map +1 -1
  366. package/node_modules/@fps-games/editor-playable-sdk/dist/internal/local-harness.js.map +1 -1
  367. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-debug/binding.js.map +1 -1
  368. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-debug/fields.js.map +1 -1
  369. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-debug/index.js.map +1 -1
  370. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-debug/math.js.map +1 -1
  371. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-debug/save-patch.js.map +1 -1
  372. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-debug/snapshot.js.map +1 -1
  373. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-debug/storage.js.map +1 -1
  374. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-debug/text.js.map +1 -1
  375. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-debug/types.js.map +1 -1
  376. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-preview/index.js.map +1 -1
  377. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-preview/math.js.map +1 -1
  378. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-preview/profile.js.map +1 -1
  379. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-preview/types.js.map +1 -1
  380. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/agent-descriptions.js.map +1 -1
  381. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/forge-play-types.js.map +1 -1
  382. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/forge-play.d.ts +2 -0
  383. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/forge-play.d.ts.map +1 -1
  384. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/forge-play.js +5 -0
  385. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/forge-play.js.map +1 -1
  386. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/host-controller.js.map +1 -1
  387. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/index.d.ts +1 -1
  388. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/index.d.ts.map +1 -1
  389. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/index.js.map +1 -1
  390. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/lifecycle.js.map +1 -1
  391. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/loading-overlay.js.map +1 -1
  392. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/project-asset-commands.d.ts +18 -0
  393. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/project-asset-commands.d.ts.map +1 -1
  394. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/project-asset-commands.js +60 -1
  395. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/project-asset-commands.js.map +1 -1
  396. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/timing.js.map +1 -1
  397. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/types.js.map +1 -1
  398. package/node_modules/@fps-games/editor-playable-sdk/dist/marker-scene/facade.js.map +1 -1
  399. package/node_modules/@fps-games/editor-playable-sdk/dist/marker-scene/game-objects.js.map +1 -1
  400. package/node_modules/@fps-games/editor-playable-sdk/dist/marker-scene/geometry.js.map +1 -1
  401. package/node_modules/@fps-games/editor-playable-sdk/dist/marker-scene/index.js.map +1 -1
  402. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/asset-fields.js.map +1 -1
  403. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/binding.js.map +1 -1
  404. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/default-assets.js.map +1 -1
  405. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/document-assets.d.ts.map +1 -1
  406. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/document-assets.js +28 -2
  407. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/document-assets.js.map +1 -1
  408. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/duplicate.js.map +1 -1
  409. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/index.js.map +1 -1
  410. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/inspector.js.map +1 -1
  411. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/paths.js.map +1 -1
  412. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/preview.js.map +1 -1
  413. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/profile.js.map +1 -1
  414. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/reimport.d.ts.map +1 -1
  415. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/reimport.js +26 -9
  416. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/reimport.js.map +1 -1
  417. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/resolver.js.map +1 -1
  418. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/scene-inspector.js.map +1 -1
  419. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/slot-inspector.d.ts.map +1 -1
  420. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/slot-inspector.js +0 -3
  421. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/slot-inspector.js.map +1 -1
  422. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/text.js.map +1 -1
  423. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/types.d.ts +8 -1
  424. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/types.d.ts.map +1 -1
  425. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/types.js.map +1 -1
  426. package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/field-patch.js.map +1 -1
  427. package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/index.js.map +1 -1
  428. package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/json-field.js.map +1 -1
  429. package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/reducer.js.map +1 -1
  430. package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/rendering-alpha-index.js.map +1 -1
  431. package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/transform.js.map +1 -1
  432. package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/types.js.map +1 -1
  433. package/node_modules/@fps-games/editor-playable-sdk/dist/package-resolution/aliases.d.ts +1 -1
  434. package/node_modules/@fps-games/editor-playable-sdk/dist/package-resolution/aliases.d.ts.map +1 -1
  435. package/node_modules/@fps-games/editor-playable-sdk/dist/package-resolution/aliases.js +18 -1
  436. package/node_modules/@fps-games/editor-playable-sdk/dist/package-resolution/aliases.js.map +1 -1
  437. package/node_modules/@fps-games/editor-playable-sdk/dist/package-resolution/index.js.map +1 -1
  438. package/node_modules/@fps-games/editor-playable-sdk/dist/package-resolution/types.d.ts +2 -0
  439. package/node_modules/@fps-games/editor-playable-sdk/dist/package-resolution/types.d.ts.map +1 -1
  440. package/node_modules/@fps-games/editor-playable-sdk/dist/package-resolution/types.js.map +1 -1
  441. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/action-patches.js.map +1 -1
  442. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/assets.js.map +1 -1
  443. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/index.js.map +1 -1
  444. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/material-override-inspector.js.map +1 -1
  445. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/projection.js.map +1 -1
  446. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/shadow-inspector.js.map +1 -1
  447. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/source-structure-inspector.js.map +1 -1
  448. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/stage-inspector.js.map +1 -1
  449. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/structure.js.map +1 -1
  450. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/types.js.map +1 -1
  451. package/node_modules/@fps-games/editor-playable-sdk/dist/product/asset-manager.js.map +1 -1
  452. package/node_modules/@fps-games/editor-playable-sdk/dist/product/ground-decal-scene-feature.js.map +1 -1
  453. package/node_modules/@fps-games/editor-playable-sdk/dist/product/ground-decal.js.map +1 -1
  454. package/node_modules/@fps-games/editor-playable-sdk/dist/product/index.js.map +1 -1
  455. package/node_modules/@fps-games/editor-playable-sdk/dist/product/project-host-services.d.ts +1 -0
  456. package/node_modules/@fps-games/editor-playable-sdk/dist/product/project-host-services.d.ts.map +1 -1
  457. package/node_modules/@fps-games/editor-playable-sdk/dist/product/project-host-services.js +3 -1
  458. package/node_modules/@fps-games/editor-playable-sdk/dist/product/project-host-services.js.map +1 -1
  459. package/node_modules/@fps-games/editor-playable-sdk/dist/product/scene-session.js.map +1 -1
  460. package/node_modules/@fps-games/editor-playable-sdk/dist/product/scene-source.js.map +1 -1
  461. package/node_modules/@fps-games/editor-playable-sdk/dist/product/standard-asset-actions.js.map +1 -1
  462. package/node_modules/@fps-games/editor-playable-sdk/dist/product/standard-scene-assembly.js.map +1 -1
  463. package/node_modules/@fps-games/editor-playable-sdk/dist/rendering-profile/draft.js.map +1 -1
  464. package/node_modules/@fps-games/editor-playable-sdk/dist/rendering-profile/index.js.map +1 -1
  465. package/node_modules/@fps-games/editor-playable-sdk/dist/rendering-profile/panel.js.map +1 -1
  466. package/node_modules/@fps-games/editor-playable-sdk/dist/rendering-profile/route.js.map +1 -1
  467. package/node_modules/@fps-games/editor-playable-sdk/dist/rendering-profile/types.js.map +1 -1
  468. package/node_modules/@fps-games/editor-playable-sdk/dist/runtime-preview/assets.js.map +1 -1
  469. package/node_modules/@fps-games/editor-playable-sdk/dist/runtime-preview/import-plan.js.map +1 -1
  470. package/node_modules/@fps-games/editor-playable-sdk/dist/runtime-preview/index.js.map +1 -1
  471. package/node_modules/@fps-games/editor-playable-sdk/dist/runtime-preview/nodes.js.map +1 -1
  472. package/node_modules/@fps-games/editor-playable-sdk/dist/runtime-preview/types.js.map +1 -1
  473. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/compiler.js +13 -1
  474. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/compiler.js.map +1 -1
  475. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/index.js.map +1 -1
  476. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/types.js.map +1 -1
  477. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/validation.js.map +1 -1
  478. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/artifacts.js.map +1 -1
  479. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/client.js.map +1 -1
  480. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/companion-configs.js.map +1 -1
  481. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/driver.js.map +1 -1
  482. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/index.js.map +1 -1
  483. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/protocol.js.map +1 -1
  484. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/types.js.map +1 -1
  485. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/validation.js.map +1 -1
  486. package/node_modules/@fps-games/editor-playable-sdk/dist/serialized-property/descriptors.js.map +1 -1
  487. package/node_modules/@fps-games/editor-playable-sdk/dist/serialized-property/index.js.map +1 -1
  488. package/node_modules/@fps-games/editor-playable-sdk/dist/serialized-property/inspector.js.map +1 -1
  489. package/node_modules/@fps-games/editor-playable-sdk/dist/serialized-property/object.js.map +1 -1
  490. package/node_modules/@fps-games/editor-playable-sdk/dist/serialized-property/patch.js.map +1 -1
  491. package/node_modules/@fps-games/editor-playable-sdk/dist/serialized-property/types.js.map +1 -1
  492. package/node_modules/@fps-games/editor-playable-sdk/dist/session/classification.js.map +1 -1
  493. package/node_modules/@fps-games/editor-playable-sdk/dist/session/hierarchy-facade.js.map +1 -1
  494. package/node_modules/@fps-games/editor-playable-sdk/dist/session/hierarchy.js.map +1 -1
  495. package/node_modules/@fps-games/editor-playable-sdk/dist/session/identity.js.map +1 -1
  496. package/node_modules/@fps-games/editor-playable-sdk/dist/session/index.js.map +1 -1
  497. package/node_modules/@fps-games/editor-playable-sdk/dist/session/object-command-facade.js.map +1 -1
  498. package/node_modules/@fps-games/editor-playable-sdk/dist/session/patches.js.map +1 -1
  499. package/node_modules/@fps-games/editor-playable-sdk/dist/session/property-patches.js.map +1 -1
  500. package/node_modules/@fps-games/editor-playable-sdk/dist/session/reducer-core.js.map +1 -1
  501. package/node_modules/@fps-games/editor-playable-sdk/dist/session/system-defaults.js.map +1 -1
  502. package/node_modules/@fps-games/editor-playable-sdk/dist/session/transform.js.map +1 -1
  503. package/node_modules/@fps-games/editor-playable-sdk/dist/session/types.js.map +1 -1
  504. package/node_modules/@fps-games/editor-playable-sdk/dist/shadow-system/index.js.map +1 -1
  505. package/node_modules/@fps-games/editor-playable-sdk/dist/shadow-system/resolver.js.map +1 -1
  506. package/node_modules/@fps-games/editor-playable-sdk/dist/shared/http.js.map +1 -1
  507. package/node_modules/@fps-games/editor-playable-sdk/dist/shared/json.js.map +1 -1
  508. package/node_modules/@fps-games/editor-playable-sdk/dist/static-shadows/artifact.js.map +1 -1
  509. package/node_modules/@fps-games/editor-playable-sdk/dist/static-shadows/index.js.map +1 -1
  510. package/node_modules/@fps-games/editor-playable-sdk/dist/upgrade-doctor/host.js.map +1 -1
  511. package/node_modules/@fps-games/editor-playable-sdk/dist/upgrade-doctor/index.js.map +1 -1
  512. package/node_modules/@fps-games/editor-playable-sdk/dist/upgrade-doctor/inspectors.js.map +1 -1
  513. package/node_modules/@fps-games/editor-playable-sdk/dist/upgrade-doctor/report.js.map +1 -1
  514. package/node_modules/@fps-games/editor-playable-sdk/dist/upgrade-doctor/types.js.map +1 -1
  515. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/asset-authoring.js.map +1 -1
  516. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/authoring-http.d.ts +1 -0
  517. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/authoring-http.d.ts.map +1 -1
  518. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/authoring-http.js +1 -0
  519. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/authoring-http.js.map +1 -1
  520. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/build-info-core.js.map +1 -1
  521. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/build-info-node.js.map +1 -1
  522. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/editor-scene-workflow.d.ts +6 -5
  523. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/editor-scene-workflow.d.ts.map +1 -1
  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 +2 -11
  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.map +1 -1
  600. package/node_modules/@fps-games/playable-runtime/dist/index.js.map +1 -1
  601. package/node_modules/@fps-games/playable-runtime/dist/runtime-data.js.map +1 -1
  602. package/node_modules/@fps-games/playable-runtime/dist/runtime.js.map +1 -1
  603. package/node_modules/@fps-games/playable-runtime/dist/standard-plugins.js.map +1 -1
  604. package/node_modules/@fps-games/playable-runtime/dist/tokens.js.map +1 -1
  605. package/node_modules/@fps-games/playable-runtime/dist/types.js.map +1 -1
  606. package/node_modules/@fps-games/playable-runtime/package.json +12 -12
  607. package/node_modules/@fps-games/playable-runtime-data/dist/index.js.map +1 -1
  608. package/node_modules/@fps-games/playable-runtime-data/package.json +4 -4
  609. package/node_modules/@fps-games/playable-scene/dist/index.js.map +1 -1
  610. package/node_modules/@fps-games/playable-scene/dist/transform-math.js.map +1 -1
  611. package/node_modules/@fps-games/playable-scene/package.json +2 -2
  612. package/node_modules/@fps-games/plugin-api/dist/index.js.map +1 -1
  613. package/node_modules/@fps-games/plugin-api/package.json +1 -1
  614. package/node_modules/@fps-games/plugin-assets/dist/reference.js.map +1 -1
  615. package/node_modules/@fps-games/plugin-assets/dist/runtime.js.map +1 -1
  616. package/node_modules/@fps-games/plugin-assets/dist/version.d.ts +1 -1
  617. package/node_modules/@fps-games/plugin-assets/dist/version.js +1 -1
  618. package/node_modules/@fps-games/plugin-assets/dist/version.js.map +1 -1
  619. package/node_modules/@fps-games/plugin-assets/package.json +5 -5
  620. package/node_modules/@fps-games/plugin-host/dist/index.js.map +1 -1
  621. package/node_modules/@fps-games/plugin-host/package.json +2 -2
  622. package/node_modules/@fps-games/plugin-markers/dist/reference.js.map +1 -1
  623. package/node_modules/@fps-games/plugin-markers/dist/runtime.js.map +1 -1
  624. package/node_modules/@fps-games/plugin-markers/dist/version.d.ts +1 -1
  625. package/node_modules/@fps-games/plugin-markers/dist/version.js +1 -1
  626. package/node_modules/@fps-games/plugin-markers/dist/version.js.map +1 -1
  627. package/node_modules/@fps-games/plugin-markers/package.json +5 -5
  628. package/node_modules/@fps-games/plugin-materials/dist/reference.js.map +1 -1
  629. package/node_modules/@fps-games/plugin-materials/dist/runtime.js.map +1 -1
  630. package/node_modules/@fps-games/plugin-materials/dist/version.d.ts +1 -1
  631. package/node_modules/@fps-games/plugin-materials/dist/version.js +1 -1
  632. package/node_modules/@fps-games/plugin-materials/dist/version.js.map +1 -1
  633. package/node_modules/@fps-games/plugin-materials/package.json +5 -5
  634. package/node_modules/@fps-games/plugin-rendering/dist/reference.js.map +1 -1
  635. package/node_modules/@fps-games/plugin-rendering/dist/runtime.js.map +1 -1
  636. package/node_modules/@fps-games/plugin-rendering/dist/version.d.ts +1 -1
  637. package/node_modules/@fps-games/plugin-rendering/dist/version.js +1 -1
  638. package/node_modules/@fps-games/plugin-rendering/dist/version.js.map +1 -1
  639. package/node_modules/@fps-games/plugin-rendering/package.json +5 -5
  640. package/node_modules/@fps-games/plugin-scene/dist/reference.js.map +1 -1
  641. package/node_modules/@fps-games/plugin-scene/dist/runtime.js.map +1 -1
  642. package/node_modules/@fps-games/plugin-scene/dist/version.d.ts +1 -1
  643. package/node_modules/@fps-games/plugin-scene/dist/version.js +1 -1
  644. package/node_modules/@fps-games/plugin-scene/dist/version.js.map +1 -1
  645. package/node_modules/@fps-games/plugin-scene/package.json +5 -5
  646. package/node_modules/@fps-games/plugin-shadows/dist/reference.js.map +1 -1
  647. package/node_modules/@fps-games/plugin-shadows/dist/runtime.js.map +1 -1
  648. package/node_modules/@fps-games/plugin-shadows/dist/version.d.ts +1 -1
  649. package/node_modules/@fps-games/plugin-shadows/dist/version.js +1 -1
  650. package/node_modules/@fps-games/plugin-shadows/dist/version.js.map +1 -1
  651. package/node_modules/@fps-games/plugin-shadows/package.json +7 -7
  652. package/package.json +27 -19
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/document/helpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/document/helpers.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n mergeArtistMaterialProfiles,\n type ArtistMaterialProfile,\n} from '@fps-games/editor-protocol';\nimport type {\n EditorSceneMaterialBinding,\n} from '../material-binding/types';\nimport {\n isEditorSceneArtistMaterialPatchPath,\n normalizeEditorSceneMaterialSlotOwnerPath,\n readEditorSceneMaterialSlotBindingSlotId,\n} from '../material-binding/paths';\nimport {\n readEditorSceneMaterialBindingConfig,\n} from '../material-binding/binding';\nimport type {\n EditorSceneComponent,\n EditorSceneAsset,\n EditorSceneDocument,\n EditorSceneGameObject,\n EditorSceneGameObjectRenderingGroupId,\n EditorSceneModelRendererComponent,\n EditorSceneNodeKind,\n EditorScenePrefabNode,\n EditorScenePrefabDefaults,\n EditorScenePrefabDefinition,\n EditorScenePrefabAgentSummary,\n EditorScenePrefabAgentMaterialTarget,\n EditorScenePrefabMutationDiagnostic,\n EditorScenePrefabMutationResult,\n EditorScenePrefabOverrides,\n EditorScenePrefabInstanceRelation,\n EditorScenePrefabRelationDiagnostic,\n EditorScenePrefabInstance,\n EditorSceneResolvedGameObjectRendering,\n EditorSceneTransformComponent,\n} from './types';\nimport type { EditorShadowSettings } from '@fps-games/playable-rendering';\n\nexport const EDITOR_SCENE_PREFAB_COMPOSITION_VERSION = 1;\nexport const EDITOR_SCENE_PREFAB_DEFAULT_ROOT_NODE_ID = 'prefab-root';\nexport const EDITOR_SCENE_PREFAB_DEFAULT_MODEL_NODE_ID = 'prefab-model';\n\nconst EDITOR_SCENE_PREFAB_OVERRIDE_FIELD_PATH_PREFIX = 'prefab.';\nconst EDITOR_SCENE_PREFAB_CORE_MATERIAL_OVERRIDE_PROFILE_FIELD_PATHS = new Set([\n 'profile.baseColor.color',\n 'profile.baseColor.texture.textureAssetId',\n 'profile.normal.texture.textureAssetId',\n 'profile.normal.strength',\n 'profile.metallic',\n 'profile.roughness',\n 'profile.emission.color',\n 'profile.emission.intensity',\n 'profile.emission.texture.textureAssetId',\n]);\n\nexport function cloneEditorSceneDocument<TDocument extends EditorSceneDocument>(\n document: TDocument,\n): TDocument {\n return structuredClone(document) as TDocument;\n}\n\nexport function findEditorSceneTransform(\n gameObject: Pick<EditorSceneGameObject, 'components'>,\n): EditorSceneTransformComponent | null {\n return gameObject.components.find(isEditorSceneTransformComponent) ?? null;\n}\n\nexport function findEditorSceneModelRenderer(\n gameObject: Pick<EditorSceneGameObject, 'components'>,\n): EditorSceneModelRendererComponent | null {\n return gameObject.components.find(isEditorSceneModelRendererComponent) ?? null;\n}\n\nexport function isEditorScenePrefabAsset(\n asset: Pick<EditorSceneAsset, 'type' | 'prefab'> | null | undefined,\n): asset is Pick<EditorSceneAsset, 'type'> & { prefab: EditorScenePrefabDefinition } {\n return asset?.type === 'prefab' && readEditorSceneNonEmptyString(asset.prefab?.sourceAssetId) != null;\n}\n\nexport function findEditorScenePrefabAsset<TAsset extends EditorSceneAsset = EditorSceneAsset>(\n document: Pick<EditorSceneDocument<EditorSceneGameObject, TAsset>, 'assets'>,\n assetId: string,\n): TAsset | null {\n const asset = document.assets.find(candidate => candidate.id === assetId);\n return asset && isEditorScenePrefabAsset(asset) ? asset : null;\n}\n\nexport function hasEditorScenePrefabForSourceAsset(\n document: Pick<EditorSceneDocument, 'assets'>,\n sourceAssetId: unknown,\n): boolean {\n return typeof sourceAssetId === 'string' && sourceAssetId.trim().length > 0\n ? document.assets.some(asset => isEditorScenePrefabAsset(asset) && asset.prefab.sourceAssetId === sourceAssetId)\n : false;\n}\n\nexport function isEditorScenePrefabInstance(\n gameObject: Pick<EditorSceneGameObject, 'prefab'> | null | undefined,\n): gameObject is Pick<EditorSceneGameObject, 'prefab'> & { prefab: EditorScenePrefabInstance } {\n return readEditorSceneNonEmptyString(gameObject?.prefab?.prefabId) != null;\n}\n\nexport function resolveEditorScenePrefabSourceAssetId(\n prefabAsset: Pick<EditorSceneAsset, 'prefab'> | null | undefined,\n): string | null {\n return readEditorSceneNonEmptyString(prefabAsset?.prefab?.sourceAssetId);\n}\n\nexport function readEditorScenePrefabRootNodeId(\n prefabAsset: Pick<EditorSceneAsset, 'prefab' | 'displayName'> | null | undefined,\n): string | null {\n if (!prefabAsset?.prefab) return null;\n const nodes = readEditorScenePrefabExplicitNodes(prefabAsset.prefab);\n const explicitRootNodeId = readEditorSceneNonEmptyString(prefabAsset.prefab.rootNodeId);\n if (explicitRootNodeId && nodes.some(node => node.id === explicitRootNodeId)) return explicitRootNodeId;\n const explicitRoot = nodes.find(node => node.kind === 'root' && !node.parentId);\n if (explicitRoot) return explicitRoot.id;\n return null;\n}\n\nexport function readEditorScenePrefabNodes(\n prefabAsset: Pick<EditorSceneAsset, 'prefab' | 'displayName'> | null | undefined,\n): EditorScenePrefabNode[] {\n if (!prefabAsset?.prefab) return [];\n return readEditorScenePrefabExplicitNodes(prefabAsset.prefab);\n}\n\nexport function findEditorScenePrefabNode(\n prefabAsset: Pick<EditorSceneAsset, 'prefab' | 'displayName'> | null | undefined,\n nodeId: string,\n): EditorScenePrefabNode | null {\n const normalizedNodeId = readEditorSceneNonEmptyString(nodeId);\n if (!normalizedNodeId) return null;\n return readEditorScenePrefabNodes(prefabAsset).find(node => node.id === normalizedNodeId) ?? null;\n}\n\nexport function readEditorScenePrefabNodeChildren(\n prefabAsset: Pick<EditorSceneAsset, 'prefab' | 'displayName'> | null | undefined,\n parentNodeId: string | null | undefined,\n): EditorScenePrefabNode[] {\n const normalizedParentId = readEditorSceneNonEmptyString(parentNodeId);\n return readEditorScenePrefabNodes(prefabAsset).filter((node) => {\n const parentId = readEditorSceneNonEmptyString(node.parentId);\n return normalizedParentId ? parentId === normalizedParentId : !parentId;\n });\n}\n\nexport function ensureEditorScenePrefabComposition<TAsset extends EditorSceneAsset>(\n prefabAsset: TAsset,\n): EditorScenePrefabMutationResult<TAsset> {\n if (!isEditorScenePrefabAsset(prefabAsset)) {\n return createEditorScenePrefabMutationResult(prefabAsset, false, null, [{\n code: 'prefab.invalidDefinition',\n severity: 'error',\n message: `Asset \"${prefabAsset.id}\" is not a valid prefab definition.`,\n assetId: prefabAsset.id,\n }]);\n }\n\n const nodes = readEditorScenePrefabExplicitNodes(prefabAsset.prefab);\n const rootNodeId = readEditorScenePrefabRootNodeId(prefabAsset);\n if (prefabAsset.prefab.compositionVersion !== EDITOR_SCENE_PREFAB_COMPOSITION_VERSION\n || nodes.length === 0\n || !rootNodeId) {\n return createEditorScenePrefabMutationResult(prefabAsset, false, null, [{\n code: 'schema.unsupportedVersion',\n severity: 'error',\n message: `Prefab asset \"${prefabAsset.id}\" must use composition version ${EDITOR_SCENE_PREFAB_COMPOSITION_VERSION} with an explicit root node.`,\n assetId: prefabAsset.id,\n }]);\n }\n\n const next = cloneEditorScenePrefabAssetWithComposition(prefabAsset);\n return createEditorScenePrefabMutationResult(next, JSON.stringify(next.prefab) !== JSON.stringify(prefabAsset.prefab));\n}\n\nexport function selectEditorScenePrefabNode<TAsset extends EditorSceneAsset>(\n prefabAsset: TAsset,\n nodeId: string,\n): EditorScenePrefabMutationResult<TAsset> {\n const prepared = ensureEditorScenePrefabComposition(prefabAsset);\n if (!prepared.ok) return prepared;\n const normalizedNodeId = readEditorSceneNonEmptyString(nodeId);\n const node = normalizedNodeId ? findEditorScenePrefabNode(prepared.prefabAsset, normalizedNodeId) : null;\n if (!node) {\n return createEditorScenePrefabMutationResult(prepared.prefabAsset, false, null, [{\n code: 'prefab.nodeNotFound',\n severity: 'error',\n message: `Prefab node \"${nodeId}\" was not found.`,\n assetId: prefabAsset.id,\n nodeId,\n }]);\n }\n return createEditorScenePrefabMutationResult(prepared.prefabAsset, false, node, [], {\n selectedNodeId: node.id,\n });\n}\n\nexport function renameEditorScenePrefabAsset<\n TDocument extends Pick<EditorSceneDocument, 'assets'>,\n>(\n document: TDocument,\n assetId: string,\n displayName: unknown,\n): EditorScenePrefabMutationResult<EditorSceneAsset> {\n const normalizedAssetId = readEditorSceneNonEmptyString(assetId);\n const prefabAsset = normalizedAssetId\n ? document.assets.find(asset => asset.id === normalizedAssetId && isEditorScenePrefabAsset(asset))\n : null;\n if (!prefabAsset) {\n return createEditorScenePrefabMutationResult({\n id: normalizedAssetId ?? String(assetId ?? ''),\n type: 'prefab',\n prefab: { sourceAssetId: '' },\n }, false, null, [{\n code: 'prefab.invalidDefinition',\n severity: 'error',\n message: `Prefab asset \"${assetId}\" was not found.`,\n assetId,\n }]);\n }\n const nameResult = normalizeEditorScenePrefabEditableName(displayName);\n if (!nameResult.ok) {\n return createEditorScenePrefabMutationResult(prefabAsset, false, null, [{\n code: 'prefab.invalidName',\n severity: 'error',\n message: nameResult.message,\n assetId: prefabAsset.id,\n }]);\n }\n const normalizedDisplayName = nameResult.name;\n const lowerName = normalizedDisplayName.toLowerCase();\n const conflict = document.assets.find(candidate => (\n candidate.id !== prefabAsset.id\n && isEditorScenePrefabAsset(candidate)\n && readEditorSceneNonEmptyString(candidate.displayName)?.toLowerCase() === lowerName\n ));\n if (conflict) {\n return createEditorScenePrefabMutationResult(prefabAsset, false, null, [{\n code: 'prefab.nameConflict',\n severity: 'error',\n message: `Prefab asset name \"${normalizedDisplayName}\" is already used by \"${conflict.id}\".`,\n assetId: prefabAsset.id,\n }]);\n }\n if (prefabAsset.displayName === normalizedDisplayName) {\n return createEditorScenePrefabMutationResult(prefabAsset, false);\n }\n const next = cloneEditorScenePrefabAssetWithComposition({\n ...structuredClone(prefabAsset),\n displayName: normalizedDisplayName,\n });\n const rootNodeId = readEditorScenePrefabRootNodeId(next);\n if (rootNodeId && Array.isArray(next.prefab?.nodes)) {\n const rootIndex = next.prefab.nodes.findIndex(node => node.id === rootNodeId);\n if (rootIndex >= 0) {\n next.prefab.nodes = [...next.prefab.nodes];\n next.prefab.nodes[rootIndex] = {\n ...structuredClone(next.prefab.nodes[rootIndex]!),\n name: normalizedDisplayName,\n };\n }\n }\n return createEditorScenePrefabMutationResult(next, true);\n}\n\nexport function renameEditorScenePrefabNode<TAsset extends EditorSceneAsset>(\n prefabAsset: TAsset,\n nodeId: string,\n name: unknown,\n): EditorScenePrefabMutationResult<TAsset> {\n const prepared = ensureEditorScenePrefabComposition(prefabAsset);\n if (!prepared.ok) return prepared;\n const normalizedNodeId = readEditorSceneNonEmptyString(nodeId);\n const node = normalizedNodeId ? findEditorScenePrefabNode(prepared.prefabAsset, normalizedNodeId) : null;\n if (!node) {\n return createEditorScenePrefabMutationResult(prepared.prefabAsset, false, null, [{\n code: 'prefab.nodeNotFound',\n severity: 'error',\n message: `Prefab node \"${nodeId}\" was not found.`,\n assetId: prefabAsset.id,\n nodeId,\n }]);\n }\n const rootNodeId = readEditorScenePrefabRootNodeId(prepared.prefabAsset);\n if (node.id === rootNodeId) {\n return createEditorScenePrefabMutationResult(prepared.prefabAsset, false, node, [{\n code: 'prefab.rootRenameRejected',\n severity: 'error',\n message: 'Prefab root node name follows the prefab asset displayName; use prefab.asset.rename instead.',\n assetId: prefabAsset.id,\n nodeId: node.id,\n }]);\n }\n const nameResult = normalizeEditorScenePrefabEditableName(name);\n if (!nameResult.ok) {\n return createEditorScenePrefabMutationResult(prepared.prefabAsset, false, node, [{\n code: 'prefab.invalidName',\n severity: 'error',\n message: nameResult.message,\n assetId: prefabAsset.id,\n nodeId: node.id,\n }]);\n }\n const normalizedName = nameResult.name;\n const siblings = readEditorScenePrefabNodeChildren(prepared.prefabAsset, node.parentId);\n const conflict = siblings.find(candidate => (\n candidate.id !== node.id\n && readEditorSceneNonEmptyString(candidate.name)?.toLowerCase() === normalizedName.toLowerCase()\n ));\n if (conflict) {\n return createEditorScenePrefabMutationResult(prepared.prefabAsset, false, node, [{\n code: 'prefab.nameConflict',\n severity: 'error',\n message: `Prefab node name \"${normalizedName}\" is already used by sibling \"${conflict.id}\".`,\n assetId: prefabAsset.id,\n nodeId: node.id,\n parentId: node.parentId,\n }]);\n }\n return updateEditorScenePrefabNode(prepared.prefabAsset, node.id, (candidate) => ({\n ...candidate,\n name: normalizedName,\n }));\n}\n\nexport function createEditorScenePrefabNodeFromAsset<TAsset extends EditorSceneAsset>(\n prefabAsset: TAsset,\n asset: EditorSceneAsset,\n options: {\n id?: string;\n guid?: string;\n name?: string;\n parentId?: string;\n transform?: EditorSceneTransformComponent;\n sourceNodePath?: string;\n } = {},\n): EditorScenePrefabMutationResult<TAsset> {\n const prepared = ensureEditorScenePrefabComposition(prefabAsset);\n if (!prepared.ok) return prepared;\n if (asset.id === prefabAsset.id) {\n return createEditorScenePrefabMutationResult(prepared.prefabAsset, false, null, [{\n code: 'prefab.selfReferenceRejected',\n severity: 'error',\n message: `Prefab \"${prefabAsset.id}\" cannot contain itself directly.`,\n assetId: asset.id,\n }]);\n }\n\n const parentResult = resolveEditorScenePrefabMutationParent(prepared.prefabAsset, options.parentId);\n if (!parentResult.ok) return createEditorScenePrefabMutationResult(prepared.prefabAsset, false, null, parentResult.diagnostics);\n\n const nodes = readEditorScenePrefabNodes(prepared.prefabAsset);\n const isChildPrefab = isEditorScenePrefabAsset(asset);\n const isModel = asset.type !== 'prefab' && (asset.type === 'glb' || asset.type === 'model' || asset.type === 'gltf');\n if (!isChildPrefab && !isModel) {\n return createEditorScenePrefabMutationResult(prepared.prefabAsset, false, null, [{\n code: 'prefab.assetUnsupported',\n severity: 'error',\n message: `Asset \"${asset.id}\" cannot be added to a prefab composition.`,\n assetId: asset.id,\n }]);\n }\n\n const node: EditorScenePrefabNode = {\n id: options.id ?? createUniqueEditorScenePrefabNodeId(nodes, `${isChildPrefab ? 'prefab' : 'model'}-${asset.id}`),\n ...(options.guid ? { guid: options.guid } : {}),\n name: options.name ?? asset.displayName ?? asset.id,\n parentId: parentResult.parentId,\n kind: isChildPrefab ? 'prefabInstance' : 'model',\n ...(options.transform ? { transform: structuredClone(options.transform) } : {}),\n ...(isChildPrefab ? { childPrefabId: asset.id } : { sourceAssetId: asset.id }),\n ...(readEditorSceneNonEmptyString(options.sourceNodePath) ? { sourceNodePath: readEditorSceneNonEmptyString(options.sourceNodePath)! } : {}),\n };\n return appendEditorScenePrefabNode(prepared.prefabAsset, node);\n}\n\nexport function createEditorScenePrefabPrimitiveNode<TAsset extends EditorSceneAsset>(\n prefabAsset: TAsset,\n options: {\n id?: string;\n guid?: string;\n name?: string;\n parentId?: string;\n shape: string;\n transform?: EditorSceneTransformComponent;\n },\n): EditorScenePrefabMutationResult<TAsset> {\n const prepared = ensureEditorScenePrefabComposition(prefabAsset);\n if (!prepared.ok) return prepared;\n const parentResult = resolveEditorScenePrefabMutationParent(prepared.prefabAsset, options.parentId);\n if (!parentResult.ok) return createEditorScenePrefabMutationResult(prepared.prefabAsset, false, null, parentResult.diagnostics);\n const shape = readEditorSceneNonEmptyString(options.shape);\n if (!shape) {\n return createEditorScenePrefabMutationResult(prepared.prefabAsset, false, null, [{\n code: 'prefab.assetUnsupported',\n severity: 'error',\n message: 'Prefab primitive shape must be a non-empty string.',\n assetId: prefabAsset.id,\n }]);\n }\n const nodes = readEditorScenePrefabNodes(prepared.prefabAsset);\n const node: EditorScenePrefabNode = {\n id: options.id ?? createUniqueEditorScenePrefabNodeId(nodes, `primitive-${shape}`),\n ...(options.guid ? { guid: options.guid } : {}),\n name: options.name ?? `${shape[0]!.toUpperCase()}${shape.slice(1)}`,\n parentId: parentResult.parentId,\n kind: 'primitive',\n primitive: { shape },\n ...(options.transform ? { transform: structuredClone(options.transform) } : {}),\n };\n return appendEditorScenePrefabNode(prepared.prefabAsset, node);\n}\n\nexport function createEditorScenePrefabGroupNode<TAsset extends EditorSceneAsset>(\n prefabAsset: TAsset,\n options: {\n id?: string;\n guid?: string;\n name?: string;\n parentId?: string;\n transform?: EditorSceneTransformComponent;\n } = {},\n): EditorScenePrefabMutationResult<TAsset> {\n const prepared = ensureEditorScenePrefabComposition(prefabAsset);\n if (!prepared.ok) return prepared;\n const parentResult = resolveEditorScenePrefabMutationParent(prepared.prefabAsset, options.parentId);\n if (!parentResult.ok) return createEditorScenePrefabMutationResult(prepared.prefabAsset, false, null, parentResult.diagnostics);\n const nodes = readEditorScenePrefabNodes(prepared.prefabAsset);\n const node: EditorScenePrefabNode = {\n id: options.id ?? createUniqueEditorScenePrefabNodeId(nodes, 'group'),\n ...(options.guid ? { guid: options.guid } : {}),\n name: options.name ?? 'Empty',\n parentId: parentResult.parentId,\n kind: 'group',\n ...(options.transform ? { transform: structuredClone(options.transform) } : {}),\n };\n return appendEditorScenePrefabNode(prepared.prefabAsset, node);\n}\n\nexport function setEditorScenePrefabNodeTransform<TAsset extends EditorSceneAsset>(\n prefabAsset: TAsset,\n nodeId: string,\n transform: EditorSceneTransformComponent,\n): EditorScenePrefabMutationResult<TAsset> {\n const prepared = ensureEditorScenePrefabComposition(prefabAsset);\n if (!prepared.ok) return prepared;\n if (!transform || transform.type !== 'Transform') {\n return createEditorScenePrefabMutationResult(prepared.prefabAsset, false, null, [{\n code: 'prefab.invalidTransform',\n severity: 'error',\n message: `Prefab node \"${nodeId}\" requires a Transform component payload.`,\n assetId: prefabAsset.id,\n nodeId,\n }]);\n }\n return updateEditorScenePrefabNode(prepared.prefabAsset, nodeId, (node) => ({\n ...node,\n transform: structuredClone(transform),\n }));\n}\n\nexport function setEditorScenePrefabNodeShadow<TAsset extends EditorSceneAsset>(\n prefabAsset: TAsset,\n nodeId: string,\n shadow: EditorShadowSettings | null | undefined,\n): EditorScenePrefabMutationResult<TAsset> {\n const prepared = ensureEditorScenePrefabComposition(prefabAsset);\n if (!prepared.ok) return prepared;\n return updateEditorScenePrefabNode(prepared.prefabAsset, nodeId, (node) => {\n const defaults = { ...(node.defaults ?? {}) };\n if (shadow && Object.keys(shadow).length > 0) defaults.shadow = structuredClone(shadow);\n else delete defaults.shadow;\n if (Object.keys(defaults).length > 0) return { ...node, defaults };\n const { defaults: _defaults, ...rest } = node;\n return rest;\n });\n}\n\nexport function reparentEditorScenePrefabNode<TAsset extends EditorSceneAsset>(\n prefabAsset: TAsset,\n nodeId: string,\n parentId: string,\n): EditorScenePrefabMutationResult<TAsset> {\n const prepared = ensureEditorScenePrefabComposition(prefabAsset);\n if (!prepared.ok) return prepared;\n const rootNodeId = readEditorScenePrefabRootNodeId(prepared.prefabAsset);\n if (nodeId === rootNodeId) {\n return createEditorScenePrefabMutationResult(prepared.prefabAsset, false, null, [{\n code: 'prefab.rootReparentRejected',\n severity: 'error',\n message: 'Prefab root node cannot be reparented.',\n assetId: prefabAsset.id,\n nodeId,\n }]);\n }\n const nodes = readEditorScenePrefabNodes(prepared.prefabAsset);\n if (!nodes.some(node => node.id === nodeId)) {\n return createEditorScenePrefabMutationResult(prepared.prefabAsset, false, null, [{\n code: 'prefab.nodeNotFound',\n severity: 'error',\n message: `Prefab node \"${nodeId}\" was not found.`,\n assetId: prefabAsset.id,\n nodeId,\n }]);\n }\n if (!nodes.some(node => node.id === parentId)) {\n return createEditorScenePrefabMutationResult(prepared.prefabAsset, false, null, [{\n code: 'prefab.parentNotFound',\n severity: 'error',\n message: `Prefab parent node \"${parentId}\" was not found.`,\n assetId: prefabAsset.id,\n nodeId,\n parentId,\n }]);\n }\n if (nodeId === parentId || isEditorScenePrefabNodeDescendant(nodes, parentId, nodeId)) {\n return createEditorScenePrefabMutationResult(prepared.prefabAsset, false, null, [{\n code: 'prefab.cycleReparentRejected',\n severity: 'error',\n message: `Prefab node \"${nodeId}\" cannot be parented under its own descendant \"${parentId}\".`,\n assetId: prefabAsset.id,\n nodeId,\n parentId,\n }]);\n }\n return updateEditorScenePrefabNode(prepared.prefabAsset, nodeId, (node) => ({\n ...node,\n parentId,\n }));\n}\n\nexport function deleteEditorScenePrefabNode<TAsset extends EditorSceneAsset>(\n prefabAsset: TAsset,\n nodeId: string,\n): EditorScenePrefabMutationResult<TAsset> {\n const prepared = ensureEditorScenePrefabComposition(prefabAsset);\n if (!prepared.ok) return prepared;\n const rootNodeId = readEditorScenePrefabRootNodeId(prepared.prefabAsset);\n if (nodeId === rootNodeId) {\n return createEditorScenePrefabMutationResult(prepared.prefabAsset, false, null, [{\n code: 'prefab.rootDeleteRejected',\n severity: 'error',\n message: 'Prefab root node cannot be deleted.',\n assetId: prefabAsset.id,\n nodeId,\n }]);\n }\n const nodes = readEditorScenePrefabNodes(prepared.prefabAsset);\n const target = nodes.find(node => node.id === nodeId);\n if (!target) {\n return createEditorScenePrefabMutationResult(prepared.prefabAsset, false, null, [{\n code: 'prefab.nodeNotFound',\n severity: 'error',\n message: `Prefab node \"${nodeId}\" was not found.`,\n assetId: prefabAsset.id,\n nodeId,\n }]);\n }\n const deleted = new Set<string>();\n collectEditorScenePrefabNodeSubtree(nodes, nodeId, deleted);\n const next = structuredClone(prepared.prefabAsset) as TAsset;\n next.prefab = structuredClone(next.prefab);\n next.prefab!.nodes = nodes.filter(node => !deleted.has(node.id));\n return createEditorScenePrefabMutationResult(next, true, target, [], {\n deletedNodeIds: [...deleted],\n });\n}\n\nfunction createEditorScenePrefabMutationResult<TAsset extends EditorSceneAsset>(\n prefabAsset: TAsset,\n changed: boolean,\n node: EditorScenePrefabNode | null = null,\n diagnostics: EditorScenePrefabMutationDiagnostic[] = [],\n extra: Partial<Pick<EditorScenePrefabMutationResult<TAsset>, 'selectedNodeId' | 'createdNodeId' | 'deletedNodeIds'>> = {},\n): EditorScenePrefabMutationResult<TAsset> {\n return {\n ok: diagnostics.every(diagnostic => diagnostic.severity !== 'error'),\n changed,\n prefabAsset,\n ...(extra.selectedNodeId ? { selectedNodeId: extra.selectedNodeId } : {}),\n ...(extra.createdNodeId ? { createdNodeId: extra.createdNodeId } : {}),\n ...(extra.deletedNodeIds ? { deletedNodeIds: [...extra.deletedNodeIds] } : {}),\n ...(node ? { node: structuredClone(node) } : {}),\n diagnostics: diagnostics.map(diagnostic => ({ ...diagnostic })),\n };\n}\n\nfunction cloneEditorScenePrefabAssetWithComposition<TAsset extends EditorSceneAsset>(prefabAsset: TAsset): TAsset {\n const next = structuredClone(prefabAsset) as TAsset;\n const nodes = readEditorScenePrefabNodes(prefabAsset);\n next.prefab = structuredClone(next.prefab);\n next.prefab!.compositionVersion = EDITOR_SCENE_PREFAB_COMPOSITION_VERSION;\n next.prefab!.nodes = nodes;\n const rootNodeId = readEditorScenePrefabRootNodeId({ ...prefabAsset, prefab: { ...prefabAsset.prefab!, nodes } });\n if (rootNodeId) next.prefab!.rootNodeId = rootNodeId;\n else delete next.prefab!.rootNodeId;\n return next;\n}\n\nfunction resolveEditorScenePrefabMutationParent<TAsset extends EditorSceneAsset>(\n prefabAsset: TAsset,\n parentId: string | null | undefined,\n): { ok: true; parentId: string } | { ok: false; diagnostics: EditorScenePrefabMutationDiagnostic[] } {\n const rootNodeId = readEditorScenePrefabRootNodeId(prefabAsset);\n const normalizedParentId = readEditorSceneNonEmptyString(parentId) ?? rootNodeId;\n if (!normalizedParentId || !findEditorScenePrefabNode(prefabAsset, normalizedParentId)) {\n return {\n ok: false,\n diagnostics: [{\n code: 'prefab.parentNotFound',\n severity: 'error',\n message: `Prefab parent node \"${normalizedParentId ?? parentId ?? 'root'}\" was not found.`,\n assetId: prefabAsset.id,\n ...(normalizedParentId ? { parentId: normalizedParentId } : {}),\n }],\n };\n }\n return { ok: true, parentId: normalizedParentId };\n}\n\nfunction appendEditorScenePrefabNode<TAsset extends EditorSceneAsset>(\n prefabAsset: TAsset,\n node: EditorScenePrefabNode,\n): EditorScenePrefabMutationResult<TAsset> {\n const next = structuredClone(prefabAsset) as TAsset;\n const nodes = readEditorScenePrefabNodes(prefabAsset);\n const nodeId = createUniqueEditorScenePrefabNodeId(nodes, node.id);\n const nextNode: EditorScenePrefabNode = {\n ...structuredClone(node),\n id: nodeId,\n };\n next.prefab = structuredClone(next.prefab);\n next.prefab!.compositionVersion = EDITOR_SCENE_PREFAB_COMPOSITION_VERSION;\n const rootNodeId = readEditorScenePrefabRootNodeId(prefabAsset);\n if (rootNodeId) next.prefab!.rootNodeId = rootNodeId;\n else delete next.prefab!.rootNodeId;\n next.prefab!.nodes = [...nodes, nextNode];\n return createEditorScenePrefabMutationResult(next, true, nextNode, [], {\n createdNodeId: nextNode.id,\n selectedNodeId: nextNode.id,\n });\n}\n\nfunction updateEditorScenePrefabNode<TAsset extends EditorSceneAsset>(\n prefabAsset: TAsset,\n nodeId: string,\n update: (node: EditorScenePrefabNode) => EditorScenePrefabNode,\n): EditorScenePrefabMutationResult<TAsset> {\n const nodes = readEditorScenePrefabNodes(prefabAsset);\n const index = nodes.findIndex(node => node.id === nodeId);\n if (index < 0) {\n return createEditorScenePrefabMutationResult(prefabAsset, false, null, [{\n code: 'prefab.nodeNotFound',\n severity: 'error',\n message: `Prefab node \"${nodeId}\" was not found.`,\n assetId: prefabAsset.id,\n nodeId,\n }]);\n }\n const updated = update(structuredClone(nodes[index]!));\n const nextNodes = [...nodes];\n nextNodes[index] = updated;\n const next = structuredClone(prefabAsset) as TAsset;\n next.prefab = structuredClone(next.prefab);\n next.prefab!.compositionVersion = EDITOR_SCENE_PREFAB_COMPOSITION_VERSION;\n const rootNodeId = readEditorScenePrefabRootNodeId(prefabAsset);\n if (rootNodeId) next.prefab!.rootNodeId = rootNodeId;\n else delete next.prefab!.rootNodeId;\n next.prefab!.nodes = nextNodes;\n return createEditorScenePrefabMutationResult(next, JSON.stringify(nodes[index]) !== JSON.stringify(updated), updated, [], {\n selectedNodeId: updated.id,\n });\n}\n\nfunction createUniqueEditorScenePrefabNodeId(nodes: readonly EditorScenePrefabNode[], preferredId: string): string {\n const used = new Set(nodes.map(node => node.id));\n const base = normalizeEditorScenePrefabIdentifierPart(preferredId) ?? 'prefab_node';\n if (!used.has(base)) return base;\n let suffix = 1;\n let candidate = `${base}_${suffix}`;\n while (used.has(candidate)) {\n suffix += 1;\n candidate = `${base}_${suffix}`;\n }\n return candidate;\n}\n\nfunction isEditorScenePrefabNodeDescendant(\n nodes: readonly EditorScenePrefabNode[],\n candidateNodeId: string,\n ancestorNodeId: string,\n): boolean {\n let current = nodes.find(node => node.id === candidateNodeId);\n const visited = new Set<string>();\n while (current?.parentId) {\n if (current.parentId === ancestorNodeId) return true;\n if (visited.has(current.parentId)) return false;\n visited.add(current.parentId);\n current = nodes.find(node => node.id === current?.parentId);\n }\n return false;\n}\n\nfunction collectEditorScenePrefabNodeSubtree(\n nodes: readonly EditorScenePrefabNode[],\n nodeId: string,\n output: Set<string>,\n): void {\n if (output.has(nodeId)) return;\n output.add(nodeId);\n for (const child of nodes.filter(node => node.parentId === nodeId)) {\n collectEditorScenePrefabNodeSubtree(nodes, child.id, output);\n }\n}\n\nexport function createEditorScenePrefabDefinitionFromAsset<\n TAsset extends Pick<EditorSceneAsset, 'id' | 'guid' | 'displayName'>,\n>(\n sourceAsset: TAsset,\n options: {\n id?: string;\n guid?: string;\n displayName?: string;\n category?: string;\n defaults?: EditorScenePrefabDefaults;\n metadata?: Record<string, unknown>;\n } = {},\n): EditorSceneAsset<unknown> {\n return {\n id: options.id ?? `${sourceAsset.id}-prefab`,\n ...(options.guid ? { guid: options.guid } : {}),\n type: 'prefab',\n displayName: options.displayName ?? createEditorScenePrefabDisplayName(sourceAsset),\n category: options.category ?? 'Prefab',\n prefab: {\n sourceAssetId: sourceAsset.id,\n ...(sourceAsset.guid ? { sourceAssetGuid: sourceAsset.guid } : {}),\n ...(options.defaults ? { defaults: { ...options.defaults } } : {}),\n compositionVersion: EDITOR_SCENE_PREFAB_COMPOSITION_VERSION,\n rootNodeId: EDITOR_SCENE_PREFAB_DEFAULT_ROOT_NODE_ID,\n nodes: [\n {\n id: EDITOR_SCENE_PREFAB_DEFAULT_ROOT_NODE_ID,\n name: options.displayName ?? createEditorScenePrefabDisplayName(sourceAsset),\n kind: 'root',\n ...(options.defaults ? { defaults: { ...options.defaults } } : {}),\n },\n {\n id: EDITOR_SCENE_PREFAB_DEFAULT_MODEL_NODE_ID,\n name: sourceAsset.displayName ?? sourceAsset.id,\n parentId: EDITOR_SCENE_PREFAB_DEFAULT_ROOT_NODE_ID,\n kind: 'model',\n sourceAssetId: sourceAsset.id,\n },\n ],\n },\n ...(options.metadata ? { metadata: { ...options.metadata } } : {}),\n };\n}\n\nfunction readEditorScenePrefabExplicitNodes(\n prefab: Pick<EditorScenePrefabDefinition, 'nodes'>,\n): EditorScenePrefabNode[] {\n if (!Array.isArray(prefab.nodes)) return [];\n const nodes: EditorScenePrefabNode[] = [];\n for (const rawNode of prefab.nodes) {\n const node = readEditorScenePrefabNode(rawNode);\n if (node && !nodes.some(existing => existing.id === node.id)) nodes.push(node);\n }\n return structuredClone(nodes);\n}\n\nfunction readEditorScenePrefabNode(value: unknown): EditorScenePrefabNode | null {\n if (!value || typeof value !== 'object' || Array.isArray(value)) return null;\n const record = value as Partial<EditorScenePrefabNode>;\n const id = readEditorSceneNonEmptyString(record.id);\n if (!id || !isEditorScenePrefabNodeKind(record.kind)) return null;\n return {\n id,\n ...(readEditorSceneNonEmptyString(record.guid) ? { guid: readEditorSceneNonEmptyString(record.guid)! } : {}),\n ...(readEditorSceneNonEmptyString(record.name) ? { name: readEditorSceneNonEmptyString(record.name)! } : {}),\n ...(readEditorSceneNonEmptyString(record.parentId) ? { parentId: readEditorSceneNonEmptyString(record.parentId)! } : {}),\n kind: record.kind,\n ...(record.transform ? { transform: structuredClone(record.transform) } : {}),\n ...(readEditorSceneNonEmptyString(record.sourceAssetId) ? { sourceAssetId: readEditorSceneNonEmptyString(record.sourceAssetId)! } : {}),\n ...(readEditorSceneNonEmptyString(record.sourceNodePath) ? { sourceNodePath: readEditorSceneNonEmptyString(record.sourceNodePath)! } : {}),\n ...(readEditorSceneNonEmptyString(record.childPrefabId) ? { childPrefabId: readEditorSceneNonEmptyString(record.childPrefabId)! } : {}),\n ...(record.primitive ? { primitive: structuredClone(record.primitive) } : {}),\n ...(record.light ? { light: structuredClone(record.light) } : {}),\n ...(record.defaults ? { defaults: structuredClone(record.defaults) } : {}),\n ...(record.overrides ? { overrides: structuredClone(record.overrides) } : {}),\n ...(record.metadata ? { metadata: structuredClone(record.metadata) } : {}),\n };\n}\n\nfunction isEditorScenePrefabNodeKind(value: unknown): value is EditorScenePrefabNode['kind'] {\n return value === 'root'\n || value === 'group'\n || value === 'model'\n || value === 'primitive'\n || value === 'light'\n || value === 'prefabInstance'\n || value === 'collision';\n}\n\nexport function createEditorScenePrefabInstanceGameObject(input: {\n id: string;\n guid?: string;\n name?: string;\n parentId?: string;\n prefabAsset: Pick<EditorSceneAsset, 'id' | 'guid' | 'displayName' | 'prefab'>;\n transform: EditorSceneTransformComponent;\n active?: boolean;\n shadow?: EditorScenePrefabDefaults['shadow'];\n metadata?: Record<string, unknown>;\n overrides?: unknown;\n}): EditorSceneGameObject {\n const sourceAssetId = resolveEditorScenePrefabSourceAssetId(input.prefabAsset);\n if (!sourceAssetId) {\n throw new Error(`Prefab asset \"${input.prefabAsset.id}\" does not define a source asset.`);\n }\n\n const defaults = input.prefabAsset.prefab?.defaults;\n return {\n id: input.id,\n ...(input.guid ? { guid: input.guid } : {}),\n name: input.name ?? input.prefabAsset.displayName ?? input.prefabAsset.id,\n kind: 'instance',\n ...(input.parentId ? { parentId: input.parentId } : {}),\n active: input.active ?? defaults?.active ?? true,\n ...(input.shadow ?? defaults?.shadow ? { shadow: structuredClone(input.shadow ?? defaults?.shadow) } : {}),\n prefab: {\n prefabId: input.prefabAsset.id,\n ...(input.prefabAsset.guid ? { prefabGuid: input.prefabAsset.guid } : {}),\n sourceAssetId,\n },\n ...(input.metadata ? { metadata: { ...input.metadata } } : {}),\n ...(input.overrides !== undefined ? { overrides: input.overrides } : {}),\n components: [\n input.transform,\n {\n type: 'ModelRenderer',\n assetId: sourceAssetId,\n },\n ],\n };\n}\n\nexport function createEditorScenePrefabDefinitionFromGameObject<\n TDocument extends EditorSceneDocument,\n>(\n document: TDocument,\n gameObjectId: string,\n options: {\n id?: string;\n guid?: string;\n createGuid?: () => string;\n displayName?: string;\n category?: string;\n defaults?: EditorScenePrefabDefaults;\n metadata?: Record<string, unknown>;\n } = {},\n): EditorSceneAsset<unknown> | null {\n const gameObject = findEditorSceneGameObject(document, gameObjectId);\n if (!gameObject) return null;\n const modelRenderer = findEditorSceneModelRenderer(gameObject);\n const sourceAssetId = readEditorSceneNonEmptyString(modelRenderer?.assetId);\n if (!sourceAssetId) return null;\n const sourceAsset = document.assets.find(asset => asset.id === sourceAssetId);\n if (!sourceAsset || isEditorScenePrefabAsset(sourceAsset)) return null;\n\n const displayName = options.displayName\n ?? createEditorScenePrefabDisplayName({ id: gameObject.id, displayName: gameObject.name ?? sourceAsset.displayName });\n return createEditorScenePrefabDefinitionFromAsset(sourceAsset, {\n id: options.id ?? createUniqueEditorScenePrefabAssetId(document, `${gameObject.id}-prefab`),\n guid: options.guid ?? options.createGuid?.() ?? createEditorScenePrefabGuid(),\n displayName,\n category: options.category,\n defaults: options.defaults,\n metadata: options.metadata,\n });\n}\n\nexport function createEditorSceneDuplicatedPrefabDefinition<\n TDocument extends EditorSceneDocument,\n>(\n document: TDocument,\n prefabAssetId: string,\n options: {\n id?: string;\n guid?: string;\n createGuid?: () => string;\n displayName?: string;\n category?: string;\n metadata?: Record<string, unknown>;\n } = {},\n): EditorSceneAsset<unknown> | null {\n const source = document.assets.find(asset => asset.id === prefabAssetId);\n if (!source || !isEditorScenePrefabAsset(source)) return null;\n const sourcePrefab = structuredClone(source.prefab);\n const displayName = options.displayName\n ?? createUniqueEditorScenePrefabDisplayName(\n document.assets.map(asset => asset.displayName ?? asset.id),\n `${source.displayName ?? source.id} Copy`,\n );\n return {\n ...structuredClone(source),\n id: options.id ?? createUniqueEditorScenePrefabAssetId(document, `${source.id}_copy`),\n guid: options.guid ?? options.createGuid?.() ?? createEditorScenePrefabGuid(),\n displayName,\n category: options.category ?? source.category,\n prefab: {\n ...sourcePrefab,\n ...(sourcePrefab.defaults ? { defaults: { ...sourcePrefab.defaults } } : {}),\n },\n ...(options.metadata ? { metadata: { ...options.metadata } } : {}),\n };\n}\n\nexport function readEditorScenePrefabOverrideMaterialPath(path: string): string | null {\n if (!path.startsWith(EDITOR_SCENE_PREFAB_OVERRIDE_FIELD_PATH_PREFIX)) return null;\n const materialPath = path.slice(EDITOR_SCENE_PREFAB_OVERRIDE_FIELD_PATH_PREFIX.length);\n return isEditorSceneArtistMaterialPatchPath(materialPath) ? materialPath : null;\n}\n\nexport function isEditorScenePrefabOverridePath(path: string): boolean {\n return readEditorScenePrefabOverrideMaterialPath(path) != null;\n}\n\nexport function isEditorScenePrefabCoreMaterialOverridePath(path: string): boolean {\n const materialPath = readEditorScenePrefabOverrideMaterialPath(path);\n if (!materialPath) return false;\n if (materialPath.endsWith('.materialAssetId')) return true;\n const profilePath = readEditorScenePrefabOverrideProfileFieldPath(path);\n return profilePath != null && EDITOR_SCENE_PREFAB_CORE_MATERIAL_OVERRIDE_PROFILE_FIELD_PATHS.has(profilePath);\n}\n\nexport function isEditorScenePrefabMaterialAssetIdOverridePath(path: string): boolean {\n return path.startsWith(EDITOR_SCENE_PREFAB_OVERRIDE_FIELD_PATH_PREFIX)\n && path.endsWith('.materialAssetId')\n && isEditorScenePrefabCoreMaterialOverridePath(path);\n}\n\nexport function readEditorScenePrefabMaterialOverrideBinding<\n TBinding extends EditorSceneMaterialBinding = EditorSceneMaterialBinding,\n>(\n prefabAsset: Pick<EditorSceneAsset, 'prefab'>,\n target: { slotId?: string; ownerNodePath?: string },\n): TBinding | undefined {\n if (target.slotId) {\n return readEditorSceneMaterialBindingConfig<TBinding>(prefabAsset.prefab?.overrides?.materialSlotBindings?.[target.slotId]);\n }\n return undefined;\n}\n\nexport function readEditorScenePrefabOverrideProfileFieldPath(path: string): string | null {\n const materialPath = readEditorScenePrefabOverrideMaterialPath(path);\n if (!materialPath) return null;\n const marker = '.override.';\n const markerIndex = materialPath.lastIndexOf(marker);\n if (markerIndex < 0) return null;\n const profilePath = materialPath.slice(markerIndex + marker.length);\n return profilePath ? `profile.${profilePath}` : null;\n}\n\nexport function patchEditorScenePrefabOverride<\n TAsset extends EditorSceneAsset = EditorSceneAsset,\n>(\n prefabAsset: TAsset,\n path: string,\n value: unknown,\n): TAsset {\n const materialPath = readEditorScenePrefabOverrideMaterialPath(path);\n if (!materialPath || !isEditorScenePrefabAsset(prefabAsset)) return prefabAsset;\n const segments = splitEditorScenePrefabOverrideFieldPath(materialPath);\n if (!segments) return prefabAsset;\n\n const next = structuredClone(prefabAsset) as TAsset;\n next.prefab = structuredClone(next.prefab ?? prefabAsset.prefab);\n applyEditorScenePrefabOverrideJsonPatch(next.prefab as unknown as Record<string, unknown>, segments, value);\n const prunedOverrides = pruneEditorScenePrefabOverrides(next.prefab?.overrides);\n if (prunedOverrides) {\n next.prefab!.overrides = prunedOverrides;\n } else {\n delete next.prefab!.overrides;\n }\n return JSON.stringify(next) === JSON.stringify(prefabAsset) ? prefabAsset : next;\n}\n\nexport function mergeEditorSceneMaterialBindingOverrides<TOverride = unknown>(\n base: EditorSceneMaterialBinding<TOverride> | null | undefined,\n override: EditorSceneMaterialBinding<TOverride> | null | undefined,\n): EditorSceneMaterialBinding<TOverride> | undefined {\n const baseMaterialAssetId = readEditorSceneNonEmptyString(base?.materialAssetId);\n const overrideMaterialAssetId = readEditorSceneNonEmptyString(override?.materialAssetId);\n const profile = mergeArtistMaterialProfiles(\n base?.override as ArtistMaterialProfile | null | undefined,\n override?.override as ArtistMaterialProfile | null | undefined,\n ) as TOverride;\n return pruneEditorSceneMaterialBinding({\n ...(overrideMaterialAssetId ?? baseMaterialAssetId\n ? { materialAssetId: overrideMaterialAssetId ?? baseMaterialAssetId }\n : {}),\n ...(hasEditorSceneObjectFields(profile) ? { override: profile } : {}),\n });\n}\n\nexport function mergeEditorScenePrefabOverrides<TOverride = unknown>(\n base: EditorScenePrefabOverrides<TOverride> | null | undefined,\n override: EditorScenePrefabOverrides<TOverride> | null | undefined,\n): EditorScenePrefabOverrides<TOverride> | undefined {\n const next: EditorScenePrefabOverrides<TOverride> = {};\n const materialBinding = mergeEditorSceneMaterialBindingOverrides(base?.materialBinding, override?.materialBinding);\n if (materialBinding) next.materialBinding = materialBinding;\n\n const materialSlotBindings = mergeEditorSceneMaterialBindingRecords(\n base?.materialSlotBindings,\n override?.materialSlotBindings,\n );\n if (materialSlotBindings) next.materialSlotBindings = materialSlotBindings;\n\n return hasEditorSceneObjectFields(next) ? next : undefined;\n}\n\nexport function resolveEditorScenePrefabInstanceEffectiveOverrides<\n TDocument extends EditorSceneDocument,\n>(\n document: TDocument,\n gameObjectId: string,\n): EditorScenePrefabOverrides | undefined {\n const relation = resolveEditorScenePrefabInstanceRelation(document, gameObjectId);\n if (!relation.gameObject || !relation.prefab) return undefined;\n return mergeEditorScenePrefabOverrides(\n relation.definition?.prefab?.overrides,\n readEditorScenePrefabOverrides(relation.gameObject.overrides),\n );\n}\n\nexport function createEditorScenePrefabAgentSummary<\n TDocument extends EditorSceneDocument,\n>(\n document: TDocument,\n gameObjectId: string,\n): EditorScenePrefabAgentSummary | null {\n const relation = resolveEditorScenePrefabInstanceRelation(document, gameObjectId);\n if (!relation.gameObject || !relation.prefab) return null;\n const errorCount = relation.diagnostics.filter(diagnostic => diagnostic.severity === 'error').length;\n const warningCount = relation.diagnostics.filter(diagnostic => diagnostic.severity === 'warning').length;\n const sourceAssetId = resolveEditorScenePrefabSourceAssetId(relation.definition)\n ?? readEditorSceneNonEmptyString(relation.prefab.sourceAssetId)\n ?? undefined;\n const effectiveOverrides = resolveEditorScenePrefabInstanceEffectiveOverrides(document, gameObjectId);\n const summary: EditorScenePrefabAgentSummary = {\n kind: 'prefab-instance',\n status: errorCount > 0 ? 'error' : warningCount > 0 ? 'warning' : 'ok',\n prefabId: relation.prefab.prefabId,\n ...(relation.prefab.prefabGuid ? { prefabGuid: relation.prefab.prefabGuid } : {}),\n ...(readEditorSceneNonEmptyString(relation.definition?.displayName)\n ? { prefabDisplayName: readEditorSceneNonEmptyString(relation.definition?.displayName)! }\n : {}),\n ...(sourceAssetId ? { sourceAssetId } : {}),\n ...(readEditorSceneNonEmptyString(relation.sourceAsset?.guid) ? { sourceAssetGuid: readEditorSceneNonEmptyString(relation.sourceAsset?.guid)! } : {}),\n ...(readEditorSceneNonEmptyString(relation.sourceAsset?.displayName)\n ? { sourceAssetDisplayName: readEditorSceneNonEmptyString(relation.sourceAsset?.displayName)! }\n : {}),\n ...(readEditorSceneNonEmptyString(relation.prefab.sourceAssetId) ? { instanceSourceAssetId: readEditorSceneNonEmptyString(relation.prefab.sourceAssetId)! } : {}),\n diagnostics: relation.diagnostics.map(diagnostic => ({ ...diagnostic })),\n materialTargets: createEditorScenePrefabAgentMaterialTargets(relation.sourceAsset),\n ...(effectiveOverrides ? { effectiveOverrides } : {}),\n };\n return summary;\n}\n\nexport function resolveEditorScenePrefabInstanceRelation<\n TDocument extends EditorSceneDocument,\n>(\n document: TDocument,\n gameObjectId: string,\n): EditorScenePrefabInstanceRelation<TDocument['scene']['gameObjects'][number], TDocument['assets'][number]> {\n const gameObject = findEditorSceneGameObject(document, gameObjectId) as TDocument['scene']['gameObjects'][number] | null;\n const diagnostics: EditorScenePrefabRelationDiagnostic[] = [];\n const prefab = isEditorScenePrefabInstance(gameObject) ? gameObject.prefab : null;\n if (!gameObject || !prefab) {\n diagnostics.push({\n code: 'not-prefab-instance',\n severity: 'info',\n message: gameObject\n ? `GameObject \"${gameObject.id}\" is not a prefab instance.`\n : `GameObject \"${gameObjectId}\" was not found.`,\n });\n return {\n gameObject,\n prefab: null,\n definition: null,\n sourceAsset: null,\n diagnostics,\n };\n }\n\n const definition = document.assets.find(asset => asset.id === prefab.prefabId && isEditorScenePrefabAsset(asset)) as (\n TDocument['assets'][number] | undefined\n );\n if (!definition) {\n diagnostics.push({\n code: 'missing-prefab-definition',\n severity: 'error',\n message: `Prefab definition \"${prefab.prefabId}\" was not found.`,\n prefabId: prefab.prefabId,\n });\n }\n\n const expectedSourceAssetId = resolveEditorScenePrefabSourceAssetId(definition) ?? readEditorSceneNonEmptyString(prefab.sourceAssetId);\n if (definition && prefab.sourceAssetId && expectedSourceAssetId && prefab.sourceAssetId !== expectedSourceAssetId) {\n diagnostics.push({\n code: 'source-asset-mismatch',\n severity: 'warning',\n message: `Prefab instance source \"${prefab.sourceAssetId}\" does not match definition source \"${expectedSourceAssetId}\".`,\n prefabId: prefab.prefabId,\n expectedSourceAssetId,\n actualSourceAssetId: prefab.sourceAssetId,\n });\n }\n\n const sourceAsset = expectedSourceAssetId\n ? document.assets.find(asset => asset.id === expectedSourceAssetId) as (TDocument['assets'][number] | undefined)\n : undefined;\n if (expectedSourceAssetId && !sourceAsset) {\n diagnostics.push({\n code: 'missing-source-asset',\n severity: 'error',\n message: `Prefab source asset \"${expectedSourceAssetId}\" was not found.`,\n prefabId: prefab.prefabId,\n sourceAssetId: expectedSourceAssetId,\n });\n }\n\n if (expectedSourceAssetId) {\n const sourcePrefabIds = document.assets\n .filter(asset => isEditorScenePrefabAsset(asset) && resolveEditorScenePrefabSourceAssetId(asset) === expectedSourceAssetId)\n .map(asset => asset.id);\n if (sourcePrefabIds.length > 1) {\n diagnostics.push({\n code: 'duplicate-source-prefab',\n severity: 'info',\n message: `Source asset \"${expectedSourceAssetId}\" is referenced by ${sourcePrefabIds.length} prefab definitions.`,\n prefabId: prefab.prefabId,\n sourceAssetId: expectedSourceAssetId,\n });\n }\n }\n\n return {\n gameObject,\n prefab,\n definition: definition ?? null,\n sourceAsset: sourceAsset ?? null,\n diagnostics,\n };\n}\n\nfunction createEditorScenePrefabAgentMaterialTargets(\n sourceAsset: EditorSceneAsset | null,\n): EditorScenePrefabAgentMaterialTarget[] {\n const rawSlots = Array.isArray(sourceAsset?.metadata?.materialSlots) ? sourceAsset.metadata.materialSlots : [];\n const targets: EditorScenePrefabAgentMaterialTarget[] = [];\n for (const [index, rawSlot] of rawSlots.entries()) {\n const slot = readEditorScenePrefabAgentMaterialSlot(rawSlot);\n if (!slot) continue;\n const bindingPath = `prefab.overrides.materialSlotBindings.${slot.slotId}`;\n targets.push({\n kind: 'material-slot',\n label: slot.label ?? slot.materialName ?? slot.ownerNodePath ?? `Material Slot ${index + 1}`,\n bindingPath,\n materialAssetIdPath: `${bindingPath}.materialAssetId`,\n overridePath: `${bindingPath}.override`,\n slotId: slot.slotId,\n ownerNodePath: slot.ownerNodePath,\n ...(slot.sourceMaterialIndex != null ? { sourceMaterialIndex: slot.sourceMaterialIndex } : {}),\n ...(slot.materialName ? { sourceMaterialName: slot.materialName } : {}),\n });\n }\n return targets;\n}\n\nfunction readEditorScenePrefabAgentMaterialSlot(value: unknown): {\n slotId: string;\n ownerNodePath: string;\n label?: string;\n materialName?: string;\n sourceMaterialIndex?: number;\n} | null {\n if (!value || typeof value !== 'object' || Array.isArray(value)) return null;\n const record = value as Record<string, unknown>;\n const ownerNodePath = normalizeEditorSceneMaterialSlotOwnerPath(\n readEditorSceneNonEmptyString(record.ownerNodePath) ?? '',\n );\n const slotId = readEditorSceneNonEmptyString(record.slotId);\n if (!slotId || !ownerNodePath) return null;\n const label = readEditorSceneNonEmptyString(record.label) ?? undefined;\n const materialName = readEditorSceneNonEmptyString(record.materialName) ?? undefined;\n const sourceMaterialIndex = Number.isInteger(record.sourceMaterialIndex) ? record.sourceMaterialIndex as number : undefined;\n return {\n slotId,\n ownerNodePath,\n ...(label ? { label } : {}),\n ...(materialName ? { materialName } : {}),\n ...(sourceMaterialIndex != null ? { sourceMaterialIndex } : {}),\n };\n}\n\nexport function readEditorSceneNodeKind(gameObject: EditorSceneGameObject): EditorSceneNodeKind {\n if (\n gameObject.kind === 'group'\n || gameObject.kind === 'instance'\n || gameObject.kind === 'transform'\n || gameObject.kind === 'primitive'\n ) {\n return gameObject.kind;\n }\n if (isEditorScenePrefabInstance(gameObject)) return 'instance';\n if (gameObject.primitive) return 'primitive';\n if (findEditorSceneModelRenderer(gameObject)) return 'instance';\n if (gameObject.transformType) return 'transform';\n return 'group';\n}\n\nexport function resolveEditorSceneGameObjectRendering(\n gameObject: Pick<EditorSceneGameObject, 'rendering'>,\n): EditorSceneResolvedGameObjectRendering | undefined {\n const rendering = gameObject.rendering && typeof gameObject.rendering === 'object' && !Array.isArray(gameObject.rendering)\n ? gameObject.rendering\n : undefined;\n const renderingGroupId = readEditorSceneGameObjectRenderingGroupId(rendering?.renderingGroupId);\n const alphaIndex = readEditorSceneFiniteNumber(rendering?.alphaIndex);\n const resolved: EditorSceneResolvedGameObjectRendering = {};\n if (renderingGroupId != null) resolved.renderingGroupId = renderingGroupId;\n if (alphaIndex != null) resolved.alphaIndex = alphaIndex;\n return Object.keys(resolved).length > 0 ? resolved : undefined;\n}\n\nexport function readEditorSceneGameObjectRenderingGroupId(\n value: unknown,\n): EditorSceneGameObjectRenderingGroupId | null {\n return value === 0 || value === 1 || value === 2 || value === 3 ? value : null;\n}\n\nexport function readEditorSceneGameObjectAlphaIndex(value: unknown): number | null {\n return readEditorSceneFiniteNumber(value);\n}\n\nfunction isEditorSceneTransformComponent(\n component: EditorSceneComponent,\n): component is EditorSceneTransformComponent {\n return component.type === 'Transform';\n}\n\nfunction isEditorSceneModelRendererComponent(\n component: EditorSceneComponent,\n): component is EditorSceneModelRendererComponent {\n return component.type === 'ModelRenderer';\n}\n\nfunction readEditorSceneFiniteNumber(value: unknown): number | null {\n return typeof value === 'number' && Number.isFinite(value) ? value : null;\n}\n\nfunction readEditorSceneNonEmptyString(value: unknown): string | null {\n return typeof value === 'string' && value.trim().length > 0 ? value.trim() : null;\n}\n\nfunction normalizeEditorScenePrefabEditableName(value: unknown): { ok: true; name: string } | { ok: false; message: string } {\n if (typeof value !== 'string') return { ok: false, message: 'Prefab name must be a string.' };\n const name = value.trim();\n if (!name) return { ok: false, message: 'Prefab name cannot be empty.' };\n if (name.length > 80) return { ok: false, message: 'Prefab name cannot be longer than 80 characters.' };\n if (/[\\u0000-\\u001f\\u007f/\\\\]/u.test(name)) {\n return { ok: false, message: 'Prefab name cannot contain control characters, /, or \\\\.' };\n }\n return { ok: true, name };\n}\n\nfunction findEditorSceneGameObject(\n document: EditorSceneDocument,\n gameObjectId: string,\n): EditorSceneGameObject | null {\n return document.scene.gameObjects.find(gameObject => gameObject.id === gameObjectId) ?? null;\n}\n\nfunction createEditorScenePrefabDisplayName(sourceAsset: Pick<EditorSceneAsset, 'id' | 'displayName'>): string {\n const displayName = readEditorSceneNonEmptyString(sourceAsset.displayName)\n ?? readEditorSceneNonEmptyString(sourceAsset.id)\n ?? 'Prefab';\n return `${displayName} Prefab`;\n}\n\nexport function createEditorScenePrefabGuid(): string {\n const randomId = globalThis.crypto?.randomUUID?.() ?? `${Date.now().toString(36)}-${Math.random().toString(36).slice(2)}`;\n return `prefab_${randomId}`;\n}\n\nexport function createUniqueEditorScenePrefabAssetId(\n document: EditorSceneDocument,\n preferredId: string,\n): string {\n const used = new Set(document.assets.map(asset => asset.id));\n const base = normalizeEditorScenePrefabIdentifierPart(preferredId) ?? 'prefab';\n if (!used.has(base)) return base;\n let suffix = 1;\n let candidate = `${base}_${suffix}`;\n while (used.has(candidate)) {\n suffix += 1;\n candidate = `${base}_${suffix}`;\n }\n return candidate;\n}\n\nfunction createUniqueEditorScenePrefabDisplayName(\n existingNames: readonly unknown[],\n preferredName: string,\n): string {\n const used = new Set(\n existingNames\n .map(name => readEditorSceneNonEmptyString(name))\n .filter((name): name is string => !!name),\n );\n if (!used.has(preferredName)) return preferredName;\n let suffix = 1;\n let candidate = `${preferredName} ${suffix}`;\n while (used.has(candidate)) {\n suffix += 1;\n candidate = `${preferredName} ${suffix}`;\n }\n return candidate;\n}\n\nexport function normalizeEditorScenePrefabIdentifierPart(value: unknown): string | null {\n const raw = readEditorSceneNonEmptyString(value);\n if (!raw) return null;\n const normalized = raw\n .replace(/\\s+/g, '_')\n .replace(/[^a-zA-Z0-9_:-]/g, '_')\n .replace(/_+/g, '_')\n .replace(/^_+|_+$/g, '');\n return normalized || null;\n}\n\nfunction splitEditorScenePrefabOverrideFieldPath(path: string): string[] | null {\n if (path === 'overrides.materialBinding.materialAssetId') {\n return ['overrides', 'materialBinding', 'materialAssetId'];\n }\n const rootOverridePrefix = 'overrides.materialBinding.override.';\n if (path.startsWith(rootOverridePrefix)) {\n const profilePath = path.slice(rootOverridePrefix.length);\n return splitEditorScenePrefabProfilePath(['overrides', 'materialBinding', 'override'], profilePath);\n }\n\n const slotMaterialAssetId = readEditorSceneMaterialSlotBindingSlotId(path, 'materialAssetId');\n if (slotMaterialAssetId) {\n return ['overrides', 'materialSlotBindings', slotMaterialAssetId, 'materialAssetId'];\n }\n const slotOverrideId = readEditorSceneMaterialSlotBindingSlotId(path, 'override');\n if (slotOverrideId) {\n const profilePath = readEditorSceneBindingOverrideProfilePath(path);\n return profilePath\n ? splitEditorScenePrefabProfilePath(['overrides', 'materialSlotBindings', slotOverrideId, 'override'], profilePath)\n : null;\n }\n\n return null;\n}\n\nfunction readEditorSceneBindingOverrideProfilePath(path: string): string | null {\n const marker = '.override.';\n const markerIndex = path.lastIndexOf(marker);\n if (markerIndex < 0) return null;\n const profilePath = path.slice(markerIndex + marker.length);\n return profilePath ? profilePath : null;\n}\n\nfunction splitEditorScenePrefabProfilePath(prefix: string[], profilePath: string): string[] | null {\n const profileSegments = profilePath.split('.').filter(Boolean);\n if (profileSegments.length === 0 || profileSegments.some(isUnsafeEditorScenePrefabOverridePathSegment)) return null;\n return [...prefix, ...profileSegments];\n}\n\nfunction applyEditorScenePrefabOverrideJsonPatch(\n target: Record<string, unknown>,\n segments: string[],\n value: unknown,\n): void {\n if (segments.some(isUnsafeEditorScenePrefabOverridePathSegment)) return;\n let cursor = target;\n for (const segment of segments.slice(0, -1)) {\n const current = cursor[segment];\n if (!current || typeof current !== 'object' || Array.isArray(current)) {\n cursor[segment] = {};\n }\n cursor = cursor[segment] as Record<string, unknown>;\n }\n const leaf = segments[segments.length - 1];\n if (!leaf) return;\n if (value == null) delete cursor[leaf];\n else cursor[leaf] = structuredClone(value);\n}\n\nfunction pruneEditorScenePrefabOverrides<TOverride = unknown>(\n overrides: unknown,\n): EditorScenePrefabOverrides<TOverride> | undefined {\n if (!overrides || typeof overrides !== 'object' || Array.isArray(overrides)) return undefined;\n const source = overrides as EditorScenePrefabOverrides<TOverride>;\n const next: EditorScenePrefabOverrides<TOverride> = {};\n\n const materialBinding = pruneEditorSceneMaterialBinding<TOverride>(source.materialBinding);\n if (materialBinding) next.materialBinding = materialBinding;\n\n const materialSlotBindings = pruneEditorSceneMaterialBindingRecord<TOverride>(source.materialSlotBindings);\n if (materialSlotBindings) next.materialSlotBindings = materialSlotBindings;\n\n return hasEditorSceneObjectFields(next) ? next : undefined;\n}\n\nfunction pruneEditorSceneMaterialBinding<TOverride = unknown>(\n binding: unknown,\n): EditorSceneMaterialBinding<TOverride> | undefined {\n if (!binding || typeof binding !== 'object' || Array.isArray(binding)) return undefined;\n const source = binding as EditorSceneMaterialBinding<TOverride>;\n const materialAssetId = readEditorSceneNonEmptyString(source.materialAssetId);\n const profile = mergeArtistMaterialProfiles(source.override as ArtistMaterialProfile | null | undefined) as TOverride;\n const next: EditorSceneMaterialBinding<TOverride> = {\n ...(materialAssetId ? { materialAssetId } : {}),\n ...(hasEditorSceneObjectFields(profile) ? { override: profile } : {}),\n };\n return hasEditorSceneObjectFields(next) ? next : undefined;\n}\n\nfunction pruneEditorSceneMaterialBindingRecord<TOverride = unknown>(\n record: unknown,\n): Record<string, EditorSceneMaterialBinding<TOverride>> | undefined {\n if (!record || typeof record !== 'object' || Array.isArray(record)) return undefined;\n const next: Record<string, EditorSceneMaterialBinding<TOverride>> = {};\n for (const [key, binding] of Object.entries(record)) {\n const normalizedKey = readEditorSceneNonEmptyString(key);\n if (!normalizedKey) continue;\n const prunedBinding = pruneEditorSceneMaterialBinding<TOverride>(binding);\n if (prunedBinding) next[normalizedKey] = prunedBinding;\n }\n return hasEditorSceneObjectFields(next) ? next : undefined;\n}\n\nfunction mergeEditorSceneMaterialBindingRecords<TOverride = unknown>(\n base: Record<string, EditorSceneMaterialBinding<TOverride> | undefined> | null | undefined,\n override: Record<string, EditorSceneMaterialBinding<TOverride> | undefined> | null | undefined,\n): Record<string, EditorSceneMaterialBinding<TOverride>> | undefined {\n const keys = new Set([\n ...Object.keys(base ?? {}),\n ...Object.keys(override ?? {}),\n ]);\n const next: Record<string, EditorSceneMaterialBinding<TOverride>> = {};\n for (const key of keys) {\n const binding = mergeEditorSceneMaterialBindingOverrides(base?.[key], override?.[key]);\n if (binding) next[key] = binding;\n }\n return hasEditorSceneObjectFields(next) ? next : undefined;\n}\n\nfunction readEditorScenePrefabOverrides(value: unknown): EditorScenePrefabOverrides | undefined {\n return pruneEditorScenePrefabOverrides(value);\n}\n\nfunction hasEditorSceneObjectFields(value: unknown): boolean {\n return !!value && typeof value === 'object' && !Array.isArray(value) && Object.keys(value).length > 0;\n}\n\nfunction isUnsafeEditorScenePrefabOverridePathSegment(segment: string): boolean {\n return segment === '__proto__' || segment === 'prototype' || segment === 'constructor';\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/document/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/document/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC","sourcesContent":["export * from './types';\nexport * from './helpers';\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/document/types.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/document/types.ts"],"names":[],"mappings":"","sourcesContent":["import type { AuthoringSourceRef, EditorTransformMatrix } from '@fps-games/editor-core';\nimport type { EditorSceneMaterialBinding } from '../material-binding/types';\nimport type { EditorShadowSettings } from '@fps-games/playable-rendering';\nimport type {\n SpatialMarkerJsonObject,\n SpatialMarkerLocalFrame,\n SpatialMarkerNodeKind,\n SpatialMarkerTargetRef,\n} from '@fps-games/editor-protocol';\n\nexport interface EditorSceneVec3 {\n x: number;\n y: number;\n z: number;\n}\n\nexport interface EditorSceneColorRgb {\n r: number;\n g: number;\n b: number;\n}\n\nexport type EditorSceneNodeKind =\n | 'group'\n | 'instance'\n | 'transform'\n | 'primitive'\n | (string & {});\n\nexport interface EditorScenePrefabDefaults {\n active?: boolean;\n shadow?: EditorShadowSettings;\n}\n\nexport interface EditorScenePrefabOverrides<TOverride = unknown> {\n materialBinding?: EditorSceneMaterialBinding<TOverride>;\n materialSlotBindings?: Record<string, EditorSceneMaterialBinding<TOverride> | undefined>;\n}\n\nexport type EditorScenePrefabNodeKind =\n | 'root'\n | 'group'\n | 'model'\n | 'primitive'\n | 'light'\n | 'prefabInstance'\n | 'collision';\n\nexport interface EditorScenePrefabNode {\n id: string;\n guid?: string;\n name?: string;\n parentId?: string;\n kind: EditorScenePrefabNodeKind;\n transform?: EditorSceneTransformComponent;\n sourceAssetId?: string;\n sourceNodePath?: string;\n childPrefabId?: string;\n primitive?: EditorScenePrimitiveRenderer;\n light?: EditorSceneLight;\n defaults?: EditorScenePrefabDefaults;\n overrides?: EditorScenePrefabOverrides;\n metadata?: Record<string, unknown>;\n}\n\nexport interface EditorSceneGameObjectRendering {\n renderingGroupId?: number;\n alphaIndex?: number;\n}\n\nexport type EditorSceneGameObjectRenderingGroupId = 0 | 1 | 2 | 3;\n\nexport interface EditorSceneResolvedGameObjectRendering {\n renderingGroupId?: EditorSceneGameObjectRenderingGroupId;\n alphaIndex?: number;\n}\n\nexport type EditorSceneAssetType =\n | 'glb'\n | 'prefab'\n | 'texture'\n | (string & {});\n\nexport type EditorSceneAssetKind =\n | 'model'\n | 'prefab'\n | 'texture'\n | (string & {});\n\nexport type EditorSceneAssetOrigin =\n | 'project'\n | (string & {});\n\nexport interface EditorSceneAsset<\n TDefaults = unknown,\n TExternal = unknown,\n TMaterialMode extends string = string,\n> {\n id: string;\n guid?: string;\n type: EditorSceneAssetType;\n displayName?: string;\n category?: string;\n warmupCount?: number;\n singleton?: boolean;\n materialMode?: TMaterialMode;\n defaults?: TDefaults;\n prefab?: EditorScenePrefabDefinition;\n external?: TExternal;\n metadata?: Record<string, unknown>;\n [key: string]: unknown;\n}\n\nexport interface EditorScenePrefabDefinition {\n sourceAssetId: string;\n sourceAssetGuid?: string;\n defaults?: EditorScenePrefabDefaults;\n overrides?: EditorScenePrefabOverrides;\n compositionVersion?: number;\n rootNodeId?: string;\n nodes?: EditorScenePrefabNode[];\n}\n\nexport type EditorScenePrefabMutationDiagnosticCode =\n | 'schema.unsupportedVersion'\n | 'prefab.invalidDefinition'\n | 'prefab.invalidName'\n | 'prefab.nameConflict'\n | 'prefab.nodeNotFound'\n | 'prefab.parentNotFound'\n | 'prefab.rootDeleteRejected'\n | 'prefab.rootRenameRejected'\n | 'prefab.rootReparentRejected'\n | 'prefab.cycleReparentRejected'\n | 'prefab.selfReferenceRejected'\n | 'prefab.assetUnsupported'\n | 'prefab.invalidTransform';\n\nexport interface EditorScenePrefabMutationDiagnostic {\n code: EditorScenePrefabMutationDiagnosticCode;\n severity: 'info' | 'warning' | 'error';\n message: string;\n assetId?: string;\n nodeId?: string;\n parentId?: string;\n}\n\nexport interface EditorScenePrefabMutationResult<TAsset extends EditorSceneAsset = EditorSceneAsset> {\n ok: boolean;\n changed: boolean;\n prefabAsset: TAsset;\n selectedNodeId?: string;\n createdNodeId?: string;\n deletedNodeIds?: string[];\n node?: EditorScenePrefabNode;\n diagnostics: EditorScenePrefabMutationDiagnostic[];\n}\n\nexport interface EditorSceneAssetLibraryItem<\n TDefaults = unknown,\n TExternal = unknown,\n TMaterialMode extends string = string,\n> {\n id: string;\n guid?: string;\n assetId: string;\n type: EditorSceneAssetType;\n kind: EditorSceneAssetKind;\n displayName: string;\n category?: string;\n warmupCount?: number;\n singleton?: boolean;\n materialMode?: TMaterialMode;\n defaults?: TDefaults;\n prefab?: EditorScenePrefabDefinition;\n external?: TExternal;\n metadata?: Record<string, unknown>;\n origin: EditorSceneAssetOrigin;\n dedupeKey: string;\n placeable: boolean;\n [key: string]: unknown;\n}\n\nexport interface EditorSceneTransformTrsComponent {\n type: 'Transform';\n mode?: 'trs';\n position: EditorSceneVec3;\n rotation: EditorSceneVec3;\n scale?: EditorSceneVec3;\n}\n\nexport interface EditorSceneTransformMatrixComponent {\n type: 'Transform';\n mode: 'matrix';\n matrix: EditorTransformMatrix;\n}\n\nexport type EditorSceneTransformComponent =\n | EditorSceneTransformTrsComponent\n | EditorSceneTransformMatrixComponent;\n\nexport interface EditorSceneModelRendererComponent {\n type: 'ModelRenderer';\n assetId: string;\n}\n\nexport interface EditorSceneUnknownComponent {\n type: string;\n [key: string]: unknown;\n}\n\nexport type EditorSceneComponent =\n | EditorSceneTransformComponent\n | EditorSceneModelRendererComponent\n | EditorSceneUnknownComponent;\n\nexport interface EditorScenePrimitiveRenderer<TShape extends string = string> {\n shape: TShape;\n}\n\nexport interface EditorSceneMarkerBoxGeometry {\n kind: 'box';\n}\n\nexport interface EditorSceneMarkerPointGeometry {\n kind: 'point';\n coordinateSpace?: 'world' | 'local';\n position?: EditorSceneVec3;\n offset?: EditorSceneVec3;\n target?: SpatialMarkerTargetRef;\n}\n\nexport interface EditorSceneMarkerObjectBoundsGeometry {\n kind: 'object-bounds';\n target: SpatialMarkerTargetRef;\n}\n\nexport interface EditorSceneMarkerPolyhedronGeometry {\n kind: 'polyhedron';\n coordinateSpace?: 'world';\n vertices: EditorSceneVec3[];\n faces?: number[][];\n}\n\nexport type EditorSceneMarkerGeometry =\n | EditorSceneMarkerBoxGeometry\n | EditorSceneMarkerPointGeometry\n | EditorSceneMarkerObjectBoundsGeometry\n | EditorSceneMarkerPolyhedronGeometry;\n\nexport interface EditorSceneMarkerConfig {\n schemaVersion: 1;\n type: string;\n kind?: SpatialMarkerNodeKind | string;\n tags?: string[];\n note?: string;\n color?: EditorSceneColorRgb;\n target?: SpatialMarkerTargetRef;\n semanticFrame?: SpatialMarkerLocalFrame;\n geometry: EditorSceneMarkerGeometry;\n metadata?: SpatialMarkerJsonObject;\n}\n\nexport type EditorSceneCameraInspectorLanguage = 'zh' | 'en';\n\nexport interface EditorSceneCameraRig {\n inspectorLanguage?: EditorSceneCameraInspectorLanguage;\n [key: string]: unknown;\n}\n\nexport type EditorSceneLightType = 'directional' | 'hemispheric';\n\nexport interface EditorSceneDirectionalLight {\n type: 'directional';\n intensity: number;\n direction: EditorSceneVec3;\n diffuseColor?: EditorSceneColorRgb;\n}\n\nexport interface EditorSceneHemisphericLight {\n type: 'hemispheric';\n intensity: number;\n diffuseColor?: EditorSceneColorRgb;\n groundColor?: EditorSceneColorRgb;\n}\n\nexport type EditorSceneLight =\n | EditorSceneDirectionalLight\n | EditorSceneHemisphericLight;\n\nexport interface EditorSceneGameObject<\n TPrimitiveShape extends string = string,\n> {\n id: string;\n guid?: string;\n name?: string;\n kind?: EditorSceneNodeKind;\n parentId?: string;\n active?: boolean;\n transformType?: string;\n shadow?: EditorShadowSettings;\n rendering?: EditorSceneGameObjectRendering;\n camera?: EditorSceneCameraRig;\n light?: EditorSceneLight;\n primitive?: EditorScenePrimitiveRenderer<TPrimitiveShape>;\n prefab?: EditorScenePrefabInstance;\n marker?: EditorSceneMarkerConfig;\n overrides?: unknown;\n metadata?: Record<string, unknown>;\n components: EditorSceneComponent[];\n}\n\nexport interface EditorScenePrefabInstance {\n prefabId: string;\n prefabGuid?: string;\n sourceAssetId?: string;\n}\n\nexport type EditorScenePrefabRelationDiagnosticCode =\n | 'not-prefab-instance'\n | 'missing-prefab-definition'\n | 'missing-source-asset'\n | 'source-asset-mismatch'\n | 'duplicate-source-prefab';\n\nexport interface EditorScenePrefabRelationDiagnostic {\n code: EditorScenePrefabRelationDiagnosticCode;\n severity: 'info' | 'warning' | 'error';\n message: string;\n prefabId?: string;\n sourceAssetId?: string;\n expectedSourceAssetId?: string;\n actualSourceAssetId?: string;\n}\n\nexport interface EditorScenePrefabInstanceRelation<\n TGameObject extends EditorSceneGameObject = EditorSceneGameObject,\n TAsset extends EditorSceneAsset = EditorSceneAsset,\n> {\n gameObject: TGameObject | null;\n prefab: EditorScenePrefabInstance | null;\n definition: TAsset | null;\n sourceAsset: TAsset | null;\n diagnostics: EditorScenePrefabRelationDiagnostic[];\n}\n\nexport interface EditorScenePrefabAgentMaterialTarget {\n kind: 'material-slot' | 'owner-node-path';\n label: string;\n bindingPath: string;\n materialAssetIdPath: string;\n overridePath: string;\n slotId?: string;\n ownerNodePath?: string;\n sourceMaterialIndex?: number;\n sourceMaterialName?: string;\n}\n\nexport interface EditorScenePrefabAgentSummary {\n kind: 'prefab-instance';\n status: 'ok' | 'warning' | 'error';\n prefabId: string;\n prefabGuid?: string;\n prefabDisplayName?: string;\n sourceAssetId?: string;\n sourceAssetGuid?: string;\n sourceAssetDisplayName?: string;\n instanceSourceAssetId?: string;\n diagnostics: EditorScenePrefabRelationDiagnostic[];\n materialTargets: EditorScenePrefabAgentMaterialTarget[];\n effectiveOverrides?: EditorScenePrefabOverrides;\n}\n\nexport interface EditorSceneDocumentMeta {\n name?: string;\n authoringSource?: AuthoringSourceRef;\n [key: string]: unknown;\n}\n\nexport interface EditorSceneDocument<\n TGameObject extends EditorSceneGameObject = EditorSceneGameObject,\n TAsset extends EditorSceneAsset = EditorSceneAsset,\n> {\n schemaVersion: 1;\n meta?: EditorSceneDocumentMeta;\n assets: TAsset[];\n scene: {\n gameObjects: TGameObject[];\n [key: string]: unknown;\n };\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/field-schema/index.ts"],"names":[],"mappings":"AAaA,OAAO,EACL,6BAA6B,EAC7B,kBAAkB,EAClB,yBAAyB,EACzB,sBAAsB,EACtB,oCAAoC,EACpC,4BAA4B,EAC5B,mCAAmC,EACnC,2BAA2B,EAC3B,iCAAiC,EACjC,yBAAyB,EACzB,kBAAkB,EAClB,2BAA2B,EAC3B,4BAA4B,EAC5B,6BAA6B,EAC7B,0BAA0B,EAC1B,8BAA8B,EAC9B,wBAAwB,EACxB,0BAA0B,EAC1B,4BAA4B,EAC5B,iBAAiB,EACjB,iBAAiB,GAClB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,yBAAyB,GAC1B,MAAM,UAAU,CAAC;AAClB,OAAO,EACL,6BAA6B,GAC9B,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/field-schema/index.ts"],"names":[],"mappings":"AAaA,OAAO,EACL,6BAA6B,EAC7B,kBAAkB,EAClB,yBAAyB,EACzB,sBAAsB,EACtB,oCAAoC,EACpC,4BAA4B,EAC5B,mCAAmC,EACnC,2BAA2B,EAC3B,iCAAiC,EACjC,yBAAyB,EACzB,kBAAkB,EAClB,2BAA2B,EAC3B,4BAA4B,EAC5B,6BAA6B,EAC7B,0BAA0B,EAC1B,8BAA8B,EAC9B,wBAAwB,EACxB,0BAA0B,EAC1B,4BAA4B,EAC5B,iBAAiB,EACjB,iBAAiB,GAClB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,yBAAyB,GAC1B,MAAM,UAAU,CAAC;AAClB,OAAO,EACL,6BAA6B,GAC9B,MAAM,YAAY,CAAC","sourcesContent":["export type {\n EditorSceneColorRgb,\n EditorSceneNodeKind,\n EditorSceneVec3,\n} from '../document/index';\nexport type {\n EditorSceneFieldPatch,\n EditorSceneFieldSchemaEntry,\n EditorScenePositiveSize,\n EditorSceneScale,\n EditorSceneTransformLike,\n EditorSceneVec2,\n} from '@fps-games/editor-core';\nexport {\n isEditorSceneCameraProjection,\n isEditorSceneColor,\n isEditorSceneFiniteNumber,\n isEditorSceneLightType,\n isEditorSceneNonNegativeFiniteNumber,\n isEditorSceneOptionalBoolean,\n isEditorSceneOptionalNonEmptyString,\n isEditorSceneOptionalString,\n isEditorScenePositiveFiniteNumber,\n isEditorScenePositiveSize,\n isEditorSceneScale,\n isEditorSceneShadowCastMode,\n isEditorSceneShadowLightMode,\n isEditorSceneShadowPolicyMode,\n isEditorSceneShadowQuality,\n isEditorSceneShadowReceiveMode,\n isEditorSceneStringArray,\n isEditorSceneTransformLike,\n isEditorSceneUnitRangeNumber,\n isEditorSceneVec2,\n isEditorSceneVec3,\n} from '@fps-games/editor-core';\nexport {\n EDITOR_SCENE_FIELD_SCHEMA,\n} from './schema';\nexport {\n resolveEditorSceneFieldSchema,\n} from './resolver';\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"resolver.js","sourceRoot":"","sources":["../../src/field-schema/resolver.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,yBAAyB,GAC1B,MAAM,UAAU,CAAC;AAElB,MAAM,UAAU,6BAA6B,CAC3C,IAAY,EACZ,QAAgB;IAEhB,MAAM,KAAK,GAAG,yBAAyB,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC;IACnF,IAAI,CAAC,KAAK,IAAI,CAAE,KAAK,CAAC,SAAmC,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAAE,OAAO,IAAI,CAAC;IAC1F,OAAO,KAAK,CAAC;AACf,CAAC"}
1
+ {"version":3,"file":"resolver.js","sourceRoot":"","sources":["../../src/field-schema/resolver.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,yBAAyB,GAC1B,MAAM,UAAU,CAAC;AAElB,MAAM,UAAU,6BAA6B,CAC3C,IAAY,EACZ,QAAgB;IAEhB,MAAM,KAAK,GAAG,yBAAyB,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC;IACnF,IAAI,CAAC,KAAK,IAAI,CAAE,KAAK,CAAC,SAAmC,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAAE,OAAO,IAAI,CAAC;IAC1F,OAAO,KAAK,CAAC;AACf,CAAC","sourcesContent":["import type {\n EditorSceneFieldSchemaEntry,\n} from '@fps-games/editor-core';\nimport {\n EDITOR_SCENE_FIELD_SCHEMA,\n} from './schema';\n\nexport function resolveEditorSceneFieldSchema(\n path: string,\n nodeKind: string,\n): EditorSceneFieldSchemaEntry | null {\n const entry = EDITOR_SCENE_FIELD_SCHEMA.find((item) => item.path === path) ?? null;\n if (!entry || !(entry.appliesTo as ReadonlyArray<string>).includes(nodeKind)) return null;\n return entry;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/field-schema/schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/field-schema/schema.ts"],"names":[],"mappings":"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","sourcesContent":["import type {\n EditorSceneFieldSchemaEntry,\n} from '@fps-games/editor-core';\nimport {\n EDITOR_SCENE_FIELD_SCHEMA as EDITOR_CORE_SCENE_FIELD_SCHEMA,\n isEditorSceneColor,\n isEditorSceneFiniteNumber,\n isEditorSceneOptionalNonEmptyString,\n} from '@fps-games/editor-core';\n\nconst VISUAL_NODE_KIND = ['instance', 'transform', 'primitive'] as const;\n\nfunction playableMaterialColorPath(path: string): EditorSceneFieldSchemaEntry {\n return { path, appliesTo: VISUAL_NODE_KIND, validate: (value) => value == null || isEditorSceneColor(value) };\n}\n\nfunction playableMaterialNumberPath(path: string): EditorSceneFieldSchemaEntry {\n return { path, appliesTo: VISUAL_NODE_KIND, validate: (value) => value == null || isEditorSceneFiniteNumber(value) };\n}\n\nfunction playableMaterialBooleanPath(path: string): EditorSceneFieldSchemaEntry {\n return { path, appliesTo: VISUAL_NODE_KIND, validate: (value) => value == null || typeof value === 'boolean' };\n}\n\nfunction playableMaterialTextureUrlPath(path: string): EditorSceneFieldSchemaEntry {\n return { path, appliesTo: VISUAL_NODE_KIND, validate: isEditorSceneOptionalNonEmptyString };\n}\n\nfunction playableMaterialAlphaModePath(path: string): EditorSceneFieldSchemaEntry {\n return {\n path,\n appliesTo: VISUAL_NODE_KIND,\n validate: (value) => value == null || value === 'opaque' || value === 'mask' || value === 'blend',\n };\n}\n\nfunction playableMaterialLightingModelPath(path: string): EditorSceneFieldSchemaEntry {\n return {\n path,\n appliesTo: VISUAL_NODE_KIND,\n validate: (value) => value == null || value === 'lit' || value === 'unlit',\n };\n}\n\nconst PLAYABLE_EDITOR_SCENE_FIELD_SCHEMA: ReadonlyArray<EditorSceneFieldSchemaEntry> = [\n { path: 'transformType', appliesTo: ['transform'], validate: (value) => value == null || typeof value === 'string' },\n { path: 'rendering.renderingGroupId', appliesTo: VISUAL_NODE_KIND, validate: (value) => value == null || value === 0 || value === 1 || value === 2 || value === 3 },\n { path: 'rendering.alphaIndex', appliesTo: VISUAL_NODE_KIND, validate: (value) => value == null || isEditorSceneFiniteNumber(value) },\n { path: 'metadata.shadowInspectorLanguage', appliesTo: VISUAL_NODE_KIND, validate: (value) => value == null || value === 'zh' || value === 'en' },\n playableMaterialColorPath('overrides.material.albedoColor'),\n playableMaterialColorPath('overrides.material.diffuseColor'),\n playableMaterialColorPath('overrides.material.emissiveColor'),\n playableMaterialNumberPath('overrides.material.metallic'),\n playableMaterialNumberPath('overrides.material.roughness'),\n playableMaterialNumberPath('overrides.material.contrast'),\n playableMaterialNumberPath('overrides.material.brightness'),\n playableMaterialNumberPath('overrides.material.saturation'),\n playableMaterialNumberPath('overrides.material.hue'),\n playableMaterialNumberPath('overrides.material.colorDensity'),\n playableMaterialNumberPath('overrides.material.alpha'),\n playableMaterialNumberPath('overrides.material.alphaCutOff'),\n playableMaterialNumberPath('overrides.material.transparencyMode'),\n playableMaterialBooleanPath('overrides.material.backFaceCulling'),\n playableMaterialTextureUrlPath('overrides.material.albedoTexture.url'),\n playableMaterialTextureUrlPath('overrides.material.normalTexture.url'),\n playableMaterialNumberPath('overrides.material.normalTexture.level'),\n playableMaterialTextureUrlPath('overrides.material.metallicTexture.url'),\n playableMaterialTextureUrlPath('overrides.material.occlusionTexture.url'),\n playableMaterialTextureUrlPath('overrides.material.emissiveTexture.url'),\n playableMaterialTextureUrlPath('overrides.material.opacityTexture.url'),\n playableMaterialColorPath('overrides.material.pbr.albedoColor'),\n playableMaterialNumberPath('overrides.material.pbr.baseWeight'),\n playableMaterialColorPath('overrides.material.pbr.reflectivityColor'),\n playableMaterialNumberPath('overrides.material.pbr.microSurface'),\n playableMaterialColorPath('overrides.material.pbr.emissiveColor'),\n playableMaterialColorPath('overrides.material.pbr.ambientColor'),\n playableMaterialNumberPath('overrides.material.pbr.lightFalloff'),\n playableMaterialNumberPath('overrides.material.pbr.directIntensity'),\n playableMaterialNumberPath('overrides.material.pbr.emissiveIntensity'),\n playableMaterialNumberPath('overrides.material.pbr.environmentIntensity'),\n playableMaterialNumberPath('overrides.material.pbr.specularIntensity'),\n playableMaterialNumberPath('overrides.material.pbr.metallicF0Factor'),\n playableMaterialNumberPath('overrides.material.pbr.indexOfRefraction'),\n playableMaterialColorPath('overrides.material.standard.diffuseColor'),\n playableMaterialColorPath('overrides.material.standard.specularColor'),\n playableMaterialNumberPath('overrides.material.standard.specularPower'),\n playableMaterialColorPath('overrides.material.standard.emissiveColor'),\n playableMaterialColorPath('overrides.material.standard.ambientColor'),\n playableMaterialBooleanPath('overrides.material.standard.useSpecularOverAlpha'),\n { path: 'overrides.materialBinding.materialAssetId', appliesTo: VISUAL_NODE_KIND, validate: isEditorSceneOptionalNonEmptyString },\n playableMaterialLightingModelPath('overrides.materialBinding.override.lightingModel'),\n playableMaterialColorPath('overrides.materialBinding.override.baseColor.color'),\n { path: 'overrides.materialBinding.override.baseColor.color.r', appliesTo: VISUAL_NODE_KIND, validate: (value) => value == null || isEditorSceneFiniteNumber(value), allowDelete: false },\n { path: 'overrides.materialBinding.override.baseColor.color.g', appliesTo: VISUAL_NODE_KIND, validate: (value) => value == null || isEditorSceneFiniteNumber(value), allowDelete: false },\n { path: 'overrides.materialBinding.override.baseColor.color.b', appliesTo: VISUAL_NODE_KIND, validate: (value) => value == null || isEditorSceneFiniteNumber(value), allowDelete: false },\n playableMaterialTextureUrlPath('overrides.materialBinding.override.baseColor.texture.url'),\n playableMaterialTextureUrlPath('overrides.materialBinding.override.baseColor.texture.textureAssetId'),\n playableMaterialNumberPath('overrides.materialBinding.override.baseColor.brightness'),\n playableMaterialNumberPath('overrides.materialBinding.override.baseColor.saturation'),\n playableMaterialNumberPath('overrides.materialBinding.override.baseColor.contrast'),\n playableMaterialNumberPath('overrides.materialBinding.override.baseColor.hue'),\n playableMaterialTextureUrlPath('overrides.materialBinding.override.normal.texture.url'),\n playableMaterialTextureUrlPath('overrides.materialBinding.override.normal.texture.textureAssetId'),\n playableMaterialNumberPath('overrides.materialBinding.override.normal.strength'),\n playableMaterialNumberPath('overrides.materialBinding.override.metallic'),\n playableMaterialNumberPath('overrides.materialBinding.override.roughness'),\n playableMaterialTextureUrlPath('overrides.materialBinding.override.metallicRoughness.texture.url'),\n playableMaterialTextureUrlPath('overrides.materialBinding.override.metallicRoughness.texture.textureAssetId'),\n playableMaterialTextureUrlPath('overrides.materialBinding.override.occlusion.texture.url'),\n playableMaterialTextureUrlPath('overrides.materialBinding.override.occlusion.texture.textureAssetId'),\n playableMaterialNumberPath('overrides.materialBinding.override.occlusion.strength'),\n playableMaterialColorPath('overrides.materialBinding.override.emission.color'),\n { path: 'overrides.materialBinding.override.emission.color.r', appliesTo: VISUAL_NODE_KIND, validate: (value) => value == null || isEditorSceneFiniteNumber(value), allowDelete: false },\n { path: 'overrides.materialBinding.override.emission.color.g', appliesTo: VISUAL_NODE_KIND, validate: (value) => value == null || isEditorSceneFiniteNumber(value), allowDelete: false },\n { path: 'overrides.materialBinding.override.emission.color.b', appliesTo: VISUAL_NODE_KIND, validate: (value) => value == null || isEditorSceneFiniteNumber(value), allowDelete: false },\n playableMaterialNumberPath('overrides.materialBinding.override.emission.intensity'),\n playableMaterialTextureUrlPath('overrides.materialBinding.override.emission.texture.url'),\n playableMaterialTextureUrlPath('overrides.materialBinding.override.emission.texture.textureAssetId'),\n playableMaterialTextureUrlPath('overrides.materialBinding.override.emission.maskTexture.url'),\n playableMaterialTextureUrlPath('overrides.materialBinding.override.emission.maskTexture.textureAssetId'),\n playableMaterialAlphaModePath('overrides.materialBinding.override.alpha.mode'),\n playableMaterialNumberPath('overrides.materialBinding.override.alpha.opacity'),\n playableMaterialNumberPath('overrides.materialBinding.override.alpha.cutoff'),\n playableMaterialTextureUrlPath('overrides.materialBinding.override.alpha.texture.url'),\n playableMaterialTextureUrlPath('overrides.materialBinding.override.alpha.texture.textureAssetId'),\n { path: 'overrides.outline', appliesTo: VISUAL_NODE_KIND, validate: (value) => value == null || isPlayableEditorSceneOutlineOverride(value) },\n { path: 'overrides.outline.strategy', appliesTo: VISUAL_NODE_KIND, validate: (value) => value == null || value === 'babylon-default' },\n { path: 'overrides.outline.renderOutline', appliesTo: VISUAL_NODE_KIND, validate: (value) => value == null || typeof value === 'boolean' },\n playableMaterialNumberPath('overrides.outline.outlineWidth'),\n { path: 'overrides.outline.outlineColor', appliesTo: VISUAL_NODE_KIND, validate: (value) => value == null || isEditorSceneColor(value) },\n { path: 'overrides.outline.outlineColor.r', appliesTo: VISUAL_NODE_KIND, validate: (value) => value == null || isEditorSceneFiniteNumber(value), allowDelete: false },\n { path: 'overrides.outline.outlineColor.g', appliesTo: VISUAL_NODE_KIND, validate: (value) => value == null || isEditorSceneFiniteNumber(value), allowDelete: false },\n { path: 'overrides.outline.outlineColor.b', appliesTo: VISUAL_NODE_KIND, validate: (value) => value == null || isEditorSceneFiniteNumber(value), allowDelete: false },\n];\n\nexport const EDITOR_SCENE_FIELD_SCHEMA: ReadonlyArray<EditorSceneFieldSchemaEntry> = [\n ...EDITOR_CORE_SCENE_FIELD_SCHEMA,\n ...PLAYABLE_EDITOR_SCENE_FIELD_SCHEMA,\n];\n\nfunction isPlayableEditorSceneOutlineOverride(value: unknown): boolean {\n if (!value || typeof value !== 'object' || Array.isArray(value)) return false;\n const outline = value as {\n strategy?: unknown;\n renderOutline?: unknown;\n outlineWidth?: unknown;\n outlineColor?: unknown;\n };\n return (outline.strategy == null || outline.strategy === 'babylon-default')\n && (outline.renderOutline == null || typeof outline.renderOutline === 'boolean')\n && (outline.outlineWidth == null || isEditorSceneFiniteNumber(outline.outlineWidth))\n && (outline.outlineColor == null || isEditorSceneColor(outline.outlineColor));\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/field-schema/types.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/field-schema/types.ts"],"names":[],"mappings":"","sourcesContent":["export type {\n EditorSceneColorRgb,\n EditorSceneNodeKind,\n EditorSceneVec3,\n} from '../document/index';\nexport type {\n EditorSceneFieldPatch,\n EditorSceneFieldSchemaEntry,\n EditorScenePositiveSize,\n EditorSceneScale,\n EditorSceneTransformLike,\n EditorSceneVec2,\n} from '@fps-games/editor-core';\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"validators.js","sourceRoot":"","sources":["../../src/field-schema/validators.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,6BAA6B,EAC7B,kBAAkB,EAClB,yBAAyB,EACzB,sBAAsB,EACtB,oCAAoC,EACpC,4BAA4B,EAC5B,mCAAmC,EACnC,2BAA2B,EAC3B,iCAAiC,EACjC,yBAAyB,EACzB,kBAAkB,EAClB,2BAA2B,EAC3B,4BAA4B,EAC5B,6BAA6B,EAC7B,0BAA0B,EAC1B,8BAA8B,EAC9B,wBAAwB,EACxB,0BAA0B,EAC1B,4BAA4B,EAC5B,iBAAiB,EACjB,iBAAiB,GAClB,MAAM,wBAAwB,CAAC"}
1
+ {"version":3,"file":"validators.js","sourceRoot":"","sources":["../../src/field-schema/validators.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,6BAA6B,EAC7B,kBAAkB,EAClB,yBAAyB,EACzB,sBAAsB,EACtB,oCAAoC,EACpC,4BAA4B,EAC5B,mCAAmC,EACnC,2BAA2B,EAC3B,iCAAiC,EACjC,yBAAyB,EACzB,kBAAkB,EAClB,2BAA2B,EAC3B,4BAA4B,EAC5B,6BAA6B,EAC7B,0BAA0B,EAC1B,8BAA8B,EAC9B,wBAAwB,EACxB,0BAA0B,EAC1B,4BAA4B,EAC5B,iBAAiB,EACjB,iBAAiB,GAClB,MAAM,wBAAwB,CAAC","sourcesContent":["export {\n isEditorSceneCameraProjection,\n isEditorSceneColor,\n isEditorSceneFiniteNumber,\n isEditorSceneLightType,\n isEditorSceneNonNegativeFiniteNumber,\n isEditorSceneOptionalBoolean,\n isEditorSceneOptionalNonEmptyString,\n isEditorSceneOptionalString,\n isEditorScenePositiveFiniteNumber,\n isEditorScenePositiveSize,\n isEditorSceneScale,\n isEditorSceneShadowCastMode,\n isEditorSceneShadowLightMode,\n isEditorSceneShadowPolicyMode,\n isEditorSceneShadowQuality,\n isEditorSceneShadowReceiveMode,\n isEditorSceneStringArray,\n isEditorSceneTransformLike,\n isEditorSceneUnitRangeNumber,\n isEditorSceneVec2,\n isEditorSceneVec3,\n} from '@fps-games/editor-core';\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC;AACxC,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC;AACvC,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,sBAAsB,CAAC;AACrC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,0BAA0B,CAAC;AACzC,OAAO,EAAE,+BAA+B,EAAE,MAAM,eAAe,CAAC;AAChE,sEAAsE;AACtE,uDAAuD;AACvD,cAAc,+BAA+B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC;AACxC,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC;AACvC,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,sBAAsB,CAAC;AACrC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,0BAA0B,CAAC;AACzC,OAAO,EAAE,+BAA+B,EAAE,MAAM,eAAe,CAAC;AAChE,sEAAsE;AACtE,uDAAuD;AACvD,cAAc,+BAA+B,CAAC","sourcesContent":["export * from './document/index';\nexport * from './product/index';\nexport * from './authoring/index';\nexport * from './authoring-client/index';\nexport * from './authoring-server/index';\nexport * from './bridge-command/index';\nexport * from './core-contracts/index';\nexport * from './package-resolution/index';\nexport * from './upgrade-doctor/types';\nexport * from './upgrade-doctor/report';\nexport * from './upgrade-doctor/host';\nexport * from './scene-source/index';\nexport * from './runtime-preview/index';\nexport * from './session/index';\nexport * from './marker-scene/index';\nexport * from './inspector/index';\nexport * from './asset-library/index';\nexport * from './asset-database/index';\nexport * from './asset-bridge/index';\nexport * from './asset-registration/index';\nexport * from './asset-placement/index';\nexport * from './scene-compiler/index';\nexport * from './field-schema/index';\nexport * from './commands/index';\nexport * from './serialized-property/index';\nexport * from './mutation/index';\nexport * from './local-harness/index';\nexport * from './camera-debug/index';\nexport * from './lighting-debug/index';\nexport * from './lighting-preview/index';\nexport * from './material-binding/index';\nexport * from './prefab-stage/index';\nexport * from './rendering-profile/index';\nexport * from './static-shadows/index';\nexport * from './shadow-system/resolver';\nexport { canonicalizePlayableJsonNumbers } from './shared/json';\n// Temporary product-surface bridge. Step 3 moves runtime consumers to\n// @fps-games/playable-runtime and removes this export.\nexport * from '@fps-games/playable-rendering';\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"camera-section.js","sourceRoot":"","sources":["../../src/inspector/camera-section.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"camera-section.js","sourceRoot":"","sources":["../../src/inspector/camera-section.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n type InspectorSection,\n type InspectorProperty,\n} from '@fps-games/editor-core';\nimport type {\n EditorSceneCameraInspectorLanguage,\n EditorSceneCameraRig as EditorSceneDocumentCameraRig,\n} from '../document/index';\nimport {\n degreesToEditorSceneRadians,\n radiansToEditorSceneDegrees,\n roundEditorSceneInspectorNumber,\n} from './format';\nimport {\n appendEditorSceneReadonlyInspectorProperty,\n} from './readonly';\n\nexport type PlayableEditorSceneCameraProjection = 'orthographic' | 'perspective';\n\nexport interface PlayableEditorSceneCameraRig extends EditorSceneDocumentCameraRig {\n projection?: PlayableEditorSceneCameraProjection;\n alpha: number;\n beta: number;\n radius: number;\n orthoSize?: number;\n fov?: number;\n targetOffset?: { x?: number; y?: number; z?: number };\n minZ?: number;\n maxZ?: number;\n lowerBetaLimit?: number;\n upperBetaLimit?: number;\n lowerRadiusLimit?: number;\n upperRadiusLimit?: number;\n inertia?: number;\n targetScreenOffset?: { x?: number; y?: number };\n}\n\nexport type CameraInspectorText = {\n title: string;\n summaryOrthographic: string;\n summaryPerspective: string;\n language: string;\n projection: string;\n projectionOrthographic: string;\n projectionPerspective: string;\n alpha: string;\n beta: string;\n radius: string;\n orthoSize: string;\n fov: string;\n targetOffset: string;\n nearClip: string;\n farClip: string;\n minBeta: string;\n maxBeta: string;\n minRadius: string;\n maxRadius: string;\n inertia: string;\n screenOffset: string;\n rawCamera: string;\n};\n\nconst CAMERA_INSPECTOR_TEXT: Record<EditorSceneCameraInspectorLanguage, CameraInspectorText> = {\n zh: {\n title: '摄像机',\n summaryOrthographic: 'ArcRotate 正交',\n summaryPerspective: 'ArcRotate 透视',\n language: '语言',\n projection: '投影模式',\n projectionOrthographic: '正交',\n projectionPerspective: '透视',\n alpha: 'Alpha',\n beta: 'Beta',\n radius: '半径',\n orthoSize: '正交尺寸',\n fov: '视野角度',\n targetOffset: '目标偏移',\n nearClip: '近裁剪',\n farClip: '远裁剪',\n minBeta: '最小 Beta',\n maxBeta: '最大 Beta',\n minRadius: '最小半径',\n maxRadius: '最大半径',\n inertia: '惯性',\n screenOffset: '屏幕偏移',\n rawCamera: '原始摄像机',\n },\n en: {\n title: 'Camera',\n summaryOrthographic: 'ArcRotate Orthographic',\n summaryPerspective: 'ArcRotate Perspective',\n language: 'Language',\n projection: 'Projection',\n projectionOrthographic: 'Orthographic',\n projectionPerspective: 'Perspective',\n alpha: 'Alpha',\n beta: 'Beta',\n radius: 'Radius',\n orthoSize: 'Ortho Size',\n fov: 'FOV',\n targetOffset: 'Target Offset',\n nearClip: 'Near Clip',\n farClip: 'Far Clip',\n minBeta: 'Min Beta',\n maxBeta: 'Max Beta',\n minRadius: 'Min Radius',\n maxRadius: 'Max Radius',\n inertia: 'Inertia',\n screenOffset: 'Screen Offset',\n rawCamera: 'Raw Camera',\n },\n};\n\nexport const CAMERA_LANGUAGE_OPTIONS = [\n { label: '中文', value: 'zh' },\n { label: 'English', value: 'en' },\n] as const;\n\nexport function getCameraInspectorText(language: EditorSceneCameraInspectorLanguage): CameraInspectorText {\n return CAMERA_INSPECTOR_TEXT[language] ?? CAMERA_INSPECTOR_TEXT.zh;\n}\n\nfunction createCameraProjectionOptions(text: CameraInspectorText): Array<{ label: string; value: PlayableEditorSceneCameraProjection }> {\n return [\n { label: text.projectionOrthographic, value: 'orthographic' },\n { label: text.projectionPerspective, value: 'perspective' },\n ];\n}\n\nexport function createCameraInspectorProperties<TDocument = unknown, TNodeKind extends string = string>(input: {\n nodeKind: TNodeKind;\n camera: unknown;\n rig: PlayableEditorSceneCameraRig;\n createDocumentInspectorProperty: CameraDocumentInspectorPropertyFactory<TDocument, TNodeKind>;\n}): InspectorProperty<TDocument>[] {\n const { camera, createDocumentInspectorProperty, nodeKind, rig } = input;\n const language = rig.inspectorLanguage ?? 'zh';\n const text = getCameraInspectorText(language);\n const properties: InspectorProperty<TDocument>[] = [];\n let order = 0;\n\n properties.push(createDocumentInspectorProperty(null, nodeKind, {\n path: 'camera.inspectorLanguage',\n label: text.language,\n valueType: 'enum',\n control: 'enum',\n value: language,\n commitMode: 'immediate',\n order,\n options: CAMERA_LANGUAGE_OPTIONS,\n controlOptions: { variant: 'segmented' },\n }));\n order += 1;\n\n properties.push(createDocumentInspectorProperty(null, nodeKind, {\n path: 'camera.projection',\n label: text.projection,\n valueType: 'enum',\n control: 'enum',\n value: rig.projection ?? 'orthographic',\n commitMode: 'immediate',\n order,\n options: createCameraProjectionOptions(text),\n controlOptions: { variant: 'segmented' },\n }));\n order += 1;\n\n properties.push(createCameraNumberInspectorProperty(nodeKind, createDocumentInspectorProperty, { path: 'camera.alpha', label: text.alpha, value: rig.alpha, order, step: 0.01 }));\n order += 1;\n properties.push(createCameraNumberInspectorProperty(nodeKind, createDocumentInspectorProperty, { path: 'camera.beta', label: text.beta, value: rig.beta, order, step: 0.01 }));\n order += 1;\n properties.push(createCameraNumberInspectorProperty(nodeKind, createDocumentInspectorProperty, { path: 'camera.radius', label: text.radius, value: rig.radius, order, min: 0.001, step: 0.1 }));\n order += 1;\n\n if ((rig.projection ?? 'orthographic') === 'perspective') {\n properties.push(createCameraNumberInspectorProperty(nodeKind, createDocumentInspectorProperty, {\n path: 'camera.fov',\n label: text.fov,\n value: roundEditorSceneInspectorNumber(radiansToEditorSceneDegrees(rig.fov ?? 0.85)),\n order,\n min: 1,\n max: 179,\n step: 1,\n coerce: (value: unknown) => typeof value === 'number' && Number.isFinite(value) ? degreesToEditorSceneRadians(value) : value,\n }));\n } else {\n properties.push(createCameraNumberInspectorProperty(nodeKind, createDocumentInspectorProperty, {\n path: 'camera.orthoSize',\n label: text.orthoSize,\n value: rig.orthoSize ?? 6,\n order,\n min: 0.001,\n step: 0.1,\n }));\n }\n order += 1;\n\n for (const axis of ['x', 'y', 'z'] as const) {\n properties.push(createCameraNumberInspectorProperty(nodeKind, createDocumentInspectorProperty, {\n path: `camera.targetOffset.${axis}`,\n label: `${text.targetOffset} ${axis.toUpperCase()}`,\n value: rig.targetOffset?.[axis] ?? 0,\n order,\n step: 0.05,\n }));\n order += 1;\n }\n\n properties.push(createCameraNumberInspectorProperty(nodeKind, createDocumentInspectorProperty, { path: 'camera.minZ', label: text.nearClip, value: rig.minZ ?? 1, order, min: 0.001, step: 0.1 }));\n order += 1;\n properties.push(createCameraNumberInspectorProperty(nodeKind, createDocumentInspectorProperty, { path: 'camera.maxZ', label: text.farClip, value: rig.maxZ ?? 10000, order, min: 0.001, step: 1 }));\n order += 1;\n properties.push(createCameraNumberInspectorProperty(nodeKind, createDocumentInspectorProperty, { path: 'camera.lowerBetaLimit', label: text.minBeta, value: rig.lowerBetaLimit ?? rig.beta, order, step: 0.01 }));\n order += 1;\n properties.push(createCameraNumberInspectorProperty(nodeKind, createDocumentInspectorProperty, { path: 'camera.upperBetaLimit', label: text.maxBeta, value: rig.upperBetaLimit ?? rig.beta, order, step: 0.01 }));\n order += 1;\n properties.push(createCameraNumberInspectorProperty(nodeKind, createDocumentInspectorProperty, { path: 'camera.lowerRadiusLimit', label: text.minRadius, value: rig.lowerRadiusLimit ?? rig.radius, order, min: 0.001, step: 0.1 }));\n order += 1;\n properties.push(createCameraNumberInspectorProperty(nodeKind, createDocumentInspectorProperty, { path: 'camera.upperRadiusLimit', label: text.maxRadius, value: rig.upperRadiusLimit ?? rig.radius, order, min: 0.001, step: 0.1 }));\n order += 1;\n properties.push(createCameraNumberInspectorProperty(nodeKind, createDocumentInspectorProperty, { path: 'camera.inertia', label: text.inertia, value: rig.inertia ?? 0.9, order, min: 0, max: 1, step: 0.05 }));\n order += 1;\n\n for (const axis of ['x', 'y'] as const) {\n properties.push(createCameraNumberInspectorProperty(nodeKind, createDocumentInspectorProperty, {\n path: `camera.targetScreenOffset.${axis}`,\n label: `${text.screenOffset} ${axis.toUpperCase()}`,\n value: rig.targetScreenOffset?.[axis] ?? 0,\n order,\n step: 0.01,\n }));\n order += 1;\n }\n\n appendEditorSceneReadonlyInspectorProperty(properties, {\n path: 'camera.raw',\n label: text.rawCamera,\n value: camera ?? 'defaults',\n order: properties.length,\n source: 'Document',\n tags: ['Raw'],\n });\n return properties;\n}\n\nexport function createEditorSceneCameraInspectorSection<\n TDocument = unknown,\n TNodeKind extends string = string,\n>(input: {\n nodeKind: TNodeKind;\n camera: unknown;\n rig: PlayableEditorSceneCameraRig;\n createDocumentInspectorProperty: CameraDocumentInspectorPropertyFactory<TDocument, TNodeKind>;\n}): InspectorSection<TDocument> {\n const text = getCameraInspectorText(input.rig.inspectorLanguage ?? 'zh');\n return {\n id: 'camera',\n title: text.title,\n order: 42,\n placement: 'body',\n summary: input.rig.projection === 'perspective' ? text.summaryPerspective : text.summaryOrthographic,\n persistence: 'document',\n collapsedByDefault: false,\n properties: createCameraInspectorProperties(input),\n };\n}\n\ntype CameraDocumentInspectorPropertyFactory<TDocument, TNodeKind extends string> = (\n document: TDocument | null,\n nodeKind: TNodeKind,\n property: Omit<InspectorProperty<TDocument>, 'readOnly' | 'persistence' | 'validate'>,\n) => InspectorProperty<TDocument>;\n\nfunction createCameraNumberInspectorProperty<TDocument, TNodeKind extends string>(\n nodeKind: TNodeKind,\n createDocumentInspectorProperty: CameraDocumentInspectorPropertyFactory<TDocument, TNodeKind>,\n input: {\n path: string;\n label: string;\n value: number;\n order: number;\n min?: number;\n max?: number;\n step?: number;\n coerce?: (value: unknown) => unknown;\n },\n): InspectorProperty<TDocument> {\n return createDocumentInspectorProperty(null, nodeKind, {\n path: input.path,\n label: input.label,\n valueType: 'number',\n control: 'number',\n value: input.value,\n commitMode: 'live',\n order: input.order,\n min: input.min,\n max: input.max,\n step: input.step ?? 0.05,\n coerce: input.coerce,\n });\n}\n"]}