@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":"playable-product-scene-capabilities.js","sourceRoot":"","sources":["../src/playable-product-scene-capabilities.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"playable-product-scene-capabilities.js","sourceRoot":"","sources":["../src/playable-product-scene-capabilities.ts"],"names":[],"mappings":"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","sourcesContent":["import type {\n PlayableLocalEditorAssetActionsCapability,\n PlayableLocalEditorAssetBrowserCapability,\n PlayableLocalEditorDocumentCapability,\n PlayableLocalEditorDocumentLifecycleCapability,\n PlayableLocalEditorHierarchyActionsCapability,\n PlayableLocalEditorHostCapabilities,\n PlayableLocalEditorInspectorCapability,\n PlayableLocalEditorMarkerGraphCapability,\n PlayableLocalEditorPatchResult,\n PlayableLocalEditorPrefabStageCapability,\n PlayableLocalEditorRenderingCapability,\n PlayableLocalEditorSceneGraphCapability,\n PlayableLocalEditorSelectionCapability,\n PlayableLocalEditorTransformCommandsCapability,\n PlayableLocalEditorWorldPreviewCapability,\n PlayableLocalEditorHarnessApi,\n} from './playable-local-editor-host.js';\nimport type {\n FpsGameEditorProductLocalEditorContext,\n FpsGameEditorProductLocalEditorHostOptions,\n} from './playable-product-local-editor.js';\nimport {\n EDITOR_SCENE_STATIC_SHADOW_BAKE_ACTION_PATH,\n createEditorSceneSerializedMultiTransformPatch,\n createEditorSceneTransformBatchPatch,\n createEditorSceneTransformPatch,\n resolveEditorSceneLightingPreviewProfile,\n resolveEditorSceneMaterialSlotReimportDiff,\n toEditorSceneLocalTransformFromWorld,\n type EditorSceneAssetLibraryItem,\n type EditorSceneDocument,\n type EditorSceneGameObject,\n type EditorSceneMaterialDocument,\n type FpsGameEditorStandardSceneAssembly,\n} from '@fps-games/editor-playable-sdk';\n\nexport interface FpsGameEditorPlayableProjectHostAssemblyOptions<TDocument, TAsset> {\n scene: any;\n projection: any;\n sceneSource: any;\n rendering: any;\n projectServices: any;\n prefab: any;\n prepareDocument(document: TDocument, assets: TAsset[]): TDocument;\n createAssetActionPatch(input: any): any;\n hierarchyContextActions?: readonly any[];\n loadingContent?: any;\n runtimeWindow: Window;\n loadBabylon(): Promise<any>;\n world?: { cameraTarget?: { x: number; y: number; z: number }; cameraRadius?: number; clearColor?: { r: number; g: number; b: number; a: number }; useRightHandedSystem?: boolean; selectionEdgesPrewarm?: 'eager' | 'lazy' };\n reportError?(error: unknown): void;\n}\n\nexport function createFpsGameEditorPlayableProjectHostAssembly<TDocument, TAsset extends EditorSceneAssetLibraryItem>(\n input: FpsGameEditorPlayableProjectHostAssemblyOptions<TDocument, TAsset>,\n) {\n let assets: TAsset[] = [];\n const scene = input.scene;\n const projection = input.projection;\n const setAssets = (nextAssets: TAsset[]): TAsset[] => {\n assets = nextAssets;\n input.rendering.setTextures(projection.createEditorSceneInspectorTextureAssets(assets));\n return assets;\n };\n return createFpsGameEditorProductHostAssembly<any, any, any, any, any>({\n scene,\n document: {\n getProjectionNodes: projection.createProjectionNodes,\n getProjectionNode: (document: any, id: string) => {\n const gameObject = document.scene.gameObjects.find((entry: any) => entry.id === id);\n return gameObject ? projection.createProjectionNode(document, gameObject) : null;\n },\n createPatchFromAsset: (asset: any, request: any) => ({ label: `Add ${request?.name?.trim() || asset.displayName}`, patch: { kind: 'game-object.create-from-asset', assetItem: asset, ...(request?.name?.trim() ? { name: request.name.trim() } : {}), ...(request?.placement ? { placement: request.placement } : {}) } }),\n },\n lifecycle: {\n prepareDocument: (document: TDocument, nextAssets: TAsset[]) => input.prepareDocument(document, setAssets(nextAssets)),\n hydrateDocumentAssets: (document: TDocument, nextAssets: TAsset[]) => {\n const hydratedAssets = setAssets(nextAssets);\n return input.projectServices.hydrateDocumentAssets?.(document, hydratedAssets) ?? document;\n },\n resolveUpdatedAssetSnapshot: (nextAssets: TAsset[], update: { assetId: string }) => {\n const asset = nextAssets.find(candidate => candidate.assetId === update.assetId || candidate.id === update.assetId);\n if (!asset) return null;\n const contentHash = typeof asset.metadata?.contentHash === 'string'\n ? asset.metadata.contentHash\n : undefined;\n return {\n assetId: asset.assetId,\n ...(contentHash ? { contentHash } : {}),\n };\n },\n reconcileUpdatedAsset: (document: EditorSceneMaterialDocument, update: { assetId: string }) => {\n const diffs = document.scene.gameObjects\n .map(gameObject => resolveEditorSceneMaterialSlotReimportDiff(document, gameObject))\n .filter(diff => diff.assetId === update.assetId);\n return {\n document: scene.ensureEnvironmentDefaults(document),\n reconciledBindingCount: diffs.reduce(\n (count, diff) => count + diff.bindingRemaps.length + diff.bindingRemapIssues.length,\n 0,\n ),\n warnings: diffs.flatMap(diff => [\n ...diff.bindingRemapIssues.map(issue => ({\n code: issue.reason,\n gameObjectId: diff.gameObjectId,\n slotId: issue.fromSlotId,\n materialAssetId: issue.materialAssetId,\n candidateSlotIds: issue.candidateSlotIds,\n })),\n ...diff.issues\n .filter(issue => issue.reason === 'source-material-changed')\n .map(issue => ({\n code: issue.reason,\n gameObjectId: diff.gameObjectId,\n ...(issue.slotId ? { slotId: issue.slotId } : {}),\n ...(issue.materialAssetId ? { materialAssetId: issue.materialAssetId } : {}),\n })),\n ]),\n };\n },\n summarize: input.projectServices.summarize,\n },\n getInspectorContext: () => ({ textureAssets: projection.createEditorSceneInspectorTextureAssets(assets) }),\n agentContext: input.projectServices.agentContext,\n assetActions: { createAssetActionPatch: input.createAssetActionPatch },\n prefabStage: {\n getPrefabStageDescriptor: input.prefab.getDescriptor,\n getPrefabStageProjectionNodes: input.prefab.getProjectionNodes,\n getPrefabStageStructure: input.prefab.getStructure,\n getPrefabStageInspectorObject: input.prefab.getInspectorObject,\n resolvePrefabStagePreviewTarget: input.prefab.resolvePreviewTarget,\n getPrefabStageProjectionNodeId: input.prefab.getProjectionNodeId,\n },\n hierarchyActions: { contextActions: input.hierarchyContextActions ?? [] },\n worldPreview: {\n getSceneCameraPreviewRig: projection.createSceneCameraPreviewRig,\n getWorldAppearance: (document: any) => resolveEditorSceneLightingPreviewProfile(document, { environmentLightId: 'environment_light', sunLightId: 'sun_light', defaultEnvironmentLight: scene.defaults.environmentLight, defaultSunLight: scene.defaults.sunLight }),\n },\n rendering: input.rendering.capability,\n runtime: {\n localTestActions: input.runtimeWindow.parent === input.runtimeWindow,\n authoring: { drivers: [input.sceneSource.createDriver()] },\n persistenceAdapter: { loadAuthoringSource: async () => { const loaded = await input.sceneSource.load(); return { source: loaded.source, document: loaded.document, assets: loaded.assets, summary: loaded.summary }; }, loadAssets: input.sceneSource.loadAssets },\n worldAdapter: {\n loadPreviewEngine: async () => projection.createEditorPreviewBabylonModule(await input.loadBabylon()),\n createPreviewEngine: (babylon: any, canvas: HTMLCanvasElement) => new babylon.Engine(canvas, true, { preserveDrawingBuffer: true, stencil: true, antialias: true }),\n importPreviewAsset: projection.importEditorProjectionModel,\n resolveMaterialTextureUrl: (texture: unknown) => projection.resolveEditorSceneTextureRefUrl(assets, texture),\n resolveAssetId: (asset: TAsset) => asset.assetId,\n toBrowserAssetItem: (asset: any) => ({ id: asset.assetId, guid: asset.guid, assetId: asset.assetId, kind: asset.kind, label: asset.displayName, meta: asset.assetId, external: asset.external, origin: asset.origin, dedupeKey: asset.dedupeKey, placeable: asset.placeable, preview: projection.createEditorSceneLibraryAssetPreview(asset), disabled: asset.placeable === false }),\n },\n world: input.world,\n createGrid: projection.createEditorGrid,\n lifecycle: { loadingContent: input.loadingContent, beforeDiscardAndRunGame: input.rendering.reset },\n forgePlay: { window: input.runtimeWindow, hasUnsavedPlatformChanges: input.rendering.isDirty, handleProjectAssetCommand: input.projectServices.handleProjectAssetCommand, exportDocument: ({ harness, payload, saveState }: any) => input.projectServices.exportDocument(harness, payload, saveState), reportError: input.reportError },\n },\n });\n}\n\nexport interface FpsGameEditorProductSceneDocumentAdapter<\n TDocument,\n TPatch,\n TAsset = unknown,\n> extends Pick<\n PlayableLocalEditorDocumentCapability<TDocument, TPatch, TAsset>,\n | 'reduceDocument'\n | 'getHierarchyItems'\n | 'getProjectionNodes'\n | 'getProjectionNode'\n | 'createPatchFromAsset'\n | 'createSerializedPropertyPatch'\n > {}\n\nexport interface FpsGameEditorProductSceneHostOptions<\n TDocument,\n TPatch,\n TAsset = unknown,\n> {\n documentAdapter: PlayableLocalEditorDocumentCapability<TDocument, TPatch, TAsset>;\n capabilities: PlayableLocalEditorHostCapabilities<TDocument, TPatch, TAsset>;\n}\n\nexport interface FpsGameEditorProductSceneHostOptionsInput<\n TDocument,\n TPatch,\n TAsset = unknown,\n> {\n document: FpsGameEditorProductSceneDocumentAdapter<TDocument, TPatch, TAsset>;\n lifecycle?: PlayableLocalEditorDocumentLifecycleCapability<TDocument, TAsset>;\n selection?: PlayableLocalEditorSelectionCapability<TDocument>;\n inspector?: PlayableLocalEditorInspectorCapability<TDocument>;\n assetBrowser?: PlayableLocalEditorAssetBrowserCapability<TDocument>;\n agentContext?: PlayableLocalEditorHostCapabilities<TDocument, TPatch, TAsset>['agentContext'];\n markerGraph?: PlayableLocalEditorMarkerGraphCapability<TDocument, TPatch>;\n assetActions?: PlayableLocalEditorAssetActionsCapability<TDocument, TPatch, TAsset>;\n prefabStage?: PlayableLocalEditorPrefabStageCapability<TDocument, TAsset>;\n transformCommands?: PlayableLocalEditorTransformCommandsCapability<TDocument, TPatch>;\n sceneGraph?: PlayableLocalEditorSceneGraphCapability<TDocument, TPatch>;\n hierarchyActions?: PlayableLocalEditorHierarchyActionsCapability<TDocument, TPatch>;\n worldPreview?: PlayableLocalEditorWorldPreviewCapability<TDocument>;\n rendering?: PlayableLocalEditorRenderingCapability<TDocument, TPatch>;\n}\n\nexport function createFpsGameEditorProductSceneHostOptions<\n TDocument,\n TPatch,\n TAsset = unknown,\n>(\n input: FpsGameEditorProductSceneHostOptionsInput<TDocument, TPatch, TAsset>,\n): FpsGameEditorProductSceneHostOptions<TDocument, TPatch, TAsset> {\n const documentAdapter: PlayableLocalEditorDocumentCapability<TDocument, TPatch, TAsset> = {\n ...input.document,\n };\n\n return {\n documentAdapter,\n capabilities: {\n documentLifecycle: input.lifecycle,\n selection: input.selection,\n inspector: input.inspector,\n assetBrowser: input.assetBrowser,\n agentContext: input.agentContext,\n markerGraph: input.markerGraph,\n assetActions: input.assetActions,\n prefabStage: input.prefabStage,\n transformCommands: input.transformCommands,\n sceneGraph: input.sceneGraph,\n hierarchyActions: input.hierarchyActions,\n worldPreview: input.worldPreview,\n rendering: input.rendering,\n },\n };\n}\n\nexport interface FpsGameEditorProductHostAssemblyInput<\n TDocument extends EditorSceneDocument<TGameObject>,\n TGameObject extends EditorSceneGameObject,\n TPatch,\n TAsset extends EditorSceneAssetLibraryItem,\n TContext,\n> {\n scene: FpsGameEditorStandardSceneAssembly<TDocument, TGameObject, TPatch, TAsset, TContext>;\n document: Pick<\n FpsGameEditorProductSceneDocumentAdapter<TDocument, TPatch, TAsset>,\n 'getProjectionNodes' | 'getProjectionNode' | 'createPatchFromAsset'\n >;\n lifecycle?: PlayableLocalEditorDocumentLifecycleCapability<TDocument, TAsset>;\n getInspectorContext?: () => TContext;\n agentContext?: PlayableLocalEditorHostCapabilities<TDocument, TPatch, TAsset>['agentContext'];\n assetActions?: Pick<\n PlayableLocalEditorAssetActionsCapability<TDocument, TPatch, TAsset>,\n 'createAssetActionPatch' | 'createPlacedAssetPatch' | 'findCreatedId'\n >;\n prefabStage?: PlayableLocalEditorPrefabStageCapability<TDocument, TAsset>;\n hierarchyActions?: PlayableLocalEditorHierarchyActionsCapability<TDocument, TPatch>;\n worldPreview?: PlayableLocalEditorWorldPreviewCapability<TDocument>;\n rendering?: PlayableLocalEditorRenderingCapability<TDocument, TPatch>;\n runtime?: FpsGameEditorProductHostRuntimeOptions<TDocument, TPatch, TAsset>;\n}\n\ntype FpsGameEditorProductForgePlayOptions<TDocument, TPatch, TAsset> = NonNullable<\n FpsGameEditorProductLocalEditorHostOptions<TDocument, TPatch, TAsset>['forgePlay']\n>;\n\nexport interface FpsGameEditorProductHostRuntimeOptions<TDocument, TPatch, TAsset> extends Omit<\n FpsGameEditorProductLocalEditorHostOptions<TDocument, TPatch, TAsset>,\n 'documentAdapter' | 'capabilities' | 'persistenceAdapter' | 'worldAdapter' | 'forgePlay'\n> {\n persistenceAdapter: Omit<\n FpsGameEditorProductLocalEditorHostOptions<TDocument, TPatch, TAsset>['persistenceAdapter'],\n 'runGame'\n >;\n worldAdapter: Omit<\n FpsGameEditorProductLocalEditorHostOptions<TDocument, TPatch, TAsset>['worldAdapter'],\n 'disposeWorld' | 'disposeGameWorld' | 'getCanvas'\n >;\n forgePlay?: Omit<\n FpsGameEditorProductForgePlayOptions<TDocument, TPatch, TAsset>,\n 'handleAssetDrop' | 'handleProjectAssetCommand' | 'exportDocument'\n > & {\n handleProjectAssetCommand?: (\n bridgeContext: Parameters<NonNullable<FpsGameEditorProductForgePlayOptions<TDocument, TPatch, TAsset>['handleProjectAssetCommand']>>[0],\n normalizeLoadedPlatformAssetPayload: (payload: Record<string, unknown>) => Record<string, unknown>,\n ) => Promise<void> | void;\n exportDocument?: (input: Parameters<NonNullable<FpsGameEditorProductForgePlayOptions<TDocument, TPatch, TAsset>['exportDocument']>>[0] & {\n harness: PlayableLocalEditorHarnessApi<TDocument>;\n }) => Promise<void> | void;\n };\n}\n\nexport interface FpsGameEditorProductHostAssembly<TDocument, TPatch, TAsset>\n extends FpsGameEditorProductSceneHostOptions<TDocument, TPatch, TAsset> {\n createHostOptions(\n context: FpsGameEditorProductLocalEditorContext<TDocument>,\n ): FpsGameEditorProductLocalEditorHostOptions<TDocument, TPatch, TAsset>;\n}\n\nexport function createFpsGameEditorProductHostAssembly<\n TDocument extends EditorSceneDocument<TGameObject>,\n TGameObject extends EditorSceneGameObject,\n TPatch,\n TAsset extends EditorSceneAssetLibraryItem,\n TContext,\n>(\n input: FpsGameEditorProductHostAssemblyInput<TDocument, TGameObject, TPatch, TAsset, TContext>,\n): FpsGameEditorProductHostAssembly<TDocument, TPatch, TAsset> {\n const scene = input.scene;\n const inspectorContext = (): TContext => input.getInspectorContext?.() ?? ({} as TContext);\n const sceneHostOptions = createFpsGameEditorProductSceneHostOptions<TDocument, TPatch, TAsset>({\n document: {\n reduceDocument: scene.reduceDocument,\n getHierarchyItems: scene.getHierarchyItems,\n getProjectionNodes: input.document.getProjectionNodes,\n getProjectionNode: input.document.getProjectionNode,\n createPatchFromAsset: input.document.createPatchFromAsset,\n createSerializedPropertyPatch: scene.createInspectorPropertyPatch,\n },\n lifecycle: input.lifecycle,\n selection: {\n isSelectable: scene.isSelectableHierarchyId,\n isLocked: () => false,\n },\n inspector: {\n getInspectorObject: (document, activeId) => scene.getInspectorObject(document, activeId, inspectorContext()),\n getInspectorMultiObject: (document, selectedIds, activeId) => scene.getInspectorMultiObject(\n document,\n selectedIds,\n activeId,\n inspectorContext(),\n ),\n getRuntimeInspectorSections: scene.getRuntimeInspectorSections,\n },\n assetBrowser: {\n getBrowserAssetItems: scene.createBrowserAssetItems,\n },\n agentContext: input.agentContext,\n markerGraph: {\n getMarkerGraph: scene.getMarkerGraph,\n getMarkerTypeCatalog: scene.getMarkerTypeCatalog,\n getRelationTypeCatalog: scene.getRelationTypeCatalog,\n createMarkerGraphPatch: scene.createMarkerGraphPatch,\n },\n assetActions: {\n ...input.assetActions,\n createPlacedAssetPatch: input.assetActions?.createPlacedAssetPatch ?? ((command) => {\n if (!command.asset || !command.hit) return null;\n return scene.createPlacedAssetPatch({\n document: command.document,\n asset: command.asset,\n hit: command.hit as any,\n }) as PlayableLocalEditorPatchResult<TPatch> | null;\n }),\n findCreatedId: input.assetActions?.findCreatedId ?? findCreatedEditorSceneObjectId,\n },\n prefabStage: input.prefabStage,\n transformCommands: {\n canCreateSerializedMultiPropertyPatch(command) {\n return command.path.startsWith('transform.')\n || command.path === EDITOR_SCENE_STATIC_SHADOW_BAKE_ACTION_PATH\n || scene.canCreateSerializedMultiPropertyPatch(command);\n },\n createSerializedMultiPropertyPatch(command) {\n const scenePatch = scene.createSerializedMultiPropertyPatch(command);\n if (scenePatch) return scenePatch;\n if (command.targetIds.some(targetId => !scene.createInspectorPropertyPatch({\n document: command.document,\n targetId,\n path: command.path,\n value: command.value,\n }))) return null;\n return createEditorSceneSerializedMultiTransformPatch(command) as ReturnType<typeof scene.createSerializedMultiPropertyPatch>;\n },\n createTransformInspectorPreview: command => toEditorSceneLocalTransformFromWorld(\n command.document,\n command.targetId,\n command.transform,\n ),\n createTransformPatch: command => createEditorSceneTransformPatch(command as any) as any,\n createTransformBatchPatch: command => createEditorSceneTransformBatchPatch(command as any) as any,\n createDuplicateSelectionPatch: scene.createDuplicateSelectionPatch,\n },\n sceneGraph: {\n validateSceneGraphDrop: scene.validateReparent,\n validateSceneGraphMove: scene.validateHierarchyMove,\n validateSceneGraphGroupSelection: scene.validateGroupSelection,\n createSceneGraphRenamePatch: scene.createRenamePatch,\n createSceneGraphCreateGroupPatch: scene.createCreateGroupPatch,\n createSceneGraphCreatePrimitivePatch: scene.createCreatePrimitivePatch,\n createSceneGraphDeletePatch: scene.createDeleteSubtreePatch,\n createSceneGraphDropPatch: scene.createReparentPatch,\n createSceneGraphMovePatch: scene.createHierarchyMovePatch,\n createSceneGraphGroupSelectionPatch: scene.createGroupSelectionPatch,\n },\n hierarchyActions: input.hierarchyActions,\n worldPreview: input.worldPreview,\n rendering: input.rendering,\n });\n return {\n ...sceneHostOptions,\n createHostOptions(context) {\n const runtime = input.runtime;\n if (!runtime) {\n throw new Error('createFpsGameEditorProductHostAssembly requires runtime options before mounting.');\n }\n const { forgePlay, ...runtimeHostOptions } = runtime;\n return {\n ...runtimeHostOptions,\n ...sceneHostOptions,\n persistenceAdapter: {\n ...runtime.persistenceAdapter,\n },\n worldAdapter: {\n ...runtime.worldAdapter,\n },\n ...(forgePlay ? {\n forgePlay: {\n ...forgePlay,\n handleAssetDrop: context.rememberPlatformAssetDrop,\n handleProjectAssetCommand: forgePlay.handleProjectAssetCommand\n ? bridgeContext => forgePlay.handleProjectAssetCommand?.(\n bridgeContext,\n context.normalizeLoadedPlatformAssetPayload,\n )\n : undefined,\n exportDocument: forgePlay.exportDocument\n ? (exportInput) => {\n const harness = context.getHost()?.harness;\n if (!harness) throw new Error('editor_host_unavailable');\n return forgePlay.exportDocument?.({ ...exportInput, harness });\n }\n : undefined,\n },\n } : {}),\n };\n },\n };\n}\n\nfunction findCreatedEditorSceneObjectId<TDocument extends EditorSceneDocument>(\n beforeDocument: TDocument,\n afterDocument: TDocument,\n): string | null {\n const beforeIds = new Set(beforeDocument.scene.gameObjects.map(gameObject => gameObject.id));\n return afterDocument.scene.gameObjects.find(gameObject => !beforeIds.has(gameObject.id))?.id ?? null;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"playable-runtime-babylon.js","sourceRoot":"","sources":["../src/playable-runtime-babylon.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EACL,4BAA4B,EAC5B,yBAAyB,EACzB,8BAA8B,EAC9B,4BAA4B,EAC5B,4BAA4B,EAC5B,8BAA8B,GAC/B,MAAM,6BAA6B,CAAC"}
1
+ {"version":3,"file":"playable-runtime-babylon.js","sourceRoot":"","sources":["../src/playable-runtime-babylon.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EACL,4BAA4B,EAC5B,yBAAyB,EACzB,8BAA8B,EAC9B,4BAA4B,EAC5B,4BAA4B,EAC5B,8BAA8B,GAC/B,MAAM,6BAA6B,CAAC","sourcesContent":["/**\n * Temporary public Babylon Renderer Plugin entry while private-first runtime\n * packages complete product migration.\n */\nexport {\n FPS_BABYLON_RENDERER_CONTEXT,\n FPS_BABYLON_RENDERER_DATA,\n FPS_BABYLON_RENDERER_PLUGIN_ID,\n FPS_BABYLON_RENDERER_SERVICE,\n createFpsBabylonRendererHost,\n createFpsBabylonRendererPlugin,\n} from '@fps-games/babylon-renderer';\nexport type {\n FpsBabylonRendererContext,\n FpsBabylonRendererHost,\n FpsBabylonRendererHostOptions,\n FpsBabylonRendererPlugin,\n FpsBabylonRendererPluginOptions,\n FpsBabylonRendererService,\n} from '@fps-games/babylon-renderer';\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"playable-runtime.js","sourceRoot":"","sources":["../src/playable-runtime.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,cAAc,6BAA6B,CAAC;AAC5C,OAAO,EACL,mCAAmC,EACnC,wCAAwC,GACzC,MAAM,wBAAwB,CAAC"}
1
+ {"version":3,"file":"playable-runtime.js","sourceRoot":"","sources":["../src/playable-runtime.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,cAAc,6BAA6B,CAAC;AAC5C,OAAO,EACL,mCAAmC,EACnC,wCAAwC,GACzC,MAAM,wBAAwB,CAAC","sourcesContent":["/**\n * Temporary public runtime product entry while the private-first runtime\n * packages complete packed-consumer validation.\n */\nexport * from '@fps-games/playable-runtime';\nexport {\n createFpsPluginEnvironmentLifecycle,\n createFpsPluginHostFromEnvironmentModule,\n} from '@fps-games/plugin-host';\nexport type { FpsPluginEnvironmentModule } from '@fps-games/plugin-api';\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"playable-sdk-upgrade-doctor.js","sourceRoot":"","sources":["../src/playable-sdk-upgrade-doctor.ts"],"names":[],"mappings":"AAAA,cAAc,+CAA+C,CAAC"}
1
+ {"version":3,"file":"playable-sdk-upgrade-doctor.js","sourceRoot":"","sources":["../src/playable-sdk-upgrade-doctor.ts"],"names":[],"mappings":"AAAA,cAAc,+CAA+C,CAAC","sourcesContent":["export * from '@fps-games/editor-playable-sdk/upgrade-doctor';\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"playable-sdk-vite.js","sourceRoot":"","sources":["../src/playable-sdk-vite.ts"],"names":[],"mappings":"AAAA,cAAc,qCAAqC,CAAC"}
1
+ {"version":3,"file":"playable-sdk-vite.js","sourceRoot":"","sources":["../src/playable-sdk-vite.ts"],"names":[],"mappings":"AAAA,cAAc,qCAAqC,CAAC","sourcesContent":["export * from '@fps-games/editor-playable-sdk/vite';\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"playable-sdk.js","sourceRoot":"","sources":["../src/playable-sdk.ts"],"names":[],"mappings":"AAAA,cAAc,gCAAgC,CAAC;AAC/C,OAAO,EACL,2BAA2B,EAC3B,+BAA+B,EAC/B,8BAA8B,EAC9B,+BAA+B,EAC/B,kCAAkC,EAClC,8BAA8B,EAC9B,iCAAiC,GAClC,MAAM,6BAA6B,CAAC;AAUrC,OAAO,EACL,kCAAkC,EAClC,iCAAiC,EACjC,oCAAoC,GACrC,MAAM,2BAA2B,CAAC;AAgBnC,OAAO,EACL,+BAA+B,EAC/B,6CAA6C,EAC7C,oDAAoD,EACpD,2CAA2C,EAC3C,mCAAmC,EACnC,+BAA+B,EAC/B,mCAAmC,EACnC,wBAAwB,EACxB,6BAA6B,EAC7B,4BAA4B,EAC5B,8BAA8B,EAC9B,0BAA0B,EAC1B,8BAA8B,EAC9B,uBAAuB,EACvB,oBAAoB,EACpB,0BAA0B,EAC1B,yCAAyC,EACzC,iDAAiD,EACjD,sBAAsB,EACtB,yBAAyB,EACzB,qCAAqC,EACrC,sCAAsC,EACtC,yCAAyC,EACzC,4CAA4C,EAC5C,mDAAmD,EACnD,0CAA0C,EAC1C,yCAAyC,EACzC,gDAAgD,EAChD,kDAAkD,EAClD,wBAAwB,EACxB,yCAAyC,EACzC,yCAAyC,EACzC,6CAA6C,EAC7C,2CAA2C,GAC5C,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,wCAAwC,EACxC,8CAA8C,EAC9C,sDAAsD,EACtD,mCAAmC,EACnC,wCAAwC,EACxC,8CAA8C,EAC9C,yCAAyC,EACzC,gDAAgD,EAChD,uCAAuC,EACvC,wCAAwC,EACxC,4CAA4C,EAC5C,+CAA+C,EAC/C,wCAAwC,EACxC,uCAAuC,EACvC,sCAAsC,EACtC,qCAAqC,EACrC,iDAAiD,EACjD,wDAAwD,EACxD,oDAAoD,EACpD,2DAA2D,EAC3D,iDAAiD,EACjD,+CAA+C,GAChD,MAAM,iCAAiC,CAAC;AA4EzC,OAAO,EAAE,mCAAmC,EAAE,MAAM,4BAA4B,CAAC;AAkBjF,OAAO,EACL,kCAAkC,EAClC,0CAA0C,EAC1C,6BAA6B,EAC7B,gDAAgD,EAChD,sCAAsC,EACtC,2CAA2C,EAC3C,4CAA4C,GAC7C,MAAM,iCAAiC,CAAC;AACzC,OAAO,EACL,oCAAoC,GACrC,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EACL,sCAAsC,EACtC,8CAA8C,EAC9C,0CAA0C,GAC3C,MAAM,0CAA0C,CAAC;AAClD,OAAO,EACL,2CAA2C,GAC5C,MAAM,0CAA0C,CAAC;AAClD,OAAO,EAAE,0CAA0C,EAAE,MAAM,iCAAiC,CAAC;AAC7F,OAAO,EAAE,yCAAyC,EAAE,iCAAiC,EAAE,MAAM,gCAAgC,CAAC"}
1
+ {"version":3,"file":"playable-sdk.js","sourceRoot":"","sources":["../src/playable-sdk.ts"],"names":[],"mappings":"AAAA,cAAc,gCAAgC,CAAC;AAC/C,OAAO,EACL,2BAA2B,EAC3B,+BAA+B,EAC/B,8BAA8B,EAC9B,+BAA+B,EAC/B,kCAAkC,EAClC,8BAA8B,EAC9B,iCAAiC,GAClC,MAAM,6BAA6B,CAAC;AAUrC,OAAO,EACL,kCAAkC,EAClC,iCAAiC,EACjC,oCAAoC,GACrC,MAAM,2BAA2B,CAAC;AAgBnC,OAAO,EACL,+BAA+B,EAC/B,6CAA6C,EAC7C,oDAAoD,EACpD,2CAA2C,EAC3C,mCAAmC,EACnC,+BAA+B,EAC/B,mCAAmC,EACnC,wBAAwB,EACxB,6BAA6B,EAC7B,4BAA4B,EAC5B,8BAA8B,EAC9B,0BAA0B,EAC1B,8BAA8B,EAC9B,uBAAuB,EACvB,oBAAoB,EACpB,0BAA0B,EAC1B,yCAAyC,EACzC,iDAAiD,EACjD,sBAAsB,EACtB,yBAAyB,EACzB,qCAAqC,EACrC,sCAAsC,EACtC,yCAAyC,EACzC,4CAA4C,EAC5C,mDAAmD,EACnD,0CAA0C,EAC1C,yCAAyC,EACzC,gDAAgD,EAChD,kDAAkD,EAClD,wBAAwB,EACxB,yCAAyC,EACzC,yCAAyC,EACzC,6CAA6C,EAC7C,2CAA2C,GAC5C,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,wCAAwC,EACxC,8CAA8C,EAC9C,sDAAsD,EACtD,mCAAmC,EACnC,wCAAwC,EACxC,8CAA8C,EAC9C,yCAAyC,EACzC,gDAAgD,EAChD,uCAAuC,EACvC,wCAAwC,EACxC,4CAA4C,EAC5C,+CAA+C,EAC/C,wCAAwC,EACxC,uCAAuC,EACvC,sCAAsC,EACtC,qCAAqC,EACrC,iDAAiD,EACjD,wDAAwD,EACxD,oDAAoD,EACpD,2DAA2D,EAC3D,iDAAiD,EACjD,+CAA+C,GAChD,MAAM,iCAAiC,CAAC;AA4EzC,OAAO,EAAE,mCAAmC,EAAE,MAAM,4BAA4B,CAAC;AAkBjF,OAAO,EACL,kCAAkC,EAClC,0CAA0C,EAC1C,6BAA6B,EAC7B,gDAAgD,EAChD,sCAAsC,EACtC,2CAA2C,EAC3C,4CAA4C,GAC7C,MAAM,iCAAiC,CAAC;AACzC,OAAO,EACL,oCAAoC,GACrC,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EACL,sCAAsC,EACtC,8CAA8C,EAC9C,0CAA0C,GAC3C,MAAM,0CAA0C,CAAC;AAClD,OAAO,EACL,2CAA2C,GAC5C,MAAM,0CAA0C,CAAC;AAClD,OAAO,EAAE,0CAA0C,EAAE,MAAM,iCAAiC,CAAC;AAC7F,OAAO,EAAE,yCAAyC,EAAE,iCAAiC,EAAE,MAAM,gCAAgC,CAAC","sourcesContent":["export * from '@fps-games/editor-playable-sdk';\nexport {\n applyBabylonRenderingToMesh,\n applyBabylonRenderingToNodeTree,\n collectRenderableBabylonMeshes,\n isBabylonRuntimeDropSurfaceMesh,\n normalizeBabylonPointerCoordinates,\n readBabylonRuntimeDropPosition,\n resolveBabylonRuntimeDropPosition,\n} from '@fps-games/babylon-renderer';\nexport type {\n BabylonRuntimeDropInput,\n BabylonRuntimeDropPosition,\n BabylonRuntimeDropPositionOptions,\n BabylonRenderableMesh,\n BabylonRenderableNode,\n BabylonRenderingRestore,\n BabylonRenderingSettings,\n} from '@fps-games/babylon-renderer';\nexport {\n mountEditorRuntimeCameraDebugPanel,\n mountEditorRuntimeDebugPanelShell,\n mountEditorRuntimeLightingDebugPanel,\n} from '@fps-games/editor-browser';\nexport type {\n EditorRuntimeCameraDebugPanel,\n EditorRuntimeCameraDebugPanelOptions,\n EditorRuntimeCameraDebugPanInput,\n EditorRuntimeCameraDebugScreenPoint,\n EditorRuntimeCameraDebugViewportRect,\n EditorRuntimeDebugPanelLanguage,\n EditorRuntimeDebugPanelMode,\n EditorRuntimeDebugPanelPlacement,\n EditorRuntimeDebugPanelShell,\n EditorRuntimeDebugPanelShellOptions,\n EditorRuntimeDebugPanelStatusOptions,\n EditorRuntimeLightingDebugPanel,\n EditorRuntimeLightingDebugPanelOptions,\n} from '@fps-games/editor-browser';\nexport {\n createPlayableBabylonEditorGrid,\n createBabylonAssetContainerProjectionImporter,\n createBabylonPrimitiveProjectionInstancingController,\n applyArtistMaterialProfileToRuntimeMaterial,\n applyMaterialValueToRuntimeMaterial,\n applyMaterialValueToRuntimeNode,\n createMaterialSlotOwnerPathMatchKey,\n resolveMaterialOwnerNode,\n resolveMaterialSlotOwnerNodes,\n isMaterialSlotOwnerPathMatch,\n normalizeMaterialSlotOwnerPath,\n resolveMaterialRuntimeKind,\n applyOutlineValueToRuntimeNode,\n resolveOutlineOwnerNode,\n resolveOutlineTarget,\n applyBabylonDefaultOutline,\n createBabylonEnvironmentTextureController,\n createBabylonDefaultPostProcessPipelineController,\n createBlobShadowSystem,\n createDynamicShadowSystem,\n createStaticProjectedShadowBakeHashes,\n createStaticProjectedShadowProfileHash,\n createStaticProjectedShadowArtifactSystem,\n createPlayableBabylonOutlineInspectorSection,\n createPlayableBabylonOutlineInspectorSeedPatchValue,\n isPlayableBabylonOutlineInspectorPatchPath,\n PLAYABLE_BABYLON_DEFAULT_OUTLINE_OVERRIDE,\n applyPlayableBabylonOutlineOverrideToRuntimeNode,\n applyPlayableBabylonOutlineOverrideToRuntimeTarget,\n createPlanarShadowSystem,\n normalizeBabylonEnvironmentTextureProfile,\n normalizeBabylonDefaultPostProcessProfile,\n normalizeBabylonDefaultPostProcessVolumeStack,\n resolveBabylonDefaultPostProcessVolumeStack,\n} from './playable-babylon-facade.js';\nexport {\n createPlayableBabylonRenderingCapability,\n createPlayableBabylonRenderingCapabilityFacade,\n createPlayableBabylonRenderingAlphaIndexMigrationPatch,\n createPlayableBabylonWorldRendering,\n createPlayableBabylonRenderingPanelState,\n createPlayableBabylonEnvironmentTextureProfile,\n createPlayableBabylonRenderingDiagnostics,\n createPlayableBabylonRuntimeRenderingControllers,\n createPlayableBabylonPlanarShadowPolicy,\n resolvePlayableBabylonPlanarShadowPolicy,\n createPlayableBabylonPlanarShadowPolicyInput,\n createPlayableBabylonPlanarShadowPreviewOptions,\n createPlayableBabylonPlanarShadowOptions,\n createPlayableBabylonPlanarShadowSystem,\n createPlayableBabylonBlobShadowOptions,\n createPlayableBabylonBlobShadowSystem,\n createPlayableBabylonStaticProjectedShadowOptions,\n createPlayableBabylonStaticProjectedShadowArtifactSystem,\n resolvePlayableBabylonRenderingEnvironmentTextureUrl,\n resolvePlayableBabylonRenderingEnvironmentTextureDiagnostic,\n isPlayableBabylonRenderingEnvironmentTextureAsset,\n isPlayableBabylonRenderingEnvironmentTextureUrl,\n} from './playable-babylon-rendering.js';\nexport type {\n PlayableBabylonProjectionImportContext,\n PlayableBabylonProjectionImportResult,\n PlayableBabylonProjectionNode,\n PlayableBabylonSceneCameraPreviewRig,\n BabylonAssetContainerProjectionContainer,\n BabylonAssetContainerProjectionImportEvent,\n BabylonAssetContainerProjectionImporterOptions,\n BabylonAssetContainerProjectionInstantiatedEntries,\n BabylonPrimitiveProjectionInstancingController,\n BabylonPrimitiveProjectionInstancingControllerOptions,\n BabylonPrimitiveProjectionMaterialKind,\n BabylonPrimitiveProjectionNodeLike,\n BabylonPrimitiveProjectionShape,\n CanonicalMaterialChange,\n CanonicalOutlineChange,\n BabylonDefaultOutlineOptions,\n BabylonRendererOutlineStrategy,\n BabylonEnvironmentTextureController,\n BabylonEnvironmentTextureProfile,\n PlayableBabylonOutlineInspectorLanguage,\n PlayableBabylonOutlineInspectorSectionInput,\n PlayableBabylonOutlineInspectorSeedPatchInput,\n PlayableBabylonOutlineOverrideConfig,\n PlayableBabylonOutlineStrategy,\n PlayableBabylonOutlineRuntimeApplyResult,\n PlayableBabylonOutlineRuntimeOverride,\n BlobShadowOptions,\n BlobShadowSystem,\n DynamicShadowDiagnostics,\n DynamicShadowOptions,\n DynamicShadowParams,\n DynamicShadowSystem,\n PlanarShadowOptions,\n PlanarShadowSystem,\n StaticProjectedShadowArtifact,\n StaticProjectedShadowArtifactDiagnostic,\n StaticProjectedShadowArtifactHashInput,\n StaticProjectedShadowArtifactOptions,\n StaticProjectedShadowArtifactSystem,\n StaticProjectedShadowOptions,\n BabylonDefaultPostProcessPipelineController,\n BabylonDefaultPostProcessProfile,\n BabylonDefaultPostProcessResolveInput,\n BabylonDefaultPostProcessResolveResult,\n BabylonDefaultPostProcessResolvedVolume,\n BabylonDefaultPostProcessSamples,\n BabylonDefaultPostProcessVolume,\n BabylonDefaultPostProcessVolumeStack,\n BabylonDefaultToneMappingType,\n PostProcessVolumeShape,\n} from './playable-babylon-facade.js';\nexport type {\n PlayableBabylonRenderingCapabilityOptions,\n PlayableBabylonRenderingCapabilityFacade,\n PlayableBabylonRenderingCapabilityFacadeOptions,\n PlayableBabylonRenderingAlphaIndexMigrationPatchInput,\n PlayableBabylonRenderingContext,\n PlayableBabylonRenderingDocumentInput,\n PlayableBabylonRenderingDiagnostics,\n PlayableBabylonRenderingEnvironmentTextureDiagnostic,\n PlayableBabylonRenderingEnvironmentTextureDiagnosticStatus,\n PlayableBabylonRuntimeRenderingControllerOptions,\n PlayableBabylonRuntimeRenderingControllers,\n PlayableBabylonPlanarShadowPolicy,\n PlayableBabylonPlanarShadowPolicyInput,\n PlayableBabylonBlobShadowPolicyInput,\n PlayableBabylonStaticProjectedShadowPolicyInput,\n PlayableBabylonResolvedPlanarShadowPolicy,\n PlayableBabylonRenderingSetConfigInput,\n PlayableBabylonRenderingShadowPreviewOptions,\n PlayableBabylonRenderingStatusTone,\n PlayableBabylonRenderingValueResolver,\n PlayableBabylonWorldRendering,\n} from './playable-babylon-rendering.js';\nexport { SPATIAL_MARKER_GRAPH_SCHEMA_VERSION } from '@fps-games/editor-protocol';\nexport type {\n AgentReadableSpatialFacts,\n ResolvedSpatialMarkerGraph,\n ResolvedSpatialMarkerNode,\n SpatialMarkerBounds,\n SpatialMarkerGeometry,\n SpatialMarkerGraph,\n SpatialMarkerJsonObject,\n SpatialMarkerLocalFrame,\n SpatialMarkerNode,\n SpatialMarkerTargetRef,\n SpatialMarkerTypeDefinition,\n SpatialMarkerVec3,\n SpatialRelation,\n SpatialRelationEndpoint,\n SpatialRelationTypeDefinition,\n} from '@fps-games/editor-protocol';\nexport {\n createFpsGameEditorLocalEditorHost,\n createFpsGameEditorLocalEditorHostManifest,\n createPlayableLocalEditorHost,\n formatPlayableLocalEditorHostCompatibilityReport,\n inspectPlayableLocalEditorHostManifest,\n PLAYABLE_LOCAL_EDITOR_HOST_MANIFEST_VERSION,\n PLAYABLE_LOCAL_EDITOR_HOST_REQUIRED_CONTRACT,\n} from './playable-local-editor-host.js';\nexport {\n mountFpsGameEditorProductLocalEditor,\n} from './playable-product-local-editor.js';\nexport {\n createFpsGameEditorProductHostAssembly,\n createFpsGameEditorPlayableProjectHostAssembly,\n createFpsGameEditorProductSceneHostOptions,\n} from './playable-product-scene-capabilities.js';\nexport {\n createFpsGameEditorProductProjectionPreview,\n} from './playable-product-projection-preview.js';\nexport { createFpsGameEditorProductRenderingRuntime } from './playable-product-rendering.js';\nexport { createFpsGameEditorStandardProjectRuntime, mountFpsGameEditorStandardProject } from './playable-standard-project.js';\nexport type { FpsGameEditorStandardProjectMountOptions } from './playable-standard-project.js';\nexport type { FpsGameEditorProductRenderingRuntimeOptions } from './playable-product-rendering.js';\nexport type {\n FpsGameEditorProductBabylonModule,\n FpsGameEditorProductProjectionGroundDecalHooks,\n FpsGameEditorProductProjectionImportStats,\n FpsGameEditorProductProjectionPreview,\n FpsGameEditorProductProjectionPreviewOptions,\n} from './playable-product-projection-preview.js';\nexport type {\n FpsGameEditorLocalEditorHostOptions,\n FpsGameEditorLocalEditorHostResult,\n PlayableLocalEditorAuthoringHostLike,\n PlayableLocalEditorAuthoringSourceDriverLike,\n PlayableLocalEditorAssetCreationOptions,\n PlayableLocalEditorAssetCreationResult,\n PlayableLocalEditorAssetReloadResult,\n PlayableLocalEditorAgentContextCapability,\n PlayableLocalEditorAgentContextObjectInput,\n PlayableLocalEditorAgentContextObjectSetInput,\n PlayableLocalEditorAgentContextRegionBindingInput,\n PlayableLocalEditorAssetActionsCapability,\n PlayableLocalEditorAssetBrowserCapability,\n PlayableLocalEditorDocumentLifecycleCapability,\n PlayableLocalEditorHostCompatibilityDiagnostic,\n PlayableLocalEditorHostCompatibilityReport,\n PlayableLocalEditorHostCompatibilitySeverity,\n PlayableLocalEditorHost,\n PlayableLocalEditorHostCapabilities,\n PlayableLocalEditorHostManifest,\n PlayableLocalEditorHostManifestMetadata,\n PlayableLocalEditorDocumentCapability,\n PlayableLocalEditorGridContext,\n PlayableLocalEditorGridFactory,\n PlayableLocalEditorHarnessApi,\n PlayableLocalEditorHistoryOperation,\n PlayableLocalEditorHistoryOperationOptions,\n PlayableLocalEditorHistoryOperationResult,\n PlayableLocalEditorHistoryProjectionResult,\n PlayableLocalEditorHistoryStateResult,\n PlayableLocalEditorHierarchyActionsCapability,\n PlayableLocalEditorHierarchyContextActionContext,\n PlayableLocalEditorHierarchyContextActionPlacement,\n PlayableLocalEditorHierarchyContextActionRegistration,\n PlayableLocalEditorMarkerGraphCapability,\n PlayableLocalEditorMarkerGraphCommand,\n PlayableLocalEditorMultiPropertyCapabilityInput,\n PlayableLocalEditorMultiPropertyPatchInput,\n PlayableLocalEditorPatchResult,\n PlayableLocalEditorPersistenceCapability,\n PlayableLocalEditorPropertyPatchInput,\n PlayableLocalEditorOperationOrigin,\n PlayableLocalEditorPrefabStageCapability,\n PlayableLocalEditorPrefabStageDescriptor,\n PlayableLocalEditorPrefabStageInput,\n PlayableLocalEditorProjectionImpact,\n PlayableLocalEditorProjectionWaitPolicy,\n PlayableLocalEditorRenderingCapability,\n PlayableLocalEditorRenderingPropertyChangeResult,\n PlayableLocalEditorRuntimeInspectorContext,\n PlayableLocalEditorSceneGraphCapability,\n PlayableLocalEditorSelectionCapability,\n PlayableLocalEditorTransformBatchPatchInput,\n PlayableLocalEditorTransformCommandsCapability,\n PlayableLocalEditorTransformInspectorPreviewInput,\n PlayableLocalEditorTransformPatchInput,\n PlayableLocalEditorWorldCapability,\n PlayableLocalEditorWorldOptions,\n PlayableLocalEditorWorldPreviewCapability,\n PlayableLocalEditorInspectorCapability,\n} from './playable-local-editor-host.js';\nexport type {\n FpsGameEditorProductLocalEditorContext,\n FpsGameEditorProductLocalEditorHostOptions,\n FpsGameEditorProductLocalEditorModeSwitcher,\n FpsGameEditorProductLocalEditorOptions,\n FpsGameEditorProductRunGameContext,\n FpsGameEditorProductWindowLike,\n} from './playable-product-local-editor.js';\nexport type {\n FpsGameEditorProductHostAssembly,\n FpsGameEditorProductHostAssemblyInput,\n FpsGameEditorPlayableProjectHostAssemblyOptions,\n FpsGameEditorProductHostRuntimeOptions,\n FpsGameEditorProductSceneDocumentAdapter,\n FpsGameEditorProductSceneHostOptions,\n FpsGameEditorProductSceneHostOptionsInput,\n} from './playable-product-scene-capabilities.js';\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"playable-standard-project.d.ts","sourceRoot":"","sources":["../src/playable-standard-project.ts"],"names":[],"mappings":"AAAA,OAAO,EAOL,KAAK,mBAAmB,EACxB,KAAK,8BAA8B,EACnC,KAAK,yBAAyB,EAC/B,MAAM,gCAAgC,CAAC;AAExC,OAAO,EAAwC,KAAK,2CAA2C,EAAE,MAAM,oCAAoC,CAAC;AAG5I,MAAM,WAAW,wCAAwC;IACvD,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,0BAA0B,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACtD;AAED,wBAAgB,yCAAyC,CACvD,OAAO,EAAE,8BAA8B,EACvC,YAAY,EAAE,yBAAyB,EACvC,OAAO,GAAE,wCAA6C;;;;iCAkB3B,MAAM;;;;;;;;;gBAyFu7K,CAAC;;;;;;iCA7Br4K,GAAG;;;;;;yBADzC,iBAAiB,GAAG,IAAI;;EAOvE;AAED,wBAAgB,iCAAiC,CAC/C,OAAO,EAAE,8BAA8B,EACvC,YAAY,EAAE,yBAAyB,EACvC,OAAO,GAAE,wCAA6C,GACrD,2CAA2C,CAAC,mBAAmB,CAAC,CAGlE"}
1
+ {"version":3,"file":"playable-standard-project.d.ts","sourceRoot":"","sources":["../src/playable-standard-project.ts"],"names":[],"mappings":"AAAA,OAAO,EAOL,KAAK,mBAAmB,EACxB,KAAK,8BAA8B,EACnC,KAAK,yBAAyB,EAC/B,MAAM,gCAAgC,CAAC;AAExC,OAAO,EAAwC,KAAK,2CAA2C,EAAE,MAAM,oCAAoC,CAAC;AAG5I,MAAM,WAAW,wCAAwC;IACvD,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,0BAA0B,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACtD;AAED,wBAAgB,yCAAyC,CACvD,OAAO,EAAE,8BAA8B,EACvC,YAAY,EAAE,yBAAyB,EACvC,OAAO,GAAE,wCAA6C;;;;iCAkB3B,MAAM;;;;;;;;;gBA8F+qK,CAAC;;;;;;iCA7B7nK,GAAG;;;;;;yBADzC,iBAAiB,GAAG,IAAI;;EAOvE;AAED,wBAAgB,iCAAiC,CAC/C,OAAO,EAAE,8BAA8B,EACvC,YAAY,EAAE,yBAAyB,EACvC,OAAO,GAAE,wCAA6C,GACrD,2CAA2C,CAAC,mBAAmB,CAAC,CAGlE"}
@@ -21,6 +21,7 @@ export function createFpsGameEditorStandardProjectRuntime(project, runtimeHooks,
21
21
  ASSET_CATALOG: assetCatalog,
22
22
  resolveAssetUrl(assetId) { return assetCatalog[assetId]?.url ?? null; },
23
23
  };
24
+ let assets = [];
24
25
  const projection = createFpsGameEditorProductProjectionPreview({
25
26
  assetsModule,
26
27
  defaultCamera: scene.defaults.camera,
@@ -41,13 +42,17 @@ export function createFpsGameEditorStandardProjectRuntime(project, runtimeHooks,
41
42
  },
42
43
  createPatchFromAsset: (asset, input) => ({ label: `Add ${input?.name || asset.displayName}`, patch: { kind: 'game-object.create-from-asset', assetItem: asset, ...(input?.name ? { name: input.name } : {}), ...(input?.placement ? { placement: input.placement } : {}) } }),
43
44
  },
44
- lifecycle: { prepareDocument: (document, assets) => {
45
+ lifecycle: { prepareDocument: (document, nextAssets) => {
46
+ assets = nextAssets;
45
47
  for (const key of Object.keys(assetCatalog))
46
48
  delete assetCatalog[key];
47
49
  for (const asset of assets)
48
50
  assetCatalog[asset.assetId] = { ...asset, url: resolveStandardProjectAssetUrl(project, asset) };
49
51
  return scene.ensureEnvironmentDefaults(document);
50
52
  } },
53
+ getInspectorContext: () => ({
54
+ textureAssets: projection.createEditorSceneInspectorTextureAssets(assets),
55
+ }),
51
56
  runtime: {
52
57
  lifecycle: { loadingContent: {
53
58
  enter: { title: 'Entering editor', description: 'Loading the editable scene.' },
@@ -57,14 +62,14 @@ export function createFpsGameEditorStandardProjectRuntime(project, runtimeHooks,
57
62
  assetImport: { title: 'Importing asset', description: 'Updating the project asset library.' },
58
63
  } },
59
64
  persistenceAdapter: {
60
- loadAuthoringSource: async () => { const loaded = await loadSceneMainSource(); return { source: loaded.source, document: loaded.document, summary: loaded.summary }; },
65
+ loadAuthoringSource: async () => { const loaded = await loadSceneMainSource(); return { source: loaded.source, document: loaded.document, assets: loaded.assets, summary: loaded.summary }; },
61
66
  loadAssets: loadEditorAssetLibrary,
62
67
  },
63
68
  worldAdapter: {
64
69
  loadPreviewEngine: () => import('@babylonjs/core'),
65
70
  createPreviewEngine: (babylon, canvas) => new babylon.Engine(canvas, true, { preserveDrawingBuffer: true, stencil: true, antialias: true }),
66
71
  importPreviewAsset: projection.importEditorProjectionModel,
67
- resolveMaterialTextureUrl: (texture) => projection.resolveEditorSceneTextureRefUrl([], texture),
72
+ resolveMaterialTextureUrl: (texture) => projection.resolveEditorSceneTextureRefUrl(assets, texture),
68
73
  resolveAssetId: (asset) => asset.assetId,
69
74
  toBrowserAssetItem: (asset) => ({ id: asset.assetId, label: asset.displayName, kind: asset.kind, origin: asset.origin, placeable: asset.placeable, preview: projection.createEditorSceneLibraryAssetPreview(asset) }),
70
75
  },
@@ -1 +1 @@
1
- {"version":3,"file":"playable-standard-project.js","sourceRoot":"","sources":["../src/playable-standard-project.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"playable-standard-project.js","sourceRoot":"","sources":["../src/playable-standard-project.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n createFpsGameEditorAdapter,\n createFpsGameEditorStandardSceneAssembly,\n loadEditorAssetLibrary,\n loadSceneMainSource,\n saveSceneMainSource,\n type EditorSceneAssetLibraryItem,\n type EditorSceneDocument,\n type FpsGameEditorProjectDefinition,\n type FpsGameEditorRuntimeHooks,\n} from '@fps-games/editor-playable-sdk';\nimport { createFpsGameEditorProductHostAssembly } from './playable-product-scene-capabilities.js';\nimport { mountFpsGameEditorProductLocalEditor, type FpsGameEditorProductLocalEditorModeSwitcher } from './playable-product-local-editor.js';\nimport { createFpsGameEditorProductProjectionPreview } from './playable-product-projection-preview.js';\n\nexport interface FpsGameEditorStandardProjectMountOptions {\n root?: HTMLElement;\n window?: Window;\n agentBridgeSessionMetadata?: Record<string, unknown>;\n}\n\nexport function createFpsGameEditorStandardProjectRuntime(\n project: FpsGameEditorProjectDefinition,\n runtimeHooks: FpsGameEditorRuntimeHooks,\n options: FpsGameEditorStandardProjectMountOptions = {},\n) {\n const adapter = createFpsGameEditorAdapter(project, runtimeHooks);\n const scene = createFpsGameEditorStandardSceneAssembly<any, any, any, any, any>({\n features: project.features,\n markerTypes: [],\n relationTypes: [],\n getRenderingProfile: () => ({ shadows: { defaultMode: 'none' } } as any),\n createPatch: {\n gameObjectField: (targetId, path, value) => ({ kind: 'game-object.field', targetId, path, value }),\n gameObjectFieldBatch: fields => ({ kind: 'game-object.field-batch', fields }),\n materialAssetField: (materialAssetId, path, value) => ({ kind: 'scene.material-asset.field', materialAssetId, path, value }),\n markerGraph: command => ({ kind: 'scene.marker-graph', command }),\n },\n });\n const assetCatalog: Record<string, unknown> = {};\n const assetsModule = {\n ASSET_CATALOG: assetCatalog,\n resolveAssetUrl(assetId: string) { return (assetCatalog[assetId] as { url?: string } | undefined)?.url ?? null; },\n };\n let assets: EditorSceneAssetLibraryItem[] = [];\n const projection = createFpsGameEditorProductProjectionPreview<any, any, any>({\n assetsModule,\n defaultCamera: scene.defaults.camera,\n loadBabylonSceneLoader: async () => { await Function('return import(\"@babylonjs/loaders/glTF\")')(); return import('@babylonjs/core/Loading/sceneLoader'); },\n async resolveModelPathAndFile(value) {\n const url = new URL(value, (options.window ?? window).location.href);\n const slash = url.href.lastIndexOf('/');\n return { path: url.href.slice(0, slash + 1), filename: url.href.slice(slash + 1) };\n },\n });\n const hostAssembly = createFpsGameEditorProductHostAssembly<any, any, any, any, any>({\n scene,\n document: {\n getProjectionNodes: projection.createProjectionNodes,\n getProjectionNode: (document: EditorSceneDocument, id: string) => {\n const object = document.scene.gameObjects.find(entry => entry.id === id);\n return object ? projection.createProjectionNode(document, object) : null;\n },\n createPatchFromAsset: (asset: EditorSceneAssetLibraryItem, input: any) => ({ label: `Add ${input?.name || asset.displayName}`, patch: { kind: 'game-object.create-from-asset', assetItem: asset, ...(input?.name ? { name: input.name } : {}), ...(input?.placement ? { placement: input.placement } : {}) } }),\n },\n lifecycle: { prepareDocument: (document, nextAssets) => {\n assets = nextAssets as EditorSceneAssetLibraryItem[];\n for (const key of Object.keys(assetCatalog)) delete assetCatalog[key];\n for (const asset of assets as EditorSceneAssetLibraryItem[]) assetCatalog[asset.assetId] = { ...asset, url: resolveStandardProjectAssetUrl(project, asset) };\n return scene.ensureEnvironmentDefaults(document);\n } },\n getInspectorContext: () => ({\n textureAssets: projection.createEditorSceneInspectorTextureAssets(assets),\n }),\n runtime: {\n lifecycle: { loadingContent: {\n enter: { title: 'Entering editor', description: 'Loading the editable scene.' },\n saveScene: { title: 'Saving scene', description: 'Writing authored scene data.' },\n saveAndRunGame: { title: 'Saving scene', description: 'Returning to the game.' },\n discardAndRunGame: { title: 'Discarding changes', description: 'Returning to the game.' },\n assetImport: { title: 'Importing asset', description: 'Updating the project asset library.' },\n } },\n persistenceAdapter: {\n loadAuthoringSource: async () => { const loaded = await loadSceneMainSource(); return { source: loaded.source, document: loaded.document, assets: loaded.assets, summary: loaded.summary }; },\n loadAssets: loadEditorAssetLibrary,\n },\n worldAdapter: {\n loadPreviewEngine: () => import('@babylonjs/core'),\n createPreviewEngine: (babylon: any, canvas: HTMLCanvasElement) => new babylon.Engine(canvas, true, { preserveDrawingBuffer: true, stencil: true, antialias: true }),\n importPreviewAsset: projection.importEditorProjectionModel,\n resolveMaterialTextureUrl: (texture: any) => projection.resolveEditorSceneTextureRefUrl(assets, texture),\n resolveAssetId: (asset: EditorSceneAssetLibraryItem) => asset.assetId,\n toBrowserAssetItem: (asset: EditorSceneAssetLibraryItem) => ({ id: asset.assetId, label: asset.displayName, kind: asset.kind, origin: asset.origin, placeable: asset.placeable, preview: projection.createEditorSceneLibraryAssetPreview(asset) }),\n },\n createGrid: projection.createEditorGrid,\n authoring: { drivers: [{ sourceType: 'scene', load: loadSceneMainSource, save: saveSceneMainSource } as any] },\n },\n });\n return {\n adapter, assetsModule, hostAssembly, projection, scene,\n createMountOptions() {\n const runtimeWindow = options.window ?? window;\n return {\n project, root: options.root, window: runtimeWindow,\n agentBridgeSessionMetadata: options.agentBridgeSessionMetadata,\n disposeGameWorld: () => adapter.disposeGameWorld(),\n getCanvas: () => adapter.getCanvas() as HTMLCanvasElement | null,\n ...(typeof runtimeHooks.restartGame === 'function' ? { restartGame: (context: any) => adapter.restartGame(context) } : {}),\n onBeforeReload: () => undefined,\n hostAssembly,\n };\n },\n };\n}\n\nexport function mountFpsGameEditorStandardProject(\n project: FpsGameEditorProjectDefinition,\n runtimeHooks: FpsGameEditorRuntimeHooks,\n options: FpsGameEditorStandardProjectMountOptions = {},\n): FpsGameEditorProductLocalEditorModeSwitcher<EditorSceneDocument> {\n const runtime = createFpsGameEditorStandardProjectRuntime(project, runtimeHooks, options);\n return mountFpsGameEditorProductLocalEditor(runtime.createMountOptions());\n}\n\nfunction resolveStandardProjectAssetUrl(project: FpsGameEditorProjectDefinition, asset: EditorSceneAssetLibraryItem): string | null {\n const metadata = (asset.metadata ?? {}) as Record<string, unknown>;\n const external = (asset.external ?? {}) as Record<string, unknown>;\n const raw = [metadata.url, metadata.assetUrl, metadata.relativePath, external.assetUrl, external.assetPath]\n .find(value => typeof value === 'string' && value.trim()) as string | undefined;\n if (!raw) return null;\n if (/^(https?:|data:|blob:|\\/)/i.test(raw)) return raw;\n const normalized = raw.replace(/\\\\/g, '/');\n const importedMarker = normalized.lastIndexOf('/imported/');\n const relative = importedMarker >= 0 ? normalized.slice(importedMarker + '/imported/'.length) : normalized.replace(/^\\.\\.\\//, '');\n return `${project.assets.publicBase.replace(/\\/$/, '')}/${relative.replace(/^\\//, '')}`;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"static-shadow-cpu-worker.js","sourceRoot":"","sources":["../src/static-shadow-cpu-worker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"static-shadow-cpu-worker.js","sourceRoot":"","sources":["../src/static-shadow-cpu-worker.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n createStaticProjectedShadowSdfTileFromMaskPixels,\n type StaticProjectedShadowBakerSdfTile,\n type StaticProjectedShadowBakerSdfTileInput,\n type StaticProjectedShadowBakerSdfTileProcessor,\n} from '@fps-games/babylon-renderer';\n\nexport interface StaticProjectedShadowCpuWorkerProcessor {\n processSdfTile: StaticProjectedShadowBakerSdfTileProcessor;\n dispose(): void;\n}\n\ntype PendingJob = {\n resolve: (result: StaticProjectedShadowBakerSdfTile | null) => void;\n reject: (error: unknown) => void;\n};\n\nexport function createStaticProjectedShadowCpuWorkerProcessor(): StaticProjectedShadowCpuWorkerProcessor | null {\n const WorkerCtor = globalThis.Worker;\n const BlobCtor = globalThis.Blob;\n const urlApi = globalThis.URL;\n if (!WorkerCtor || !BlobCtor || !urlApi?.createObjectURL) return null;\n let url: string | null = null;\n let worker: Worker | null = null;\n try {\n const blob = new BlobCtor([STATIC_SHADOW_CPU_WORKER_SCRIPT], { type: 'text/javascript' });\n url = urlApi.createObjectURL(blob);\n worker = new WorkerCtor(url, { name: 'StaticShadowBakeWorker' });\n } catch {\n if (url && urlApi.revokeObjectURL) urlApi.revokeObjectURL(url);\n return null;\n }\n\n let nextId = 1;\n const pending = new Map<number, PendingJob>();\n worker.onmessage = (event: MessageEvent) => {\n const data = event.data as {\n id?: number;\n error?: string;\n result?: {\n sdfAlpha: ArrayBuffer;\n width: number;\n height: number;\n hasCoverage: boolean;\n };\n } | null;\n const id = typeof data?.id === 'number' ? data.id : 0;\n const job = pending.get(id);\n if (!job) return;\n pending.delete(id);\n if (data?.error) {\n job.reject(new Error(data.error));\n return;\n }\n const result = data?.result;\n job.resolve(result\n ? {\n sdfAlpha: new Uint8ClampedArray(result.sdfAlpha),\n width: result.width,\n height: result.height,\n hasCoverage: result.hasCoverage,\n }\n : null);\n };\n worker.onerror = (event) => {\n const error = new Error(event.message || 'Static shadow worker failed.');\n for (const job of pending.values()) job.reject(error);\n pending.clear();\n };\n\n const fallback = (input: StaticProjectedShadowBakerSdfTileInput): StaticProjectedShadowBakerSdfTile => (\n createStaticProjectedShadowSdfTileFromMaskPixels(\n input.pixels,\n input.width,\n input.height,\n input.sdfRadiusPx,\n )\n );\n\n return {\n processSdfTile: async (input) => {\n if (!worker) return fallback(input);\n const id = nextId;\n nextId += 1;\n const pixels = copyPixelsToTransferableUint8Array(input.pixels);\n try {\n const result = await new Promise<StaticProjectedShadowBakerSdfTile | null>((resolve, reject) => {\n pending.set(id, { resolve, reject });\n worker?.postMessage({\n id,\n type: 'sdf-tile',\n pixels: pixels.buffer,\n width: input.width,\n height: input.height,\n sdfRadiusPx: input.sdfRadiusPx,\n }, [pixels.buffer]);\n });\n return result ?? fallback(input);\n } catch {\n pending.delete(id);\n return fallback(input);\n }\n },\n dispose: () => {\n for (const job of pending.values()) job.resolve(null);\n pending.clear();\n worker?.terminate();\n worker = null;\n if (url && urlApi.revokeObjectURL) urlApi.revokeObjectURL(url);\n url = null;\n },\n };\n}\n\nfunction copyPixelsToTransferableUint8Array(value: ArrayBufferView): Uint8Array {\n const source = value instanceof Uint8Array || value instanceof Uint8ClampedArray\n ? value\n : new Uint8Array(value.buffer, value.byteOffset, value.byteLength);\n return new Uint8Array(source);\n}\n\nconst STATIC_SHADOW_CPU_WORKER_SCRIPT = `\nself.onmessage = function(event) {\n const data = event.data || {};\n if (data.type !== 'sdf-tile') return;\n try {\n const width = Math.max(0, Math.floor(data.width || 0));\n const height = Math.max(0, Math.floor(data.height || 0));\n const pixels = new Uint8Array(data.pixels);\n const result = createSdfTile(pixels, width, height, Number(data.sdfRadiusPx || 0));\n self.postMessage({\n id: data.id,\n result: {\n sdfAlpha: result.sdfAlpha.buffer,\n width: result.width,\n height: result.height,\n hasCoverage: result.hasCoverage\n }\n }, [result.sdfAlpha.buffer]);\n } catch (error) {\n self.postMessage({ id: data.id, error: error && error.message ? error.message : String(error) });\n }\n};\n\nfunction createSdfTile(pixels, width, height, radiusPx) {\n const pixelCount = Math.max(0, width * height);\n const alpha = new Uint8ClampedArray(pixelCount);\n for (let index = 0; index < pixelCount; index += 1) alpha[index] = pixels[index * 4 + 3] || 0;\n if (!hasCoverage(alpha)) {\n return { sdfAlpha: new Uint8ClampedArray(pixelCount), width, height, hasCoverage: false };\n }\n return { sdfAlpha: createSdfAlpha(alpha, width, height, radiusPx), width, height, hasCoverage: true };\n}\n\nfunction hasCoverage(alpha) {\n for (let index = 0; index < alpha.length; index += 1) if ((alpha[index] || 0) > 0) return true;\n return false;\n}\n\nfunction createSdfAlpha(maskAlpha, width, height, radiusPx) {\n const pixelCount = Math.max(0, width * height);\n const output = new Uint8ClampedArray(pixelCount);\n if (pixelCount === 0) return output;\n const binary = new Uint8Array(pixelCount);\n let insideCount = 0;\n for (let index = 0; index < pixelCount; index += 1) {\n if ((maskAlpha[index] || 0) > 0) {\n binary[index] = 1;\n insideCount += 1;\n }\n }\n if (insideCount === 0) return output;\n if (insideCount === pixelCount) {\n output.fill(255);\n return output;\n }\n const radius = Math.max(0, Number.isFinite(radiusPx) ? radiusPx : 0);\n if (radius <= 0) {\n for (let index = 0; index < pixelCount; index += 1) output[index] = binary[index] ? 255 : 0;\n return output;\n }\n const distToInside = createDistanceTransform(binary, width, height, 1);\n const distToOutside = createDistanceTransform(binary, width, height, 0);\n for (let index = 0; index < pixelCount; index += 1) {\n if (binary[index]) {\n const distance = Math.min(radius, Math.sqrt(distToOutside[index] || 0));\n output[index] = Math.round((0.5 + 0.5 * (distance / radius)) * 255);\n } else {\n const distance = Math.min(radius, Math.sqrt(distToInside[index] || 0));\n output[index] = Math.round((0.5 - 0.5 * (distance / radius)) * 255);\n }\n }\n return output;\n}\n\nfunction createDistanceTransform(binary, width, height, featureValue) {\n const pixelCount = width * height;\n const temp = new Float64Array(pixelCount);\n const output = new Float64Array(pixelCount);\n const rowInput = new Float64Array(width);\n const rowOutput = new Float64Array(width);\n for (let y = 0; y < height; y += 1) {\n const rowOffset = y * width;\n for (let x = 0; x < width; x += 1) rowInput[x] = binary[rowOffset + x] === featureValue ? 0 : 1e20;\n distanceTransform1d(rowInput, rowOutput, width);\n for (let x = 0; x < width; x += 1) temp[rowOffset + x] = rowOutput[x] || 1e20;\n }\n const columnInput = new Float64Array(height);\n const columnOutput = new Float64Array(height);\n for (let x = 0; x < width; x += 1) {\n for (let y = 0; y < height; y += 1) columnInput[y] = temp[y * width + x] || 1e20;\n distanceTransform1d(columnInput, columnOutput, height);\n for (let y = 0; y < height; y += 1) output[y * width + x] = columnOutput[y] || 1e20;\n }\n return output;\n}\n\nfunction distanceTransform1d(input, output, length) {\n if (length <= 0) return;\n const v = new Int32Array(length);\n const z = new Float64Array(length + 1);\n let k = 0;\n v[0] = 0;\n z[0] = -Infinity;\n z[1] = Infinity;\n for (let q = 1; q < length; q += 1) {\n let s = intersection(input, q, v[k]);\n while (s <= z[k]) {\n k -= 1;\n s = intersection(input, q, v[k]);\n }\n k += 1;\n v[k] = q;\n z[k] = s;\n z[k + 1] = Infinity;\n }\n k = 0;\n for (let q = 0; q < length; q += 1) {\n while (z[k + 1] < q) k += 1;\n const distance = q - v[k];\n output[q] = distance * distance + input[v[k]];\n }\n}\n\nfunction intersection(input, q, p) {\n return ((input[q] + q * q) - (input[p] + p * p)) / (2 * q - 2 * p);\n}\n`;\n"]}
package/dist/vite.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"vite.js","sourceRoot":"","sources":["../src/vite.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,2CAA2C,EAC3C,iCAAiC,EACjC,wCAAwC,GACzC,MAAM,gCAAgC,CAAC"}
1
+ {"version":3,"file":"vite.js","sourceRoot":"","sources":["../src/vite.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,2CAA2C,EAC3C,iCAAiC,EACjC,wCAAwC,GACzC,MAAM,gCAAgC,CAAC","sourcesContent":["export {\n createFpsConfiguredPluginManifestVitePlugin,\n createFpsPluginManifestVitePlugin,\n createFpsProjectPluginManifestVitePlugin,\n} from '@fps-games/editor-tooling/vite';\nexport type {\n FpsConfiguredPluginManifestVitePluginOptions,\n FpsPluginManifestVitePlugin,\n FpsPluginManifestVitePluginOptions,\n FpsProjectPluginManifestVitePluginOptions,\n} from '@fps-games/editor-tooling/vite';\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"environment-texture-controller.js","sourceRoot":"","sources":["../../src/environment/environment-texture-controller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"environment-texture-controller.js","sourceRoot":"","sources":["../../src/environment/environment-texture-controller.ts"],"names":[],"mappings":"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","sourcesContent":["import { CubeTexture } from '@babylonjs/core/Materials/Textures/cubeTexture.js';\nimport type { Scene } from '@babylonjs/core/scene.js';\nimport {\n type BabylonEnvironmentTextureController,\n type BabylonEnvironmentTextureControllerOptions,\n type BabylonEnvironmentTextureFactory,\n type BabylonEnvironmentTextureProfile,\n} from './types.js';\nimport { normalizeBabylonEnvironmentTextureProfile } from './profile.js';\n\nexport function createBabylonEnvironmentTextureController(\n scene: Scene,\n initialProfile?: BabylonEnvironmentTextureProfile | null,\n options: BabylonEnvironmentTextureControllerOptions = {},\n): BabylonEnvironmentTextureController {\n return new BabylonEnvironmentTextureControllerImpl(\n scene,\n initialProfile ?? null,\n options.createTexture ?? createDefaultEnvironmentTexture,\n );\n}\n\nclass BabylonEnvironmentTextureControllerImpl implements BabylonEnvironmentTextureController {\n private profile: BabylonEnvironmentTextureProfile | null = null;\n private texture: CubeTexture | null = null;\n private textureUrl = '';\n\n constructor(\n private readonly scene: Scene,\n initialProfile: BabylonEnvironmentTextureProfile | null,\n private readonly createTexture: BabylonEnvironmentTextureFactory,\n ) {\n this.setProfile(initialProfile);\n }\n\n setProfile(profile: BabylonEnvironmentTextureProfile | null | undefined): void {\n if (!profile) {\n this.clearEnvironmentTexture();\n this.profile = null;\n return;\n }\n\n const nextProfile = normalizeBabylonEnvironmentTextureProfile(profile);\n if (!nextProfile.textureUrl) {\n this.clearEnvironmentTexture();\n this.profile = nextProfile;\n (this.scene as unknown as { environmentIntensity?: number }).environmentIntensity = nextProfile.intensity;\n return;\n }\n\n if (!this.texture || this.textureUrl !== nextProfile.textureUrl) {\n const previousTexture = this.texture;\n const nextTexture = this.createEnvironmentTexture(nextProfile.textureUrl);\n this.texture = nextTexture;\n this.textureUrl = nextProfile.textureUrl;\n this.scene.environmentTexture = nextTexture;\n previousTexture?.dispose();\n }\n\n this.profile = nextProfile;\n (this.scene as unknown as { environmentIntensity?: number }).environmentIntensity = nextProfile.intensity;\n if (this.texture) {\n this.texture.level = nextProfile.intensity;\n (this.texture as unknown as { rotationY?: number }).rotationY = nextProfile.rotationY;\n if (this.scene.environmentTexture !== this.texture) {\n this.scene.environmentTexture = this.texture;\n }\n }\n }\n\n async setProfileAsync(\n profile: BabylonEnvironmentTextureProfile | null | undefined,\n signal?: AbortSignal,\n ): Promise<void> {\n if (signal?.aborted) throw createEnvironmentTextureAbortError();\n if (!profile) {\n this.setProfile(profile);\n return;\n }\n const nextProfile = normalizeBabylonEnvironmentTextureProfile(profile);\n if (!nextProfile.textureUrl || (this.texture && this.textureUrl === nextProfile.textureUrl)) {\n this.setProfile(nextProfile);\n return;\n }\n\n const nextTexture = await this.createEnvironmentTextureAsync(nextProfile.textureUrl, signal);\n if (signal?.aborted) {\n throwCandidateTextureFailure(nextTexture, createEnvironmentTextureAbortError());\n }\n try {\n nextTexture.level = nextProfile.intensity;\n (nextTexture as unknown as { rotationY?: number }).rotationY = nextProfile.rotationY;\n } catch (cause) {\n throwCandidateTextureFailure(nextTexture, cause);\n }\n const previousTexture = this.texture;\n this.texture = nextTexture;\n this.textureUrl = nextProfile.textureUrl;\n this.profile = nextProfile;\n this.scene.environmentTexture = nextTexture;\n (this.scene as unknown as { environmentIntensity?: number }).environmentIntensity = nextProfile.intensity;\n previousTexture?.dispose();\n }\n\n getProfile(): BabylonEnvironmentTextureProfile | null {\n return this.profile ? { ...this.profile } : null;\n }\n\n getTexture(): CubeTexture | null {\n return this.texture;\n }\n\n dispose(): void {\n this.clearEnvironmentTexture();\n this.profile = null;\n }\n\n private clearEnvironmentTexture(): void {\n if (this.texture && this.scene.environmentTexture === this.texture) {\n this.scene.environmentTexture = null;\n }\n this.texture?.dispose();\n this.texture = null;\n this.textureUrl = '';\n }\n\n private createEnvironmentTexture(textureUrl: string): CubeTexture {\n try {\n const texture = this.createTexture(textureUrl, this.scene);\n return texture;\n } catch (cause) {\n throw Object.assign(\n new Error(`Failed to create Babylon environment texture: ${textureUrl}`),\n { cause },\n );\n }\n }\n\n private async createEnvironmentTextureAsync(\n textureUrl: string,\n signal?: AbortSignal,\n ): Promise<CubeTexture> {\n return new Promise<CubeTexture>((resolve, reject) => {\n let settled = false;\n let texture: CubeTexture | null = null;\n let loaded = false;\n let pendingError: { message?: string; exception?: unknown } | null = null;\n const removeAbortListener = (): void => signal?.removeEventListener('abort', abort);\n const fail = (message?: string, exception?: unknown): void => {\n if (settled) return;\n if (!texture) {\n pendingError = { message, exception };\n return;\n }\n settled = true;\n removeAbortListener();\n let cleanupError: unknown;\n try { texture.dispose(); } catch (error) { cleanupError = error; }\n reject(Object.assign(\n new Error(message || `Failed to load Babylon environment texture: ${textureUrl}`),\n { cause: exception, ...(cleanupError === undefined ? {} : { cleanupError }) },\n ));\n };\n const complete = (): void => {\n if (settled) return;\n loaded = true;\n if (!texture) return;\n settled = true;\n removeAbortListener();\n resolve(texture);\n };\n const abort = (): void => fail('Babylon environment texture load aborted.', createEnvironmentTextureAbortError());\n signal?.addEventListener('abort', abort, { once: true });\n try {\n texture = this.createTexture(textureUrl, this.scene, {\n onLoad: complete,\n onError: fail,\n });\n } catch (cause) {\n settled = true;\n removeAbortListener();\n reject(Object.assign(\n new Error(`Failed to create Babylon environment texture: ${textureUrl}`),\n { cause },\n ));\n return;\n }\n const synchronousError = pendingError as { message?: string; exception?: unknown } | null;\n if (synchronousError) {\n fail(synchronousError.message, synchronousError.exception);\n } else if (loaded || texture.isReady()) {\n complete();\n }\n });\n }\n}\n\nfunction createEnvironmentTextureAbortError(): Error {\n return Object.assign(new Error('Babylon environment texture load aborted.'), { name: 'AbortError' });\n}\n\nfunction throwCandidateTextureFailure(texture: CubeTexture, failure: unknown): never {\n let cleanupError: unknown;\n try { texture.dispose(); } catch (error) { cleanupError = error; }\n const result = failure && typeof failure === 'object'\n ? failure\n : Object.assign(new Error(String(failure)), { cause: failure });\n if (cleanupError !== undefined) Object.assign(result, { cleanupError });\n throw result;\n}\n\nfunction createDefaultEnvironmentTexture(\n textureUrl: string,\n scene: Scene,\n callbacks: Parameters<BabylonEnvironmentTextureFactory>[2] = {},\n): CubeTexture {\n return new CubeTexture(textureUrl, scene, {\n prefiltered: true,\n createPolynomials: true,\n onLoad: callbacks.onLoad,\n onError: callbacks.onError,\n });\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/environment/index.ts"],"names":[],"mappings":"AAAA,cAAc,qCAAqC,CAAC;AACpD,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/environment/index.ts"],"names":[],"mappings":"AAAA,cAAc,qCAAqC,CAAC;AACpD,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC","sourcesContent":["export * from './environment-texture-controller.js';\nexport * from './profile.js';\nexport * from './types.js';\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"profile.js","sourceRoot":"","sources":["../../src/environment/profile.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,2CAA2C,GAE5C,MAAM,YAAY,CAAC;AAEpB,MAAM,UAAU,yCAAyC,CACvD,KAAc;IAEd,MAAM,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;IACjC,MAAM,QAAQ,GAAG,2CAA2C,CAAC;IAC7D,OAAO;QACL,UAAU,EAAE,gBAAgB,CAAC,MAAM,CAAC,UAAU,CAAC;QAC/C,SAAS,EAAE,qBAAqB,CAAC,MAAM,CAAC,SAAS,EAAE,QAAQ,CAAC,SAAS,CAAC;QACtE,SAAS,EAAE,gBAAgB,CAAC,MAAM,CAAC,SAAS,EAAE,QAAQ,CAAC,SAAS,CAAC;KAClE,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CAAC,KAAc;IAChC,OAAO,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAChE,CAAC,CAAC,KAAgC;QAClC,CAAC,CAAC,EAAE,CAAC;AACT,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAc;IACtC,MAAM,IAAI,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC3D,OAAO,IAAI,IAAI,IAAI,CAAC;AACtB,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAc,EAAE,QAAgB;IACxD,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC;AAChF,CAAC;AAED,SAAS,qBAAqB,CAAC,KAAc,EAAE,QAAgB;IAC7D,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,gBAAgB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC;AACxD,CAAC"}
1
+ {"version":3,"file":"profile.js","sourceRoot":"","sources":["../../src/environment/profile.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,2CAA2C,GAE5C,MAAM,YAAY,CAAC;AAEpB,MAAM,UAAU,yCAAyC,CACvD,KAAc;IAEd,MAAM,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;IACjC,MAAM,QAAQ,GAAG,2CAA2C,CAAC;IAC7D,OAAO;QACL,UAAU,EAAE,gBAAgB,CAAC,MAAM,CAAC,UAAU,CAAC;QAC/C,SAAS,EAAE,qBAAqB,CAAC,MAAM,CAAC,SAAS,EAAE,QAAQ,CAAC,SAAS,CAAC;QACtE,SAAS,EAAE,gBAAgB,CAAC,MAAM,CAAC,SAAS,EAAE,QAAQ,CAAC,SAAS,CAAC;KAClE,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CAAC,KAAc;IAChC,OAAO,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAChE,CAAC,CAAC,KAAgC;QAClC,CAAC,CAAC,EAAE,CAAC;AACT,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAc;IACtC,MAAM,IAAI,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC3D,OAAO,IAAI,IAAI,IAAI,CAAC;AACtB,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAc,EAAE,QAAgB;IACxD,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC;AAChF,CAAC;AAED,SAAS,qBAAqB,CAAC,KAAc,EAAE,QAAgB;IAC7D,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,gBAAgB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC;AACxD,CAAC","sourcesContent":["import {\n DEFAULT_BABYLON_ENVIRONMENT_TEXTURE_PROFILE,\n type BabylonEnvironmentTextureProfile,\n} from './types.js';\n\nexport function normalizeBabylonEnvironmentTextureProfile(\n value: unknown,\n): BabylonEnvironmentTextureProfile {\n const source = readRecord(value);\n const fallback = DEFAULT_BABYLON_ENVIRONMENT_TEXTURE_PROFILE;\n return {\n textureUrl: readStringOrNull(source.textureUrl),\n intensity: readNonNegativeNumber(source.intensity, fallback.intensity),\n rotationY: readFiniteNumber(source.rotationY, fallback.rotationY),\n };\n}\n\nfunction readRecord(value: unknown): Record<string, unknown> {\n return value && typeof value === 'object' && !Array.isArray(value)\n ? value as Record<string, unknown>\n : {};\n}\n\nfunction readStringOrNull(value: unknown): string | null {\n const text = typeof value === 'string' ? value.trim() : '';\n return text || null;\n}\n\nfunction readFiniteNumber(value: unknown, fallback: number): number {\n return typeof value === 'number' && Number.isFinite(value) ? value : fallback;\n}\n\nfunction readNonNegativeNumber(value: unknown, fallback: number): number {\n return Math.max(0, readFiniteNumber(value, fallback));\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/environment/types.ts"],"names":[],"mappings":"AAmCA,MAAM,CAAC,MAAM,2CAA2C,GAAqC;IAC3F,UAAU,EAAE,IAAI;IAChB,SAAS,EAAE,CAAC;IACZ,SAAS,EAAE,CAAC;CACb,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/environment/types.ts"],"names":[],"mappings":"AAmCA,MAAM,CAAC,MAAM,2CAA2C,GAAqC;IAC3F,UAAU,EAAE,IAAI;IAChB,SAAS,EAAE,CAAC;IACZ,SAAS,EAAE,CAAC;CACb,CAAC","sourcesContent":["import type { CubeTexture } from '@babylonjs/core/Materials/Textures/cubeTexture.js';\nimport type { Scene } from '@babylonjs/core/scene.js';\n\nexport interface BabylonEnvironmentTextureLoadCallbacks {\n readonly onLoad?: () => void;\n readonly onError?: (message?: string, exception?: unknown) => void;\n}\n\nexport type BabylonEnvironmentTextureFactory = (\n textureUrl: string,\n scene: Scene,\n callbacks?: BabylonEnvironmentTextureLoadCallbacks,\n) => CubeTexture;\n\nexport interface BabylonEnvironmentTextureControllerOptions {\n readonly createTexture?: BabylonEnvironmentTextureFactory;\n}\n\nexport interface BabylonEnvironmentTextureProfile {\n textureUrl: string | null;\n intensity: number;\n rotationY: number;\n}\n\nexport interface BabylonEnvironmentTextureController {\n setProfile(profile: BabylonEnvironmentTextureProfile | null | undefined): void;\n setProfileAsync(\n profile: BabylonEnvironmentTextureProfile | null | undefined,\n signal?: AbortSignal,\n ): Promise<void>;\n getProfile(): BabylonEnvironmentTextureProfile | null;\n getTexture(): unknown | null;\n dispose(): void;\n}\n\nexport const DEFAULT_BABYLON_ENVIRONMENT_TEXTURE_PROFILE: BabylonEnvironmentTextureProfile = {\n textureUrl: null,\n intensity: 1,\n rotationY: 0,\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,wCAAwC,CAAC;AACvD,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,wBAAwB,CAAC;AACvC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mCAAmC,CAAC;AAClD,cAAc,oCAAoC,CAAC;AACnD,cAAc,oCAAoC,CAAC;AACnD,cAAc,iCAAiC,CAAC;AAChD,cAAc,kCAAkC,CAAC;AACjD,cAAc,4CAA4C,CAAC;AAC3D,cAAc,4CAA4C,CAAC;AAC3D,cAAc,sDAAsD,CAAC;AACrE,cAAc,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,wCAAwC,CAAC;AACvD,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,wBAAwB,CAAC;AACvC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mCAAmC,CAAC;AAClD,cAAc,oCAAoC,CAAC;AACnD,cAAc,oCAAoC,CAAC;AACnD,cAAc,iCAAiC,CAAC;AAChD,cAAc,kCAAkC,CAAC;AACjD,cAAc,4CAA4C,CAAC;AAC3D,cAAc,4CAA4C,CAAC;AAC3D,cAAc,sDAAsD,CAAC;AACrE,cAAc,oBAAoB,CAAC","sourcesContent":["export * from './lighting/directional-light-angles.js';\nexport * from './plugin.js';\nexport * from './reference.js';\nexport * from './environment/index.js';\nexport * from './outlines/index.js';\nexport * from './placement/index.js';\nexport * from './post-process/index.js';\nexport * from './rendering/index.js';\nexport * from './shadows/planar-shadow-system.js';\nexport * from './shadows/planar-shadow-shaders.js';\nexport * from './shadows/dynamic-shadow-system.js';\nexport * from './shadows/blob-shadow-system.js';\nexport * from './shadows/blob-shadow-shaders.js';\nexport * from './shadows/static-projected-shadow-baker.js';\nexport * from './shadows/static-projected-shadow-atlas.js';\nexport * from './shadows/static-projected-shadow-artifact-system.js';\nexport * from './shadows/types.js';\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"directional-light-angles.js","sourceRoot":"","sources":["../../src/lighting/directional-light-angles.ts"],"names":[],"mappings":"AAMA,MAAM,CAAC,MAAM,mCAAmC,GAAwB,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC;AACpG,MAAM,CAAC,MAAM,kCAAkC,GAAG,CAAC,GAAG,CAAC;AACvD,MAAM,CAAC,MAAM,kCAAkC,GAAG,GAAG,CAAC;AACtD,MAAM,CAAC,MAAM,iCAAiC,GAAG,CAAC,EAAE,CAAC;AACrD,MAAM,CAAC,MAAM,iCAAiC,GAAG,EAAE,CAAC;AAEpD,MAAM,UAAU,wBAAwB,CACtC,SAA0C,EAC1C,WAAgC,mCAAmC;IAEnE,MAAM,SAAS,GAAG,SAAS,IAAI,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC;IACxE,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;IACjE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,IAAI,QAAQ,EAAE,CAAC;QACnD,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAC3E,OAAO;YACL,CAAC,EAAE,QAAQ,CAAC,CAAC,GAAG,cAAc;YAC9B,CAAC,EAAE,QAAQ,CAAC,CAAC,GAAG,cAAc;YAC9B,CAAC,EAAE,QAAQ,CAAC,CAAC,GAAG,cAAc;SAC/B,CAAC;IACJ,CAAC;IACD,OAAO;QACL,CAAC,EAAE,SAAS,CAAC,CAAC,GAAG,MAAM;QACvB,CAAC,EAAE,SAAS,CAAC,CAAC,GAAG,MAAM;QACvB,CAAC,EAAE,SAAS,CAAC,CAAC,GAAG,MAAM;KACxB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,SAA0C;IAInF,MAAM,UAAU,GAAG,wBAAwB,CAAC,SAAS,CAAC,CAAC;IACvD,OAAO;QACL,kBAAkB,EAAE,IAAI,CAAC,KAAK,CAAC,qBAAqB,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/G,iBAAiB,EAAE,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;KAC9F,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,yCAAyC,CACvD,kBAA0B,EAC1B,iBAAyB;IAEzB,MAAM,UAAU,GAAG,gBAAgB,CAAC,qBAAqB,CAAC,kBAAkB,CAAC,CAAC,CAAC;IAC/E,MAAM,SAAS,GAAG,gBAAgB,CAAC,WAAW,CAC5C,iBAAiB,EACjB,iCAAiC,EACjC,iCAAiC,CAClC,CAAC,CAAC;IACH,MAAM,gBAAgB,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAC7C,OAAO;QACL,CAAC,EAAE,oBAAoB,CAAC,gBAAgB,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAChE,CAAC,EAAE,oBAAoB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC7C,CAAC,EAAE,oBAAoB,CAAC,gBAAgB,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;KACjE,CAAC;AACJ,CAAC;AAED,SAAS,MAAM,CAAC,KAA0B;IACxC,OAAO,OAAO,KAAK,CAAC,CAAC,KAAK,QAAQ;WAC7B,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;WACxB,OAAO,KAAK,CAAC,CAAC,KAAK,QAAQ;WAC3B,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;WACxB,OAAO,KAAK,CAAC,CAAC,KAAK,QAAQ;WAC3B,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAChC,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAa;IACrC,OAAO,CAAC,KAAK,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;AACjC,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAa;IACrC,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC;AACjC,CAAC;AAED,SAAS,oBAAoB,CAAC,KAAa;IACzC,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,OAAO,CAAC,GAAG,OAAO,CAAC;AAC/C,CAAC;AAED,SAAS,WAAW,CAAC,KAAa,EAAE,GAAW,EAAE,GAAW;IAC1D,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;AAC7C,CAAC;AAED,SAAS,qBAAqB,CAAC,KAAa;IAC1C,MAAM,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC;IAC/D,OAAO,UAAU,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC;AAChD,CAAC"}
1
+ {"version":3,"file":"directional-light-angles.js","sourceRoot":"","sources":["../../src/lighting/directional-light-angles.ts"],"names":[],"mappings":"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","sourcesContent":["export interface BabylonRendererVec3 {\n x: number;\n y: number;\n z: number;\n}\n\nexport const DEFAULT_DIRECTIONAL_LIGHT_DIRECTION: BabylonRendererVec3 = { x: -0.3, y: -1, z: -0.2 };\nexport const LIGHT_DIRECTION_HORIZONTAL_MIN_DEG = -180;\nexport const LIGHT_DIRECTION_HORIZONTAL_MAX_DEG = 180;\nexport const LIGHT_DIRECTION_ELEVATION_MIN_DEG = -90;\nexport const LIGHT_DIRECTION_ELEVATION_MAX_DEG = 90;\n\nexport function normalizeDirectionVector(\n direction: BabylonRendererVec3 | undefined,\n fallback: BabylonRendererVec3 = DEFAULT_DIRECTIONAL_LIGHT_DIRECTION,\n): BabylonRendererVec3 {\n const candidate = direction && isVec3(direction) ? direction : fallback;\n const length = Math.hypot(candidate.x, candidate.y, candidate.z);\n if (!Number.isFinite(length) || length <= 0.000001) {\n const fallbackLength = Math.hypot(fallback.x, fallback.y, fallback.z) || 1;\n return {\n x: fallback.x / fallbackLength,\n y: fallback.y / fallbackLength,\n z: fallback.z / fallbackLength,\n };\n }\n return {\n x: candidate.x / length,\n y: candidate.y / length,\n z: candidate.z / length,\n };\n}\n\nexport function readDirectionalLightAngles(direction: BabylonRendererVec3 | undefined): {\n horizontalAngleDeg: number;\n elevationAngleDeg: number;\n} {\n const normalized = normalizeDirectionVector(direction);\n return {\n horizontalAngleDeg: Math.round(normalizeAngleDegrees(radiansToDegrees(Math.atan2(normalized.z, normalized.x)))),\n elevationAngleDeg: Math.round(radiansToDegrees(Math.asin(clampNumber(-normalized.y, -1, 1)))),\n };\n}\n\nexport function createDirectionalLightDirectionFromAngles(\n horizontalAngleDeg: number,\n elevationAngleDeg: number,\n): BabylonRendererVec3 {\n const horizontal = degreesToRadians(normalizeAngleDegrees(horizontalAngleDeg));\n const elevation = degreesToRadians(clampNumber(\n elevationAngleDeg,\n LIGHT_DIRECTION_ELEVATION_MIN_DEG,\n LIGHT_DIRECTION_ELEVATION_MAX_DEG,\n ));\n const horizontalLength = Math.cos(elevation);\n return {\n x: roundVectorComponent(horizontalLength * Math.cos(horizontal)),\n y: roundVectorComponent(-Math.sin(elevation)),\n z: roundVectorComponent(horizontalLength * Math.sin(horizontal)),\n };\n}\n\nfunction isVec3(value: BabylonRendererVec3): boolean {\n return typeof value.x === 'number'\n && Number.isFinite(value.x)\n && typeof value.y === 'number'\n && Number.isFinite(value.y)\n && typeof value.z === 'number'\n && Number.isFinite(value.z);\n}\n\nfunction radiansToDegrees(value: number): number {\n return (value * 180) / Math.PI;\n}\n\nfunction degreesToRadians(value: number): number {\n return (value * Math.PI) / 180;\n}\n\nfunction roundVectorComponent(value: number): number {\n return Math.round(value * 1000000) / 1000000;\n}\n\nfunction clampNumber(value: number, min: number, max: number): number {\n return Math.min(max, Math.max(min, value));\n}\n\nfunction normalizeAngleDegrees(value: number): number {\n const normalized = ((((value + 180) % 360) + 360) % 360) - 180;\n return normalized === -180 ? 180 : normalized;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"apply.js","sourceRoot":"","sources":["../../../src/outlines/babylon-default/apply.ts"],"names":[],"mappings":"AAAA,OAAO,8CAA8C,CAAC;AACtD,OAAO,EAAE,MAAM,EAAE,MAAM,qCAAqC,CAAC;AAG7D,MAAM,UAAU,0BAA0B,CACxC,MAAe,EACf,OAAqC;IAErC,MAAM,IAAI,GAAG,MAAa,CAAC;IAC3B,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAEpD,IAAI,OAAO,OAAO,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QACzC,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC;IACvC,CAAC;IAED,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QAChC,IAAI,OAAO,CAAC,KAAK,IAAI,IAAI,EAAE,CAAC;YAC1B,IAAI,CAAC;gBAAC,OAAO,CAAC,cAAc,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAA,CAAC;QAChE,CAAC;aAAM,IAAI,OAAO,OAAO,CAAC,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YAC/E,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC;QACpC,CAAC;aAAM,CAAC;YACN,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QAChC,IAAI,OAAO,CAAC,KAAK,IAAI,IAAI,EAAE,CAAC;YAC1B,IAAI,CAAC;gBAAC,OAAO,CAAC,cAAc,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAA,CAAC;QAChE,CAAC;aAAM,CAAC;YACN,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC;YAClC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;gBAAE,OAAO,KAAK,CAAC;YACjG,IAAI,IAAI,CAAC,YAAY,EAAE,cAAc,EAAE,CAAC;gBACtC,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YAC5C,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,YAAY,GAAG,IAAI,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YAC1C,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC"}
1
+ {"version":3,"file":"apply.js","sourceRoot":"","sources":["../../../src/outlines/babylon-default/apply.ts"],"names":[],"mappings":"AAAA,OAAO,8CAA8C,CAAC;AACtD,OAAO,EAAE,MAAM,EAAE,MAAM,qCAAqC,CAAC;AAG7D,MAAM,UAAU,0BAA0B,CACxC,MAAe,EACf,OAAqC;IAErC,MAAM,IAAI,GAAG,MAAa,CAAC;IAC3B,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAEpD,IAAI,OAAO,OAAO,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QACzC,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC;IACvC,CAAC;IAED,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QAChC,IAAI,OAAO,CAAC,KAAK,IAAI,IAAI,EAAE,CAAC;YAC1B,IAAI,CAAC;gBAAC,OAAO,CAAC,cAAc,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAA,CAAC;QAChE,CAAC;aAAM,IAAI,OAAO,OAAO,CAAC,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YAC/E,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC;QACpC,CAAC;aAAM,CAAC;YACN,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QAChC,IAAI,OAAO,CAAC,KAAK,IAAI,IAAI,EAAE,CAAC;YAC1B,IAAI,CAAC;gBAAC,OAAO,CAAC,cAAc,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAA,CAAC;QAChE,CAAC;aAAM,CAAC;YACN,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC;YAClC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;gBAAE,OAAO,KAAK,CAAC;YACjG,IAAI,IAAI,CAAC,YAAY,EAAE,cAAc,EAAE,CAAC;gBACtC,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YAC5C,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,YAAY,GAAG,IAAI,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YAC1C,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC","sourcesContent":["import '@babylonjs/core/Rendering/outlineRenderer.js';\nimport { Color3 } from '@babylonjs/core/Maths/math.color.js';\nimport type { BabylonDefaultOutlineOptions } from './types.js';\n\nexport function applyBabylonDefaultOutline(\n target: unknown,\n options: BabylonDefaultOutlineOptions,\n): boolean {\n const mesh = target as any;\n if (!mesh || typeof mesh !== 'object') return false;\n\n if (typeof options.enabled === 'boolean') {\n mesh.renderOutline = options.enabled;\n }\n\n if (options.width !== undefined) {\n if (options.width == null) {\n try { Reflect.deleteProperty(mesh, 'outlineWidth'); } catch {}\n } else if (typeof options.width === 'number' && Number.isFinite(options.width)) {\n mesh.outlineWidth = options.width;\n } else {\n return false;\n }\n }\n\n if (options.color !== undefined) {\n if (options.color == null) {\n try { Reflect.deleteProperty(mesh, 'outlineColor'); } catch {}\n } else {\n const { r, g, b } = options.color;\n if (![r, g, b].every(value => typeof value === 'number' && Number.isFinite(value))) return false;\n if (mesh.outlineColor?.copyFromFloats) {\n mesh.outlineColor.copyFromFloats(r, g, b);\n } else {\n mesh.outlineColor = new Color3(r, g, b);\n }\n }\n }\n\n return true;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/outlines/babylon-default/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/outlines/babylon-default/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC","sourcesContent":["export * from './apply.js';\nexport type * from './types.js';\n\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/outlines/babylon-default/types.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/outlines/babylon-default/types.ts"],"names":[],"mappings":"","sourcesContent":["import type { BabylonRendererColorRGB } from '../types.js';\n\nexport interface BabylonDefaultOutlineOptions {\n enabled?: boolean;\n width?: number | null;\n color?: BabylonRendererColorRGB | null;\n}\n\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/outlines/index.ts"],"names":[],"mappings":"AAAA,cAAc,4BAA4B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/outlines/index.ts"],"names":[],"mappings":"AAAA,cAAc,4BAA4B,CAAC","sourcesContent":["export * from './babylon-default/index.js';\nexport type * from './types.js';\n\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/outlines/types.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/outlines/types.ts"],"names":[],"mappings":"","sourcesContent":["export type BabylonRendererOutlineStrategy = 'babylon-default';\n\nexport interface BabylonRendererColorRGB {\n r: number;\n g: number;\n b: number;\n}\n\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/placement/index.ts"],"names":[],"mappings":"AAAA,cAAc,4BAA4B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/placement/index.ts"],"names":[],"mappings":"AAAA,cAAc,4BAA4B,CAAC","sourcesContent":["export * from './runtime-drop-position.js';\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"runtime-drop-position.js","sourceRoot":"","sources":["../../src/placement/runtime-drop-position.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runtime-drop-position.js","sourceRoot":"","sources":["../../src/placement/runtime-drop-position.ts"],"names":[],"mappings":"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","sourcesContent":["import { Matrix } from '@babylonjs/core/Maths/math.vector.js';\n\nexport interface BabylonRuntimeDropPosition {\n x: number;\n y: number;\n z: number;\n}\n\nexport interface BabylonRuntimeDropInput {\n position?: unknown;\n clientX?: unknown;\n clientY?: unknown;\n dropSurfaceName?: string | null;\n}\n\nexport interface BabylonRuntimeDropPositionOptions {\n scene?: any | null;\n input: BabylonRuntimeDropInput;\n fallback?: BabylonRuntimeDropPosition;\n}\n\nexport function resolveBabylonRuntimeDropPosition(\n options: BabylonRuntimeDropPositionOptions,\n): BabylonRuntimeDropPosition {\n const explicit = readBabylonRuntimeDropPosition(options.input.position);\n if (explicit) return explicit;\n\n const clientX = readFiniteNumber(options.input.clientX);\n const clientY = readFiniteNumber(options.input.clientY);\n const scene = options.scene ?? null;\n if (scene && clientX != null && clientY != null) {\n const pointer = normalizeBabylonPointerCoordinates(scene, clientX, clientY);\n const picked = scene.pick?.(\n pointer.x,\n pointer.y,\n (mesh: any) => isBabylonRuntimeDropSurfaceMesh(mesh, options.input),\n );\n if (picked?.hit && picked.pickedPoint) {\n return { x: picked.pickedPoint.x, y: picked.pickedPoint.y, z: picked.pickedPoint.z };\n }\n\n const camera = scene.activeCamera ?? scene.cameraToUseForPointers ?? null;\n const ray = camera ? scene.createPickingRay?.(pointer.x, pointer.y, Matrix.Identity(), camera) : null;\n if (ray && Math.abs(ray.direction.y) > 0.00001) {\n const distance = -ray.origin.y / ray.direction.y;\n const point = ray.origin.add(ray.direction.scale(distance));\n return { x: point.x, y: 0, z: point.z };\n }\n }\n\n return options.fallback ?? { x: 0, y: 0, z: 0 };\n}\n\nexport function readBabylonRuntimeDropPosition(value: unknown): BabylonRuntimeDropPosition | null {\n if (!value || typeof value !== 'object') return null;\n const record = value as Record<string, unknown>;\n const x = readFiniteNumber(record.x);\n const y = readFiniteNumber(record.y);\n const z = readFiniteNumber(record.z);\n if (x == null || y == null || z == null) return null;\n return { x, y, z };\n}\n\nexport function normalizeBabylonPointerCoordinates(\n scene: any,\n clientX: number,\n clientY: number,\n): { x: number; y: number } {\n const canvas = scene?.getEngine?.()?.getRenderingCanvas?.() ?? null;\n const rect = canvas?.getBoundingClientRect?.();\n if (!rect) return { x: clientX, y: clientY };\n return { x: clientX - rect.left, y: clientY - rect.top };\n}\n\nexport function isBabylonRuntimeDropSurfaceMesh(mesh: any, input: BabylonRuntimeDropInput): boolean {\n if (!mesh) return false;\n const metadata = mesh.metadata ?? {};\n if (metadata.nonPlaceable === true || metadata.editorOnly === true) return false;\n if (input.dropSurfaceName) return mesh.name === input.dropSurfaceName || mesh.id === input.dropSurfaceName;\n if (metadata.placeable === true || metadata.dropSurface === true) return true;\n const name = String(mesh.name ?? mesh.id ?? '').toLowerCase();\n return name.includes('ground')\n || name.includes('floor')\n || name.includes('plane')\n || name.includes('diban')\n || name.includes('surface');\n}\n\nfunction readFiniteNumber(value: unknown): number | null {\n return typeof value === 'number' && Number.isFinite(value) ? value : null;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,4BAA4B,GAC7B,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EACL,oCAAoC,GACrC,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EACL,oBAAoB,EACpB,uBAAuB,EACvB,qBAAqB,GAGtB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,mBAAmB,EAAsB,MAAM,wBAAwB,CAAC;AACjF,OAAO,EAAE,yCAAyC,EAAE,MAAM,iDAAiD,CAAC;AAC5G,OAAO,EACL,8BAA8B,GAE/B,MAAM,gBAAgB,CAAC;AAKxB,OAAO,EAAE,iDAAiD,EAAE,MAAM,4CAA4C,CAAC;AAK/G,OAAO,EAAE,8BAA8B,EAAE,MAAM,gBAAgB,CAAC;AA2ChE,MAAM,CAAC,MAAM,4BAA4B,GAAG,qBAAqB,CAC/D,8BAA8B,CAC/B,CAAC;AACF,MAAM,CAAC,MAAM,yBAAyB,GAAG,qBAAqB,CAC5D,mCAAmC,CACpC,CAAC;AACF,MAAM,CAAC,MAAM,4BAA4B,GAAG,qBAAqB,CAC/D,8BAA8B,CAC/B,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAG,oBAAoB,CAAC;IAC9C,QAAQ,EAAE,8BAA8B;IACxC,WAAW,EAAE,UAAU;IACvB,QAAQ,CAAC,OAAO;QACd,MAAM,eAAe,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;QAC3E,MAAM,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;QACpE,MAAM,cAAc,GAAG,+BAA+B,CACpD,WAAW,EACX,eAAe,EACf,CAAC,OAAO,CAAC,MAAM,IAAI,EAAE,CAAmC,CACzD,CAAC;QACF,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,4BAA4B,EAAE,cAAc,CAAC,CAAC,CAAC;QACrF,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC,CAAC;IAC9C,CAAC;IACD,KAAK,CAAC,KAAK,CAAC,OAAO;QACjB,MAAM,oCAAoC,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,CAAC;IACnE,CAAC;IACD,KAAK,CAAC,OAAO,CAAC,OAAO;QACnB,MAAO,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,4BAA4B,CAAmD,EAAE,OAAO,EAAE,CAAC;IACjI,CAAC;CACF,CAAC,CAAC;AAEH,MAAM,UAAU,8BAA8B,CAC5C,OAAwC;IAExC,MAAM,QAAQ,GAAG,uBAAuB,CAAC;QACvC,EAAE,EAAE,8BAA8B;QAClC,OAAO,EAAE,OAAO,CAAC,aAAa;QAC9B,UAAU,EAAE,CAAC;QACb,QAAQ,EAAE,EAAE;QACZ,QAAQ,EAAE,EAAE,QAAQ,EAAE,CAAC,sBAAsB,CAAC,EAAE;QAChD,OAAO,EAAE,EAAE,QAAQ,EAAE,YAAY,EAAE;QACnC,oBAAoB,EAAE;YACpB,QAAQ,EAAE;gBACR,QAAQ,EAAE;oBACR,QAAQ,EAAE;wBACR,4BAA4B,CAAC,EAAE;wBAC/B,yBAAyB,CAAC,EAAE;qBAC7B;iBACF;gBACD,QAAQ,EAAE,EAAE,QAAQ,EAAE,CAAC,4BAA4B,CAAC,EAAE,CAAC,EAAE;gBACzD,MAAM,EAAE,CAAC,aAAa,CAAC;aACxB;SACF;KACF,CAAC,CAAC;IACH,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC,CAAC;AAC5D,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,4BAA4B,CAChD,OAAsC;IAEtC,MAAM,MAAM,GAAG,8BAA8B,CAAC,OAAO,CAAC,CAAC;IACvD,MAAM,IAAI,GAAG,mBAAmB,CAAC;QAC/B,WAAW,EAAE,UAAU;QACvB,UAAU,EAAE,CAAC;QACb,SAAS,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC;QAC5B,aAAa,EAAE,EAAE,CAAC,8BAA8B,CAAC,EAAE,OAAO,CAAC,MAAM,IAAI,EAAE,EAAE;QACzE,eAAe,EAAE;YACf,EAAE,KAAK,EAAE,4BAA4B,EAAE,KAAK,EAAE,OAAO,CAAC,OAAO,EAAE;YAC/D,EAAE,KAAK,EAAE,yBAAyB,EAAE,KAAK,EAAE,OAAO,CAAC,IAAI,EAAE;SAC1D;QACD,SAAS,EAAE,KAAK,EAAC,QAAQ,EAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,KAAK,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI;QACxF,MAAM,EAAE,OAAO,CAAC,MAAM;KACvB,CAAC,CAAC;IACH,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;IACnB,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;IACjE,IAAI,kBAAkB,GAAyB,IAAI,CAAC;IACpD,OAAO;QACL,QAAQ,EAAE,8BAA8B;QACxC,IAAI;QACJ,QAAQ;QACR,OAAO,EAAE,GAAG,EAAE;YACZ,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBACxB,MAAM,SAAS,GAAG,CAAC,KAAK,IAAI,EAAE;oBAC5B,MAAM,MAAM,GAAc,EAAE,CAAC;oBAC7B,IAAI,CAAC;wBAAC,MAAM,QAAQ,CAAC,OAAO,EAAE,CAAC;oBAAC,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oBAAC,CAAC;oBACvE,IAAI,CAAC;wBAAC,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;oBAAC,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oBAAC,CAAC;oBACnE,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;wBAAE,MAAM,MAAM,CAAC,CAAC,CAAC,CAAC;oBACzC,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACtB,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,wCAAwC,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;oBACvF,CAAC;gBACH,CAAC,CAAC,EAAE,CAAC;gBACL,kBAAkB,GAAG,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;oBAC3C,kBAAkB,GAAG,IAAI,CAAC;oBAC1B,MAAM,KAAK,CAAC;gBACd,CAAC,CAAC,CAAC;YACL,CAAC;YACD,OAAO,kBAAkB,CAAC;QAC5B,CAAC;KACF,CAAC;AACJ,CAAC;AAMD,SAAS,+BAA+B,CACtC,WAA2B,EAC3B,OAAkC,EAClC,MAAsC;IAEtC,MAAM,eAAe,GAAG,+BAA+B,CAAC,WAAW,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;IACtF,IAAI,IAAI,GAAG,eAAe,CAAC,IAAI,CAAC;IAChC,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,IAAI,gBAAgB,GAAG,IAAI,CAAC;IAC5B,IAAI,WAAW,GAA2B,IAAI,CAAC;IAC/C,IAAI,KAAK,GAAkB,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7C,IAAI,cAAc,GAAyB,IAAI,CAAC;IAChD,MAAM,0BAA0B,GAAG,OAAO,CAAC,KAAK,CAAC,kBAAkB,CAAC;IACpE,MAAM,kBAAkB,GAAG,OAAO,CAAC,KAAqD,CAAC;IACzF,MAAM,4BAA4B,GAAG,kBAAkB,CAAC,oBAAoB,CAAC;IAC7E,MAAM,WAAW,GAAG,yCAAyC,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE;QACjF,aAAa,EAAE,OAAO,CAAC,wBAAwB;KAChD,CAAC,CAAC;IACH,MAAM,WAAW,GAAG,iDAAiD,CACnE,OAAO,CAAC,KAAK,EACb,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,EACpB,IAAI,CACL,CAAC;IAEF,MAAM,+BAA+B,GAAG,GAAS,EAAE;QACjD,OAAO,CAAC,KAAK,CAAC,kBAAkB,GAAG,0BAA0B,CAAC;QAC9D,IAAI,4BAA4B,KAAK,SAAS;YAAE,OAAO,kBAAkB,CAAC,oBAAoB,CAAC;;YAC1F,kBAAkB,CAAC,oBAAoB,GAAG,4BAA4B,CAAC;IAC9E,CAAC,CAAC;IAEF,MAAM,OAAO,GAAG,GAAS,EAAE;QACzB,MAAM,aAAa,GAAc,EAAE,CAAC;QACpC,IAAI,CAAC;YAAC,WAAW,CAAC,OAAO,EAAE,CAAC;QAAC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAAC,CAAC;QAC3E,IAAI,CAAC;YAAC,WAAW,CAAC,OAAO,EAAE,CAAC;QAAC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAAC,CAAC;QAC3E,IAAI,CAAC;YAAC,+BAA+B,EAAE,CAAC;QAAC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAAC,CAAC;QACvF,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7B,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;YAC5D,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,aAAa,EAAE,CAAC,CAAC;YACxC,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,MAAM,GAAG,KAAK,EAClB,QAA0C,EAC1C,MAAmB,EACJ,EAAE;QACjB,MAAM,mBAAmB,GAAG,WAAW,CAAC,UAAU,EAAE,CAAC;QACrD,MAAM,yBAAyB,GAAG,WAAW,CAAC,UAAU,EAAE,CAAC;QAC3D,MAAM,oBAAoB,GAAG,OAAO,CAAC,KAAK,CAAC,kBAAkB,CAAC;QAC9D,MAAM,sBAAsB,GAAG,kBAAkB,CAAC,oBAAoB,CAAC;QACvE,MAAM,mBAAmB,GAAG,WAAW,CAAC,UAAU,EAAE,CAAC;QACrD,IAAI,CAAC;YACH,WAAW,CAAC,UAAU,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;YAC7C,MAAM,WAAW,CAAC,eAAe,CAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;YAChE,IAAI,MAAM,CAAC,OAAO;gBAAE,MAAM,kCAAkC,EAAE,CAAC;YAC/D,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;QACvB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,cAAc,GAAc,EAAE,CAAC;YACrC,IAAI,CAAC;gBAAC,MAAM,WAAW,CAAC,eAAe,CAAC,mBAAmB,CAAC,CAAC;YAAC,CAAC;YAAC,OAAO,aAAa,EAAE,CAAC;gBAAC,cAAc,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YAAC,CAAC;YAC7H,IAAI,CAAC;gBAAC,WAAW,CAAC,UAAU,CAAC,mBAAmB,CAAC,CAAC;YAAC,CAAC;YAAC,OAAO,aAAa,EAAE,CAAC;gBAAC,cAAc,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YAAC,CAAC;YAClH,IAAI,CAAC;gBACH,IAAI,oBAAoB,KAAK,yBAAyB,EAAE,CAAC;oBACvD,OAAO,CAAC,KAAK,CAAC,kBAAkB,GAAG,oBAAoB,CAAC;gBAC1D,CAAC;gBACD,IAAI,sBAAsB,KAAK,SAAS;oBAAE,OAAO,kBAAkB,CAAC,oBAAoB,CAAC;;oBACpF,kBAAkB,CAAC,oBAAoB,GAAG,sBAAsB,CAAC;YACxE,CAAC;YAAC,OAAO,aAAa,EAAE,CAAC;gBACvB,cAAc,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YACrC,CAAC;YACD,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBACpE,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,cAAc,EAAE,CAAC,CAAC;YAC3C,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,OAAO,GAAG,CAAC,QAA0C,EAAiB,EAAE;QAC5E,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE;YACtC,IAAI,CAAC,gBAAgB,IAAI,QAAQ;gBAAE,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;YAC5F,MAAM,KAAK,GAAG,IAAI,eAAe,EAAE,CAAC;YACpC,WAAW,GAAG,KAAK,CAAC;YACpB,IAAI,CAAC;gBACH,MAAM,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;YACvC,CAAC;oBAAS,CAAC;gBACT,IAAI,WAAW,KAAK,KAAK;oBAAE,WAAW,GAAG,IAAI,CAAC;YAChD,CAAC;QACH,CAAC,CAAC,CAAC;QACH,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QACzD,OAAO,SAAS,CAAC;IACnB,CAAC,CAAC;IAEF,MAAM,OAAO,GAAsC;QACjD,WAAW;QACX,WAAW;QACX,cAAc,EAAE,GAAG,EAAE,CAAC,IAAI;QAC1B,UAAU,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,eAAe,CAAC;QAC1C,KAAK,CAAC,MAAM,CAAC,QAAQ;YACnB,IAAI,CAAC,gBAAgB,IAAI,QAAQ;gBAAE,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;YAC5F,MAAM,OAAO,CAAC,+BAA+B,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;QAC5E,CAAC;QACD,KAAK,CAAC,OAAO;YACX,IAAI,cAAc;gBAAE,OAAO,cAAc,CAAC;YAC1C,gBAAgB,GAAG,KAAK,CAAC;YACzB,WAAW,EAAE,KAAK,EAAE,CAAC;YACrB,MAAM,SAAS,GAAG,CAAC,KAAK,IAAI,EAAE;gBAC5B,MAAM,KAAK,CAAC;gBACZ,IAAI,QAAQ;oBAAE,OAAO;gBACrB,OAAO,EAAE,CAAC;gBACV,QAAQ,GAAG,IAAI,CAAC;YAClB,CAAC,CAAC,EAAE,CAAC;YACL,cAAc,GAAG,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;gBACvC,cAAc,GAAG,IAAI,CAAC;gBACtB,MAAM,KAAK,CAAC;YACd,CAAC,CAAC,CAAC;YACH,OAAO,cAAc,CAAC;QACxB,CAAC;KACF,CAAC;IACF,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,oCAAoC,CAC3C,OAA4D;IAE5D,OAAO,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,4BAA4B,CAAsC,CAAC;AACjG,CAAC;AAED,SAAS,kCAAkC;IACzC,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,kCAAkC,CAAC,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC;AAC9F,CAAC;AAYD,SAAS,+BAA+B,CACtC,KAAqB,EACrB,OAAkC,EAClC,MAAsC;IAEtC,MAAM,IAAI,GAAG,4BAA4B,CAAC,KAAK,CAAC,CAAC;IACjD,MAAM,OAAO,GAAG,oCAAoC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACrE,MAAM,UAAU,GAAG,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC;IAC/C,MAAM,YAAY,GAAG,UAAU,EAAE,cAAc;QAC7C,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,UAAU,CAAC,cAAc,CAAC,IAAI,IAAI;QAC3E,CAAC,CAAC,IAAI,CAAC;IACT,MAAM,UAAU,GAAG,UAAU,EAAE,GAAG;WAC7B,CAAC,UAAU,EAAE,cAAc;YAC5B,CAAC,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC,UAAU,CAAC,cAAc,EAAE,YAAY,CAAC,IAAI,YAAY,EAAE,GAAG,IAAI,IAAI;YACjG,CAAC,CAAC,IAAI,CAAC;WACN,MAAM,CAAC,kBAAkB;WACzB,IAAI,CAAC;IACV,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,IAAI;QACJ,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC;YACzB,UAAU;YACV,SAAS,EAAE,OAAO,CAAC,WAAW,CAAC,YAAY;YAC3C,SAAS,EAAE,OAAO,CAAC,WAAW,CAAC,SAAS;SACzC,CAAC;QACF,WAAW,EAAE,OAAO,CAAC,WAAW;KACjC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Camera } from '@babylonjs/core/Cameras/camera.js';\nimport type { Scene } from '@babylonjs/core/scene.js';\nimport type { FpsRuntimeAsset, FpsRuntimeData } from '@fps-games/playable-contracts';\nimport {\n createFpsRuntimeDataSnapshot,\n} from '@fps-games/playable-runtime-data';\nimport {\n normalizeEditorSceneRenderingProfile,\n} from '@fps-games/playable-rendering/runtime';\nimport {\n defineFpsPluginEntry,\n defineFpsPluginManifest,\n defineFpsServiceToken,\n type FpsPluginEntry,\n type FpsPluginManifest,\n} from '@fps-games/plugin-api';\nimport { createFpsPluginHost, type FpsPluginHost } from '@fps-games/plugin-host';\nimport { createBabylonEnvironmentTextureController } from './environment/environment-texture-controller.js';\nimport {\n FPS_BABYLON_RENDERER_PLUGIN_ID,\n type FpsBabylonRendererPluginConfig,\n} from './reference.js';\nimport type {\n BabylonEnvironmentTextureController,\n BabylonEnvironmentTextureFactory,\n} from './environment/types.js';\nimport { createBabylonDefaultPostProcessPipelineController } from './post-process/babylon-default-pipeline.js';\nimport type {\n BabylonDefaultPostProcessPipelineController,\n} from './post-process/types.js';\n\nexport { FPS_BABYLON_RENDERER_PLUGIN_ID } from './reference.js';\n\nexport interface FpsBabylonRendererContext {\n readonly scene: Scene;\n readonly cameras: readonly Camera[];\n readonly resolveAssetUrl?: (\n assetId: string,\n asset: FpsRuntimeAsset | null,\n ) => string | null;\n readonly createEnvironmentTexture?: BabylonEnvironmentTextureFactory;\n}\n\nexport interface FpsBabylonRendererService {\n readonly environment: BabylonEnvironmentTextureController;\n readonly postProcess: BabylonDefaultPostProcessPipelineController;\n getRuntimeData(): FpsRuntimeData;\n update(data: FpsRuntimeData): Promise<void>;\n dispose(): Promise<void>;\n}\n\nexport interface FpsBabylonRendererPlugin {\n readonly manifest: Readonly<FpsPluginManifest>;\n readonly renderer: Readonly<FpsPluginEntry>;\n}\n\nexport interface FpsBabylonRendererPluginOptions {\n readonly pluginVersion: string;\n}\n\nexport interface FpsBabylonRendererHostOptions extends FpsBabylonRendererPluginOptions {\n readonly data: FpsRuntimeData;\n readonly context: FpsBabylonRendererContext;\n readonly config?: FpsBabylonRendererPluginConfig;\n readonly report?: Parameters<typeof createFpsPluginHost>[0]['report'];\n}\n\nexport interface FpsBabylonRendererHost {\n readonly pluginId: typeof FPS_BABYLON_RENDERER_PLUGIN_ID;\n readonly host: FpsPluginHost;\n readonly renderer: FpsBabylonRendererService;\n dispose(): Promise<void>;\n}\n\nexport const FPS_BABYLON_RENDERER_CONTEXT = defineFpsServiceToken<FpsBabylonRendererContext>(\n 'fps.renderer.babylon.context',\n);\nexport const FPS_BABYLON_RENDERER_DATA = defineFpsServiceToken<FpsRuntimeData>(\n 'fps.renderer.babylon.runtime-data',\n);\nexport const FPS_BABYLON_RENDERER_SERVICE = defineFpsServiceToken<FpsBabylonRendererService>(\n 'fps.renderer.babylon.service',\n);\n\nexport const pluginEntry = defineFpsPluginEntry({\n pluginId: FPS_BABYLON_RENDERER_PLUGIN_ID,\n environment: 'renderer',\n register(context) {\n const rendererContext = context.services.get(FPS_BABYLON_RENDERER_CONTEXT);\n const runtimeData = context.services.get(FPS_BABYLON_RENDERER_DATA);\n const createdService = createFpsBabylonRendererService(\n runtimeData,\n rendererContext,\n (context.config ?? {}) as FpsBabylonRendererPluginConfig,\n );\n context.add(context.services.register(FPS_BABYLON_RENDERER_SERVICE, createdService));\n context.add(() => createdService.dispose());\n },\n async start(context) {\n await getFpsBabylonRendererInternalService(context).initialize();\n },\n async dispose(context) {\n await (context.services.getOptional(FPS_BABYLON_RENDERER_SERVICE) as FpsBabylonRendererInternalService | undefined)?.dispose();\n },\n});\n\nexport function createFpsBabylonRendererPlugin(\n options: FpsBabylonRendererPluginOptions,\n): FpsBabylonRendererPlugin {\n const manifest = defineFpsPluginManifest({\n id: FPS_BABYLON_RENDERER_PLUGIN_ID,\n version: options.pluginVersion,\n apiVersion: 1,\n requires: {},\n provides: { features: ['fps.renderer.babylon'] },\n entries: { renderer: './renderer' },\n environmentContracts: {\n renderer: {\n requires: {\n services: [\n FPS_BABYLON_RENDERER_CONTEXT.id,\n FPS_BABYLON_RENDERER_DATA.id,\n ],\n },\n provides: { services: [FPS_BABYLON_RENDERER_SERVICE.id] },\n scopes: ['application'],\n },\n },\n });\n return Object.freeze({ manifest, renderer: pluginEntry });\n}\n\nexport async function createFpsBabylonRendererHost(\n options: FpsBabylonRendererHostOptions,\n): Promise<FpsBabylonRendererHost> {\n const plugin = createFpsBabylonRendererPlugin(options);\n const host = createFpsPluginHost({\n environment: 'renderer',\n apiVersion: 1,\n manifests: [plugin.manifest],\n pluginConfigs: { [FPS_BABYLON_RENDERER_PLUGIN_ID]: options.config ?? {} },\n initialServices: [\n { token: FPS_BABYLON_RENDERER_CONTEXT, value: options.context },\n { token: FPS_BABYLON_RENDERER_DATA, value: options.data },\n ],\n loadEntry: async manifest => manifest.id === plugin.manifest.id ? plugin.renderer : null,\n report: options.report,\n });\n await host.start();\n const renderer = host.services.get(FPS_BABYLON_RENDERER_SERVICE);\n let hostDisposePromise: Promise<void> | null = null;\n return {\n pluginId: FPS_BABYLON_RENDERER_PLUGIN_ID,\n host,\n renderer,\n dispose: () => {\n if (!hostDisposePromise) {\n const operation = (async () => {\n const errors: unknown[] = [];\n try { await renderer.dispose(); } catch (error) { errors.push(error); }\n try { await host.dispose(); } catch (error) { errors.push(error); }\n if (errors.length === 1) throw errors[0];\n if (errors.length > 1) {\n throw Object.assign(new Error('Babylon renderer host disposal failed.'), { errors });\n }\n })();\n hostDisposePromise = operation.catch(error => {\n hostDisposePromise = null;\n throw error;\n });\n }\n return hostDisposePromise;\n },\n };\n}\n\ninterface FpsBabylonRendererInternalService extends FpsBabylonRendererService {\n initialize(): Promise<void>;\n}\n\nfunction createFpsBabylonRendererService(\n initialData: FpsRuntimeData,\n context: FpsBabylonRendererContext,\n config: FpsBabylonRendererPluginConfig,\n): FpsBabylonRendererInternalService {\n const initialPrepared = prepareFpsBabylonRendererUpdate(initialData, context, config);\n let data = initialPrepared.data;\n let disposed = false;\n let acceptingUpdates = true;\n let activeAbort: AbortController | null = null;\n let queue: Promise<void> = Promise.resolve();\n let disposePromise: Promise<void> | null = null;\n const originalEnvironmentTexture = context.scene.environmentTexture;\n const sceneWithIntensity = context.scene as unknown as { environmentIntensity?: number };\n const originalEnvironmentIntensity = sceneWithIntensity.environmentIntensity;\n const environment = createBabylonEnvironmentTextureController(context.scene, null, {\n createTexture: context.createEnvironmentTexture,\n });\n const postProcess = createBabylonDefaultPostProcessPipelineController(\n context.scene,\n [...context.cameras],\n null,\n );\n\n const restoreOriginalSceneEnvironment = (): void => {\n context.scene.environmentTexture = originalEnvironmentTexture;\n if (originalEnvironmentIntensity === undefined) delete sceneWithIntensity.environmentIntensity;\n else sceneWithIntensity.environmentIntensity = originalEnvironmentIntensity;\n };\n\n const cleanup = (): void => {\n const cleanupErrors: unknown[] = [];\n try { postProcess.dispose(); } catch (error) { cleanupErrors.push(error); }\n try { environment.dispose(); } catch (error) { cleanupErrors.push(error); }\n try { restoreOriginalSceneEnvironment(); } catch (error) { cleanupErrors.push(error); }\n if (cleanupErrors.length > 0) {\n const error = new Error('Babylon renderer cleanup failed.');\n Object.assign(error, { cleanupErrors });\n throw error;\n }\n };\n\n const commit = async (\n prepared: FpsBabylonRendererPreparedUpdate,\n signal: AbortSignal,\n ): Promise<void> => {\n const previousEnvironment = environment.getProfile();\n const previousControllerTexture = environment.getTexture();\n const previousSceneTexture = context.scene.environmentTexture;\n const previousSceneIntensity = sceneWithIntensity.environmentIntensity;\n const previousPostProcess = postProcess.getProfile();\n try {\n postProcess.setProfile(prepared.postProcess);\n await environment.setProfileAsync(prepared.environment, signal);\n if (signal.aborted) throw createFpsBabylonRendererAbortError();\n data = prepared.data;\n } catch (error) {\n const rollbackErrors: unknown[] = [];\n try { await environment.setProfileAsync(previousEnvironment); } catch (rollbackError) { rollbackErrors.push(rollbackError); }\n try { postProcess.setProfile(previousPostProcess); } catch (rollbackError) { rollbackErrors.push(rollbackError); }\n try {\n if (previousSceneTexture !== previousControllerTexture) {\n context.scene.environmentTexture = previousSceneTexture;\n }\n if (previousSceneIntensity === undefined) delete sceneWithIntensity.environmentIntensity;\n else sceneWithIntensity.environmentIntensity = previousSceneIntensity;\n } catch (rollbackError) {\n rollbackErrors.push(rollbackError);\n }\n if (rollbackErrors.length > 0 && error && typeof error === 'object') {\n Object.assign(error, { rollbackErrors });\n }\n throw error;\n }\n };\n\n const enqueue = (prepared: FpsBabylonRendererPreparedUpdate): Promise<void> => {\n const operation = queue.then(async () => {\n if (!acceptingUpdates || disposed) throw new Error('Babylon renderer service is disposed.');\n const abort = new AbortController();\n activeAbort = abort;\n try {\n await commit(prepared, abort.signal);\n } finally {\n if (activeAbort === abort) activeAbort = null;\n }\n });\n queue = operation.then(() => undefined, () => undefined);\n return operation;\n };\n\n const service: FpsBabylonRendererInternalService = {\n environment,\n postProcess,\n getRuntimeData: () => data,\n initialize: () => enqueue(initialPrepared),\n async update(nextData) {\n if (!acceptingUpdates || disposed) throw new Error('Babylon renderer service is disposed.');\n await enqueue(prepareFpsBabylonRendererUpdate(nextData, context, config));\n },\n async dispose() {\n if (disposePromise) return disposePromise;\n acceptingUpdates = false;\n activeAbort?.abort();\n const operation = (async () => {\n await queue;\n if (disposed) return;\n cleanup();\n disposed = true;\n })();\n disposePromise = operation.catch(error => {\n disposePromise = null;\n throw error;\n });\n return disposePromise;\n },\n };\n return service;\n}\n\nfunction getFpsBabylonRendererInternalService(\n context: Parameters<NonNullable<FpsPluginEntry['start']>>[0],\n): FpsBabylonRendererInternalService {\n return context.services.get(FPS_BABYLON_RENDERER_SERVICE) as FpsBabylonRendererInternalService;\n}\n\nfunction createFpsBabylonRendererAbortError(): Error {\n return Object.assign(new Error('Babylon renderer update aborted.'), { name: 'AbortError' });\n}\n\ninterface FpsBabylonRendererPreparedUpdate {\n readonly data: FpsRuntimeData;\n readonly environment: {\n readonly textureUrl: string | null;\n readonly intensity: number;\n readonly rotationY: number;\n };\n readonly postProcess: ReturnType<typeof normalizeEditorSceneRenderingProfile>['postProcess'];\n}\n\nfunction prepareFpsBabylonRendererUpdate(\n input: FpsRuntimeData,\n context: FpsBabylonRendererContext,\n config: FpsBabylonRendererPluginConfig,\n): FpsBabylonRendererPreparedUpdate {\n const data = createFpsRuntimeDataSnapshot(input);\n const profile = normalizeEditorSceneRenderingProfile(data.rendering);\n const textureRef = profile.environment.texture;\n const textureAsset = textureRef?.textureAssetId\n ? data.assets.find(asset => asset.id === textureRef.textureAssetId) ?? null\n : null;\n const textureUrl = textureRef?.url\n ?? (textureRef?.textureAssetId\n ? context.resolveAssetUrl?.(textureRef.textureAssetId, textureAsset) ?? textureAsset?.url ?? null\n : null)\n ?? config.environmentTexture\n ?? null;\n return Object.freeze({\n data,\n environment: Object.freeze({\n textureUrl,\n intensity: profile.environment.iblIntensity,\n rotationY: profile.environment.rotationY,\n }),\n postProcess: profile.postProcess,\n });\n}\n"]}