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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (602) hide show
  1. package/dist/agent-bridge/capabilities/assets.js.map +1 -1
  2. package/dist/agent-bridge/capabilities/editor-state.js.map +1 -1
  3. package/dist/agent-bridge/capabilities/host-lifecycle.js.map +1 -1
  4. package/dist/agent-bridge/capabilities/prefabs.js.map +1 -1
  5. package/dist/agent-bridge/capabilities/scene-objects.js.map +1 -1
  6. package/dist/agent-bridge/capabilities/selection.js.map +1 -1
  7. package/dist/agent-bridge/capabilities/shadows.js.map +1 -1
  8. package/dist/agent-bridge/capabilities/transform.js.map +1 -1
  9. package/dist/agent-bridge/capabilities/ui-regions.js.map +1 -1
  10. package/dist/agent-bridge/capabilities/viewport.js.map +1 -1
  11. package/dist/agent-bridge/capability-sources.js.map +1 -1
  12. package/dist/agent-bridge/diagnostics.js.map +1 -1
  13. package/dist/agent-bridge/index.js.map +1 -1
  14. package/dist/agent-bridge/register.js.map +1 -1
  15. package/dist/agent-bridge/shared.js.map +1 -1
  16. package/dist/agent-bridge/source-types.js.map +1 -1
  17. package/dist/authoring-apply.js.map +1 -1
  18. package/dist/build-info.json +48 -48
  19. package/dist/editor-plugin-agent-capabilities.js.map +1 -1
  20. package/dist/editor-plugin-hierarchy-command.js.map +1 -1
  21. package/dist/index.js.map +1 -1
  22. package/dist/internal/local-editor-lifecycle-operations.js.map +1 -1
  23. package/dist/local-editor-agent-actions.js.map +1 -1
  24. package/dist/local-editor-agent-bridge-transport.js.map +1 -1
  25. package/dist/local-editor-agent-bridge.js.map +1 -1
  26. package/dist/local-editor-agent-context.js.map +1 -1
  27. package/dist/local-editor-harness.d.ts +57 -1
  28. package/dist/local-editor-harness.d.ts.map +1 -1
  29. package/dist/local-editor-harness.js +129 -0
  30. package/dist/local-editor-harness.js.map +1 -1
  31. package/dist/local-editor-marker-graph.js.map +1 -1
  32. package/dist/local-editor-performance-stats.js.map +1 -1
  33. package/dist/local-editor-plugin-inspector.js.map +1 -1
  34. package/dist/local-editor-plugin-panel.js.map +1 -1
  35. package/dist/local-editor-scene-render-scheduler.js.map +1 -1
  36. package/dist/local-editor-scene-view-interaction-runtime.js.map +1 -1
  37. package/dist/local-editor-viewport-render-coordinator.js.map +1 -1
  38. package/dist/playable-babylon-facade.js.map +1 -1
  39. package/dist/playable-babylon-outline-inspector.js.map +1 -1
  40. package/dist/playable-babylon-outline-runtime.js.map +1 -1
  41. package/dist/playable-babylon-rendering.js.map +1 -1
  42. package/dist/playable-local-editor-host.d.ts +36 -0
  43. package/dist/playable-local-editor-host.d.ts.map +1 -1
  44. package/dist/playable-local-editor-host.js.map +1 -1
  45. package/dist/playable-product-local-editor.js.map +1 -1
  46. package/dist/playable-product-projection-preview.js.map +1 -1
  47. package/dist/playable-product-rendering.js.map +1 -1
  48. package/dist/playable-product-scene-capabilities.d.ts.map +1 -1
  49. package/dist/playable-product-scene-capabilities.js +49 -2
  50. package/dist/playable-product-scene-capabilities.js.map +1 -1
  51. package/dist/playable-runtime-babylon.js.map +1 -1
  52. package/dist/playable-runtime.js.map +1 -1
  53. package/dist/playable-sdk-upgrade-doctor.js.map +1 -1
  54. package/dist/playable-sdk-vite.js.map +1 -1
  55. package/dist/playable-sdk.js.map +1 -1
  56. package/dist/playable-standard-project.js.map +1 -1
  57. package/dist/static-shadow-cpu-worker.js.map +1 -1
  58. package/dist/vite.js.map +1 -1
  59. package/node_modules/@fps-games/babylon-renderer/dist/environment/environment-texture-controller.js.map +1 -1
  60. package/node_modules/@fps-games/babylon-renderer/dist/environment/index.js.map +1 -1
  61. package/node_modules/@fps-games/babylon-renderer/dist/environment/profile.js.map +1 -1
  62. package/node_modules/@fps-games/babylon-renderer/dist/environment/types.js.map +1 -1
  63. package/node_modules/@fps-games/babylon-renderer/dist/index.js.map +1 -1
  64. package/node_modules/@fps-games/babylon-renderer/dist/lighting/directional-light-angles.js.map +1 -1
  65. package/node_modules/@fps-games/babylon-renderer/dist/outlines/babylon-default/apply.js.map +1 -1
  66. package/node_modules/@fps-games/babylon-renderer/dist/outlines/babylon-default/index.js.map +1 -1
  67. package/node_modules/@fps-games/babylon-renderer/dist/outlines/babylon-default/types.js.map +1 -1
  68. package/node_modules/@fps-games/babylon-renderer/dist/outlines/index.js.map +1 -1
  69. package/node_modules/@fps-games/babylon-renderer/dist/outlines/types.js.map +1 -1
  70. package/node_modules/@fps-games/babylon-renderer/dist/placement/index.js.map +1 -1
  71. package/node_modules/@fps-games/babylon-renderer/dist/placement/runtime-drop-position.js.map +1 -1
  72. package/node_modules/@fps-games/babylon-renderer/dist/plugin.js.map +1 -1
  73. package/node_modules/@fps-games/babylon-renderer/dist/post-process/babylon-default-pipeline.js.map +1 -1
  74. package/node_modules/@fps-games/babylon-renderer/dist/post-process/index.js.map +1 -1
  75. package/node_modules/@fps-games/babylon-renderer/dist/post-process/profile.js.map +1 -1
  76. package/node_modules/@fps-games/babylon-renderer/dist/post-process/types.js.map +1 -1
  77. package/node_modules/@fps-games/babylon-renderer/dist/post-process/volume-stack.js.map +1 -1
  78. package/node_modules/@fps-games/babylon-renderer/dist/reference.js.map +1 -1
  79. package/node_modules/@fps-games/babylon-renderer/dist/rendering/index.js.map +1 -1
  80. package/node_modules/@fps-games/babylon-renderer/dist/rendering/node-rendering.js.map +1 -1
  81. package/node_modules/@fps-games/babylon-renderer/dist/shadows/blob-shadow-shaders.js.map +1 -1
  82. package/node_modules/@fps-games/babylon-renderer/dist/shadows/blob-shadow-system.js.map +1 -1
  83. package/node_modules/@fps-games/babylon-renderer/dist/shadows/dynamic-shadow-system.js.map +1 -1
  84. package/node_modules/@fps-games/babylon-renderer/dist/shadows/planar-shadow-shaders.js.map +1 -1
  85. package/node_modules/@fps-games/babylon-renderer/dist/shadows/planar-shadow-system.js.map +1 -1
  86. package/node_modules/@fps-games/babylon-renderer/dist/shadows/static-projected-shadow-artifact-system.js.map +1 -1
  87. package/node_modules/@fps-games/babylon-renderer/dist/shadows/static-projected-shadow-atlas.js.map +1 -1
  88. package/node_modules/@fps-games/babylon-renderer/dist/shadows/static-projected-shadow-bake.js.map +1 -1
  89. package/node_modules/@fps-games/babylon-renderer/dist/shadows/static-projected-shadow-baker.js.map +1 -1
  90. package/node_modules/@fps-games/babylon-renderer/dist/shadows/static-projected-shadow-options.js.map +1 -1
  91. package/node_modules/@fps-games/babylon-renderer/dist/shadows/static-projected-shadow-rendering.js.map +1 -1
  92. package/node_modules/@fps-games/babylon-renderer/dist/shadows/types.js.map +1 -1
  93. package/node_modules/@fps-games/babylon-renderer/package.json +7 -7
  94. package/node_modules/@fps-games/editor-babylon/dist/camera-controller.js.map +1 -1
  95. package/node_modules/@fps-games/editor-babylon/dist/edit-session.js.map +1 -1
  96. package/node_modules/@fps-games/editor-babylon/dist/editor-sky.js.map +1 -1
  97. package/node_modules/@fps-games/editor-babylon/dist/editor-world.js.map +1 -1
  98. package/node_modules/@fps-games/editor-babylon/dist/event-guard.js.map +1 -1
  99. package/node_modules/@fps-games/editor-babylon/dist/index.js.map +1 -1
  100. package/node_modules/@fps-games/editor-babylon/dist/infinite-grid-layer.js.map +1 -1
  101. package/node_modules/@fps-games/editor-babylon/dist/infinite-grid.js.map +1 -1
  102. package/node_modules/@fps-games/editor-babylon/dist/input-controller.js.map +1 -1
  103. package/node_modules/@fps-games/editor-babylon/dist/inspector-adapter.js.map +1 -1
  104. package/node_modules/@fps-games/editor-babylon/dist/inspector-host.js.map +1 -1
  105. package/node_modules/@fps-games/editor-babylon/dist/main-camera-preview.js.map +1 -1
  106. package/node_modules/@fps-games/editor-babylon/dist/marker-overlay.js.map +1 -1
  107. package/node_modules/@fps-games/editor-babylon/dist/material-property-adapter.js.map +1 -1
  108. package/node_modules/@fps-games/editor-babylon/dist/material-slot-source-resolver.js.map +1 -1
  109. package/node_modules/@fps-games/editor-babylon/dist/monitor.js.map +1 -1
  110. package/node_modules/@fps-games/editor-babylon/dist/outline-adapter.js.map +1 -1
  111. package/node_modules/@fps-games/editor-babylon/dist/performance-monitor.js.map +1 -1
  112. package/node_modules/@fps-games/editor-babylon/dist/prefab-comparison-preview-controller.js.map +1 -1
  113. package/node_modules/@fps-games/editor-babylon/dist/primitive-projection-instancing.js.map +1 -1
  114. package/node_modules/@fps-games/editor-babylon/dist/projection-asset-container-importer.js.map +1 -1
  115. package/node_modules/@fps-games/editor-babylon/dist/projection-pick-resolver.js.map +1 -1
  116. package/node_modules/@fps-games/editor-babylon/dist/projection-selection-controller.js.map +1 -1
  117. package/node_modules/@fps-games/editor-babylon/dist/projection-source-owner-path.js.map +1 -1
  118. package/node_modules/@fps-games/editor-babylon/dist/projection.js.map +1 -1
  119. package/node_modules/@fps-games/editor-babylon/dist/runtime-globals.js.map +1 -1
  120. package/node_modules/@fps-games/editor-babylon/dist/scene-camera-preview.js.map +1 -1
  121. package/node_modules/@fps-games/editor-babylon/dist/scene-view-camera-controller.js.map +1 -1
  122. package/node_modules/@fps-games/editor-babylon/dist/scene-view-input-controller.js.map +1 -1
  123. package/node_modules/@fps-games/editor-babylon/dist/scene-view-measurement-controller.js.map +1 -1
  124. package/node_modules/@fps-games/editor-babylon/dist/scene-view-spatial-overlay-controller.js.map +1 -1
  125. package/node_modules/@fps-games/editor-babylon/dist/selection-controller.js.map +1 -1
  126. package/node_modules/@fps-games/editor-babylon/dist/shadow-preview-controller.js.map +1 -1
  127. package/node_modules/@fps-games/editor-babylon/dist/tool-controller.js.map +1 -1
  128. package/node_modules/@fps-games/editor-babylon/dist/transform-gizmo-controller.js.map +1 -1
  129. package/node_modules/@fps-games/editor-babylon/dist/transform-solver.js.map +1 -1
  130. package/node_modules/@fps-games/editor-babylon/dist/types.js.map +1 -1
  131. package/node_modules/@fps-games/editor-babylon/package.json +5 -5
  132. package/node_modules/@fps-games/editor-browser/dist/index.js.map +1 -1
  133. package/node_modules/@fps-games/editor-browser/dist/local-editor-inspector-clipboard.js.map +1 -1
  134. package/node_modules/@fps-games/editor-browser/dist/local-editor-inspector-groups.js.map +1 -1
  135. package/node_modules/@fps-games/editor-browser/dist/local-editor-rendering-actions.js.map +1 -1
  136. package/node_modules/@fps-games/editor-browser/dist/local-editor-root-ownership.js.map +1 -1
  137. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-asset-kind.js.map +1 -1
  138. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-context-menu.js.map +1 -1
  139. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-dock-panel.js.map +1 -1
  140. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-actions.js.map +1 -1
  141. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-attach-dialog.js.map +1 -1
  142. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-auto-scroll.js.map +1 -1
  143. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-command-adapter.js.map +1 -1
  144. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-controller.js.map +1 -1
  145. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-drag-policy.js.map +1 -1
  146. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-scope.js.map +1 -1
  147. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-tree.js.map +1 -1
  148. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-view.js.map +1 -1
  149. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-icons.js.map +1 -1
  150. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-input-router.js.map +1 -1
  151. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-modal-dialog.js.map +1 -1
  152. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-panel-registry.js.map +1 -1
  153. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-panels.js.map +1 -1
  154. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-plugin-panel.js.map +1 -1
  155. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-prefab-stage.js.map +1 -1
  156. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-primitives.js.map +1 -1
  157. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-shared.js.map +1 -1
  158. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-shortcuts.js.map +1 -1
  159. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-structured-drag-auto-scroll.js.map +1 -1
  160. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-structured-drag-policy.js.map +1 -1
  161. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-structured-drag-preview.js.map +1 -1
  162. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-structured-drag-session.js.map +1 -1
  163. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-theme.js.map +1 -1
  164. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-tooltip.js.map +1 -1
  165. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-types.js.map +1 -1
  166. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-workbench.js.map +1 -1
  167. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui.js.map +1 -1
  168. package/node_modules/@fps-games/editor-browser/dist/plugin-contributions.js.map +1 -1
  169. package/node_modules/@fps-games/editor-browser/dist/runtime-camera-debug-panel.js.map +1 -1
  170. package/node_modules/@fps-games/editor-browser/dist/runtime-debug-panel-shell.js.map +1 -1
  171. package/node_modules/@fps-games/editor-browser/dist/runtime-lighting-debug-panel.js.map +1 -1
  172. package/node_modules/@fps-games/editor-browser/package.json +4 -4
  173. package/node_modules/@fps-games/editor-core/dist/agent-bridge.js.map +1 -1
  174. package/node_modules/@fps-games/editor-core/dist/agent-interaction.js.map +1 -1
  175. package/node_modules/@fps-games/editor-core/dist/authoring-source.js.map +1 -1
  176. package/node_modules/@fps-games/editor-core/dist/document-adapter.js.map +1 -1
  177. package/node_modules/@fps-games/editor-core/dist/editor-plugin-host.js.map +1 -1
  178. package/node_modules/@fps-games/editor-core/dist/editor-session.d.ts +6 -1
  179. package/node_modules/@fps-games/editor-core/dist/editor-session.d.ts.map +1 -1
  180. package/node_modules/@fps-games/editor-core/dist/editor-session.js +9 -0
  181. package/node_modules/@fps-games/editor-core/dist/editor-session.js.map +1 -1
  182. package/node_modules/@fps-games/editor-core/dist/events.d.ts +1 -1
  183. package/node_modules/@fps-games/editor-core/dist/events.d.ts.map +1 -1
  184. package/node_modules/@fps-games/editor-core/dist/events.js.map +1 -1
  185. package/node_modules/@fps-games/editor-core/dist/field-schema/index.js.map +1 -1
  186. package/node_modules/@fps-games/editor-core/dist/field-schema/resolver.js.map +1 -1
  187. package/node_modules/@fps-games/editor-core/dist/field-schema/schema.js.map +1 -1
  188. package/node_modules/@fps-games/editor-core/dist/field-schema/types.js.map +1 -1
  189. package/node_modules/@fps-games/editor-core/dist/field-schema/validators.js.map +1 -1
  190. package/node_modules/@fps-games/editor-core/dist/host-services.js.map +1 -1
  191. package/node_modules/@fps-games/editor-core/dist/index.js.map +1 -1
  192. package/node_modules/@fps-games/editor-core/dist/inspector.js.map +1 -1
  193. package/node_modules/@fps-games/editor-core/dist/lifecycle.js.map +1 -1
  194. package/node_modules/@fps-games/editor-core/dist/marker-graph.js.map +1 -1
  195. package/node_modules/@fps-games/editor-core/dist/scene-graph.js.map +1 -1
  196. package/node_modules/@fps-games/editor-core/dist/scene-view-input.js.map +1 -1
  197. package/node_modules/@fps-games/editor-core/dist/selection-strategy.js.map +1 -1
  198. package/node_modules/@fps-games/editor-core/dist/serialized-object.js.map +1 -1
  199. package/node_modules/@fps-games/editor-core/dist/transform-command.js.map +1 -1
  200. package/node_modules/@fps-games/editor-core/dist/transform-gizmo.js.map +1 -1
  201. package/node_modules/@fps-games/editor-core/dist/transform-operation-policy.js.map +1 -1
  202. package/node_modules/@fps-games/editor-core/dist/transform-operations.js.map +1 -1
  203. package/node_modules/@fps-games/editor-core/dist/viewport-tools.js.map +1 -1
  204. package/node_modules/@fps-games/editor-core/package.json +6 -6
  205. package/node_modules/@fps-games/editor-forge-play/dist/agent-transport.js.map +1 -1
  206. package/node_modules/@fps-games/editor-forge-play/dist/index.js.map +1 -1
  207. package/node_modules/@fps-games/editor-forge-play/package.json +2 -2
  208. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-bridge/drop-cache.js.map +1 -1
  209. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-bridge/index.js.map +1 -1
  210. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-bridge/payload.d.ts.map +1 -1
  211. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-bridge/payload.js +28 -5
  212. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-bridge/payload.js.map +1 -1
  213. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-bridge/types.d.ts +1 -0
  214. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-bridge/types.d.ts.map +1 -1
  215. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-bridge/types.js.map +1 -1
  216. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/config.js.map +1 -1
  217. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/generated-module.js.map +1 -1
  218. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/index.js.map +1 -1
  219. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/managed-facade.js.map +1 -1
  220. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/manager-core.d.ts.map +1 -1
  221. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/manager-core.js +13 -1
  222. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/manager-core.js.map +1 -1
  223. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/metadata.js.map +1 -1
  224. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/node.js.map +1 -1
  225. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/registry.d.ts +1 -0
  226. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/registry.d.ts.map +1 -1
  227. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/registry.js +58 -23
  228. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/registry.js.map +1 -1
  229. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/types.js.map +1 -1
  230. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/catalog.js.map +1 -1
  231. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/document.js.map +1 -1
  232. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/index.js.map +1 -1
  233. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/types.js.map +1 -1
  234. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-placement/document.js.map +1 -1
  235. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-placement/identity.js.map +1 -1
  236. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-placement/index.js.map +1 -1
  237. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-placement/managed-runtime-instance.js.map +1 -1
  238. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-placement/placement.js.map +1 -1
  239. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-placement/runtime-scene.js.map +1 -1
  240. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-placement/types.js.map +1 -1
  241. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/index.js.map +1 -1
  242. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/result.d.ts.map +1 -1
  243. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/result.js +3 -0
  244. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/result.js.map +1 -1
  245. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/transport.js.map +1 -1
  246. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/types.d.ts +1 -0
  247. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/types.d.ts.map +1 -1
  248. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/types.js.map +1 -1
  249. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/workflow.d.ts +1 -0
  250. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/workflow.d.ts.map +1 -1
  251. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/workflow.js +7 -1
  252. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/workflow.js.map +1 -1
  253. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring/constants.js.map +1 -1
  254. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring/drift.js.map +1 -1
  255. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring/index.js.map +1 -1
  256. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring/runtime-transform-patch.js.map +1 -1
  257. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring/source.js.map +1 -1
  258. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-client/client.js.map +1 -1
  259. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-client/index.js.map +1 -1
  260. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-client/types.js.map +1 -1
  261. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-server/handler.js.map +1 -1
  262. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-server/index.js.map +1 -1
  263. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-server/payload.js.map +1 -1
  264. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-server/response.js.map +1 -1
  265. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-server/routes.js.map +1 -1
  266. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-server/types.js.map +1 -1
  267. package/node_modules/@fps-games/editor-playable-sdk/dist/bridge-command/adapter-dispatcher.js.map +1 -1
  268. package/node_modules/@fps-games/editor-playable-sdk/dist/bridge-command/index.js.map +1 -1
  269. package/node_modules/@fps-games/editor-playable-sdk/dist/bridge-command/payload.js.map +1 -1
  270. package/node_modules/@fps-games/editor-playable-sdk/dist/bridge-command/project-asset-adapter.js.map +1 -1
  271. package/node_modules/@fps-games/editor-playable-sdk/dist/bridge-command/protocol.js.map +1 -1
  272. package/node_modules/@fps-games/editor-playable-sdk/dist/bridge-command/readers.js.map +1 -1
  273. package/node_modules/@fps-games/editor-playable-sdk/dist/bridge-command/types.js.map +1 -1
  274. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/binding.js.map +1 -1
  275. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/fields.js.map +1 -1
  276. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/index.js.map +1 -1
  277. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/math.js.map +1 -1
  278. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/pan.js.map +1 -1
  279. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/panel-format.js.map +1 -1
  280. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/panel-state.js.map +1 -1
  281. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/panel-storage.js.map +1 -1
  282. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/panel-text.js.map +1 -1
  283. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/rig.js.map +1 -1
  284. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/save-patch.js.map +1 -1
  285. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/snapshot.js.map +1 -1
  286. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/types.js.map +1 -1
  287. package/node_modules/@fps-games/editor-playable-sdk/dist/commands/index.js.map +1 -1
  288. package/node_modules/@fps-games/editor-playable-sdk/dist/commands/transform.js.map +1 -1
  289. package/node_modules/@fps-games/editor-playable-sdk/dist/commands/types.js.map +1 -1
  290. package/node_modules/@fps-games/editor-playable-sdk/dist/core-contracts/index.js.map +1 -1
  291. package/node_modules/@fps-games/editor-playable-sdk/dist/document/helpers.js.map +1 -1
  292. package/node_modules/@fps-games/editor-playable-sdk/dist/document/index.js.map +1 -1
  293. package/node_modules/@fps-games/editor-playable-sdk/dist/document/types.js.map +1 -1
  294. package/node_modules/@fps-games/editor-playable-sdk/dist/field-schema/index.js.map +1 -1
  295. package/node_modules/@fps-games/editor-playable-sdk/dist/field-schema/resolver.js.map +1 -1
  296. package/node_modules/@fps-games/editor-playable-sdk/dist/field-schema/schema.js.map +1 -1
  297. package/node_modules/@fps-games/editor-playable-sdk/dist/field-schema/types.js.map +1 -1
  298. package/node_modules/@fps-games/editor-playable-sdk/dist/field-schema/validators.js.map +1 -1
  299. package/node_modules/@fps-games/editor-playable-sdk/dist/index.js.map +1 -1
  300. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/camera-section.js.map +1 -1
  301. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/document-property.js.map +1 -1
  302. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/document-sections.js.map +1 -1
  303. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/format.js.map +1 -1
  304. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/index.js.map +1 -1
  305. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/light-fields.js.map +1 -1
  306. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/light-sections.js.map +1 -1
  307. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/marker-section.js.map +1 -1
  308. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/object-assembly.js.map +1 -1
  309. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/readonly.js.map +1 -1
  310. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/runtime-sections.js.map +1 -1
  311. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/runtime-summary.js.map +1 -1
  312. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/runtime.js.map +1 -1
  313. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/safe-value.js.map +1 -1
  314. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/types.js.map +1 -1
  315. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/validation.js.map +1 -1
  316. package/node_modules/@fps-games/editor-playable-sdk/dist/internal/local-harness.js.map +1 -1
  317. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-debug/binding.js.map +1 -1
  318. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-debug/fields.js.map +1 -1
  319. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-debug/index.js.map +1 -1
  320. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-debug/math.js.map +1 -1
  321. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-debug/save-patch.js.map +1 -1
  322. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-debug/snapshot.js.map +1 -1
  323. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-debug/storage.js.map +1 -1
  324. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-debug/text.js.map +1 -1
  325. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-debug/types.js.map +1 -1
  326. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-preview/index.js.map +1 -1
  327. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-preview/math.js.map +1 -1
  328. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-preview/profile.js.map +1 -1
  329. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-preview/types.js.map +1 -1
  330. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/agent-descriptions.js.map +1 -1
  331. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/forge-play-types.js.map +1 -1
  332. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/forge-play.d.ts +2 -0
  333. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/forge-play.d.ts.map +1 -1
  334. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/forge-play.js +5 -0
  335. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/forge-play.js.map +1 -1
  336. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/host-controller.js.map +1 -1
  337. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/index.d.ts +1 -1
  338. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/index.d.ts.map +1 -1
  339. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/index.js.map +1 -1
  340. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/lifecycle.js.map +1 -1
  341. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/loading-overlay.js.map +1 -1
  342. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/project-asset-commands.d.ts +18 -0
  343. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/project-asset-commands.d.ts.map +1 -1
  344. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/project-asset-commands.js +60 -1
  345. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/project-asset-commands.js.map +1 -1
  346. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/timing.js.map +1 -1
  347. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/types.js.map +1 -1
  348. package/node_modules/@fps-games/editor-playable-sdk/dist/marker-scene/facade.js.map +1 -1
  349. package/node_modules/@fps-games/editor-playable-sdk/dist/marker-scene/game-objects.js.map +1 -1
  350. package/node_modules/@fps-games/editor-playable-sdk/dist/marker-scene/geometry.js.map +1 -1
  351. package/node_modules/@fps-games/editor-playable-sdk/dist/marker-scene/index.js.map +1 -1
  352. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/asset-fields.js.map +1 -1
  353. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/binding.js.map +1 -1
  354. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/default-assets.js.map +1 -1
  355. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/document-assets.d.ts.map +1 -1
  356. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/document-assets.js +28 -2
  357. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/document-assets.js.map +1 -1
  358. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/duplicate.js.map +1 -1
  359. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/index.js.map +1 -1
  360. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/inspector.js.map +1 -1
  361. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/paths.js.map +1 -1
  362. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/preview.js.map +1 -1
  363. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/profile.js.map +1 -1
  364. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/reimport.d.ts.map +1 -1
  365. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/reimport.js +26 -9
  366. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/reimport.js.map +1 -1
  367. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/resolver.js.map +1 -1
  368. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/scene-inspector.js.map +1 -1
  369. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/slot-inspector.d.ts.map +1 -1
  370. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/slot-inspector.js +0 -3
  371. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/slot-inspector.js.map +1 -1
  372. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/text.js.map +1 -1
  373. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/types.d.ts +8 -1
  374. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/types.d.ts.map +1 -1
  375. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/types.js.map +1 -1
  376. package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/field-patch.js.map +1 -1
  377. package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/index.js.map +1 -1
  378. package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/json-field.js.map +1 -1
  379. package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/reducer.js.map +1 -1
  380. package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/rendering-alpha-index.js.map +1 -1
  381. package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/transform.js.map +1 -1
  382. package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/types.js.map +1 -1
  383. package/node_modules/@fps-games/editor-playable-sdk/dist/package-resolution/aliases.d.ts +1 -1
  384. package/node_modules/@fps-games/editor-playable-sdk/dist/package-resolution/aliases.d.ts.map +1 -1
  385. package/node_modules/@fps-games/editor-playable-sdk/dist/package-resolution/aliases.js +18 -1
  386. package/node_modules/@fps-games/editor-playable-sdk/dist/package-resolution/aliases.js.map +1 -1
  387. package/node_modules/@fps-games/editor-playable-sdk/dist/package-resolution/index.js.map +1 -1
  388. package/node_modules/@fps-games/editor-playable-sdk/dist/package-resolution/types.d.ts +2 -0
  389. package/node_modules/@fps-games/editor-playable-sdk/dist/package-resolution/types.d.ts.map +1 -1
  390. package/node_modules/@fps-games/editor-playable-sdk/dist/package-resolution/types.js.map +1 -1
  391. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/action-patches.js.map +1 -1
  392. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/assets.js.map +1 -1
  393. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/index.js.map +1 -1
  394. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/material-override-inspector.js.map +1 -1
  395. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/projection.js.map +1 -1
  396. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/shadow-inspector.js.map +1 -1
  397. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/source-structure-inspector.js.map +1 -1
  398. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/stage-inspector.js.map +1 -1
  399. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/structure.js.map +1 -1
  400. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/types.js.map +1 -1
  401. package/node_modules/@fps-games/editor-playable-sdk/dist/product/asset-manager.js.map +1 -1
  402. package/node_modules/@fps-games/editor-playable-sdk/dist/product/ground-decal-scene-feature.js.map +1 -1
  403. package/node_modules/@fps-games/editor-playable-sdk/dist/product/ground-decal.js.map +1 -1
  404. package/node_modules/@fps-games/editor-playable-sdk/dist/product/index.js.map +1 -1
  405. package/node_modules/@fps-games/editor-playable-sdk/dist/product/project-host-services.d.ts +1 -0
  406. package/node_modules/@fps-games/editor-playable-sdk/dist/product/project-host-services.d.ts.map +1 -1
  407. package/node_modules/@fps-games/editor-playable-sdk/dist/product/project-host-services.js +3 -1
  408. package/node_modules/@fps-games/editor-playable-sdk/dist/product/project-host-services.js.map +1 -1
  409. package/node_modules/@fps-games/editor-playable-sdk/dist/product/scene-session.js.map +1 -1
  410. package/node_modules/@fps-games/editor-playable-sdk/dist/product/scene-source.js.map +1 -1
  411. package/node_modules/@fps-games/editor-playable-sdk/dist/product/standard-asset-actions.js.map +1 -1
  412. package/node_modules/@fps-games/editor-playable-sdk/dist/product/standard-scene-assembly.js.map +1 -1
  413. package/node_modules/@fps-games/editor-playable-sdk/dist/rendering-profile/draft.js.map +1 -1
  414. package/node_modules/@fps-games/editor-playable-sdk/dist/rendering-profile/index.js.map +1 -1
  415. package/node_modules/@fps-games/editor-playable-sdk/dist/rendering-profile/panel.js.map +1 -1
  416. package/node_modules/@fps-games/editor-playable-sdk/dist/rendering-profile/route.js.map +1 -1
  417. package/node_modules/@fps-games/editor-playable-sdk/dist/rendering-profile/types.js.map +1 -1
  418. package/node_modules/@fps-games/editor-playable-sdk/dist/runtime-preview/assets.js.map +1 -1
  419. package/node_modules/@fps-games/editor-playable-sdk/dist/runtime-preview/import-plan.js.map +1 -1
  420. package/node_modules/@fps-games/editor-playable-sdk/dist/runtime-preview/index.js.map +1 -1
  421. package/node_modules/@fps-games/editor-playable-sdk/dist/runtime-preview/nodes.js.map +1 -1
  422. package/node_modules/@fps-games/editor-playable-sdk/dist/runtime-preview/types.js.map +1 -1
  423. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/compiler.js +13 -1
  424. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/compiler.js.map +1 -1
  425. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/index.js.map +1 -1
  426. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/types.js.map +1 -1
  427. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/validation.js.map +1 -1
  428. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/artifacts.js.map +1 -1
  429. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/client.js.map +1 -1
  430. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/companion-configs.js.map +1 -1
  431. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/driver.js.map +1 -1
  432. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/index.js.map +1 -1
  433. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/protocol.js.map +1 -1
  434. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/types.js.map +1 -1
  435. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/validation.js.map +1 -1
  436. package/node_modules/@fps-games/editor-playable-sdk/dist/serialized-property/descriptors.js.map +1 -1
  437. package/node_modules/@fps-games/editor-playable-sdk/dist/serialized-property/index.js.map +1 -1
  438. package/node_modules/@fps-games/editor-playable-sdk/dist/serialized-property/inspector.js.map +1 -1
  439. package/node_modules/@fps-games/editor-playable-sdk/dist/serialized-property/object.js.map +1 -1
  440. package/node_modules/@fps-games/editor-playable-sdk/dist/serialized-property/patch.js.map +1 -1
  441. package/node_modules/@fps-games/editor-playable-sdk/dist/serialized-property/types.js.map +1 -1
  442. package/node_modules/@fps-games/editor-playable-sdk/dist/session/classification.js.map +1 -1
  443. package/node_modules/@fps-games/editor-playable-sdk/dist/session/hierarchy-facade.js.map +1 -1
  444. package/node_modules/@fps-games/editor-playable-sdk/dist/session/hierarchy.js.map +1 -1
  445. package/node_modules/@fps-games/editor-playable-sdk/dist/session/identity.js.map +1 -1
  446. package/node_modules/@fps-games/editor-playable-sdk/dist/session/index.js.map +1 -1
  447. package/node_modules/@fps-games/editor-playable-sdk/dist/session/object-command-facade.js.map +1 -1
  448. package/node_modules/@fps-games/editor-playable-sdk/dist/session/patches.js.map +1 -1
  449. package/node_modules/@fps-games/editor-playable-sdk/dist/session/property-patches.js.map +1 -1
  450. package/node_modules/@fps-games/editor-playable-sdk/dist/session/reducer-core.js.map +1 -1
  451. package/node_modules/@fps-games/editor-playable-sdk/dist/session/system-defaults.js.map +1 -1
  452. package/node_modules/@fps-games/editor-playable-sdk/dist/session/transform.js.map +1 -1
  453. package/node_modules/@fps-games/editor-playable-sdk/dist/session/types.js.map +1 -1
  454. package/node_modules/@fps-games/editor-playable-sdk/dist/shadow-system/index.js.map +1 -1
  455. package/node_modules/@fps-games/editor-playable-sdk/dist/shadow-system/resolver.js.map +1 -1
  456. package/node_modules/@fps-games/editor-playable-sdk/dist/shared/http.js.map +1 -1
  457. package/node_modules/@fps-games/editor-playable-sdk/dist/shared/json.js.map +1 -1
  458. package/node_modules/@fps-games/editor-playable-sdk/dist/static-shadows/artifact.js.map +1 -1
  459. package/node_modules/@fps-games/editor-playable-sdk/dist/static-shadows/index.js.map +1 -1
  460. package/node_modules/@fps-games/editor-playable-sdk/dist/upgrade-doctor/host.js.map +1 -1
  461. package/node_modules/@fps-games/editor-playable-sdk/dist/upgrade-doctor/index.js.map +1 -1
  462. package/node_modules/@fps-games/editor-playable-sdk/dist/upgrade-doctor/inspectors.js.map +1 -1
  463. package/node_modules/@fps-games/editor-playable-sdk/dist/upgrade-doctor/report.js.map +1 -1
  464. package/node_modules/@fps-games/editor-playable-sdk/dist/upgrade-doctor/types.js.map +1 -1
  465. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/asset-authoring.js.map +1 -1
  466. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/authoring-http.d.ts +1 -0
  467. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/authoring-http.d.ts.map +1 -1
  468. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/authoring-http.js +1 -0
  469. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/authoring-http.js.map +1 -1
  470. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/build-info-core.js.map +1 -1
  471. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/build-info-node.js.map +1 -1
  472. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/editor-scene-workflow.d.ts +6 -5
  473. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/editor-scene-workflow.d.ts.map +1 -1
  474. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/editor-scene-workflow.js.map +1 -1
  475. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/index.js.map +1 -1
  476. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/module-invalidation.d.ts +3 -1
  477. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/module-invalidation.d.ts.map +1 -1
  478. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/module-invalidation.js +37 -8
  479. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/module-invalidation.js.map +1 -1
  480. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/path-write-coordinator.js.map +1 -1
  481. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/plugin.d.ts +4 -3
  482. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/plugin.d.ts.map +1 -1
  483. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/plugin.js +14 -1
  484. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/plugin.js.map +1 -1
  485. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-adapter.d.ts +5 -4
  486. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-adapter.d.ts.map +1 -1
  487. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-adapter.js.map +1 -1
  488. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-asset-authoring.d.ts +3 -2
  489. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-asset-authoring.d.ts.map +1 -1
  490. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-asset-authoring.js +2 -11
  491. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-asset-authoring.js.map +1 -1
  492. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-authoring-api.d.ts +8 -7
  493. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-authoring-api.d.ts.map +1 -1
  494. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-authoring-api.js +84 -6
  495. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-authoring-api.js.map +1 -1
  496. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-rendering-authoring.d.ts +2 -1
  497. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-rendering-authoring.d.ts.map +1 -1
  498. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-rendering-authoring.js.map +1 -1
  499. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-scene-authoring.d.ts +4 -3
  500. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-scene-authoring.d.ts.map +1 -1
  501. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-scene-authoring.js +1 -4
  502. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-scene-authoring.js.map +1 -1
  503. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/session-metadata.js.map +1 -1
  504. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/types.d.ts +0 -33
  505. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/types.d.ts.map +1 -1
  506. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/types.js.map +1 -1
  507. package/node_modules/@fps-games/editor-playable-sdk/package.json +9 -6
  508. package/node_modules/@fps-games/editor-protocol/dist/agent-bridge.js.map +1 -1
  509. package/node_modules/@fps-games/editor-protocol/dist/agent-trace.js.map +1 -1
  510. package/node_modules/@fps-games/editor-protocol/dist/agent.js.map +1 -1
  511. package/node_modules/@fps-games/editor-protocol/dist/index.js.map +1 -1
  512. package/node_modules/@fps-games/editor-protocol/dist/marker-graph.js.map +1 -1
  513. package/node_modules/@fps-games/editor-protocol/package.json +2 -2
  514. package/node_modules/@fps-games/editor-tooling/dist/contributions.js.map +1 -1
  515. package/node_modules/@fps-games/editor-tooling/dist/data-object.js.map +1 -1
  516. package/node_modules/@fps-games/editor-tooling/dist/index.js.map +1 -1
  517. package/node_modules/@fps-games/editor-tooling/dist/migration.js.map +1 -1
  518. package/node_modules/@fps-games/editor-tooling/dist/package-metadata-node.js.map +1 -1
  519. package/node_modules/@fps-games/editor-tooling/dist/vite.js.map +1 -1
  520. package/node_modules/@fps-games/editor-tooling/package.json +3 -3
  521. package/node_modules/@fps-games/playable-assets/dist/identity.js.map +1 -1
  522. package/node_modules/@fps-games/playable-assets/dist/index.d.ts +1 -0
  523. package/node_modules/@fps-games/playable-assets/dist/index.d.ts.map +1 -1
  524. package/node_modules/@fps-games/playable-assets/dist/index.js +1 -0
  525. package/node_modules/@fps-games/playable-assets/dist/index.js.map +1 -1
  526. package/node_modules/@fps-games/playable-assets/dist/portable-path.d.ts +2 -0
  527. package/node_modules/@fps-games/playable-assets/dist/portable-path.d.ts.map +1 -0
  528. package/node_modules/@fps-games/playable-assets/dist/portable-path.js +25 -0
  529. package/node_modules/@fps-games/playable-assets/dist/portable-path.js.map +1 -0
  530. package/node_modules/@fps-games/playable-assets/package.json +1 -1
  531. package/node_modules/@fps-games/playable-contracts/dist/index.js.map +1 -1
  532. package/node_modules/@fps-games/playable-contracts/dist/marker-graph-validation.js.map +1 -1
  533. package/node_modules/@fps-games/playable-contracts/dist/marker-graph.js.map +1 -1
  534. package/node_modules/@fps-games/playable-contracts/package.json +1 -1
  535. package/node_modules/@fps-games/playable-rendering/dist/index.js.map +1 -1
  536. package/node_modules/@fps-games/playable-rendering/dist/rendering-profile-authoring.js.map +1 -1
  537. package/node_modules/@fps-games/playable-rendering/dist/rendering-profile-types.js.map +1 -1
  538. package/node_modules/@fps-games/playable-rendering/dist/rendering-profile-validation.js.map +1 -1
  539. package/node_modules/@fps-games/playable-rendering/dist/rendering-profile-values.js.map +1 -1
  540. package/node_modules/@fps-games/playable-rendering/dist/rendering-profile.js.map +1 -1
  541. package/node_modules/@fps-games/playable-rendering/dist/runtime.js.map +1 -1
  542. package/node_modules/@fps-games/playable-rendering/dist/shadow-quality.js.map +1 -1
  543. package/node_modules/@fps-games/playable-rendering/dist/shadow-runtime.js.map +1 -1
  544. package/node_modules/@fps-games/playable-rendering/dist/shadow-settings.js.map +1 -1
  545. package/node_modules/@fps-games/playable-rendering/dist/shadow-types.js.map +1 -1
  546. package/node_modules/@fps-games/playable-rendering/dist/shadow-validation.js.map +1 -1
  547. package/node_modules/@fps-games/playable-rendering/dist/value.js.map +1 -1
  548. package/node_modules/@fps-games/playable-rendering/package.json +2 -2
  549. package/node_modules/@fps-games/playable-runtime/dist/compiled-scene-data.js.map +1 -1
  550. package/node_modules/@fps-games/playable-runtime/dist/index.js.map +1 -1
  551. package/node_modules/@fps-games/playable-runtime/dist/runtime-data.js.map +1 -1
  552. package/node_modules/@fps-games/playable-runtime/dist/runtime.js.map +1 -1
  553. package/node_modules/@fps-games/playable-runtime/dist/standard-plugins.js.map +1 -1
  554. package/node_modules/@fps-games/playable-runtime/dist/tokens.js.map +1 -1
  555. package/node_modules/@fps-games/playable-runtime/dist/types.js.map +1 -1
  556. package/node_modules/@fps-games/playable-runtime/package.json +12 -12
  557. package/node_modules/@fps-games/playable-runtime-data/dist/index.js.map +1 -1
  558. package/node_modules/@fps-games/playable-runtime-data/package.json +4 -4
  559. package/node_modules/@fps-games/playable-scene/dist/index.js.map +1 -1
  560. package/node_modules/@fps-games/playable-scene/dist/transform-math.js.map +1 -1
  561. package/node_modules/@fps-games/playable-scene/package.json +2 -2
  562. package/node_modules/@fps-games/plugin-api/dist/index.js.map +1 -1
  563. package/node_modules/@fps-games/plugin-api/package.json +1 -1
  564. package/node_modules/@fps-games/plugin-assets/dist/reference.js.map +1 -1
  565. package/node_modules/@fps-games/plugin-assets/dist/runtime.js.map +1 -1
  566. package/node_modules/@fps-games/plugin-assets/dist/version.d.ts +1 -1
  567. package/node_modules/@fps-games/plugin-assets/dist/version.js +1 -1
  568. package/node_modules/@fps-games/plugin-assets/dist/version.js.map +1 -1
  569. package/node_modules/@fps-games/plugin-assets/package.json +5 -5
  570. package/node_modules/@fps-games/plugin-host/dist/index.js.map +1 -1
  571. package/node_modules/@fps-games/plugin-host/package.json +2 -2
  572. package/node_modules/@fps-games/plugin-markers/dist/reference.js.map +1 -1
  573. package/node_modules/@fps-games/plugin-markers/dist/runtime.js.map +1 -1
  574. package/node_modules/@fps-games/plugin-markers/dist/version.d.ts +1 -1
  575. package/node_modules/@fps-games/plugin-markers/dist/version.js +1 -1
  576. package/node_modules/@fps-games/plugin-markers/dist/version.js.map +1 -1
  577. package/node_modules/@fps-games/plugin-markers/package.json +5 -5
  578. package/node_modules/@fps-games/plugin-materials/dist/reference.js.map +1 -1
  579. package/node_modules/@fps-games/plugin-materials/dist/runtime.js.map +1 -1
  580. package/node_modules/@fps-games/plugin-materials/dist/version.d.ts +1 -1
  581. package/node_modules/@fps-games/plugin-materials/dist/version.js +1 -1
  582. package/node_modules/@fps-games/plugin-materials/dist/version.js.map +1 -1
  583. package/node_modules/@fps-games/plugin-materials/package.json +5 -5
  584. package/node_modules/@fps-games/plugin-rendering/dist/reference.js.map +1 -1
  585. package/node_modules/@fps-games/plugin-rendering/dist/runtime.js.map +1 -1
  586. package/node_modules/@fps-games/plugin-rendering/dist/version.d.ts +1 -1
  587. package/node_modules/@fps-games/plugin-rendering/dist/version.js +1 -1
  588. package/node_modules/@fps-games/plugin-rendering/dist/version.js.map +1 -1
  589. package/node_modules/@fps-games/plugin-rendering/package.json +5 -5
  590. package/node_modules/@fps-games/plugin-scene/dist/reference.js.map +1 -1
  591. package/node_modules/@fps-games/plugin-scene/dist/runtime.js.map +1 -1
  592. package/node_modules/@fps-games/plugin-scene/dist/version.d.ts +1 -1
  593. package/node_modules/@fps-games/plugin-scene/dist/version.js +1 -1
  594. package/node_modules/@fps-games/plugin-scene/dist/version.js.map +1 -1
  595. package/node_modules/@fps-games/plugin-scene/package.json +5 -5
  596. package/node_modules/@fps-games/plugin-shadows/dist/reference.js.map +1 -1
  597. package/node_modules/@fps-games/plugin-shadows/dist/runtime.js.map +1 -1
  598. package/node_modules/@fps-games/plugin-shadows/dist/version.d.ts +1 -1
  599. package/node_modules/@fps-games/plugin-shadows/dist/version.js +1 -1
  600. package/node_modules/@fps-games/plugin-shadows/dist/version.js.map +1 -1
  601. package/node_modules/@fps-games/plugin-shadows/package.json +7 -7
  602. package/package.json +27 -19
@@ -1,6 +1,7 @@
1
1
  import { readPlayablePlatformAssetExternal, readPlayablePlatformAssetKind, readPlayablePlatformAssetPlacement, } from '../asset-bridge/index.js';
2
2
  import { PLAYABLE_FORGE_PLAY_COMMAND, PLAYABLE_FORGE_PLAY_EVENT, normalizePlayableForgePlayCommandName, readPlayableForgePlayRequestId, } from './forge-play.js';
3
3
  export function createPlayableProjectAssetCommandHandler(options = {}) {
4
+ let assetUpdateQueue = Promise.resolve();
4
5
  return async (context) => {
5
6
  const commandName = normalizePlayableForgePlayCommandName(context.name);
6
7
  if (commandName === PLAYABLE_FORGE_PLAY_COMMAND.ASSET_LIBRARY_REFRESH) {
@@ -11,11 +12,60 @@ export function createPlayableProjectAssetCommandHandler(options = {}) {
11
12
  await importPlayableProjectAsset(context, options);
12
13
  return;
13
14
  }
15
+ if (commandName === PLAYABLE_FORGE_PLAY_COMMAND.ASSET_UPDATE) {
16
+ const operation = assetUpdateQueue.then(() => updatePlayableProjectAsset(context, options));
17
+ assetUpdateQueue = operation.catch(() => undefined);
18
+ await operation;
19
+ return;
20
+ }
14
21
  if (commandName === PLAYABLE_FORGE_PLAY_COMMAND.EDITOR_ASSET_PLACE) {
15
22
  await placePlayableProjectAsset(context, options);
16
23
  }
17
24
  };
18
25
  }
26
+ async function updatePlayableProjectAsset(context, options) {
27
+ const requestId = readPlayableForgePlayRequestId(context.payload);
28
+ const payload = normalizePayload(context.payload, options);
29
+ try {
30
+ await context.ensureEditorMode();
31
+ await context.runWithAssetLoadingOverlay(async () => {
32
+ if (!options.registerAsset)
33
+ throw new Error('asset update registration is unavailable');
34
+ const registered = await options.registerAsset(payload);
35
+ if (!registered.contentHash)
36
+ throw new Error('asset_update_registration_missing_content_hash');
37
+ const refresh = await context.harness.refreshUpdatedAsset({
38
+ assetId: registered.assetId,
39
+ expectedContentHash: registered.contentHash,
40
+ });
41
+ context.postEvent(PLAYABLE_FORGE_PLAY_EVENT.ASSET_UPDATE_RESULT, {
42
+ ...(requestId ? { requestId } : {}),
43
+ ok: refresh.ok,
44
+ guid: registered.guid,
45
+ assetId: registered.assetId,
46
+ contentHash: registered.contentHash,
47
+ external: registered.external,
48
+ assetCount: refresh.assetCount,
49
+ reconciledBindingCount: refresh.reconciledBindingCount,
50
+ warnings: refresh.warnings,
51
+ status: refresh.status,
52
+ ...(refresh.error ? { error: refresh.error } : {}),
53
+ });
54
+ });
55
+ }
56
+ catch (error) {
57
+ const external = readFailureExternal(context.payload);
58
+ context.postEvent(PLAYABLE_FORGE_PLAY_EVENT.ASSET_UPDATE_RESULT, {
59
+ ...(requestId ? { requestId } : {}),
60
+ ok: false,
61
+ assetId: readOptionalString(payload.projectAssetId) ?? '',
62
+ ...(external ? { external } : {}),
63
+ reconciledBindingCount: 0,
64
+ warnings: [],
65
+ error: formatError(error),
66
+ });
67
+ }
68
+ }
19
69
  async function refreshPlayableProjectAssetLibrary(context, options) {
20
70
  const requestId = readPlayableForgePlayRequestId(context.payload);
21
71
  try {
@@ -65,15 +115,24 @@ async function importPlayableProjectAsset(context, options) {
65
115
  });
66
116
  }
67
117
  catch (error) {
118
+ const external = readFailureExternal(context.payload);
68
119
  context.postEvent(PLAYABLE_FORGE_PLAY_EVENT.ASSET_IMPORT_RESULT, {
69
120
  ...(requestId ? { requestId } : {}),
70
121
  ok: false,
71
122
  assetId: readOptionalString(payload.projectAssetId) ?? '',
72
- external: readPlayablePlatformAssetExternal(context.payload),
123
+ ...(external ? { external } : {}),
73
124
  error: formatError(error),
74
125
  });
75
126
  }
76
127
  }
128
+ function readFailureExternal(payload) {
129
+ try {
130
+ return readPlayablePlatformAssetExternal(payload);
131
+ }
132
+ catch {
133
+ return undefined;
134
+ }
135
+ }
77
136
  async function placePlayableProjectAsset(context, options) {
78
137
  const requestId = readPlayableForgePlayRequestId(context.payload);
79
138
  const payload = normalizePayload(context.payload, options);
@@ -1 +1 @@
1
- {"version":3,"file":"project-asset-commands.js","sourceRoot":"","sources":["../../src/local-harness/project-asset-commands.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"project-asset-commands.js","sourceRoot":"","sources":["../../src/local-harness/project-asset-commands.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n readPlayablePlatformAssetExternal,\n readPlayablePlatformAssetKind,\n readPlayablePlatformAssetPlacement,\n} from '../asset-bridge/index';\nimport type {\n PlayablePlatformAssetExternal,\n PlayablePlatformAssetPlacementOptions,\n} from '../asset-bridge/index';\nimport {\n PLAYABLE_FORGE_PLAY_COMMAND,\n PLAYABLE_FORGE_PLAY_EVENT,\n normalizePlayableForgePlayCommandName,\n readPlayableForgePlayRequestId,\n} from './forge-play';\nimport type {\n PlayableLocalEditorHostBridgeContext,\n PlayableLocalEditorHostHarness,\n} from './host-controller';\n\nexport interface PlayableProjectAssetCommandAsset {\n guid?: string;\n assetId: string;\n contentHash?: string;\n external?: PlayablePlatformAssetExternal;\n}\n\nexport interface PlayableProjectAssetCommandReloadResult {\n ok: boolean;\n assetCount: number;\n status: string;\n}\n\nexport interface PlayableProjectAssetCommandUpdateRefreshResult extends PlayableProjectAssetCommandReloadResult {\n assetId: string;\n reconciledBindingCount: number;\n warnings: Array<{\n code: string;\n gameObjectId?: string;\n slotId?: string;\n materialAssetId?: string;\n candidateSlotIds?: string[];\n }>;\n error?: string;\n}\n\nexport interface PlayableProjectAssetCommandCreateResult {\n ok: boolean;\n assetId: string;\n changed?: boolean;\n createdId?: string | null;\n status: string;\n error?: string;\n}\n\nexport interface PlayableProjectAssetCommandHarness extends PlayableLocalEditorHostHarness {\n reloadAssets(): Promise<PlayableProjectAssetCommandReloadResult>;\n refreshUpdatedAsset(input: {\n assetId: string;\n expectedContentHash: string;\n }): Promise<PlayableProjectAssetCommandUpdateRefreshResult>;\n createAssetFromAssetId(\n assetId: string,\n options?: { placement?: unknown },\n ): PlayableProjectAssetCommandCreateResult;\n}\n\nexport interface PlayableProjectAssetCommandHandlerOptions {\n normalizePayload?: (payload: Record<string, unknown>) => Record<string, unknown>;\n registerAssetIfNeeded?: (\n payload: Record<string, unknown>,\n ) => PlayableProjectAssetCommandAsset | Promise<PlayableProjectAssetCommandAsset>;\n registerAsset?: (\n payload: Record<string, unknown>,\n ) => PlayableProjectAssetCommandAsset | Promise<PlayableProjectAssetCommandAsset>;\n resolveAssetId?: (payload: Record<string, unknown>) => string | Promise<string>;\n placement?: PlayablePlatformAssetPlacementOptions;\n readPlacement?: (payload: Record<string, unknown>) => unknown;\n refreshFailedStatus?: string;\n}\n\nexport type PlayableProjectAssetCommandHandler<\n THarness extends PlayableProjectAssetCommandHarness = PlayableProjectAssetCommandHarness,\n> = (context: PlayableLocalEditorHostBridgeContext<THarness>) => Promise<void>;\n\nexport function createPlayableProjectAssetCommandHandler<\n THarness extends PlayableProjectAssetCommandHarness = PlayableProjectAssetCommandHarness,\n>(\n options: PlayableProjectAssetCommandHandlerOptions = {},\n): PlayableProjectAssetCommandHandler<THarness> {\n let assetUpdateQueue: Promise<void> = Promise.resolve();\n return async (context) => {\n const commandName = normalizePlayableForgePlayCommandName(context.name);\n if (commandName === PLAYABLE_FORGE_PLAY_COMMAND.ASSET_LIBRARY_REFRESH) {\n await refreshPlayableProjectAssetLibrary(context, options);\n return;\n }\n if (commandName === PLAYABLE_FORGE_PLAY_COMMAND.ASSET_IMPORT || commandName === PLAYABLE_FORGE_PLAY_COMMAND.ASSETS_LOADED) {\n await importPlayableProjectAsset(context, options);\n return;\n }\n if (commandName === PLAYABLE_FORGE_PLAY_COMMAND.ASSET_UPDATE) {\n const operation = assetUpdateQueue.then(() => updatePlayableProjectAsset(context, options));\n assetUpdateQueue = operation.catch(() => undefined);\n await operation;\n return;\n }\n if (commandName === PLAYABLE_FORGE_PLAY_COMMAND.EDITOR_ASSET_PLACE) {\n await placePlayableProjectAsset(context, options);\n }\n };\n}\n\nasync function updatePlayableProjectAsset<\n THarness extends PlayableProjectAssetCommandHarness,\n>(\n context: PlayableLocalEditorHostBridgeContext<THarness>,\n options: PlayableProjectAssetCommandHandlerOptions,\n): Promise<void> {\n const requestId = readPlayableForgePlayRequestId(context.payload);\n const payload = normalizePayload(context.payload, options);\n try {\n await context.ensureEditorMode();\n await context.runWithAssetLoadingOverlay(async () => {\n if (!options.registerAsset) throw new Error('asset update registration is unavailable');\n const registered = await options.registerAsset(payload);\n if (!registered.contentHash) throw new Error('asset_update_registration_missing_content_hash');\n const refresh = await context.harness.refreshUpdatedAsset({\n assetId: registered.assetId,\n expectedContentHash: registered.contentHash,\n });\n context.postEvent(PLAYABLE_FORGE_PLAY_EVENT.ASSET_UPDATE_RESULT, {\n ...(requestId ? { requestId } : {}),\n ok: refresh.ok,\n guid: registered.guid,\n assetId: registered.assetId,\n contentHash: registered.contentHash,\n external: registered.external,\n assetCount: refresh.assetCount,\n reconciledBindingCount: refresh.reconciledBindingCount,\n warnings: refresh.warnings,\n status: refresh.status,\n ...(refresh.error ? { error: refresh.error } : {}),\n });\n });\n } catch (error) {\n const external = readFailureExternal(context.payload);\n context.postEvent(PLAYABLE_FORGE_PLAY_EVENT.ASSET_UPDATE_RESULT, {\n ...(requestId ? { requestId } : {}),\n ok: false,\n assetId: readOptionalString(payload.projectAssetId) ?? '',\n ...(external ? { external } : {}),\n reconciledBindingCount: 0,\n warnings: [],\n error: formatError(error),\n });\n }\n}\n\nasync function refreshPlayableProjectAssetLibrary<\n THarness extends PlayableProjectAssetCommandHarness,\n>(\n context: PlayableLocalEditorHostBridgeContext<THarness>,\n options: PlayableProjectAssetCommandHandlerOptions,\n): Promise<void> {\n const requestId = readPlayableForgePlayRequestId(context.payload);\n try {\n await context.ensureEditorMode();\n await context.runWithAssetLoadingOverlay(async () => {\n const result = await context.harness.reloadAssets();\n context.postEvent(PLAYABLE_FORGE_PLAY_EVENT.ASSET_LIBRARY_REFRESHED, {\n ...(requestId ? { requestId } : {}),\n ...result,\n });\n });\n } catch (error) {\n context.postEvent(PLAYABLE_FORGE_PLAY_EVENT.ASSET_LIBRARY_REFRESHED, {\n ...(requestId ? { requestId } : {}),\n ok: false,\n assetCount: 0,\n status: options.refreshFailedStatus ?? 'Asset reload failed',\n error: formatError(error),\n });\n }\n}\n\nasync function importPlayableProjectAsset<\n THarness extends PlayableProjectAssetCommandHarness,\n>(\n context: PlayableLocalEditorHostBridgeContext<THarness>,\n options: PlayableProjectAssetCommandHandlerOptions,\n): Promise<void> {\n const requestId = readPlayableForgePlayRequestId(context.payload);\n const payload = normalizePayload(context.payload, options);\n try {\n await context.ensureEditorMode();\n await context.runWithAssetLoadingOverlay(async () => {\n const registered = await registerAssetIfNeeded(payload, options);\n const refresh = await context.harness.reloadAssets();\n const created = context.harness.createAssetFromAssetId(registered.assetId, {\n placement: readPlacement(payload, options),\n });\n const assetType = readPlayablePlatformAssetKind(payload);\n context.postEvent(PLAYABLE_FORGE_PLAY_EVENT.ASSET_IMPORT_RESULT, {\n ...(requestId ? { requestId } : {}),\n ok: created.ok,\n guid: registered.guid,\n assetId: registered.assetId,\n kind: assetType === 'texture' ? 'texture' : 'model',\n external: registered.external,\n nodeId: created.createdId ?? undefined,\n assetCount: refresh.assetCount,\n status: created.status,\n ...(created.error ? { error: created.error } : {}),\n });\n });\n } catch (error) {\n const external = readFailureExternal(context.payload);\n context.postEvent(PLAYABLE_FORGE_PLAY_EVENT.ASSET_IMPORT_RESULT, {\n ...(requestId ? { requestId } : {}),\n ok: false,\n assetId: readOptionalString(payload.projectAssetId) ?? '',\n ...(external ? { external } : {}),\n error: formatError(error),\n });\n }\n}\n\nfunction readFailureExternal(payload: Record<string, unknown>): PlayablePlatformAssetExternal | undefined {\n try {\n return readPlayablePlatformAssetExternal(payload);\n } catch {\n return undefined;\n }\n}\n\nasync function placePlayableProjectAsset<\n THarness extends PlayableProjectAssetCommandHarness,\n>(\n context: PlayableLocalEditorHostBridgeContext<THarness>,\n options: PlayableProjectAssetCommandHandlerOptions,\n): Promise<void> {\n const requestId = readPlayableForgePlayRequestId(context.payload);\n const payload = normalizePayload(context.payload, options);\n let assetId = readOptionalString(payload.projectAssetId) ?? '';\n try {\n await context.ensureEditorMode();\n await context.runWithAssetLoadingOverlay(async () => {\n assetId = await resolveAssetId(payload, options);\n const created = context.harness.createAssetFromAssetId(assetId, {\n placement: readPlacement(payload, options),\n });\n context.postEvent(PLAYABLE_FORGE_PLAY_EVENT.EDITOR_ASSET_PLACE_RESULT, {\n ...(requestId ? { requestId } : {}),\n ok: created.ok,\n assetId,\n nodeId: created.createdId ?? undefined,\n status: created.status,\n ...(created.error ? { error: created.error } : {}),\n });\n });\n } catch (error) {\n context.postEvent(PLAYABLE_FORGE_PLAY_EVENT.EDITOR_ASSET_PLACE_RESULT, {\n ...(requestId ? { requestId } : {}),\n ok: false,\n assetId,\n error: formatError(error),\n });\n }\n}\n\nfunction normalizePayload(\n payload: Record<string, unknown>,\n options: PlayableProjectAssetCommandHandlerOptions,\n): Record<string, unknown> {\n return options.normalizePayload?.(payload) ?? payload;\n}\n\nasync function registerAssetIfNeeded(\n payload: Record<string, unknown>,\n options: PlayableProjectAssetCommandHandlerOptions,\n): Promise<PlayableProjectAssetCommandAsset> {\n if (options.registerAssetIfNeeded) return options.registerAssetIfNeeded(payload);\n const assetId = readOptionalString(payload.projectAssetId);\n if (!assetId) throw new Error('projectAssetId is required when registerAssetIfNeeded is not provided');\n return {\n assetId,\n external: readPlayablePlatformAssetExternal(payload),\n };\n}\n\nasync function resolveAssetId(\n payload: Record<string, unknown>,\n options: PlayableProjectAssetCommandHandlerOptions,\n): Promise<string> {\n if (options.resolveAssetId) return options.resolveAssetId(payload);\n const assetId = readOptionalString(payload.projectAssetId);\n if (!assetId) throw new Error('projectAssetId is required to place an editor asset');\n return assetId;\n}\n\nfunction readPlacement(\n payload: Record<string, unknown>,\n options: PlayableProjectAssetCommandHandlerOptions,\n): unknown {\n return options.readPlacement\n ? options.readPlacement(payload)\n : readPlayablePlatformAssetPlacement(payload, options.placement);\n}\n\nfunction formatError(error: unknown): string {\n return error instanceof Error ? error.message : String(error);\n}\n\nfunction readOptionalString(value: unknown): string | undefined {\n return typeof value === 'string' && value.trim() ? value.trim() : undefined;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"timing.js","sourceRoot":"","sources":["../../src/local-harness/timing.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,+BAA+B;IAC7C,MAAM,YAAY,GAAG,UAAU,CAAC,qBAAqB,CAAC;IACtD,IAAI,OAAO,YAAY,KAAK,UAAU;QAAE,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IACjE,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE;QAC3B,YAAY,CAAC,GAAG,EAAE;YAChB,YAAY,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;QAChC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,YAAoB;IAC9D,IAAI,YAAY,IAAI,CAAC;QAAE,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAChD,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC;AAC9E,CAAC"}
1
+ {"version":3,"file":"timing.js","sourceRoot":"","sources":["../../src/local-harness/timing.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,+BAA+B;IAC7C,MAAM,YAAY,GAAG,UAAU,CAAC,qBAAqB,CAAC;IACtD,IAAI,OAAO,YAAY,KAAK,UAAU;QAAE,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IACjE,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE;QAC3B,YAAY,CAAC,GAAG,EAAE;YAChB,YAAY,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;QAChC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,YAAoB;IAC9D,IAAI,YAAY,IAAI,CAAC;QAAE,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAChD,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC;AAC9E,CAAC","sourcesContent":["export function waitForPlayableLocalEditorPaint(): Promise<void> {\n const requestFrame = globalThis.requestAnimationFrame;\n if (typeof requestFrame !== 'function') return Promise.resolve();\n return new Promise(resolve => {\n requestFrame(() => {\n requestFrame(() => resolve());\n });\n });\n}\n\nexport function waitForPlayableMilliseconds(milliseconds: number): Promise<void> {\n if (milliseconds <= 0) return Promise.resolve();\n return new Promise(resolve => globalThis.setTimeout(resolve, milliseconds));\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/local-harness/types.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/local-harness/types.ts"],"names":[],"mappings":"","sourcesContent":["import type {\n FpsEditorLifecycleResourceDisposer,\n FpsEditorLifecycleCoordinator,\n FpsEditorLifecycleScopeType,\n FpsEditorLifecycleService,\n} from '@fps-games/editor-core/lifecycle';\nimport type { FpsEditorEventPublisher } from '@fps-games/editor-core/events';\nimport type { FpsDiagnostic } from '@fps-games/plugin-api';\n\nexport type PlayableLocalEditorLoadingOverlayPresentation = 'panel' | 'editor-shell';\n\nexport interface PlayableLocalEditorLoadingOverlayContent {\n title: string;\n description: string;\n presentation?: PlayableLocalEditorLoadingOverlayPresentation;\n}\n\nexport interface PlayableLocalEditorLoadingOverlayController {\n show(content: PlayableLocalEditorLoadingOverlayContent): void;\n hide(): void;\n isVisible(): boolean;\n isOwned?(): boolean;\n dispose(): void;\n}\n\nexport type PlayableLocalEditorDataSafetyOperation =\n | 'save-scene'\n | 'save-and-run-game'\n | 'discard-and-run-game'\n | 'forge-play-mode-change'\n | 'forge-play-document-export'\n | 'forge-play-document-commit';\n\nexport interface PlayableLocalEditorUnsavedChangesState {\n dirty: boolean;\n hasWorkingDocument: boolean;\n}\n\nexport interface PlayableLocalEditorSaveFailureState {\n status?: string;\n details?: string;\n error?: unknown;\n}\n\nexport interface PlayableLocalEditorSaveFailureInput extends PlayableLocalEditorSaveFailureState {\n operation: PlayableLocalEditorDataSafetyOperation;\n}\n\nexport interface PlayableLocalEditorDiscardConfirmationInput {\n operation: PlayableLocalEditorDataSafetyOperation;\n unsavedChanges: PlayableLocalEditorUnsavedChangesState;\n}\n\nexport interface PlayableLocalEditorInteractionPolicy {\n confirmDiscardUnsavedChanges?(\n input: PlayableLocalEditorDiscardConfirmationInput,\n ): boolean | Promise<boolean>;\n notifySaveFailed?(\n input: PlayableLocalEditorSaveFailureInput,\n ): void | Promise<void>;\n}\n\nexport interface PlayableLocalEditorLifecycleHarness {\n enterEditor(): Promise<void>;\n saveScene(): Promise<boolean>;\n discardAndRunGame(): Promise<void>;\n render(): void;\n notifyViewportRevealed?(reason?: string): void;\n getUnsavedChangesState?(): PlayableLocalEditorUnsavedChangesState;\n getSaveFailureState?(): PlayableLocalEditorSaveFailureState | null;\n}\n\nexport interface PlayableLocalEditorLifecycleOperations {\n runGame(reason: 'save' | 'discard'): Promise<void>;\n attachApplicationAuthority?(): void;\n attachSessionAuthority?(): void;\n loadDocument?(): Promise<void>;\n enterWorld?(): Promise<void>;\n restoreDocument?(): Promise<void>;\n markDocumentCommitted?(expectedDocumentFingerprint: string | null): Promise<void>;\n}\n\nexport interface PlayableLocalEditorLifecycleContent {\n enter: PlayableLocalEditorLoadingOverlayContent;\n saveAndRunGame: PlayableLocalEditorLoadingOverlayContent;\n discardAndRunGame: PlayableLocalEditorLoadingOverlayContent;\n assetImport: PlayableLocalEditorLoadingOverlayContent;\n}\n\nexport interface PlayableLocalEditorLifecycleControllerOptions {\n harness: PlayableLocalEditorLifecycleHarness;\n operations: PlayableLocalEditorLifecycleOperations;\n scopeHost?: PlayableLocalEditorLifecycleScopeHost;\n eventPublisher?: FpsEditorEventPublisher;\n reportDiagnostic?: (diagnostic: FpsDiagnostic) => void;\n loadingOverlay: Pick<PlayableLocalEditorLoadingOverlayController, 'show' | 'hide' | 'isVisible'> & {\n isOwned?: () => boolean;\n };\n content: PlayableLocalEditorLifecycleContent;\n interactions?: PlayableLocalEditorInteractionPolicy;\n waitForPaint?: () => Promise<void>;\n waitForMilliseconds?: (milliseconds: number) => Promise<void>;\n now?: () => number;\n minAssetLoadingOverlayMs?: number;\n viewportRevealReason?: string;\n /** Set false when harness.enterEditor already renders the initial editor frame. */\n renderAfterEnter?: boolean;\n initialMode?: 'play' | 'edit';\n}\n\nexport type PlayableLocalEditorPreparedRun =\n | { accepted: false }\n | { accepted: true; run(): Promise<void> };\n\nexport interface PlayableLocalEditorLifecycleOperationContext {\n readonly traceId?: string;\n readonly transactionId?: string;\n readonly sourcePluginId?: string;\n}\n\nexport interface PlayableLocalEditorLifecycleScopeInput {\n readonly id: string;\n readonly scope: FpsEditorLifecycleScopeType;\n readonly parentId?: string;\n}\n\nexport interface PlayableLocalEditorLifecycleScopeHost {\n openScope(input: PlayableLocalEditorLifecycleScopeInput): Promise<void>;\n reserveScopeClose(scopeId: string): void;\n closeScope(scopeId: string): Promise<void>;\n}\n\nexport interface PlayableLocalEditorLifecycleController {\n readonly lifecycle: FpsEditorLifecycleService;\n registerParticipant: FpsEditorLifecycleCoordinator['registerParticipant'];\n enterEditor(context?: PlayableLocalEditorLifecycleOperationContext): Promise<void>;\n saveScene(\n operation?: PlayableLocalEditorDataSafetyOperation,\n context?: PlayableLocalEditorLifecycleOperationContext,\n ): Promise<boolean>;\n synchronizeDocumentState(dirty: boolean): Promise<void>;\n prepareDocumentSave(\n operation: () => Promise<void>,\n context?: PlayableLocalEditorLifecycleOperationContext,\n ): Promise<void>;\n commitDocumentSave(\n operation?: () => Promise<void>,\n context?: PlayableLocalEditorLifecycleOperationContext,\n ): Promise<void>;\n runCommittedDocument(context?: PlayableLocalEditorLifecycleOperationContext): Promise<void>;\n prepareSaveAndRunGame(context?: PlayableLocalEditorLifecycleOperationContext): Promise<PlayableLocalEditorPreparedRun>;\n prepareDiscardAndRunGame(context?: PlayableLocalEditorLifecycleOperationContext): Promise<PlayableLocalEditorPreparedRun>;\n saveAndRunGame(context?: PlayableLocalEditorLifecycleOperationContext): Promise<boolean>;\n discardAndRunGame(context?: PlayableLocalEditorLifecycleOperationContext): Promise<boolean>;\n openScope(input: PlayableLocalEditorLifecycleScopeInput): Promise<void>;\n addScopeResource(\n scopeId: string,\n disposer: FpsEditorLifecycleResourceDisposer,\n ): FpsEditorLifecycleResourceDisposer;\n closeScope(scopeId: string): Promise<void>;\n dispose(context?: PlayableLocalEditorLifecycleOperationContext): Promise<void>;\n runWithAssetLoadingOverlay<T>(operation: () => Promise<T>): Promise<T>;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"facade.js","sourceRoot":"","sources":["../../src/marker-scene/facade.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"facade.js","sourceRoot":"","sources":["../../src/marker-scene/facade.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n cloneMarkerGraphCommand,\n createEditorSceneMarkerGraphPatchLabel,\n getEditorSceneMarkerGraphPatchSelection,\n isEditorSceneMarkerGraphCommandSupported,\n normalizeEditorSceneMarkerGraph,\n normalizeEditorSceneMarkerGraphCommand,\n reduceEditorSceneMarkerGraph,\n type EditorCoreMarkerGraphCommand,\n} from '@fps-games/editor-core';\nimport type {\n SpatialMarkerGraph,\n SpatialMarkerNode,\n SpatialMarkerTypeDefinition,\n} from '@fps-games/editor-protocol';\n\nimport type {\n EditorSceneDocument,\n EditorSceneGameObject,\n} from '../document/index';\nimport {\n createSceneObjectMarkerTargetRef,\n createSpatialMarkerGeometryForPresentation,\n createSpatialMarkerGeometryForTargetPatch,\n isEditorSceneMarkerGameObject,\n resolveMarkerNodeKindForType,\n sanitizeMarkerGameObjectId,\n type EditorSceneMarkerSceneOptions,\n} from './geometry';\nimport {\n createSpatialMarkerFromGameObject,\n createSpatialMarkersFromGameObjects,\n reduceEditorSceneMarkerGameObjectCommand,\n syncEditorSceneMarkerGraphDocument,\n} from './game-objects';\n\nexport interface PlayableEditorSceneMarkerGraphFacadePatchResult<TPatch> {\n patch: TPatch;\n label: string;\n changedId?: string;\n changedIds?: string[];\n selectId?: string | null;\n}\n\nexport interface PlayableEditorSceneMarkerGraphFacade<\n TDocument extends EditorSceneDocument = EditorSceneDocument,\n TPatch = unknown,\n> {\n getMarkerGraph(document: TDocument): SpatialMarkerGraph;\n getMarkerTypeCatalog(document?: TDocument): SpatialMarkerTypeDefinition[];\n createMarkerGraphPatch(\n document: TDocument,\n command: EditorCoreMarkerGraphCommand,\n ): PlayableEditorSceneMarkerGraphFacadePatchResult<TPatch> | null;\n createMarkerTypeUpdateCommand(\n document: TDocument,\n markerId: string,\n markerType: string,\n ): EditorCoreMarkerGraphCommand | null;\n createMarkerTargetUpdateCommand(\n document: TDocument,\n markerId: string,\n objectId: string,\n ): EditorCoreMarkerGraphCommand | null;\n resolveMarkerKind(document: TDocument, markerType: string, authoredKind?: string): string;\n reduceMarkerGraphPatch(document: TDocument, command: EditorCoreMarkerGraphCommand): TDocument;\n syncMarkerGraphDocument(document: TDocument): TDocument;\n}\n\nexport function createPlayableEditorSceneMarkerGraphFacade<\n TDocument extends EditorSceneDocument = EditorSceneDocument,\n TPatch = unknown,\n>(\n input: {\n options: EditorSceneMarkerSceneOptions;\n createPatch: (command: EditorCoreMarkerGraphCommand) => TPatch;\n getMarkerTypeCatalogFromGraph: (graph?: SpatialMarkerGraph | null) => SpatialMarkerTypeDefinition[];\n },\n): PlayableEditorSceneMarkerGraphFacade<TDocument, TPatch> {\n const getMarkerTypeCatalog = (document?: TDocument) => (\n input.getMarkerTypeCatalogFromGraph(readPlayableEditorSceneMarkerGraph(document))\n );\n const getMarkerGraph = (document: TDocument): SpatialMarkerGraph => {\n const graph = normalizeEditorSceneMarkerGraph(readPlayableEditorSceneMarkerGraph(document));\n const markersById = new Map<string, SpatialMarkerNode>();\n for (const marker of graph.markers) markersById.set(marker.id, marker);\n for (const marker of createSpatialMarkersFromGameObjects(document, input.options)) {\n markersById.set(marker.id, marker);\n }\n return {\n ...graph,\n markers: [...markersById.values()],\n };\n };\n return {\n getMarkerGraph,\n getMarkerTypeCatalog,\n createMarkerGraphPatch(document, command) {\n const normalizedCommand = normalizeEditorSceneMarkerGraphCommand(document, command, {\n sanitizeMarkerGameObjectId,\n }) as EditorCoreMarkerGraphCommand;\n if (!isEditorSceneMarkerGraphCommandSupported(\n document,\n normalizedCommand,\n getMarkerGraph(document),\n {\n builtInMarkerTypes: input.options.builtInMarkerTypes,\n isMarkerGameObject: gameObject => isEditorSceneMarkerGameObject(gameObject as EditorSceneGameObject | null | undefined),\n },\n )) {\n return null;\n }\n return {\n patch: input.createPatch(cloneMarkerGraphCommand(normalizedCommand) as EditorCoreMarkerGraphCommand),\n label: createEditorSceneMarkerGraphPatchLabel(normalizedCommand),\n ...getEditorSceneMarkerGraphPatchSelection(normalizedCommand),\n };\n },\n createMarkerTypeUpdateCommand(document, markerId, markerType) {\n const gameObject = document.scene.gameObjects.find(candidate => candidate.id === markerId) ?? null;\n if (!isEditorSceneMarkerGameObject(gameObject)) return null;\n const nextMarkerType = markerType.trim();\n const markerTypeDefinition = nextMarkerType\n ? getMarkerTypeCatalog(document).find(definition => definition.type === nextMarkerType) ?? null\n : null;\n if (nextMarkerType && !markerTypeDefinition) return null;\n const nextKind = resolveMarkerNodeKindForType(document, nextMarkerType, gameObject.marker.kind, input.options);\n const currentMarker = createSpatialMarkerFromGameObject(document, gameObject, input.options);\n const nextGeometry = createSpatialMarkerGeometryForPresentation(\n document,\n gameObject,\n nextKind,\n currentMarker.geometry,\n input.options,\n );\n return {\n type: 'marker.update',\n markerId,\n patch: {\n markerType: nextMarkerType,\n kind: nextKind,\n geometry: nextGeometry,\n },\n };\n },\n createMarkerTargetUpdateCommand(document, markerId, objectId) {\n const gameObject = document.scene.gameObjects.find(candidate => candidate.id === markerId) ?? null;\n if (!isEditorSceneMarkerGameObject(gameObject)) return null;\n const nextObjectId = objectId.trim();\n const target = nextObjectId ? createSceneObjectMarkerTargetRef(document, nextObjectId) : null;\n if (nextObjectId && !target) return null;\n const currentMarker = createSpatialMarkerFromGameObject(document, gameObject, input.options);\n const markerKind = resolveMarkerNodeKindForType(document, gameObject.marker.type, gameObject.marker.kind, input.options);\n const geometry = createSpatialMarkerGeometryForTargetPatch(document, gameObject, currentMarker.geometry, markerKind, target);\n return {\n type: 'marker.update',\n markerId,\n patch: {\n target: target ?? undefined,\n geometry,\n },\n };\n },\n resolveMarkerKind(document, markerType, authoredKind) {\n return resolveMarkerNodeKindForType(document, markerType, authoredKind, input.options);\n },\n reduceMarkerGraphPatch(document, command) {\n const markerObjectDocument = reduceEditorSceneMarkerGameObjectCommand(document, command, input.options) as TDocument | null;\n if (markerObjectDocument) return markerObjectDocument;\n const graph = getMarkerGraph(document);\n const nextGraph = reduceEditorSceneMarkerGraph(graph, command, input.options);\n return {\n ...document,\n scene: {\n ...document.scene,\n markerGraph: nextGraph,\n },\n };\n },\n syncMarkerGraphDocument(document) {\n return syncEditorSceneMarkerGraphDocument(document, input.options) as TDocument;\n },\n };\n}\n\nfunction readPlayableEditorSceneMarkerGraph(\n document?: EditorSceneDocument,\n): SpatialMarkerGraph | null | undefined {\n return document?.scene.markerGraph as SpatialMarkerGraph | null | undefined;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"game-objects.js","sourceRoot":"","sources":["../../src/marker-scene/game-objects.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"game-objects.js","sourceRoot":"","sources":["../../src/marker-scene/game-objects.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n areMarkerGraphsEqual,\n collectEditorSceneGameObjectSubtreeIds,\n cloneMarker,\n isDeletedRelationEndpoint,\n isRelationEndpointValid,\n isTargetRefValid,\n normalizeEditorSceneMarkerGraph,\n rewriteMarkerRelationIds,\n rewriteSpatialMarkerTargetRefs,\n withEditorSceneMarkerGraph,\n type EditorCoreMarkerGraphCommand,\n} from '@fps-games/editor-core';\nimport type {\n SpatialMarkerGeometry,\n SpatialMarkerGraph,\n SpatialMarkerNode,\n} from '@fps-games/editor-protocol';\n\nimport type { EditorSceneDocument, EditorSceneGameObject, EditorSceneMarkerConfig, EditorSceneVec3 } from '../document/index';\nimport {\n addVec3,\n cloneVec3,\n createDefaultMarkerScaleForKind,\n createEditorSceneMarkerGeometry,\n createMarkerSemanticFrameFromTransform,\n createObjectBoundSemanticFrame,\n createSpatialMarkerGeometryForPresentation,\n createVec3,\n getEditorSceneGameObjectWorldTrsTransform,\n isEditorSceneMarkerGameObject,\n normalizeMarkerBoxSize,\n readMarkerGameObjectScale,\n readSpatialMarkerTransformPosition,\n readSpatialMarkerTransformRotation,\n readSpatialMarkerTransformScale,\n resolveMarkerGeometryKindForPresentation,\n resolveMarkerNodeKindForType,\n sanitizeMarkerGameObjectId,\n shouldApplyMarkerDefaultScaleOnPresentationChange,\n shouldPreserveTransformForMarkerGeometry,\n toEditorSceneLocalTrsTransformForParent,\n type EditorSceneMarkerSceneOptions,\n} from './geometry';\n\nexport function syncEditorSceneMarkerGraphDocument(\n document: EditorSceneDocument,\n options: EditorSceneMarkerSceneOptions = {},\n): EditorSceneDocument {\n const normalizedMarkerObjects = normalizeEditorSceneMarkerGameObjects(document, options);\n if (normalizedMarkerObjects !== document) return syncEditorSceneMarkerGraphDocument(normalizedMarkerObjects, options);\n const migrated = migrateEditorSceneMarkerGraphMarkersToGameObjects(document);\n if (migrated !== document) return syncEditorSceneMarkerGraphDocument(migrated, options);\n const originalGraph = readEditorSceneMarkerGraph(document);\n if (!originalGraph) return document;\n const graph = normalizeEditorSceneMarkerGraph(originalGraph);\n const nextGraph = syncEditorSceneMarkerGraph(document, graph);\n return areMarkerGraphsEqual(originalGraph, nextGraph)\n ? document\n : withEditorSceneMarkerGraph(document, nextGraph);\n}\n\nexport function migrateEditorSceneMarkerGraphMarkersToGameObjects(document: EditorSceneDocument): EditorSceneDocument {\n const authoredGraph = readEditorSceneMarkerGraph(document);\n const graph = authoredGraph ? normalizeEditorSceneMarkerGraph(authoredGraph) : null;\n if (!graph || graph.markers.length === 0) return document;\n\n const existingIds = new Set(document.scene.gameObjects.map(gameObject => gameObject.id));\n const markerIdMap = new Map<string, string>();\n const markerGameObjectPlans: Array<{ marker: SpatialMarkerNode; gameObjectId: string }> = [];\n\n for (const marker of graph.markers) {\n if (document.scene.gameObjects.some(gameObject => gameObject.id === marker.id && isEditorSceneMarkerGameObject(gameObject))) {\n markerIdMap.set(marker.id, marker.id);\n continue;\n }\n const gameObjectId = existingIds.has(marker.id)\n ? createUniqueMarkerGameObjectId(marker.id, existingIds)\n : marker.id;\n existingIds.add(gameObjectId);\n markerIdMap.set(marker.id, gameObjectId);\n markerGameObjectPlans.push({ marker, gameObjectId });\n }\n const markerGameObjects = markerGameObjectPlans.map(plan => (\n createMarkerGameObjectFromSpatialMarker(document, rewriteSpatialMarkerTargetRefs(plan.marker, markerIdMap), plan.gameObjectId, null)\n ));\n\n const nextGraph = normalizeEditorSceneMarkerGraph({\n ...graph,\n markers: [],\n relations: graph.relations.map(relation => rewriteMarkerRelationIds(relation, markerIdMap)),\n });\n\n return {\n ...document,\n scene: {\n ...document.scene,\n gameObjects: [...document.scene.gameObjects, ...markerGameObjects],\n markerGraph: nextGraph,\n },\n };\n}\n\nexport function syncEditorSceneMarkerGraph(\n document: EditorSceneDocument,\n graph: SpatialMarkerGraph,\n): SpatialMarkerGraph {\n const objectIds = new Set(document.scene.gameObjects.map(gameObject => gameObject.id));\n const markers = graph.markers.filter(marker => isMarkerSceneObjectTargetValid(marker, objectIds));\n const markerIds = new Set([\n ...markers.map(marker => marker.id),\n ...document.scene.gameObjects.filter(isEditorSceneMarkerGameObject).map(gameObject => gameObject.id),\n ]);\n const relations = graph.relations.filter(relation => (\n isRelationEndpointValid(relation.from, objectIds, markerIds)\n && isRelationEndpointValid(relation.to, objectIds, markerIds)\n ));\n return {\n ...graph,\n markers,\n relations,\n };\n}\n\nfunction isMarkerSceneObjectTargetValid(marker: SpatialMarkerNode, objectIds: Set<string>): boolean {\n if (!isTargetRefValid(marker.target, objectIds)) return false;\n switch (marker.geometry.kind) {\n case 'object-bounds':\n return isTargetRefValid(marker.geometry.target, objectIds);\n case 'point':\n return isTargetRefValid(marker.geometry.target, objectIds);\n case 'box':\n case 'polyhedron':\n return true;\n }\n}\n\nexport function reduceEditorSceneMarkerGameObjectCommand(\n document: EditorSceneDocument,\n command: EditorCoreMarkerGraphCommand,\n options: EditorSceneMarkerSceneOptions = {},\n): EditorSceneDocument | null {\n switch (command.type) {\n case 'marker.create-box':\n return createEditorSceneMarkerGameObjectDocument(document, command.marker, command.parentId ?? null);\n case 'marker.update':\n return updateEditorSceneMarkerGameObject(document, command.markerId, command.patch, options);\n case 'marker.delete':\n return deleteEditorSceneMarkerGameObject(document, command.markerId);\n default:\n return null;\n }\n}\n\nexport function createEditorSceneMarkerGameObjectDocument(\n document: EditorSceneDocument,\n marker: SpatialMarkerNode,\n parentId: string | null,\n): EditorSceneDocument | null {\n if (document.scene.gameObjects.some(gameObject => gameObject.id === marker.id)) return null;\n const markerGraph = normalizeEditorSceneMarkerGraph(readEditorSceneMarkerGraph(document));\n const markerGameObject = createMarkerGameObjectFromSpatialMarker(document, marker, marker.id, parentId);\n const nextDocument = {\n ...document,\n scene: {\n ...document.scene,\n gameObjects: [...document.scene.gameObjects, markerGameObject],\n },\n };\n return withEditorSceneMarkerGraph(nextDocument, {\n ...markerGraph,\n markers: markerGraph.markers.filter(candidate => candidate.id !== marker.id),\n });\n}\n\nexport function updateEditorSceneMarkerGameObject(\n document: EditorSceneDocument,\n markerId: string,\n patch: Partial<Omit<SpatialMarkerNode, 'id'>>,\n options: EditorSceneMarkerSceneOptions = {},\n): EditorSceneDocument | null {\n const gameObject = document.scene.gameObjects.find(candidate => candidate.id === markerId) ?? null;\n if (!isEditorSceneMarkerGameObject(gameObject)) return null;\n const currentMarker = createSpatialMarkerFromGameObject(document, gameObject, options);\n const nextMarker = cloneMarker({\n ...currentMarker,\n ...patch,\n id: currentMarker.id,\n geometry: patch.geometry ?? currentMarker.geometry,\n });\n const nextGameObject = patchMarkerGameObjectFromSpatialMarker(document, gameObject, nextMarker, options);\n return {\n ...document,\n scene: {\n ...document.scene,\n gameObjects: document.scene.gameObjects.map(candidate => (\n candidate.id === markerId ? nextGameObject : candidate\n )),\n },\n };\n}\n\nexport function deleteEditorSceneMarkerGameObject(\n document: EditorSceneDocument,\n markerId: string,\n): EditorSceneDocument | null {\n const gameObject = document.scene.gameObjects.find(candidate => candidate.id === markerId) ?? null;\n if (!isEditorSceneMarkerGameObject(gameObject)) return null;\n const deleteIds = collectEditorSceneGameObjectSubtreeIds(document, markerId);\n const graph = normalizeEditorSceneMarkerGraph(readEditorSceneMarkerGraph(document));\n return {\n ...document,\n scene: {\n ...document.scene,\n gameObjects: document.scene.gameObjects.filter(candidate => !deleteIds.has(candidate.id)),\n markerGraph: {\n ...graph,\n markers: [],\n relations: graph.relations.filter(relation => (\n !isDeletedRelationEndpoint(relation.from, deleteIds)\n && !isDeletedRelationEndpoint(relation.to, deleteIds)\n )),\n },\n },\n };\n}\n\nexport function normalizeEditorSceneMarkerGameObjects(\n document: EditorSceneDocument,\n options: EditorSceneMarkerSceneOptions = {},\n): EditorSceneDocument {\n let changed = false;\n const gameObjects = document.scene.gameObjects.map((gameObject) => {\n if (!isEditorSceneMarkerGameObject(gameObject)) return gameObject;\n const normalized = normalizeEditorSceneMarkerGameObject(document, gameObject, options);\n if (normalized !== gameObject) changed = true;\n return normalized;\n });\n return changed\n ? {\n ...document,\n scene: {\n ...document.scene,\n gameObjects,\n },\n }\n : document;\n}\n\nexport function normalizeEditorSceneMarkerGameObject(\n document: EditorSceneDocument,\n gameObject: EditorSceneGameObject & { marker: EditorSceneMarkerConfig },\n options: EditorSceneMarkerSceneOptions = {},\n): EditorSceneGameObject {\n return normalizeEditorSceneMarkerPresentation(document, gameObject, options);\n}\n\nexport function createMarkerGameObjectFromSpatialMarker(\n document: EditorSceneDocument,\n marker: SpatialMarkerNode,\n gameObjectId: string,\n parentId: string | null,\n): EditorSceneGameObject {\n const fallbackScale = createDefaultMarkerScaleForKind(marker.kind);\n const markerTransform = {\n position: readSpatialMarkerTransformPosition(marker.geometry),\n rotation: readSpatialMarkerTransformRotation(marker.geometry),\n scale: readSpatialMarkerTransformScale(marker.geometry, fallbackScale),\n };\n const localTransform = parentId\n ? toEditorSceneLocalTrsTransformForParent(document, parentId, markerTransform) ?? markerTransform\n : markerTransform;\n return {\n id: gameObjectId,\n name: marker.label || marker.id,\n kind: 'transform',\n ...(parentId ? { parentId } : {}),\n active: true,\n marker: createEditorSceneMarkerConfig(marker),\n components: [{ type: 'Transform', ...localTransform }],\n };\n}\n\nexport function patchMarkerGameObjectFromSpatialMarker(\n document: EditorSceneDocument,\n gameObject: EditorSceneGameObject,\n marker: SpatialMarkerNode,\n options: EditorSceneMarkerSceneOptions = {},\n): EditorSceneGameObject {\n const currentWorldScale = getEditorSceneGameObjectWorldTrsTransform(document, gameObject.id)?.scale ?? readMarkerGameObjectScale(gameObject);\n const scaleFallback = shouldApplyMarkerDefaultScaleOnPresentationChange(document, gameObject, marker, options)\n ? createDefaultMarkerScaleForKind(marker.kind)\n : currentWorldScale;\n return {\n ...gameObject,\n name: marker.label || gameObject.name || marker.id,\n kind: 'transform',\n marker: createEditorSceneMarkerConfig(marker),\n components: patchMarkerGameObjectTransformComponents(document, gameObject, gameObject.components, marker.geometry, scaleFallback),\n };\n}\n\nexport function patchMarkerGameObjectTransformComponents(\n document: EditorSceneDocument,\n gameObject: EditorSceneGameObject,\n components: EditorSceneGameObject['components'],\n geometry: SpatialMarkerGeometry,\n fallbackScale?: EditorSceneVec3,\n): EditorSceneGameObject['components'] {\n const currentScale = fallbackScale ?? readMarkerGameObjectScale(gameObject);\n const currentWorldTransform = getEditorSceneGameObjectWorldTrsTransform(document, gameObject.id);\n const worldTransform = {\n position: shouldPreserveTransformForMarkerGeometry(geometry)\n ? cloneVec3(currentWorldTransform?.position ?? readSpatialMarkerTransformPosition(geometry))\n : readSpatialMarkerTransformPosition(geometry),\n rotation: shouldPreserveTransformForMarkerGeometry(geometry)\n ? cloneVec3(currentWorldTransform?.rotation ?? readSpatialMarkerTransformRotation(geometry))\n : readSpatialMarkerTransformRotation(geometry),\n scale: readSpatialMarkerTransformScale(geometry, currentScale),\n };\n const localTransform = toEditorSceneLocalTrsTransformForParent(document, gameObject.parentId, worldTransform) ?? worldTransform;\n let patched = false;\n const nextComponents = components.map((component) => {\n if (component.type !== 'Transform') return component;\n patched = true;\n return {\n ...component,\n position: localTransform.position,\n rotation: localTransform.rotation,\n scale: localTransform.scale,\n };\n });\n return patched\n ? nextComponents\n : [\n ...nextComponents,\n {\n type: 'Transform',\n position: localTransform.position,\n rotation: localTransform.rotation,\n scale: localTransform.scale,\n },\n ];\n}\n\nexport function normalizeEditorSceneMarkerPresentation(\n document: EditorSceneDocument,\n gameObject: EditorSceneGameObject & { marker: EditorSceneMarkerConfig },\n options: EditorSceneMarkerSceneOptions = {},\n): EditorSceneGameObject {\n if (gameObject.marker.geometry.kind === 'polyhedron') return gameObject;\n const nextKind = resolveMarkerNodeKindForType(document, gameObject.marker.type, gameObject.marker.kind, options);\n const nextGeometryKind = resolveMarkerGeometryKindForPresentation(gameObject.marker, nextKind);\n if ((gameObject.marker.kind ?? 'point') === nextKind && gameObject.marker.geometry.kind === nextGeometryKind) {\n return gameObject;\n }\n const currentMarker = createSpatialMarkerFromGameObject(document, gameObject, options);\n const nextMarker = cloneMarker({\n ...currentMarker,\n kind: nextKind,\n markerType: gameObject.marker.type.trim(),\n geometry: createSpatialMarkerGeometryForPresentation(document, gameObject, nextKind, currentMarker.geometry, options),\n });\n return patchMarkerGameObjectFromSpatialMarker(document, gameObject, nextMarker, options);\n}\n\nexport function createSpatialMarkersFromGameObjects(\n document: EditorSceneDocument,\n options: EditorSceneMarkerSceneOptions = {},\n): SpatialMarkerNode[] {\n return document.scene.gameObjects\n .filter(isEditorSceneMarkerGameObject)\n .map(gameObject => createSpatialMarkerFromGameObject(document, gameObject, options));\n}\n\nexport function createSpatialMarkerFromGameObject(\n document: EditorSceneDocument,\n gameObject: EditorSceneGameObject,\n options: EditorSceneMarkerSceneOptions = {},\n): SpatialMarkerNode {\n const marker = gameObject.marker!;\n const metadata = marker.metadata ? structuredClone(marker.metadata) : {};\n const targetSemanticFrame = marker.geometry.kind === 'object-bounds'\n ? createObjectBoundSemanticFrame(document, marker)\n : null;\n const semanticFrame = targetSemanticFrame\n ?? (marker.semanticFrame\n ? structuredClone(marker.semanticFrame)\n : createMarkerSemanticFrameFromTransform(document, gameObject));\n if (marker.color) metadata.color = { ...marker.color } as any;\n if (marker.note !== undefined) metadata.note = marker.note;\n return {\n id: gameObject.id,\n kind: resolveMarkerNodeKindForType(document, marker.type, marker.kind, options),\n markerType: marker.type,\n label: gameObject.name ?? gameObject.id,\n geometry: createSpatialMarkerGeometryFromGameObject(document, gameObject),\n ...(marker.target ? { target: structuredClone(marker.target) } : {}),\n ...(semanticFrame ? { semanticFrame } : {}),\n ...(marker.tags?.length ? { tags: [...marker.tags] } : {}),\n ...(Object.keys(metadata).length > 0 ? { metadata: metadata as any } : {}),\n };\n}\n\nexport function createSpatialMarkerGeometryFromGameObject(\n document: EditorSceneDocument,\n gameObject: EditorSceneGameObject,\n): SpatialMarkerGeometry {\n const marker = gameObject.marker!;\n const transform = getEditorSceneGameObjectWorldTrsTransform(document, gameObject.id);\n const position = transform?.position ?? createVec3(0, 0, 0);\n const rotation = transform?.rotation ?? createVec3(0, 0, 0);\n const scale = transform?.scale ?? readMarkerGameObjectScale(gameObject);\n switch (marker.geometry.kind) {\n case 'box':\n return {\n kind: 'box',\n coordinateSpace: 'world',\n center: cloneVec3(position),\n size: normalizeMarkerBoxSize(scale),\n rotation: cloneVec3(rotation),\n };\n case 'point':\n if ((marker.geometry.coordinateSpace ?? 'world') === 'world') {\n return {\n kind: 'point',\n coordinateSpace: 'world',\n position: marker.geometry.offset\n ? addVec3(position, marker.geometry.offset)\n : cloneVec3(position),\n ...(marker.geometry.target ? { target: structuredClone(marker.geometry.target) } : {}),\n };\n }\n return {\n kind: 'point',\n coordinateSpace: 'local',\n position: marker.geometry.position\n ? cloneVec3(marker.geometry.position)\n : cloneVec3(position),\n ...(marker.geometry.target ? { target: structuredClone(marker.geometry.target) } : {}),\n };\n case 'object-bounds':\n return {\n kind: 'object-bounds',\n target: structuredClone(marker.geometry.target),\n };\n case 'polyhedron':\n return {\n kind: 'polyhedron',\n coordinateSpace: marker.geometry.coordinateSpace ?? 'world',\n vertices: marker.geometry.vertices.map(cloneVec3),\n ...(marker.geometry.faces ? { faces: marker.geometry.faces.map(face => [...face]) } : {}),\n };\n }\n}\n\nexport function createEditorSceneMarkerConfig(marker: SpatialMarkerNode): EditorSceneMarkerConfig {\n const metadata = marker.metadata ? structuredClone(marker.metadata) : {};\n const color = readMarkerMetadataColor(metadata.color);\n const hasStringNote = typeof metadata.note === 'string';\n const note = hasStringNote ? metadata.note as string : undefined;\n if (color) delete metadata.color;\n if (hasStringNote) delete metadata.note;\n return {\n schemaVersion: 1,\n type: marker.markerType,\n ...(marker.kind ? { kind: marker.kind } : {}),\n ...(marker.tags?.length ? { tags: [...marker.tags] } : {}),\n ...(note !== undefined ? { note } : {}),\n ...(color ? { color } : {}),\n ...(marker.target ? { target: structuredClone(marker.target) } : {}),\n ...(marker.semanticFrame ? { semanticFrame: structuredClone(marker.semanticFrame) } : {}),\n geometry: createEditorSceneMarkerGeometry(marker.geometry),\n ...(Object.keys(metadata).length > 0 ? { metadata: metadata as any } : {}),\n };\n}\n\nexport function createUniqueMarkerGameObjectId(baseId: string, existingIds: Set<string>): string {\n const safeBase = sanitizeMarkerGameObjectId(baseId) || 'marker';\n let index = 1;\n let candidate = `${safeBase}-marker`;\n while (existingIds.has(candidate)) {\n index += 1;\n candidate = `${safeBase}-marker-${index}`;\n }\n return candidate;\n}\n\nfunction readMarkerMetadataColor(value: unknown): EditorSceneMarkerConfig['color'] | null {\n if (!value || typeof value !== 'object') return null;\n const candidate = value as Record<string, unknown>;\n const r = readColorChannel(candidate.r);\n const g = readColorChannel(candidate.g);\n const b = readColorChannel(candidate.b);\n return r == null || g == null || b == null ? null : { r, g, b };\n}\n\nfunction readColorChannel(value: unknown): number | null {\n if (typeof value !== 'number' || !Number.isFinite(value)) return null;\n return value >= 0 && value <= 1 ? value : null;\n}\n\nfunction readEditorSceneMarkerGraph(document: EditorSceneDocument): SpatialMarkerGraph | null {\n return ((document.scene as { markerGraph?: SpatialMarkerGraph | null }).markerGraph) ?? null;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"geometry.js","sourceRoot":"","sources":["../../src/marker-scene/geometry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"geometry.js","sourceRoot":"","sources":["../../src/marker-scene/geometry.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n isEditorTransformTrsSnapshot,\n getEditorSceneMarkerTypeCatalogFromGraph,\n type EditorCoreMarkerGraphTypeCatalogOptions,\n type EditorTransformTrsSnapshot,\n} from '@fps-games/editor-core';\nimport type {\n SpatialMarkerGeometry,\n SpatialMarkerGraph,\n SpatialMarkerLocalFrame,\n SpatialMarkerNode,\n SpatialMarkerTargetRef,\n} from '@fps-games/editor-protocol';\n\nimport type { EditorSceneDocument, EditorSceneGameObject, EditorSceneMarkerConfig, EditorSceneVec3 } from '../document/index';\nimport {\n getEditorSceneGameObjectWorldTransform,\n toEditorSceneLocalTransformForParent,\n} from '../session/transform';\n\nexport interface EditorSceneMarkerSceneOptions extends EditorCoreMarkerGraphTypeCatalogOptions {}\n\nexport function isEditorSceneMarkerGameObject(\n gameObject: EditorSceneGameObject | null | undefined,\n): gameObject is EditorSceneGameObject & { marker: EditorSceneMarkerConfig } {\n return !!gameObject?.marker;\n}\n\nexport function shouldPreserveTransformForMarkerGeometry(geometry: SpatialMarkerGeometry): boolean {\n return (geometry.kind === 'point' && geometry.coordinateSpace !== 'world') || geometry.kind === 'object-bounds';\n}\n\nexport function readMarkerGameObjectScale(gameObject: EditorSceneGameObject): EditorSceneVec3 {\n for (const component of gameObject.components) {\n if (component.type !== 'Transform') continue;\n const scale = (component as { scale?: unknown }).scale;\n return isVec3Like(scale) ? cloneVec3(scale) : createVec3(1, 1, 1);\n }\n return createVec3(1, 1, 1);\n}\n\nexport function getEditorSceneGameObjectWorldTrsTransform(\n document: EditorSceneDocument,\n gameObjectId: string,\n): EditorTransformTrsSnapshot | null {\n const transform = getEditorSceneGameObjectWorldTransform(document, gameObjectId);\n return transform && isEditorTransformTrsSnapshot(transform) ? transform : null;\n}\n\nexport function toEditorSceneLocalTrsTransformForParent(\n document: EditorSceneDocument,\n parentId: string | null | undefined,\n worldTransform: EditorTransformTrsSnapshot,\n): EditorTransformTrsSnapshot | null {\n const localTransform = toEditorSceneLocalTransformForParent(document, parentId ?? undefined, worldTransform);\n return localTransform && isEditorTransformTrsSnapshot(localTransform) ? localTransform : null;\n}\n\nexport function createMarkerSemanticFrameFromTransform(\n document: EditorSceneDocument,\n gameObject: EditorSceneGameObject,\n): SpatialMarkerLocalFrame | null {\n const transform = getEditorSceneGameObjectWorldTrsTransform(document, gameObject.id);\n if (!transform) return null;\n return {\n origin: cloneVec3(transform.position),\n right: rotateVec3ByEuler(createVec3(1, 0, 0), transform.rotation),\n up: rotateVec3ByEuler(createVec3(0, 1, 0), transform.rotation),\n forward: rotateVec3ByEuler(createVec3(0, 0, 1), transform.rotation),\n label: gameObject.name ?? gameObject.id,\n };\n}\n\nexport function createObjectBoundSemanticFrame(\n document: EditorSceneDocument,\n marker: EditorSceneMarkerConfig,\n): SpatialMarkerLocalFrame | null {\n const target = readMarkerConfigTarget(marker);\n if (target?.kind !== 'scene-object') return null;\n const targetObject = document.scene.gameObjects.find(candidate => candidate.id === target.id) ?? null;\n const transform = getEditorSceneGameObjectWorldTrsTransform(document, target.id);\n if (!targetObject || !transform) return null;\n return {\n origin: cloneVec3(transform.position),\n right: rotateVec3ByEuler(createVec3(1, 0, 0), transform.rotation),\n up: rotateVec3ByEuler(createVec3(0, 1, 0), transform.rotation),\n forward: rotateVec3ByEuler(createVec3(0, 0, 1), transform.rotation),\n label: target.label || targetObject.name || target.id,\n };\n}\n\nexport function resolveMarkerNodeKindForType(\n document: EditorSceneDocument,\n markerType: string,\n authoredKind: string | undefined,\n options: EditorSceneMarkerSceneOptions = {},\n): string {\n const typeId = markerType.trim();\n const definitionKind = typeId\n ? getEditorSceneMarkerTypeCatalogFromGraph(readEditorSceneMarkerGraph(document), options).find(definition => definition.type === typeId)?.kind\n : undefined;\n return normalizeMarkerNodeKind(definitionKind ?? authoredKind ?? (typeId ? undefined : 'point'));\n}\n\nexport function normalizeMarkerNodeKind(kind: string | undefined): string {\n const normalized = kind?.trim();\n if (!normalized) return 'point';\n if (normalized === 'object-bound' || normalized === 'object-bounds') return 'object';\n return normalized;\n}\n\nexport function resolveMarkerGeometryKindForPresentation(\n marker: EditorSceneMarkerConfig,\n markerKind: string,\n): SpatialMarkerGeometry['kind'] {\n if (isRegionMarkerKind(markerKind)) return 'box';\n if (isObjectMarkerKind(markerKind) && readMarkerConfigTarget(marker)) return 'object-bounds';\n return 'point';\n}\n\nexport function createSpatialMarkerGeometryForPresentation(\n document: EditorSceneDocument,\n gameObject: EditorSceneGameObject & { marker: EditorSceneMarkerConfig },\n markerKind: string,\n currentGeometry?: SpatialMarkerGeometry,\n options: EditorSceneMarkerSceneOptions = {},\n): SpatialMarkerGeometry {\n const transform = getEditorSceneGameObjectWorldTrsTransform(document, gameObject.id);\n const position = cloneVec3(transform?.position ?? createVec3(0, 0, 0));\n const rotation = cloneVec3(transform?.rotation ?? createVec3(0, 0, 0));\n const scale = shouldApplyMarkerDefaultScaleForKind(document, gameObject, markerKind, options)\n ? createDefaultMarkerScaleForKind(markerKind)\n : cloneVec3(transform?.scale ?? readMarkerGameObjectScale(gameObject));\n if (isRegionMarkerKind(markerKind)) {\n return {\n kind: 'box',\n coordinateSpace: 'world',\n center: position,\n size: normalizeMarkerBoxSize(scale),\n rotation,\n };\n }\n const target = readMarkerConfigTarget(gameObject.marker);\n if (isObjectMarkerKind(markerKind) && target) {\n return {\n kind: 'object-bounds',\n target,\n };\n }\n if (currentGeometry?.kind === 'point') return structuredClone(currentGeometry);\n return {\n kind: 'point',\n coordinateSpace: 'world',\n position,\n ...(target ? { target } : {}),\n };\n}\n\nexport function createSpatialMarkerGeometryForTargetPatch(\n document: EditorSceneDocument,\n gameObject: EditorSceneGameObject & { marker: EditorSceneMarkerConfig },\n geometry: SpatialMarkerGeometry,\n markerKind: string,\n target: SpatialMarkerTargetRef | null,\n): SpatialMarkerGeometry {\n if (target) {\n if (isObjectMarkerKind(markerKind) || geometry.kind === 'object-bounds') {\n return {\n kind: 'object-bounds',\n target: structuredClone(target),\n };\n }\n if (geometry.kind === 'point') {\n return {\n ...structuredClone(geometry),\n target: structuredClone(target),\n };\n }\n return structuredClone(geometry);\n }\n if (geometry.kind === 'object-bounds') {\n const transform = getEditorSceneGameObjectWorldTrsTransform(document, gameObject.id);\n return {\n kind: 'point',\n coordinateSpace: 'world',\n position: cloneVec3(transform?.position ?? createVec3(0, 0, 0)),\n };\n }\n if (geometry.kind === 'point') {\n const nextGeometry = structuredClone(geometry);\n delete (nextGeometry as { target?: SpatialMarkerTargetRef }).target;\n return nextGeometry;\n }\n return structuredClone(geometry);\n}\n\nexport function createSceneObjectMarkerTargetRef(\n document: EditorSceneDocument,\n objectId: string,\n): SpatialMarkerTargetRef | null {\n const targetObject = document.scene.gameObjects.find(candidate => candidate.id === objectId) ?? null;\n if (!targetObject || isEditorSceneMarkerGameObject(targetObject)) return null;\n return {\n kind: 'scene-object',\n id: targetObject.id,\n label: targetObject.name || targetObject.id,\n };\n}\n\nexport function shouldApplyMarkerDefaultScaleForKind(\n document: EditorSceneDocument,\n gameObject: EditorSceneGameObject & { marker: EditorSceneMarkerConfig },\n nextKind: string,\n options: EditorSceneMarkerSceneOptions = {},\n): boolean {\n const previousKind = resolveMarkerNodeKindForType(document, gameObject.marker.type, gameObject.marker.kind, options);\n if (previousKind === nextKind) return false;\n const currentWorldScale = getEditorSceneGameObjectWorldTrsTransform(document, gameObject.id)?.scale ?? readMarkerGameObjectScale(gameObject);\n return isVec3ApproximatelyEqual(currentWorldScale, createDefaultMarkerScaleForKind(previousKind));\n}\n\nexport function shouldApplyMarkerDefaultScaleOnPresentationChange(\n document: EditorSceneDocument,\n gameObject: EditorSceneGameObject,\n marker: SpatialMarkerNode,\n options: EditorSceneMarkerSceneOptions = {},\n): boolean {\n if (!isEditorSceneMarkerGameObject(gameObject)) return false;\n const previousKind = resolveMarkerNodeKindForType(document, gameObject.marker.type, gameObject.marker.kind, options);\n const nextKind = normalizeMarkerNodeKind(marker.kind);\n if (previousKind === nextKind && gameObject.marker.geometry.kind === marker.geometry.kind) return false;\n const currentWorldScale = getEditorSceneGameObjectWorldTrsTransform(document, gameObject.id)?.scale ?? readMarkerGameObjectScale(gameObject);\n return isVec3ApproximatelyEqual(currentWorldScale, createDefaultMarkerScaleForKind(previousKind));\n}\n\nexport function createDefaultMarkerScaleForKind(kind: string | undefined): EditorSceneVec3 {\n return isRegionMarkerKind(kind)\n ? createVec3(4, 1, 4)\n : createVec3(0.5, 0.5, 0.5);\n}\n\nexport function isRegionMarkerKind(kind: string | undefined): boolean {\n return normalizeMarkerNodeKind(kind) === 'region';\n}\n\nexport function isObjectMarkerKind(kind: string | undefined): boolean {\n return normalizeMarkerNodeKind(kind) === 'object';\n}\n\nexport function readMarkerConfigTarget(marker: EditorSceneMarkerConfig): SpatialMarkerTargetRef | null {\n if (marker.target) return structuredClone(marker.target);\n if (marker.geometry.kind === 'point' && marker.geometry.target) return structuredClone(marker.geometry.target);\n if (marker.geometry.kind === 'object-bounds') return structuredClone(marker.geometry.target);\n return null;\n}\n\nexport function isVec3ApproximatelyEqual(left: EditorSceneVec3, right: EditorSceneVec3): boolean {\n return Math.abs(left.x - right.x) < 0.000001\n && Math.abs(left.y - right.y) < 0.000001\n && Math.abs(left.z - right.z) < 0.000001;\n}\n\nexport function createEditorSceneMarkerGeometry(geometry: SpatialMarkerGeometry): EditorSceneMarkerConfig['geometry'] {\n switch (geometry.kind) {\n case 'box':\n return {\n kind: 'box',\n };\n case 'point':\n return {\n kind: 'point',\n coordinateSpace: geometry.coordinateSpace,\n ...(geometry.coordinateSpace === 'local' ? { position: cloneVec3(geometry.position) } : {}),\n ...(geometry.target ? { target: structuredClone(geometry.target) } : {}),\n };\n case 'object-bounds':\n return {\n kind: 'object-bounds',\n target: structuredClone(geometry.target),\n };\n case 'polyhedron':\n return {\n kind: 'polyhedron',\n coordinateSpace: geometry.coordinateSpace,\n vertices: geometry.vertices.map(cloneVec3),\n ...(geometry.faces ? { faces: geometry.faces.map(face => [...face]) } : {}),\n };\n }\n}\n\nexport function readSpatialMarkerTransformPosition(geometry: SpatialMarkerGeometry): EditorSceneVec3 {\n switch (geometry.kind) {\n case 'box':\n return cloneVec3(geometry.center);\n case 'point':\n return geometry.coordinateSpace === 'world' ? cloneVec3(geometry.position) : createVec3(0, 0, 0);\n case 'polyhedron':\n return createBoundsCenter(geometry.vertices);\n case 'object-bounds':\n return createVec3(0, 0, 0);\n }\n}\n\nexport function readSpatialMarkerTransformRotation(geometry: SpatialMarkerGeometry): EditorSceneVec3 {\n return geometry.kind === 'box' && geometry.rotation\n ? cloneVec3(geometry.rotation)\n : createVec3(0, 0, 0);\n}\n\nexport function readSpatialMarkerTransformScale(\n geometry: SpatialMarkerGeometry,\n fallback: EditorSceneVec3,\n): EditorSceneVec3 {\n return geometry.kind === 'box'\n ? normalizeMarkerBoxSize(geometry.size)\n : cloneVec3(fallback);\n}\n\nexport function normalizeMarkerBoxSize(size: EditorSceneVec3): EditorSceneVec3 {\n return {\n x: Math.max(0.000001, Math.abs(size.x)),\n y: Math.max(0.000001, Math.abs(size.y)),\n z: Math.max(0.000001, Math.abs(size.z)),\n };\n}\n\nexport function sanitizeMarkerGameObjectId(value: string): string {\n return value.trim().replace(/[^a-zA-Z0-9_-]+/g, '-').replace(/^-+|-+$/g, '');\n}\n\nexport function cloneVec3(value: { x: number; y: number; z: number }): EditorSceneVec3 {\n return { x: value.x, y: value.y, z: value.z };\n}\n\nexport function isVec3Like(value: unknown): value is EditorSceneVec3 {\n if (!value || typeof value !== 'object') return false;\n const candidate = value as Partial<EditorSceneVec3>;\n return typeof candidate.x === 'number'\n && typeof candidate.y === 'number'\n && typeof candidate.z === 'number';\n}\n\nexport function createVec3(x: number, y: number, z: number): EditorSceneVec3 {\n return { x, y, z };\n}\n\nexport function addVec3(left: EditorSceneVec3, right: EditorSceneVec3): EditorSceneVec3 {\n return {\n x: left.x + right.x,\n y: left.y + right.y,\n z: left.z + right.z,\n };\n}\n\nexport function rotateVec3ByEuler(\n value: EditorSceneVec3,\n rotation: EditorSceneVec3,\n): EditorSceneVec3 {\n const cx = Math.cos(rotation.x);\n const sx = Math.sin(rotation.x);\n const cy = Math.cos(rotation.y);\n const sy = Math.sin(rotation.y);\n const cz = Math.cos(rotation.z);\n const sz = Math.sin(rotation.z);\n const afterX = {\n x: value.x,\n y: value.y * cx - value.z * sx,\n z: value.y * sx + value.z * cx,\n };\n const afterY = {\n x: afterX.x * cy + afterX.z * sy,\n y: afterX.y,\n z: -afterX.x * sy + afterX.z * cy,\n };\n return {\n x: afterY.x * cz - afterY.y * sz,\n y: afterY.x * sz + afterY.y * cz,\n z: afterY.z,\n };\n}\n\nexport function createBoundsCenter(points: readonly EditorSceneVec3[]): EditorSceneVec3 {\n if (points.length === 0) return createVec3(0, 0, 0);\n const min = {\n x: Math.min(...points.map(point => point.x)),\n y: Math.min(...points.map(point => point.y)),\n z: Math.min(...points.map(point => point.z)),\n };\n const max = {\n x: Math.max(...points.map(point => point.x)),\n y: Math.max(...points.map(point => point.y)),\n z: Math.max(...points.map(point => point.z)),\n };\n return {\n x: (min.x + max.x) / 2,\n y: (min.y + max.y) / 2,\n z: (min.z + max.z) / 2,\n };\n}\n\nfunction readEditorSceneMarkerGraph(document: EditorSceneDocument): SpatialMarkerGraph | null {\n return ((document.scene as { markerGraph?: SpatialMarkerGraph | null }).markerGraph) ?? null;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/marker-scene/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/marker-scene/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC","sourcesContent":["export * from './geometry';\nexport * from './game-objects';\nexport * from './facade';\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"asset-fields.js","sourceRoot":"","sources":["../../src/material-binding/asset-fields.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"asset-fields.js","sourceRoot":"","sources":["../../src/material-binding/asset-fields.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * SDK ownership: playable material inspector asset fields\n * Reviewed: 2026-07-06\n * Purpose: playable material Inspector fields, copy, slots, and material asset section assembly.\n */\nimport {\n type InspectorProperty,\n} from '@fps-games/editor-core';\n\nimport type {\n EditorSceneNodeKind,\n} from '../document/index';\nimport {\n createEditorSceneReadonlyInspectorProperty,\n} from '../inspector/readonly';\nimport {\n findEditorSceneMaterialAsset,\n hasEditorSceneMaterialAsset,\n} from './binding';\nimport {\n DEFAULT_PBR_EDITOR_SCENE_MATERIAL_ASSET_ID,\n DEFAULT_STANDARD_EDITOR_SCENE_MATERIAL_ASSET_ID,\n} from './default-assets';\nimport {\n createEditorSceneMaterialAssetFieldInspectorPropertyInput as createPlayableEditorSceneMaterialAssetFieldInspectorPropertyInput,\n createEditorSceneMaterialPickerControlOptions as createPlayableEditorSceneMaterialPickerControlOptions,\n createEditorSceneTexturePickerControlOptions as createPlayableEditorSceneTexturePickerControlOptions,\n findEditorSceneInspectorTextureAsset as findPlayableEditorSceneInspectorTextureAsset,\n getEditorSceneMaterialAssetDisplayName as getPlayableEditorSceneMaterialAssetDisplayName,\n} from './inspector';\nimport {\n EDITOR_SCENE_MATERIAL_ASSET_FIELD_PATH_PREFIX,\n normalizeEditorSceneMaterialAssetValue,\n parseEditorSceneDuplicateMaterialAssetValue,\n validateEditorSceneMaterialAssetFieldValue,\n} from './paths';\nimport {\n isReadonlyEditorSceneMaterialAsset,\n resolveEditorSceneMaterialAssetKind,\n} from './profile';\nimport {\n type EditorSceneInspectorTextureAsset,\n type EditorSceneMaterialAsset,\n type EditorSceneMaterialDocument,\n type EditorSceneMaterialInspectorContext,\n} from './types';\nimport {\n createMaterialAlphaModeOptions,\n createMaterialLightingModelOptions,\n type ArtistMaterialInspectorText,\n} from './text';\n\ntype EditorSceneDocument = EditorSceneMaterialDocument;\n\nexport function createMaterialAssetSelectorInspectorProperty(\n document: EditorSceneDocument,\n nodeKind: EditorSceneNodeKind,\n input: {\n path: string;\n label: string;\n value: string;\n order: number;\n text: ArtistMaterialInspectorText;\n currentAsset?: EditorSceneMaterialAsset | null;\n },\n): InspectorProperty<EditorSceneDocument> {\n const currentAsset = input.currentAsset ?? findEditorSceneMaterialAsset(document, input.value);\n return {\n path: input.path,\n label: input.label,\n valueType: 'string',\n control: 'custom',\n customControl: 'asset-picker-card',\n value: input.value,\n readOnly: false,\n persistence: 'document',\n commitMode: 'change',\n order: input.order,\n controlOptions: createMaterialAssetPickerControlOptions(document, currentAsset, input.text, input.value),\n tooltip: input.text.tooltips.materialAsset,\n tags: ['ArtistMaterial', 'MaterialAsset'],\n document,\n validate: (value) => {\n const duplicateMaterialAssetId = parseEditorSceneDuplicateMaterialAssetValue(value);\n if (duplicateMaterialAssetId && hasEditorSceneMaterialAsset(document, duplicateMaterialAssetId)) {\n return { ok: true, value };\n }\n if (value == null || value === '') return { ok: true, value };\n if (typeof value === 'string' && hasEditorSceneMaterialAsset(document, value)) return { ok: true, value };\n return { ok: false, message: `Material asset not found: ${String(value)}` };\n },\n coerce: (value) => (typeof value === 'string' ? value.trim() : value),\n effect: nodeKind === 'group' ? 'unsupported' : undefined,\n disabledReason: nodeKind === 'group' ? 'Groups do not own materials.' : undefined,\n };\n}\n\n\n\nexport function createMaterialAssetPickerControlOptions(\n document: EditorSceneDocument,\n currentAsset: EditorSceneMaterialAsset | null,\n text: ArtistMaterialInspectorText,\n currentValue: string,\n): Record<string, unknown> {\n return {\n ...createPlayableEditorSceneMaterialPickerControlOptions({\n materialAssets: document.scene.materialAssets ?? [],\n currentAsset,\n currentValue,\n pickerText: createEditorSceneMaterialPickerText(text),\n displayText: createEditorSceneMaterialDisplayText(text),\n document,\n ownershipText: createEditorSceneMaterialOwnershipText(text),\n }),\n actionDisabledReason: text.batchReplaceUnsupported,\n };\n}\n\nfunction createReadonlyInspectorProperty(\n path: string,\n label: string,\n value: unknown,\n order: number,\n tooltip?: string,\n): InspectorProperty<EditorSceneDocument> {\n return createEditorSceneReadonlyInspectorProperty<EditorSceneDocument>({\n path,\n label,\n value,\n order,\n persistence: 'readonly',\n source: 'Document',\n tooltip,\n })!;\n}\n\n\n\nfunction getEditorSceneMaterialAssetDisplayName(\n materialAsset: EditorSceneMaterialAsset,\n text: ArtistMaterialInspectorText,\n): string {\n return getPlayableEditorSceneMaterialAssetDisplayName(\n materialAsset,\n createEditorSceneMaterialDisplayText(text),\n );\n}\n\n\n\nfunction createEditorSceneMaterialPickerText(text: ArtistMaterialInspectorText) {\n return {\n materialPickerTitle: text.materialPickerTitle,\n replace: text.replace,\n duplicateForObject: text.duplicateForObject,\n duplicateForObjectTooltip: text.tooltips.duplicateForObject,\n summaryMissingAsset: text.summaryMissingAsset,\n summaryInherit: text.summaryInherit,\n inheritNone: text.inheritNone,\n };\n}\n\n\n\nfunction createEditorSceneMaterialOwnershipText(text: ArtistMaterialInspectorText) {\n return {\n formatUsageCount: text.formatUsageCount,\n formatEditImpact: text.formatMaterialEditImpact,\n formatDuplicateImpact: text.formatDuplicateMaterialImpact,\n };\n}\n\n\n\nfunction createEditorSceneMaterialDisplayText(text: ArtistMaterialInspectorText) {\n return {\n defaultMaterial: text.defaultMaterial,\n defaultStandardMaterial: text.defaultStandardMaterial,\n defaultMaterialMeta: text.defaultMaterialMeta,\n defaultStandardMaterialMeta: text.defaultStandardMaterialMeta,\n formatMaterialMeta: (materialAssetId: string) => `Material - ${materialAssetId}`,\n };\n}\n\n\n\nexport function createArtistMaterialAssetInspectorProperties(\n document: EditorSceneDocument,\n materialAsset: EditorSceneMaterialAsset | null,\n text: ArtistMaterialInspectorText,\n orderOffset: number,\n context: EditorSceneMaterialInspectorContext = {},\n): InspectorProperty<EditorSceneDocument>[] {\n if (!materialAsset) {\n return [];\n }\n const materialKind = resolveEditorSceneMaterialAssetKind(materialAsset);\n const identityProperties = createReadonlyArtistMaterialAssetIdentityProperties(materialAsset, text, orderOffset);\n if (isEditorSceneMaterialAssetReadonlyForAssetFields(materialAsset, context)) {\n return [\n ...identityProperties,\n createEditorSceneReadonlyInspectorProperty({\n path: `scene.materialAssets.${materialAsset.id}.profile`,\n label: text.assetProfile,\n value: text.defaultMaterialReadOnly,\n order: orderOffset + 2,\n source: 'Document',\n effect: 'default',\n disabledReason: text.defaultMaterialReadOnly,\n tags: ['ArtistMaterial', 'MaterialAsset'],\n tooltip: text.tooltips.assetProfile,\n })!,\n ];\n }\n const profile = materialAsset.profile ?? {};\n const properties: InspectorProperty<EditorSceneDocument>[] = [\n ...identityProperties,\n createMaterialAssetEnumInspectorProperty(document, materialAsset, 'profile.lightingModel', text.assetLightingModel, profile.lightingModel ?? 'lit', orderOffset + 1, createMaterialLightingModelOptions(text), text.tooltips.lightingModel),\n createMaterialTexturePickerInspectorProperty({\n path: `${EDITOR_SCENE_MATERIAL_ASSET_FIELD_PATH_PREFIX}${materialAsset.id}.profile.baseColor.texture.textureAssetId`,\n label: text.assetBaseTexture,\n value: readArtistMaterialTexturePickerValue(profile.baseColor?.texture),\n order: orderOffset + 2,\n text,\n context,\n tooltip: text.tooltips.baseTexture,\n }),\n createMaterialAssetNumberInspectorProperty(document, materialAsset, 'profile.baseColor.brightness', text.assetBrightness, profile.baseColor?.brightness ?? 1, orderOffset + 3, 0, 2, 0.05, text.tooltips.brightness),\n createMaterialAssetNumberInspectorProperty(document, materialAsset, 'profile.baseColor.saturation', text.assetSaturation, profile.baseColor?.saturation ?? 1, orderOffset + 4, 0, 2, 0.05, text.tooltips.saturation),\n createMaterialAssetNumberInspectorProperty(document, materialAsset, 'profile.baseColor.contrast', text.assetContrast, profile.baseColor?.contrast ?? 1, orderOffset + 5, 0, 2, 0.05, text.tooltips.contrast),\n createMaterialAssetNumberInspectorProperty(document, materialAsset, 'profile.baseColor.hue', text.assetHue, profile.baseColor?.hue ?? 0, orderOffset + 6, -180, 180, 1, text.tooltips.hue),\n createMaterialAssetFieldInspectorProperty(document, materialAsset, 'profile.baseColor.color', text.assetBaseColor, profile.baseColor?.color ?? { r: 1, g: 1, b: 1 }, orderOffset + 7, 'color', 'color', 'immediate', text.tooltips.baseColor),\n createMaterialTexturePickerInspectorProperty({\n path: `${EDITOR_SCENE_MATERIAL_ASSET_FIELD_PATH_PREFIX}${materialAsset.id}.profile.normal.texture.textureAssetId`,\n label: text.assetNormalTexture,\n value: readArtistMaterialTexturePickerValue(profile.normal?.texture),\n order: orderOffset + 8,\n text,\n context,\n tooltip: text.tooltips.normalTexture,\n }),\n createMaterialAssetNumberInspectorProperty(document, materialAsset, 'profile.normal.strength', text.assetNormalStrength, profile.normal?.strength ?? 1, orderOffset + 9, 0, 4, 0.05, text.tooltips.normalStrength),\n ];\n if (materialKind === 'pbr') {\n properties.push(\n createMaterialAssetNumberInspectorProperty(document, materialAsset, 'profile.metallic', text.assetMetallic, profile.metallic ?? 0, orderOffset + 10, 0, 1, 0.05, text.tooltips.metallic),\n createMaterialAssetNumberInspectorProperty(document, materialAsset, 'profile.roughness', text.assetRoughness, profile.roughness ?? 1, orderOffset + 11, 0, 1, 0.05, text.tooltips.roughness),\n createMaterialTexturePickerInspectorProperty({\n path: `${EDITOR_SCENE_MATERIAL_ASSET_FIELD_PATH_PREFIX}${materialAsset.id}.profile.metallicRoughness.texture.textureAssetId`,\n label: text.assetMetallicRoughnessTexture,\n value: readArtistMaterialTexturePickerValue(profile.metallicRoughness?.texture),\n order: orderOffset + 12,\n text,\n context,\n tooltip: text.tooltips.metallicRoughnessTexture,\n }),\n createMaterialTexturePickerInspectorProperty({\n path: `${EDITOR_SCENE_MATERIAL_ASSET_FIELD_PATH_PREFIX}${materialAsset.id}.profile.occlusion.texture.textureAssetId`,\n label: text.assetOcclusionTexture,\n value: readArtistMaterialTexturePickerValue(profile.occlusion?.texture),\n order: orderOffset + 13,\n text,\n context,\n tooltip: text.tooltips.occlusionTexture,\n }),\n createMaterialAssetNumberInspectorProperty(document, materialAsset, 'profile.occlusion.strength', text.assetOcclusionStrength, profile.occlusion?.strength ?? 1, orderOffset + 14, 0, 4, 0.05, text.tooltips.occlusionStrength),\n );\n }\n properties.push(\n createMaterialAssetFieldInspectorProperty(document, materialAsset, 'profile.emission.color', text.assetEmissionColor, profile.emission?.color ?? { r: 0, g: 0, b: 0 }, orderOffset + 20, 'color', 'color', 'immediate', text.tooltips.emissionColor),\n createMaterialAssetNumberInspectorProperty(document, materialAsset, 'profile.emission.intensity', text.assetEmissionIntensity, profile.emission?.intensity ?? 0, orderOffset + 21, 0, undefined, 0.05, text.tooltips.emissionIntensity),\n createMaterialTexturePickerInspectorProperty({\n path: `${EDITOR_SCENE_MATERIAL_ASSET_FIELD_PATH_PREFIX}${materialAsset.id}.profile.emission.texture.textureAssetId`,\n label: text.assetEmissionTexture,\n value: readArtistMaterialTexturePickerValue(profile.emission?.texture),\n order: orderOffset + 22,\n text,\n context,\n tooltip: text.tooltips.emissionTexture,\n }),\n createMaterialTexturePickerInspectorProperty({\n path: `${EDITOR_SCENE_MATERIAL_ASSET_FIELD_PATH_PREFIX}${materialAsset.id}.profile.emission.maskTexture.textureAssetId`,\n label: text.assetEmissionMaskUrl,\n value: readArtistMaterialTexturePickerValue(profile.emission?.maskTexture),\n order: orderOffset + 23,\n text,\n context,\n tooltip: text.tooltips.emissionMaskUrl,\n }),\n createMaterialAssetEnumInspectorProperty(document, materialAsset, 'profile.alpha.mode', text.assetAlphaMode, profile.alpha?.mode ?? 'opaque', orderOffset + 30, createMaterialAlphaModeOptions(text), text.tooltips.alphaMode),\n createMaterialAssetNumberInspectorProperty(document, materialAsset, 'profile.alpha.opacity', text.assetAlphaOpacity, profile.alpha?.opacity ?? 1, orderOffset + 31, 0, 1, 0.05, text.tooltips.alphaOpacity),\n createMaterialAssetNumberInspectorProperty(document, materialAsset, 'profile.alpha.cutoff', text.assetAlphaCutoff, profile.alpha?.cutoff ?? 0.5, orderOffset + 32, 0, 1, 0.01, text.tooltips.alphaCutoff),\n createMaterialTexturePickerInspectorProperty({\n path: `${EDITOR_SCENE_MATERIAL_ASSET_FIELD_PATH_PREFIX}${materialAsset.id}.profile.alpha.texture.textureAssetId`,\n label: text.assetAlphaTexture,\n value: readArtistMaterialTexturePickerValue(profile.alpha?.texture),\n order: orderOffset + 33,\n text,\n context,\n tooltip: text.tooltips.alphaTexture,\n }),\n );\n return properties;\n}\n\nfunction readEditorSceneDefaultMaterialAssetIds(context: EditorSceneMaterialInspectorContext): readonly string[] {\n return context.defaultMaterialAssetIds ?? [\n DEFAULT_PBR_EDITOR_SCENE_MATERIAL_ASSET_ID,\n DEFAULT_STANDARD_EDITOR_SCENE_MATERIAL_ASSET_ID,\n ];\n}\n\nfunction isEditorSceneMaterialAssetReadonlyForAssetFields(\n materialAsset: EditorSceneMaterialAsset,\n context: EditorSceneMaterialInspectorContext,\n): boolean {\n return isReadonlyEditorSceneMaterialAsset(materialAsset, readEditorSceneDefaultMaterialAssetIds(context))\n || materialAsset.system?.preset === 'default-pbr'\n || materialAsset.system?.preset === 'default-standard';\n}\n\n\n\nfunction createReadonlyArtistMaterialAssetIdentityProperties(\n materialAsset: EditorSceneMaterialAsset,\n text: ArtistMaterialInspectorText,\n orderOffset: number,\n): InspectorProperty<EditorSceneDocument>[] {\n return [\n createReadonlyInspectorProperty(\n `${EDITOR_SCENE_MATERIAL_ASSET_FIELD_PATH_PREFIX}${materialAsset.id}.name`,\n text.assetName,\n getEditorSceneMaterialAssetDisplayName(materialAsset, text),\n orderOffset,\n text.tooltips.assetName,\n ),\n createReadonlyInspectorProperty(\n `${EDITOR_SCENE_MATERIAL_ASSET_FIELD_PATH_PREFIX}${materialAsset.id}.materialKind`,\n text.assetKind,\n getEditorSceneMaterialKindLabel(resolveEditorSceneMaterialAssetKind(materialAsset), text),\n orderOffset + 1,\n text.tooltips.assetKind,\n ),\n ];\n}\n\n\n\n\nfunction getEditorSceneMaterialKindLabel(\n materialKind: 'pbr' | 'standard',\n text: ArtistMaterialInspectorText,\n): string {\n return materialKind === 'standard' ? text.assetKindStandard : text.assetKindPbr;\n}\n\n\n\n\nfunction createMaterialTexturePickerInspectorProperty(input: {\n path: string;\n label: string;\n value: string;\n order: number;\n text: ArtistMaterialInspectorText;\n context: EditorSceneMaterialInspectorContext;\n tooltip?: string;\n}): InspectorProperty<EditorSceneDocument> {\n const currentTexture = findEditorSceneInspectorTextureAssetFromContext(input.context, input.value);\n return {\n path: input.path,\n label: input.label,\n valueType: 'string',\n control: 'custom',\n customControl: 'asset-picker-card',\n value: input.value,\n readOnly: false,\n persistence: 'document',\n commitMode: 'change',\n order: input.order,\n tooltip: input.tooltip,\n tags: ['ArtistMaterial', 'TextureAsset'],\n controlOptions: createTexturePickerControlOptions(input.context, input.text, input.value, currentTexture),\n validate: (value) => {\n const normalized = normalizeMaterialTexturePickerPropertyValue(input.context, input.path, value);\n return normalized.ok\n ? { ok: true, value: normalized.value }\n : { ok: false, message: 'Invalid texture selection.' };\n },\n coerce: (value) => {\n const normalized = normalizeMaterialTexturePickerPropertyValue(input.context, input.path, value);\n return normalized.ok ? normalized.value : null;\n },\n };\n}\n\n\n\nexport function createTexturePickerControlOptions(\n context: EditorSceneMaterialInspectorContext,\n text: ArtistMaterialInspectorText,\n currentValue: string,\n currentTexture: EditorSceneInspectorTextureAsset | null,\n): Record<string, unknown> {\n return {\n ...createPlayableEditorSceneTexturePickerControlOptions({\n textureAssets: context.textureAssets,\n currentTexture,\n currentValue,\n pickerText: createEditorSceneTexturePickerText(text),\n candidateValue: 'assetId',\n }),\n };\n}\n\n\n\nexport function findEditorSceneInspectorTextureAssetFromContext(\n context: EditorSceneMaterialInspectorContext,\n value: string,\n): EditorSceneInspectorTextureAsset | null {\n return findPlayableEditorSceneInspectorTextureAsset(context.textureAssets, value) as EditorSceneInspectorTextureAsset | null;\n}\n\n\n\nexport function readArtistMaterialTexturePickerValue(\n texture: { textureAssetId?: string | null; url?: string | null } | null | undefined,\n): string {\n const textureAssetId = typeof texture?.textureAssetId === 'string' ? texture.textureAssetId.trim() : '';\n if (textureAssetId) return textureAssetId;\n const textureUrl = typeof texture?.url === 'string' ? texture.url.trim() : '';\n return textureUrl;\n}\n\n\n\nfunction normalizeMaterialTexturePickerPropertyValue(\n context: EditorSceneMaterialInspectorContext,\n path: string,\n value: unknown,\n): { ok: true; value: string | null } | { ok: false } {\n if (value == null || value === '') return { ok: true, value: null };\n if (typeof value !== 'string') return { ok: false };\n const trimmed = value.trim();\n if (!trimmed) return { ok: true, value: null };\n if (!path.endsWith('.textureAssetId')) return { ok: true, value: trimmed };\n const textureAsset = findPlayableEditorSceneInspectorTextureAsset(context.textureAssets, trimmed);\n if (textureAsset) return { ok: true, value: textureAsset.id };\n return /^[A-Za-z0-9_-]+$/.test(trimmed) ? { ok: true, value: trimmed } : { ok: true, value: null };\n}\n\n\n\nfunction createEditorSceneTexturePickerText(text: ArtistMaterialInspectorText) {\n return {\n texturePickerTitle: text.texturePickerTitle,\n replace: text.replace,\n inheritNone: text.inheritNone,\n summaryInherit: text.summaryInherit,\n };\n}\n\n\n\nfunction createMaterialAssetNumberInspectorProperty(\n document: EditorSceneDocument,\n materialAsset: EditorSceneMaterialAsset,\n path: string,\n label: string,\n value: number,\n order: number,\n min?: number,\n max?: number,\n step = 0.05,\n tooltip?: string,\n): InspectorProperty<EditorSceneDocument> {\n return {\n ...createMaterialAssetFieldInspectorProperty(document, materialAsset, path, label, value, order, 'number', 'number', 'live', tooltip),\n min,\n max,\n step,\n };\n}\n\n\n\nfunction createMaterialAssetEnumInspectorProperty(\n document: EditorSceneDocument,\n materialAsset: EditorSceneMaterialAsset,\n path: string,\n label: string,\n value: string,\n order: number,\n options: InspectorProperty<EditorSceneDocument>['options'],\n tooltip?: string,\n): InspectorProperty<EditorSceneDocument> {\n return {\n ...createMaterialAssetFieldInspectorProperty(document, materialAsset, path, label, value, order, 'enum', 'enum', 'immediate', tooltip),\n options,\n controlOptions: { variant: 'segmented' },\n };\n}\n\n\n\nfunction createMaterialAssetFieldInspectorProperty(\n document: EditorSceneDocument,\n materialAsset: EditorSceneMaterialAsset,\n fieldPath: string,\n label: string,\n value: unknown,\n order: number,\n valueType: InspectorProperty<EditorSceneDocument>['valueType'],\n control: InspectorProperty<EditorSceneDocument>['control'],\n commitMode: InspectorProperty<EditorSceneDocument>['commitMode'],\n tooltip?: string,\n): InspectorProperty<EditorSceneDocument> {\n return {\n ...createPlayableEditorSceneMaterialAssetFieldInspectorPropertyInput({\n document,\n materialAsset,\n fieldPath,\n label,\n value,\n order,\n valueType,\n control,\n commitMode,\n tooltip,\n pathPrefix: EDITOR_SCENE_MATERIAL_ASSET_FIELD_PATH_PREFIX,\n }),\n validate: (inputValue) => {\n const normalizedValue = normalizeEditorSceneMaterialAssetValue(fieldPath, inputValue);\n return validateEditorSceneMaterialAssetFieldValue(fieldPath, normalizedValue)\n ? { ok: true, value: normalizedValue }\n : { ok: false, message: `Invalid material asset field: ${fieldPath}.` };\n },\n coerce: (inputValue) => normalizeEditorSceneMaterialAssetValue(fieldPath, inputValue),\n };\n}\n"]}