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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (653) hide show
  1. package/dist/agent-bridge/capabilities/assets.js.map +1 -1
  2. package/dist/agent-bridge/capabilities/editor-state.js.map +1 -1
  3. package/dist/agent-bridge/capabilities/host-lifecycle.js.map +1 -1
  4. package/dist/agent-bridge/capabilities/prefabs.js.map +1 -1
  5. package/dist/agent-bridge/capabilities/scene-objects.js.map +1 -1
  6. package/dist/agent-bridge/capabilities/selection.js.map +1 -1
  7. package/dist/agent-bridge/capabilities/shadows.js.map +1 -1
  8. package/dist/agent-bridge/capabilities/transform.js.map +1 -1
  9. package/dist/agent-bridge/capabilities/ui-regions.js.map +1 -1
  10. package/dist/agent-bridge/capabilities/viewport.js.map +1 -1
  11. package/dist/agent-bridge/capability-sources.js.map +1 -1
  12. package/dist/agent-bridge/diagnostics.js.map +1 -1
  13. package/dist/agent-bridge/index.js.map +1 -1
  14. package/dist/agent-bridge/register.js.map +1 -1
  15. package/dist/agent-bridge/shared.js.map +1 -1
  16. package/dist/agent-bridge/source-types.js.map +1 -1
  17. package/dist/authoring-apply.js.map +1 -1
  18. package/dist/build-info.json +48 -48
  19. package/dist/editor-plugin-agent-capabilities.js.map +1 -1
  20. package/dist/editor-plugin-hierarchy-command.js.map +1 -1
  21. package/dist/index.js.map +1 -1
  22. package/dist/internal/local-editor-lifecycle-operations.js.map +1 -1
  23. package/dist/local-editor-agent-actions.js.map +1 -1
  24. package/dist/local-editor-agent-bridge-transport.js.map +1 -1
  25. package/dist/local-editor-agent-bridge.js.map +1 -1
  26. package/dist/local-editor-agent-context.js.map +1 -1
  27. package/dist/local-editor-harness.d.ts +57 -1
  28. package/dist/local-editor-harness.d.ts.map +1 -1
  29. package/dist/local-editor-harness.js +129 -0
  30. package/dist/local-editor-harness.js.map +1 -1
  31. package/dist/local-editor-marker-graph.js.map +1 -1
  32. package/dist/local-editor-performance-stats.js.map +1 -1
  33. package/dist/local-editor-plugin-inspector.js.map +1 -1
  34. package/dist/local-editor-plugin-panel.js.map +1 -1
  35. package/dist/local-editor-scene-render-scheduler.js.map +1 -1
  36. package/dist/local-editor-scene-view-interaction-runtime.js.map +1 -1
  37. package/dist/local-editor-viewport-render-coordinator.js.map +1 -1
  38. package/dist/playable-babylon-facade.js.map +1 -1
  39. package/dist/playable-babylon-outline-inspector.js.map +1 -1
  40. package/dist/playable-babylon-outline-runtime.js.map +1 -1
  41. package/dist/playable-babylon-rendering.js.map +1 -1
  42. package/dist/playable-local-editor-host.d.ts +36 -0
  43. package/dist/playable-local-editor-host.d.ts.map +1 -1
  44. package/dist/playable-local-editor-host.js.map +1 -1
  45. package/dist/playable-product-local-editor.js.map +1 -1
  46. package/dist/playable-product-projection-preview.js.map +1 -1
  47. package/dist/playable-product-rendering.js.map +1 -1
  48. package/dist/playable-product-scene-capabilities.d.ts.map +1 -1
  49. package/dist/playable-product-scene-capabilities.js +50 -3
  50. package/dist/playable-product-scene-capabilities.js.map +1 -1
  51. package/dist/playable-runtime-babylon.js.map +1 -1
  52. package/dist/playable-runtime.js.map +1 -1
  53. package/dist/playable-sdk-upgrade-doctor.js.map +1 -1
  54. package/dist/playable-sdk-vite.js.map +1 -1
  55. package/dist/playable-sdk.js.map +1 -1
  56. package/dist/playable-standard-project.d.ts.map +1 -1
  57. package/dist/playable-standard-project.js +8 -3
  58. package/dist/playable-standard-project.js.map +1 -1
  59. package/dist/static-shadow-cpu-worker.js.map +1 -1
  60. package/dist/vite.js.map +1 -1
  61. package/node_modules/@fps-games/babylon-renderer/dist/environment/environment-texture-controller.js.map +1 -1
  62. package/node_modules/@fps-games/babylon-renderer/dist/environment/index.js.map +1 -1
  63. package/node_modules/@fps-games/babylon-renderer/dist/environment/profile.js.map +1 -1
  64. package/node_modules/@fps-games/babylon-renderer/dist/environment/types.js.map +1 -1
  65. package/node_modules/@fps-games/babylon-renderer/dist/index.js.map +1 -1
  66. package/node_modules/@fps-games/babylon-renderer/dist/lighting/directional-light-angles.js.map +1 -1
  67. package/node_modules/@fps-games/babylon-renderer/dist/outlines/babylon-default/apply.js.map +1 -1
  68. package/node_modules/@fps-games/babylon-renderer/dist/outlines/babylon-default/index.js.map +1 -1
  69. package/node_modules/@fps-games/babylon-renderer/dist/outlines/babylon-default/types.js.map +1 -1
  70. package/node_modules/@fps-games/babylon-renderer/dist/outlines/index.js.map +1 -1
  71. package/node_modules/@fps-games/babylon-renderer/dist/outlines/types.js.map +1 -1
  72. package/node_modules/@fps-games/babylon-renderer/dist/placement/index.js.map +1 -1
  73. package/node_modules/@fps-games/babylon-renderer/dist/placement/runtime-drop-position.js.map +1 -1
  74. package/node_modules/@fps-games/babylon-renderer/dist/plugin.js.map +1 -1
  75. package/node_modules/@fps-games/babylon-renderer/dist/post-process/babylon-default-pipeline.js.map +1 -1
  76. package/node_modules/@fps-games/babylon-renderer/dist/post-process/index.js.map +1 -1
  77. package/node_modules/@fps-games/babylon-renderer/dist/post-process/profile.js.map +1 -1
  78. package/node_modules/@fps-games/babylon-renderer/dist/post-process/types.js.map +1 -1
  79. package/node_modules/@fps-games/babylon-renderer/dist/post-process/volume-stack.js.map +1 -1
  80. package/node_modules/@fps-games/babylon-renderer/dist/reference.js.map +1 -1
  81. package/node_modules/@fps-games/babylon-renderer/dist/rendering/index.js.map +1 -1
  82. package/node_modules/@fps-games/babylon-renderer/dist/rendering/node-rendering.js.map +1 -1
  83. package/node_modules/@fps-games/babylon-renderer/dist/shadows/blob-shadow-shaders.js.map +1 -1
  84. package/node_modules/@fps-games/babylon-renderer/dist/shadows/blob-shadow-system.js.map +1 -1
  85. package/node_modules/@fps-games/babylon-renderer/dist/shadows/dynamic-shadow-system.js.map +1 -1
  86. package/node_modules/@fps-games/babylon-renderer/dist/shadows/planar-shadow-shaders.js.map +1 -1
  87. package/node_modules/@fps-games/babylon-renderer/dist/shadows/planar-shadow-system.js.map +1 -1
  88. package/node_modules/@fps-games/babylon-renderer/dist/shadows/static-projected-shadow-artifact-system.js.map +1 -1
  89. package/node_modules/@fps-games/babylon-renderer/dist/shadows/static-projected-shadow-atlas.js.map +1 -1
  90. package/node_modules/@fps-games/babylon-renderer/dist/shadows/static-projected-shadow-bake.js.map +1 -1
  91. package/node_modules/@fps-games/babylon-renderer/dist/shadows/static-projected-shadow-baker.js.map +1 -1
  92. package/node_modules/@fps-games/babylon-renderer/dist/shadows/static-projected-shadow-options.js.map +1 -1
  93. package/node_modules/@fps-games/babylon-renderer/dist/shadows/static-projected-shadow-rendering.js.map +1 -1
  94. package/node_modules/@fps-games/babylon-renderer/dist/shadows/types.js.map +1 -1
  95. package/node_modules/@fps-games/babylon-renderer/package.json +7 -7
  96. package/node_modules/@fps-games/editor-babylon/dist/camera-controller.js.map +1 -1
  97. package/node_modules/@fps-games/editor-babylon/dist/edit-session.js.map +1 -1
  98. package/node_modules/@fps-games/editor-babylon/dist/editor-sky.js.map +1 -1
  99. package/node_modules/@fps-games/editor-babylon/dist/editor-world.js.map +1 -1
  100. package/node_modules/@fps-games/editor-babylon/dist/event-guard.js.map +1 -1
  101. package/node_modules/@fps-games/editor-babylon/dist/index.js.map +1 -1
  102. package/node_modules/@fps-games/editor-babylon/dist/infinite-grid-layer.js.map +1 -1
  103. package/node_modules/@fps-games/editor-babylon/dist/infinite-grid.js.map +1 -1
  104. package/node_modules/@fps-games/editor-babylon/dist/input-controller.js.map +1 -1
  105. package/node_modules/@fps-games/editor-babylon/dist/inspector-adapter.js.map +1 -1
  106. package/node_modules/@fps-games/editor-babylon/dist/inspector-host.js.map +1 -1
  107. package/node_modules/@fps-games/editor-babylon/dist/main-camera-preview.js.map +1 -1
  108. package/node_modules/@fps-games/editor-babylon/dist/marker-overlay.js.map +1 -1
  109. package/node_modules/@fps-games/editor-babylon/dist/material-property-adapter.js.map +1 -1
  110. package/node_modules/@fps-games/editor-babylon/dist/material-slot-source-resolver.js.map +1 -1
  111. package/node_modules/@fps-games/editor-babylon/dist/monitor.js.map +1 -1
  112. package/node_modules/@fps-games/editor-babylon/dist/outline-adapter.js.map +1 -1
  113. package/node_modules/@fps-games/editor-babylon/dist/performance-monitor.js.map +1 -1
  114. package/node_modules/@fps-games/editor-babylon/dist/prefab-comparison-preview-controller.js.map +1 -1
  115. package/node_modules/@fps-games/editor-babylon/dist/primitive-projection-instancing.js.map +1 -1
  116. package/node_modules/@fps-games/editor-babylon/dist/projection-asset-container-importer.js.map +1 -1
  117. package/node_modules/@fps-games/editor-babylon/dist/projection-pick-resolver.js.map +1 -1
  118. package/node_modules/@fps-games/editor-babylon/dist/projection-selection-controller.js.map +1 -1
  119. package/node_modules/@fps-games/editor-babylon/dist/projection-source-owner-path.js.map +1 -1
  120. package/node_modules/@fps-games/editor-babylon/dist/projection.js.map +1 -1
  121. package/node_modules/@fps-games/editor-babylon/dist/runtime-globals.js.map +1 -1
  122. package/node_modules/@fps-games/editor-babylon/dist/scene-camera-preview.js.map +1 -1
  123. package/node_modules/@fps-games/editor-babylon/dist/scene-view-camera-controller.js.map +1 -1
  124. package/node_modules/@fps-games/editor-babylon/dist/scene-view-input-controller.js.map +1 -1
  125. package/node_modules/@fps-games/editor-babylon/dist/scene-view-measurement-controller.js.map +1 -1
  126. package/node_modules/@fps-games/editor-babylon/dist/scene-view-spatial-overlay-controller.js.map +1 -1
  127. package/node_modules/@fps-games/editor-babylon/dist/selection-controller.js.map +1 -1
  128. package/node_modules/@fps-games/editor-babylon/dist/shadow-preview-controller.js.map +1 -1
  129. package/node_modules/@fps-games/editor-babylon/dist/tool-controller.js.map +1 -1
  130. package/node_modules/@fps-games/editor-babylon/dist/transform-gizmo-controller.js.map +1 -1
  131. package/node_modules/@fps-games/editor-babylon/dist/transform-solver.js.map +1 -1
  132. package/node_modules/@fps-games/editor-babylon/dist/types.js.map +1 -1
  133. package/node_modules/@fps-games/editor-babylon/package.json +5 -5
  134. package/node_modules/@fps-games/editor-browser/dist/index.js.map +1 -1
  135. package/node_modules/@fps-games/editor-browser/dist/local-editor-inspector-clipboard.js.map +1 -1
  136. package/node_modules/@fps-games/editor-browser/dist/local-editor-inspector-groups.js.map +1 -1
  137. package/node_modules/@fps-games/editor-browser/dist/local-editor-rendering-actions.js.map +1 -1
  138. package/node_modules/@fps-games/editor-browser/dist/local-editor-root-ownership.js.map +1 -1
  139. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-asset-kind.js.map +1 -1
  140. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-context-menu.js.map +1 -1
  141. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-dock-panel.js.map +1 -1
  142. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-actions.js.map +1 -1
  143. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-attach-dialog.js.map +1 -1
  144. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-auto-scroll.js.map +1 -1
  145. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-command-adapter.js.map +1 -1
  146. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-controller.js.map +1 -1
  147. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-drag-policy.js.map +1 -1
  148. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-scope.js.map +1 -1
  149. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-tree.js.map +1 -1
  150. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-view.js.map +1 -1
  151. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-icons.js.map +1 -1
  152. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-input-router.js.map +1 -1
  153. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-modal-dialog.js.map +1 -1
  154. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-panel-registry.js.map +1 -1
  155. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-panels.js.map +1 -1
  156. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-plugin-panel.js.map +1 -1
  157. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-prefab-stage.js.map +1 -1
  158. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-primitives.js.map +1 -1
  159. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-shared.js.map +1 -1
  160. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-shortcuts.js.map +1 -1
  161. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-structured-drag-auto-scroll.js.map +1 -1
  162. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-structured-drag-policy.js.map +1 -1
  163. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-structured-drag-preview.js.map +1 -1
  164. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-structured-drag-session.js.map +1 -1
  165. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-theme.js.map +1 -1
  166. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-tooltip.js.map +1 -1
  167. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-types.js.map +1 -1
  168. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-workbench.js.map +1 -1
  169. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui.js.map +1 -1
  170. package/node_modules/@fps-games/editor-browser/dist/plugin-contributions.js.map +1 -1
  171. package/node_modules/@fps-games/editor-browser/dist/runtime-camera-debug-panel.js.map +1 -1
  172. package/node_modules/@fps-games/editor-browser/dist/runtime-debug-panel-shell.js.map +1 -1
  173. package/node_modules/@fps-games/editor-browser/dist/runtime-lighting-debug-panel.js.map +1 -1
  174. package/node_modules/@fps-games/editor-browser/package.json +4 -4
  175. package/node_modules/@fps-games/editor-core/dist/agent-bridge.js.map +1 -1
  176. package/node_modules/@fps-games/editor-core/dist/agent-interaction.js.map +1 -1
  177. package/node_modules/@fps-games/editor-core/dist/authoring-source.js.map +1 -1
  178. package/node_modules/@fps-games/editor-core/dist/document-adapter.js.map +1 -1
  179. package/node_modules/@fps-games/editor-core/dist/editor-plugin-host.d.ts.map +1 -1
  180. package/node_modules/@fps-games/editor-core/dist/editor-plugin-host.js +17 -2
  181. package/node_modules/@fps-games/editor-core/dist/editor-plugin-host.js.map +1 -1
  182. package/node_modules/@fps-games/editor-core/dist/editor-session.d.ts +6 -1
  183. package/node_modules/@fps-games/editor-core/dist/editor-session.d.ts.map +1 -1
  184. package/node_modules/@fps-games/editor-core/dist/editor-session.js +9 -0
  185. package/node_modules/@fps-games/editor-core/dist/editor-session.js.map +1 -1
  186. package/node_modules/@fps-games/editor-core/dist/events.d.ts +1 -1
  187. package/node_modules/@fps-games/editor-core/dist/events.d.ts.map +1 -1
  188. package/node_modules/@fps-games/editor-core/dist/events.js.map +1 -1
  189. package/node_modules/@fps-games/editor-core/dist/field-schema/index.js.map +1 -1
  190. package/node_modules/@fps-games/editor-core/dist/field-schema/resolver.js.map +1 -1
  191. package/node_modules/@fps-games/editor-core/dist/field-schema/schema.js.map +1 -1
  192. package/node_modules/@fps-games/editor-core/dist/field-schema/types.js.map +1 -1
  193. package/node_modules/@fps-games/editor-core/dist/field-schema/validators.js.map +1 -1
  194. package/node_modules/@fps-games/editor-core/dist/host-services.js.map +1 -1
  195. package/node_modules/@fps-games/editor-core/dist/index.js.map +1 -1
  196. package/node_modules/@fps-games/editor-core/dist/inspector.js.map +1 -1
  197. package/node_modules/@fps-games/editor-core/dist/lifecycle.js.map +1 -1
  198. package/node_modules/@fps-games/editor-core/dist/marker-graph.js.map +1 -1
  199. package/node_modules/@fps-games/editor-core/dist/scene-graph.js.map +1 -1
  200. package/node_modules/@fps-games/editor-core/dist/scene-view-input.js.map +1 -1
  201. package/node_modules/@fps-games/editor-core/dist/selection-strategy.js.map +1 -1
  202. package/node_modules/@fps-games/editor-core/dist/serialized-object.js.map +1 -1
  203. package/node_modules/@fps-games/editor-core/dist/transform-command.js.map +1 -1
  204. package/node_modules/@fps-games/editor-core/dist/transform-gizmo.js.map +1 -1
  205. package/node_modules/@fps-games/editor-core/dist/transform-operation-policy.js.map +1 -1
  206. package/node_modules/@fps-games/editor-core/dist/transform-operations.js.map +1 -1
  207. package/node_modules/@fps-games/editor-core/dist/viewport-tools.js.map +1 -1
  208. package/node_modules/@fps-games/editor-core/package.json +6 -6
  209. package/node_modules/@fps-games/editor-forge-play/dist/agent-transport.js.map +1 -1
  210. package/node_modules/@fps-games/editor-forge-play/dist/index.js.map +1 -1
  211. package/node_modules/@fps-games/editor-forge-play/package.json +2 -2
  212. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-bridge/drop-cache.js.map +1 -1
  213. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-bridge/index.js.map +1 -1
  214. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-bridge/payload.d.ts.map +1 -1
  215. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-bridge/payload.js +28 -5
  216. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-bridge/payload.js.map +1 -1
  217. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-bridge/types.d.ts +1 -0
  218. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-bridge/types.d.ts.map +1 -1
  219. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-bridge/types.js.map +1 -1
  220. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/config.js.map +1 -1
  221. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/generated-module.d.ts.map +1 -1
  222. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/generated-module.js +10 -0
  223. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/generated-module.js.map +1 -1
  224. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/index.js.map +1 -1
  225. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/managed-facade.js.map +1 -1
  226. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/manager-core.d.ts +8 -0
  227. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/manager-core.d.ts.map +1 -1
  228. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/manager-core.js +24 -2
  229. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/manager-core.js.map +1 -1
  230. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/metadata.d.ts.map +1 -1
  231. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/metadata.js +6 -2
  232. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/metadata.js.map +1 -1
  233. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/node.js.map +1 -1
  234. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/registry.d.ts +1 -0
  235. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/registry.d.ts.map +1 -1
  236. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/registry.js +83 -23
  237. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/registry.js.map +1 -1
  238. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/types.js.map +1 -1
  239. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/catalog.d.ts +1 -0
  240. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/catalog.d.ts.map +1 -1
  241. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/catalog.js +8 -0
  242. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/catalog.js.map +1 -1
  243. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/document.d.ts +22 -0
  244. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/document.d.ts.map +1 -1
  245. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/document.js +108 -1
  246. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/document.js.map +1 -1
  247. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/index.d.ts +3 -2
  248. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/index.d.ts.map +1 -1
  249. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/index.js +2 -2
  250. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/index.js.map +1 -1
  251. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/types.d.ts +2 -0
  252. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/types.d.ts.map +1 -1
  253. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/types.js.map +1 -1
  254. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-placement/document.d.ts.map +1 -1
  255. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-placement/document.js +2 -0
  256. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-placement/document.js.map +1 -1
  257. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-placement/identity.js.map +1 -1
  258. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-placement/index.js.map +1 -1
  259. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-placement/managed-runtime-instance.js.map +1 -1
  260. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-placement/placement.js.map +1 -1
  261. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-placement/runtime-scene.js.map +1 -1
  262. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-placement/types.js.map +1 -1
  263. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/index.js.map +1 -1
  264. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/result.d.ts.map +1 -1
  265. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/result.js +3 -0
  266. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/result.js.map +1 -1
  267. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/transport.js.map +1 -1
  268. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/types.d.ts +1 -0
  269. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/types.d.ts.map +1 -1
  270. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/types.js.map +1 -1
  271. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/workflow.d.ts +1 -0
  272. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/workflow.d.ts.map +1 -1
  273. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/workflow.js +7 -1
  274. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/workflow.js.map +1 -1
  275. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring/constants.js.map +1 -1
  276. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring/drift.js.map +1 -1
  277. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring/index.js.map +1 -1
  278. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring/runtime-transform-patch.js.map +1 -1
  279. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring/source.js.map +1 -1
  280. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-client/client.js.map +1 -1
  281. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-client/index.js.map +1 -1
  282. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-client/types.js.map +1 -1
  283. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-server/handler.js.map +1 -1
  284. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-server/index.js.map +1 -1
  285. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-server/payload.js.map +1 -1
  286. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-server/response.js.map +1 -1
  287. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-server/routes.js.map +1 -1
  288. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-server/types.js.map +1 -1
  289. package/node_modules/@fps-games/editor-playable-sdk/dist/bridge-command/adapter-dispatcher.js.map +1 -1
  290. package/node_modules/@fps-games/editor-playable-sdk/dist/bridge-command/index.js.map +1 -1
  291. package/node_modules/@fps-games/editor-playable-sdk/dist/bridge-command/payload.js.map +1 -1
  292. package/node_modules/@fps-games/editor-playable-sdk/dist/bridge-command/project-asset-adapter.js.map +1 -1
  293. package/node_modules/@fps-games/editor-playable-sdk/dist/bridge-command/protocol.js.map +1 -1
  294. package/node_modules/@fps-games/editor-playable-sdk/dist/bridge-command/readers.js.map +1 -1
  295. package/node_modules/@fps-games/editor-playable-sdk/dist/bridge-command/types.js.map +1 -1
  296. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/binding.js.map +1 -1
  297. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/fields.js.map +1 -1
  298. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/index.js.map +1 -1
  299. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/math.js.map +1 -1
  300. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/pan.js.map +1 -1
  301. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/panel-format.js.map +1 -1
  302. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/panel-state.js.map +1 -1
  303. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/panel-storage.js.map +1 -1
  304. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/panel-text.js.map +1 -1
  305. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/rig.js.map +1 -1
  306. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/save-patch.js.map +1 -1
  307. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/snapshot.js.map +1 -1
  308. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/types.js.map +1 -1
  309. package/node_modules/@fps-games/editor-playable-sdk/dist/commands/index.js.map +1 -1
  310. package/node_modules/@fps-games/editor-playable-sdk/dist/commands/transform.js.map +1 -1
  311. package/node_modules/@fps-games/editor-playable-sdk/dist/commands/types.js.map +1 -1
  312. package/node_modules/@fps-games/editor-playable-sdk/dist/core-contracts/index.js.map +1 -1
  313. package/node_modules/@fps-games/editor-playable-sdk/dist/document/helpers.js.map +1 -1
  314. package/node_modules/@fps-games/editor-playable-sdk/dist/document/index.js.map +1 -1
  315. package/node_modules/@fps-games/editor-playable-sdk/dist/document/types.d.ts +4 -0
  316. package/node_modules/@fps-games/editor-playable-sdk/dist/document/types.d.ts.map +1 -1
  317. package/node_modules/@fps-games/editor-playable-sdk/dist/document/types.js.map +1 -1
  318. package/node_modules/@fps-games/editor-playable-sdk/dist/field-schema/index.js.map +1 -1
  319. package/node_modules/@fps-games/editor-playable-sdk/dist/field-schema/resolver.js.map +1 -1
  320. package/node_modules/@fps-games/editor-playable-sdk/dist/field-schema/schema.js.map +1 -1
  321. package/node_modules/@fps-games/editor-playable-sdk/dist/field-schema/types.js.map +1 -1
  322. package/node_modules/@fps-games/editor-playable-sdk/dist/field-schema/validators.js.map +1 -1
  323. package/node_modules/@fps-games/editor-playable-sdk/dist/index.d.ts +1 -0
  324. package/node_modules/@fps-games/editor-playable-sdk/dist/index.d.ts.map +1 -1
  325. package/node_modules/@fps-games/editor-playable-sdk/dist/index.js +1 -0
  326. package/node_modules/@fps-games/editor-playable-sdk/dist/index.js.map +1 -1
  327. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/camera-section.js.map +1 -1
  328. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/document-property.js.map +1 -1
  329. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/document-sections.js.map +1 -1
  330. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/format.js.map +1 -1
  331. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/index.js.map +1 -1
  332. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/light-fields.js.map +1 -1
  333. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/light-sections.js.map +1 -1
  334. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/marker-section.js.map +1 -1
  335. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/object-assembly.js.map +1 -1
  336. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/readonly.js.map +1 -1
  337. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/runtime-sections.js.map +1 -1
  338. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/runtime-summary.js.map +1 -1
  339. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/runtime.js.map +1 -1
  340. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/safe-value.js.map +1 -1
  341. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/types.js.map +1 -1
  342. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/validation.js.map +1 -1
  343. package/node_modules/@fps-games/editor-playable-sdk/dist/internal/local-harness.js.map +1 -1
  344. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-debug/binding.js.map +1 -1
  345. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-debug/fields.js.map +1 -1
  346. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-debug/index.js.map +1 -1
  347. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-debug/math.js.map +1 -1
  348. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-debug/save-patch.js.map +1 -1
  349. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-debug/snapshot.js.map +1 -1
  350. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-debug/storage.js.map +1 -1
  351. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-debug/text.js.map +1 -1
  352. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-debug/types.js.map +1 -1
  353. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-preview/index.js.map +1 -1
  354. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-preview/math.js.map +1 -1
  355. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-preview/profile.js.map +1 -1
  356. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-preview/types.js.map +1 -1
  357. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/agent-descriptions.js.map +1 -1
  358. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/forge-play-types.js.map +1 -1
  359. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/forge-play.d.ts +2 -0
  360. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/forge-play.d.ts.map +1 -1
  361. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/forge-play.js +5 -0
  362. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/forge-play.js.map +1 -1
  363. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/host-controller.js.map +1 -1
  364. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/index.d.ts +2 -2
  365. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/index.d.ts.map +1 -1
  366. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/index.js.map +1 -1
  367. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/lifecycle.d.ts.map +1 -1
  368. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/lifecycle.js +4 -1
  369. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/lifecycle.js.map +1 -1
  370. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/loading-overlay.d.ts.map +1 -1
  371. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/loading-overlay.js +54 -2
  372. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/loading-overlay.js.map +1 -1
  373. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/project-asset-commands.d.ts +18 -0
  374. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/project-asset-commands.d.ts.map +1 -1
  375. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/project-asset-commands.js +60 -1
  376. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/project-asset-commands.js.map +1 -1
  377. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/timing.js.map +1 -1
  378. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/types.d.ts +2 -0
  379. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/types.d.ts.map +1 -1
  380. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/types.js.map +1 -1
  381. package/node_modules/@fps-games/editor-playable-sdk/dist/marker-scene/facade.js.map +1 -1
  382. package/node_modules/@fps-games/editor-playable-sdk/dist/marker-scene/game-objects.js.map +1 -1
  383. package/node_modules/@fps-games/editor-playable-sdk/dist/marker-scene/geometry.js.map +1 -1
  384. package/node_modules/@fps-games/editor-playable-sdk/dist/marker-scene/index.js.map +1 -1
  385. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/asset-fields.js.map +1 -1
  386. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/binding.js.map +1 -1
  387. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/default-assets.js.map +1 -1
  388. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/document-assets.d.ts.map +1 -1
  389. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/document-assets.js +28 -2
  390. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/document-assets.js.map +1 -1
  391. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/duplicate.js.map +1 -1
  392. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/index.js.map +1 -1
  393. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/inspector.js.map +1 -1
  394. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/paths.js.map +1 -1
  395. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/preview.js.map +1 -1
  396. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/profile.js.map +1 -1
  397. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/reimport.d.ts.map +1 -1
  398. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/reimport.js +26 -9
  399. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/reimport.js.map +1 -1
  400. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/resolver.js.map +1 -1
  401. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/scene-inspector.js.map +1 -1
  402. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/slot-inspector.d.ts.map +1 -1
  403. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/slot-inspector.js +0 -3
  404. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/slot-inspector.js.map +1 -1
  405. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/text.js.map +1 -1
  406. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/types.d.ts +8 -1
  407. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/types.d.ts.map +1 -1
  408. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/types.js.map +1 -1
  409. package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/field-patch.js.map +1 -1
  410. package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/index.js.map +1 -1
  411. package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/json-field.js.map +1 -1
  412. package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/reducer.js.map +1 -1
  413. package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/rendering-alpha-index.js.map +1 -1
  414. package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/transform.js.map +1 -1
  415. package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/types.js.map +1 -1
  416. package/node_modules/@fps-games/editor-playable-sdk/dist/package-resolution/aliases.d.ts +1 -1
  417. package/node_modules/@fps-games/editor-playable-sdk/dist/package-resolution/aliases.d.ts.map +1 -1
  418. package/node_modules/@fps-games/editor-playable-sdk/dist/package-resolution/aliases.js +18 -1
  419. package/node_modules/@fps-games/editor-playable-sdk/dist/package-resolution/aliases.js.map +1 -1
  420. package/node_modules/@fps-games/editor-playable-sdk/dist/package-resolution/index.js.map +1 -1
  421. package/node_modules/@fps-games/editor-playable-sdk/dist/package-resolution/types.d.ts +2 -0
  422. package/node_modules/@fps-games/editor-playable-sdk/dist/package-resolution/types.d.ts.map +1 -1
  423. package/node_modules/@fps-games/editor-playable-sdk/dist/package-resolution/types.js.map +1 -1
  424. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/action-patches.js.map +1 -1
  425. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/assets.js.map +1 -1
  426. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/index.js.map +1 -1
  427. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/material-override-inspector.js.map +1 -1
  428. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/projection.js.map +1 -1
  429. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/shadow-inspector.js.map +1 -1
  430. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/source-structure-inspector.js.map +1 -1
  431. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/stage-inspector.js.map +1 -1
  432. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/structure.js.map +1 -1
  433. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/types.js.map +1 -1
  434. package/node_modules/@fps-games/editor-playable-sdk/dist/product/asset-manager.js.map +1 -1
  435. package/node_modules/@fps-games/editor-playable-sdk/dist/product/ground-decal-scene-feature.js.map +1 -1
  436. package/node_modules/@fps-games/editor-playable-sdk/dist/product/ground-decal.js.map +1 -1
  437. package/node_modules/@fps-games/editor-playable-sdk/dist/product/index.js.map +1 -1
  438. package/node_modules/@fps-games/editor-playable-sdk/dist/product/project-host-services.d.ts +1 -0
  439. package/node_modules/@fps-games/editor-playable-sdk/dist/product/project-host-services.d.ts.map +1 -1
  440. package/node_modules/@fps-games/editor-playable-sdk/dist/product/project-host-services.js +3 -1
  441. package/node_modules/@fps-games/editor-playable-sdk/dist/product/project-host-services.js.map +1 -1
  442. package/node_modules/@fps-games/editor-playable-sdk/dist/product/scene-session.js.map +1 -1
  443. package/node_modules/@fps-games/editor-playable-sdk/dist/product/scene-source.d.ts +3 -3
  444. package/node_modules/@fps-games/editor-playable-sdk/dist/product/scene-source.d.ts.map +1 -1
  445. package/node_modules/@fps-games/editor-playable-sdk/dist/product/scene-source.js +10 -1
  446. package/node_modules/@fps-games/editor-playable-sdk/dist/product/scene-source.js.map +1 -1
  447. package/node_modules/@fps-games/editor-playable-sdk/dist/product/standard-asset-actions.js.map +1 -1
  448. package/node_modules/@fps-games/editor-playable-sdk/dist/product/standard-scene-assembly.js.map +1 -1
  449. package/node_modules/@fps-games/editor-playable-sdk/dist/rendering-profile/draft.js.map +1 -1
  450. package/node_modules/@fps-games/editor-playable-sdk/dist/rendering-profile/index.js.map +1 -1
  451. package/node_modules/@fps-games/editor-playable-sdk/dist/rendering-profile/panel.js.map +1 -1
  452. package/node_modules/@fps-games/editor-playable-sdk/dist/rendering-profile/route.js.map +1 -1
  453. package/node_modules/@fps-games/editor-playable-sdk/dist/rendering-profile/types.js.map +1 -1
  454. package/node_modules/@fps-games/editor-playable-sdk/dist/runtime-preview/assets.js.map +1 -1
  455. package/node_modules/@fps-games/editor-playable-sdk/dist/runtime-preview/import-plan.js.map +1 -1
  456. package/node_modules/@fps-games/editor-playable-sdk/dist/runtime-preview/index.js.map +1 -1
  457. package/node_modules/@fps-games/editor-playable-sdk/dist/runtime-preview/nodes.js.map +1 -1
  458. package/node_modules/@fps-games/editor-playable-sdk/dist/runtime-preview/types.js.map +1 -1
  459. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/compiler.d.ts +1 -1
  460. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/compiler.js +82 -6
  461. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/compiler.js.map +1 -1
  462. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/index.js.map +1 -1
  463. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/types.d.ts +11 -3
  464. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/types.d.ts.map +1 -1
  465. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/types.js.map +1 -1
  466. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/validation.d.ts +1 -0
  467. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/validation.d.ts.map +1 -1
  468. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/validation.js +46 -3
  469. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/validation.js.map +1 -1
  470. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/artifacts.js.map +1 -1
  471. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/client.d.ts.map +1 -1
  472. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/client.js +4 -0
  473. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/client.js.map +1 -1
  474. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/companion-configs.js.map +1 -1
  475. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/driver.js.map +1 -1
  476. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/index.js.map +1 -1
  477. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/protocol.js.map +1 -1
  478. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/types.d.ts +3 -2
  479. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/types.d.ts.map +1 -1
  480. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/types.js.map +1 -1
  481. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/validation.js.map +1 -1
  482. package/node_modules/@fps-games/editor-playable-sdk/dist/serialized-property/descriptors.js.map +1 -1
  483. package/node_modules/@fps-games/editor-playable-sdk/dist/serialized-property/index.js.map +1 -1
  484. package/node_modules/@fps-games/editor-playable-sdk/dist/serialized-property/inspector.js.map +1 -1
  485. package/node_modules/@fps-games/editor-playable-sdk/dist/serialized-property/object.js.map +1 -1
  486. package/node_modules/@fps-games/editor-playable-sdk/dist/serialized-property/patch.js.map +1 -1
  487. package/node_modules/@fps-games/editor-playable-sdk/dist/serialized-property/types.js.map +1 -1
  488. package/node_modules/@fps-games/editor-playable-sdk/dist/session/classification.js.map +1 -1
  489. package/node_modules/@fps-games/editor-playable-sdk/dist/session/hierarchy-facade.js.map +1 -1
  490. package/node_modules/@fps-games/editor-playable-sdk/dist/session/hierarchy.js.map +1 -1
  491. package/node_modules/@fps-games/editor-playable-sdk/dist/session/identity.js.map +1 -1
  492. package/node_modules/@fps-games/editor-playable-sdk/dist/session/index.js.map +1 -1
  493. package/node_modules/@fps-games/editor-playable-sdk/dist/session/object-command-facade.js.map +1 -1
  494. package/node_modules/@fps-games/editor-playable-sdk/dist/session/patches.js.map +1 -1
  495. package/node_modules/@fps-games/editor-playable-sdk/dist/session/property-patches.js.map +1 -1
  496. package/node_modules/@fps-games/editor-playable-sdk/dist/session/reducer-core.js.map +1 -1
  497. package/node_modules/@fps-games/editor-playable-sdk/dist/session/system-defaults.js.map +1 -1
  498. package/node_modules/@fps-games/editor-playable-sdk/dist/session/transform.js.map +1 -1
  499. package/node_modules/@fps-games/editor-playable-sdk/dist/session/types.js.map +1 -1
  500. package/node_modules/@fps-games/editor-playable-sdk/dist/shadow-system/index.js.map +1 -1
  501. package/node_modules/@fps-games/editor-playable-sdk/dist/shadow-system/resolver.js.map +1 -1
  502. package/node_modules/@fps-games/editor-playable-sdk/dist/shared/http.js.map +1 -1
  503. package/node_modules/@fps-games/editor-playable-sdk/dist/shared/json.d.ts +1 -0
  504. package/node_modules/@fps-games/editor-playable-sdk/dist/shared/json.d.ts.map +1 -1
  505. package/node_modules/@fps-games/editor-playable-sdk/dist/shared/json.js +25 -0
  506. package/node_modules/@fps-games/editor-playable-sdk/dist/shared/json.js.map +1 -1
  507. package/node_modules/@fps-games/editor-playable-sdk/dist/static-shadows/artifact.js.map +1 -1
  508. package/node_modules/@fps-games/editor-playable-sdk/dist/static-shadows/index.js.map +1 -1
  509. package/node_modules/@fps-games/editor-playable-sdk/dist/upgrade-doctor/host.js.map +1 -1
  510. package/node_modules/@fps-games/editor-playable-sdk/dist/upgrade-doctor/index.js.map +1 -1
  511. package/node_modules/@fps-games/editor-playable-sdk/dist/upgrade-doctor/inspectors.js.map +1 -1
  512. package/node_modules/@fps-games/editor-playable-sdk/dist/upgrade-doctor/report.js.map +1 -1
  513. package/node_modules/@fps-games/editor-playable-sdk/dist/upgrade-doctor/types.js.map +1 -1
  514. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/asset-authoring.js.map +1 -1
  515. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/authoring-http.d.ts +1 -0
  516. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/authoring-http.d.ts.map +1 -1
  517. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/authoring-http.js +1 -0
  518. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/authoring-http.js.map +1 -1
  519. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/build-info-core.js.map +1 -1
  520. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/build-info-node.js.map +1 -1
  521. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/editor-scene-workflow.d.ts +6 -5
  522. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/editor-scene-workflow.d.ts.map +1 -1
  523. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/editor-scene-workflow.js +37 -20
  524. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/editor-scene-workflow.js.map +1 -1
  525. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/index.js.map +1 -1
  526. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/module-invalidation.d.ts +3 -1
  527. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/module-invalidation.d.ts.map +1 -1
  528. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/module-invalidation.js +37 -8
  529. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/module-invalidation.js.map +1 -1
  530. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/path-write-coordinator.js.map +1 -1
  531. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/plugin.d.ts +4 -3
  532. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/plugin.d.ts.map +1 -1
  533. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/plugin.js +14 -1
  534. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/plugin.js.map +1 -1
  535. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-adapter.d.ts +5 -4
  536. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-adapter.d.ts.map +1 -1
  537. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-adapter.js.map +1 -1
  538. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-asset-authoring.d.ts +3 -2
  539. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-asset-authoring.d.ts.map +1 -1
  540. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-asset-authoring.js +10 -17
  541. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-asset-authoring.js.map +1 -1
  542. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-authoring-api.d.ts +8 -7
  543. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-authoring-api.d.ts.map +1 -1
  544. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-authoring-api.js +84 -6
  545. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-authoring-api.js.map +1 -1
  546. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-rendering-authoring.d.ts +2 -1
  547. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-rendering-authoring.d.ts.map +1 -1
  548. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-rendering-authoring.js.map +1 -1
  549. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-scene-authoring.d.ts +4 -3
  550. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-scene-authoring.d.ts.map +1 -1
  551. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-scene-authoring.js +1 -4
  552. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-scene-authoring.js.map +1 -1
  553. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/session-metadata.js.map +1 -1
  554. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/types.d.ts +0 -33
  555. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/types.d.ts.map +1 -1
  556. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/types.js.map +1 -1
  557. package/node_modules/@fps-games/editor-playable-sdk/package.json +9 -6
  558. package/node_modules/@fps-games/editor-protocol/dist/agent-bridge.js.map +1 -1
  559. package/node_modules/@fps-games/editor-protocol/dist/agent-trace.js.map +1 -1
  560. package/node_modules/@fps-games/editor-protocol/dist/agent.js.map +1 -1
  561. package/node_modules/@fps-games/editor-protocol/dist/index.js.map +1 -1
  562. package/node_modules/@fps-games/editor-protocol/dist/marker-graph.js.map +1 -1
  563. package/node_modules/@fps-games/editor-protocol/package.json +2 -2
  564. package/node_modules/@fps-games/editor-tooling/dist/contributions.js.map +1 -1
  565. package/node_modules/@fps-games/editor-tooling/dist/data-object.js.map +1 -1
  566. package/node_modules/@fps-games/editor-tooling/dist/index.js.map +1 -1
  567. package/node_modules/@fps-games/editor-tooling/dist/migration.js.map +1 -1
  568. package/node_modules/@fps-games/editor-tooling/dist/package-metadata-node.js.map +1 -1
  569. package/node_modules/@fps-games/editor-tooling/dist/vite.js.map +1 -1
  570. package/node_modules/@fps-games/editor-tooling/package.json +3 -3
  571. package/node_modules/@fps-games/playable-assets/dist/identity.js.map +1 -1
  572. package/node_modules/@fps-games/playable-assets/dist/index.d.ts +1 -0
  573. package/node_modules/@fps-games/playable-assets/dist/index.d.ts.map +1 -1
  574. package/node_modules/@fps-games/playable-assets/dist/index.js +1 -0
  575. package/node_modules/@fps-games/playable-assets/dist/index.js.map +1 -1
  576. package/node_modules/@fps-games/playable-assets/dist/portable-path.d.ts +2 -0
  577. package/node_modules/@fps-games/playable-assets/dist/portable-path.d.ts.map +1 -0
  578. package/node_modules/@fps-games/playable-assets/dist/portable-path.js +25 -0
  579. package/node_modules/@fps-games/playable-assets/dist/portable-path.js.map +1 -0
  580. package/node_modules/@fps-games/playable-assets/package.json +1 -1
  581. package/node_modules/@fps-games/playable-contracts/dist/index.js.map +1 -1
  582. package/node_modules/@fps-games/playable-contracts/dist/marker-graph-validation.js.map +1 -1
  583. package/node_modules/@fps-games/playable-contracts/dist/marker-graph.js.map +1 -1
  584. package/node_modules/@fps-games/playable-contracts/package.json +1 -1
  585. package/node_modules/@fps-games/playable-rendering/dist/index.js.map +1 -1
  586. package/node_modules/@fps-games/playable-rendering/dist/rendering-profile-authoring.js.map +1 -1
  587. package/node_modules/@fps-games/playable-rendering/dist/rendering-profile-types.js.map +1 -1
  588. package/node_modules/@fps-games/playable-rendering/dist/rendering-profile-validation.js.map +1 -1
  589. package/node_modules/@fps-games/playable-rendering/dist/rendering-profile-values.js.map +1 -1
  590. package/node_modules/@fps-games/playable-rendering/dist/rendering-profile.js.map +1 -1
  591. package/node_modules/@fps-games/playable-rendering/dist/runtime.js.map +1 -1
  592. package/node_modules/@fps-games/playable-rendering/dist/shadow-quality.js.map +1 -1
  593. package/node_modules/@fps-games/playable-rendering/dist/shadow-runtime.js.map +1 -1
  594. package/node_modules/@fps-games/playable-rendering/dist/shadow-settings.js.map +1 -1
  595. package/node_modules/@fps-games/playable-rendering/dist/shadow-types.js.map +1 -1
  596. package/node_modules/@fps-games/playable-rendering/dist/shadow-validation.js.map +1 -1
  597. package/node_modules/@fps-games/playable-rendering/dist/value.js.map +1 -1
  598. package/node_modules/@fps-games/playable-rendering/package.json +2 -2
  599. package/node_modules/@fps-games/playable-runtime/dist/compiled-scene-data.js +5 -1
  600. package/node_modules/@fps-games/playable-runtime/dist/compiled-scene-data.js.map +1 -1
  601. package/node_modules/@fps-games/playable-runtime/dist/index.js.map +1 -1
  602. package/node_modules/@fps-games/playable-runtime/dist/runtime-data.js.map +1 -1
  603. package/node_modules/@fps-games/playable-runtime/dist/runtime.js.map +1 -1
  604. package/node_modules/@fps-games/playable-runtime/dist/standard-plugins.js.map +1 -1
  605. package/node_modules/@fps-games/playable-runtime/dist/tokens.js.map +1 -1
  606. package/node_modules/@fps-games/playable-runtime/dist/types.js.map +1 -1
  607. package/node_modules/@fps-games/playable-runtime/package.json +12 -12
  608. package/node_modules/@fps-games/playable-runtime-data/dist/index.js.map +1 -1
  609. package/node_modules/@fps-games/playable-runtime-data/package.json +4 -4
  610. package/node_modules/@fps-games/playable-scene/dist/index.js.map +1 -1
  611. package/node_modules/@fps-games/playable-scene/dist/transform-math.js.map +1 -1
  612. package/node_modules/@fps-games/playable-scene/package.json +2 -2
  613. package/node_modules/@fps-games/plugin-api/dist/index.js.map +1 -1
  614. package/node_modules/@fps-games/plugin-api/package.json +1 -1
  615. package/node_modules/@fps-games/plugin-assets/dist/reference.js.map +1 -1
  616. package/node_modules/@fps-games/plugin-assets/dist/runtime.js.map +1 -1
  617. package/node_modules/@fps-games/plugin-assets/dist/version.d.ts +1 -1
  618. package/node_modules/@fps-games/plugin-assets/dist/version.js +1 -1
  619. package/node_modules/@fps-games/plugin-assets/dist/version.js.map +1 -1
  620. package/node_modules/@fps-games/plugin-assets/package.json +5 -5
  621. package/node_modules/@fps-games/plugin-host/dist/index.js.map +1 -1
  622. package/node_modules/@fps-games/plugin-host/package.json +2 -2
  623. package/node_modules/@fps-games/plugin-markers/dist/reference.js.map +1 -1
  624. package/node_modules/@fps-games/plugin-markers/dist/runtime.js.map +1 -1
  625. package/node_modules/@fps-games/plugin-markers/dist/version.d.ts +1 -1
  626. package/node_modules/@fps-games/plugin-markers/dist/version.js +1 -1
  627. package/node_modules/@fps-games/plugin-markers/dist/version.js.map +1 -1
  628. package/node_modules/@fps-games/plugin-markers/package.json +5 -5
  629. package/node_modules/@fps-games/plugin-materials/dist/reference.js.map +1 -1
  630. package/node_modules/@fps-games/plugin-materials/dist/runtime.js.map +1 -1
  631. package/node_modules/@fps-games/plugin-materials/dist/version.d.ts +1 -1
  632. package/node_modules/@fps-games/plugin-materials/dist/version.js +1 -1
  633. package/node_modules/@fps-games/plugin-materials/dist/version.js.map +1 -1
  634. package/node_modules/@fps-games/plugin-materials/package.json +5 -5
  635. package/node_modules/@fps-games/plugin-rendering/dist/reference.js.map +1 -1
  636. package/node_modules/@fps-games/plugin-rendering/dist/runtime.js.map +1 -1
  637. package/node_modules/@fps-games/plugin-rendering/dist/version.d.ts +1 -1
  638. package/node_modules/@fps-games/plugin-rendering/dist/version.js +1 -1
  639. package/node_modules/@fps-games/plugin-rendering/dist/version.js.map +1 -1
  640. package/node_modules/@fps-games/plugin-rendering/package.json +5 -5
  641. package/node_modules/@fps-games/plugin-scene/dist/reference.js.map +1 -1
  642. package/node_modules/@fps-games/plugin-scene/dist/runtime.js.map +1 -1
  643. package/node_modules/@fps-games/plugin-scene/dist/version.d.ts +1 -1
  644. package/node_modules/@fps-games/plugin-scene/dist/version.js +1 -1
  645. package/node_modules/@fps-games/plugin-scene/dist/version.js.map +1 -1
  646. package/node_modules/@fps-games/plugin-scene/package.json +5 -5
  647. package/node_modules/@fps-games/plugin-shadows/dist/reference.js.map +1 -1
  648. package/node_modules/@fps-games/plugin-shadows/dist/runtime.js.map +1 -1
  649. package/node_modules/@fps-games/plugin-shadows/dist/version.d.ts +1 -1
  650. package/node_modules/@fps-games/plugin-shadows/dist/version.js +1 -1
  651. package/node_modules/@fps-games/plugin-shadows/dist/version.js.map +1 -1
  652. package/node_modules/@fps-games/plugin-shadows/package.json +7 -7
  653. package/package.json +27 -19
@@ -1 +1 @@
1
- {"version":3,"file":"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":"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"}
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":"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","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":"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","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"]}
@@ -1 +1 @@
1
- {"version":3,"file":"panel-text.js","sourceRoot":"","sources":["../../src/camera-debug/panel-text.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"panel-text.js","sourceRoot":"","sources":["../../src/camera-debug/panel-text.ts"],"names":[],"mappings":"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","sourcesContent":["export type EditorSceneCameraDebugLanguage = 'zh' | 'en';\n\nexport type EditorSceneCameraDebugTextKey =\n | 'title'\n | 'runtime'\n | 'languageButton'\n | 'toggleTitle'\n | 'projection'\n | 'orthographic'\n | 'perspective'\n | 'alpha'\n | 'beta'\n | 'radius'\n | 'orthoSize'\n | 'fov'\n | 'targetOffsetX'\n | 'targetOffsetY'\n | 'targetOffsetZ'\n | 'nearClip'\n | 'farClip'\n | 'minBeta'\n | 'maxBeta'\n | 'betaRange'\n | 'minRadius'\n | 'maxRadius'\n | 'radiusRange'\n | 'inertia'\n | 'screenOffsetX'\n | 'screenOffsetY'\n | 'panHint'\n | 'compositionLines'\n | 'screenshot'\n | 'screenshotSaved'\n | 'screenshotFailed'\n | 'reset'\n | 'save'\n | 'worldPosition'\n | 'resetStatus'\n | 'savingStatus'\n | 'savedStatus'\n | 'saveFailed';\n\nexport type EditorSceneCameraDebugTooltipTextKey = Exclude<\n EditorSceneCameraDebugTextKey,\n | 'title'\n | 'runtime'\n | 'orthographic'\n | 'perspective'\n | 'worldPosition'\n | 'screenshotSaved'\n | 'screenshotFailed'\n | 'resetStatus'\n | 'savingStatus'\n | 'savedStatus'\n | 'saveFailed'\n>;\n\nexport type EditorSceneCameraDebugText = Record<EditorSceneCameraDebugTextKey, string>;\nexport type EditorSceneCameraDebugTooltipText = Record<EditorSceneCameraDebugTooltipTextKey, string>;\n\nexport const EDITOR_SCENE_CAMERA_DEBUG_TEXT: Record<EditorSceneCameraDebugLanguage, EditorSceneCameraDebugText> = {\n zh: {\n title: '摄像机调试',\n runtime: '运行时',\n languageButton: 'EN',\n toggleTitle: '打开摄像机调试面板',\n projection: '投影模式',\n orthographic: '正交',\n perspective: '透视',\n alpha: '水平环绕角',\n beta: '俯仰角',\n radius: '跟随距离',\n orthoSize: '正交视野高度',\n fov: '透视视野角',\n targetOffsetX: '中心点 X',\n targetOffsetY: '中心点 Y',\n targetOffsetZ: '中心点 Z',\n nearClip: '近裁面距离',\n farClip: '远裁面距离',\n minBeta: '最小俯仰角',\n maxBeta: '最大俯仰角',\n betaRange: '俯仰角范围',\n minRadius: '最小跟随距离',\n maxRadius: '最大跟随距离',\n radiusRange: '跟随距离范围',\n inertia: '平滑惯性',\n screenOffsetX: '画面偏移 X',\n screenOffsetY: '画面偏移 Y',\n panHint: 'W/S 前进 / 后退 · A/D 左 / 右 · 十字准星 = 预览目标',\n compositionLines: '构图线',\n screenshot: '截图',\n screenshotSaved: '截图已保存。',\n screenshotFailed: '截图失败',\n reset: '重置参数',\n save: '保存参数',\n worldPosition: '世界坐标',\n resetStatus: '已重置为初始运行时摄像机。',\n savingStatus: '正在保存摄像机参数...',\n savedStatus: '已保存摄像机参数,正在重新加载...',\n saveFailed: '保存失败',\n },\n en: {\n title: 'Camera Debug',\n runtime: 'Runtime',\n languageButton: '中文',\n toggleTitle: 'Toggle camera debug panel',\n projection: 'Projection',\n orthographic: 'Orthographic',\n perspective: 'Perspective',\n alpha: 'Alpha',\n beta: 'Beta',\n radius: 'Radius',\n orthoSize: 'Ortho Size',\n fov: 'FOV',\n targetOffsetX: 'Target X',\n targetOffsetY: 'Target Y',\n targetOffsetZ: 'Target Z',\n nearClip: 'Near Clip',\n farClip: 'Far Clip',\n minBeta: 'Min Beta',\n maxBeta: 'Max Beta',\n betaRange: 'Pitch Range',\n minRadius: 'Min Radius',\n maxRadius: 'Max Radius',\n radiusRange: 'Follow Distance Range',\n inertia: 'Inertia',\n screenOffsetX: 'Screen Offset X',\n screenOffsetY: 'Screen Offset Y',\n panHint: 'W/S Forward / Back · A/D Left / Right · crosshair = preview target',\n compositionLines: 'Guides',\n screenshot: 'Screenshot',\n screenshotSaved: 'Screenshot saved.',\n screenshotFailed: 'Screenshot failed',\n reset: 'Reset',\n save: 'Save Rig',\n worldPosition: 'World',\n resetStatus: 'Reset to initial runtime camera.',\n savingStatus: 'Saving rig...',\n savedStatus: 'Saved rig. Reloading...',\n saveFailed: 'Save failed',\n },\n};\n\nexport const EDITOR_SCENE_CAMERA_DEBUG_TOOLTIPS: Record<EditorSceneCameraDebugLanguage, EditorSceneCameraDebugTooltipText> = {\n zh: {\n languageButton: '切换摄像机调试面板的显示语言。',\n toggleTitle: '打开或关闭运行时摄像机调试面板。',\n projection: '切换主摄像机的正交或透视投影模式。',\n alpha: 'ArcRotate 水平环绕角;界面用角度显示,保存为弧度。',\n beta: 'ArcRotate 垂直俯仰角;界面用角度显示,保存为弧度。',\n radius: '摄像机到观察目标的距离。',\n orthoSize: '正交模式下的视野高度,数值越大看到的范围越大。',\n fov: '透视模式下的垂直视野角;界面用角度显示,保存为弧度。',\n targetOffsetX: '摄像机观察中心点的世界 X 坐标;保存为 camera.targetOffset.x。',\n targetOffsetY: '摄像机观察中心点的世界 Y 坐标;保存为 camera.targetOffset.y。',\n targetOffsetZ: '摄像机观察中心点的世界 Z 坐标;保存为 camera.targetOffset.z。',\n nearClip: '小于该距离的内容不会被摄像机渲染。',\n farClip: '大于该距离的内容不会被摄像机渲染。',\n minBeta: '限制运行时可用的最小俯仰角;界面用角度显示,保存为弧度。',\n maxBeta: '限制运行时可用的最大俯仰角;界面用角度显示,保存为弧度。',\n betaRange: '运行时允许的俯仰角范围,左侧为最小值,右侧为最大值;界面用角度显示。',\n minRadius: '限制摄像机可接近目标的最小距离。',\n maxRadius: '限制摄像机可远离目标的最大距离。',\n radiusRange: '运行时允许的跟随距离范围,左侧为最小值,右侧为最大值。',\n inertia: '摄像机输入或跟随的平滑惯性,0 最灵敏,1 最平滑。',\n screenOffsetX: '将观察目标在画面中水平偏移。',\n screenOffsetY: '将观察目标在画面中垂直偏移。',\n panHint: '面板打开时可用 W/A/S/D 移动预览目标;关闭面板会恢复目标位置。',\n compositionLines: '显示或隐藏相机视口构图辅助线。',\n screenshot: '截取当前相机视口内容并保存为 PNG。',\n reset: '恢复为打开运行时时读取到的初始摄像机参数。',\n save: '通过编辑器保存链路写回 Main Camera,并在保存成功后重新加载运行时。',\n },\n en: {\n languageButton: 'Switch the camera debug panel language.',\n toggleTitle: 'Open or close the runtime camera debug panel.',\n projection: 'Switch the Main Camera between orthographic and perspective projection.',\n alpha: 'ArcRotate horizontal orbit angle. The UI uses degrees; saved data uses radians.',\n beta: 'ArcRotate vertical pitch angle. The UI uses degrees; saved data uses radians.',\n radius: 'Distance from the camera to the look target.',\n orthoSize: 'Orthographic view height. Larger values show a wider area.',\n fov: 'Perspective vertical field of view. The UI uses degrees; saved data uses radians.',\n targetOffsetX: 'World X coordinate of the camera look target. Saved as camera.targetOffset.x.',\n targetOffsetY: 'World Y coordinate of the camera look target. Saved as camera.targetOffset.y.',\n targetOffsetZ: 'World Z coordinate of the camera look target. Saved as camera.targetOffset.z.',\n nearClip: 'Content closer than this distance is not rendered.',\n farClip: 'Content farther than this distance is not rendered.',\n minBeta: 'Minimum allowed runtime pitch angle. The UI uses degrees; saved data uses radians.',\n maxBeta: 'Maximum allowed runtime pitch angle. The UI uses degrees; saved data uses radians.',\n betaRange: 'Allowed runtime pitch range. Left is minimum; right is maximum. The UI uses degrees.',\n minRadius: 'Minimum allowed camera distance from the target.',\n maxRadius: 'Maximum allowed camera distance from the target.',\n radiusRange: 'Allowed runtime follow distance range. Left is minimum; right is maximum.',\n inertia: 'Camera input/follow smoothing. 0 is most responsive; 1 is smoothest.',\n screenOffsetX: 'Moves the look target horizontally in screen space.',\n screenOffsetY: 'Moves the look target vertically in screen space.',\n panHint: 'When the panel is open, use W/A/S/D to move the preview target; closing the panel restores it.',\n compositionLines: 'Show or hide camera viewport composition guides.',\n screenshot: 'Capture the current camera viewport as a PNG.',\n reset: 'Restore the camera parameters captured when runtime opened.',\n save: 'Save back to the Main Camera through the editor authoring pipeline, then reload runtime.',\n },\n};\n\nexport function getEditorSceneCameraDebugText(language: EditorSceneCameraDebugLanguage): EditorSceneCameraDebugText {\n return EDITOR_SCENE_CAMERA_DEBUG_TEXT[language] ?? EDITOR_SCENE_CAMERA_DEBUG_TEXT.zh;\n}\n\nexport function getEditorSceneCameraDebugTooltips(language: EditorSceneCameraDebugLanguage): EditorSceneCameraDebugTooltipText {\n return EDITOR_SCENE_CAMERA_DEBUG_TOOLTIPS[language] ?? EDITOR_SCENE_CAMERA_DEBUG_TOOLTIPS.zh;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"rig.js","sourceRoot":"","sources":["../../src/camera-debug/rig.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rig.js","sourceRoot":"","sources":["../../src/camera-debug/rig.ts"],"names":[],"mappings":"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","sourcesContent":["import type {\n EditorSceneCameraRig,\n EditorSceneVec3,\n} from '../document/index';\nimport {\n degreesToEditorSceneCameraDebugRadians,\n radiansToEditorSceneCameraDebugDegrees,\n} from './math';\nimport type {\n EditorSceneCameraDebugNumberField,\n EditorSceneCameraDebugSnapshot,\n EditorSceneCameraDebugVec2,\n} from './types';\n\nexport function cloneEditorSceneCameraDebugSnapshot(\n snapshot: EditorSceneCameraDebugSnapshot,\n): EditorSceneCameraDebugSnapshot {\n return {\n ...snapshot,\n ...(snapshot.targetOffset ? { targetOffset: { ...snapshot.targetOffset } } : {}),\n ...(snapshot.targetScreenOffset ? { targetScreenOffset: { ...snapshot.targetScreenOffset } } : {}),\n target: { ...snapshot.target },\n ...(snapshot.binding && typeof snapshot.binding === 'object' ? { binding: { ...snapshot.binding } } : {}),\n };\n}\n\nexport function readEditorSceneCameraDebugSnapshotField(\n snapshot: EditorSceneCameraDebugSnapshot,\n field: EditorSceneCameraDebugNumberField,\n): number | undefined {\n switch (field) {\n case 'alpha': return radiansToEditorSceneCameraDebugDegrees(snapshot.alpha);\n case 'beta': return radiansToEditorSceneCameraDebugDegrees(snapshot.beta);\n case 'radius': return snapshot.radius;\n case 'orthoSize': return snapshot.orthoSize;\n case 'fovDeg': return radiansToEditorSceneCameraDebugDegrees(snapshot.fov);\n case 'targetOffsetX': return (snapshot.targetOffset ?? snapshot.target).x;\n case 'targetOffsetY': return (snapshot.targetOffset ?? snapshot.target).y;\n case 'targetOffsetZ': return (snapshot.targetOffset ?? snapshot.target).z;\n case 'minZ': return snapshot.minZ;\n case 'maxZ': return snapshot.maxZ;\n case 'lowerBetaLimit': return snapshot.lowerBetaLimit == null ? undefined : radiansToEditorSceneCameraDebugDegrees(snapshot.lowerBetaLimit);\n case 'upperBetaLimit': return snapshot.upperBetaLimit == null ? undefined : radiansToEditorSceneCameraDebugDegrees(snapshot.upperBetaLimit);\n case 'lowerRadiusLimit': return snapshot.lowerRadiusLimit;\n case 'upperRadiusLimit': return snapshot.upperRadiusLimit;\n case 'inertia': return snapshot.inertia;\n case 'targetScreenOffsetX': return snapshot.targetScreenOffset?.x;\n case 'targetScreenOffsetY': return snapshot.targetScreenOffset?.y;\n }\n}\n\nexport function toEditorSceneCameraRig(snapshot: EditorSceneCameraDebugSnapshot): EditorSceneCameraRig {\n return {\n projection: snapshot.projection,\n alpha: snapshot.alpha,\n beta: snapshot.beta,\n radius: snapshot.radius,\n orthoSize: snapshot.orthoSize,\n fov: snapshot.fov,\n targetOffset: { ...(snapshot.targetOffset ?? snapshot.target) },\n minZ: snapshot.minZ,\n maxZ: snapshot.maxZ,\n lowerBetaLimit: snapshot.lowerBetaLimit,\n upperBetaLimit: snapshot.upperBetaLimit,\n lowerRadiusLimit: snapshot.lowerRadiusLimit,\n upperRadiusLimit: snapshot.upperRadiusLimit,\n inertia: snapshot.inertia,\n ...(snapshot.targetScreenOffset ? { targetScreenOffset: { ...snapshot.targetScreenOffset } } : {}),\n };\n}\n\nexport function sanitizeEditorSceneCameraRig(cameraRig: EditorSceneCameraRig): EditorSceneCameraRig {\n const sanitized: EditorSceneCameraRig = {\n projection: readEditorSceneCameraProjection(cameraRig.projection),\n alpha: readFiniteCameraRigNumber(cameraRig.alpha, 'alpha'),\n beta: readFiniteCameraRigNumber(cameraRig.beta, 'beta'),\n radius: readPositiveFiniteCameraRigNumber(cameraRig.radius, 'radius'),\n orthoSize: readPositiveFiniteCameraRigNumber(cameraRig.orthoSize, 'orthoSize'),\n fov: readPositiveFiniteCameraRigNumber(cameraRig.fov ?? 0.85, 'fov'),\n };\n\n const targetOffset = readCameraRigVec3(cameraRig.targetOffset, 'targetOffset');\n if (targetOffset) sanitized.targetOffset = targetOffset;\n\n const minZ = readOptionalPositiveFiniteCameraRigNumber(cameraRig.minZ, 'minZ');\n if (minZ != null) sanitized.minZ = minZ;\n const maxZ = readOptionalPositiveFiniteCameraRigNumber(cameraRig.maxZ, 'maxZ');\n if (maxZ != null) sanitized.maxZ = maxZ;\n\n const lowerBetaLimit = readOptionalFiniteCameraRigNumber(cameraRig.lowerBetaLimit, 'lowerBetaLimit');\n if (lowerBetaLimit != null) sanitized.lowerBetaLimit = lowerBetaLimit;\n const upperBetaLimit = readOptionalFiniteCameraRigNumber(cameraRig.upperBetaLimit, 'upperBetaLimit');\n if (upperBetaLimit != null) sanitized.upperBetaLimit = upperBetaLimit;\n\n const lowerRadiusLimit = readOptionalPositiveFiniteCameraRigNumber(cameraRig.lowerRadiusLimit, 'lowerRadiusLimit');\n if (lowerRadiusLimit != null) sanitized.lowerRadiusLimit = lowerRadiusLimit;\n const upperRadiusLimit = readOptionalPositiveFiniteCameraRigNumber(cameraRig.upperRadiusLimit, 'upperRadiusLimit');\n if (upperRadiusLimit != null) sanitized.upperRadiusLimit = upperRadiusLimit;\n\n const inertia = readOptionalUnitCameraRigNumber(cameraRig.inertia, 'inertia');\n if (inertia != null) sanitized.inertia = inertia;\n\n const targetScreenOffset = readCameraRigVec2(cameraRig.targetScreenOffset, 'targetScreenOffset');\n if (targetScreenOffset) sanitized.targetScreenOffset = targetScreenOffset;\n\n assertEditorSceneCameraRigRelationships(sanitized);\n return sanitized;\n}\n\nexport function normalizeEditorSceneCameraDebugSnapshotRanges(\n snapshot: EditorSceneCameraDebugSnapshot,\n activeField: EditorSceneCameraDebugNumberField | null = null,\n): EditorSceneCameraDebugSnapshot {\n normalizeEditorSceneCameraDebugNumberRange(snapshot, {\n valueField: 'beta',\n lowerField: 'lowerBetaLimit',\n upperField: 'upperBetaLimit',\n activeField,\n minValue: Number.NEGATIVE_INFINITY,\n });\n normalizeEditorSceneCameraDebugNumberRange(snapshot, {\n valueField: 'radius',\n lowerField: 'lowerRadiusLimit',\n upperField: 'upperRadiusLimit',\n activeField,\n minValue: 0.001,\n });\n return snapshot;\n}\n\nfunction normalizeEditorSceneCameraDebugNumberRange(\n snapshot: EditorSceneCameraDebugSnapshot,\n options: {\n valueField: 'beta' | 'radius';\n lowerField: 'lowerBetaLimit' | 'lowerRadiusLimit';\n upperField: 'upperBetaLimit' | 'upperRadiusLimit';\n activeField: EditorSceneCameraDebugNumberField | null;\n minValue: number;\n },\n): void {\n let value = snapshot[options.valueField];\n let lower = snapshot[options.lowerField] ?? value;\n let upper = snapshot[options.upperField] ?? value;\n if (upper < lower) {\n if (options.activeField === options.upperField) lower = upper;\n else upper = lower;\n }\n if (options.activeField === options.lowerField || options.activeField === options.upperField) {\n value = Math.min(upper, Math.max(lower, value));\n if (Number.isFinite(options.minValue)) value = Math.max(options.minValue, value);\n } else {\n if (value < lower) lower = value;\n if (value > upper) upper = value;\n }\n snapshot[options.valueField] = value;\n snapshot[options.lowerField] = Number.isFinite(options.minValue) ? Math.max(options.minValue, lower) : lower;\n snapshot[options.upperField] = Number.isFinite(options.minValue) ? Math.max(options.minValue, upper) : upper;\n}\n\nfunction readEditorSceneCameraProjection(value: unknown): 'orthographic' | 'perspective' {\n if (value == null) return 'orthographic';\n if (value === 'orthographic' || value === 'perspective') return value;\n throw new Error('Runtime camera rig projection must be orthographic or perspective.');\n}\n\nfunction assertEditorSceneCameraRigRelationships(cameraRig: EditorSceneCameraRig): void {\n if (typeof cameraRig.minZ === 'number' && typeof cameraRig.maxZ === 'number' && cameraRig.maxZ <= cameraRig.minZ) {\n throw new Error('Runtime camera rig maxZ must be greater than minZ.');\n }\n if (\n typeof cameraRig.lowerBetaLimit === 'number'\n && typeof cameraRig.upperBetaLimit === 'number'\n && cameraRig.upperBetaLimit < cameraRig.lowerBetaLimit\n ) {\n throw new Error('Runtime camera rig upperBetaLimit must be greater than or equal to lowerBetaLimit.');\n }\n if (\n typeof cameraRig.lowerRadiusLimit === 'number'\n && typeof cameraRig.upperRadiusLimit === 'number'\n && cameraRig.upperRadiusLimit < cameraRig.lowerRadiusLimit\n ) {\n throw new Error('Runtime camera rig upperRadiusLimit must be greater than or equal to lowerRadiusLimit.');\n }\n}\n\nfunction readFiniteCameraRigNumber(value: unknown, label: string): number {\n if (typeof value !== 'number' || !Number.isFinite(value)) {\n throw new Error(`Runtime camera rig ${label} must be a finite number.`);\n }\n return value;\n}\n\nfunction readOptionalFiniteCameraRigNumber(value: unknown, label: string): number | undefined {\n if (value == null) return undefined;\n return readFiniteCameraRigNumber(value, label);\n}\n\nfunction readPositiveFiniteCameraRigNumber(value: unknown, label: string): number {\n const numberValue = readFiniteCameraRigNumber(value, label);\n if (numberValue <= 0) throw new Error(`Runtime camera rig ${label} must be greater than 0.`);\n return numberValue;\n}\n\nfunction readOptionalPositiveFiniteCameraRigNumber(value: unknown, label: string): number | undefined {\n if (value == null) return undefined;\n return readPositiveFiniteCameraRigNumber(value, label);\n}\n\nfunction readOptionalUnitCameraRigNumber(value: unknown, label: string): number | undefined {\n if (value == null) return undefined;\n const numberValue = readFiniteCameraRigNumber(value, label);\n if (numberValue < 0 || numberValue > 1) throw new Error(`Runtime camera rig ${label} must be between 0 and 1.`);\n return numberValue;\n}\n\nfunction readCameraRigVec3(value: unknown, label: string): EditorSceneVec3 | undefined {\n const record = readRecord(value);\n if (!record) {\n if (value == null) return undefined;\n throw new Error(`Runtime camera rig ${label} must be a vector object.`);\n }\n return {\n x: readFiniteCameraRigNumber(record.x, `${label}.x`),\n y: readFiniteCameraRigNumber(record.y, `${label}.y`),\n z: readFiniteCameraRigNumber(record.z, `${label}.z`),\n };\n}\n\nfunction readCameraRigVec2(value: unknown, label: string): EditorSceneCameraDebugVec2 | undefined {\n const record = readRecord(value);\n if (!record) {\n if (value == null) return undefined;\n throw new Error(`Runtime camera rig ${label} must be a vector object.`);\n }\n return {\n x: readFiniteCameraRigNumber(record.x, `${label}.x`),\n y: readFiniteCameraRigNumber(record.y, `${label}.y`),\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"]}
@@ -1 +1 @@
1
- {"version":3,"file":"save-patch.js","sourceRoot":"","sources":["../../src/camera-debug/save-patch.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"save-patch.js","sourceRoot":"","sources":["../../src/camera-debug/save-patch.ts"],"names":[],"mappings":"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","sourcesContent":["import type {\n EditorSceneCameraRig,\n EditorSceneDocument,\n EditorSceneGameObject,\n} from '../document/index';\nimport {\n patchEditorSceneGameObjectField,\n type EditorSceneFieldMutationOptions,\n} from '../mutation/index';\nimport {\n ensureEditorSceneGameObjectGuids,\n isEditorSceneCameraGameObject,\n} from '../session/index';\nimport {\n normalizeEditorSceneRuntimeCameraBinding,\n type EditorSceneRuntimeCameraBinding,\n} from './binding';\nimport {\n sanitizeEditorSceneCameraRig,\n} from './rig';\n\nexport const EDITOR_SCENE_CAMERA_RIG_SAVE_FIELDS = [\n 'projection',\n 'alpha',\n 'beta',\n 'radius',\n 'orthoSize',\n 'fov',\n 'targetOffset',\n 'minZ',\n 'maxZ',\n 'lowerBetaLimit',\n 'upperBetaLimit',\n 'lowerRadiusLimit',\n 'upperRadiusLimit',\n 'inertia',\n 'targetScreenOffset',\n] as const;\n\nexport interface EditorSceneRuntimeCameraRigPatchOptions<\n TDocument extends EditorSceneDocument = EditorSceneDocument,\n TGameObject extends EditorSceneGameObject = EditorSceneGameObject,\n> {\n expectedSourceId?: string;\n fieldMutation?: EditorSceneFieldMutationOptions<TDocument, TGameObject>;\n patchCameraField?: (\n document: TDocument,\n targetId: string,\n path: string,\n value: unknown,\n ) => TDocument;\n}\n\nexport interface EditorSceneRuntimeCameraRigPatchResult<\n TDocument extends EditorSceneDocument = EditorSceneDocument,\n> {\n document: TDocument;\n targetId: string;\n objectGuid?: string;\n}\n\nexport function patchEditorSceneRuntimeCameraRig<\n TDocument extends EditorSceneDocument = EditorSceneDocument,\n TGameObject extends EditorSceneGameObject = EditorSceneGameObject,\n>(\n document: TDocument,\n binding: EditorSceneRuntimeCameraBinding,\n cameraRig: EditorSceneCameraRig,\n options: EditorSceneRuntimeCameraRigPatchOptions<TDocument, TGameObject> = {},\n): EditorSceneRuntimeCameraRigPatchResult<TDocument> {\n const normalizedBinding = normalizeEditorSceneRuntimeCameraBinding(binding);\n if (options.expectedSourceId && normalizedBinding.sourceId !== options.expectedSourceId) {\n throw new Error(`Runtime camera binding source mismatch: ${normalizedBinding.sourceId} !== ${options.expectedSourceId}`);\n }\n\n const originalGuidById = createOriginalEditorSceneGuidById(document);\n let nextDocument = ensureEditorSceneGameObjectGuids(document);\n const target = findEditorSceneRuntimeCameraTarget(\n nextDocument,\n normalizedBinding,\n originalGuidById,\n ) as TGameObject | null;\n if (!target) {\n throw new Error('Runtime camera binding did not match an editor camera object.');\n }\n if (!isEditorSceneCameraGameObject(target)) {\n throw new Error(`Runtime camera binding target is not a camera object: ${target.id}`);\n }\n\n const sanitizedRig = sanitizeEditorSceneCameraRig(cameraRig);\n for (const field of EDITOR_SCENE_CAMERA_RIG_SAVE_FIELDS) {\n if (!Object.prototype.hasOwnProperty.call(sanitizedRig, field)) continue;\n const path = `camera.${field}`;\n nextDocument = options.patchCameraField\n ? options.patchCameraField(nextDocument, target.id, path, sanitizedRig[field])\n : patchEditorSceneGameObjectField(\n nextDocument,\n target.id,\n path,\n sanitizedRig[field],\n options.fieldMutation,\n );\n }\n\n return {\n document: nextDocument,\n targetId: target.id,\n objectGuid: target.guid,\n };\n}\n\nexport function findEditorSceneRuntimeCameraTarget<\n TGameObject extends EditorSceneGameObject = EditorSceneGameObject,\n>(\n document: EditorSceneDocument<TGameObject>,\n binding: Pick<EditorSceneRuntimeCameraBinding, 'objectGuid' | 'objectId'>,\n originalGuidById: Map<string, string> = createOriginalEditorSceneGuidById(document),\n): TGameObject | null {\n if (binding.objectGuid) {\n const guidMatch = document.scene.gameObjects.find((gameObject) => gameObject.guid === binding.objectGuid) ?? null;\n if (guidMatch) {\n if (binding.objectId && guidMatch.id !== binding.objectId) {\n throw new Error(`Runtime camera binding guid/id conflict: ${binding.objectGuid} belongs to ${guidMatch.id}, not ${binding.objectId}.`);\n }\n return guidMatch;\n }\n }\n\n if (!binding.objectId) return null;\n const idMatch = document.scene.gameObjects.find((gameObject) => gameObject.id === binding.objectId) ?? null;\n if (!idMatch) return null;\n const originalGuid = originalGuidById.get(idMatch.id);\n if (binding.objectGuid && originalGuid && originalGuid !== binding.objectGuid) {\n throw new Error(`Runtime camera binding guid conflict for ${idMatch.id}.`);\n }\n return idMatch;\n}\n\nfunction createOriginalEditorSceneGuidById<TGameObject extends Pick<EditorSceneGameObject, 'id' | 'guid'>>(\n document: Pick<EditorSceneDocument<TGameObject & EditorSceneGameObject>, 'scene'>,\n): Map<string, string> {\n const result = new Map<string, string>();\n for (const gameObject of document.scene.gameObjects) {\n const guid = readNonEmptyString(gameObject.guid);\n if (guid) result.set(gameObject.id, guid);\n }\n return result;\n}\n\nfunction readNonEmptyString(value: unknown): string | null {\n return typeof value === 'string' && value.trim() ? value.trim() : null;\n}\n"]}