@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":"product-adapter.js","sourceRoot":"","sources":["../../src/vite/product-adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,2BAA2B,GAC5B,MAAM,6BAA6B,CAAC;AAIrC,OAAO,EACL,wBAAwB,EACxB,oCAAoC,GACrC,MAAM,UAAU,CAAC;AAClB,OAAO,EACL,4CAA4C,GAC7C,MAAM,oBAAoB,CAAC;AAqC5B,MAAM,UAAU,8BAA8B,CAC5C,OAAuC,EACvC,OAAwC;IAExC,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;IACxC,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW;WAClC,oCAAoC,CAAC,EAAE,EAAE;YAC1C,WAAW;YACX,eAAe,EAAE,OAAO,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,eAAe;SACxF,CAAC,CAAC;IACL,MAAM,kBAAkB,GAA+C;QACrE,OAAO;QACP,WAAW;QACX,WAAW;KACZ,CAAC;IAEF,IAAI,WAAW,CAAC,eAAe,EAAE,CAAC;QAChC,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,gDAAgD,WAAW,CAAC,eAAe,EAAE,CAAC,CAAC;IACxG,CAAC;IAED,OAAO;QACL,sBAAsB,EAAE,WAAW,CAAC,eAAe;QACnD,gBAAgB,EAAE,2BAA2B;QAC7C,QAAQ,EAAE,WAAW,CAAC,QAAQ;QAC9B,WAAW;QACX,oBAAoB;YAClB,OAAO,WAAW,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE;gBACzC,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,kBAAkB,EAAE,GAAG,CAAC;gBACvE,CAAC,CAAC,SAAS,CAAC;QAChB,CAAC;QACD,gCAAgC;YAC9B,MAAM,QAAQ,GAAG,4CAA4C,CAAC;gBAC5D,WAAW;gBACX,WAAW;aACZ,CAAC,CAAC;YACH,OAAO,OAAO,CAAC,gCAAgC;gBAC7C,CAAC,CAAC,OAAO,CAAC,gCAAgC,CAAC,QAAQ,EAAE,kBAAkB,CAAC;gBACxE,CAAC,CAAC,QAAQ,CAAC;QACf,CAAC;QACD,wBAAwB;YACtB,OAAO,wBAAwB,CAAC;gBAC9B,WAAW;gBACX,mBAAmB,EAAE,WAAW;gBAChC,QAAQ,EAAE,WAAW,CAAC,QAAQ,IAAI,SAAS;aAC5C,CAAC,CAAC;QACL,CAAC;QACD,yBAAyB;YACvB,OAAO,OAAO,CAAC,+BAA+B,EAAE,CAAC,kBAAkB,CAAC,IAAI,IAAI,CAAC;QAC/E,CAAC;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"product-adapter.js","sourceRoot":"","sources":["../../src/vite/product-adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,2BAA2B,GAC5B,MAAM,6BAA6B,CAAC;AAIrC,OAAO,EACL,wBAAwB,EACxB,oCAAoC,GACrC,MAAM,UAAU,CAAC;AAClB,OAAO,EACL,4CAA4C,GAC7C,MAAM,oBAAoB,CAAC;AAqC5B,MAAM,UAAU,8BAA8B,CAC5C,OAAuC,EACvC,OAAwC;IAExC,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;IACxC,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW;WAClC,oCAAoC,CAAC,EAAE,EAAE;YAC1C,WAAW;YACX,eAAe,EAAE,OAAO,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,eAAe;SACxF,CAAC,CAAC;IACL,MAAM,kBAAkB,GAA+C;QACrE,OAAO;QACP,WAAW;QACX,WAAW;KACZ,CAAC;IAEF,IAAI,WAAW,CAAC,eAAe,EAAE,CAAC;QAChC,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,gDAAgD,WAAW,CAAC,eAAe,EAAE,CAAC,CAAC;IACxG,CAAC;IAED,OAAO;QACL,sBAAsB,EAAE,WAAW,CAAC,eAAe;QACnD,gBAAgB,EAAE,2BAA2B;QAC7C,QAAQ,EAAE,WAAW,CAAC,QAAQ;QAC9B,WAAW;QACX,oBAAoB;YAClB,OAAO,WAAW,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE;gBACzC,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,kBAAkB,EAAE,GAAG,CAAC;gBACvE,CAAC,CAAC,SAAS,CAAC;QAChB,CAAC;QACD,gCAAgC;YAC9B,MAAM,QAAQ,GAAG,4CAA4C,CAAC;gBAC5D,WAAW;gBACX,WAAW;aACZ,CAAC,CAAC;YACH,OAAO,OAAO,CAAC,gCAAgC;gBAC7C,CAAC,CAAC,OAAO,CAAC,gCAAgC,CAAC,QAAQ,EAAE,kBAAkB,CAAC;gBACxE,CAAC,CAAC,QAAQ,CAAC;QACf,CAAC;QACD,wBAAwB;YACtB,OAAO,wBAAwB,CAAC;gBAC9B,WAAW;gBACX,mBAAmB,EAAE,WAAW;gBAChC,QAAQ,EAAE,WAAW,CAAC,QAAQ,IAAI,SAAS;aAC5C,CAAC,CAAC;QACL,CAAC;QACD,yBAAyB;YACvB,OAAO,OAAO,CAAC,+BAA+B,EAAE,CAAC,kBAAkB,CAAC,IAAI,IAAI,CAAC;QAC/E,CAAC;KACF,CAAC;AACJ,CAAC","sourcesContent":["import {\n PLAYABLE_EDITOR_PACKAGE_IDS,\n} from '../package-resolution/index';\nimport type {\n FpsGameEditorProjectDefinition,\n} from '../product/index';\nimport {\n playableEditorVitePlugin,\n resolvePlayableEditorViteIntegration,\n} from './plugin';\nimport {\n createPlayableEditorViteAgentSessionMetadata,\n} from './session-metadata';\nimport type { Plugin } from 'vite';\nimport type {\n PlayableEditorViteResolvedIntegration,\n} from './types';\n\nexport interface FpsGameEditorViteAdapterOptions {\n projectRoot: string;\n localEditorRepo?: string | null;\n integration?: PlayableEditorViteResolvedIntegration;\n logger?: Pick<Console, 'info'>;\n createProjectAuthoringApiPlugin?: (\n input: FpsGameEditorViteAdapterProjectPluginInput,\n ) => Plugin;\n extendAgentBridgeSessionMetadata?: (\n metadata: Record<string, unknown>,\n input: FpsGameEditorViteAdapterProjectPluginInput,\n ) => Record<string, unknown>;\n}\n\nexport interface FpsGameEditorViteAdapterProjectPluginInput {\n project: FpsGameEditorProjectDefinition;\n projectRoot: string;\n integration: PlayableEditorViteResolvedIntegration;\n}\n\nexport interface FpsGameEditorViteAdapter {\n localFpsGameEditorRepo: string | null;\n editorPackageIds: readonly string[];\n cacheDir: string | null;\n integration: PlayableEditorViteResolvedIntegration;\n readFpsEditorVersion(): string;\n createAgentBridgeSessionMetadata(): Record<string, unknown>;\n playableEditorVitePlugin(): Plugin;\n projectAuthoringApiPlugin(): Plugin | null;\n}\n\nexport function createFpsGameEditorViteAdapter(\n project: FpsGameEditorProjectDefinition,\n options: FpsGameEditorViteAdapterOptions,\n): FpsGameEditorViteAdapter {\n const projectRoot = options.projectRoot;\n const integration = options.integration\n ?? resolvePlayableEditorViteIntegration({}, {\n projectRoot,\n localEditorRepo: options.localEditorRepo === undefined ? null : options.localEditorRepo,\n });\n const projectPluginInput: FpsGameEditorViteAdapterProjectPluginInput = {\n project,\n projectRoot,\n integration,\n };\n\n if (integration.localEditorRepo) {\n options.logger?.info?.(`[fps-editor] Using local editor sources from ${integration.localEditorRepo}`);\n }\n\n return {\n localFpsGameEditorRepo: integration.localEditorRepo,\n editorPackageIds: PLAYABLE_EDITOR_PACKAGE_IDS,\n cacheDir: integration.cacheDir,\n integration,\n readFpsEditorVersion() {\n return integration.buildInfo.version.trim()\n ? integration.buildInfo.version.trim().replace(/[^a-zA-Z0-9._-]/g, '_')\n : 'unknown';\n },\n createAgentBridgeSessionMetadata() {\n const metadata = createPlayableEditorViteAgentSessionMetadata({\n projectRoot,\n integration,\n });\n return options.extendAgentBridgeSessionMetadata\n ? options.extendAgentBridgeSessionMetadata(metadata, projectPluginInput)\n : metadata;\n },\n playableEditorVitePlugin() {\n return playableEditorVitePlugin({\n projectRoot,\n resolvedIntegration: integration,\n cacheDir: integration.cacheDir ?? undefined,\n });\n },\n projectAuthoringApiPlugin() {\n return options.createProjectAuthoringApiPlugin?.(projectPluginInput) ?? null;\n },\n };\n}\n"]}
@@ -1,3 +1,4 @@
1
+ import type { ViteDevServer } from 'vite';
1
2
  export interface FpsGameEditorAssetAuthoringServicesOptions {
2
3
  projectRoot: string;
3
4
  assetCatalogConfigModulePath: string;
@@ -6,8 +7,8 @@ export interface FpsGameEditorAssetAuthoringServicesOptions {
6
7
  }
7
8
  export type FpsGameEditorAssetAuthoringServices = ReturnType<typeof createFpsGameEditorAssetAuthoringServices>;
8
9
  export declare function createFpsGameEditorAssetAuthoringServices(options: FpsGameEditorAssetAuthoringServicesOptions): {
9
- createProjectAssetAuthoringHandlers: (server: any) => Promise<Pick<import("..").PlayableAuthoringServerHandlers, "runCommand" | "loadManifest" | "loadEditorAssetLibrary">>;
10
- listEditorAssetLibrary: (server: any) => Promise<Array<Record<string, unknown>>>;
10
+ createProjectAssetAuthoringHandlers: (server: ViteDevServer) => Promise<Pick<import("..").PlayableAuthoringServerHandlers, "runCommand" | "loadManifest" | "loadEditorAssetLibrary">>;
11
+ listEditorAssetLibrary: (server: ViteDevServer) => Promise<Array<Record<string, unknown>>>;
11
12
  loadProjectAssetCatalogConfigModule: () => Promise<any>;
12
13
  };
13
14
  //# sourceMappingURL=product-asset-authoring.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"product-asset-authoring.d.ts","sourceRoot":"","sources":["../../src/vite/product-asset-authoring.ts"],"names":[],"mappings":"AAUA,MAAM,WAAW,0CAA0C;IACzD,WAAW,EAAE,MAAM,CAAC;IACpB,4BAA4B,EAAE,MAAM,CAAC;IACrC,oBAAoB,EAAE,MAAM,CAAC;IAC7B,2BAA2B,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACjD;AAED,MAAM,MAAM,mCAAmC,GAAG,UAAU,CAAC,OAAO,yCAAyC,CAAC,CAAC;AAE/G,wBAAgB,yCAAyC,CACvD,OAAO,EAAE,0CAA0C;kDAEQ,GAAG;qCAqBhB,GAAG,KAAG,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;;EAc5F"}
1
+ {"version":3,"file":"product-asset-authoring.d.ts","sourceRoot":"","sources":["../../src/vite/product-asset-authoring.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,MAAM,CAAC;AAU1C,MAAM,WAAW,0CAA0C;IACzD,WAAW,EAAE,MAAM,CAAC;IACpB,4BAA4B,EAAE,MAAM,CAAC;IACrC,oBAAoB,EAAE,MAAM,CAAC;IAC7B,2BAA2B,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACjD;AAED,MAAM,MAAM,mCAAmC,GAAG,UAAU,CAAC,OAAO,yCAAyC,CAAC,CAAC;AAE/G,wBAAgB,yCAAyC,CACvD,OAAO,EAAE,0CAA0C;kDAEQ,aAAa;qCA0B1B,aAAa,KAAG,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;;EAgBtG"}
@@ -1,29 +1,32 @@
1
1
  import { resolve } from 'node:path';
2
2
  import { pathToFileURL } from 'node:url';
3
- import { createEditorSceneAssetLibrary, } from '../asset-library/index.js';
3
+ import { createEditorSceneAssetHydrationCatalog, } from '../asset-library/index.js';
4
4
  import { createPlayableEditorAssetAuthoringHandlers, } from './asset-authoring.js';
5
+ import { invalidateFpsGameEditorViteFileModules } from './module-invalidation.js';
5
6
  export function createFpsGameEditorAssetAuthoringServices(options) {
6
7
  async function createProjectAssetAuthoringHandlers(server) {
7
8
  const { projectAssetRegistryConfig, projectTextureRegistryConfig } = await loadProjectAssetCatalogConfigModule();
8
9
  return createPlayableEditorAssetAuthoringHandlers({
9
10
  assetRegistryConfig: projectAssetRegistryConfig,
10
11
  textureRegistryConfig: projectTextureRegistryConfig,
11
- loadAssetCatalogEntries: () => loadProjectEditorAssetCatalogEntries(server),
12
+ loadAssetCatalogEntries: () => loadProjectEditorAssetCatalogEntries(server, true),
12
13
  additionalInvalidationFiles: resolveAdditionalInvalidationFiles(options),
13
14
  invalidateFiles(files) {
14
- invalidateViteFileModules(server, [...files]);
15
+ invalidateFpsGameEditorViteFileModules(server, files);
15
16
  },
16
17
  });
17
18
  }
18
- async function loadProjectEditorAssetCatalogEntries(server) {
19
+ async function loadProjectEditorAssetCatalogEntries(server, placeableOnly) {
19
20
  const assetsModule = await server.ssrLoadModule(options.assetCatalogModuleId);
20
21
  return [
21
- ...assetsModule.getAssetCatalogEntries({ kind: 'model', placeable: true }),
22
- ...assetsModule.getAssetCatalogEntries({ kind: 'texture', placeable: true }),
22
+ ...assetsModule.getAssetCatalogEntries({ kind: 'model', ...(placeableOnly ? { placeable: true } : {}) }),
23
+ ...(placeableOnly
24
+ ? assetsModule.getAssetCatalogEntries({ kind: 'texture', placeable: true })
25
+ : []),
23
26
  ];
24
27
  }
25
28
  async function listEditorAssetLibrary(server) {
26
- return createEditorSceneAssetLibrary(await loadProjectEditorAssetCatalogEntries(server));
29
+ return createEditorSceneAssetHydrationCatalog(await loadProjectEditorAssetCatalogEntries(server, false));
27
30
  }
28
31
  async function loadProjectAssetCatalogConfigModule() {
29
32
  const modulePath = pathToFileURL(resolve(options.projectRoot, options.assetCatalogConfigModulePath)).href;
@@ -39,14 +42,4 @@ function resolveAdditionalInvalidationFiles(options) {
39
42
  return (options.additionalInvalidationFiles ?? [])
40
43
  .map((file) => resolve(options.projectRoot, file));
41
44
  }
42
- function invalidateViteFileModules(server, files) {
43
- for (const file of files) {
44
- const modules = server.moduleGraph?.getModulesByFile?.(file);
45
- if (!modules)
46
- continue;
47
- for (const moduleNode of modules) {
48
- server.moduleGraph.invalidateModule(moduleNode);
49
- }
50
- }
51
- }
52
45
  //# sourceMappingURL=product-asset-authoring.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"product-asset-authoring.js","sourceRoot":"","sources":["../../src/vite/product-asset-authoring.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EACL,6BAA6B,GAE9B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,0CAA0C,GAC3C,MAAM,mBAAmB,CAAC;AAW3B,MAAM,UAAU,yCAAyC,CACvD,OAAmD;IAEnD,KAAK,UAAU,mCAAmC,CAAC,MAAW;QAC5D,MAAM,EAAE,0BAA0B,EAAE,4BAA4B,EAAE,GAAG,MAAM,mCAAmC,EAAE,CAAC;QACjH,OAAO,0CAA0C,CAAC;YAChD,mBAAmB,EAAE,0BAA0B;YAC/C,qBAAqB,EAAE,4BAA4B;YACnD,uBAAuB,EAAE,GAAG,EAAE,CAAC,oCAAoC,CAAC,MAAM,CAAC;YAC3E,2BAA2B,EAAE,kCAAkC,CAAC,OAAO,CAAC;YACxE,eAAe,CAAC,KAAwB;gBACtC,yBAAyB,CAAC,MAAM,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;YAChD,CAAC;SACF,CAAC,CAAC;IACL,CAAC;IAED,KAAK,UAAU,oCAAoC,CAAC,MAAW;QAC7D,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC;QAC9E,OAAO;YACL,GAAG,YAAY,CAAC,sBAAsB,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;YAC1E,GAAG,YAAY,CAAC,sBAAsB,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;SAC3C,CAAC;IACtC,CAAC;IAED,KAAK,UAAU,sBAAsB,CAAC,MAAW;QAC/C,OAAO,6BAA6B,CAAC,MAAM,oCAAoC,CAAC,MAAM,CAAQ,CAAmC,CAAC;IACpI,CAAC;IAED,KAAK,UAAU,mCAAmC;QAChD,MAAM,UAAU,GAAG,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,4BAA4B,CAAC,CAAC,CAAC,IAAI,CAAC;QAC1G,OAAO,MAAM,CAAC,GAAG,UAAU,iCAAiC,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IAC5E,CAAC;IAED,OAAO;QACL,mCAAmC;QACnC,sBAAsB;QACtB,mCAAmC;KACpC,CAAC;AACJ,CAAC;AAED,SAAS,kCAAkC,CAAC,OAAmD;IAC7F,OAAO,CAAC,OAAO,CAAC,2BAA2B,IAAI,EAAE,CAAC;SAC/C,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC;AACvD,CAAC;AAED,SAAS,yBAAyB,CAAC,MAAW,EAAE,KAAe;IAC7D,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,OAAO,GAAG,MAAM,CAAC,WAAW,EAAE,gBAAgB,EAAE,CAAC,IAAI,CAAC,CAAC;QAC7D,IAAI,CAAC,OAAO;YAAE,SAAS;QACvB,KAAK,MAAM,UAAU,IAAI,OAAO,EAAE,CAAC;YACjC,MAAM,CAAC,WAAW,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC;QAClD,CAAC;IACH,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"product-asset-authoring.js","sourceRoot":"","sources":["../../src/vite/product-asset-authoring.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,OAAO,EACL,sCAAsC,GAEvC,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,0CAA0C,GAC3C,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,sCAAsC,EAAE,MAAM,uBAAuB,CAAC;AAW/E,MAAM,UAAU,yCAAyC,CACvD,OAAmD;IAEnD,KAAK,UAAU,mCAAmC,CAAC,MAAqB;QACtE,MAAM,EAAE,0BAA0B,EAAE,4BAA4B,EAAE,GAAG,MAAM,mCAAmC,EAAE,CAAC;QACjH,OAAO,0CAA0C,CAAC;YAChD,mBAAmB,EAAE,0BAA0B;YAC/C,qBAAqB,EAAE,4BAA4B;YACnD,uBAAuB,EAAE,GAAG,EAAE,CAAC,oCAAoC,CAAC,MAAM,EAAE,IAAI,CAAC;YACjF,2BAA2B,EAAE,kCAAkC,CAAC,OAAO,CAAC;YACxE,eAAe,CAAC,KAAwB;gBACtC,sCAAsC,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;YACxD,CAAC;SACF,CAAC,CAAC;IACL,CAAC;IAED,KAAK,UAAU,oCAAoC,CACjD,MAAqB,EACrB,aAAsB;QAEtB,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC;QAC9E,OAAO;YACL,GAAG,YAAY,CAAC,sBAAsB,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;YACxG,GAAG,CAAC,aAAa;gBACf,CAAC,CAAC,YAAY,CAAC,sBAAsB,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;gBAC3E,CAAC,CAAC,EAAE,CAAC;SAC0B,CAAC;IACtC,CAAC;IAED,KAAK,UAAU,sBAAsB,CAAC,MAAqB;QACzD,OAAO,sCAAsC,CAC3C,MAAM,oCAAoC,CAAC,MAAM,EAAE,KAAK,CAAQ,CAC/B,CAAC;IACtC,CAAC;IAED,KAAK,UAAU,mCAAmC;QAChD,MAAM,UAAU,GAAG,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,4BAA4B,CAAC,CAAC,CAAC,IAAI,CAAC;QAC1G,OAAO,MAAM,CAAC,GAAG,UAAU,iCAAiC,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IAC5E,CAAC;IAED,OAAO;QACL,mCAAmC;QACnC,sBAAsB;QACtB,mCAAmC;KACpC,CAAC;AACJ,CAAC;AAED,SAAS,kCAAkC,CAAC,OAAmD;IAC7F,OAAO,CAAC,OAAO,CAAC,2BAA2B,IAAI,EAAE,CAAC;SAC/C,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC;AACvD,CAAC","sourcesContent":["import { resolve } from 'node:path';\nimport { pathToFileURL } from 'node:url';\nimport type { ViteDevServer } from 'vite';\nimport {\n createEditorSceneAssetHydrationCatalog,\n type EditorSceneAssetCatalogEntry,\n} from '../asset-library/index';\nimport {\n createPlayableEditorAssetAuthoringHandlers,\n} from './asset-authoring';\nimport { invalidateFpsGameEditorViteFileModules } from './module-invalidation';\n\nexport interface FpsGameEditorAssetAuthoringServicesOptions {\n projectRoot: string;\n assetCatalogConfigModulePath: string;\n assetCatalogModuleId: string;\n additionalInvalidationFiles?: readonly string[];\n}\n\nexport type FpsGameEditorAssetAuthoringServices = ReturnType<typeof createFpsGameEditorAssetAuthoringServices>;\n\nexport function createFpsGameEditorAssetAuthoringServices(\n options: FpsGameEditorAssetAuthoringServicesOptions,\n) {\n async function createProjectAssetAuthoringHandlers(server: ViteDevServer) {\n const { projectAssetRegistryConfig, projectTextureRegistryConfig } = await loadProjectAssetCatalogConfigModule();\n return createPlayableEditorAssetAuthoringHandlers({\n assetRegistryConfig: projectAssetRegistryConfig,\n textureRegistryConfig: projectTextureRegistryConfig,\n loadAssetCatalogEntries: () => loadProjectEditorAssetCatalogEntries(server, true),\n additionalInvalidationFiles: resolveAdditionalInvalidationFiles(options),\n invalidateFiles(files: readonly string[]) {\n invalidateFpsGameEditorViteFileModules(server, files);\n },\n });\n }\n\n async function loadProjectEditorAssetCatalogEntries(\n server: ViteDevServer,\n placeableOnly: boolean,\n ): Promise<EditorSceneAssetCatalogEntry[]> {\n const assetsModule = await server.ssrLoadModule(options.assetCatalogModuleId);\n return [\n ...assetsModule.getAssetCatalogEntries({ kind: 'model', ...(placeableOnly ? { placeable: true } : {}) }),\n ...(placeableOnly\n ? assetsModule.getAssetCatalogEntries({ kind: 'texture', placeable: true })\n : []),\n ] as EditorSceneAssetCatalogEntry[];\n }\n\n async function listEditorAssetLibrary(server: ViteDevServer): Promise<Array<Record<string, unknown>>> {\n return createEditorSceneAssetHydrationCatalog(\n await loadProjectEditorAssetCatalogEntries(server, false) as any,\n ) as Array<Record<string, unknown>>;\n }\n\n async function loadProjectAssetCatalogConfigModule() {\n const modulePath = pathToFileURL(resolve(options.projectRoot, options.assetCatalogConfigModulePath)).href;\n return import(`${modulePath}?project-asset-catalog-config=${Date.now()}`);\n }\n\n return {\n createProjectAssetAuthoringHandlers,\n listEditorAssetLibrary,\n loadProjectAssetCatalogConfigModule,\n };\n}\n\nfunction resolveAdditionalInvalidationFiles(options: FpsGameEditorAssetAuthoringServicesOptions): string[] {\n return (options.additionalInvalidationFiles ?? [])\n .map((file) => resolve(options.projectRoot, file));\n}\n"]}
@@ -1,19 +1,19 @@
1
+ import type { Plugin, ViteDevServer } from 'vite';
1
2
  import { type PlayableAuthoringServerHandlers, type PlayableAuthoringServerResponse } from '../authoring-server/index';
2
3
  import { readPlayableAuthoringJsonBody } from './authoring-http';
3
- import type { PlayableEditorVitePluginLike } from './types';
4
4
  export interface FpsGameEditorProjectAuthoringApiPluginOptions {
5
5
  projectRoot: string;
6
6
  name?: string;
7
- createAssetAuthoringHandlers(server: unknown): Promise<Pick<PlayableAuthoringServerHandlers, 'loadManifest' | 'loadEditorAssetLibrary' | 'runCommand'>>;
8
- getAuthoringWrittenFiles?: (server: unknown) => Promise<readonly string[]>;
7
+ createAssetAuthoringHandlers(server: ViteDevServer): Promise<Pick<PlayableAuthoringServerHandlers, 'loadManifest' | 'loadEditorAssetLibrary' | 'runCommand'>>;
8
+ getAuthoringWrittenFiles?: (server: ViteDevServer) => Promise<readonly string[]>;
9
9
  handleRenderingProfileRoute?: (input: {
10
- server: unknown;
10
+ server: ViteDevServer;
11
11
  req: unknown;
12
12
  readJsonBody: typeof readPlayableAuthoringJsonBody;
13
13
  }) => Promise<PlayableAuthoringServerResponse>;
14
- loadEditorScene(server: unknown): Promise<Record<string, unknown>>;
14
+ loadEditorScene(server: ViteDevServer): Promise<Record<string, unknown>>;
15
15
  saveEditorScene(input: {
16
- server: unknown;
16
+ server: ViteDevServer;
17
17
  saveMode: string;
18
18
  rawEditorScene: Record<string, unknown>;
19
19
  body: Record<string, unknown>;
@@ -21,5 +21,6 @@ export interface FpsGameEditorProjectAuthoringApiPluginOptions {
21
21
  writeFile?: PlayableAuthoringServerHandlers['writeFile'];
22
22
  logger?: Pick<Console, 'log' | 'warn'>;
23
23
  }
24
- export declare function createFpsGameEditorProjectAuthoringApiPlugin(options: FpsGameEditorProjectAuthoringApiPluginOptions): PlayableEditorVitePluginLike;
24
+ export declare function createFpsGameEditorProjectAuthoringApiPlugin(options: FpsGameEditorProjectAuthoringApiPluginOptions): Plugin;
25
+ export declare function isFpsGameEditorAuthoringWrittenFile(candidateFile: string, authoringWrittenFiles: readonly string[]): boolean;
25
26
  //# sourceMappingURL=product-authoring-api.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"product-authoring-api.d.ts","sourceRoot":"","sources":["../../src/vite/product-authoring-api.ts"],"names":[],"mappings":"AAEA,OAAO,EAEL,KAAK,+BAA+B,EACpC,KAAK,+BAA+B,EACrC,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAEL,6BAA6B,EAG9B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EACV,4BAA4B,EAC7B,MAAM,SAAS,CAAC;AAEjB,MAAM,WAAW,6CAA6C;IAC5D,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,4BAA4B,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CACzD,+BAA+B,EAC/B,cAAc,GAAG,wBAAwB,GAAG,YAAY,CACzD,CAAC,CAAC;IACH,wBAAwB,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,OAAO,CAAC,SAAS,MAAM,EAAE,CAAC,CAAC;IAC3E,2BAA2B,CAAC,EAAE,CAAC,KAAK,EAAE;QACpC,MAAM,EAAE,OAAO,CAAC;QAChB,GAAG,EAAE,OAAO,CAAC;QACb,YAAY,EAAE,OAAO,6BAA6B,CAAC;KACpD,KAAK,OAAO,CAAC,+BAA+B,CAAC,CAAC;IAC/C,eAAe,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACnE,eAAe,CAAC,KAAK,EAAE;QACrB,MAAM,EAAE,OAAO,CAAC;QAChB,QAAQ,EAAE,MAAM,CAAC;QACjB,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACxC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KAC/B,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACrC,SAAS,CAAC,EAAE,+BAA+B,CAAC,WAAW,CAAC,CAAC;IACzD,MAAM,CAAC,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK,GAAG,MAAM,CAAC,CAAC;CACxC;AAED,wBAAgB,4CAA4C,CAC1D,OAAO,EAAE,6CAA6C,GACrD,4BAA4B,CAuG9B"}
1
+ {"version":3,"file":"product-authoring-api.d.ts","sourceRoot":"","sources":["../../src/vite/product-authoring-api.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAc,MAAM,EAAE,aAAa,EAAE,MAAM,MAAM,CAAC;AAC9D,OAAO,EAEL,KAAK,+BAA+B,EACpC,KAAK,+BAA+B,EACrC,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAEL,6BAA6B,EAG9B,MAAM,kBAAkB,CAAC;AAG1B,MAAM,WAAW,6CAA6C;IAC5D,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,4BAA4B,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAC/D,+BAA+B,EAC/B,cAAc,GAAG,wBAAwB,GAAG,YAAY,CACzD,CAAC,CAAC;IACH,wBAAwB,CAAC,EAAE,CAAC,MAAM,EAAE,aAAa,KAAK,OAAO,CAAC,SAAS,MAAM,EAAE,CAAC,CAAC;IACjF,2BAA2B,CAAC,EAAE,CAAC,KAAK,EAAE;QACpC,MAAM,EAAE,aAAa,CAAC;QACtB,GAAG,EAAE,OAAO,CAAC;QACb,YAAY,EAAE,OAAO,6BAA6B,CAAC;KACpD,KAAK,OAAO,CAAC,+BAA+B,CAAC,CAAC;IAC/C,eAAe,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACzE,eAAe,CAAC,KAAK,EAAE;QACrB,MAAM,EAAE,aAAa,CAAC;QACtB,QAAQ,EAAE,MAAM,CAAC;QACjB,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACxC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KAC/B,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACrC,SAAS,CAAC,EAAE,+BAA+B,CAAC,WAAW,CAAC,CAAC;IACzD,MAAM,CAAC,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK,GAAG,MAAM,CAAC,CAAC;CACxC;AAED,wBAAgB,4CAA4C,CAC1D,OAAO,EAAE,6CAA6C,GACrD,MAAM,CAwHR;AAED,wBAAgB,mCAAmC,CACjD,aAAa,EAAE,MAAM,EACrB,qBAAqB,EAAE,SAAS,MAAM,EAAE,GACvC,OAAO,CAQT"}
@@ -2,21 +2,31 @@ import path from 'node:path';
2
2
  import { mkdir, writeFile } from 'node:fs/promises';
3
3
  import { handlePlayableAuthoringServerRequest, } from '../authoring-server/index.js';
4
4
  import { createPlayableAuthoringTransportPathNormalizer, readPlayableAuthoringJsonBody, sendPlayableAuthoringHttpResponse, setPlayableAuthoringCorsHeaders, } from './authoring-http.js';
5
+ import { resolveFpsGameEditorViteFilePath } from './module-invalidation.js';
5
6
  export function createFpsGameEditorProjectAuthoringApiPlugin(options) {
7
+ let authoringWrittenFilesPromise = Promise.resolve([]);
8
+ let clearActiveAuthoringWatcherEvent = () => { };
6
9
  return {
7
10
  name: options.name ?? 'fps-editor-project-authoring-api',
11
+ enforce: 'post',
8
12
  apply: 'serve',
9
- configureServer(server) {
13
+ async configureServer(server) {
10
14
  const assetAuthoringHandlersPromise = options.createAssetAuthoringHandlers(server);
11
15
  if (options.getAuthoringWrittenFiles) {
12
- void options.getAuthoringWrittenFiles(server)
13
- .then((paths) => {
14
- server.watcher?.unwatch?.([...paths]);
15
- options.logger?.log?.('[ProjectAuthoring][Vite] HMR disabled for authoring-written files', paths);
16
+ authoringWrittenFilesPromise = options.getAuthoringWrittenFiles(server)
17
+ .then(paths => paths.map(file => path.resolve(options.projectRoot, file)))
18
+ .then(async (paths) => {
19
+ clearActiveAuthoringWatcherEvent = suppressFpsGameEditorAuthoringFullReloads(server, paths);
20
+ suppressFpsGameEditorAuthoringWatcherAdds(server.watcher, paths);
21
+ await server.watcher?.unwatch?.(paths);
22
+ options.logger?.log?.('[ProjectAuthoring][Vite] watcher and HMR suppressed for authoring-written files', paths);
23
+ return paths;
16
24
  })
17
25
  .catch((error) => {
18
- options.logger?.warn?.('[ProjectAuthoring][Vite] failed to disable HMR for authoring files', error);
26
+ options.logger?.warn?.('[ProjectAuthoring][Vite] failed to resolve authoring files for HMR suppression', error);
27
+ return [];
19
28
  });
29
+ await authoringWrittenFilesPromise;
20
30
  }
21
31
  server.middlewares.use(async (req, res, next) => {
22
32
  const requestUrl = new URL(req.url ?? '', 'http://localhost');
@@ -103,6 +113,74 @@ export function createFpsGameEditorProjectAuthoringApiPlugin(options) {
103
113
  sendPlayableAuthoringHttpResponse(res, response);
104
114
  });
105
115
  },
116
+ async handleHotUpdate(context) {
117
+ if (typeof context.file !== 'string')
118
+ return;
119
+ const authoringWrittenFiles = await authoringWrittenFilesPromise;
120
+ if (isFpsGameEditorAuthoringWrittenFile(context.file, authoringWrittenFiles)) {
121
+ clearActiveAuthoringWatcherEvent();
122
+ return [];
123
+ }
124
+ },
125
+ };
126
+ }
127
+ export function isFpsGameEditorAuthoringWrittenFile(candidateFile, authoringWrittenFiles) {
128
+ const candidate = resolveFpsGameEditorViteFilePath(candidateFile);
129
+ return authoringWrittenFiles.some((configuredFile) => {
130
+ const configured = resolveFpsGameEditorViteFilePath(configuredFile);
131
+ if (candidate === configured)
132
+ return true;
133
+ const relative = path.relative(configured, candidate);
134
+ return relative.length > 0 && relative !== '..' && !relative.startsWith(`..${path.sep}`) && !path.isAbsolute(relative);
135
+ });
136
+ }
137
+ function suppressFpsGameEditorAuthoringFullReloads(server, authoringWrittenFiles) {
138
+ if (!server.watcher?.prependListener || !server.ws?.send)
139
+ return () => { };
140
+ let activeAuthoringFile = null;
141
+ let clearTimer = null;
142
+ const clearActiveFile = () => {
143
+ activeAuthoringFile = null;
144
+ if (clearTimer)
145
+ clearTimeout(clearTimer);
146
+ clearTimer = null;
147
+ };
148
+ const markFile = (file) => {
149
+ clearActiveFile();
150
+ activeAuthoringFile = typeof file === 'string'
151
+ && isFpsGameEditorAuthoringWrittenFile(file, authoringWrittenFiles)
152
+ ? resolveFpsGameEditorViteFilePath(file)
153
+ : null;
154
+ if (activeAuthoringFile) {
155
+ clearTimer = setTimeout(clearActiveFile, 1000);
156
+ }
157
+ };
158
+ for (const event of ['add', 'change', 'unlink']) {
159
+ server.watcher.prependListener(event, markFile);
160
+ }
161
+ const send = server.ws.send.bind(server.ws);
162
+ server.ws.send = (payload, ...args) => {
163
+ const triggeredBy = typeof payload?.triggeredBy === 'string' ? payload.triggeredBy : undefined;
164
+ const isOwnedTriggeredFile = triggeredBy
165
+ ? isFpsGameEditorAuthoringWrittenFile(triggeredBy, authoringWrittenFiles)
166
+ : false;
167
+ if (payload?.type === 'full-reload' && (isOwnedTriggeredFile || (activeAuthoringFile && !triggeredBy))) {
168
+ return;
169
+ }
170
+ return send(payload, ...args);
171
+ };
172
+ return clearActiveFile;
173
+ }
174
+ function suppressFpsGameEditorAuthoringWatcherAdds(watcher, authoringWrittenFiles) {
175
+ if (!watcher?.add)
176
+ return;
177
+ const add = watcher.add.bind(watcher);
178
+ watcher.add = (input) => {
179
+ const paths = typeof input === 'string' ? [input] : [...input];
180
+ const filtered = paths.filter(file => !isFpsGameEditorAuthoringWrittenFile(file, authoringWrittenFiles));
181
+ if (filtered.length === 0)
182
+ return watcher;
183
+ return add(typeof input === 'string' ? filtered[0] : filtered);
106
184
  };
107
185
  }
108
186
  async function writePlayableAuthoringFile({ path: targetPath, text, }) {
@@ -1 +1 @@
1
- {"version":3,"file":"product-authoring-api.js","sourceRoot":"","sources":["../../src/vite/product-authoring-api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"product-authoring-api.js","sourceRoot":"","sources":["../../src/vite/product-authoring-api.ts"],"names":[],"mappings":"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","sourcesContent":["import path from 'node:path';\nimport { mkdir, writeFile } from 'node:fs/promises';\nimport type { HmrContext, Plugin, ViteDevServer } from 'vite';\nimport {\n handlePlayableAuthoringServerRequest,\n type PlayableAuthoringServerHandlers,\n type PlayableAuthoringServerResponse,\n} from '../authoring-server/index';\nimport {\n createPlayableAuthoringTransportPathNormalizer,\n readPlayableAuthoringJsonBody,\n sendPlayableAuthoringHttpResponse,\n setPlayableAuthoringCorsHeaders,\n} from './authoring-http';\nimport { resolveFpsGameEditorViteFilePath } from './module-invalidation';\n\nexport interface FpsGameEditorProjectAuthoringApiPluginOptions {\n projectRoot: string;\n name?: string;\n createAssetAuthoringHandlers(server: ViteDevServer): Promise<Pick<\n PlayableAuthoringServerHandlers,\n 'loadManifest' | 'loadEditorAssetLibrary' | 'runCommand'\n >>;\n getAuthoringWrittenFiles?: (server: ViteDevServer) => Promise<readonly string[]>;\n handleRenderingProfileRoute?: (input: {\n server: ViteDevServer;\n req: unknown;\n readJsonBody: typeof readPlayableAuthoringJsonBody;\n }) => Promise<PlayableAuthoringServerResponse>;\n loadEditorScene(server: ViteDevServer): Promise<Record<string, unknown>>;\n saveEditorScene(input: {\n server: ViteDevServer;\n saveMode: string;\n rawEditorScene: Record<string, unknown>;\n body: Record<string, unknown>;\n }): Promise<Record<string, unknown>>;\n writeFile?: PlayableAuthoringServerHandlers['writeFile'];\n logger?: Pick<Console, 'log' | 'warn'>;\n}\n\nexport function createFpsGameEditorProjectAuthoringApiPlugin(\n options: FpsGameEditorProjectAuthoringApiPluginOptions,\n): Plugin {\n let authoringWrittenFilesPromise: Promise<readonly string[]> = Promise.resolve([]);\n let clearActiveAuthoringWatcherEvent = (): void => {};\n return {\n name: options.name ?? 'fps-editor-project-authoring-api',\n enforce: 'post' as const,\n apply: 'serve' as const,\n async configureServer(server) {\n const assetAuthoringHandlersPromise = options.createAssetAuthoringHandlers(server);\n if (options.getAuthoringWrittenFiles) {\n authoringWrittenFilesPromise = options.getAuthoringWrittenFiles(server)\n .then(paths => paths.map(file => path.resolve(options.projectRoot, file)))\n .then(async (paths) => {\n clearActiveAuthoringWatcherEvent = suppressFpsGameEditorAuthoringFullReloads(server, paths);\n suppressFpsGameEditorAuthoringWatcherAdds(server.watcher, paths);\n await server.watcher?.unwatch?.(paths);\n options.logger?.log?.('[ProjectAuthoring][Vite] watcher and HMR suppressed for authoring-written files', paths);\n return paths;\n })\n .catch((error) => {\n options.logger?.warn?.('[ProjectAuthoring][Vite] failed to resolve authoring files for HMR suppression', error);\n return [];\n });\n await authoringWrittenFilesPromise;\n }\n\n server.middlewares.use(async (req: any, res: any, next: any) => {\n const requestUrl = new URL(req.url ?? '', 'http://localhost');\n const pathname = requestUrl.pathname;\n const isProjectAuthoringRoute = pathname.startsWith('/__fps_editor_authoring');\n const route = isProjectAuthoringRoute\n ? pathname\n .replace(/^\\/__fps_editor_authoring/, '') || '/'\n : '/';\n\n if (isProjectAuthoringRoute && route.startsWith('/rendering-profile')) {\n if (!options.handleRenderingProfileRoute) {\n next();\n return;\n }\n setPlayableAuthoringCorsHeaders(res);\n if (req.method === 'OPTIONS') {\n res.statusCode = 204;\n res.end();\n return;\n }\n\n try {\n const response = await options.handleRenderingProfileRoute({\n server,\n req,\n readJsonBody: readPlayableAuthoringJsonBody,\n });\n sendPlayableAuthoringHttpResponse(res, response);\n } catch (error) {\n sendPlayableAuthoringHttpResponse(res, {\n statusCode: 500,\n body: {\n ok: false,\n error: error instanceof Error ? error.message : String(error),\n details: (error as any)?.details,\n },\n });\n }\n return;\n }\n\n const response = await handlePlayableAuthoringServerRequest({\n url: req.url ?? '',\n method: req.method ?? 'GET',\n }, {\n readBody: () => readPlayableAuthoringJsonBody(req),\n normalizeTransportPath: createPlayableAuthoringTransportPathNormalizer(options.projectRoot, {\n relativeRoot: '.platform-sim',\n }),\n async loadManifest(routeInput) {\n const handlers = await assetAuthoringHandlersPromise;\n if (!handlers.loadManifest) throw new Error('asset_manifest_handler_unavailable');\n return handlers.loadManifest(routeInput);\n },\n async loadEditorAssetLibrary(routeInput) {\n const handlers = await assetAuthoringHandlersPromise;\n if (!handlers.loadEditorAssetLibrary) throw new Error('asset_library_handler_unavailable');\n return handlers.loadEditorAssetLibrary(routeInput);\n },\n async loadEditorScene() {\n return options.loadEditorScene(server);\n },\n writeFile: options.writeFile ?? writePlayableAuthoringFile,\n async runCommand(commandInput) {\n const handlers = await assetAuthoringHandlersPromise;\n if (!handlers.runCommand) throw new Error('asset_command_handler_unavailable');\n return handlers.runCommand(commandInput);\n },\n async saveEditorScene({ mode: saveMode, rawEditorScene, body }) {\n return options.saveEditorScene({\n server,\n saveMode,\n rawEditorScene: rawEditorScene as Record<string, unknown>,\n body: body as Record<string, unknown>,\n });\n },\n });\n\n if (!response) {\n next();\n return;\n }\n sendPlayableAuthoringHttpResponse(res, response);\n });\n },\n async handleHotUpdate(context: HmrContext) {\n if (typeof context.file !== 'string') return;\n const authoringWrittenFiles = await authoringWrittenFilesPromise;\n if (isFpsGameEditorAuthoringWrittenFile(context.file, authoringWrittenFiles)) {\n clearActiveAuthoringWatcherEvent();\n return [];\n }\n },\n };\n}\n\nexport function isFpsGameEditorAuthoringWrittenFile(\n candidateFile: string,\n authoringWrittenFiles: readonly string[],\n): boolean {\n const candidate = resolveFpsGameEditorViteFilePath(candidateFile);\n return authoringWrittenFiles.some((configuredFile) => {\n const configured = resolveFpsGameEditorViteFilePath(configuredFile);\n if (candidate === configured) return true;\n const relative = path.relative(configured, candidate);\n return relative.length > 0 && relative !== '..' && !relative.startsWith(`..${path.sep}`) && !path.isAbsolute(relative);\n });\n}\n\nfunction suppressFpsGameEditorAuthoringFullReloads(\n server: {\n watcher?: { prependListener?: (event: string, listener: (file: unknown) => void) => unknown };\n ws?: { send?: (payload: any, ...args: any[]) => unknown };\n },\n authoringWrittenFiles: readonly string[],\n): () => void {\n if (!server.watcher?.prependListener || !server.ws?.send) return () => {};\n let activeAuthoringFile: string | null = null;\n let clearTimer: ReturnType<typeof setTimeout> | null = null;\n const clearActiveFile = (): void => {\n activeAuthoringFile = null;\n if (clearTimer) clearTimeout(clearTimer);\n clearTimer = null;\n };\n const markFile = (file: unknown): void => {\n clearActiveFile();\n activeAuthoringFile = typeof file === 'string'\n && isFpsGameEditorAuthoringWrittenFile(file, authoringWrittenFiles)\n ? resolveFpsGameEditorViteFilePath(file)\n : null;\n if (activeAuthoringFile) {\n clearTimer = setTimeout(clearActiveFile, 1_000);\n }\n };\n for (const event of ['add', 'change', 'unlink']) {\n server.watcher.prependListener(event, markFile);\n }\n\n const send = server.ws.send.bind(server.ws);\n server.ws.send = (payload: any, ...args: any[]) => {\n const triggeredBy = typeof payload?.triggeredBy === 'string' ? payload.triggeredBy : undefined;\n const isOwnedTriggeredFile = triggeredBy\n ? isFpsGameEditorAuthoringWrittenFile(triggeredBy, authoringWrittenFiles)\n : false;\n if (payload?.type === 'full-reload' && (isOwnedTriggeredFile || (activeAuthoringFile && !triggeredBy))) {\n return;\n }\n return send(payload, ...args);\n };\n return clearActiveFile;\n}\n\nfunction suppressFpsGameEditorAuthoringWatcherAdds(\n watcher: { add?: (paths: string | readonly string[]) => unknown } | undefined,\n authoringWrittenFiles: readonly string[],\n): void {\n if (!watcher?.add) return;\n const add = watcher.add.bind(watcher);\n watcher.add = (input) => {\n const paths = typeof input === 'string' ? [input] : [...input];\n const filtered = paths.filter(file => !isFpsGameEditorAuthoringWrittenFile(file, authoringWrittenFiles));\n if (filtered.length === 0) return watcher;\n return add(typeof input === 'string' ? filtered[0] : filtered);\n };\n}\n\nasync function writePlayableAuthoringFile({\n path: targetPath,\n text,\n}: Parameters<NonNullable<PlayableAuthoringServerHandlers['writeFile']>>[0]) {\n await mkdir(path.dirname(targetPath), { recursive: true });\n await writeFile(targetPath, text, 'utf8');\n return { ok: true, path: targetPath };\n}\n"]}
@@ -1,3 +1,4 @@
1
+ import type { ViteDevServer } from 'vite';
1
2
  import type { FpsGameEditorProjectDefinition } from '../product/index';
2
3
  import { type PlayableAuthoringServerResponse } from '../authoring-server/index';
3
4
  export interface FpsGameEditorRenderingAuthoringServicesOptions {
@@ -5,7 +6,7 @@ export interface FpsGameEditorRenderingAuthoringServicesOptions {
5
6
  additionalInvalidationFiles?: readonly string[];
6
7
  }
7
8
  export interface FpsGameEditorRenderingAuthoringRouteInput {
8
- server: unknown;
9
+ server: ViteDevServer;
9
10
  req: unknown;
10
11
  readJsonBody(req: unknown): Promise<Record<string, unknown>>;
11
12
  }
@@ -1 +1 @@
1
- {"version":3,"file":"product-rendering-authoring.d.ts","sourceRoot":"","sources":["../../src/vite/product-rendering-authoring.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,kBAAkB,CAAC;AACvE,OAAO,EACL,KAAK,+BAA+B,EACrC,MAAM,2BAA2B,CAAC;AAOnC,MAAM,WAAW,8CAA8C;IAC7D,WAAW,EAAE,MAAM,CAAC;IACpB,2BAA2B,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACjD;AAED,MAAM,WAAW,yCAAyC;IACxD,MAAM,EAAE,OAAO,CAAC;IAChB,GAAG,EAAE,OAAO,CAAC;IACb,YAAY,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CAC9D;AAED,wBAAgB,6CAA6C,CAC3D,OAAO,EAAE,8BAA8B,EACvC,OAAO,EAAE,8CAA8C;mCAMnB,MAAM,EAAE;;uBAOjB,yCAAyC,GAAG,OAAO,CAAC,+BAA+B,CAAC;EAyBhH;AAQD,wBAAgB,sCAAsC,CAAC,KAAK,EAAE,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAU1F"}
1
+ {"version":3,"file":"product-rendering-authoring.d.ts","sourceRoot":"","sources":["../../src/vite/product-rendering-authoring.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,MAAM,CAAC;AAC1C,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,kBAAkB,CAAC;AACvE,OAAO,EACL,KAAK,+BAA+B,EACrC,MAAM,2BAA2B,CAAC;AAOnC,MAAM,WAAW,8CAA8C;IAC7D,WAAW,EAAE,MAAM,CAAC;IACpB,2BAA2B,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACjD;AAED,MAAM,WAAW,yCAAyC;IACxD,MAAM,EAAE,aAAa,CAAC;IACtB,GAAG,EAAE,OAAO,CAAC;IACb,YAAY,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CAC9D;AAED,wBAAgB,6CAA6C,CAC3D,OAAO,EAAE,8BAA8B,EACvC,OAAO,EAAE,8CAA8C;mCAMnB,MAAM,EAAE;;uBAOjB,yCAAyC,GAAG,OAAO,CAAC,+BAA+B,CAAC;EAyBhH;AAQD,wBAAgB,sCAAsC,CAAC,KAAK,EAAE,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAU1F"}
@@ -1 +1 @@
1
- {"version":3,"file":"product-rendering-authoring.js","sourceRoot":"","sources":["../../src/vite/product-rendering-authoring.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"product-rendering-authoring.js","sourceRoot":"","sources":["../../src/vite/product-rendering-authoring.ts"],"names":[],"mappings":"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","sourcesContent":["import { existsSync, readFileSync } from 'node:fs';\nimport { mkdir, writeFile } from 'node:fs/promises';\nimport path from 'node:path';\nimport type { ViteDevServer } from 'vite';\nimport type { FpsGameEditorProjectDefinition } from '../product/index';\nimport {\n type PlayableAuthoringServerResponse,\n} from '../authoring-server/index';\nimport {\n handleEditorSceneRenderingProfileAuthoringRequest,\n} from '../rendering-profile/index';\nimport { invalidateFpsGameEditorViteFileModules } from './module-invalidation';\nimport { withPlayableVitePathWriteLock } from './path-write-coordinator';\n\nexport interface FpsGameEditorRenderingAuthoringServicesOptions {\n projectRoot: string;\n additionalInvalidationFiles?: readonly string[];\n}\n\nexport interface FpsGameEditorRenderingAuthoringRouteInput {\n server: ViteDevServer;\n req: unknown;\n readJsonBody(req: unknown): Promise<Record<string, unknown>>;\n}\n\nexport function createFpsGameEditorRenderingAuthoringServices(\n project: FpsGameEditorProjectDefinition,\n options: FpsGameEditorRenderingAuthoringServicesOptions,\n) {\n const configuredPath = project.source.rendering;\n const renderingConfigPath = configuredPath\n ? path.resolve(options.projectRoot, configuredPath)\n : null;\n const createInvalidationFiles = (): string[] => [\n ...(renderingConfigPath ? [renderingConfigPath] : []),\n ...(options.additionalInvalidationFiles ?? []).map(file => path.resolve(options.projectRoot, file)),\n ];\n return {\n createInvalidationFiles,\n summarize: summarizeFpsGameEditorRenderingProfile,\n async handleRoute(input: FpsGameEditorRenderingAuthoringRouteInput): Promise<PlayableAuthoringServerResponse> {\n if (!renderingConfigPath) {\n return { statusCode: 404, body: { error: 'rendering_config_not_configured' } };\n }\n return handleEditorSceneRenderingProfileAuthoringRequest({\n method: readRequestMethod(input.req),\n }, {\n readBody: () => input.readJsonBody(input.req),\n loadConfig() {\n const renderingConfig = existsSync(renderingConfigPath)\n ? JSON.parse(readFileSync(renderingConfigPath, 'utf8') || '{}')\n : {};\n return { renderingConfig, response: { renderingConfigPath } };\n },\n async saveConfig({ renderingConfig }) {\n return withPlayableVitePathWriteLock([renderingConfigPath], async () => {\n await mkdir(path.dirname(renderingConfigPath), { recursive: true });\n await writeFile(renderingConfigPath, `${JSON.stringify(renderingConfig, null, 2)}\\n`, 'utf8');\n invalidateFpsGameEditorViteFileModules(input.server, createInvalidationFiles());\n return { renderingConfigPath };\n });\n },\n });\n },\n };\n}\n\nfunction readRequestMethod(request: unknown): string {\n if (!request || typeof request !== 'object') return 'GET';\n const method = (request as { method?: unknown }).method;\n return typeof method === 'string' ? method : 'GET';\n}\n\nexport function summarizeFpsGameEditorRenderingProfile(value: any): Record<string, unknown> {\n return {\n postProcessEnabled: value?.postProcess?.enabled ?? value?.globalVolume?.enabled ?? null,\n postProcessBloomEnabled: value?.postProcess?.bloom?.enabled ?? value?.globalVolume?.postProcessing?.bloom?.enabled ?? null,\n planarEnabled: value?.shadows?.planar?.enabled ?? null,\n planarOpacity: value?.shadows?.planar?.appearance?.color?.a ?? null,\n planeHeight: value?.shadows?.planar?.plane?.height ?? null,\n planeBias: value?.shadows?.planar?.plane?.bias ?? null,\n stencilEnabled: value?.shadows?.planar?.stencil?.enabled ?? null,\n };\n}\n"]}
@@ -1,3 +1,4 @@
1
+ import type { ViteDevServer } from 'vite';
1
2
  import type { FpsGameEditorProjectDefinition } from '../product/index';
2
3
  import type { PlayableViteEditorScenePaths } from './editor-scene-workflow';
3
4
  import { summarizePlayableEditorScene } from './editor-scene-workflow';
@@ -15,11 +16,11 @@ export interface FpsGameEditorProjectSceneAuthoringServicesOptions {
15
16
  assertRuntimeSceneConfigExportName: string;
16
17
  summarizeRenderingProfile?: (value: Record<string, unknown> | null) => Record<string, unknown> | null;
17
18
  createRenderingInvalidationFiles?: (projectRoot: string, renderingConfigPath: string) => string[];
18
- invalidateFiles?: (server: unknown, files: string[]) => void;
19
+ invalidateFiles?: (server: ViteDevServer, files: string[]) => void;
19
20
  }
20
21
  export interface FpsGameEditorProjectSceneAuthoringLoadInput {
21
- server: unknown;
22
- listEditorAssetLibrary: (server: unknown) => Promise<Array<Record<string, unknown>>>;
22
+ server: ViteDevServer;
23
+ listEditorAssetLibrary: (server: ViteDevServer) => Promise<Array<Record<string, unknown>>>;
23
24
  }
24
25
  export interface FpsGameEditorProjectSceneAuthoringSaveInput extends FpsGameEditorProjectSceneAuthoringLoadInput {
25
26
  saveMode: string;
@@ -1 +1 @@
1
- {"version":3,"file":"product-scene-authoring.d.ts","sourceRoot":"","sources":["../../src/vite/product-scene-authoring.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,8BAA8B,EAC/B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAEV,4BAA4B,EAE7B,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAIL,4BAA4B,EAC7B,MAAM,yBAAyB,CAAC;AAEjC,MAAM,WAAW,2CAA2C;IAC1D,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,iDAAiD;IAChE,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,2CAA2C,CAAC;IACvD,kCAAkC,EAAE,MAAM,CAAC;IAC3C,kCAAkC,EAAE,MAAM,CAAC;IAC3C,yBAAyB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,KAAK,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IACtG,gCAAgC,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,mBAAmB,EAAE,MAAM,KAAK,MAAM,EAAE,CAAC;IAClG,eAAe,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;CAC9D;AAED,MAAM,WAAW,2CAA2C;IAC1D,MAAM,EAAE,OAAO,CAAC;IAChB,sBAAsB,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;CACtF;AAED,MAAM,WAAW,2CAA4C,SAAQ,2CAA2C;IAC9G,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACxC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC/B;AAED,MAAM,WAAW,0CAA0C;IACzD,KAAK,EAAE,4BAA4B,CAAC;IACpC,eAAe,CAAC,KAAK,EAAE,2CAA2C,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACtG,eAAe,CAAC,KAAK,EAAE,2CAA2C,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CACvG;AAED,wBAAgB,gDAAgD,CAC9D,OAAO,EAAE,8BAA8B,EACvC,OAAO,EAAE,iDAAiD,GACzD,0CAA0C,CA0B5C;AAED,wBAAgB,8CAA8C,CAC5D,OAAO,EAAE,8BAA8B,EACvC,WAAW,EAAE,MAAM,GAClB,4BAA4B,CAQ9B;AA8FD,eAAO,MAAM,kCAAkC,qCAA+B,CAAC"}
1
+ {"version":3,"file":"product-scene-authoring.d.ts","sourceRoot":"","sources":["../../src/vite/product-scene-authoring.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,MAAM,CAAC;AAC1C,OAAO,KAAK,EACV,8BAA8B,EAC/B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAEV,4BAA4B,EAE7B,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAIL,4BAA4B,EAC7B,MAAM,yBAAyB,CAAC;AAEjC,MAAM,WAAW,2CAA2C;IAC1D,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,iDAAiD;IAChE,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,2CAA2C,CAAC;IACvD,kCAAkC,EAAE,MAAM,CAAC;IAC3C,kCAAkC,EAAE,MAAM,CAAC;IAC3C,yBAAyB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,KAAK,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IACtG,gCAAgC,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,mBAAmB,EAAE,MAAM,KAAK,MAAM,EAAE,CAAC;IAClG,eAAe,CAAC,EAAE,CAAC,MAAM,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;CACpE;AAED,MAAM,WAAW,2CAA2C;IAC1D,MAAM,EAAE,aAAa,CAAC;IACtB,sBAAsB,EAAE,CAAC,MAAM,EAAE,aAAa,KAAK,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;CAC5F;AAED,MAAM,WAAW,2CAA4C,SAAQ,2CAA2C;IAC9G,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACxC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC/B;AAED,MAAM,WAAW,0CAA0C;IACzD,KAAK,EAAE,4BAA4B,CAAC;IACpC,eAAe,CAAC,KAAK,EAAE,2CAA2C,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACtG,eAAe,CAAC,KAAK,EAAE,2CAA2C,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CACvG;AAED,wBAAgB,gDAAgD,CAC9D,OAAO,EAAE,8BAA8B,EACvC,OAAO,EAAE,iDAAiD,GACzD,0CAA0C,CA0B5C;AAED,wBAAgB,8CAA8C,CAC5D,OAAO,EAAE,8BAA8B,EACvC,WAAW,EAAE,MAAM,GAClB,4BAA4B,CAQ9B;AA4FD,eAAO,MAAM,kCAAkC,qCAA+B,CAAC"}
@@ -79,10 +79,7 @@ async function loadRuntimeSceneConfigAssert(options) {
79
79
  return readFunctionExport(schemaModule, options.assertRuntimeSceneConfigExportName);
80
80
  }
81
81
  async function loadViteSsrModule(server, moduleId) {
82
- const ssrLoadModule = server?.ssrLoadModule;
83
- if (!ssrLoadModule)
84
- throw new Error('vite_server_missing_ssrLoadModule');
85
- const loaded = await ssrLoadModule(moduleId);
82
+ const loaded = await server.ssrLoadModule(moduleId);
86
83
  if (!loaded || typeof loaded !== 'object') {
87
84
  throw new Error(`vite_module_not_object:${moduleId}`);
88
85
  }
@@ -1 +1 @@
1
- {"version":3,"file":"product-scene-authoring.js","sourceRoot":"","sources":["../../src/vite/product-scene-authoring.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"product-scene-authoring.js","sourceRoot":"","sources":["../../src/vite/product-scene-authoring.ts"],"names":[],"mappings":"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","sourcesContent":["import path from 'node:path';\nimport { pathToFileURL } from 'node:url';\nimport type { ViteDevServer } from 'vite';\nimport type {\n FpsGameEditorProjectDefinition,\n} from '../product/index';\nimport type {\n PlayableViteEditorSceneLoadServices,\n PlayableViteEditorScenePaths,\n PlayableViteEditorSceneSaveServices,\n} from './editor-scene-workflow';\nimport {\n assertPlayableEditorSceneDocument,\n loadPlayableViteEditorScene,\n savePlayableViteEditorScene,\n summarizePlayableEditorScene,\n} from './editor-scene-workflow';\n\nexport interface FpsGameEditorProjectSceneAuthoringModuleIds {\n authoringSource: string;\n assetLibrary: string;\n sceneSession: string;\n sceneCompiler: string;\n renderingProfile?: string;\n}\n\nexport interface FpsGameEditorProjectSceneAuthoringServicesOptions {\n projectRoot: string;\n moduleIds: FpsGameEditorProjectSceneAuthoringModuleIds;\n assertRuntimeSceneConfigModulePath: string;\n assertRuntimeSceneConfigExportName: string;\n summarizeRenderingProfile?: (value: Record<string, unknown> | null) => Record<string, unknown> | null;\n createRenderingInvalidationFiles?: (projectRoot: string, renderingConfigPath: string) => string[];\n invalidateFiles?: (server: ViteDevServer, files: string[]) => void;\n}\n\nexport interface FpsGameEditorProjectSceneAuthoringLoadInput {\n server: ViteDevServer;\n listEditorAssetLibrary: (server: ViteDevServer) => Promise<Array<Record<string, unknown>>>;\n}\n\nexport interface FpsGameEditorProjectSceneAuthoringSaveInput extends FpsGameEditorProjectSceneAuthoringLoadInput {\n saveMode: string;\n rawEditorScene: Record<string, unknown>;\n body: Record<string, unknown>;\n}\n\nexport interface FpsGameEditorProjectSceneAuthoringServices {\n paths: PlayableViteEditorScenePaths;\n loadEditorScene(input: FpsGameEditorProjectSceneAuthoringLoadInput): Promise<Record<string, unknown>>;\n saveEditorScene(input: FpsGameEditorProjectSceneAuthoringSaveInput): Promise<Record<string, unknown>>;\n}\n\nexport function createFpsGameEditorProjectSceneAuthoringServices(\n project: FpsGameEditorProjectDefinition,\n options: FpsGameEditorProjectSceneAuthoringServicesOptions,\n): FpsGameEditorProjectSceneAuthoringServices {\n const paths = resolveFpsGameEditorProjectSceneAuthoringPaths(project, options.projectRoot);\n return {\n paths,\n loadEditorScene(input) {\n return loadPlayableViteEditorScene({\n ...input,\n projectRoot: options.projectRoot,\n paths,\n loadServices: server => loadFpsGameEditorProjectSceneLoadServices(server, options),\n });\n },\n async saveEditorScene(input) {\n const normalizeRenderingProfile = await loadFpsGameEditorProjectRenderingProfileNormalizer(input.server, options);\n return savePlayableViteEditorScene({\n ...input,\n projectRoot: options.projectRoot,\n paths,\n saveServices: server => loadFpsGameEditorProjectSceneSaveServices(server, options),\n normalizeRenderingProfile,\n summarizeRenderingProfile: options.summarizeRenderingProfile,\n createRenderingInvalidationFiles: options.createRenderingInvalidationFiles,\n invalidateFiles: options.invalidateFiles,\n });\n },\n };\n}\n\nexport function resolveFpsGameEditorProjectSceneAuthoringPaths(\n project: FpsGameEditorProjectDefinition,\n projectRoot: string,\n): PlayableViteEditorScenePaths {\n return {\n editorScenePath: path.resolve(projectRoot, project.source.editorScene),\n scenePath: path.resolve(projectRoot, project.source.runtimeScene),\n ...(project.source.rendering\n ? { renderingConfigPath: path.resolve(projectRoot, project.source.rendering) }\n : {}),\n };\n}\n\nasync function loadFpsGameEditorProjectSceneLoadServices(\n server: ViteDevServer,\n options: FpsGameEditorProjectSceneAuthoringServicesOptions,\n): Promise<PlayableViteEditorSceneLoadServices> {\n const [\n authoringSource,\n assetLibrary,\n sceneSession,\n ] = await Promise.all([\n loadViteSsrModule(server, options.moduleIds.authoringSource),\n loadViteSsrModule(server, options.moduleIds.assetLibrary),\n loadViteSsrModule(server, options.moduleIds.sceneSession),\n ]);\n return {\n ensureAuthoringSource: readFunctionExport(authoringSource, 'ensureEditorSceneAuthoringSource'),\n detectRuntimeInputDrift: readFunctionExport(authoringSource, 'detectEditorSceneRuntimeInputDrift'),\n enrichEditorSceneDocumentAssets: readFunctionExport(assetLibrary, 'enrichEditorSceneDocumentAssets'),\n ensureEditorSceneEnvironmentDefaults: readFunctionExport(sceneSession, 'ensureEditorSceneEnvironmentDefaults'),\n };\n}\n\nasync function loadFpsGameEditorProjectSceneSaveServices(\n server: ViteDevServer,\n options: FpsGameEditorProjectSceneAuthoringServicesOptions,\n): Promise<PlayableViteEditorSceneSaveServices> {\n const [\n loadServices,\n authoringSource,\n sceneSession,\n sceneCompiler,\n assertRuntimeSceneConfig,\n ] = await Promise.all([\n loadFpsGameEditorProjectSceneLoadServices(server, options),\n loadViteSsrModule(server, options.moduleIds.authoringSource),\n loadViteSsrModule(server, options.moduleIds.sceneSession),\n loadViteSsrModule(server, options.moduleIds.sceneCompiler),\n loadRuntimeSceneConfigAssert(options),\n ]);\n return {\n ...loadServices,\n assertEditorSceneDocument: assertPlayableEditorSceneDocument,\n assertEditorSceneMaterialAssetIntegrity: readFunctionExport(sceneSession, 'assertEditorSceneMaterialAssetIntegrity'),\n bumpEditorSceneAuthoringSourceRevision: readFunctionExport(authoringSource, 'bumpEditorSceneAuthoringSourceRevision'),\n compileEditorSceneDocumentToSceneConfig: readFunctionExport(sceneCompiler, 'compileEditorSceneDocumentToSceneConfig'),\n assertRuntimeSceneConfig,\n };\n}\n\nasync function loadFpsGameEditorProjectRenderingProfileNormalizer(\n server: ViteDevServer,\n options: FpsGameEditorProjectSceneAuthoringServicesOptions,\n): Promise<((value: Record<string, unknown>) => Record<string, unknown>) | undefined> {\n if (!options.moduleIds.renderingProfile) return undefined;\n const renderingProfile = await loadViteSsrModule(server, options.moduleIds.renderingProfile);\n return readFunctionExport(renderingProfile, 'normalizeRenderingProfile');\n}\n\nasync function loadRuntimeSceneConfigAssert(\n options: FpsGameEditorProjectSceneAuthoringServicesOptions,\n): Promise<(value: Record<string, unknown>) => void> {\n const moduleUrl = pathToFileURL(path.resolve(\n options.projectRoot,\n options.assertRuntimeSceneConfigModulePath,\n )).href;\n const schemaModule = await import(moduleUrl) as Record<string, unknown>;\n return readFunctionExport(\n schemaModule,\n options.assertRuntimeSceneConfigExportName,\n );\n}\n\nasync function loadViteSsrModule(server: ViteDevServer, moduleId: string): Promise<Record<string, unknown>> {\n const loaded = await server.ssrLoadModule(moduleId);\n if (!loaded || typeof loaded !== 'object') {\n throw new Error(`vite_module_not_object:${moduleId}`);\n }\n return loaded as Record<string, unknown>;\n}\n\nfunction readFunctionExport<T extends (...args: any[]) => any>(\n module: Record<string, unknown>,\n exportName: string,\n): T {\n const value = module[exportName];\n if (typeof value !== 'function') {\n throw new Error(`vite_module_missing_function_export:${exportName}`);\n }\n return value as T;\n}\n\nexport const summarizeFpsGameEditorProjectScene = summarizePlayableEditorScene;\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"session-metadata.js","sourceRoot":"","sources":["../../src/vite/session-metadata.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session-metadata.js","sourceRoot":"","sources":["../../src/vite/session-metadata.ts"],"names":[],"mappings":"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","sourcesContent":["import { existsSync, readFileSync } from 'node:fs';\nimport { spawnSync } from 'node:child_process';\nimport path from 'node:path';\nimport type {\n PlayableEditorViteResolvedIntegration,\n} from './types';\n\nexport type PlayableEditorViteGitWorkspaceInfo = {\n root: string;\n repoRemote?: string;\n branch?: string;\n gitSha?: string;\n};\n\nexport interface PlayableEditorViteAgentSessionMetadataOptions {\n projectRoot: string;\n integration: Pick<\n PlayableEditorViteResolvedIntegration,\n 'localEditorRepo' | 'editorPackageRoot' | 'buildInfo'\n >;\n readGitOutput?: (cwd: string, args: string[]) => string | null;\n readJsonRecord?: (filePath: string) => Record<string, unknown> | null;\n}\n\nexport function createPlayableEditorViteAgentSessionMetadata(\n options: PlayableEditorViteAgentSessionMetadataOptions,\n): Record<string, unknown> {\n const readGitOutput = options.readGitOutput ?? readPlayableEditorViteGitOutput;\n const readJsonRecord = options.readJsonRecord ?? readPlayableEditorViteJsonRecord;\n const editorGit = readPlayableEditorViteGitWorkspaceInfo(options.integration.localEditorRepo, readGitOutput);\n const projectGit = readPlayableEditorViteGitWorkspaceInfo(options.projectRoot, readGitOutput);\n const workspaceRoot = editorGit?.root ?? options.integration.localEditorRepo;\n const projectWorkspaceRoot = projectGit?.root ?? options.projectRoot;\n return {\n ...(workspaceRoot ? { workspaceRoot } : {}),\n ...(editorGit?.repoRemote ? { repoRemote: editorGit.repoRemote } : {}),\n ...(editorGit?.branch ? { branch: editorGit.branch } : {}),\n ...(editorGit?.gitSha ? { gitSha: editorGit.gitSha } : {}),\n projectRoot: projectWorkspaceRoot,\n ...(projectGit?.repoRemote ? { projectRepoRemote: projectGit.repoRemote } : {}),\n ...(projectGit?.branch ? { projectBranch: projectGit.branch } : {}),\n ...(projectGit?.gitSha ? { projectGitSha: projectGit.gitSha } : {}),\n editorBuildInfo: createPlayableEditorViteBuildInfoMetadata(options.integration, readJsonRecord),\n };\n}\n\nfunction createPlayableEditorViteBuildInfoMetadata(\n integration: Pick<PlayableEditorViteResolvedIntegration, 'localEditorRepo' | 'editorPackageRoot' | 'buildInfo'>,\n readJsonRecord: (filePath: string) => Record<string, unknown> | null,\n): Record<string, unknown> {\n const packageJsonPath = path.join(integration.editorPackageRoot, 'package.json');\n const buildInfoPath = path.join(integration.editorPackageRoot, 'dist', 'build-info.json');\n const packageJson = readJsonRecord(packageJsonPath);\n const distBuildInfo = readJsonRecord(buildInfoPath);\n return {\n source: integration.localEditorRepo ? 'local-source' : 'bundled-package',\n packageJsonPath,\n ...(typeof packageJson?.name === 'string' ? { packageName: packageJson.name } : {}),\n ...(typeof packageJson?.version === 'string' ? { version: packageJson.version } : {}),\n ...(distBuildInfo ? { buildInfo: distBuildInfo } : {}),\n ...(!distBuildInfo ? { buildInfo: integration.buildInfo } : {}),\n };\n}\n\nfunction readPlayableEditorViteGitWorkspaceInfo(\n root: string | null,\n readGitOutput: (cwd: string, args: string[]) => string | null,\n): PlayableEditorViteGitWorkspaceInfo | null {\n if (!root || !existsSync(root)) return null;\n const workspaceRoot = readGitOutput(root, ['rev-parse', '--show-toplevel']) ?? root;\n const branch = readGitOutput(workspaceRoot, ['branch', '--show-current'])\n ?? readGitOutput(workspaceRoot, ['rev-parse', '--abbrev-ref', 'HEAD']);\n const repoRemote = readGitOutput(workspaceRoot, ['config', '--get', 'remote.origin.url']);\n const gitSha = readGitOutput(workspaceRoot, ['rev-parse', 'HEAD']);\n return {\n root: workspaceRoot,\n ...(repoRemote ? { repoRemote } : {}),\n ...(branch && branch !== 'HEAD' ? { branch } : {}),\n ...(gitSha ? { gitSha } : {}),\n };\n}\n\nfunction readPlayableEditorViteGitOutput(cwd: string, args: string[]): string | null {\n const result = spawnSync('git', args, {\n cwd,\n encoding: 'utf8',\n stdio: ['ignore', 'pipe', 'ignore'],\n });\n if (result.status !== 0) return null;\n const value = String(result.stdout ?? '').trim();\n return value || null;\n}\n\nfunction readPlayableEditorViteJsonRecord(filePath: string): Record<string, unknown> | null {\n if (!existsSync(filePath)) return null;\n try {\n const value = JSON.parse(readFileSync(filePath, 'utf8') || '{}') as unknown;\n return value && typeof value === 'object' && !Array.isArray(value)\n ? value as Record<string, unknown>\n : null;\n } catch {\n return null;\n }\n}\n"]}
@@ -1,37 +1,4 @@
1
1
  import type { PlayableEditorBuildInfo } from './build-info-core';
2
- export interface PlayableEditorVitePluginLike {
3
- name: string;
4
- enforce?: 'pre' | 'post';
5
- apply?: 'serve' | 'build' | ((config: unknown, env: unknown) => boolean);
6
- config?: (config: any, env: any) => any;
7
- configureServer?: (server: any) => void | Promise<void>;
8
- }
9
- export interface PlayableEditorViteUserConfigLike {
10
- root?: string;
11
- cacheDir?: string;
12
- resolve?: {
13
- alias?: unknown;
14
- };
15
- [key: string]: unknown;
16
- }
17
- export interface PlayableEditorViteDevServerLike {
18
- config: {
19
- root: string;
20
- cacheDir: string;
21
- };
22
- ws?: {
23
- send?: (payload: PlayableEditorViteErrorPayload) => void;
24
- on?: (event: 'connection', listener: () => void) => void;
25
- };
26
- }
27
- export interface PlayableEditorViteErrorPayload {
28
- type: 'error';
29
- err: {
30
- message: string;
31
- stack: string;
32
- plugin: string;
33
- };
34
- }
35
2
  export interface PlayableEditorBuildInfoReadOptions {
36
3
  editorPackageRoot?: string;
37
4
  buildInfoPath?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/vite/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAEjE,MAAM,WAAW,4BAA4B;IAC3C,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;IACzB,KAAK,CAAC,EAAE,OAAO,GAAG,OAAO,GAAG,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,KAAK,OAAO,CAAC,CAAC;IACzE,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,KAAK,GAAG,CAAC;IACxC,eAAe,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACzD;AAED,MAAM,WAAW,gCAAgC;IAC/C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE;QACR,KAAK,CAAC,EAAE,OAAO,CAAC;KACjB,CAAC;IACF,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,+BAA+B;IAC9C,MAAM,EAAE;QACN,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,EAAE,CAAC,EAAE;QACH,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,8BAA8B,KAAK,IAAI,CAAC;QACzD,EAAE,CAAC,EAAE,CAAC,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,IAAI,KAAK,IAAI,CAAC;KAC1D,CAAC;CACH;AAED,MAAM,WAAW,8BAA8B;IAC7C,IAAI,EAAE,OAAO,CAAC;IACd,GAAG,EAAE;QACH,OAAO,EAAE,MAAM,CAAC;QAChB,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;CACH;AAED,MAAM,WAAW,kCAAkC;IACjD,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,+BAA+B;IAC9C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,mBAAmB,CAAC,EAAE,qCAAqC,CAAC;IAC5D,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;IACzC,QAAQ,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;IAC1B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,MAAM,CAAC,EAAE,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC;CACnD;AAED,MAAM,WAAW,6BAA6B;IAC5C,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,qCAAqC;IACpD,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,uBAAuB,CAAC;IACnC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/vite/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAEjE,MAAM,WAAW,kCAAkC;IACjD,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,+BAA+B;IAC9C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,mBAAmB,CAAC,EAAE,qCAAqC,CAAC;IAC5D,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;IACzC,QAAQ,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;IAC1B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,MAAM,CAAC,EAAE,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC;CACnD;AAED,MAAM,WAAW,6BAA6B;IAC5C,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,qCAAqC;IACpD,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,uBAAuB,CAAC;IACnC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/vite/types.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/vite/types.ts"],"names":[],"mappings":"","sourcesContent":["import type { PlayableEditorBuildInfo } from './build-info-core';\n\nexport interface PlayableEditorBuildInfoReadOptions {\n editorPackageRoot?: string;\n buildInfoPath?: string;\n packageJsonPath?: string;\n}\n\nexport interface PlayableEditorVitePluginOptions {\n projectRoot?: string;\n localEditorRepo?: string | null;\n resolvedIntegration?: PlayableEditorViteResolvedIntegration;\n env?: Record<string, string | undefined>;\n cacheDir?: string | false;\n strictAliasFiles?: boolean;\n versionDiagnostics?: boolean;\n logger?: Pick<Console, 'info' | 'warn' | 'error'>;\n}\n\nexport interface PlayableEditorViteCacheMarker {\n packageName: string;\n version: string;\n cacheKey: string;\n distHash: string;\n buildInfoPath: string;\n}\n\nexport interface PlayableEditorViteResolvedIntegration {\n projectRoot: string;\n localEditorRepo: string | null;\n editorPackageRoot: string;\n buildInfoPath: string;\n buildInfo: PlayableEditorBuildInfo;\n cacheDir: string | null;\n}\n"]}
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fps-games/editor-playable-sdk",
3
- "version": "0.2.0-beta.1",
3
+ "version": "0.2.0-beta.3",
4
4
  "private": true,
5
5
  "type": "module",
6
6
  "description": "Playable project integration SDK for fps-game-editor.",
@@ -27,10 +27,13 @@
27
27
  },
28
28
  "dependencies": {
29
29
  "@babel/parser": "^7.28.5",
30
- "@fps-games/editor-core": "0.2.0-beta.1",
31
- "@fps-games/editor-protocol": "0.2.0-beta.1",
32
- "@fps-games/playable-assets": "0.2.0-beta.1",
33
- "@fps-games/playable-rendering": "0.2.0-beta.1",
34
- "@fps-games/plugin-api": "0.2.0-beta.1"
30
+ "@fps-games/editor-core": "0.2.0-beta.3",
31
+ "@fps-games/editor-protocol": "0.2.0-beta.3",
32
+ "@fps-games/playable-assets": "0.2.0-beta.3",
33
+ "@fps-games/playable-rendering": "0.2.0-beta.3",
34
+ "@fps-games/plugin-api": "0.2.0-beta.3"
35
+ },
36
+ "peerDependencies": {
37
+ "vite": "^5.4.21"
35
38
  }
36
39
  }