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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (652) hide show
  1. package/dist/agent-bridge/capabilities/assets.js.map +1 -1
  2. package/dist/agent-bridge/capabilities/editor-state.d.ts.map +1 -1
  3. package/dist/agent-bridge/capabilities/editor-state.js +26 -17
  4. package/dist/agent-bridge/capabilities/editor-state.js.map +1 -1
  5. package/dist/agent-bridge/capabilities/host-lifecycle.js.map +1 -1
  6. package/dist/agent-bridge/capabilities/prefabs.d.ts.map +1 -1
  7. package/dist/agent-bridge/capabilities/prefabs.js +61 -13
  8. package/dist/agent-bridge/capabilities/prefabs.js.map +1 -1
  9. package/dist/agent-bridge/capabilities/scene-objects.d.ts +1 -1
  10. package/dist/agent-bridge/capabilities/scene-objects.d.ts.map +1 -1
  11. package/dist/agent-bridge/capabilities/scene-objects.js +110 -25
  12. package/dist/agent-bridge/capabilities/scene-objects.js.map +1 -1
  13. package/dist/agent-bridge/capabilities/selection.d.ts.map +1 -1
  14. package/dist/agent-bridge/capabilities/selection.js +8 -5
  15. package/dist/agent-bridge/capabilities/selection.js.map +1 -1
  16. package/dist/agent-bridge/capabilities/shadows.d.ts.map +1 -1
  17. package/dist/agent-bridge/capabilities/shadows.js +11 -2
  18. package/dist/agent-bridge/capabilities/shadows.js.map +1 -1
  19. package/dist/agent-bridge/capabilities/transform.d.ts.map +1 -1
  20. package/dist/agent-bridge/capabilities/transform.js +6 -4
  21. package/dist/agent-bridge/capabilities/transform.js.map +1 -1
  22. package/dist/agent-bridge/capabilities/ui-regions.js.map +1 -1
  23. package/dist/agent-bridge/capabilities/viewport.d.ts.map +1 -1
  24. package/dist/agent-bridge/capabilities/viewport.js +79 -47
  25. package/dist/agent-bridge/capabilities/viewport.js.map +1 -1
  26. package/dist/agent-bridge/capability-sources.js.map +1 -1
  27. package/dist/agent-bridge/diagnostics.js.map +1 -1
  28. package/dist/agent-bridge/index.js.map +1 -1
  29. package/dist/agent-bridge/register.js.map +1 -1
  30. package/dist/agent-bridge/shared.d.ts +8 -3
  31. package/dist/agent-bridge/shared.d.ts.map +1 -1
  32. package/dist/agent-bridge/shared.js +32 -0
  33. package/dist/agent-bridge/shared.js.map +1 -1
  34. package/dist/agent-bridge/source-types.js.map +1 -1
  35. package/dist/authoring-apply.js.map +1 -1
  36. package/dist/build-info.json +48 -48
  37. package/dist/editor-plugin-agent-capabilities.js.map +1 -1
  38. package/dist/editor-plugin-hierarchy-command.js.map +1 -1
  39. package/dist/index.js.map +1 -1
  40. package/dist/internal/local-editor-lifecycle-operations.js.map +1 -1
  41. package/dist/local-editor-agent-actions.d.ts.map +1 -1
  42. package/dist/local-editor-agent-actions.js +9 -5
  43. package/dist/local-editor-agent-actions.js.map +1 -1
  44. package/dist/local-editor-agent-bridge-transport.js.map +1 -1
  45. package/dist/local-editor-agent-bridge.js.map +1 -1
  46. package/dist/local-editor-agent-context.js.map +1 -1
  47. package/dist/local-editor-harness.d.ts +57 -1
  48. package/dist/local-editor-harness.d.ts.map +1 -1
  49. package/dist/local-editor-harness.js +393 -41
  50. package/dist/local-editor-harness.js.map +1 -1
  51. package/dist/local-editor-marker-graph.js.map +1 -1
  52. package/dist/local-editor-performance-stats.js.map +1 -1
  53. package/dist/local-editor-plugin-inspector.js.map +1 -1
  54. package/dist/local-editor-plugin-panel.js.map +1 -1
  55. package/dist/local-editor-scene-render-scheduler.js.map +1 -1
  56. package/dist/local-editor-scene-view-interaction-runtime.js.map +1 -1
  57. package/dist/local-editor-viewport-render-coordinator.js.map +1 -1
  58. package/dist/playable-babylon-facade.js.map +1 -1
  59. package/dist/playable-babylon-outline-inspector.js.map +1 -1
  60. package/dist/playable-babylon-outline-runtime.js.map +1 -1
  61. package/dist/playable-babylon-rendering.js.map +1 -1
  62. package/dist/playable-local-editor-host.d.ts +36 -0
  63. package/dist/playable-local-editor-host.d.ts.map +1 -1
  64. package/dist/playable-local-editor-host.js.map +1 -1
  65. package/dist/playable-product-local-editor.js.map +1 -1
  66. package/dist/playable-product-projection-preview.js.map +1 -1
  67. package/dist/playable-product-rendering.js.map +1 -1
  68. package/dist/playable-product-scene-capabilities.d.ts.map +1 -1
  69. package/dist/playable-product-scene-capabilities.js +49 -2
  70. package/dist/playable-product-scene-capabilities.js.map +1 -1
  71. package/dist/playable-runtime-babylon.js.map +1 -1
  72. package/dist/playable-runtime.js.map +1 -1
  73. package/dist/playable-sdk-upgrade-doctor.js.map +1 -1
  74. package/dist/playable-sdk-vite.js.map +1 -1
  75. package/dist/playable-sdk.js.map +1 -1
  76. package/dist/playable-standard-project.js.map +1 -1
  77. package/dist/static-shadow-cpu-worker.js.map +1 -1
  78. package/dist/vite.js.map +1 -1
  79. package/node_modules/@fps-games/babylon-renderer/dist/environment/environment-texture-controller.js.map +1 -1
  80. package/node_modules/@fps-games/babylon-renderer/dist/environment/index.js.map +1 -1
  81. package/node_modules/@fps-games/babylon-renderer/dist/environment/profile.js.map +1 -1
  82. package/node_modules/@fps-games/babylon-renderer/dist/environment/types.js.map +1 -1
  83. package/node_modules/@fps-games/babylon-renderer/dist/index.js.map +1 -1
  84. package/node_modules/@fps-games/babylon-renderer/dist/lighting/directional-light-angles.js.map +1 -1
  85. package/node_modules/@fps-games/babylon-renderer/dist/outlines/babylon-default/apply.js.map +1 -1
  86. package/node_modules/@fps-games/babylon-renderer/dist/outlines/babylon-default/index.js.map +1 -1
  87. package/node_modules/@fps-games/babylon-renderer/dist/outlines/babylon-default/types.js.map +1 -1
  88. package/node_modules/@fps-games/babylon-renderer/dist/outlines/index.js.map +1 -1
  89. package/node_modules/@fps-games/babylon-renderer/dist/outlines/types.js.map +1 -1
  90. package/node_modules/@fps-games/babylon-renderer/dist/placement/index.js.map +1 -1
  91. package/node_modules/@fps-games/babylon-renderer/dist/placement/runtime-drop-position.js.map +1 -1
  92. package/node_modules/@fps-games/babylon-renderer/dist/plugin.js.map +1 -1
  93. package/node_modules/@fps-games/babylon-renderer/dist/post-process/babylon-default-pipeline.js.map +1 -1
  94. package/node_modules/@fps-games/babylon-renderer/dist/post-process/index.js.map +1 -1
  95. package/node_modules/@fps-games/babylon-renderer/dist/post-process/profile.js.map +1 -1
  96. package/node_modules/@fps-games/babylon-renderer/dist/post-process/types.js.map +1 -1
  97. package/node_modules/@fps-games/babylon-renderer/dist/post-process/volume-stack.js.map +1 -1
  98. package/node_modules/@fps-games/babylon-renderer/dist/reference.js.map +1 -1
  99. package/node_modules/@fps-games/babylon-renderer/dist/rendering/index.js.map +1 -1
  100. package/node_modules/@fps-games/babylon-renderer/dist/rendering/node-rendering.js.map +1 -1
  101. package/node_modules/@fps-games/babylon-renderer/dist/shadows/blob-shadow-shaders.js.map +1 -1
  102. package/node_modules/@fps-games/babylon-renderer/dist/shadows/blob-shadow-system.js.map +1 -1
  103. package/node_modules/@fps-games/babylon-renderer/dist/shadows/dynamic-shadow-system.js.map +1 -1
  104. package/node_modules/@fps-games/babylon-renderer/dist/shadows/planar-shadow-shaders.js.map +1 -1
  105. package/node_modules/@fps-games/babylon-renderer/dist/shadows/planar-shadow-system.js.map +1 -1
  106. package/node_modules/@fps-games/babylon-renderer/dist/shadows/static-projected-shadow-artifact-system.js.map +1 -1
  107. package/node_modules/@fps-games/babylon-renderer/dist/shadows/static-projected-shadow-atlas.js.map +1 -1
  108. package/node_modules/@fps-games/babylon-renderer/dist/shadows/static-projected-shadow-bake.js.map +1 -1
  109. package/node_modules/@fps-games/babylon-renderer/dist/shadows/static-projected-shadow-baker.js.map +1 -1
  110. package/node_modules/@fps-games/babylon-renderer/dist/shadows/static-projected-shadow-options.js.map +1 -1
  111. package/node_modules/@fps-games/babylon-renderer/dist/shadows/static-projected-shadow-rendering.js.map +1 -1
  112. package/node_modules/@fps-games/babylon-renderer/dist/shadows/types.js.map +1 -1
  113. package/node_modules/@fps-games/babylon-renderer/package.json +7 -7
  114. package/node_modules/@fps-games/editor-babylon/dist/camera-controller.js.map +1 -1
  115. package/node_modules/@fps-games/editor-babylon/dist/edit-session.js.map +1 -1
  116. package/node_modules/@fps-games/editor-babylon/dist/editor-sky.js.map +1 -1
  117. package/node_modules/@fps-games/editor-babylon/dist/editor-world.js.map +1 -1
  118. package/node_modules/@fps-games/editor-babylon/dist/event-guard.js.map +1 -1
  119. package/node_modules/@fps-games/editor-babylon/dist/index.js.map +1 -1
  120. package/node_modules/@fps-games/editor-babylon/dist/infinite-grid-layer.js.map +1 -1
  121. package/node_modules/@fps-games/editor-babylon/dist/infinite-grid.js.map +1 -1
  122. package/node_modules/@fps-games/editor-babylon/dist/input-controller.js.map +1 -1
  123. package/node_modules/@fps-games/editor-babylon/dist/inspector-adapter.js.map +1 -1
  124. package/node_modules/@fps-games/editor-babylon/dist/inspector-host.js.map +1 -1
  125. package/node_modules/@fps-games/editor-babylon/dist/main-camera-preview.js.map +1 -1
  126. package/node_modules/@fps-games/editor-babylon/dist/marker-overlay.js.map +1 -1
  127. package/node_modules/@fps-games/editor-babylon/dist/material-property-adapter.js.map +1 -1
  128. package/node_modules/@fps-games/editor-babylon/dist/material-slot-source-resolver.js.map +1 -1
  129. package/node_modules/@fps-games/editor-babylon/dist/monitor.js.map +1 -1
  130. package/node_modules/@fps-games/editor-babylon/dist/outline-adapter.js.map +1 -1
  131. package/node_modules/@fps-games/editor-babylon/dist/performance-monitor.js.map +1 -1
  132. package/node_modules/@fps-games/editor-babylon/dist/prefab-comparison-preview-controller.js.map +1 -1
  133. package/node_modules/@fps-games/editor-babylon/dist/primitive-projection-instancing.js.map +1 -1
  134. package/node_modules/@fps-games/editor-babylon/dist/projection-asset-container-importer.js.map +1 -1
  135. package/node_modules/@fps-games/editor-babylon/dist/projection-pick-resolver.js.map +1 -1
  136. package/node_modules/@fps-games/editor-babylon/dist/projection-selection-controller.js.map +1 -1
  137. package/node_modules/@fps-games/editor-babylon/dist/projection-source-owner-path.js.map +1 -1
  138. package/node_modules/@fps-games/editor-babylon/dist/projection.js.map +1 -1
  139. package/node_modules/@fps-games/editor-babylon/dist/runtime-globals.js.map +1 -1
  140. package/node_modules/@fps-games/editor-babylon/dist/scene-camera-preview.js.map +1 -1
  141. package/node_modules/@fps-games/editor-babylon/dist/scene-view-camera-controller.js.map +1 -1
  142. package/node_modules/@fps-games/editor-babylon/dist/scene-view-input-controller.js.map +1 -1
  143. package/node_modules/@fps-games/editor-babylon/dist/scene-view-measurement-controller.js.map +1 -1
  144. package/node_modules/@fps-games/editor-babylon/dist/scene-view-spatial-overlay-controller.js.map +1 -1
  145. package/node_modules/@fps-games/editor-babylon/dist/selection-controller.js.map +1 -1
  146. package/node_modules/@fps-games/editor-babylon/dist/shadow-preview-controller.js.map +1 -1
  147. package/node_modules/@fps-games/editor-babylon/dist/tool-controller.js.map +1 -1
  148. package/node_modules/@fps-games/editor-babylon/dist/transform-gizmo-controller.js.map +1 -1
  149. package/node_modules/@fps-games/editor-babylon/dist/transform-solver.js.map +1 -1
  150. package/node_modules/@fps-games/editor-babylon/dist/types.js.map +1 -1
  151. package/node_modules/@fps-games/editor-babylon/package.json +5 -5
  152. package/node_modules/@fps-games/editor-browser/dist/index.d.ts +3 -1
  153. package/node_modules/@fps-games/editor-browser/dist/index.d.ts.map +1 -1
  154. package/node_modules/@fps-games/editor-browser/dist/index.js +2 -0
  155. package/node_modules/@fps-games/editor-browser/dist/index.js.map +1 -1
  156. package/node_modules/@fps-games/editor-browser/dist/local-editor-inspector-clipboard.js.map +1 -1
  157. package/node_modules/@fps-games/editor-browser/dist/local-editor-inspector-groups.js.map +1 -1
  158. package/node_modules/@fps-games/editor-browser/dist/local-editor-rendering-actions.js.map +1 -1
  159. package/node_modules/@fps-games/editor-browser/dist/local-editor-root-ownership.js.map +1 -1
  160. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-asset-kind.js.map +1 -1
  161. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-context-menu.js.map +1 -1
  162. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-dock-panel.js.map +1 -1
  163. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-actions.js.map +1 -1
  164. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-attach-dialog.js.map +1 -1
  165. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-auto-scroll.js.map +1 -1
  166. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-command-adapter.js.map +1 -1
  167. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-controller.d.ts +2 -1
  168. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-controller.d.ts.map +1 -1
  169. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-controller.js +260 -94
  170. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-controller.js.map +1 -1
  171. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-drag-policy.js.map +1 -1
  172. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-projection.d.ts +7 -0
  173. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-projection.d.ts.map +1 -0
  174. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-projection.js +186 -0
  175. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-projection.js.map +1 -0
  176. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-scope.d.ts +2 -2
  177. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-scope.d.ts.map +1 -1
  178. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-scope.js +14 -8
  179. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-scope.js.map +1 -1
  180. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-tree.d.ts.map +1 -1
  181. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-tree.js +23 -7
  182. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-tree.js.map +1 -1
  183. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-view.js.map +1 -1
  184. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-icons.d.ts +1 -1
  185. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-icons.d.ts.map +1 -1
  186. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-icons.js +6 -0
  187. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-icons.js.map +1 -1
  188. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-input-router.d.ts +3 -0
  189. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-input-router.d.ts.map +1 -1
  190. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-input-router.js +60 -13
  191. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-input-router.js.map +1 -1
  192. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-modal-dialog.js.map +1 -1
  193. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-panel-registry.js.map +1 -1
  194. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-panels.js.map +1 -1
  195. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-plugin-panel.js.map +1 -1
  196. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-prefab-stage.js.map +1 -1
  197. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-primitives.js.map +1 -1
  198. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-shared.js.map +1 -1
  199. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-shortcuts.js.map +1 -1
  200. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-status-diagnostics.d.ts +24 -0
  201. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-status-diagnostics.d.ts.map +1 -0
  202. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-status-diagnostics.js +69 -0
  203. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-status-diagnostics.js.map +1 -0
  204. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-structured-drag-auto-scroll.js.map +1 -1
  205. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-structured-drag-policy.js.map +1 -1
  206. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-structured-drag-preview.js.map +1 -1
  207. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-structured-drag-session.js.map +1 -1
  208. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-theme.js.map +1 -1
  209. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-tooltip.js.map +1 -1
  210. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-types.d.ts +58 -14
  211. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-types.d.ts.map +1 -1
  212. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-types.js.map +1 -1
  213. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-workbench.js.map +1 -1
  214. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui.d.ts +1 -1
  215. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui.d.ts.map +1 -1
  216. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui.js +196 -11
  217. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui.js.map +1 -1
  218. package/node_modules/@fps-games/editor-browser/dist/plugin-contributions.js.map +1 -1
  219. package/node_modules/@fps-games/editor-browser/dist/runtime-camera-debug-panel.js.map +1 -1
  220. package/node_modules/@fps-games/editor-browser/dist/runtime-debug-panel-shell.js.map +1 -1
  221. package/node_modules/@fps-games/editor-browser/dist/runtime-lighting-debug-panel.js.map +1 -1
  222. package/node_modules/@fps-games/editor-browser/package.json +4 -4
  223. package/node_modules/@fps-games/editor-core/dist/agent-bridge.js.map +1 -1
  224. package/node_modules/@fps-games/editor-core/dist/agent-interaction.js.map +1 -1
  225. package/node_modules/@fps-games/editor-core/dist/authoring-source.js.map +1 -1
  226. package/node_modules/@fps-games/editor-core/dist/document-adapter.js.map +1 -1
  227. package/node_modules/@fps-games/editor-core/dist/editor-plugin-host.js.map +1 -1
  228. package/node_modules/@fps-games/editor-core/dist/editor-session.d.ts +9 -1
  229. package/node_modules/@fps-games/editor-core/dist/editor-session.d.ts.map +1 -1
  230. package/node_modules/@fps-games/editor-core/dist/editor-session.js +18 -0
  231. package/node_modules/@fps-games/editor-core/dist/editor-session.js.map +1 -1
  232. package/node_modules/@fps-games/editor-core/dist/events.d.ts +1 -1
  233. package/node_modules/@fps-games/editor-core/dist/events.d.ts.map +1 -1
  234. package/node_modules/@fps-games/editor-core/dist/events.js.map +1 -1
  235. package/node_modules/@fps-games/editor-core/dist/field-schema/index.js.map +1 -1
  236. package/node_modules/@fps-games/editor-core/dist/field-schema/resolver.js.map +1 -1
  237. package/node_modules/@fps-games/editor-core/dist/field-schema/schema.js.map +1 -1
  238. package/node_modules/@fps-games/editor-core/dist/field-schema/types.js.map +1 -1
  239. package/node_modules/@fps-games/editor-core/dist/field-schema/validators.js.map +1 -1
  240. package/node_modules/@fps-games/editor-core/dist/host-services.js.map +1 -1
  241. package/node_modules/@fps-games/editor-core/dist/index.js.map +1 -1
  242. package/node_modules/@fps-games/editor-core/dist/inspector.js.map +1 -1
  243. package/node_modules/@fps-games/editor-core/dist/lifecycle.js.map +1 -1
  244. package/node_modules/@fps-games/editor-core/dist/marker-graph.js.map +1 -1
  245. package/node_modules/@fps-games/editor-core/dist/scene-graph.js.map +1 -1
  246. package/node_modules/@fps-games/editor-core/dist/scene-view-input.js.map +1 -1
  247. package/node_modules/@fps-games/editor-core/dist/selection-strategy.js.map +1 -1
  248. package/node_modules/@fps-games/editor-core/dist/serialized-object.js.map +1 -1
  249. package/node_modules/@fps-games/editor-core/dist/transform-command.js.map +1 -1
  250. package/node_modules/@fps-games/editor-core/dist/transform-gizmo.js.map +1 -1
  251. package/node_modules/@fps-games/editor-core/dist/transform-operation-policy.js.map +1 -1
  252. package/node_modules/@fps-games/editor-core/dist/transform-operations.js.map +1 -1
  253. package/node_modules/@fps-games/editor-core/dist/viewport-tools.js.map +1 -1
  254. package/node_modules/@fps-games/editor-core/package.json +6 -6
  255. package/node_modules/@fps-games/editor-forge-play/dist/agent-transport.js.map +1 -1
  256. package/node_modules/@fps-games/editor-forge-play/dist/index.js.map +1 -1
  257. package/node_modules/@fps-games/editor-forge-play/package.json +2 -2
  258. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-bridge/drop-cache.js.map +1 -1
  259. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-bridge/index.js.map +1 -1
  260. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-bridge/payload.d.ts.map +1 -1
  261. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-bridge/payload.js +28 -5
  262. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-bridge/payload.js.map +1 -1
  263. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-bridge/types.d.ts +1 -0
  264. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-bridge/types.d.ts.map +1 -1
  265. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-bridge/types.js.map +1 -1
  266. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/config.js.map +1 -1
  267. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/generated-module.js.map +1 -1
  268. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/index.js.map +1 -1
  269. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/managed-facade.js.map +1 -1
  270. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/manager-core.d.ts.map +1 -1
  271. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/manager-core.js +13 -1
  272. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/manager-core.js.map +1 -1
  273. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/metadata.js.map +1 -1
  274. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/node.js.map +1 -1
  275. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/registry.d.ts +1 -0
  276. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/registry.d.ts.map +1 -1
  277. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/registry.js +58 -23
  278. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/registry.js.map +1 -1
  279. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/types.js.map +1 -1
  280. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/catalog.js.map +1 -1
  281. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/document.js.map +1 -1
  282. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/index.js.map +1 -1
  283. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/types.js.map +1 -1
  284. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-placement/document.js.map +1 -1
  285. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-placement/identity.js.map +1 -1
  286. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-placement/index.js.map +1 -1
  287. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-placement/managed-runtime-instance.js.map +1 -1
  288. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-placement/placement.js.map +1 -1
  289. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-placement/runtime-scene.js.map +1 -1
  290. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-placement/types.js.map +1 -1
  291. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/index.js.map +1 -1
  292. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/result.d.ts.map +1 -1
  293. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/result.js +3 -0
  294. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/result.js.map +1 -1
  295. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/transport.js.map +1 -1
  296. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/types.d.ts +1 -0
  297. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/types.d.ts.map +1 -1
  298. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/types.js.map +1 -1
  299. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/workflow.d.ts +1 -0
  300. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/workflow.d.ts.map +1 -1
  301. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/workflow.js +7 -1
  302. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/workflow.js.map +1 -1
  303. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring/constants.js.map +1 -1
  304. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring/drift.js.map +1 -1
  305. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring/index.js.map +1 -1
  306. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring/runtime-transform-patch.js.map +1 -1
  307. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring/source.js.map +1 -1
  308. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-client/client.js.map +1 -1
  309. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-client/index.js.map +1 -1
  310. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-client/types.js.map +1 -1
  311. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-server/handler.js.map +1 -1
  312. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-server/index.js.map +1 -1
  313. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-server/payload.js.map +1 -1
  314. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-server/response.js.map +1 -1
  315. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-server/routes.js.map +1 -1
  316. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-server/types.js.map +1 -1
  317. package/node_modules/@fps-games/editor-playable-sdk/dist/bridge-command/adapter-dispatcher.js.map +1 -1
  318. package/node_modules/@fps-games/editor-playable-sdk/dist/bridge-command/index.js.map +1 -1
  319. package/node_modules/@fps-games/editor-playable-sdk/dist/bridge-command/payload.js.map +1 -1
  320. package/node_modules/@fps-games/editor-playable-sdk/dist/bridge-command/project-asset-adapter.js.map +1 -1
  321. package/node_modules/@fps-games/editor-playable-sdk/dist/bridge-command/protocol.js.map +1 -1
  322. package/node_modules/@fps-games/editor-playable-sdk/dist/bridge-command/readers.js.map +1 -1
  323. package/node_modules/@fps-games/editor-playable-sdk/dist/bridge-command/types.js.map +1 -1
  324. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/binding.js.map +1 -1
  325. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/fields.js.map +1 -1
  326. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/index.js.map +1 -1
  327. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/math.js.map +1 -1
  328. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/pan.js.map +1 -1
  329. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/panel-format.js.map +1 -1
  330. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/panel-state.js.map +1 -1
  331. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/panel-storage.js.map +1 -1
  332. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/panel-text.js.map +1 -1
  333. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/rig.js.map +1 -1
  334. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/save-patch.js.map +1 -1
  335. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/snapshot.js.map +1 -1
  336. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/types.js.map +1 -1
  337. package/node_modules/@fps-games/editor-playable-sdk/dist/commands/index.js.map +1 -1
  338. package/node_modules/@fps-games/editor-playable-sdk/dist/commands/transform.js.map +1 -1
  339. package/node_modules/@fps-games/editor-playable-sdk/dist/commands/types.js.map +1 -1
  340. package/node_modules/@fps-games/editor-playable-sdk/dist/core-contracts/index.js.map +1 -1
  341. package/node_modules/@fps-games/editor-playable-sdk/dist/document/helpers.js.map +1 -1
  342. package/node_modules/@fps-games/editor-playable-sdk/dist/document/index.js.map +1 -1
  343. package/node_modules/@fps-games/editor-playable-sdk/dist/document/types.js.map +1 -1
  344. package/node_modules/@fps-games/editor-playable-sdk/dist/field-schema/index.js.map +1 -1
  345. package/node_modules/@fps-games/editor-playable-sdk/dist/field-schema/resolver.js.map +1 -1
  346. package/node_modules/@fps-games/editor-playable-sdk/dist/field-schema/schema.js.map +1 -1
  347. package/node_modules/@fps-games/editor-playable-sdk/dist/field-schema/types.js.map +1 -1
  348. package/node_modules/@fps-games/editor-playable-sdk/dist/field-schema/validators.js.map +1 -1
  349. package/node_modules/@fps-games/editor-playable-sdk/dist/index.js.map +1 -1
  350. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/camera-section.js.map +1 -1
  351. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/document-property.js.map +1 -1
  352. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/document-sections.js.map +1 -1
  353. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/format.js.map +1 -1
  354. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/index.js.map +1 -1
  355. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/light-fields.js.map +1 -1
  356. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/light-sections.js.map +1 -1
  357. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/marker-section.js.map +1 -1
  358. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/object-assembly.js.map +1 -1
  359. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/readonly.js.map +1 -1
  360. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/runtime-sections.js.map +1 -1
  361. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/runtime-summary.js.map +1 -1
  362. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/runtime.js.map +1 -1
  363. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/safe-value.js.map +1 -1
  364. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/types.js.map +1 -1
  365. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/validation.js.map +1 -1
  366. package/node_modules/@fps-games/editor-playable-sdk/dist/internal/local-harness.js.map +1 -1
  367. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-debug/binding.js.map +1 -1
  368. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-debug/fields.js.map +1 -1
  369. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-debug/index.js.map +1 -1
  370. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-debug/math.js.map +1 -1
  371. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-debug/save-patch.js.map +1 -1
  372. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-debug/snapshot.js.map +1 -1
  373. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-debug/storage.js.map +1 -1
  374. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-debug/text.js.map +1 -1
  375. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-debug/types.js.map +1 -1
  376. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-preview/index.js.map +1 -1
  377. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-preview/math.js.map +1 -1
  378. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-preview/profile.js.map +1 -1
  379. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-preview/types.js.map +1 -1
  380. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/agent-descriptions.js.map +1 -1
  381. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/forge-play-types.js.map +1 -1
  382. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/forge-play.d.ts +2 -0
  383. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/forge-play.d.ts.map +1 -1
  384. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/forge-play.js +5 -0
  385. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/forge-play.js.map +1 -1
  386. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/host-controller.js.map +1 -1
  387. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/index.d.ts +1 -1
  388. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/index.d.ts.map +1 -1
  389. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/index.js.map +1 -1
  390. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/lifecycle.js.map +1 -1
  391. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/loading-overlay.js.map +1 -1
  392. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/project-asset-commands.d.ts +18 -0
  393. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/project-asset-commands.d.ts.map +1 -1
  394. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/project-asset-commands.js +60 -1
  395. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/project-asset-commands.js.map +1 -1
  396. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/timing.js.map +1 -1
  397. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/types.js.map +1 -1
  398. package/node_modules/@fps-games/editor-playable-sdk/dist/marker-scene/facade.js.map +1 -1
  399. package/node_modules/@fps-games/editor-playable-sdk/dist/marker-scene/game-objects.js.map +1 -1
  400. package/node_modules/@fps-games/editor-playable-sdk/dist/marker-scene/geometry.js.map +1 -1
  401. package/node_modules/@fps-games/editor-playable-sdk/dist/marker-scene/index.js.map +1 -1
  402. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/asset-fields.js.map +1 -1
  403. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/binding.js.map +1 -1
  404. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/default-assets.js.map +1 -1
  405. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/document-assets.d.ts.map +1 -1
  406. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/document-assets.js +28 -2
  407. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/document-assets.js.map +1 -1
  408. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/duplicate.js.map +1 -1
  409. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/index.js.map +1 -1
  410. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/inspector.js.map +1 -1
  411. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/paths.js.map +1 -1
  412. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/preview.js.map +1 -1
  413. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/profile.js.map +1 -1
  414. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/reimport.d.ts.map +1 -1
  415. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/reimport.js +26 -9
  416. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/reimport.js.map +1 -1
  417. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/resolver.js.map +1 -1
  418. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/scene-inspector.js.map +1 -1
  419. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/slot-inspector.d.ts.map +1 -1
  420. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/slot-inspector.js +0 -3
  421. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/slot-inspector.js.map +1 -1
  422. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/text.js.map +1 -1
  423. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/types.d.ts +8 -1
  424. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/types.d.ts.map +1 -1
  425. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/types.js.map +1 -1
  426. package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/field-patch.js.map +1 -1
  427. package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/index.js.map +1 -1
  428. package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/json-field.js.map +1 -1
  429. package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/reducer.js.map +1 -1
  430. package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/rendering-alpha-index.js.map +1 -1
  431. package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/transform.js.map +1 -1
  432. package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/types.js.map +1 -1
  433. package/node_modules/@fps-games/editor-playable-sdk/dist/package-resolution/aliases.d.ts +1 -1
  434. package/node_modules/@fps-games/editor-playable-sdk/dist/package-resolution/aliases.d.ts.map +1 -1
  435. package/node_modules/@fps-games/editor-playable-sdk/dist/package-resolution/aliases.js +18 -1
  436. package/node_modules/@fps-games/editor-playable-sdk/dist/package-resolution/aliases.js.map +1 -1
  437. package/node_modules/@fps-games/editor-playable-sdk/dist/package-resolution/index.js.map +1 -1
  438. package/node_modules/@fps-games/editor-playable-sdk/dist/package-resolution/types.d.ts +2 -0
  439. package/node_modules/@fps-games/editor-playable-sdk/dist/package-resolution/types.d.ts.map +1 -1
  440. package/node_modules/@fps-games/editor-playable-sdk/dist/package-resolution/types.js.map +1 -1
  441. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/action-patches.js.map +1 -1
  442. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/assets.js.map +1 -1
  443. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/index.js.map +1 -1
  444. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/material-override-inspector.js.map +1 -1
  445. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/projection.js.map +1 -1
  446. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/shadow-inspector.js.map +1 -1
  447. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/source-structure-inspector.js.map +1 -1
  448. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/stage-inspector.js.map +1 -1
  449. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/structure.js.map +1 -1
  450. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/types.js.map +1 -1
  451. package/node_modules/@fps-games/editor-playable-sdk/dist/product/asset-manager.js.map +1 -1
  452. package/node_modules/@fps-games/editor-playable-sdk/dist/product/ground-decal-scene-feature.js.map +1 -1
  453. package/node_modules/@fps-games/editor-playable-sdk/dist/product/ground-decal.js.map +1 -1
  454. package/node_modules/@fps-games/editor-playable-sdk/dist/product/index.js.map +1 -1
  455. package/node_modules/@fps-games/editor-playable-sdk/dist/product/project-host-services.d.ts +1 -0
  456. package/node_modules/@fps-games/editor-playable-sdk/dist/product/project-host-services.d.ts.map +1 -1
  457. package/node_modules/@fps-games/editor-playable-sdk/dist/product/project-host-services.js +3 -1
  458. package/node_modules/@fps-games/editor-playable-sdk/dist/product/project-host-services.js.map +1 -1
  459. package/node_modules/@fps-games/editor-playable-sdk/dist/product/scene-session.js.map +1 -1
  460. package/node_modules/@fps-games/editor-playable-sdk/dist/product/scene-source.js.map +1 -1
  461. package/node_modules/@fps-games/editor-playable-sdk/dist/product/standard-asset-actions.js.map +1 -1
  462. package/node_modules/@fps-games/editor-playable-sdk/dist/product/standard-scene-assembly.js.map +1 -1
  463. package/node_modules/@fps-games/editor-playable-sdk/dist/rendering-profile/draft.js.map +1 -1
  464. package/node_modules/@fps-games/editor-playable-sdk/dist/rendering-profile/index.js.map +1 -1
  465. package/node_modules/@fps-games/editor-playable-sdk/dist/rendering-profile/panel.js.map +1 -1
  466. package/node_modules/@fps-games/editor-playable-sdk/dist/rendering-profile/route.js.map +1 -1
  467. package/node_modules/@fps-games/editor-playable-sdk/dist/rendering-profile/types.js.map +1 -1
  468. package/node_modules/@fps-games/editor-playable-sdk/dist/runtime-preview/assets.js.map +1 -1
  469. package/node_modules/@fps-games/editor-playable-sdk/dist/runtime-preview/import-plan.js.map +1 -1
  470. package/node_modules/@fps-games/editor-playable-sdk/dist/runtime-preview/index.js.map +1 -1
  471. package/node_modules/@fps-games/editor-playable-sdk/dist/runtime-preview/nodes.js.map +1 -1
  472. package/node_modules/@fps-games/editor-playable-sdk/dist/runtime-preview/types.js.map +1 -1
  473. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/compiler.js +13 -1
  474. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/compiler.js.map +1 -1
  475. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/index.js.map +1 -1
  476. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/types.js.map +1 -1
  477. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/validation.js.map +1 -1
  478. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/artifacts.js.map +1 -1
  479. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/client.js.map +1 -1
  480. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/companion-configs.js.map +1 -1
  481. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/driver.js.map +1 -1
  482. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/index.js.map +1 -1
  483. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/protocol.js.map +1 -1
  484. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/types.js.map +1 -1
  485. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/validation.js.map +1 -1
  486. package/node_modules/@fps-games/editor-playable-sdk/dist/serialized-property/descriptors.js.map +1 -1
  487. package/node_modules/@fps-games/editor-playable-sdk/dist/serialized-property/index.js.map +1 -1
  488. package/node_modules/@fps-games/editor-playable-sdk/dist/serialized-property/inspector.js.map +1 -1
  489. package/node_modules/@fps-games/editor-playable-sdk/dist/serialized-property/object.js.map +1 -1
  490. package/node_modules/@fps-games/editor-playable-sdk/dist/serialized-property/patch.js.map +1 -1
  491. package/node_modules/@fps-games/editor-playable-sdk/dist/serialized-property/types.js.map +1 -1
  492. package/node_modules/@fps-games/editor-playable-sdk/dist/session/classification.js.map +1 -1
  493. package/node_modules/@fps-games/editor-playable-sdk/dist/session/hierarchy-facade.js.map +1 -1
  494. package/node_modules/@fps-games/editor-playable-sdk/dist/session/hierarchy.js.map +1 -1
  495. package/node_modules/@fps-games/editor-playable-sdk/dist/session/identity.js.map +1 -1
  496. package/node_modules/@fps-games/editor-playable-sdk/dist/session/index.js.map +1 -1
  497. package/node_modules/@fps-games/editor-playable-sdk/dist/session/object-command-facade.js.map +1 -1
  498. package/node_modules/@fps-games/editor-playable-sdk/dist/session/patches.js.map +1 -1
  499. package/node_modules/@fps-games/editor-playable-sdk/dist/session/property-patches.js.map +1 -1
  500. package/node_modules/@fps-games/editor-playable-sdk/dist/session/reducer-core.js.map +1 -1
  501. package/node_modules/@fps-games/editor-playable-sdk/dist/session/system-defaults.js.map +1 -1
  502. package/node_modules/@fps-games/editor-playable-sdk/dist/session/transform.js.map +1 -1
  503. package/node_modules/@fps-games/editor-playable-sdk/dist/session/types.js.map +1 -1
  504. package/node_modules/@fps-games/editor-playable-sdk/dist/shadow-system/index.js.map +1 -1
  505. package/node_modules/@fps-games/editor-playable-sdk/dist/shadow-system/resolver.js.map +1 -1
  506. package/node_modules/@fps-games/editor-playable-sdk/dist/shared/http.js.map +1 -1
  507. package/node_modules/@fps-games/editor-playable-sdk/dist/shared/json.js.map +1 -1
  508. package/node_modules/@fps-games/editor-playable-sdk/dist/static-shadows/artifact.js.map +1 -1
  509. package/node_modules/@fps-games/editor-playable-sdk/dist/static-shadows/index.js.map +1 -1
  510. package/node_modules/@fps-games/editor-playable-sdk/dist/upgrade-doctor/host.js.map +1 -1
  511. package/node_modules/@fps-games/editor-playable-sdk/dist/upgrade-doctor/index.js.map +1 -1
  512. package/node_modules/@fps-games/editor-playable-sdk/dist/upgrade-doctor/inspectors.js.map +1 -1
  513. package/node_modules/@fps-games/editor-playable-sdk/dist/upgrade-doctor/report.js.map +1 -1
  514. package/node_modules/@fps-games/editor-playable-sdk/dist/upgrade-doctor/types.js.map +1 -1
  515. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/asset-authoring.js.map +1 -1
  516. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/authoring-http.d.ts +1 -0
  517. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/authoring-http.d.ts.map +1 -1
  518. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/authoring-http.js +1 -0
  519. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/authoring-http.js.map +1 -1
  520. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/build-info-core.js.map +1 -1
  521. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/build-info-node.js.map +1 -1
  522. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/editor-scene-workflow.d.ts +6 -5
  523. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/editor-scene-workflow.d.ts.map +1 -1
  524. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/editor-scene-workflow.js.map +1 -1
  525. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/index.js.map +1 -1
  526. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/module-invalidation.d.ts +3 -1
  527. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/module-invalidation.d.ts.map +1 -1
  528. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/module-invalidation.js +37 -8
  529. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/module-invalidation.js.map +1 -1
  530. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/path-write-coordinator.js.map +1 -1
  531. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/plugin.d.ts +4 -3
  532. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/plugin.d.ts.map +1 -1
  533. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/plugin.js +14 -1
  534. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/plugin.js.map +1 -1
  535. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-adapter.d.ts +5 -4
  536. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-adapter.d.ts.map +1 -1
  537. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-adapter.js.map +1 -1
  538. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-asset-authoring.d.ts +3 -2
  539. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-asset-authoring.d.ts.map +1 -1
  540. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-asset-authoring.js +2 -11
  541. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-asset-authoring.js.map +1 -1
  542. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-authoring-api.d.ts +8 -7
  543. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-authoring-api.d.ts.map +1 -1
  544. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-authoring-api.js +84 -6
  545. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-authoring-api.js.map +1 -1
  546. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-rendering-authoring.d.ts +2 -1
  547. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-rendering-authoring.d.ts.map +1 -1
  548. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-rendering-authoring.js.map +1 -1
  549. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-scene-authoring.d.ts +4 -3
  550. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-scene-authoring.d.ts.map +1 -1
  551. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-scene-authoring.js +1 -4
  552. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-scene-authoring.js.map +1 -1
  553. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/session-metadata.js.map +1 -1
  554. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/types.d.ts +0 -33
  555. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/types.d.ts.map +1 -1
  556. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/types.js.map +1 -1
  557. package/node_modules/@fps-games/editor-playable-sdk/package.json +9 -6
  558. package/node_modules/@fps-games/editor-protocol/dist/agent-bridge.js.map +1 -1
  559. package/node_modules/@fps-games/editor-protocol/dist/agent-trace.js.map +1 -1
  560. package/node_modules/@fps-games/editor-protocol/dist/agent.js.map +1 -1
  561. package/node_modules/@fps-games/editor-protocol/dist/index.js.map +1 -1
  562. package/node_modules/@fps-games/editor-protocol/dist/marker-graph.js.map +1 -1
  563. package/node_modules/@fps-games/editor-protocol/package.json +2 -2
  564. package/node_modules/@fps-games/editor-tooling/dist/contributions.js.map +1 -1
  565. package/node_modules/@fps-games/editor-tooling/dist/data-object.js.map +1 -1
  566. package/node_modules/@fps-games/editor-tooling/dist/index.js.map +1 -1
  567. package/node_modules/@fps-games/editor-tooling/dist/migration.js.map +1 -1
  568. package/node_modules/@fps-games/editor-tooling/dist/package-metadata-node.js.map +1 -1
  569. package/node_modules/@fps-games/editor-tooling/dist/vite.js.map +1 -1
  570. package/node_modules/@fps-games/editor-tooling/package.json +3 -3
  571. package/node_modules/@fps-games/playable-assets/dist/identity.js.map +1 -1
  572. package/node_modules/@fps-games/playable-assets/dist/index.d.ts +1 -0
  573. package/node_modules/@fps-games/playable-assets/dist/index.d.ts.map +1 -1
  574. package/node_modules/@fps-games/playable-assets/dist/index.js +1 -0
  575. package/node_modules/@fps-games/playable-assets/dist/index.js.map +1 -1
  576. package/node_modules/@fps-games/playable-assets/dist/portable-path.d.ts +2 -0
  577. package/node_modules/@fps-games/playable-assets/dist/portable-path.d.ts.map +1 -0
  578. package/node_modules/@fps-games/playable-assets/dist/portable-path.js +25 -0
  579. package/node_modules/@fps-games/playable-assets/dist/portable-path.js.map +1 -0
  580. package/node_modules/@fps-games/playable-assets/package.json +1 -1
  581. package/node_modules/@fps-games/playable-contracts/dist/index.js.map +1 -1
  582. package/node_modules/@fps-games/playable-contracts/dist/marker-graph-validation.js.map +1 -1
  583. package/node_modules/@fps-games/playable-contracts/dist/marker-graph.js.map +1 -1
  584. package/node_modules/@fps-games/playable-contracts/package.json +1 -1
  585. package/node_modules/@fps-games/playable-rendering/dist/index.js.map +1 -1
  586. package/node_modules/@fps-games/playable-rendering/dist/rendering-profile-authoring.js.map +1 -1
  587. package/node_modules/@fps-games/playable-rendering/dist/rendering-profile-types.js.map +1 -1
  588. package/node_modules/@fps-games/playable-rendering/dist/rendering-profile-validation.js.map +1 -1
  589. package/node_modules/@fps-games/playable-rendering/dist/rendering-profile-values.js.map +1 -1
  590. package/node_modules/@fps-games/playable-rendering/dist/rendering-profile.js.map +1 -1
  591. package/node_modules/@fps-games/playable-rendering/dist/runtime.js.map +1 -1
  592. package/node_modules/@fps-games/playable-rendering/dist/shadow-quality.js.map +1 -1
  593. package/node_modules/@fps-games/playable-rendering/dist/shadow-runtime.js.map +1 -1
  594. package/node_modules/@fps-games/playable-rendering/dist/shadow-settings.js.map +1 -1
  595. package/node_modules/@fps-games/playable-rendering/dist/shadow-types.js.map +1 -1
  596. package/node_modules/@fps-games/playable-rendering/dist/shadow-validation.js.map +1 -1
  597. package/node_modules/@fps-games/playable-rendering/dist/value.js.map +1 -1
  598. package/node_modules/@fps-games/playable-rendering/package.json +2 -2
  599. package/node_modules/@fps-games/playable-runtime/dist/compiled-scene-data.js.map +1 -1
  600. package/node_modules/@fps-games/playable-runtime/dist/index.js.map +1 -1
  601. package/node_modules/@fps-games/playable-runtime/dist/runtime-data.js.map +1 -1
  602. package/node_modules/@fps-games/playable-runtime/dist/runtime.js.map +1 -1
  603. package/node_modules/@fps-games/playable-runtime/dist/standard-plugins.js.map +1 -1
  604. package/node_modules/@fps-games/playable-runtime/dist/tokens.js.map +1 -1
  605. package/node_modules/@fps-games/playable-runtime/dist/types.js.map +1 -1
  606. package/node_modules/@fps-games/playable-runtime/package.json +12 -12
  607. package/node_modules/@fps-games/playable-runtime-data/dist/index.js.map +1 -1
  608. package/node_modules/@fps-games/playable-runtime-data/package.json +4 -4
  609. package/node_modules/@fps-games/playable-scene/dist/index.js.map +1 -1
  610. package/node_modules/@fps-games/playable-scene/dist/transform-math.js.map +1 -1
  611. package/node_modules/@fps-games/playable-scene/package.json +2 -2
  612. package/node_modules/@fps-games/plugin-api/dist/index.js.map +1 -1
  613. package/node_modules/@fps-games/plugin-api/package.json +1 -1
  614. package/node_modules/@fps-games/plugin-assets/dist/reference.js.map +1 -1
  615. package/node_modules/@fps-games/plugin-assets/dist/runtime.js.map +1 -1
  616. package/node_modules/@fps-games/plugin-assets/dist/version.d.ts +1 -1
  617. package/node_modules/@fps-games/plugin-assets/dist/version.js +1 -1
  618. package/node_modules/@fps-games/plugin-assets/dist/version.js.map +1 -1
  619. package/node_modules/@fps-games/plugin-assets/package.json +5 -5
  620. package/node_modules/@fps-games/plugin-host/dist/index.js.map +1 -1
  621. package/node_modules/@fps-games/plugin-host/package.json +2 -2
  622. package/node_modules/@fps-games/plugin-markers/dist/reference.js.map +1 -1
  623. package/node_modules/@fps-games/plugin-markers/dist/runtime.js.map +1 -1
  624. package/node_modules/@fps-games/plugin-markers/dist/version.d.ts +1 -1
  625. package/node_modules/@fps-games/plugin-markers/dist/version.js +1 -1
  626. package/node_modules/@fps-games/plugin-markers/dist/version.js.map +1 -1
  627. package/node_modules/@fps-games/plugin-markers/package.json +5 -5
  628. package/node_modules/@fps-games/plugin-materials/dist/reference.js.map +1 -1
  629. package/node_modules/@fps-games/plugin-materials/dist/runtime.js.map +1 -1
  630. package/node_modules/@fps-games/plugin-materials/dist/version.d.ts +1 -1
  631. package/node_modules/@fps-games/plugin-materials/dist/version.js +1 -1
  632. package/node_modules/@fps-games/plugin-materials/dist/version.js.map +1 -1
  633. package/node_modules/@fps-games/plugin-materials/package.json +5 -5
  634. package/node_modules/@fps-games/plugin-rendering/dist/reference.js.map +1 -1
  635. package/node_modules/@fps-games/plugin-rendering/dist/runtime.js.map +1 -1
  636. package/node_modules/@fps-games/plugin-rendering/dist/version.d.ts +1 -1
  637. package/node_modules/@fps-games/plugin-rendering/dist/version.js +1 -1
  638. package/node_modules/@fps-games/plugin-rendering/dist/version.js.map +1 -1
  639. package/node_modules/@fps-games/plugin-rendering/package.json +5 -5
  640. package/node_modules/@fps-games/plugin-scene/dist/reference.js.map +1 -1
  641. package/node_modules/@fps-games/plugin-scene/dist/runtime.js.map +1 -1
  642. package/node_modules/@fps-games/plugin-scene/dist/version.d.ts +1 -1
  643. package/node_modules/@fps-games/plugin-scene/dist/version.js +1 -1
  644. package/node_modules/@fps-games/plugin-scene/dist/version.js.map +1 -1
  645. package/node_modules/@fps-games/plugin-scene/package.json +5 -5
  646. package/node_modules/@fps-games/plugin-shadows/dist/reference.js.map +1 -1
  647. package/node_modules/@fps-games/plugin-shadows/dist/runtime.js.map +1 -1
  648. package/node_modules/@fps-games/plugin-shadows/dist/version.d.ts +1 -1
  649. package/node_modules/@fps-games/plugin-shadows/dist/version.js +1 -1
  650. package/node_modules/@fps-games/plugin-shadows/dist/version.js.map +1 -1
  651. package/node_modules/@fps-games/plugin-shadows/package.json +7 -7
  652. package/package.json +27 -19
@@ -6,6 +6,9 @@ export async function registerPlayablePlatformAssetIfNeeded(payload, options) {
6
6
  const existing = await options.findExistingAsset?.(payload);
7
7
  if (existing)
8
8
  return existing;
9
+ return registerPlayablePlatformAsset(payload, options);
10
+ }
11
+ export async function registerPlayablePlatformAsset(payload, options) {
9
12
  const assetPath = readPlayablePlatformAssetPath(payload);
10
13
  const projectAssetId = readString(payload.projectAssetId);
11
14
  if (!assetPath && projectAssetId) {
@@ -16,7 +19,10 @@ export async function registerPlayablePlatformAssetIfNeeded(payload, options) {
16
19
  }
17
20
  if (!assetPath)
18
21
  throw new Error('assetPath is required to register a new project asset');
19
- const { registration, transportPlan } = createPlayablePlatformAssetRegistrationTransportPlan(payload, options);
22
+ const { registration, transportPlan } = createPlayablePlatformAssetRegistrationTransportPlan(payload, {
23
+ ...options,
24
+ preserveExistingPresentation: true,
25
+ });
20
26
  for (const write of transportPlan.writes) {
21
27
  await options.writeFile(write.path, write.content);
22
28
  }
@@ -1 +1 @@
1
- {"version":3,"file":"workflow.js","sourceRoot":"","sources":["../../src/asset-registration/workflow.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iCAAiC,EACjC,6BAA6B,GAC9B,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,UAAU,GACX,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,8CAA8C,GAC/C,MAAM,UAAU,CAAC;AAClB,OAAO,EACL,oDAAoD,GACrD,MAAM,aAAa,CAAC;AAMrB,MAAM,CAAC,KAAK,UAAU,qCAAqC,CACzD,OAAgC,EAChC,OAAyD;IAEzD,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,iBAAiB,EAAE,CAAC,OAAO,CAAC,CAAC;IAC5D,IAAI,QAAQ;QAAE,OAAO,QAAQ,CAAC;IAE9B,MAAM,SAAS,GAAG,6BAA6B,CAAC,OAAO,CAAC,CAAC;IACzD,MAAM,cAAc,GAAG,UAAU,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;IAC1D,IAAI,CAAC,SAAS,IAAI,cAAc,EAAE,CAAC;QACjC,OAAO;YACL,OAAO,EAAE,cAAc;YACvB,GAAG,CAAC,iCAAiC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,iCAAiC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAChH,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,SAAS;QAAE,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;IAEzF,MAAM,EAAE,YAAY,EAAE,aAAa,EAAE,GAAG,oDAAoD,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC/G,KAAK,MAAM,KAAK,IAAI,aAAa,CAAC,MAAM,EAAE,CAAC;QACzC,MAAM,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;IACrD,CAAC;IAED,IAAI,UAAU,GAA4B,EAAE,CAAC;IAC7C,KAAK,MAAM,OAAO,IAAI,aAAa,CAAC,QAAQ,EAAE,CAAC;QAC7C,UAAU,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IACjD,CAAC;IAED,OAAO,8CAA8C,CAAC;QACpD,MAAM,EAAE,UAAU;QAClB,QAAQ,EAAE;YACR,OAAO,EAAE,cAAc,IAAI,EAAE;YAC7B,QAAQ,EAAE,iCAAiC,CAAC,OAAO,CAAC;YACpD,QAAQ,EAAE,UAAU,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC;SACpD;KACF,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"workflow.js","sourceRoot":"","sources":["../../src/asset-registration/workflow.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iCAAiC,EACjC,6BAA6B,GAC9B,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,UAAU,GACX,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,8CAA8C,GAC/C,MAAM,UAAU,CAAC;AAClB,OAAO,EACL,oDAAoD,GACrD,MAAM,aAAa,CAAC;AAMrB,MAAM,CAAC,KAAK,UAAU,qCAAqC,CACzD,OAAgC,EAChC,OAAyD;IAEzD,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,iBAAiB,EAAE,CAAC,OAAO,CAAC,CAAC;IAC5D,IAAI,QAAQ;QAAE,OAAO,QAAQ,CAAC;IAE9B,OAAO,6BAA6B,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;AACzD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,6BAA6B,CACjD,OAAgC,EAChC,OAAyD;IAGzD,MAAM,SAAS,GAAG,6BAA6B,CAAC,OAAO,CAAC,CAAC;IACzD,MAAM,cAAc,GAAG,UAAU,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;IAC1D,IAAI,CAAC,SAAS,IAAI,cAAc,EAAE,CAAC;QACjC,OAAO;YACL,OAAO,EAAE,cAAc;YACvB,GAAG,CAAC,iCAAiC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,iCAAiC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAChH,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,SAAS;QAAE,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;IAEzF,MAAM,EAAE,YAAY,EAAE,aAAa,EAAE,GAAG,oDAAoD,CAAC,OAAO,EAAE;QACpG,GAAG,OAAO;QACV,4BAA4B,EAAE,IAAI;KACnC,CAAC,CAAC;IACH,KAAK,MAAM,KAAK,IAAI,aAAa,CAAC,MAAM,EAAE,CAAC;QACzC,MAAM,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;IACrD,CAAC;IAED,IAAI,UAAU,GAA4B,EAAE,CAAC;IAC7C,KAAK,MAAM,OAAO,IAAI,aAAa,CAAC,QAAQ,EAAE,CAAC;QAC7C,UAAU,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IACjD,CAAC;IAED,OAAO,8CAA8C,CAAC;QACpD,MAAM,EAAE,UAAU;QAClB,QAAQ,EAAE;YACR,OAAO,EAAE,cAAc,IAAI,EAAE;YAC7B,QAAQ,EAAE,iCAAiC,CAAC,OAAO,CAAC;YACpD,QAAQ,EAAE,UAAU,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC;SACpD;KACF,CAAC,CAAC;AACL,CAAC","sourcesContent":["import {\n readPlayablePlatformAssetExternal,\n readPlayablePlatformAssetPath,\n} from '../asset-bridge';\nimport {\n readString,\n} from '../shared/json';\nimport {\n resolvePlayablePlatformAssetRegistrationResult,\n} from './result';\nimport {\n createPlayablePlatformAssetRegistrationTransportPlan,\n} from './transport';\nimport type {\n PlayablePlatformAssetRegistrationAsset,\n PlayablePlatformAssetRegistrationWorkflowOptions,\n} from './types';\n\nexport async function registerPlayablePlatformAssetIfNeeded(\n payload: Record<string, unknown>,\n options: PlayablePlatformAssetRegistrationWorkflowOptions,\n): Promise<PlayablePlatformAssetRegistrationAsset> {\n const existing = await options.findExistingAsset?.(payload);\n if (existing) return existing;\n\n return registerPlayablePlatformAsset(payload, options);\n}\n\nexport async function registerPlayablePlatformAsset(\n payload: Record<string, unknown>,\n options: PlayablePlatformAssetRegistrationWorkflowOptions,\n): Promise<PlayablePlatformAssetRegistrationAsset> {\n\n const assetPath = readPlayablePlatformAssetPath(payload);\n const projectAssetId = readString(payload.projectAssetId);\n if (!assetPath && projectAssetId) {\n return {\n assetId: projectAssetId,\n ...(readPlayablePlatformAssetExternal(payload) ? { external: readPlayablePlatformAssetExternal(payload) } : {}),\n };\n }\n if (!assetPath) throw new Error('assetPath is required to register a new project asset');\n\n const { registration, transportPlan } = createPlayablePlatformAssetRegistrationTransportPlan(payload, {\n ...options,\n preserveExistingPresentation: true,\n });\n for (const write of transportPlan.writes) {\n await options.writeFile(write.path, write.content);\n }\n\n let lastResult: Record<string, unknown> = {};\n for (const command of transportPlan.commands) {\n lastResult = await options.runCommand(command);\n }\n\n return resolvePlayablePlatformAssetRegistrationResult({\n result: lastResult,\n fallback: {\n assetId: projectAssetId ?? '',\n external: readPlayablePlatformAssetExternal(payload),\n assetUrl: readString(registration.content.assetUrl),\n },\n });\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/authoring/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,sBAAsB,GAAG,YAAY,CAAC;AACnD,MAAM,CAAC,MAAM,wBAAwB,GAAG,OAAO,CAAC;AAChD,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,CAAC"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/authoring/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,sBAAsB,GAAG,YAAY,CAAC;AACnD,MAAM,CAAC,MAAM,wBAAwB,GAAG,OAAO,CAAC;AAChD,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,CAAC","sourcesContent":["export const EDITOR_SCENE_SOURCE_ID = 'scene.main';\nexport const EDITOR_SCENE_SOURCE_TYPE = 'scene';\nexport const EDITOR_SCENE_SCHEMA_VERSION = 1;\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"drift.js","sourceRoot":"","sources":["../../src/authoring/drift.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gCAAgC,EAAE,MAAM,UAAU,CAAC;AAW5D,MAAM,UAAU,kCAAkC,CAChD,QAA2C,EAC3C,kBAA2B;IAE3B,MAAM,SAAS,GAAG,gCAAgC,CAAC,QAAQ,CAAC,CAAC;IAC7D,MAAM,aAAa,GAAG,iBAAiB,CAAC,kBAAkB,CAAC,CAAC;IAC5D,MAAM,cAAc,GAAG,SAAS,CAAC,QAAQ,IAAI,IAAI,CAAC;IAClD,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,OAAO;YACL,QAAQ,EAAE,IAAI;YACd,QAAQ,EAAE,SAAS,CAAC,QAAQ;YAC5B,UAAU,EAAE,SAAS,CAAC,UAAU;YAChC,cAAc;YACd,iBAAiB,EAAE,IAAI;YACvB,MAAM,EAAE,wBAAwB;SACjC,CAAC;IACJ,CAAC;IACD,MAAM,iBAAiB,GAAG,OAAO,aAAa,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;IACrG,IAAI,aAAa,CAAC,QAAQ,KAAK,SAAS,CAAC,QAAQ,IAAI,aAAa,CAAC,UAAU,KAAK,SAAS,CAAC,UAAU,EAAE,CAAC;QACvG,OAAO;YACL,QAAQ,EAAE,IAAI;YACd,QAAQ,EAAE,SAAS,CAAC,QAAQ;YAC5B,UAAU,EAAE,SAAS,CAAC,UAAU;YAChC,cAAc;YACd,iBAAiB;YACjB,MAAM,EAAE,iBAAiB;SAC1B,CAAC;IACJ,CAAC;IACD,IAAI,cAAc,KAAK,iBAAiB,EAAE,CAAC;QACzC,OAAO;YACL,QAAQ,EAAE,IAAI;YACd,QAAQ,EAAE,SAAS,CAAC,QAAQ;YAC5B,UAAU,EAAE,SAAS,CAAC,UAAU;YAChC,cAAc;YACd,iBAAiB;YACjB,MAAM,EAAE,mBAAmB;SAC5B,CAAC;IACJ,CAAC;IACD,OAAO;QACL,QAAQ,EAAE,KAAK;QACf,QAAQ,EAAE,SAAS,CAAC,QAAQ;QAC5B,UAAU,EAAE,SAAS,CAAC,UAAU;QAChC,cAAc;QACd,iBAAiB;KAClB,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CAAC,kBAA2B;IACpD,IAAI,CAAC,kBAAkB,IAAI,OAAO,kBAAkB,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC/E,MAAM,IAAI,GAAI,kBAAyC,CAAC,IAAI,CAAC;IAC7D,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IACnD,MAAM,aAAa,GAAI,IAAoC,CAAC,aAAa,CAAC;IAC1E,IAAI,CAAC,aAAa,IAAI,OAAO,aAAa,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IACrE,MAAM,QAAQ,GAAI,aAAwC,CAAC,QAAQ,CAAC;IACpE,MAAM,UAAU,GAAI,aAA0C,CAAC,UAAU,CAAC;IAC1E,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,OAAO,UAAU,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IAChF,OAAO;QACL,QAAQ;QACR,UAAU,EAAE,UAA8C;QAC1D,QAAQ,EAAE,OAAQ,aAAwC,CAAC,QAAQ,KAAK,QAAQ;YAC9E,CAAC,CAAE,aAAsC,CAAC,QAAQ;YAClD,CAAC,CAAC,SAAS;KACd,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"drift.js","sourceRoot":"","sources":["../../src/authoring/drift.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gCAAgC,EAAE,MAAM,UAAU,CAAC;AAW5D,MAAM,UAAU,kCAAkC,CAChD,QAA2C,EAC3C,kBAA2B;IAE3B,MAAM,SAAS,GAAG,gCAAgC,CAAC,QAAQ,CAAC,CAAC;IAC7D,MAAM,aAAa,GAAG,iBAAiB,CAAC,kBAAkB,CAAC,CAAC;IAC5D,MAAM,cAAc,GAAG,SAAS,CAAC,QAAQ,IAAI,IAAI,CAAC;IAClD,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,OAAO;YACL,QAAQ,EAAE,IAAI;YACd,QAAQ,EAAE,SAAS,CAAC,QAAQ;YAC5B,UAAU,EAAE,SAAS,CAAC,UAAU;YAChC,cAAc;YACd,iBAAiB,EAAE,IAAI;YACvB,MAAM,EAAE,wBAAwB;SACjC,CAAC;IACJ,CAAC;IACD,MAAM,iBAAiB,GAAG,OAAO,aAAa,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;IACrG,IAAI,aAAa,CAAC,QAAQ,KAAK,SAAS,CAAC,QAAQ,IAAI,aAAa,CAAC,UAAU,KAAK,SAAS,CAAC,UAAU,EAAE,CAAC;QACvG,OAAO;YACL,QAAQ,EAAE,IAAI;YACd,QAAQ,EAAE,SAAS,CAAC,QAAQ;YAC5B,UAAU,EAAE,SAAS,CAAC,UAAU;YAChC,cAAc;YACd,iBAAiB;YACjB,MAAM,EAAE,iBAAiB;SAC1B,CAAC;IACJ,CAAC;IACD,IAAI,cAAc,KAAK,iBAAiB,EAAE,CAAC;QACzC,OAAO;YACL,QAAQ,EAAE,IAAI;YACd,QAAQ,EAAE,SAAS,CAAC,QAAQ;YAC5B,UAAU,EAAE,SAAS,CAAC,UAAU;YAChC,cAAc;YACd,iBAAiB;YACjB,MAAM,EAAE,mBAAmB;SAC5B,CAAC;IACJ,CAAC;IACD,OAAO;QACL,QAAQ,EAAE,KAAK;QACf,QAAQ,EAAE,SAAS,CAAC,QAAQ;QAC5B,UAAU,EAAE,SAAS,CAAC,UAAU;QAChC,cAAc;QACd,iBAAiB;KAClB,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CAAC,kBAA2B;IACpD,IAAI,CAAC,kBAAkB,IAAI,OAAO,kBAAkB,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC/E,MAAM,IAAI,GAAI,kBAAyC,CAAC,IAAI,CAAC;IAC7D,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IACnD,MAAM,aAAa,GAAI,IAAoC,CAAC,aAAa,CAAC;IAC1E,IAAI,CAAC,aAAa,IAAI,OAAO,aAAa,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IACrE,MAAM,QAAQ,GAAI,aAAwC,CAAC,QAAQ,CAAC;IACpE,MAAM,UAAU,GAAI,aAA0C,CAAC,UAAU,CAAC;IAC1E,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,OAAO,UAAU,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IAChF,OAAO;QACL,QAAQ;QACR,UAAU,EAAE,UAA8C;QAC1D,QAAQ,EAAE,OAAQ,aAAwC,CAAC,QAAQ,KAAK,QAAQ;YAC9E,CAAC,CAAE,aAAsC,CAAC,QAAQ;YAClD,CAAC,CAAC,SAAS;KACd,CAAC;AACJ,CAAC","sourcesContent":["import type { AuthoringSourceRef } from '@fps-games/editor-core';\nimport type { EditorSceneDocument } from '../document';\nimport { getEditorSceneAuthoringSourceRef } from './source';\n\nexport interface EditorSceneRuntimeInputDrift {\n detected: boolean;\n sourceId: string;\n sourceType: string;\n sourceRevision: number | null;\n generatedRevision: number | null;\n reason?: 'missing-generated-from' | 'source-mismatch' | 'revision-mismatch';\n}\n\nexport function detectEditorSceneRuntimeInputDrift(\n document: Pick<EditorSceneDocument, 'meta'>,\n runtimeSceneConfig: unknown,\n): EditorSceneRuntimeInputDrift {\n const sourceRef = getEditorSceneAuthoringSourceRef(document);\n const generatedFrom = readGeneratedFrom(runtimeSceneConfig);\n const sourceRevision = sourceRef.revision ?? null;\n if (!generatedFrom) {\n return {\n detected: true,\n sourceId: sourceRef.sourceId,\n sourceType: sourceRef.sourceType,\n sourceRevision,\n generatedRevision: null,\n reason: 'missing-generated-from',\n };\n }\n const generatedRevision = typeof generatedFrom.revision === 'number' ? generatedFrom.revision : null;\n if (generatedFrom.sourceId !== sourceRef.sourceId || generatedFrom.sourceType !== sourceRef.sourceType) {\n return {\n detected: true,\n sourceId: sourceRef.sourceId,\n sourceType: sourceRef.sourceType,\n sourceRevision,\n generatedRevision,\n reason: 'source-mismatch',\n };\n }\n if (sourceRevision !== generatedRevision) {\n return {\n detected: true,\n sourceId: sourceRef.sourceId,\n sourceType: sourceRef.sourceType,\n sourceRevision,\n generatedRevision,\n reason: 'revision-mismatch',\n };\n }\n return {\n detected: false,\n sourceId: sourceRef.sourceId,\n sourceType: sourceRef.sourceType,\n sourceRevision,\n generatedRevision,\n };\n}\n\nfunction readGeneratedFrom(runtimeSceneConfig: unknown): AuthoringSourceRef | null {\n if (!runtimeSceneConfig || typeof runtimeSceneConfig !== 'object') return null;\n const meta = (runtimeSceneConfig as { meta?: unknown }).meta;\n if (!meta || typeof meta !== 'object') return null;\n const generatedFrom = (meta as { generatedFrom?: unknown }).generatedFrom;\n if (!generatedFrom || typeof generatedFrom !== 'object') return null;\n const sourceId = (generatedFrom as { sourceId?: unknown }).sourceId;\n const sourceType = (generatedFrom as { sourceType?: unknown }).sourceType;\n if (typeof sourceId !== 'string' || typeof sourceType !== 'string') return null;\n return {\n sourceId,\n sourceType: sourceType as AuthoringSourceRef['sourceType'],\n revision: typeof (generatedFrom as { revision?: unknown }).revision === 'number'\n ? (generatedFrom as { revision: number }).revision\n : undefined,\n };\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/authoring/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,2BAA2B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/authoring/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,2BAA2B,CAAC","sourcesContent":["export * from './constants';\nexport * from './source';\nexport * from './drift';\nexport * from './runtime-transform-patch';\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"runtime-transform-patch.js","sourceRoot":"","sources":["../../src/authoring/runtime-transform-patch.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runtime-transform-patch.js","sourceRoot":"","sources":["../../src/authoring/runtime-transform-patch.ts"],"names":[],"mappings":"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","sourcesContent":["import type {\n AuthoringSourceRef,\n EditorTransformTrsSnapshot,\n RuntimePatch,\n} from '@fps-games/editor-core';\nimport type { EditorSceneDocument } from '../document/index';\nimport {\n EDITOR_SCENE_SOURCE_ID,\n EDITOR_SCENE_SOURCE_TYPE,\n} from './constants';\nimport { getEditorSceneAuthoringSourceRef } from './source';\n\nexport interface EditorSceneTransformPatchFromRuntimePatchInput<TDocument, TPatch> {\n document: TDocument;\n runtimePatch: RuntimePatch;\n findGameObject: (document: TDocument, gameObjectId: string) => unknown | null;\n isRootGameObjectId?: (gameObjectId: string) => boolean;\n getSourceRef?: (document: TDocument) => AuthoringSourceRef;\n createPatch: (targetId: string, transform: EditorTransformTrsSnapshot) => TPatch;\n}\n\nexport function createEditorSceneTransformPatchFromRuntimePatch<\n TDocument extends Pick<EditorSceneDocument, 'meta'>,\n TPatch,\n>(\n input: EditorSceneTransformPatchFromRuntimePatchInput<TDocument, TPatch>,\n): { patch: TPatch; label: string } | null {\n const { document, runtimePatch } = input;\n const sourceRef = input.getSourceRef?.(document) ?? getEditorSceneAuthoringSourceRef(document);\n const binding = runtimePatch.sourceBinding;\n if (!runtimePatch.applyable || !binding) return null;\n if (runtimePatch.applyTarget !== EDITOR_SCENE_SOURCE_TYPE) return null;\n if (binding.sourceId !== EDITOR_SCENE_SOURCE_ID || binding.sourceType !== EDITOR_SCENE_SOURCE_TYPE) return null;\n if (binding.sourceId !== sourceRef.sourceId || binding.sourceType !== sourceRef.sourceType) return null;\n\n const gameObjectId = binding.objectId;\n if (!gameObjectId || !input.findGameObject(document, gameObjectId)) return null;\n if (input.isRootGameObjectId?.(gameObjectId)) return null;\n\n const after = runtimePatch.after;\n if (!isRuntimePatchTrsTransformSnapshot(after)) return null;\n return {\n label: runtimePatch.label ?? `Apply runtime transform ${gameObjectId}`,\n patch: input.createPatch(gameObjectId, after),\n };\n}\n\nexport function createDefaultEditorSceneTransformPatchFromRuntimePatch<\n TDocument extends EditorSceneDocument,\n>(\n document: TDocument,\n runtimePatch: RuntimePatch,\n): {\n patch: {\n kind: 'game-object.transform';\n targetId: string;\n transform: EditorTransformTrsSnapshot;\n };\n label: string;\n} | null {\n return createEditorSceneTransformPatchFromRuntimePatch({\n document,\n runtimePatch,\n findGameObject: (targetDocument, gameObjectId) => (\n targetDocument.scene.gameObjects.find(gameObject => gameObject.id === gameObjectId) ?? null\n ),\n isRootGameObjectId: gameObjectId => gameObjectId === 'root',\n createPatch: (targetId, transform) => ({\n kind: 'game-object.transform',\n targetId,\n transform,\n }),\n });\n}\n\nfunction isRuntimePatchTrsTransformSnapshot(value: unknown): value is EditorTransformTrsSnapshot {\n if (!value || typeof value !== 'object') return false;\n const candidate = value as Partial<EditorTransformTrsSnapshot>;\n return isRuntimePatchVec3(candidate.position)\n && isRuntimePatchVec3(candidate.rotation)\n && isRuntimePatchVec3(candidate.scale);\n}\n\nfunction isRuntimePatchVec3(value: unknown): value is EditorTransformTrsSnapshot['position'] {\n if (!value || typeof value !== 'object') return false;\n const candidate = value as Partial<EditorTransformTrsSnapshot['position']>;\n return typeof candidate.x === 'number'\n && Number.isFinite(candidate.x)\n && typeof candidate.y === 'number'\n && Number.isFinite(candidate.y)\n && typeof candidate.z === 'number'\n && Number.isFinite(candidate.z);\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"source.js","sourceRoot":"","sources":["../../src/authoring/source.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,2BAA2B,EAC3B,sBAAsB,EACtB,wBAAwB,GACzB,MAAM,aAAa,CAAC;AAErB,MAAM,UAAU,gCAAgC,CAC9C,QAA2C;IAE3C,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAC;IAChD,OAAO;QACL,QAAQ,EAAE,QAAQ,EAAE,QAAQ,IAAI,sBAAsB;QACtD,UAAU,EAAE,QAAQ,EAAE,UAAU,IAAI,wBAAwB;QAC5D,QAAQ,EAAE,OAAO,QAAQ,EAAE,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;KACzE,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,0CAA0C,CACxD,QAA2C,EAC3C,QAAiB;IAEjB,OAAO;QACL,GAAG,EAAE,gCAAgC,CAAC,QAAQ,CAAC;QAC/C,QAAQ;QACR,aAAa,EAAE,2BAA2B;QAC1C,YAAY,EAAE;YACZ,QAAQ,EAAE,IAAI;YACd,UAAU,EAAE,IAAI;YAChB,YAAY,EAAE,IAAI;YAClB,UAAU,EAAE,IAAI;SACjB;KACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,gCAAgC,CAC9C,QAAmB;IAEnB,MAAM,GAAG,GAAG,gCAAgC,CAAC,QAAQ,CAAC,CAAC;IACvD,OAAO;QACL,GAAG,QAAQ;QACX,IAAI,EAAE;YACJ,GAAG,QAAQ,CAAC,IAAI;YAChB,eAAe,EAAE;gBACf,QAAQ,EAAE,sBAAsB;gBAChC,UAAU,EAAE,wBAAwB;gBACpC,QAAQ,EAAE,GAAG,CAAC,QAAQ,IAAI,CAAC;aAC5B;SACF;KACW,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,sCAAsC,CACpD,QAAmB;IAEnB,MAAM,OAAO,GAAG,gCAAgC,CAAC,QAAQ,CAAC,CAAC;IAC3D,OAAO;QACL,GAAG,QAAQ;QACX,IAAI,EAAE;YACJ,GAAG,QAAQ,CAAC,IAAI;YAChB,eAAe,EAAE;gBACf,QAAQ,EAAE,sBAAsB;gBAChC,UAAU,EAAE,wBAAwB;gBACpC,QAAQ,EAAE,CAAC,OAAO,CAAC,QAAQ,IAAI,CAAC,CAAC,GAAG,CAAC;aACtC;SACF;KACW,CAAC;AACjB,CAAC"}
1
+ {"version":3,"file":"source.js","sourceRoot":"","sources":["../../src/authoring/source.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,2BAA2B,EAC3B,sBAAsB,EACtB,wBAAwB,GACzB,MAAM,aAAa,CAAC;AAErB,MAAM,UAAU,gCAAgC,CAC9C,QAA2C;IAE3C,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAC;IAChD,OAAO;QACL,QAAQ,EAAE,QAAQ,EAAE,QAAQ,IAAI,sBAAsB;QACtD,UAAU,EAAE,QAAQ,EAAE,UAAU,IAAI,wBAAwB;QAC5D,QAAQ,EAAE,OAAO,QAAQ,EAAE,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;KACzE,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,0CAA0C,CACxD,QAA2C,EAC3C,QAAiB;IAEjB,OAAO;QACL,GAAG,EAAE,gCAAgC,CAAC,QAAQ,CAAC;QAC/C,QAAQ;QACR,aAAa,EAAE,2BAA2B;QAC1C,YAAY,EAAE;YACZ,QAAQ,EAAE,IAAI;YACd,UAAU,EAAE,IAAI;YAChB,YAAY,EAAE,IAAI;YAClB,UAAU,EAAE,IAAI;SACjB;KACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,gCAAgC,CAC9C,QAAmB;IAEnB,MAAM,GAAG,GAAG,gCAAgC,CAAC,QAAQ,CAAC,CAAC;IACvD,OAAO;QACL,GAAG,QAAQ;QACX,IAAI,EAAE;YACJ,GAAG,QAAQ,CAAC,IAAI;YAChB,eAAe,EAAE;gBACf,QAAQ,EAAE,sBAAsB;gBAChC,UAAU,EAAE,wBAAwB;gBACpC,QAAQ,EAAE,GAAG,CAAC,QAAQ,IAAI,CAAC;aAC5B;SACF;KACW,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,sCAAsC,CACpD,QAAmB;IAEnB,MAAM,OAAO,GAAG,gCAAgC,CAAC,QAAQ,CAAC,CAAC;IAC3D,OAAO;QACL,GAAG,QAAQ;QACX,IAAI,EAAE;YACJ,GAAG,QAAQ,CAAC,IAAI;YAChB,eAAe,EAAE;gBACf,QAAQ,EAAE,sBAAsB;gBAChC,UAAU,EAAE,wBAAwB;gBACpC,QAAQ,EAAE,CAAC,OAAO,CAAC,QAAQ,IAAI,CAAC,CAAC,GAAG,CAAC;aACtC;SACF;KACW,CAAC;AACjB,CAAC","sourcesContent":["import type {\n AuthoringSourceDescriptor,\n AuthoringSourceRef,\n} from '@fps-games/editor-core';\nimport type { EditorSceneDocument } from '../document';\nimport {\n EDITOR_SCENE_SCHEMA_VERSION,\n EDITOR_SCENE_SOURCE_ID,\n EDITOR_SCENE_SOURCE_TYPE,\n} from './constants';\n\nexport function getEditorSceneAuthoringSourceRef(\n document: Pick<EditorSceneDocument, 'meta'>,\n): AuthoringSourceRef {\n const existing = document.meta?.authoringSource;\n return {\n sourceId: existing?.sourceId || EDITOR_SCENE_SOURCE_ID,\n sourceType: existing?.sourceType || EDITOR_SCENE_SOURCE_TYPE,\n revision: typeof existing?.revision === 'number' ? existing.revision : 1,\n };\n}\n\nexport function createEditorSceneAuthoringSourceDescriptor(\n document: Pick<EditorSceneDocument, 'meta'>,\n filePath?: string,\n): AuthoringSourceDescriptor {\n return {\n ref: getEditorSceneAuthoringSourceRef(document),\n filePath,\n schemaVersion: EDITOR_SCENE_SCHEMA_VERSION,\n capabilities: {\n editable: true,\n compilable: true,\n runtimeApply: true,\n aiWritable: true,\n },\n };\n}\n\nexport function ensureEditorSceneAuthoringSource<TDocument extends EditorSceneDocument>(\n document: TDocument,\n): TDocument {\n const ref = getEditorSceneAuthoringSourceRef(document);\n return {\n ...document,\n meta: {\n ...document.meta,\n authoringSource: {\n sourceId: EDITOR_SCENE_SOURCE_ID,\n sourceType: EDITOR_SCENE_SOURCE_TYPE,\n revision: ref.revision ?? 1,\n },\n },\n } as TDocument;\n}\n\nexport function bumpEditorSceneAuthoringSourceRevision<TDocument extends EditorSceneDocument>(\n document: TDocument,\n): TDocument {\n const current = getEditorSceneAuthoringSourceRef(document);\n return {\n ...document,\n meta: {\n ...document.meta,\n authoringSource: {\n sourceId: EDITOR_SCENE_SOURCE_ID,\n sourceType: EDITOR_SCENE_SOURCE_TYPE,\n revision: (current.revision ?? 0) + 1,\n },\n },\n } as TDocument;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/authoring-client/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/authoring-client/client.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n fetchJson,\n joinEndpoint,\n PLAYABLE_AUTHORING_API_BASE,\n} from '../shared/http';\nimport { readRecord } from '../shared/json';\nimport type {\n PlayableAssetTransportCommand,\n PlayableAssetTransportPlan,\n PlayableAuthoringClient,\n PlayableAuthoringClientOptions,\n PlayableAuthoringFetchJson,\n} from './types';\n\nexport function createPlayableAuthoringClient(\n options: PlayableAuthoringClientOptions = {},\n): PlayableAuthoringClient {\n return {\n postJson(route, body) {\n return postPlayableAuthoringJson(route, body, options);\n },\n writeFile(path, content) {\n return writePlayableAuthoringFile(path, content, options);\n },\n runCommand(command) {\n return runPlayableAuthoringCommand(command, options);\n },\n executeTransportPlan(plan) {\n return executePlayableAssetTransportPlan(plan, options);\n },\n };\n}\n\nexport async function postPlayableAuthoringJson(\n route: string,\n body: Record<string, unknown>,\n options?: PlayableAuthoringClientOptions | PlayableAuthoringFetchJson,\n): Promise<Record<string, unknown>> {\n const client = resolvePlayableAuthoringClientOptions(options);\n return client.fetchJson(joinEndpoint(client.endpointBase, route), {\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n body: JSON.stringify(body),\n });\n}\n\nexport async function writePlayableAuthoringFile(\n path: string,\n content: unknown,\n options?: PlayableAuthoringClientOptions | PlayableAuthoringFetchJson,\n): Promise<Record<string, unknown>> {\n return postPlayableAuthoringJson('/file', { path, content }, options);\n}\n\nexport async function runPlayableAuthoringCommand(\n command: PlayableAssetTransportCommand,\n options?: PlayableAuthoringClientOptions | PlayableAuthoringFetchJson,\n): Promise<Record<string, unknown>> {\n return postPlayableAuthoringJson('/exec', {\n cmd: command.cmd,\n ...(command.cwd ? { cwd: command.cwd } : {}),\n }, options);\n}\n\nexport async function executePlayableAssetTransportPlan(\n plan: PlayableAssetTransportPlan,\n options?: PlayableAuthoringClientOptions | PlayableAuthoringFetchJson,\n): Promise<Record<string, unknown>> {\n for (const write of plan.writes) {\n await writePlayableAuthoringFile(write.path, write.content, options);\n }\n\n let lastResult: Record<string, unknown> = {};\n for (const command of plan.commands) {\n const json = await runPlayableAuthoringCommand(command, options);\n const result = readRecord(json.result);\n lastResult = result && Object.keys(result).length > 0 ? result : json;\n }\n return lastResult;\n}\n\nfunction resolvePlayableAuthoringClientOptions(\n options?: PlayableAuthoringClientOptions | PlayableAuthoringFetchJson,\n): Required<PlayableAuthoringClientOptions> {\n if (typeof options === 'function') {\n return {\n endpointBase: PLAYABLE_AUTHORING_API_BASE,\n fetchJson: options,\n };\n }\n return {\n endpointBase: options?.endpointBase ?? PLAYABLE_AUTHORING_API_BASE,\n fetchJson: options?.fetchJson ?? fetchJson,\n };\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/authoring-client/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAE,MAAM,gBAAgB,CAAC;AAC7D,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/authoring-client/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAE,MAAM,gBAAgB,CAAC;AAC7D,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC","sourcesContent":["export { PLAYABLE_AUTHORING_API_BASE } from '../shared/http';\nexport * from './types';\nexport * from './client';\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/authoring-client/types.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/authoring-client/types.ts"],"names":[],"mappings":"","sourcesContent":["export type PlayableAuthoringFetchJson = (\n url: string,\n init?: RequestInit,\n) => Promise<Record<string, unknown>>;\n\nexport interface PlayableAuthoringClientOptions {\n endpointBase?: string;\n fetchJson?: PlayableAuthoringFetchJson;\n}\n\nexport interface PlayableAssetTransportWrite {\n path: string;\n content: unknown;\n}\n\nexport interface PlayableAssetTransportCommand {\n cmd: string;\n cwd?: string;\n}\n\nexport interface PlayableAssetTransportPlan {\n writes: readonly PlayableAssetTransportWrite[];\n commands: readonly PlayableAssetTransportCommand[];\n}\n\nexport interface PlayableAuthoringClient {\n postJson(route: string, body: Record<string, unknown>): Promise<Record<string, unknown>>;\n writeFile(path: string, content: unknown): Promise<Record<string, unknown>>;\n runCommand(command: PlayableAssetTransportCommand): Promise<Record<string, unknown>>;\n executeTransportPlan(plan: PlayableAssetTransportPlan): Promise<Record<string, unknown>>;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"handler.js","sourceRoot":"","sources":["../../src/authoring-server/handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EACL,2CAA2C,GAC5C,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,oCAAoC,EACpC,mCAAmC,EACnC,qCAAqC,GACtC,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,2BAA2B,GAC5B,MAAM,UAAU,CAAC;AAUlB,MAAM,CAAC,KAAK,UAAU,oCAAoC,CACxD,OAAuC,EACvC,QAAyC;IAEzC,MAAM,KAAK,GAAG,2BAA2B,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACvD,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IAExB,MAAM,MAAM,GAAG,CAAC,OAAO,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;IACvD,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,oCAAoC,CAAC,GAAG,CAAC,CAAC;IAE3E,IAAI,CAAC;QACH,IAAI,UAAU,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;YAChC,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;gBACrB,OAAO,mCAAmC,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,oBAAoB,EAAE,CAAC,CAAC;YAC9F,CAAC;YACD,OAAO,mCAAmC,CAAC,GAAG,EAAE,MAAM,gBAAgB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC;QAC3F,CAAC;QAED,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;YACtB,OAAO,mCAAmC,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,oBAAoB,EAAE,CAAC,CAAC;QAC9F,CAAC;QAED,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,MAAM,QAAQ,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC;QAC7E,OAAO,MAAM,iBAAiB,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;IACxD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,mCAAmC,CAAC,GAAG,EAAE;YAC9C,EAAE,EAAE,KAAK;YACT,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;YAC7D,OAAO,EAAE,UAAU,CAAE,KAA+B,EAAE,OAAO,CAAC;SAC/D,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED,SAAS,UAAU,CAAC,SAAqC;IACvD,OAAO,SAAS,KAAK,UAAU;WAC1B,SAAS,KAAK,cAAc;WAC5B,SAAS,KAAK,sBAAsB,CAAC;AAC5C,CAAC;AAED,KAAK,UAAU,gBAAgB,CAC7B,KAAkC,EAClC,QAAyC;IAEzC,IAAI,KAAK,CAAC,SAAS,KAAK,UAAU,IAAI,QAAQ,CAAC,YAAY,EAAE,CAAC;QAC5D,OAAO,QAAQ,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IACtC,CAAC;IACD,IAAI,KAAK,CAAC,SAAS,KAAK,cAAc,IAAI,QAAQ,CAAC,eAAe,EAAE,CAAC;QACnE,OAAO,QAAQ,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;IACzC,CAAC;IACD,IAAI,KAAK,CAAC,SAAS,KAAK,sBAAsB,IAAI,QAAQ,CAAC,sBAAsB,EAAE,CAAC;QAClF,OAAO,QAAQ,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC;IAChD,CAAC;IACD,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC;AAC3C,CAAC;AAED,KAAK,UAAU,iBAAiB,CAC9B,KAAkC,EAClC,IAA6B,EAC7B,QAAyC;IAEzC,IAAI,KAAK,CAAC,SAAS,KAAK,MAAM,EAAE,CAAC;QAC/B,OAAO,eAAe,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;IAChD,CAAC;IACD,IAAI,KAAK,CAAC,SAAS,KAAK,MAAM,EAAE,CAAC;QAC/B,OAAO,eAAe,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;IAChD,CAAC;IACD,IAAI,KAAK,CAAC,SAAS,KAAK,mBAAmB,EAAE,CAAC;QAC5C,OAAO,eAAe,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;IAChD,CAAC;IACD,IAAI,KAAK,CAAC,SAAS,KAAK,QAAQ,EAAE,CAAC;QACjC,OAAO,mCAAmC,CAAC,GAAG,EAAE,MAAM,iBAAiB,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC;IAClG,CAAC;IACD,OAAO,mCAAmC,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC;AACrF,CAAC;AAED,KAAK,UAAU,eAAe,CAC5B,KAAkC,EAClC,IAA6B,EAC7B,QAAyC;IAEzC,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;IACxC,MAAM,IAAI,GAAG,QAAQ,CAAC,sBAAsB,EAAE,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC;IACnE,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,mCAAmC,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,mBAAmB,EAAE,CAAC,CAAC;IAC7F,CAAC;IACD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;IAC7B,MAAM,IAAI,GAAG,qCAAqC,CAAC,OAAO,CAAC,CAAC;IAC5D,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IACzF,OAAO,mCAAmC,CAAC,GAAG,EAAE,MAAM,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;AAChF,CAAC;AAED,KAAK,UAAU,eAAe,CAC5B,KAAkC,EAClC,IAA6B,EAC7B,QAAyC;IAEzC,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC;IACnC,MAAM,cAAc,GAAG,2CAA2C,CAAC,GAAG,CAAC,CAAC;IACxE,IAAI,CAAC,cAAc,EAAE,CAAC;QACpB,OAAO,mCAAmC,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,qBAAqB,EAAE,GAAG,EAAE,CAAC,CAAC;IACpG,CAAC;IACD,MAAM,WAAW,GAAG,QAAQ,CAAC,sBAAsB,EAAE,CAAC,cAAc,CAAC,IAAI,cAAc,CAAC;IACxF,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,UAAU,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,WAAW,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC,CAAC;IAC9F,OAAO,mCAAmC,CAAC,GAAG,EAAE,MAAM,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC;AAC/E,CAAC;AAED,KAAK,UAAU,eAAe,CAC5B,KAAkC,EAClC,IAA6B,EAC7B,QAAyC;IAEzC,MAAM,IAAI,GAA8B,IAAI,CAAC,IAAI,KAAK,uBAAuB;QAC3E,CAAC,CAAC,uBAAuB;QACzB,CAAC,CAAC,mBAAmB,CAAC;IACxB,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,eAAe,EAAE,CAAC;QAC9C,IAAI;QACJ,IAAI;QACJ,cAAc,EAAE,IAAI,CAAC,WAAW;QAChC,KAAK;KACN,CAAC,CAAC;IACH,OAAO,mCAAmC,CAAC,GAAG,EAAE,MAAM,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC;AAC/F,CAAC;AAED,KAAK,UAAU,iBAAiB,CAC9B,KAAkC,EAClC,IAA6B,EAC7B,QAAyC;IAEzC,OAAO,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,IAAI;QAC3C,EAAE,EAAE,KAAK;QACT,KAAK,EAAE,gCAAgC;QACvC,OAAO,EAAE,6GAA6G;KACvH,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"handler.js","sourceRoot":"","sources":["../../src/authoring-server/handler.ts"],"names":[],"mappings":"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","sourcesContent":["import { readRecord } from '../shared/json';\nimport {\n readPlayableAuthoringPayloadPathFromCommand,\n} from './payload';\nimport {\n createPlayableAuthoringEmptyResponse,\n createPlayableAuthoringJsonResponse,\n serializePlayableAuthoringFileContent,\n} from './response';\nimport {\n matchPlayableAuthoringRoute,\n} from './routes';\nimport type {\n PlayableAuthoringRouteMatch,\n PlayableAuthoringRouteName,\n PlayableAuthoringSaveMode,\n PlayableAuthoringServerHandlers,\n PlayableAuthoringServerRequest,\n PlayableAuthoringServerResponse,\n} from './types';\n\nexport async function handlePlayableAuthoringServerRequest(\n request: PlayableAuthoringServerRequest,\n handlers: PlayableAuthoringServerHandlers,\n): Promise<PlayableAuthoringServerResponse | null> {\n const route = matchPlayableAuthoringRoute(request.url);\n if (!route) return null;\n\n const method = (request.method ?? 'GET').toUpperCase();\n if (method === 'OPTIONS') return createPlayableAuthoringEmptyResponse(204);\n\n try {\n if (isGetRoute(route.routeName)) {\n if (method !== 'GET') {\n return createPlayableAuthoringJsonResponse(405, { ok: false, error: 'method_not_allowed' });\n }\n return createPlayableAuthoringJsonResponse(200, await dispatchGetRoute(route, handlers));\n }\n\n if (method !== 'POST') {\n return createPlayableAuthoringJsonResponse(405, { ok: false, error: 'method_not_allowed' });\n }\n\n const body = request.body ?? await handlers.readBody?.(request, route) ?? {};\n return await dispatchPostRoute(route, body, handlers);\n } catch (error) {\n return createPlayableAuthoringJsonResponse(500, {\n ok: false,\n error: error instanceof Error ? error.message : String(error),\n details: readRecord((error as { details?: unknown })?.details),\n });\n }\n}\n\nfunction isGetRoute(routeName: PlayableAuthoringRouteName): boolean {\n return routeName === 'manifest'\n || routeName === 'editor-scene'\n || routeName === 'editor-asset-library';\n}\n\nasync function dispatchGetRoute(\n route: PlayableAuthoringRouteMatch,\n handlers: PlayableAuthoringServerHandlers,\n): Promise<Record<string, unknown>> {\n if (route.routeName === 'manifest' && handlers.loadManifest) {\n return handlers.loadManifest(route);\n }\n if (route.routeName === 'editor-scene' && handlers.loadEditorScene) {\n return handlers.loadEditorScene(route);\n }\n if (route.routeName === 'editor-asset-library' && handlers.loadEditorAssetLibrary) {\n return handlers.loadEditorAssetLibrary(route);\n }\n return { ok: false, error: 'not_found' };\n}\n\nasync function dispatchPostRoute(\n route: PlayableAuthoringRouteMatch,\n body: Record<string, unknown>,\n handlers: PlayableAuthoringServerHandlers,\n): Promise<PlayableAuthoringServerResponse> {\n if (route.routeName === 'file') {\n return handleFileRoute(route, body, handlers);\n }\n if (route.routeName === 'exec') {\n return handleExecRoute(route, body, handlers);\n }\n if (route.routeName === 'save-editor-scene') {\n return handleSaveRoute(route, body, handlers);\n }\n if (route.routeName === 'commit') {\n return createPlayableAuthoringJsonResponse(410, await handleCommitRoute(route, body, handlers));\n }\n return createPlayableAuthoringJsonResponse(404, { ok: false, error: 'not_found' });\n}\n\nasync function handleFileRoute(\n route: PlayableAuthoringRouteMatch,\n body: Record<string, unknown>,\n handlers: PlayableAuthoringServerHandlers,\n): Promise<PlayableAuthoringServerResponse> {\n const rawPath = String(body.path ?? '');\n const path = handlers.normalizeTransportPath?.(rawPath) ?? rawPath;\n if (!path) {\n return createPlayableAuthoringJsonResponse(400, { ok: false, error: 'missing_file_path' });\n }\n const content = body.content;\n const text = serializePlayableAuthoringFileContent(content);\n const result = await handlers.writeFile?.({ body, path, rawPath, content, text, route });\n return createPlayableAuthoringJsonResponse(200, result ?? { ok: true, path });\n}\n\nasync function handleExecRoute(\n route: PlayableAuthoringRouteMatch,\n body: Record<string, unknown>,\n handlers: PlayableAuthoringServerHandlers,\n): Promise<PlayableAuthoringServerResponse> {\n const cmd = String(body.cmd ?? '');\n const rawPayloadPath = readPlayableAuthoringPayloadPathFromCommand(cmd);\n if (!rawPayloadPath) {\n return createPlayableAuthoringJsonResponse(400, { ok: false, error: 'missing_payload_arg', cmd });\n }\n const payloadPath = handlers.normalizeTransportPath?.(rawPayloadPath) ?? rawPayloadPath;\n const result = await handlers.runCommand?.({ body, cmd, payloadPath, rawPayloadPath, route });\n return createPlayableAuthoringJsonResponse(200, result ?? { ok: true, cmd });\n}\n\nasync function handleSaveRoute(\n route: PlayableAuthoringRouteMatch,\n body: Record<string, unknown>,\n handlers: PlayableAuthoringServerHandlers,\n): Promise<PlayableAuthoringServerResponse> {\n const mode: PlayableAuthoringSaveMode = body.mode === 'prepare-platform-save'\n ? 'prepare-platform-save'\n : 'local-commit-save';\n const result = await handlers.saveEditorScene?.({\n body,\n mode,\n rawEditorScene: body.editorScene,\n route,\n });\n return createPlayableAuthoringJsonResponse(200, result ?? { ok: false, error: 'not_found' });\n}\n\nasync function handleCommitRoute(\n route: PlayableAuthoringRouteMatch,\n body: Record<string, unknown>,\n handlers: PlayableAuthoringServerHandlers,\n): Promise<Record<string, unknown>> {\n return handlers.commit?.({ body, route }) ?? {\n ok: false,\n error: 'platform_commit_route_disabled',\n message: 'Save through /__fps_editor_authoring/save-editor-scene so scene.main remains the authoring source of truth.',\n };\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/authoring-server/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/authoring-server/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC","sourcesContent":["export * from './types';\nexport * from './routes';\nexport * from './response';\nexport * from './payload';\nexport * from './handler';\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"payload.js","sourceRoot":"","sources":["../../src/authoring-server/payload.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,2CAA2C,CAAC,GAAW;IACrE,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,iDAAiD,CAAC,CAAC;IAC3E,MAAM,KAAK,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC/B,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;QACrG,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC5B,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
1
+ {"version":3,"file":"payload.js","sourceRoot":"","sources":["../../src/authoring-server/payload.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,2CAA2C,CAAC,GAAW;IACrE,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,iDAAiD,CAAC,CAAC;IAC3E,MAAM,KAAK,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC/B,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;QACrG,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC5B,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC","sourcesContent":["export function readPlayableAuthoringPayloadPathFromCommand(cmd: string): string {\n const match = cmd.match(/(?:^|\\s)--payload(?:=|\\s+)(\"[^\"]+\"|'[^']+'|\\S+)/);\n const value = match?.[1] ?? '';\n if ((value.startsWith('\"') && value.endsWith('\"')) || (value.startsWith(\"'\") && value.endsWith(\"'\"))) {\n return value.slice(1, -1);\n }\n return value;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"response.js","sourceRoot":"","sources":["../../src/authoring-server/response.ts"],"names":[],"mappings":"AAIA,MAAM,UAAU,mCAAmC,CACjD,UAAkB,EAClB,IAA6B;IAE7B,OAAO;QACL,UAAU;QACV,IAAI;KACL,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,oCAAoC,CAClD,UAAkB;IAElB,OAAO;QACL,UAAU;QACV,IAAI,EAAE,IAAI;KACX,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,qCAAqC,CAAC,OAAgB;IACpE,OAAO,OAAO,OAAO,KAAK,QAAQ;QAChC,CAAC,CAAC,OAAO;QACT,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC;AACpD,CAAC"}
1
+ {"version":3,"file":"response.js","sourceRoot":"","sources":["../../src/authoring-server/response.ts"],"names":[],"mappings":"AAIA,MAAM,UAAU,mCAAmC,CACjD,UAAkB,EAClB,IAA6B;IAE7B,OAAO;QACL,UAAU;QACV,IAAI;KACL,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,oCAAoC,CAClD,UAAkB;IAElB,OAAO;QACL,UAAU;QACV,IAAI,EAAE,IAAI;KACX,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,qCAAqC,CAAC,OAAgB;IACpE,OAAO,OAAO,OAAO,KAAK,QAAQ;QAChC,CAAC,CAAC,OAAO;QACT,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC;AACpD,CAAC","sourcesContent":["import type {\n PlayableAuthoringServerResponse,\n} from './types';\n\nexport function createPlayableAuthoringJsonResponse(\n statusCode: number,\n body: Record<string, unknown>,\n): PlayableAuthoringServerResponse {\n return {\n statusCode,\n body,\n };\n}\n\nexport function createPlayableAuthoringEmptyResponse(\n statusCode: number,\n): PlayableAuthoringServerResponse {\n return {\n statusCode,\n body: null,\n };\n}\n\nexport function serializePlayableAuthoringFileContent(content: unknown): string {\n return typeof content === 'string'\n ? content\n : `${JSON.stringify(content ?? {}, null, 2)}\\n`;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"routes.js","sourceRoot":"","sources":["../../src/authoring-server/routes.ts"],"names":[],"mappings":"AAMA,MAAM,0BAA0B,GAAG,CAAC,yBAAyB,CAAC,CAAC;AAE/D,MAAM,cAAc,GAAyD;IAC3E,CAAC,UAAU,EAAE,WAAW,CAAC;IACzB,CAAC,QAAQ,EAAE,SAAS,CAAC;IACrB,CAAC,cAAc,EAAE,eAAe,CAAC;IACjC,CAAC,sBAAsB,EAAE,uBAAuB,CAAC;IACjD,CAAC,mBAAmB,EAAE,oBAAoB,CAAC;IAC3C,CAAC,MAAM,EAAE,OAAO,CAAC;IACjB,CAAC,MAAM,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,MAAM,UAAU,2BAA2B,CACzC,GAAuB,EACvB,UAA8C,EAAE;IAEhD,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,GAAG,IAAI,EAAE,EAAE,kBAAkB,CAAC,CAAC,QAAQ,CAAC;IACjE,MAAM,iBAAiB,GAAG,OAAO,CAAC,QAAQ,IAAI,0BAA0B,CAAC;IACzE,MAAM,aAAa,GAAG,UAAU,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC;IAC9D,IAAI,CAAC,aAAa;QAAE,OAAO,IAAI,CAAC;IAEhC,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC;IAC1D,MAAM,SAAS,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;IACvC,IAAI,CAAC,SAAS;QAAE,OAAO,IAAI,CAAC;IAC5B,OAAO;QACL,KAAK;QACL,SAAS;QACT,MAAM,EAAE,aAAa;KACtB,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CAAC,QAAgB,EAAE,QAA2B;IAC/D,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,IAAI,CAAC;AACxE,CAAC;AAED,SAAS,aAAa,CAAC,KAAa;IAClC,OAAO,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;AACpF,CAAC"}
1
+ {"version":3,"file":"routes.js","sourceRoot":"","sources":["../../src/authoring-server/routes.ts"],"names":[],"mappings":"AAMA,MAAM,0BAA0B,GAAG,CAAC,yBAAyB,CAAC,CAAC;AAE/D,MAAM,cAAc,GAAyD;IAC3E,CAAC,UAAU,EAAE,WAAW,CAAC;IACzB,CAAC,QAAQ,EAAE,SAAS,CAAC;IACrB,CAAC,cAAc,EAAE,eAAe,CAAC;IACjC,CAAC,sBAAsB,EAAE,uBAAuB,CAAC;IACjD,CAAC,mBAAmB,EAAE,oBAAoB,CAAC;IAC3C,CAAC,MAAM,EAAE,OAAO,CAAC;IACjB,CAAC,MAAM,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,MAAM,UAAU,2BAA2B,CACzC,GAAuB,EACvB,UAA8C,EAAE;IAEhD,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,GAAG,IAAI,EAAE,EAAE,kBAAkB,CAAC,CAAC,QAAQ,CAAC;IACjE,MAAM,iBAAiB,GAAG,OAAO,CAAC,QAAQ,IAAI,0BAA0B,CAAC;IACzE,MAAM,aAAa,GAAG,UAAU,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC;IAC9D,IAAI,CAAC,aAAa;QAAE,OAAO,IAAI,CAAC;IAEhC,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC;IAC1D,MAAM,SAAS,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;IACvC,IAAI,CAAC,SAAS;QAAE,OAAO,IAAI,CAAC;IAC5B,OAAO;QACL,KAAK;QACL,SAAS;QACT,MAAM,EAAE,aAAa;KACtB,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CAAC,QAAgB,EAAE,QAA2B;IAC/D,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,IAAI,CAAC;AACxE,CAAC;AAED,SAAS,aAAa,CAAC,KAAa;IAClC,OAAO,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;AACpF,CAAC","sourcesContent":["import type {\n PlayableAuthoringRouteMatch,\n PlayableAuthoringRouteMatchOptions,\n PlayableAuthoringRouteName,\n} from './types';\n\nconst DEFAULT_AUTHORING_PREFIXES = ['/__fps_editor_authoring'];\n\nconst ROUTE_PREFIXES: Array<readonly [PlayableAuthoringRouteName, string]> = [\n ['manifest', '/manifest'],\n ['commit', '/commit'],\n ['editor-scene', '/editor-scene'],\n ['editor-asset-library', '/editor-asset-library'],\n ['save-editor-scene', '/save-editor-scene'],\n ['file', '/file'],\n ['exec', '/exec'],\n];\n\nexport function matchPlayableAuthoringRoute(\n url: string | undefined,\n options: PlayableAuthoringRouteMatchOptions = {},\n): PlayableAuthoringRouteMatch | null {\n const pathname = new URL(url ?? '', 'http://localhost').pathname;\n const authoringPrefixes = options.prefixes ?? DEFAULT_AUTHORING_PREFIXES;\n const matchedPrefix = findPrefix(pathname, authoringPrefixes);\n if (!matchedPrefix) return null;\n\n const route = pathname.slice(matchedPrefix.length) || '/';\n const routeName = readRouteName(route);\n if (!routeName) return null;\n return {\n route,\n routeName,\n prefix: matchedPrefix,\n };\n}\n\nfunction findPrefix(pathname: string, prefixes: readonly string[]): string | null {\n return prefixes.find((prefix) => pathname.startsWith(prefix)) ?? null;\n}\n\nfunction readRouteName(route: string): PlayableAuthoringRouteName | null {\n return ROUTE_PREFIXES.find(([, prefix]) => route.startsWith(prefix))?.[0] ?? null;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/authoring-server/types.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/authoring-server/types.ts"],"names":[],"mappings":"","sourcesContent":["export type PlayableAuthoringRouteName =\n | 'manifest'\n | 'commit'\n | 'editor-scene'\n | 'editor-asset-library'\n | 'save-editor-scene'\n | 'file'\n | 'exec';\n\nexport type PlayableAuthoringSaveMode = 'local-commit-save' | 'prepare-platform-save';\n\nexport interface PlayableAuthoringRouteMatch {\n route: string;\n routeName: PlayableAuthoringRouteName;\n prefix: string;\n}\n\nexport interface PlayableAuthoringServerRequest {\n url?: string;\n method?: string;\n body?: Record<string, unknown>;\n}\n\nexport interface PlayableAuthoringServerResponse {\n statusCode: number;\n body: Record<string, unknown> | null;\n}\n\nexport interface PlayableAuthoringServerHandlers {\n readBody?: (\n request: PlayableAuthoringServerRequest,\n route: PlayableAuthoringRouteMatch,\n ) => Record<string, unknown> | Promise<Record<string, unknown>>;\n normalizeTransportPath?: (path: string) => string;\n loadManifest?: (route: PlayableAuthoringRouteMatch) => Record<string, unknown> | Promise<Record<string, unknown>>;\n loadEditorAssetLibrary?: (route: PlayableAuthoringRouteMatch) => Record<string, unknown> | Promise<Record<string, unknown>>;\n loadEditorScene?: (route: PlayableAuthoringRouteMatch) => Record<string, unknown> | Promise<Record<string, unknown>>;\n writeFile?: (input: {\n body: Record<string, unknown>;\n path: string;\n rawPath: string;\n content: unknown;\n text: string;\n route: PlayableAuthoringRouteMatch;\n }) => Record<string, unknown> | Promise<Record<string, unknown>>;\n runCommand?: (input: {\n body: Record<string, unknown>;\n cmd: string;\n payloadPath: string;\n rawPayloadPath: string;\n route: PlayableAuthoringRouteMatch;\n }) => Record<string, unknown> | Promise<Record<string, unknown>>;\n saveEditorScene?: (input: {\n body: Record<string, unknown>;\n mode: PlayableAuthoringSaveMode;\n rawEditorScene: unknown;\n route: PlayableAuthoringRouteMatch;\n }) => Record<string, unknown> | Promise<Record<string, unknown>>;\n commit?: (input: {\n body: Record<string, unknown>;\n route: PlayableAuthoringRouteMatch;\n }) => Record<string, unknown> | Promise<Record<string, unknown>>;\n}\n\nexport interface PlayableAuthoringRouteMatchOptions {\n prefixes?: readonly string[];\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"adapter-dispatcher.js","sourceRoot":"","sources":["../../src/bridge-command/adapter-dispatcher.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"adapter-dispatcher.js","sourceRoot":"","sources":["../../src/bridge-command/adapter-dispatcher.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n PLAYABLE_EDITOR_COMMAND_NAME,\n PLAYABLE_EDITOR_EVENT_NAME,\n} from './protocol';\nimport {\n readPlayableAssetImportInput,\n readPlayableAssetRegistrationPlanInput,\n readPlayableAssetUnregistrationPlanInput,\n readPlayableBridgeRequestId,\n readPlayableSceneNodeCreateInput,\n readPlayableSceneNodePatchInput,\n readPlayableSceneNodeRemoveInput,\n} from './readers';\nimport type {\n PlayableAssetAdapter,\n PlayableAssetImportInput,\n PlayableAssetRegistrationPlanInput,\n PlayableAssetUnregistrationPlanInput,\n PlayableBridgeCommandErrorPayload,\n PlayableEditorAdapterContext,\n PlayableMaybePromise,\n PlayableSceneNodeCreateInput,\n PlayableSceneNodePatchInput,\n PlayableSceneNodeRemoveInput,\n} from './types';\n\nexport type PlayableBridgeCommandPayload = Record<string, unknown> | null | undefined;\n\nexport interface PlayableBridgeCommandDispatcherErrorCodes {\n assetRegistrationPlanFailed: string;\n assetUnregistrationPlanFailed: string;\n sceneNodeCreateFailed: string;\n sceneNodePatchFailed: string;\n}\n\nexport interface PlayableBridgeCommandDispatcherHandlers<TContext extends PlayableEditorAdapterContext = PlayableEditorAdapterContext> {\n createCommandError: (error: unknown, fallbackCode: string) => PlayableBridgeCommandErrorPayload;\n assetRegistrationPlan: (\n input: PlayableAssetRegistrationPlanInput,\n context: TContext,\n ) => PlayableMaybePromise<PlayableBridgeCommandPayload>;\n assetUnregistrationPlan: (\n input: PlayableAssetUnregistrationPlanInput,\n context: TContext,\n ) => PlayableMaybePromise<PlayableBridgeCommandPayload>;\n assetImport: (\n input: PlayableAssetImportInput,\n context: TContext,\n ) => PlayableMaybePromise<PlayableBridgeCommandPayload>;\n assetRemove: (\n input: PlayableSceneNodeRemoveInput,\n context: TContext,\n ) => PlayableMaybePromise<PlayableBridgeCommandPayload>;\n sceneNodeCreate: (\n input: PlayableSceneNodeCreateInput,\n context: TContext,\n ) => PlayableMaybePromise<PlayableBridgeCommandPayload>;\n sceneNodePatch: (\n input: PlayableSceneNodePatchInput,\n context: TContext,\n ) => PlayableMaybePromise<PlayableBridgeCommandPayload>;\n sceneNodeRemove: (\n input: PlayableSceneNodeRemoveInput,\n context: TContext,\n ) => PlayableMaybePromise<PlayableBridgeCommandPayload>;\n}\n\nexport interface PlayableBridgeCommandAssetAdapterOptions<TContext extends PlayableEditorAdapterContext = PlayableEditorAdapterContext> {\n emitEvent: (name: string, payload: Record<string, unknown>) => void;\n errorCodes: PlayableBridgeCommandDispatcherErrorCodes;\n handlers: PlayableBridgeCommandDispatcherHandlers<TContext>;\n}\n\nexport function createPlayableBridgeCommandAssetAdapter<\n TContext extends PlayableEditorAdapterContext = PlayableEditorAdapterContext,\n>(\n options: PlayableBridgeCommandAssetAdapterOptions<TContext>,\n): PlayableAssetAdapter {\n return {\n async handleCommand(name, params, context) {\n const typedContext = context as TContext;\n if (name === PLAYABLE_EDITOR_COMMAND_NAME.ASSET_REGISTRATION_PLAN) {\n const input = readPlayableAssetRegistrationPlanInput(params);\n await emitCommandResult({\n eventName: PLAYABLE_EDITOR_EVENT_NAME.ASSET_REGISTRATION_PLANNED,\n failedEventName: PLAYABLE_EDITOR_EVENT_NAME.ASSET_REGISTRATION_FAILED,\n requestId: input.requestId,\n fallbackCode: options.errorCodes.assetRegistrationPlanFailed,\n emitEvent: options.emitEvent,\n createCommandError: options.handlers.createCommandError,\n run: () => options.handlers.assetRegistrationPlan(input, typedContext),\n });\n return true;\n }\n\n if (name === PLAYABLE_EDITOR_COMMAND_NAME.ASSET_UNREGISTRATION_PLAN) {\n const input = readPlayableAssetUnregistrationPlanInput(params);\n await emitCommandResult({\n eventName: PLAYABLE_EDITOR_EVENT_NAME.ASSET_UNREGISTRATION_PLANNED,\n failedEventName: PLAYABLE_EDITOR_EVENT_NAME.ASSET_UNREGISTRATION_FAILED,\n requestId: input.requestId,\n fallbackCode: options.errorCodes.assetUnregistrationPlanFailed,\n emitEvent: options.emitEvent,\n createCommandError: options.handlers.createCommandError,\n run: () => options.handlers.assetUnregistrationPlan(input, typedContext),\n });\n return true;\n }\n\n if (name === PLAYABLE_EDITOR_COMMAND_NAME.ASSET_IMPORT) {\n const input = readPlayableAssetImportInput(params);\n const payload = await options.handlers.assetImport(input, typedContext);\n if (payload) options.emitEvent(PLAYABLE_EDITOR_EVENT_NAME.ASSET_IMPORT_RESULT, payload);\n return true;\n }\n\n if (name === PLAYABLE_EDITOR_COMMAND_NAME.ASSET_REMOVE) {\n const input = readPlayableSceneNodeRemoveInput(params);\n const payload = await options.handlers.assetRemove(input, typedContext);\n if (payload) options.emitEvent(PLAYABLE_EDITOR_EVENT_NAME.ASSET_REMOVE_RESULT, payload);\n return true;\n }\n\n if (name === PLAYABLE_EDITOR_COMMAND_NAME.SCENE_NODE_CREATE) {\n const input = readPlayableSceneNodeCreateInput(params);\n await emitCommandResult({\n eventName: PLAYABLE_EDITOR_EVENT_NAME.SCENE_NODE_CREATE_RESULT,\n failedEventName: PLAYABLE_EDITOR_EVENT_NAME.SCENE_NODE_CREATE_RESULT,\n requestId: input.requestId,\n fallbackCode: options.errorCodes.sceneNodeCreateFailed,\n emitEvent: options.emitEvent,\n createCommandError: options.handlers.createCommandError,\n run: () => options.handlers.sceneNodeCreate(input, typedContext),\n });\n return true;\n }\n\n if (name === PLAYABLE_EDITOR_COMMAND_NAME.SCENE_NODE_PATCH) {\n const input = readPlayableSceneNodePatchInput(params);\n await emitCommandResult({\n eventName: PLAYABLE_EDITOR_EVENT_NAME.SCENE_NODE_PATCH_RESULT,\n failedEventName: PLAYABLE_EDITOR_EVENT_NAME.SCENE_NODE_PATCH_RESULT,\n requestId: input.requestId,\n fallbackCode: options.errorCodes.sceneNodePatchFailed,\n failureExtra: { nodeId: input.nodeId },\n emitEvent: options.emitEvent,\n createCommandError: options.handlers.createCommandError,\n run: () => options.handlers.sceneNodePatch(input, typedContext),\n });\n return true;\n }\n\n if (name === PLAYABLE_EDITOR_COMMAND_NAME.SCENE_NODE_REMOVE) {\n const input = readPlayableSceneNodeRemoveInput(params);\n const payload = await options.handlers.sceneNodeRemove(input, typedContext);\n if (payload) options.emitEvent(PLAYABLE_EDITOR_EVENT_NAME.SCENE_NODE_REMOVE_RESULT, payload);\n return true;\n }\n\n return false;\n },\n };\n}\n\nasync function emitCommandResult(input: {\n eventName: string;\n failedEventName: string;\n requestId?: string;\n fallbackCode: string;\n failureExtra?: Record<string, unknown>;\n emitEvent: (name: string, payload: Record<string, unknown>) => void;\n createCommandError: (error: unknown, fallbackCode: string) => PlayableBridgeCommandErrorPayload;\n run: () => PlayableMaybePromise<PlayableBridgeCommandPayload>;\n}): Promise<void> {\n try {\n const payload = await input.run();\n if (payload) input.emitEvent(input.eventName, payload);\n } catch (error) {\n input.emitEvent(input.failedEventName, {\n requestId: input.requestId,\n ok: false,\n ...input.failureExtra,\n ...input.createCommandError(error, input.fallbackCode),\n });\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/bridge-command/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/bridge-command/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC","sourcesContent":["export * from './types';\nexport * from './protocol';\nexport * from './readers';\nexport * from './payload';\nexport * from './adapter-dispatcher';\nexport * from './project-asset-adapter';\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"payload.js","sourceRoot":"","sources":["../../src/bridge-command/payload.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,UAAU,GACX,MAAM,gBAAgB,CAAC;AAMxB,MAAM,UAAU,4BAA4B,CAC1C,KAAc,EACd,YAAoB,EACpB,UAEI,EAAE;IAEN,MAAM,YAAY,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC,KAAK,CAAC,CAAC;IACvD,IAAI,YAAY;QAAE,OAAO,YAAY,CAAC;IAEtC,MAAM,SAAS,GAAG,KAAuC,CAAC;IAC1D,MAAM,IAAI,GAAG,UAAU,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,YAAY,CAAC;IACzD,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK;QACpC,CAAC,CAAC,KAAK,CAAC,OAAO;QACf,CAAC,CAAC,UAAU,CAAC,SAAS,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC;IACpD,MAAM,OAAO,GAAG,UAAU,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAC/C,OAAO;QACL,IAAI;QACJ,KAAK,EAAE,OAAO;QACd,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAChC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,gCAAgC,CAC9C,KAA8B,EAC9B,UAEI,EAAE;IAEN,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,QAAQ,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;IAC1D,MAAM,OAAO,GAAG,EAAE,GAAG,KAAK,EAAE,CAAC;IAC7B,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;QAC1B,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC;IACtB,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC"}
1
+ {"version":3,"file":"payload.js","sourceRoot":"","sources":["../../src/bridge-command/payload.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,UAAU,GACX,MAAM,gBAAgB,CAAC;AAMxB,MAAM,UAAU,4BAA4B,CAC1C,KAAc,EACd,YAAoB,EACpB,UAEI,EAAE;IAEN,MAAM,YAAY,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC,KAAK,CAAC,CAAC;IACvD,IAAI,YAAY;QAAE,OAAO,YAAY,CAAC;IAEtC,MAAM,SAAS,GAAG,KAAuC,CAAC;IAC1D,MAAM,IAAI,GAAG,UAAU,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,YAAY,CAAC;IACzD,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK;QACpC,CAAC,CAAC,KAAK,CAAC,OAAO;QACf,CAAC,CAAC,UAAU,CAAC,SAAS,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC;IACpD,MAAM,OAAO,GAAG,UAAU,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAC/C,OAAO;QACL,IAAI;QACJ,KAAK,EAAE,OAAO;QACd,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAChC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,gCAAgC,CAC9C,KAA8B,EAC9B,UAEI,EAAE;IAEN,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,QAAQ,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;IAC1D,MAAM,OAAO,GAAG,EAAE,GAAG,KAAK,EAAE,CAAC;IAC7B,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;QAC1B,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC;IACtB,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC","sourcesContent":["import {\n readRecord,\n readString,\n} from '../shared/json';\nimport type {\n PlayableBridgeCommandErrorLike,\n PlayableBridgeCommandErrorPayload,\n} from './types';\n\nexport function toPlayableBridgeCommandError(\n error: unknown,\n fallbackCode: string,\n options: {\n readProjectError?: (error: unknown) => PlayableBridgeCommandErrorPayload | null | undefined;\n } = {},\n): PlayableBridgeCommandErrorPayload {\n const projectError = options.readProjectError?.(error);\n if (projectError) return projectError;\n\n const errorLike = error as PlayableBridgeCommandErrorLike;\n const code = readString(errorLike?.code) ?? fallbackCode;\n const message = error instanceof Error\n ? error.message\n : readString(errorLike?.message) ?? String(error);\n const details = readRecord(errorLike?.details);\n return {\n code,\n error: message,\n ...(details ? { details } : {}),\n };\n}\n\nexport function createPlayableBridgeEventPayload(\n value: Record<string, unknown>,\n options: {\n omitKeys?: readonly string[];\n } = {},\n): Record<string, unknown> {\n const omitted = new Set(options.omitKeys ?? ['rootNode']);\n const payload = { ...value };\n for (const key of omitted) {\n delete payload[key];\n }\n return payload;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"project-asset-adapter.js","sourceRoot":"","sources":["../../src/bridge-command/project-asset-adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"project-asset-adapter.js","sourceRoot":"","sources":["../../src/bridge-command/project-asset-adapter.ts"],"names":[],"mappings":"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","sourcesContent":["import type {\n PlayablePlatformAssetExternal,\n} from '../asset-bridge';\nimport {\n executePlayableAssetTransportPlan,\n type PlayableAssetTransportPlan,\n} from '../authoring-client';\nimport {\n resolvePlayablePlatformAssetRegistrationResult,\n} from '../asset-registration';\nimport {\n createPlayableBridgeCommandAssetAdapter,\n} from './adapter-dispatcher';\nimport {\n createPlayableBridgeEventPayload,\n toPlayableBridgeCommandError,\n} from './payload';\nimport type {\n PlayableAssetAdapter,\n PlayableAssetImportInput,\n PlayableAssetRegistrationPlanInput,\n PlayableAssetUnregistrationPlanInput,\n PlayableBridgeCommandErrorPayload,\n PlayableEditorAdapterContext,\n PlayableMaybePromise,\n PlayableSceneNodeCreateInput,\n PlayableSceneNodePatchInput,\n PlayableSceneNodeRemoveInput,\n} from './types';\n\nexport interface PlayableProjectAssetBridgeErrorCodes {\n assetRegistrationPlanFailed: string;\n assetUnregistrationPlanFailed: string;\n sceneNodeCreateFailed: string;\n sceneNodePatchFailed: string;\n missingNodeId: string;\n nodeNotFound: string;\n}\n\nexport interface PlayableProjectAssetBridgeRegistrationPlan {\n guid?: string;\n assetId: string;\n assetUrl?: string;\n external?: PlayablePlatformAssetExternal;\n transportPlan?: PlayableAssetTransportPlan;\n [key: string]: unknown;\n}\n\nexport interface PlayableProjectAssetBridgeAssetInstanceInput {\n requestId?: string;\n guid?: string;\n assetId: string;\n external?: PlayablePlatformAssetExternal;\n assetUrl?: string;\n assetName?: string;\n displayName?: string;\n category?: string;\n materialMode?: unknown;\n scale?: unknown;\n defaultScale?: unknown;\n instanceScale?: unknown;\n metadata?: Record<string, unknown>;\n dropSurfaceName?: string;\n clientX?: number;\n clientY?: number;\n position?: unknown;\n}\n\nexport interface PlayableProjectAssetBridgeAssetInstanceResult {\n requestId?: string;\n ok: boolean;\n guid?: string;\n assetId: string;\n nodeId?: string;\n rootNode?: unknown | null;\n code?: string;\n error?: string;\n [key: string]: unknown;\n}\n\nexport interface PlayableProjectAssetBridgeSceneNodeResult<TNode extends { id: string } = { id: string }> {\n node: TNode;\n rootNode?: unknown | null;\n}\n\nexport interface PlayableProjectAssetBridgeOptions<\n TContext extends PlayableEditorAdapterContext = PlayableEditorAdapterContext,\n TPlan extends PlayableProjectAssetBridgeRegistrationPlan = PlayableProjectAssetBridgeRegistrationPlan,\n TSceneNode extends { id: string } = { id: string },\n> {\n emitEvent: (name: string, payload: Record<string, unknown>) => void;\n errorCodes: PlayableProjectAssetBridgeErrorCodes;\n isBridgeActive?: () => boolean;\n ensureDocumentLoaded: () => void;\n notifyDocumentStatus?: () => void;\n selectRuntimeNode?: (node: unknown | null) => void;\n createCommandError?: (error: unknown, fallbackCode: string) => PlayableBridgeCommandErrorPayload;\n planAssetRegistration: (\n input: PlayableAssetRegistrationPlanInput,\n context: TContext,\n ) => PlayableMaybePromise<TPlan>;\n planAssetUnregistration: (\n input: PlayableAssetUnregistrationPlanInput,\n context: TContext,\n ) => PlayableMaybePromise<Record<string, unknown>>;\n executeTransportPlan?: (\n plan: PlayableAssetTransportPlan,\n context: TContext,\n ) => Promise<Record<string, unknown>>;\n createAssetInstance: (\n input: PlayableProjectAssetBridgeAssetInstanceInput,\n context: TContext,\n ) => Promise<PlayableProjectAssetBridgeAssetInstanceResult>;\n removeAssetInstance: (\n input: PlayableSceneNodeRemoveInput,\n context: TContext,\n ) => PlayableMaybePromise<PlayableProjectAssetBridgeAssetInstanceResult>;\n sceneNodeCreate: (\n input: PlayableSceneNodeCreateInput,\n context: TContext,\n ) => PlayableMaybePromise<PlayableProjectAssetBridgeSceneNodeResult<TSceneNode>>;\n sceneNodePatch: (\n input: PlayableSceneNodePatchInput,\n context: TContext,\n ) => PlayableMaybePromise<PlayableProjectAssetBridgeSceneNodeResult<TSceneNode>>;\n sceneNodeRemove: (\n input: PlayableSceneNodeRemoveInput,\n context: TContext,\n ) => PlayableMaybePromise<PlayableProjectAssetBridgeSceneNodeResult<TSceneNode> | null>;\n}\n\nexport function createPlayableProjectAssetBridgeAdapter<\n TContext extends PlayableEditorAdapterContext = PlayableEditorAdapterContext,\n TPlan extends PlayableProjectAssetBridgeRegistrationPlan = PlayableProjectAssetBridgeRegistrationPlan,\n TSceneNode extends { id: string } = { id: string },\n>(\n options: PlayableProjectAssetBridgeOptions<TContext, TPlan, TSceneNode>,\n): PlayableAssetAdapter {\n // Generic bridge-command orchestration only; project schema/runtime behavior must be injected through callbacks.\n const notifyDocumentStatus = options.notifyDocumentStatus ?? (() => {});\n const createCommandError = options.createCommandError ?? (\n (error, fallbackCode) => toPlayableBridgeCommandError(error, fallbackCode)\n );\n return createPlayableBridgeCommandAssetAdapter<TContext>({\n emitEvent: options.emitEvent,\n errorCodes: options.errorCodes,\n handlers: {\n createCommandError,\n assetRegistrationPlan: (input, context) => options.planAssetRegistration(input, context),\n assetUnregistrationPlan: (input, context) => options.planAssetUnregistration(input, context),\n assetImport: (input, context) => handlePlayableProjectAssetImport(input, context, options, notifyDocumentStatus),\n assetRemove: (input, context) => handlePlayableProjectAssetRemove(input, context, options, notifyDocumentStatus),\n sceneNodeCreate: async (input, context) => {\n options.ensureDocumentLoaded();\n const created = await options.sceneNodeCreate(input, context);\n if (created.rootNode) options.selectRuntimeNode?.(created.rootNode);\n notifyDocumentStatus();\n return {\n requestId: input.requestId,\n ok: true,\n nodeId: created.node.id,\n node: created.node as unknown as Record<string, unknown>,\n };\n },\n sceneNodePatch: async (input, context) => {\n options.ensureDocumentLoaded();\n const patched = await options.sceneNodePatch(input, context);\n if (patched.rootNode) options.selectRuntimeNode?.(patched.rootNode);\n notifyDocumentStatus();\n return {\n requestId: input.requestId,\n ok: true,\n nodeId: patched.node.id,\n node: patched.node as unknown as Record<string, unknown>,\n };\n },\n sceneNodeRemove: async (input, context) => {\n options.ensureDocumentLoaded();\n const removed = await options.sceneNodeRemove(input, context);\n if (removed) {\n options.selectRuntimeNode?.(null);\n notifyDocumentStatus();\n }\n return {\n requestId: input.requestId,\n ok: Boolean(removed),\n nodeId: input.nodeId,\n ...(removed\n ? { removedNodeId: removed.node.id }\n : {\n code: options.errorCodes.nodeNotFound,\n error: options.errorCodes.nodeNotFound,\n }),\n };\n },\n },\n });\n}\n\nasync function handlePlayableProjectAssetImport<\n TContext extends PlayableEditorAdapterContext,\n TPlan extends PlayableProjectAssetBridgeRegistrationPlan,\n TSceneNode extends { id: string },\n>(\n importInput: PlayableAssetImportInput,\n context: TContext,\n options: PlayableProjectAssetBridgeOptions<TContext, TPlan, TSceneNode>,\n notifyDocumentStatus: () => void,\n): Promise<Record<string, unknown> | null> {\n if (options.isBridgeActive?.()) return null;\n options.ensureDocumentLoaded();\n const executeTransportPlan = options.executeTransportPlan\n ?? ((plan: PlayableAssetTransportPlan) => executePlayableAssetTransportPlan(plan));\n const inferredAssetUrl = readOptionalString(importInput.inferredAssetUrl)\n || (importInput.inferredAssetPath ? `/@fs${importInput.inferredAssetPath}` : '');\n const registrationPlan = await options.planAssetRegistration({\n ...importInput,\n assetName: importInput.rawAssetName || undefined,\n assetPath: importInput.inferredAssetPath,\n assetUrl: inferredAssetUrl,\n }, context);\n const transportPlan = registrationPlan.transportPlan;\n if (importInput.inferredAssetPath && !transportPlan) {\n throw new Error('Asset registration transportPlan is required before placing an inferred project asset.');\n }\n let registered: Record<string, unknown> | null = null;\n if (importInput.inferredAssetPath) {\n registered = await executeTransportPlan(transportPlan as PlayableAssetTransportPlan, context);\n }\n const canonical = resolvePlayablePlatformAssetRegistrationResult({\n result: registered,\n fallback: {\n guid: registrationPlan.guid,\n assetId: registrationPlan.assetId,\n assetUrl: inferredAssetUrl,\n external: registrationPlan.external,\n },\n });\n const result = await options.createAssetInstance({\n requestId: importInput.requestId,\n guid: canonical.guid,\n assetId: canonical.assetId,\n external: canonical.external,\n assetUrl: canonical.assetUrl,\n assetName: importInput.rawAssetName || undefined,\n displayName: importInput.displayName,\n category: importInput.category,\n materialMode: importInput.materialMode,\n scale: importInput.scale,\n defaultScale: importInput.defaultScale,\n instanceScale: importInput.instanceScale,\n metadata: importInput.metadata,\n dropSurfaceName: importInput.dropSurfaceName,\n clientX: importInput.clientX,\n clientY: importInput.clientY,\n position: importInput.position,\n }, context);\n if (result.ok) {\n if (result.rootNode) options.selectRuntimeNode?.(result.rootNode);\n notifyDocumentStatus();\n }\n return createPlayableBridgeEventPayload(result);\n}\n\nasync function handlePlayableProjectAssetRemove<\n TContext extends PlayableEditorAdapterContext,\n TPlan extends PlayableProjectAssetBridgeRegistrationPlan,\n TSceneNode extends { id: string },\n>(\n input: PlayableSceneNodeRemoveInput,\n context: TContext,\n options: PlayableProjectAssetBridgeOptions<TContext, TPlan, TSceneNode>,\n notifyDocumentStatus: () => void,\n): Promise<Record<string, unknown>> {\n options.ensureDocumentLoaded();\n const result = input.nodeId\n ? await options.removeAssetInstance(input, context)\n : {\n ok: false,\n assetId: '',\n code: options.errorCodes.missingNodeId,\n error: options.errorCodes.missingNodeId,\n };\n if (result.ok) {\n options.selectRuntimeNode?.(null);\n notifyDocumentStatus();\n }\n return {\n requestId: input.requestId,\n ...result,\n };\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":"protocol.js","sourceRoot":"","sources":["../../src/bridge-command/protocol.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,4BAA4B,CAAC;AAOpC,MAAM,CAAC,MAAM,4BAA4B,GAAG,mBAAmB,CAAC;AAChE,MAAM,CAAC,MAAM,0BAA0B,GAAG,iBAAiB,CAAC;AAC5D,MAAM,CAAC,MAAM,4BAA4B,GAAG,mBAAmB,CAAC"}
1
+ {"version":3,"file":"protocol.js","sourceRoot":"","sources":["../../src/bridge-command/protocol.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,4BAA4B,CAAC;AAOpC,MAAM,CAAC,MAAM,4BAA4B,GAAG,mBAAmB,CAAC;AAChE,MAAM,CAAC,MAAM,0BAA0B,GAAG,iBAAiB,CAAC;AAC5D,MAAM,CAAC,MAAM,4BAA4B,GAAG,mBAAmB,CAAC","sourcesContent":["import {\n EDITOR_COMMAND_NAME,\n EDITOR_EVENT_NAME,\n EDITOR_POST_MESSAGE,\n} from '@fps-games/editor-protocol';\nimport type {\n EditorCommandName,\n EditorEventName,\n EditorPostMessageType,\n} from '@fps-games/editor-protocol';\n\nexport const PLAYABLE_EDITOR_COMMAND_NAME = EDITOR_COMMAND_NAME;\nexport const PLAYABLE_EDITOR_EVENT_NAME = EDITOR_EVENT_NAME;\nexport const PLAYABLE_EDITOR_POST_MESSAGE = EDITOR_POST_MESSAGE;\n\nexport type PlayableEditorCommandName = EditorCommandName;\nexport type PlayableEditorEventName = EditorEventName;\nexport type PlayableEditorPostMessageType = EditorPostMessageType;\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"readers.js","sourceRoot":"","sources":["../../src/bridge-command/readers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"readers.js","sourceRoot":"","sources":["../../src/bridge-command/readers.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n readRecord,\n} from '../shared/json';\nimport type {\n PlayableAssetImportInput,\n PlayableAssetRegistrationPlanInput,\n PlayableAssetUnregistrationPlanInput,\n PlayableSceneNodeCreateInput,\n PlayableSceneNodePatchInput,\n PlayableSceneNodeRemoveInput,\n} from './types';\n\nexport function readPlayableBridgeRequestId(params: Record<string, unknown>): string | undefined {\n return readCommandString(params.requestId);\n}\n\nexport function readPlayableAssetRegistrationPlanInput(\n params: Record<string, unknown>,\n): PlayableAssetRegistrationPlanInput {\n return {\n requestId: readPlayableBridgeRequestId(params),\n assetName: readCommandString(params.assetName),\n assetPath: readCommandString(params.assetPath),\n assetUrl: readCommandString(params.assetUrl),\n guid: readCommandString(params.guid),\n assetId: readCommandString(params.projectAssetId),\n kind: readCommandString(params.assetType) ?? readCommandString(params.kind),\n platformAssetId: readCommandString(params.platformAssetId) ?? readCommandString(params.assetId),\n displayName: readCommandString(params.displayName),\n category: readCommandString(params.category),\n materialMode: params.materialMode,\n scale: params.scale,\n defaultScale: params.defaultScale,\n metadata: readRecord(params.metadata),\n payloadPath: readCommandString(params.payloadPath),\n };\n}\n\nexport function readPlayableAssetUnregistrationPlanInput(\n params: Record<string, unknown>,\n): PlayableAssetUnregistrationPlanInput {\n return {\n requestId: readPlayableBridgeRequestId(params),\n guid: readCommandString(params.guid),\n assetId: readCommandString(params.projectAssetId) ?? readCommandString(params.assetId),\n payloadPath: readCommandString(params.payloadPath),\n deleteFile: typeof params.deleteFile === 'boolean' ? params.deleteFile : undefined,\n };\n}\n\nexport function readPlayableAssetImportInput(\n params: Record<string, unknown>,\n): PlayableAssetImportInput {\n const rawAssetName = readCommandString(params.assetName) ?? '';\n const inferredAssetPath = readCommandString(params.assetPath);\n return {\n ...readPlayableAssetRegistrationPlanInput(params),\n kind: readCommandString(params.assetType) ?? readCommandString(params.kind) ?? 'model',\n rawAssetName,\n inferredAssetPath,\n inferredAssetUrl: readCommandString(params.assetUrl) ?? (inferredAssetPath ? `/@fs${inferredAssetPath}` : ''),\n instanceScale: params.instanceScale,\n dropSurfaceName: readCommandString(params.dropSurfaceName),\n clientX: typeof params.clientX === 'number' && Number.isFinite(params.clientX) ? params.clientX : undefined,\n clientY: typeof params.clientY === 'number' && Number.isFinite(params.clientY) ? params.clientY : undefined,\n position: params.position,\n };\n}\n\nexport function readPlayableSceneNodeCreateInput(\n params: Record<string, unknown>,\n): PlayableSceneNodeCreateInput {\n const customTransformData = readPlayableSceneNodeCreateCustomTransformData(params);\n return {\n requestId: readPlayableBridgeRequestId(params),\n id: readCommandString(params.id),\n name: readCommandString(params.name),\n kind: params.kind,\n parentId: readCommandString(params.parentId),\n enabled: typeof params.enabled === 'boolean' ? params.enabled : undefined,\n transform: params.transform,\n instance: params.instance,\n primitive: params.primitive,\n transformType: params.transformType,\n ...(customTransformData ? { customTransformData } : {}),\n camera: params.camera,\n light: params.light,\n };\n}\n\nexport function readPlayableSceneNodePatchInput(\n params: Record<string, unknown>,\n): PlayableSceneNodePatchInput {\n return {\n requestId: readPlayableBridgeRequestId(params),\n nodeId: readCommandString(params.nodeId) ?? '',\n patches: Array.isArray(params.patches)\n ? params.patches\n : readCommandString(params.path)\n ? [{ path: params.path, value: params.value }]\n : [],\n };\n}\n\nexport function readPlayableSceneNodeRemoveInput(\n params: Record<string, unknown>,\n): PlayableSceneNodeRemoveInput {\n return {\n requestId: readPlayableBridgeRequestId(params),\n nodeId: readCommandString(params.nodeId),\n };\n}\n\nfunction readCommandString(value: unknown): string | undefined {\n if (typeof value !== 'string') return undefined;\n const trimmed = value.trim();\n return trimmed ? trimmed : undefined;\n}\n\nfunction readPlayableSceneNodeCreateCustomTransformData(\n params: Record<string, unknown>,\n): Record<string, unknown> | undefined {\n const knownKeys = new Set([\n 'requestId',\n 'id',\n 'name',\n 'kind',\n 'parentId',\n 'enabled',\n 'transform',\n 'instance',\n 'primitive',\n 'transformType',\n 'customTransformData',\n 'camera',\n 'light',\n ]);\n const explicitCustom = readRecord(params.customTransformData);\n const custom: Record<string, unknown> = explicitCustom ? { ...explicitCustom } : {};\n for (const [key, value] of Object.entries(params)) {\n if (!knownKeys.has(key)) custom[key] = value;\n }\n return Object.keys(custom).length > 0 ? custom : undefined;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/bridge-command/types.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/bridge-command/types.ts"],"names":[],"mappings":"","sourcesContent":["export type PlayableMaybePromise<T> = T | Promise<T>;\n\nexport interface PlayableEditorAdapterContext {\n browserHost: unknown;\n engine?: unknown;\n scene: unknown | null;\n game: unknown | null;\n}\n\nexport interface PlayableAssetAdapter {\n handleCommand?(\n name: string,\n params: Record<string, unknown>,\n context: PlayableEditorAdapterContext,\n ): PlayableMaybePromise<boolean>;\n}\n\nexport interface PlayableBridgeCommandErrorPayload {\n code: string;\n error: string;\n details?: Record<string, unknown>;\n}\n\nexport interface PlayableBridgeCommandErrorLike {\n code?: unknown;\n message?: unknown;\n details?: unknown;\n}\n\nexport interface PlayableAssetRegistrationPlanInput {\n requestId?: string;\n assetName?: string;\n assetPath?: string;\n assetUrl?: string;\n guid?: string;\n assetId?: string;\n kind?: string;\n platformAssetId?: string;\n displayName?: string;\n category?: string;\n materialMode?: unknown;\n scale?: unknown;\n defaultScale?: unknown;\n metadata?: Record<string, unknown>;\n payloadPath?: string;\n}\n\nexport interface PlayableAssetUnregistrationPlanInput {\n requestId?: string;\n guid?: string;\n assetId?: string;\n payloadPath?: string;\n deleteFile?: boolean;\n}\n\nexport interface PlayableAssetImportInput extends PlayableAssetRegistrationPlanInput {\n rawAssetName: string;\n inferredAssetPath?: string;\n inferredAssetUrl: string;\n instanceScale?: unknown;\n dropSurfaceName?: string;\n clientX?: number;\n clientY?: number;\n position?: unknown;\n}\n\nexport interface PlayableSceneNodeCreateInput {\n requestId?: string;\n id?: string;\n name?: string;\n kind?: unknown;\n parentId?: string;\n enabled?: boolean;\n transform?: unknown;\n instance?: unknown;\n primitive?: unknown;\n transformType?: unknown;\n customTransformData?: Record<string, unknown>;\n camera?: unknown;\n light?: unknown;\n}\n\nexport interface PlayableSceneNodePatchInput {\n requestId?: string;\n nodeId: string;\n patches: unknown[];\n}\n\nexport interface PlayableSceneNodeRemoveInput {\n requestId?: string;\n nodeId?: string;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"binding.js","sourceRoot":"","sources":["../../src/camera-debug/binding.ts"],"names":[],"mappings":"AAWA,MAAM,UAAU,mCAAmC,CAAC,QAAiB;IACnE,MAAM,SAAS,GAAG,UAAU,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,WAAW,CAAC,CAAC;IAChE,MAAM,QAAQ,GAAG,kBAAkB,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IACzD,MAAM,UAAU,GAAG,kBAAkB,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;IAC7D,MAAM,QAAQ,GAAG,kBAAkB,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IACzD,MAAM,YAAY,GAAG,kBAAkB,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;IACjE,IAAI,CAAC,QAAQ,IAAI,YAAY,KAAK,QAAQ,IAAI,CAAC,CAAC,UAAU,IAAI,CAAC,QAAQ,CAAC;QAAE,OAAO,IAAI,CAAC;IACtF,OAAO;QACL,QAAQ;QACR,YAAY,EAAE,QAAQ;QACtB,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACrC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAClC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,wCAAwC,CACtD,OAAwC;IAExC,MAAM,QAAQ,GAAG,kBAAkB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACtD,MAAM,YAAY,GAAG,kBAAkB,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IAC9D,MAAM,UAAU,GAAG,kBAAkB,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAC1D,MAAM,QAAQ,GAAG,kBAAkB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACtD,IAAI,CAAC,QAAQ;QAAE,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;IAC9E,IAAI,YAAY,KAAK,QAAQ;QAAE,MAAM,IAAI,KAAK,CAAC,6CAA6C,YAAY,IAAI,SAAS,EAAE,CAAC,CAAC;IACzH,IAAI,CAAC,UAAU,IAAI,CAAC,QAAQ;QAAE,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;IACxG,OAAO;QACL,QAAQ;QACR,YAAY;QACZ,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACrC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAClC,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CAAC,KAAc;IAChC,OAAO,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAChE,CAAC,CAAC,KAAgC;QAClC,CAAC,CAAC,IAAI,CAAC;AACX,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAc;IACxC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AACzE,CAAC"}
1
+ {"version":3,"file":"binding.js","sourceRoot":"","sources":["../../src/camera-debug/binding.ts"],"names":[],"mappings":"AAWA,MAAM,UAAU,mCAAmC,CAAC,QAAiB;IACnE,MAAM,SAAS,GAAG,UAAU,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,WAAW,CAAC,CAAC;IAChE,MAAM,QAAQ,GAAG,kBAAkB,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IACzD,MAAM,UAAU,GAAG,kBAAkB,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;IAC7D,MAAM,QAAQ,GAAG,kBAAkB,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IACzD,MAAM,YAAY,GAAG,kBAAkB,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;IACjE,IAAI,CAAC,QAAQ,IAAI,YAAY,KAAK,QAAQ,IAAI,CAAC,CAAC,UAAU,IAAI,CAAC,QAAQ,CAAC;QAAE,OAAO,IAAI,CAAC;IACtF,OAAO;QACL,QAAQ;QACR,YAAY,EAAE,QAAQ;QACtB,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACrC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAClC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,wCAAwC,CACtD,OAAwC;IAExC,MAAM,QAAQ,GAAG,kBAAkB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACtD,MAAM,YAAY,GAAG,kBAAkB,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IAC9D,MAAM,UAAU,GAAG,kBAAkB,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAC1D,MAAM,QAAQ,GAAG,kBAAkB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACtD,IAAI,CAAC,QAAQ;QAAE,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;IAC9E,IAAI,YAAY,KAAK,QAAQ;QAAE,MAAM,IAAI,KAAK,CAAC,6CAA6C,YAAY,IAAI,SAAS,EAAE,CAAC,CAAC;IACzH,IAAI,CAAC,UAAU,IAAI,CAAC,QAAQ;QAAE,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;IACxG,OAAO;QACL,QAAQ;QACR,YAAY;QACZ,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACrC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAClC,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CAAC,KAAc;IAChC,OAAO,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAChE,CAAC,CAAC,KAAgC;QAClC,CAAC,CAAC,IAAI,CAAC;AACX,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAc;IACxC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AACzE,CAAC","sourcesContent":["export interface EditorSceneRuntimeCameraBinding {\n sourceId: string;\n objectGuid?: string;\n objectId?: string;\n propertyPath: 'camera' | string;\n}\n\nexport type NormalizedEditorSceneRuntimeCameraBinding =\n Required<Pick<EditorSceneRuntimeCameraBinding, 'sourceId' | 'propertyPath'>>\n & Pick<EditorSceneRuntimeCameraBinding, 'objectGuid' | 'objectId'>;\n\nexport function readEditorSceneRuntimeCameraBinding(metadata: unknown): EditorSceneRuntimeCameraBinding | null {\n const fpsEditor = readRecord(readRecord(metadata)?.__fpsEditor);\n const sourceId = readNonEmptyString(fpsEditor?.sourceId);\n const objectGuid = readNonEmptyString(fpsEditor?.objectGuid);\n const objectId = readNonEmptyString(fpsEditor?.objectId);\n const propertyPath = readNonEmptyString(fpsEditor?.propertyPath);\n if (!sourceId || propertyPath !== 'camera' || (!objectGuid && !objectId)) return null;\n return {\n sourceId,\n propertyPath: 'camera',\n ...(objectGuid ? { objectGuid } : {}),\n ...(objectId ? { objectId } : {}),\n };\n}\n\nexport function normalizeEditorSceneRuntimeCameraBinding(\n binding: EditorSceneRuntimeCameraBinding,\n): NormalizedEditorSceneRuntimeCameraBinding {\n const sourceId = readNonEmptyString(binding.sourceId);\n const propertyPath = readNonEmptyString(binding.propertyPath);\n const objectGuid = readNonEmptyString(binding.objectGuid);\n const objectId = readNonEmptyString(binding.objectId);\n if (!sourceId) throw new Error('Runtime camera binding is missing sourceId.');\n if (propertyPath !== 'camera') throw new Error(`Runtime camera binding is not for camera: ${propertyPath ?? 'missing'}`);\n if (!objectGuid && !objectId) throw new Error('Runtime camera binding is missing objectGuid/objectId.');\n return {\n sourceId,\n propertyPath,\n ...(objectGuid ? { objectGuid } : {}),\n ...(objectId ? { objectId } : {}),\n };\n}\n\nfunction readRecord(value: unknown): Record<string, unknown> | null {\n return value && typeof value === 'object' && !Array.isArray(value)\n ? value as Record<string, unknown>\n : null;\n}\n\nfunction readNonEmptyString(value: unknown): string | null {\n return typeof value === 'string' && value.trim() ? value.trim() : null;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"fields.js","sourceRoot":"","sources":["../../src/camera-debug/fields.ts"],"names":[],"mappings":"AAKA,MAAM,CAAC,MAAM,uCAAuC,GAAG;IACrD,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE;IAC3B,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE;IAC1B,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE;IAC1C,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE;IACzE,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,UAAU,EAAE,aAAa,EAAE;IACzE,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,IAAI,EAAE;IACtC,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,IAAI,EAAE;IACtC,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,IAAI,EAAE;IACtC,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE;IACxC,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE;IACtC,EAAE,KAAK,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAAC,EAAE;IACpC,EAAE,KAAK,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAAC,EAAE;IACpC,EAAE,KAAK,EAAE,kBAAkB,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE;IACpD,EAAE,KAAK,EAAE,kBAAkB,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE;IACpD,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE;IAChD,EAAE,KAAK,EAAE,qBAAqB,EAAE,IAAI,EAAE,IAAI,EAAE;IAC5C,EAAE,KAAK,EAAE,qBAAqB,EAAE,IAAI,EAAE,IAAI,EAAE;CAC6B,CAAC;AAE5E,MAAM,CAAC,MAAM,2CAA2C,GAAG;IACzD,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,gBAAgB,EAAE;IACnE,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,kBAAkB,EAAE,KAAK,EAAE,kBAAkB,EAAE;CACH,CAAC"}
1
+ {"version":3,"file":"fields.js","sourceRoot":"","sources":["../../src/camera-debug/fields.ts"],"names":[],"mappings":"AAKA,MAAM,CAAC,MAAM,uCAAuC,GAAG;IACrD,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE;IAC3B,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE;IAC1B,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE;IAC1C,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE;IACzE,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,UAAU,EAAE,aAAa,EAAE;IACzE,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,IAAI,EAAE;IACtC,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,IAAI,EAAE;IACtC,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,IAAI,EAAE;IACtC,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE;IACxC,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE;IACtC,EAAE,KAAK,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAAC,EAAE;IACpC,EAAE,KAAK,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAAC,EAAE;IACpC,EAAE,KAAK,EAAE,kBAAkB,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE;IACpD,EAAE,KAAK,EAAE,kBAAkB,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE;IACpD,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE;IAChD,EAAE,KAAK,EAAE,qBAAqB,EAAE,IAAI,EAAE,IAAI,EAAE;IAC5C,EAAE,KAAK,EAAE,qBAAqB,EAAE,IAAI,EAAE,IAAI,EAAE;CAC6B,CAAC;AAE5E,MAAM,CAAC,MAAM,2CAA2C,GAAG;IACzD,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,gBAAgB,EAAE;IACnE,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,kBAAkB,EAAE,KAAK,EAAE,kBAAkB,EAAE;CACH,CAAC","sourcesContent":["import type {\n EditorSceneCameraDebugNumberFieldConfig,\n EditorSceneCameraDebugRangeFieldPair,\n} from './types';\n\nexport const EDITOR_SCENE_CAMERA_DEBUG_NUMBER_FIELDS = [\n { field: 'alpha', step: 1 },\n { field: 'beta', step: 1 },\n { field: 'radius', step: 0.1, min: 0.001 },\n { field: 'orthoSize', step: 0.1, min: 0.001, projection: 'orthographic' },\n { field: 'fovDeg', step: 1, min: 1, max: 179, projection: 'perspective' },\n { field: 'targetOffsetX', step: 0.05 },\n { field: 'targetOffsetY', step: 0.05 },\n { field: 'targetOffsetZ', step: 0.05 },\n { field: 'minZ', step: 0.1, min: 0.001 },\n { field: 'maxZ', step: 1, min: 0.001 },\n { field: 'lowerBetaLimit', step: 1 },\n { field: 'upperBetaLimit', step: 1 },\n { field: 'lowerRadiusLimit', step: 0.1, min: 0.001 },\n { field: 'upperRadiusLimit', step: 0.1, min: 0.001 },\n { field: 'inertia', step: 0.05, min: 0, max: 1 },\n { field: 'targetScreenOffsetX', step: 0.01 },\n { field: 'targetScreenOffsetY', step: 0.01 },\n] as const satisfies ReadonlyArray<EditorSceneCameraDebugNumberFieldConfig>;\n\nexport const EDITOR_SCENE_CAMERA_DEBUG_RANGE_FIELD_PAIRS = [\n { value: 'beta', lower: 'lowerBetaLimit', upper: 'upperBetaLimit' },\n { value: 'radius', lower: 'lowerRadiusLimit', upper: 'upperRadiusLimit' },\n] as const satisfies ReadonlyArray<EditorSceneCameraDebugRangeFieldPair>;\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/camera-debug/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,OAAO,CAAC;AACtB,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,OAAO,CAAC;AACtB,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/camera-debug/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,OAAO,CAAC;AACtB,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,OAAO,CAAC;AACtB,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC","sourcesContent":["export * from './types';\nexport * from './fields';\nexport * from './math';\nexport * from './rig';\nexport * from './binding';\nexport * from './save-patch';\nexport * from './snapshot';\nexport * from './pan';\nexport * from './panel-text';\nexport * from './panel-state';\nexport * from './panel-storage';\nexport * from './panel-format';\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"math.js","sourceRoot":"","sources":["../../src/camera-debug/math.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,sCAAsC,CAAC,KAAa;IAClE,OAAO,CAAC,KAAK,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;AACjC,CAAC;AAED,MAAM,UAAU,sCAAsC,CAAC,KAAa;IAClE,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC;AACjC,CAAC;AAED,MAAM,UAAU,iCAAiC,CAAC,KAAa;IAC7D,OAAO,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/D,CAAC;AAED,MAAM,UAAU,iCAAiC,CAAC,KAAa,EAAE,GAAW,EAAE,GAAW;IACvF,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;AAC7C,CAAC;AAED,MAAM,UAAU,sCAAsC,CAAC,KAAc,EAAE,QAAgB;IACrF,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC;AAChF,CAAC;AAED,MAAM,UAAU,wCAAwC,CAAC,KAAc,EAAE,QAAgB;IACvF,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC;AAC7F,CAAC"}
1
+ {"version":3,"file":"math.js","sourceRoot":"","sources":["../../src/camera-debug/math.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,sCAAsC,CAAC,KAAa;IAClE,OAAO,CAAC,KAAK,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;AACjC,CAAC;AAED,MAAM,UAAU,sCAAsC,CAAC,KAAa;IAClE,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC;AACjC,CAAC;AAED,MAAM,UAAU,iCAAiC,CAAC,KAAa;IAC7D,OAAO,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/D,CAAC;AAED,MAAM,UAAU,iCAAiC,CAAC,KAAa,EAAE,GAAW,EAAE,GAAW;IACvF,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;AAC7C,CAAC;AAED,MAAM,UAAU,sCAAsC,CAAC,KAAc,EAAE,QAAgB;IACrF,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC;AAChF,CAAC;AAED,MAAM,UAAU,wCAAwC,CAAC,KAAc,EAAE,QAAgB;IACvF,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC;AAC7F,CAAC","sourcesContent":["export function radiansToEditorSceneCameraDebugDegrees(value: number): number {\n return (value * 180) / Math.PI;\n}\n\nexport function degreesToEditorSceneCameraDebugRadians(value: number): number {\n return (value * Math.PI) / 180;\n}\n\nexport function roundEditorSceneCameraDebugNumber(value: number): number {\n return Number.isFinite(value) ? Number(value.toFixed(4)) : 0;\n}\n\nexport function clampEditorSceneCameraDebugNumber(value: number, min: number, max: number): number {\n return Math.min(max, Math.max(min, value));\n}\n\nexport function readEditorSceneCameraDebugFiniteNumber(value: unknown, fallback: number): number {\n return typeof value === 'number' && Number.isFinite(value) ? value : fallback;\n}\n\nexport function readEditorSceneCameraDebugPositiveNumber(value: unknown, fallback: number): number {\n return typeof value === 'number' && Number.isFinite(value) && value > 0 ? value : fallback;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"pan.js","sourceRoot":"","sources":["../../src/camera-debug/pan.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pan.js","sourceRoot":"","sources":["../../src/camera-debug/pan.ts"],"names":[],"mappings":"AAcA,MAAM,UAAU,kCAAkC,CAChD,KAAwC;IAExC,IAAI,KAAK,CAAC,YAAY,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACzC,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;IACvF,MAAM,SAAS,GAAG;QAChB,CAAC,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACnE,CAAC,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;KACpE,CAAC;IACF,IAAI,SAAS,CAAC,CAAC,KAAK,CAAC,IAAI,SAAS,CAAC,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAExD,IAAI,OAAO,GAAG;QACZ,CAAC,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC;QAChD,CAAC,EAAE,CAAC;QACJ,CAAC,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC;KACjD,CAAC;IACF,OAAO,GAAG,mCAAmC,CAC3C,aAAa,CAAC,OAAO,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CACpE,CAAC;IACF,MAAM,KAAK,GAAG,mCAAmC,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC;IACzF,MAAM,WAAW,GAAG;QAClB,CAAC,EAAE,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC;QAClD,CAAC,EAAE,CAAC;QACJ,CAAC,EAAE,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC;KACnD,CAAC;IACF,IAAI,aAAa,CAAC,WAAW,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAElD,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,UAAU,KAAK,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,GAAG,GAAG,CAAC,CAAC;IAC/G,MAAM,QAAQ,GAAG,mCAAmC,CAAC,WAAW,CAAC,CAAC;IAClE,OAAO;QACL,CAAC,EAAE,QAAQ,CAAC,CAAC,GAAG,KAAK,GAAG,KAAK,CAAC,YAAY;QAC1C,CAAC,EAAE,CAAC;QACJ,CAAC,EAAE,QAAQ,CAAC,CAAC,GAAG,KAAK,GAAG,KAAK,CAAC,YAAY;KAC3C,CAAC;AACJ,CAAC;AAED,SAAS,mCAAmC,CAAC,MAAuB;IAClE,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC;IAChD,IAAI,MAAM,IAAI,QAAQ;QAAE,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;IACpD,OAAO;QACL,CAAC,EAAE,MAAM,CAAC,CAAC,GAAG,MAAM;QACpB,CAAC,EAAE,MAAM,CAAC,CAAC,GAAG,MAAM;QACpB,CAAC,EAAE,MAAM,CAAC,CAAC,GAAG,MAAM;KACrB,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,MAAuB;IAC5C,OAAO,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC;AACzE,CAAC","sourcesContent":["import type {\n EditorSceneVec3,\n} from '../document/index';\n\nexport interface EditorSceneCameraPanMovementInput {\n pressedKeys: Iterable<string>;\n cameraPosition: EditorSceneVec3;\n cameraTarget: EditorSceneVec3;\n projection: 'orthographic' | 'perspective';\n radius: number;\n orthoSize: number;\n deltaSeconds: number;\n}\n\nexport function createEditorSceneCameraPanMovement(\n input: EditorSceneCameraPanMovementInput,\n): EditorSceneVec3 | null {\n if (input.deltaSeconds <= 0) return null;\n const pressedKeys = new Set(Array.from(input.pressedKeys, (key) => key.toLowerCase()));\n const direction = {\n x: (pressedKeys.has('d') ? 1 : 0) + (pressedKeys.has('a') ? -1 : 0),\n z: (pressedKeys.has('w') ? 1 : 0) + (pressedKeys.has('s') ? -1 : 0),\n };\n if (direction.x === 0 && direction.z === 0) return null;\n\n let forward = {\n x: input.cameraTarget.x - input.cameraPosition.x,\n y: 0,\n z: input.cameraTarget.z - input.cameraPosition.z,\n };\n forward = normalizeEditorSceneCameraDebugVec3(\n lengthSquared(forward) <= 0.000001 ? { x: 0, y: 0, z: 1 } : forward,\n );\n const right = normalizeEditorSceneCameraDebugVec3({ x: -forward.z, y: 0, z: forward.x });\n const rawMovement = {\n x: forward.x * direction.z + right.x * direction.x,\n y: 0,\n z: forward.z * direction.z + right.z * direction.x,\n };\n if (lengthSquared(rawMovement) === 0) return null;\n\n const speed = Math.max(0.75, input.projection === 'perspective' ? input.radius * 0.12 : input.orthoSize * 1.6);\n const movement = normalizeEditorSceneCameraDebugVec3(rawMovement);\n return {\n x: movement.x * speed * input.deltaSeconds,\n y: 0,\n z: movement.z * speed * input.deltaSeconds,\n };\n}\n\nfunction normalizeEditorSceneCameraDebugVec3(vector: EditorSceneVec3): EditorSceneVec3 {\n const length = Math.sqrt(lengthSquared(vector));\n if (length <= 0.000001) return { x: 0, y: 0, z: 0 };\n return {\n x: vector.x / length,\n y: vector.y / length,\n z: vector.z / length,\n };\n}\n\nfunction lengthSquared(vector: EditorSceneVec3): number {\n return vector.x * vector.x + vector.y * vector.y + vector.z * vector.z;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"panel-format.js","sourceRoot":"","sources":["../../src/camera-debug/panel-format.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,iCAAiC,GAClC,MAAM,QAAQ,CAAC;AAEhB,MAAM,UAAU,iCAAiC,CAAkC,MAAe;IAChG,OAAO,EAAE,GAAG,MAAM,EAAE,CAAC;AACvB,CAAC;AAED,MAAM,UAAU,wCAAwC,CAAC,KAAc,EAAE,MAAc;IACrF,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACvE,OAAO,OAAO,CAAC,CAAC,CAAC,GAAG,MAAM,KAAK,OAAO,EAAE,CAAC,CAAC,CAAC,GAAG,MAAM,GAAG,CAAC;AAC1D,CAAC;AAED,MAAM,UAAU,sCAAsC,CAAC,KAAa;IAClE,OAAO,iCAAiC,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AAC7D,CAAC"}
1
+ {"version":3,"file":"panel-format.js","sourceRoot":"","sources":["../../src/camera-debug/panel-format.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,iCAAiC,GAClC,MAAM,QAAQ,CAAC;AAEhB,MAAM,UAAU,iCAAiC,CAAkC,MAAe;IAChG,OAAO,EAAE,GAAG,MAAM,EAAE,CAAC;AACvB,CAAC;AAED,MAAM,UAAU,wCAAwC,CAAC,KAAc,EAAE,MAAc;IACrF,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACvE,OAAO,OAAO,CAAC,CAAC,CAAC,GAAG,MAAM,KAAK,OAAO,EAAE,CAAC,CAAC,CAAC,GAAG,MAAM,GAAG,CAAC;AAC1D,CAAC;AAED,MAAM,UAAU,sCAAsC,CAAC,KAAa;IAClE,OAAO,iCAAiC,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AAC7D,CAAC","sourcesContent":["import type {\n EditorSceneVec3,\n} from '../document/index';\nimport {\n roundEditorSceneCameraDebugNumber,\n} from './math';\n\nexport function cloneEditorSceneCameraDebugTarget<TTarget extends EditorSceneVec3>(target: TTarget): TTarget {\n return { ...target };\n}\n\nexport function formatEditorSceneCameraDebugErrorMessage(error: unknown, prefix: string): string {\n const message = error instanceof Error ? error.message : String(error);\n return message ? `${prefix}: ${message}` : `${prefix}.`;\n}\n\nexport function formatEditorSceneCameraDebugCoordinate(value: number): string {\n return roundEditorSceneCameraDebugNumber(value).toFixed(3);\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"panel-state.js","sourceRoot":"","sources":["../../src/camera-debug/panel-state.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"panel-state.js","sourceRoot":"","sources":["../../src/camera-debug/panel-state.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,uCAAuC,EACvC,2CAA2C,GAC5C,MAAM,UAAU,CAAC;AAClB,OAAO,EACL,iCAAiC,EACjC,sCAAsC,EACtC,sCAAsC,GACvC,MAAM,QAAQ,CAAC;AAChB,OAAO,EACL,6CAA6C,GAC9C,MAAM,OAAO,CAAC;AA6Cf,MAAM,CAAC,MAAM,gDAAgD,GAA6E;IACxI,KAAK,EAAE,OAAO;IACd,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,QAAQ;IAChB,SAAS,EAAE,WAAW;IACtB,MAAM,EAAE,KAAK;IACb,aAAa,EAAE,eAAe;IAC9B,aAAa,EAAE,eAAe;IAC9B,aAAa,EAAE,eAAe;IAC9B,IAAI,EAAE,UAAU;IAChB,IAAI,EAAE,SAAS;IACf,cAAc,EAAE,SAAS;IACzB,cAAc,EAAE,SAAS;IACzB,gBAAgB,EAAE,WAAW;IAC7B,gBAAgB,EAAE,WAAW;IAC7B,OAAO,EAAE,SAAS;IAClB,mBAAmB,EAAE,eAAe;IACpC,mBAAmB,EAAE,eAAe;CACrC,CAAC;AAEF,MAAM,CAAC,MAAM,kCAAkC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAU,CAAC;AAEhF,MAAM,UAAU,6CAA6C;IAC3D,OAAO,uCAAuC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAC9D,GAAG,MAAM;QACT,OAAO,EAAE,gDAAgD,CAAC,MAAM,CAAC,KAAK,CAAC;KACxE,CAAC,CAAC,CAAC;AACN,CAAC;AAED,MAAM,UAAU,gDAAgD;IAC9D,OAAO,2CAA2C,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAChE,GAAG,IAAI;QACP,QAAQ,EAAE,IAAI,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,aAAa;QAC7D,UAAU,EAAE,IAAI,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,aAAa;KAChE,CAAC,CAAC,CAAC;AACN,CAAC;AAED,MAAM,UAAU,+CAA+C;IAC7D,OAAO,IAAI,GAAG,CAAC,gDAAgD,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;AAC7F,CAAC;AAED,MAAM,UAAU,yCAAyC,CACvD,MAAmE,EACnE,UAAwD;IAExD,OAAO,CAAC,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,UAAU,KAAK,UAAU,CAAC;AAChE,CAAC;AAED,MAAM,UAAU,4CAA4C,CAC1D,QAAwC,EACxC,MAA8C,EAC9C,UAA2D,EAAE;IAE7D,MAAM,UAAU,GAAG,+CAA+C,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IACtF,MAAM,cAAc,GAAG,QAAQ,CAAC,YAAY,IAAI,QAAQ,CAAC,MAAM,CAAC;IAChE,MAAM,YAAY,GAAG;QACnB,CAAC,EAAE,eAAe,CAAC,MAAM,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC,CAAC;QAC1D,CAAC,EAAE,eAAe,CAAC,MAAM,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC,CAAC;QAC1D,CAAC,EAAE,eAAe,CAAC,MAAM,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC,CAAC;KAC3D,CAAC;IACF,MAAM,IAAI,GAAmC;QAC3C,GAAG,QAAQ;QACX,UAAU;QACV,KAAK,EAAE,sCAAsC,CAAC,eAAe,CAC3D,MAAM,CAAC,KAAK,EACZ,sCAAsC,CAAC,QAAQ,CAAC,KAAK,CAAC,CACvD,CAAC;QACF,IAAI,EAAE,sCAAsC,CAAC,eAAe,CAC1D,MAAM,CAAC,IAAI,EACX,sCAAsC,CAAC,QAAQ,CAAC,IAAI,CAAC,CACtD,CAAC;QACF,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,eAAe,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;QACxE,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,eAAe,CAAC,MAAM,CAAC,SAAS,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC;QACjF,GAAG,EAAE,sCAAsC,CAAC,iCAAiC,CAC3E,eAAe,CAAC,MAAM,CAAC,MAAM,EAAE,sCAAsC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EACpF,CAAC,EACD,GAAG,CACJ,CAAC;QACF,MAAM,EAAE,EAAE,GAAG,YAAY,EAAE;QAC3B,YAAY;QACZ,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,eAAe,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC;QACvE,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,eAAe,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,IAAI,KAAK,CAAC,CAAC;QAC3E,cAAc,EAAE,sCAAsC,CAAC,eAAe,CACpE,MAAM,CAAC,cAAc,EACrB,sCAAsC,CAAC,QAAQ,CAAC,cAAc,IAAI,QAAQ,CAAC,IAAI,CAAC,CACjF,CAAC;QACF,cAAc,EAAE,sCAAsC,CAAC,eAAe,CACpE,MAAM,CAAC,cAAc,EACrB,sCAAsC,CAAC,QAAQ,CAAC,cAAc,IAAI,QAAQ,CAAC,IAAI,CAAC,CACjF,CAAC;QACF,gBAAgB,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,eAAe,CAAC,MAAM,CAAC,gBAAgB,EAAE,QAAQ,CAAC,gBAAgB,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAC;QACzH,gBAAgB,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,eAAe,CAAC,MAAM,CAAC,gBAAgB,EAAE,QAAQ,CAAC,gBAAgB,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAC;QACzH,OAAO,EAAE,iCAAiC,CAAC,eAAe,CAAC,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,OAAO,IAAI,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QAC1G,kBAAkB,EAAE;YAClB,CAAC,EAAE,eAAe,CAAC,MAAM,CAAC,mBAAmB,EAAE,QAAQ,CAAC,kBAAkB,EAAE,CAAC,IAAI,CAAC,CAAC;YACnF,CAAC,EAAE,eAAe,CAAC,MAAM,CAAC,mBAAmB,EAAE,QAAQ,CAAC,kBAAkB,EAAE,CAAC,IAAI,CAAC,CAAC;SACpF;KACF,CAAC;IACF,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,KAAK,CAAC;IAChC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,GAAG,KAAK,CAAC,IAAI,IAAI;QAAE,IAAI,CAAC,IAAI,GAAG,IAAI,GAAG,KAAK,CAAC;IAClE,6CAA6C,CAAC,IAAI,EAAE,OAAO,CAAC,WAAW,IAAI,IAAI,CAAC,CAAC;IACjF,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,+CAA+C,CAC7D,KAAc;IAEd,OAAO,KAAK,KAAK,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,cAAc,CAAC;AAClE,CAAC;AAED,MAAM,UAAU,8BAA8B,CAAC,GAAW;IACxD,OAAO,kCAAkC,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,EAAuD,CAAC,CAAC;AAC7H,CAAC;AAED,MAAM,UAAU,qCAAqC,CAAC,KAAwC;IAC5F,OAAO,KAAK,CAAC,MAAM;WACd,8BAA8B,CAAC,KAAK,CAAC,GAAG,CAAC;WACzC,CAAC,KAAK,CAAC,MAAM;WACb,CAAC,KAAK,CAAC,OAAO;WACd,CAAC,KAAK,CAAC,OAAO;WACd,CAAC,KAAK,CAAC,MAAM;WACb,CAAC,KAAK,CAAC,QAAQ,CAAC;AACvB,CAAC;AAED,SAAS,eAAe,CAAC,KAA4C,EAAE,QAAgB;IACrF,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAClC,OAAO,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC;AAC/D,CAAC","sourcesContent":["import {\n EDITOR_SCENE_CAMERA_DEBUG_NUMBER_FIELDS,\n EDITOR_SCENE_CAMERA_DEBUG_RANGE_FIELD_PAIRS,\n} from './fields';\nimport {\n clampEditorSceneCameraDebugNumber,\n degreesToEditorSceneCameraDebugRadians,\n radiansToEditorSceneCameraDebugDegrees,\n} from './math';\nimport {\n normalizeEditorSceneCameraDebugSnapshotRanges,\n} from './rig';\nimport type {\n EditorSceneCameraDebugNumberField,\n EditorSceneCameraDebugNumberFieldConfig,\n EditorSceneCameraDebugSnapshot,\n} from './types';\nimport type {\n EditorSceneCameraDebugTextKey,\n EditorSceneCameraDebugTooltipTextKey,\n} from './panel-text';\n\nexport interface EditorSceneCameraDebugPanelNumberFieldConfig extends EditorSceneCameraDebugNumberFieldConfig {\n textKey: EditorSceneCameraDebugTextKey;\n}\n\nexport interface EditorSceneCameraDebugPanelRangeFieldPair {\n labelKey: EditorSceneCameraDebugTextKey;\n tooltipKey: EditorSceneCameraDebugTooltipTextKey;\n lower: EditorSceneCameraDebugNumberField;\n upper: EditorSceneCameraDebugNumberField;\n}\n\nexport type EditorSceneCameraDebugPanelInputValue = string | number | null | undefined;\n\nexport type EditorSceneCameraDebugPanelInputValues = Partial<Record<\n EditorSceneCameraDebugNumberField,\n EditorSceneCameraDebugPanelInputValue\n>> & {\n projection?: EditorSceneCameraDebugPanelInputValue;\n};\n\nexport interface EditorSceneCameraDebugPanelInputSnapshotOptions {\n activeField?: EditorSceneCameraDebugNumberField | null;\n}\n\nexport interface EditorSceneCameraDebugPanKeyInput {\n key: string;\n active: boolean;\n saving?: boolean;\n editable?: boolean;\n metaKey?: boolean;\n ctrlKey?: boolean;\n altKey?: boolean;\n}\n\nexport const EDITOR_SCENE_CAMERA_DEBUG_NUMBER_FIELD_TEXT_KEYS: Record<EditorSceneCameraDebugNumberField, EditorSceneCameraDebugTextKey> = {\n alpha: 'alpha',\n beta: 'beta',\n radius: 'radius',\n orthoSize: 'orthoSize',\n fovDeg: 'fov',\n targetOffsetX: 'targetOffsetX',\n targetOffsetY: 'targetOffsetY',\n targetOffsetZ: 'targetOffsetZ',\n minZ: 'nearClip',\n maxZ: 'farClip',\n lowerBetaLimit: 'minBeta',\n upperBetaLimit: 'maxBeta',\n lowerRadiusLimit: 'minRadius',\n upperRadiusLimit: 'maxRadius',\n inertia: 'inertia',\n targetScreenOffsetX: 'screenOffsetX',\n targetScreenOffsetY: 'screenOffsetY',\n};\n\nexport const EDITOR_SCENE_CAMERA_DEBUG_PAN_KEYS = ['w', 'a', 's', 'd'] as const;\n\nexport function createEditorSceneCameraDebugPanelNumberFields(): ReadonlyArray<EditorSceneCameraDebugPanelNumberFieldConfig> {\n return EDITOR_SCENE_CAMERA_DEBUG_NUMBER_FIELDS.map((config) => ({\n ...config,\n textKey: EDITOR_SCENE_CAMERA_DEBUG_NUMBER_FIELD_TEXT_KEYS[config.field],\n }));\n}\n\nexport function createEditorSceneCameraDebugPanelRangeFieldPairs(): ReadonlyArray<EditorSceneCameraDebugPanelRangeFieldPair> {\n return EDITOR_SCENE_CAMERA_DEBUG_RANGE_FIELD_PAIRS.map((pair) => ({\n ...pair,\n labelKey: pair.value === 'beta' ? 'betaRange' : 'radiusRange',\n tooltipKey: pair.value === 'beta' ? 'betaRange' : 'radiusRange',\n }));\n}\n\nexport function createEditorSceneCameraDebugPanelRangeFieldEnds(): ReadonlySet<EditorSceneCameraDebugNumberField> {\n return new Set(createEditorSceneCameraDebugPanelRangeFieldPairs().map(pair => pair.upper));\n}\n\nexport function isEditorSceneCameraDebugPanelFieldVisible(\n config: Pick<EditorSceneCameraDebugNumberFieldConfig, 'projection'>,\n projection: EditorSceneCameraDebugSnapshot['projection'],\n): boolean {\n return !config.projection || config.projection === projection;\n}\n\nexport function readEditorSceneCameraDebugPanelInputSnapshot(\n fallback: EditorSceneCameraDebugSnapshot,\n values: EditorSceneCameraDebugPanelInputValues,\n options: EditorSceneCameraDebugPanelInputSnapshotOptions = {},\n): EditorSceneCameraDebugSnapshot {\n const projection = readEditorSceneCameraDebugProjectionSelectValue(values.projection);\n const fallbackTarget = fallback.targetOffset ?? fallback.target;\n const targetOffset = {\n x: readPanelNumber(values.targetOffsetX, fallbackTarget.x),\n y: readPanelNumber(values.targetOffsetY, fallbackTarget.y),\n z: readPanelNumber(values.targetOffsetZ, fallbackTarget.z),\n };\n const next: EditorSceneCameraDebugSnapshot = {\n ...fallback,\n projection,\n alpha: degreesToEditorSceneCameraDebugRadians(readPanelNumber(\n values.alpha,\n radiansToEditorSceneCameraDebugDegrees(fallback.alpha),\n )),\n beta: degreesToEditorSceneCameraDebugRadians(readPanelNumber(\n values.beta,\n radiansToEditorSceneCameraDebugDegrees(fallback.beta),\n )),\n radius: Math.max(0.001, readPanelNumber(values.radius, fallback.radius)),\n orthoSize: Math.max(0.001, readPanelNumber(values.orthoSize, fallback.orthoSize)),\n fov: degreesToEditorSceneCameraDebugRadians(clampEditorSceneCameraDebugNumber(\n readPanelNumber(values.fovDeg, radiansToEditorSceneCameraDebugDegrees(fallback.fov)),\n 1,\n 179,\n )),\n target: { ...targetOffset },\n targetOffset,\n minZ: Math.max(0.001, readPanelNumber(values.minZ, fallback.minZ ?? 1)),\n maxZ: Math.max(0.001, readPanelNumber(values.maxZ, fallback.maxZ ?? 10000)),\n lowerBetaLimit: degreesToEditorSceneCameraDebugRadians(readPanelNumber(\n values.lowerBetaLimit,\n radiansToEditorSceneCameraDebugDegrees(fallback.lowerBetaLimit ?? fallback.beta),\n )),\n upperBetaLimit: degreesToEditorSceneCameraDebugRadians(readPanelNumber(\n values.upperBetaLimit,\n radiansToEditorSceneCameraDebugDegrees(fallback.upperBetaLimit ?? fallback.beta),\n )),\n lowerRadiusLimit: Math.max(0.001, readPanelNumber(values.lowerRadiusLimit, fallback.lowerRadiusLimit ?? fallback.radius)),\n upperRadiusLimit: Math.max(0.001, readPanelNumber(values.upperRadiusLimit, fallback.upperRadiusLimit ?? fallback.radius)),\n inertia: clampEditorSceneCameraDebugNumber(readPanelNumber(values.inertia, fallback.inertia ?? 0.9), 0, 1),\n targetScreenOffset: {\n x: readPanelNumber(values.targetScreenOffsetX, fallback.targetScreenOffset?.x ?? 0),\n y: readPanelNumber(values.targetScreenOffsetY, fallback.targetScreenOffset?.y ?? 0),\n },\n };\n const minZ = next.minZ ?? 0.001;\n if ((next.maxZ ?? minZ + 0.001) <= minZ) next.maxZ = minZ + 0.001;\n normalizeEditorSceneCameraDebugSnapshotRanges(next, options.activeField ?? null);\n return next;\n}\n\nexport function readEditorSceneCameraDebugProjectionSelectValue(\n value: unknown,\n): EditorSceneCameraDebugSnapshot['projection'] {\n return value === 'perspective' ? 'perspective' : 'orthographic';\n}\n\nexport function isEditorSceneCameraDebugPanKey(key: string): boolean {\n return EDITOR_SCENE_CAMERA_DEBUG_PAN_KEYS.includes(key.toLowerCase() as typeof EDITOR_SCENE_CAMERA_DEBUG_PAN_KEYS[number]);\n}\n\nexport function canHandleEditorSceneCameraDebugPanKey(input: EditorSceneCameraDebugPanKeyInput): boolean {\n return input.active\n && isEditorSceneCameraDebugPanKey(input.key)\n && !input.saving\n && !input.metaKey\n && !input.ctrlKey\n && !input.altKey\n && !input.editable;\n}\n\nfunction readPanelNumber(value: EditorSceneCameraDebugPanelInputValue, fallback: number): number {\n const numberValue = Number(value);\n return Number.isFinite(numberValue) ? numberValue : fallback;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"panel-storage.js","sourceRoot":"","sources":["../../src/camera-debug/panel-storage.ts"],"names":[],"mappings":"AAaA,MAAM,UAAU,oCAAoC,CAClD,GAAwD,EACxD,GAAW;IAEX,IAAI,CAAC;QACH,OAAO,GAAG,EAAE,YAAY,EAAE,OAAO,CAAC,GAAG,CAAC,KAAK,MAAM,CAAC;IACpD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,MAAM,UAAU,qCAAqC,CACnD,GAAwD,EACxD,GAAW,EACX,KAAc;IAEd,IAAI,CAAC;QACH,GAAG,EAAE,YAAY,EAAE,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IACjD,CAAC;IAAC,MAAM,CAAC;QACP,mDAAmD;IACrD,CAAC;AACH,CAAC;AAED,MAAM,UAAU,wCAAwC,CACtD,GAAwD,EACxD,GAAW;IAEX,IAAI,CAAC;QACH,OAAO,GAAG,EAAE,YAAY,EAAE,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;IAChE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,MAAM,UAAU,yCAAyC,CACvD,GAAwD,EACxD,GAAW,EACX,KAAqC;IAErC,IAAI,CAAC;QACH,GAAG,EAAE,YAAY,EAAE,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACzC,CAAC;IAAC,MAAM,CAAC;QACP,mDAAmD;IACrD,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"panel-storage.js","sourceRoot":"","sources":["../../src/camera-debug/panel-storage.ts"],"names":[],"mappings":"AAaA,MAAM,UAAU,oCAAoC,CAClD,GAAwD,EACxD,GAAW;IAEX,IAAI,CAAC;QACH,OAAO,GAAG,EAAE,YAAY,EAAE,OAAO,CAAC,GAAG,CAAC,KAAK,MAAM,CAAC;IACpD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,MAAM,UAAU,qCAAqC,CACnD,GAAwD,EACxD,GAAW,EACX,KAAc;IAEd,IAAI,CAAC;QACH,GAAG,EAAE,YAAY,EAAE,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IACjD,CAAC;IAAC,MAAM,CAAC;QACP,mDAAmD;IACrD,CAAC;AACH,CAAC;AAED,MAAM,UAAU,wCAAwC,CACtD,GAAwD,EACxD,GAAW;IAEX,IAAI,CAAC;QACH,OAAO,GAAG,EAAE,YAAY,EAAE,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;IAChE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,MAAM,UAAU,yCAAyC,CACvD,GAAwD,EACxD,GAAW,EACX,KAAqC;IAErC,IAAI,CAAC;QACH,GAAG,EAAE,YAAY,EAAE,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACzC,CAAC;IAAC,MAAM,CAAC;QACP,mDAAmD;IACrD,CAAC;AACH,CAAC","sourcesContent":["import type {\n EditorSceneCameraDebugLanguage,\n} from './panel-text';\n\nexport interface EditorSceneCameraDebugStorageLike {\n getItem(key: string): string | null;\n setItem(key: string, value: string): void;\n}\n\nexport interface EditorSceneCameraDebugWindowLike {\n localStorage?: EditorSceneCameraDebugStorageLike | null;\n}\n\nexport function readEditorSceneCameraDebugStoredOpen(\n win: EditorSceneCameraDebugWindowLike | null | undefined,\n key: string,\n): boolean {\n try {\n return win?.localStorage?.getItem(key) === 'true';\n } catch {\n return false;\n }\n}\n\nexport function writeEditorSceneCameraDebugStoredOpen(\n win: EditorSceneCameraDebugWindowLike | null | undefined,\n key: string,\n value: boolean,\n): void {\n try {\n win?.localStorage?.setItem(key, String(value));\n } catch {\n // Storage can be unavailable in embedded previews.\n }\n}\n\nexport function readEditorSceneCameraDebugStoredLanguage(\n win: EditorSceneCameraDebugWindowLike | null | undefined,\n key: string,\n): EditorSceneCameraDebugLanguage {\n try {\n return win?.localStorage?.getItem(key) === 'en' ? 'en' : 'zh';\n } catch {\n return 'zh';\n }\n}\n\nexport function writeEditorSceneCameraDebugStoredLanguage(\n win: EditorSceneCameraDebugWindowLike | null | undefined,\n key: string,\n value: EditorSceneCameraDebugLanguage,\n): void {\n try {\n win?.localStorage?.setItem(key, value);\n } catch {\n // Storage can be unavailable in embedded previews.\n }\n}\n"]}