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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (652) hide show
  1. package/dist/agent-bridge/capabilities/assets.js.map +1 -1
  2. package/dist/agent-bridge/capabilities/editor-state.d.ts.map +1 -1
  3. package/dist/agent-bridge/capabilities/editor-state.js +26 -17
  4. package/dist/agent-bridge/capabilities/editor-state.js.map +1 -1
  5. package/dist/agent-bridge/capabilities/host-lifecycle.js.map +1 -1
  6. package/dist/agent-bridge/capabilities/prefabs.d.ts.map +1 -1
  7. package/dist/agent-bridge/capabilities/prefabs.js +61 -13
  8. package/dist/agent-bridge/capabilities/prefabs.js.map +1 -1
  9. package/dist/agent-bridge/capabilities/scene-objects.d.ts +1 -1
  10. package/dist/agent-bridge/capabilities/scene-objects.d.ts.map +1 -1
  11. package/dist/agent-bridge/capabilities/scene-objects.js +110 -25
  12. package/dist/agent-bridge/capabilities/scene-objects.js.map +1 -1
  13. package/dist/agent-bridge/capabilities/selection.d.ts.map +1 -1
  14. package/dist/agent-bridge/capabilities/selection.js +8 -5
  15. package/dist/agent-bridge/capabilities/selection.js.map +1 -1
  16. package/dist/agent-bridge/capabilities/shadows.d.ts.map +1 -1
  17. package/dist/agent-bridge/capabilities/shadows.js +11 -2
  18. package/dist/agent-bridge/capabilities/shadows.js.map +1 -1
  19. package/dist/agent-bridge/capabilities/transform.d.ts.map +1 -1
  20. package/dist/agent-bridge/capabilities/transform.js +6 -4
  21. package/dist/agent-bridge/capabilities/transform.js.map +1 -1
  22. package/dist/agent-bridge/capabilities/ui-regions.js.map +1 -1
  23. package/dist/agent-bridge/capabilities/viewport.d.ts.map +1 -1
  24. package/dist/agent-bridge/capabilities/viewport.js +79 -47
  25. package/dist/agent-bridge/capabilities/viewport.js.map +1 -1
  26. package/dist/agent-bridge/capability-sources.js.map +1 -1
  27. package/dist/agent-bridge/diagnostics.js.map +1 -1
  28. package/dist/agent-bridge/index.js.map +1 -1
  29. package/dist/agent-bridge/register.js.map +1 -1
  30. package/dist/agent-bridge/shared.d.ts +8 -3
  31. package/dist/agent-bridge/shared.d.ts.map +1 -1
  32. package/dist/agent-bridge/shared.js +32 -0
  33. package/dist/agent-bridge/shared.js.map +1 -1
  34. package/dist/agent-bridge/source-types.js.map +1 -1
  35. package/dist/authoring-apply.js.map +1 -1
  36. package/dist/build-info.json +48 -48
  37. package/dist/editor-plugin-agent-capabilities.js.map +1 -1
  38. package/dist/editor-plugin-hierarchy-command.js.map +1 -1
  39. package/dist/index.js.map +1 -1
  40. package/dist/internal/local-editor-lifecycle-operations.js.map +1 -1
  41. package/dist/local-editor-agent-actions.d.ts.map +1 -1
  42. package/dist/local-editor-agent-actions.js +9 -5
  43. package/dist/local-editor-agent-actions.js.map +1 -1
  44. package/dist/local-editor-agent-bridge-transport.js.map +1 -1
  45. package/dist/local-editor-agent-bridge.js.map +1 -1
  46. package/dist/local-editor-agent-context.js.map +1 -1
  47. package/dist/local-editor-harness.d.ts +57 -1
  48. package/dist/local-editor-harness.d.ts.map +1 -1
  49. package/dist/local-editor-harness.js +393 -41
  50. package/dist/local-editor-harness.js.map +1 -1
  51. package/dist/local-editor-marker-graph.js.map +1 -1
  52. package/dist/local-editor-performance-stats.js.map +1 -1
  53. package/dist/local-editor-plugin-inspector.js.map +1 -1
  54. package/dist/local-editor-plugin-panel.js.map +1 -1
  55. package/dist/local-editor-scene-render-scheduler.js.map +1 -1
  56. package/dist/local-editor-scene-view-interaction-runtime.js.map +1 -1
  57. package/dist/local-editor-viewport-render-coordinator.js.map +1 -1
  58. package/dist/playable-babylon-facade.js.map +1 -1
  59. package/dist/playable-babylon-outline-inspector.js.map +1 -1
  60. package/dist/playable-babylon-outline-runtime.js.map +1 -1
  61. package/dist/playable-babylon-rendering.js.map +1 -1
  62. package/dist/playable-local-editor-host.d.ts +36 -0
  63. package/dist/playable-local-editor-host.d.ts.map +1 -1
  64. package/dist/playable-local-editor-host.js.map +1 -1
  65. package/dist/playable-product-local-editor.js.map +1 -1
  66. package/dist/playable-product-projection-preview.js.map +1 -1
  67. package/dist/playable-product-rendering.js.map +1 -1
  68. package/dist/playable-product-scene-capabilities.d.ts.map +1 -1
  69. package/dist/playable-product-scene-capabilities.js +49 -2
  70. package/dist/playable-product-scene-capabilities.js.map +1 -1
  71. package/dist/playable-runtime-babylon.js.map +1 -1
  72. package/dist/playable-runtime.js.map +1 -1
  73. package/dist/playable-sdk-upgrade-doctor.js.map +1 -1
  74. package/dist/playable-sdk-vite.js.map +1 -1
  75. package/dist/playable-sdk.js.map +1 -1
  76. package/dist/playable-standard-project.js.map +1 -1
  77. package/dist/static-shadow-cpu-worker.js.map +1 -1
  78. package/dist/vite.js.map +1 -1
  79. package/node_modules/@fps-games/babylon-renderer/dist/environment/environment-texture-controller.js.map +1 -1
  80. package/node_modules/@fps-games/babylon-renderer/dist/environment/index.js.map +1 -1
  81. package/node_modules/@fps-games/babylon-renderer/dist/environment/profile.js.map +1 -1
  82. package/node_modules/@fps-games/babylon-renderer/dist/environment/types.js.map +1 -1
  83. package/node_modules/@fps-games/babylon-renderer/dist/index.js.map +1 -1
  84. package/node_modules/@fps-games/babylon-renderer/dist/lighting/directional-light-angles.js.map +1 -1
  85. package/node_modules/@fps-games/babylon-renderer/dist/outlines/babylon-default/apply.js.map +1 -1
  86. package/node_modules/@fps-games/babylon-renderer/dist/outlines/babylon-default/index.js.map +1 -1
  87. package/node_modules/@fps-games/babylon-renderer/dist/outlines/babylon-default/types.js.map +1 -1
  88. package/node_modules/@fps-games/babylon-renderer/dist/outlines/index.js.map +1 -1
  89. package/node_modules/@fps-games/babylon-renderer/dist/outlines/types.js.map +1 -1
  90. package/node_modules/@fps-games/babylon-renderer/dist/placement/index.js.map +1 -1
  91. package/node_modules/@fps-games/babylon-renderer/dist/placement/runtime-drop-position.js.map +1 -1
  92. package/node_modules/@fps-games/babylon-renderer/dist/plugin.js.map +1 -1
  93. package/node_modules/@fps-games/babylon-renderer/dist/post-process/babylon-default-pipeline.js.map +1 -1
  94. package/node_modules/@fps-games/babylon-renderer/dist/post-process/index.js.map +1 -1
  95. package/node_modules/@fps-games/babylon-renderer/dist/post-process/profile.js.map +1 -1
  96. package/node_modules/@fps-games/babylon-renderer/dist/post-process/types.js.map +1 -1
  97. package/node_modules/@fps-games/babylon-renderer/dist/post-process/volume-stack.js.map +1 -1
  98. package/node_modules/@fps-games/babylon-renderer/dist/reference.js.map +1 -1
  99. package/node_modules/@fps-games/babylon-renderer/dist/rendering/index.js.map +1 -1
  100. package/node_modules/@fps-games/babylon-renderer/dist/rendering/node-rendering.js.map +1 -1
  101. package/node_modules/@fps-games/babylon-renderer/dist/shadows/blob-shadow-shaders.js.map +1 -1
  102. package/node_modules/@fps-games/babylon-renderer/dist/shadows/blob-shadow-system.js.map +1 -1
  103. package/node_modules/@fps-games/babylon-renderer/dist/shadows/dynamic-shadow-system.js.map +1 -1
  104. package/node_modules/@fps-games/babylon-renderer/dist/shadows/planar-shadow-shaders.js.map +1 -1
  105. package/node_modules/@fps-games/babylon-renderer/dist/shadows/planar-shadow-system.js.map +1 -1
  106. package/node_modules/@fps-games/babylon-renderer/dist/shadows/static-projected-shadow-artifact-system.js.map +1 -1
  107. package/node_modules/@fps-games/babylon-renderer/dist/shadows/static-projected-shadow-atlas.js.map +1 -1
  108. package/node_modules/@fps-games/babylon-renderer/dist/shadows/static-projected-shadow-bake.js.map +1 -1
  109. package/node_modules/@fps-games/babylon-renderer/dist/shadows/static-projected-shadow-baker.js.map +1 -1
  110. package/node_modules/@fps-games/babylon-renderer/dist/shadows/static-projected-shadow-options.js.map +1 -1
  111. package/node_modules/@fps-games/babylon-renderer/dist/shadows/static-projected-shadow-rendering.js.map +1 -1
  112. package/node_modules/@fps-games/babylon-renderer/dist/shadows/types.js.map +1 -1
  113. package/node_modules/@fps-games/babylon-renderer/package.json +7 -7
  114. package/node_modules/@fps-games/editor-babylon/dist/camera-controller.js.map +1 -1
  115. package/node_modules/@fps-games/editor-babylon/dist/edit-session.js.map +1 -1
  116. package/node_modules/@fps-games/editor-babylon/dist/editor-sky.js.map +1 -1
  117. package/node_modules/@fps-games/editor-babylon/dist/editor-world.js.map +1 -1
  118. package/node_modules/@fps-games/editor-babylon/dist/event-guard.js.map +1 -1
  119. package/node_modules/@fps-games/editor-babylon/dist/index.js.map +1 -1
  120. package/node_modules/@fps-games/editor-babylon/dist/infinite-grid-layer.js.map +1 -1
  121. package/node_modules/@fps-games/editor-babylon/dist/infinite-grid.js.map +1 -1
  122. package/node_modules/@fps-games/editor-babylon/dist/input-controller.js.map +1 -1
  123. package/node_modules/@fps-games/editor-babylon/dist/inspector-adapter.js.map +1 -1
  124. package/node_modules/@fps-games/editor-babylon/dist/inspector-host.js.map +1 -1
  125. package/node_modules/@fps-games/editor-babylon/dist/main-camera-preview.js.map +1 -1
  126. package/node_modules/@fps-games/editor-babylon/dist/marker-overlay.js.map +1 -1
  127. package/node_modules/@fps-games/editor-babylon/dist/material-property-adapter.js.map +1 -1
  128. package/node_modules/@fps-games/editor-babylon/dist/material-slot-source-resolver.js.map +1 -1
  129. package/node_modules/@fps-games/editor-babylon/dist/monitor.js.map +1 -1
  130. package/node_modules/@fps-games/editor-babylon/dist/outline-adapter.js.map +1 -1
  131. package/node_modules/@fps-games/editor-babylon/dist/performance-monitor.js.map +1 -1
  132. package/node_modules/@fps-games/editor-babylon/dist/prefab-comparison-preview-controller.js.map +1 -1
  133. package/node_modules/@fps-games/editor-babylon/dist/primitive-projection-instancing.js.map +1 -1
  134. package/node_modules/@fps-games/editor-babylon/dist/projection-asset-container-importer.js.map +1 -1
  135. package/node_modules/@fps-games/editor-babylon/dist/projection-pick-resolver.js.map +1 -1
  136. package/node_modules/@fps-games/editor-babylon/dist/projection-selection-controller.js.map +1 -1
  137. package/node_modules/@fps-games/editor-babylon/dist/projection-source-owner-path.js.map +1 -1
  138. package/node_modules/@fps-games/editor-babylon/dist/projection.js.map +1 -1
  139. package/node_modules/@fps-games/editor-babylon/dist/runtime-globals.js.map +1 -1
  140. package/node_modules/@fps-games/editor-babylon/dist/scene-camera-preview.js.map +1 -1
  141. package/node_modules/@fps-games/editor-babylon/dist/scene-view-camera-controller.js.map +1 -1
  142. package/node_modules/@fps-games/editor-babylon/dist/scene-view-input-controller.js.map +1 -1
  143. package/node_modules/@fps-games/editor-babylon/dist/scene-view-measurement-controller.js.map +1 -1
  144. package/node_modules/@fps-games/editor-babylon/dist/scene-view-spatial-overlay-controller.js.map +1 -1
  145. package/node_modules/@fps-games/editor-babylon/dist/selection-controller.js.map +1 -1
  146. package/node_modules/@fps-games/editor-babylon/dist/shadow-preview-controller.js.map +1 -1
  147. package/node_modules/@fps-games/editor-babylon/dist/tool-controller.js.map +1 -1
  148. package/node_modules/@fps-games/editor-babylon/dist/transform-gizmo-controller.js.map +1 -1
  149. package/node_modules/@fps-games/editor-babylon/dist/transform-solver.js.map +1 -1
  150. package/node_modules/@fps-games/editor-babylon/dist/types.js.map +1 -1
  151. package/node_modules/@fps-games/editor-babylon/package.json +5 -5
  152. package/node_modules/@fps-games/editor-browser/dist/index.d.ts +3 -1
  153. package/node_modules/@fps-games/editor-browser/dist/index.d.ts.map +1 -1
  154. package/node_modules/@fps-games/editor-browser/dist/index.js +2 -0
  155. package/node_modules/@fps-games/editor-browser/dist/index.js.map +1 -1
  156. package/node_modules/@fps-games/editor-browser/dist/local-editor-inspector-clipboard.js.map +1 -1
  157. package/node_modules/@fps-games/editor-browser/dist/local-editor-inspector-groups.js.map +1 -1
  158. package/node_modules/@fps-games/editor-browser/dist/local-editor-rendering-actions.js.map +1 -1
  159. package/node_modules/@fps-games/editor-browser/dist/local-editor-root-ownership.js.map +1 -1
  160. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-asset-kind.js.map +1 -1
  161. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-context-menu.js.map +1 -1
  162. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-dock-panel.js.map +1 -1
  163. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-actions.js.map +1 -1
  164. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-attach-dialog.js.map +1 -1
  165. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-auto-scroll.js.map +1 -1
  166. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-command-adapter.js.map +1 -1
  167. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-controller.d.ts +2 -1
  168. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-controller.d.ts.map +1 -1
  169. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-controller.js +260 -94
  170. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-controller.js.map +1 -1
  171. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-drag-policy.js.map +1 -1
  172. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-projection.d.ts +7 -0
  173. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-projection.d.ts.map +1 -0
  174. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-projection.js +186 -0
  175. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-projection.js.map +1 -0
  176. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-scope.d.ts +2 -2
  177. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-scope.d.ts.map +1 -1
  178. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-scope.js +14 -8
  179. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-scope.js.map +1 -1
  180. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-tree.d.ts.map +1 -1
  181. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-tree.js +23 -7
  182. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-tree.js.map +1 -1
  183. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-view.js.map +1 -1
  184. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-icons.d.ts +1 -1
  185. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-icons.d.ts.map +1 -1
  186. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-icons.js +6 -0
  187. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-icons.js.map +1 -1
  188. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-input-router.d.ts +3 -0
  189. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-input-router.d.ts.map +1 -1
  190. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-input-router.js +60 -13
  191. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-input-router.js.map +1 -1
  192. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-modal-dialog.js.map +1 -1
  193. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-panel-registry.js.map +1 -1
  194. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-panels.js.map +1 -1
  195. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-plugin-panel.js.map +1 -1
  196. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-prefab-stage.js.map +1 -1
  197. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-primitives.js.map +1 -1
  198. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-shared.js.map +1 -1
  199. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-shortcuts.js.map +1 -1
  200. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-status-diagnostics.d.ts +24 -0
  201. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-status-diagnostics.d.ts.map +1 -0
  202. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-status-diagnostics.js +69 -0
  203. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-status-diagnostics.js.map +1 -0
  204. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-structured-drag-auto-scroll.js.map +1 -1
  205. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-structured-drag-policy.js.map +1 -1
  206. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-structured-drag-preview.js.map +1 -1
  207. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-structured-drag-session.js.map +1 -1
  208. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-theme.js.map +1 -1
  209. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-tooltip.js.map +1 -1
  210. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-types.d.ts +58 -14
  211. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-types.d.ts.map +1 -1
  212. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-types.js.map +1 -1
  213. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-workbench.js.map +1 -1
  214. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui.d.ts +1 -1
  215. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui.d.ts.map +1 -1
  216. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui.js +196 -11
  217. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui.js.map +1 -1
  218. package/node_modules/@fps-games/editor-browser/dist/plugin-contributions.js.map +1 -1
  219. package/node_modules/@fps-games/editor-browser/dist/runtime-camera-debug-panel.js.map +1 -1
  220. package/node_modules/@fps-games/editor-browser/dist/runtime-debug-panel-shell.js.map +1 -1
  221. package/node_modules/@fps-games/editor-browser/dist/runtime-lighting-debug-panel.js.map +1 -1
  222. package/node_modules/@fps-games/editor-browser/package.json +4 -4
  223. package/node_modules/@fps-games/editor-core/dist/agent-bridge.js.map +1 -1
  224. package/node_modules/@fps-games/editor-core/dist/agent-interaction.js.map +1 -1
  225. package/node_modules/@fps-games/editor-core/dist/authoring-source.js.map +1 -1
  226. package/node_modules/@fps-games/editor-core/dist/document-adapter.js.map +1 -1
  227. package/node_modules/@fps-games/editor-core/dist/editor-plugin-host.js.map +1 -1
  228. package/node_modules/@fps-games/editor-core/dist/editor-session.d.ts +9 -1
  229. package/node_modules/@fps-games/editor-core/dist/editor-session.d.ts.map +1 -1
  230. package/node_modules/@fps-games/editor-core/dist/editor-session.js +18 -0
  231. package/node_modules/@fps-games/editor-core/dist/editor-session.js.map +1 -1
  232. package/node_modules/@fps-games/editor-core/dist/events.d.ts +1 -1
  233. package/node_modules/@fps-games/editor-core/dist/events.d.ts.map +1 -1
  234. package/node_modules/@fps-games/editor-core/dist/events.js.map +1 -1
  235. package/node_modules/@fps-games/editor-core/dist/field-schema/index.js.map +1 -1
  236. package/node_modules/@fps-games/editor-core/dist/field-schema/resolver.js.map +1 -1
  237. package/node_modules/@fps-games/editor-core/dist/field-schema/schema.js.map +1 -1
  238. package/node_modules/@fps-games/editor-core/dist/field-schema/types.js.map +1 -1
  239. package/node_modules/@fps-games/editor-core/dist/field-schema/validators.js.map +1 -1
  240. package/node_modules/@fps-games/editor-core/dist/host-services.js.map +1 -1
  241. package/node_modules/@fps-games/editor-core/dist/index.js.map +1 -1
  242. package/node_modules/@fps-games/editor-core/dist/inspector.js.map +1 -1
  243. package/node_modules/@fps-games/editor-core/dist/lifecycle.js.map +1 -1
  244. package/node_modules/@fps-games/editor-core/dist/marker-graph.js.map +1 -1
  245. package/node_modules/@fps-games/editor-core/dist/scene-graph.js.map +1 -1
  246. package/node_modules/@fps-games/editor-core/dist/scene-view-input.js.map +1 -1
  247. package/node_modules/@fps-games/editor-core/dist/selection-strategy.js.map +1 -1
  248. package/node_modules/@fps-games/editor-core/dist/serialized-object.js.map +1 -1
  249. package/node_modules/@fps-games/editor-core/dist/transform-command.js.map +1 -1
  250. package/node_modules/@fps-games/editor-core/dist/transform-gizmo.js.map +1 -1
  251. package/node_modules/@fps-games/editor-core/dist/transform-operation-policy.js.map +1 -1
  252. package/node_modules/@fps-games/editor-core/dist/transform-operations.js.map +1 -1
  253. package/node_modules/@fps-games/editor-core/dist/viewport-tools.js.map +1 -1
  254. package/node_modules/@fps-games/editor-core/package.json +6 -6
  255. package/node_modules/@fps-games/editor-forge-play/dist/agent-transport.js.map +1 -1
  256. package/node_modules/@fps-games/editor-forge-play/dist/index.js.map +1 -1
  257. package/node_modules/@fps-games/editor-forge-play/package.json +2 -2
  258. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-bridge/drop-cache.js.map +1 -1
  259. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-bridge/index.js.map +1 -1
  260. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-bridge/payload.d.ts.map +1 -1
  261. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-bridge/payload.js +28 -5
  262. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-bridge/payload.js.map +1 -1
  263. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-bridge/types.d.ts +1 -0
  264. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-bridge/types.d.ts.map +1 -1
  265. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-bridge/types.js.map +1 -1
  266. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/config.js.map +1 -1
  267. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/generated-module.js.map +1 -1
  268. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/index.js.map +1 -1
  269. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/managed-facade.js.map +1 -1
  270. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/manager-core.d.ts.map +1 -1
  271. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/manager-core.js +13 -1
  272. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/manager-core.js.map +1 -1
  273. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/metadata.js.map +1 -1
  274. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/node.js.map +1 -1
  275. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/registry.d.ts +1 -0
  276. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/registry.d.ts.map +1 -1
  277. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/registry.js +58 -23
  278. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/registry.js.map +1 -1
  279. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/types.js.map +1 -1
  280. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/catalog.js.map +1 -1
  281. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/document.js.map +1 -1
  282. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/index.js.map +1 -1
  283. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/types.js.map +1 -1
  284. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-placement/document.js.map +1 -1
  285. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-placement/identity.js.map +1 -1
  286. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-placement/index.js.map +1 -1
  287. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-placement/managed-runtime-instance.js.map +1 -1
  288. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-placement/placement.js.map +1 -1
  289. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-placement/runtime-scene.js.map +1 -1
  290. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-placement/types.js.map +1 -1
  291. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/index.js.map +1 -1
  292. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/result.d.ts.map +1 -1
  293. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/result.js +3 -0
  294. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/result.js.map +1 -1
  295. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/transport.js.map +1 -1
  296. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/types.d.ts +1 -0
  297. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/types.d.ts.map +1 -1
  298. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/types.js.map +1 -1
  299. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/workflow.d.ts +1 -0
  300. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/workflow.d.ts.map +1 -1
  301. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/workflow.js +7 -1
  302. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/workflow.js.map +1 -1
  303. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring/constants.js.map +1 -1
  304. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring/drift.js.map +1 -1
  305. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring/index.js.map +1 -1
  306. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring/runtime-transform-patch.js.map +1 -1
  307. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring/source.js.map +1 -1
  308. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-client/client.js.map +1 -1
  309. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-client/index.js.map +1 -1
  310. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-client/types.js.map +1 -1
  311. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-server/handler.js.map +1 -1
  312. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-server/index.js.map +1 -1
  313. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-server/payload.js.map +1 -1
  314. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-server/response.js.map +1 -1
  315. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-server/routes.js.map +1 -1
  316. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-server/types.js.map +1 -1
  317. package/node_modules/@fps-games/editor-playable-sdk/dist/bridge-command/adapter-dispatcher.js.map +1 -1
  318. package/node_modules/@fps-games/editor-playable-sdk/dist/bridge-command/index.js.map +1 -1
  319. package/node_modules/@fps-games/editor-playable-sdk/dist/bridge-command/payload.js.map +1 -1
  320. package/node_modules/@fps-games/editor-playable-sdk/dist/bridge-command/project-asset-adapter.js.map +1 -1
  321. package/node_modules/@fps-games/editor-playable-sdk/dist/bridge-command/protocol.js.map +1 -1
  322. package/node_modules/@fps-games/editor-playable-sdk/dist/bridge-command/readers.js.map +1 -1
  323. package/node_modules/@fps-games/editor-playable-sdk/dist/bridge-command/types.js.map +1 -1
  324. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/binding.js.map +1 -1
  325. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/fields.js.map +1 -1
  326. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/index.js.map +1 -1
  327. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/math.js.map +1 -1
  328. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/pan.js.map +1 -1
  329. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/panel-format.js.map +1 -1
  330. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/panel-state.js.map +1 -1
  331. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/panel-storage.js.map +1 -1
  332. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/panel-text.js.map +1 -1
  333. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/rig.js.map +1 -1
  334. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/save-patch.js.map +1 -1
  335. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/snapshot.js.map +1 -1
  336. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/types.js.map +1 -1
  337. package/node_modules/@fps-games/editor-playable-sdk/dist/commands/index.js.map +1 -1
  338. package/node_modules/@fps-games/editor-playable-sdk/dist/commands/transform.js.map +1 -1
  339. package/node_modules/@fps-games/editor-playable-sdk/dist/commands/types.js.map +1 -1
  340. package/node_modules/@fps-games/editor-playable-sdk/dist/core-contracts/index.js.map +1 -1
  341. package/node_modules/@fps-games/editor-playable-sdk/dist/document/helpers.js.map +1 -1
  342. package/node_modules/@fps-games/editor-playable-sdk/dist/document/index.js.map +1 -1
  343. package/node_modules/@fps-games/editor-playable-sdk/dist/document/types.js.map +1 -1
  344. package/node_modules/@fps-games/editor-playable-sdk/dist/field-schema/index.js.map +1 -1
  345. package/node_modules/@fps-games/editor-playable-sdk/dist/field-schema/resolver.js.map +1 -1
  346. package/node_modules/@fps-games/editor-playable-sdk/dist/field-schema/schema.js.map +1 -1
  347. package/node_modules/@fps-games/editor-playable-sdk/dist/field-schema/types.js.map +1 -1
  348. package/node_modules/@fps-games/editor-playable-sdk/dist/field-schema/validators.js.map +1 -1
  349. package/node_modules/@fps-games/editor-playable-sdk/dist/index.js.map +1 -1
  350. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/camera-section.js.map +1 -1
  351. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/document-property.js.map +1 -1
  352. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/document-sections.js.map +1 -1
  353. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/format.js.map +1 -1
  354. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/index.js.map +1 -1
  355. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/light-fields.js.map +1 -1
  356. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/light-sections.js.map +1 -1
  357. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/marker-section.js.map +1 -1
  358. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/object-assembly.js.map +1 -1
  359. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/readonly.js.map +1 -1
  360. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/runtime-sections.js.map +1 -1
  361. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/runtime-summary.js.map +1 -1
  362. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/runtime.js.map +1 -1
  363. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/safe-value.js.map +1 -1
  364. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/types.js.map +1 -1
  365. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/validation.js.map +1 -1
  366. package/node_modules/@fps-games/editor-playable-sdk/dist/internal/local-harness.js.map +1 -1
  367. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-debug/binding.js.map +1 -1
  368. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-debug/fields.js.map +1 -1
  369. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-debug/index.js.map +1 -1
  370. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-debug/math.js.map +1 -1
  371. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-debug/save-patch.js.map +1 -1
  372. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-debug/snapshot.js.map +1 -1
  373. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-debug/storage.js.map +1 -1
  374. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-debug/text.js.map +1 -1
  375. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-debug/types.js.map +1 -1
  376. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-preview/index.js.map +1 -1
  377. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-preview/math.js.map +1 -1
  378. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-preview/profile.js.map +1 -1
  379. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-preview/types.js.map +1 -1
  380. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/agent-descriptions.js.map +1 -1
  381. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/forge-play-types.js.map +1 -1
  382. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/forge-play.d.ts +2 -0
  383. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/forge-play.d.ts.map +1 -1
  384. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/forge-play.js +5 -0
  385. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/forge-play.js.map +1 -1
  386. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/host-controller.js.map +1 -1
  387. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/index.d.ts +1 -1
  388. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/index.d.ts.map +1 -1
  389. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/index.js.map +1 -1
  390. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/lifecycle.js.map +1 -1
  391. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/loading-overlay.js.map +1 -1
  392. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/project-asset-commands.d.ts +18 -0
  393. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/project-asset-commands.d.ts.map +1 -1
  394. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/project-asset-commands.js +60 -1
  395. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/project-asset-commands.js.map +1 -1
  396. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/timing.js.map +1 -1
  397. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/types.js.map +1 -1
  398. package/node_modules/@fps-games/editor-playable-sdk/dist/marker-scene/facade.js.map +1 -1
  399. package/node_modules/@fps-games/editor-playable-sdk/dist/marker-scene/game-objects.js.map +1 -1
  400. package/node_modules/@fps-games/editor-playable-sdk/dist/marker-scene/geometry.js.map +1 -1
  401. package/node_modules/@fps-games/editor-playable-sdk/dist/marker-scene/index.js.map +1 -1
  402. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/asset-fields.js.map +1 -1
  403. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/binding.js.map +1 -1
  404. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/default-assets.js.map +1 -1
  405. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/document-assets.d.ts.map +1 -1
  406. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/document-assets.js +28 -2
  407. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/document-assets.js.map +1 -1
  408. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/duplicate.js.map +1 -1
  409. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/index.js.map +1 -1
  410. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/inspector.js.map +1 -1
  411. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/paths.js.map +1 -1
  412. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/preview.js.map +1 -1
  413. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/profile.js.map +1 -1
  414. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/reimport.d.ts.map +1 -1
  415. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/reimport.js +26 -9
  416. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/reimport.js.map +1 -1
  417. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/resolver.js.map +1 -1
  418. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/scene-inspector.js.map +1 -1
  419. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/slot-inspector.d.ts.map +1 -1
  420. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/slot-inspector.js +0 -3
  421. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/slot-inspector.js.map +1 -1
  422. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/text.js.map +1 -1
  423. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/types.d.ts +8 -1
  424. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/types.d.ts.map +1 -1
  425. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/types.js.map +1 -1
  426. package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/field-patch.js.map +1 -1
  427. package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/index.js.map +1 -1
  428. package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/json-field.js.map +1 -1
  429. package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/reducer.js.map +1 -1
  430. package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/rendering-alpha-index.js.map +1 -1
  431. package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/transform.js.map +1 -1
  432. package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/types.js.map +1 -1
  433. package/node_modules/@fps-games/editor-playable-sdk/dist/package-resolution/aliases.d.ts +1 -1
  434. package/node_modules/@fps-games/editor-playable-sdk/dist/package-resolution/aliases.d.ts.map +1 -1
  435. package/node_modules/@fps-games/editor-playable-sdk/dist/package-resolution/aliases.js +18 -1
  436. package/node_modules/@fps-games/editor-playable-sdk/dist/package-resolution/aliases.js.map +1 -1
  437. package/node_modules/@fps-games/editor-playable-sdk/dist/package-resolution/index.js.map +1 -1
  438. package/node_modules/@fps-games/editor-playable-sdk/dist/package-resolution/types.d.ts +2 -0
  439. package/node_modules/@fps-games/editor-playable-sdk/dist/package-resolution/types.d.ts.map +1 -1
  440. package/node_modules/@fps-games/editor-playable-sdk/dist/package-resolution/types.js.map +1 -1
  441. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/action-patches.js.map +1 -1
  442. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/assets.js.map +1 -1
  443. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/index.js.map +1 -1
  444. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/material-override-inspector.js.map +1 -1
  445. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/projection.js.map +1 -1
  446. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/shadow-inspector.js.map +1 -1
  447. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/source-structure-inspector.js.map +1 -1
  448. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/stage-inspector.js.map +1 -1
  449. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/structure.js.map +1 -1
  450. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/types.js.map +1 -1
  451. package/node_modules/@fps-games/editor-playable-sdk/dist/product/asset-manager.js.map +1 -1
  452. package/node_modules/@fps-games/editor-playable-sdk/dist/product/ground-decal-scene-feature.js.map +1 -1
  453. package/node_modules/@fps-games/editor-playable-sdk/dist/product/ground-decal.js.map +1 -1
  454. package/node_modules/@fps-games/editor-playable-sdk/dist/product/index.js.map +1 -1
  455. package/node_modules/@fps-games/editor-playable-sdk/dist/product/project-host-services.d.ts +1 -0
  456. package/node_modules/@fps-games/editor-playable-sdk/dist/product/project-host-services.d.ts.map +1 -1
  457. package/node_modules/@fps-games/editor-playable-sdk/dist/product/project-host-services.js +3 -1
  458. package/node_modules/@fps-games/editor-playable-sdk/dist/product/project-host-services.js.map +1 -1
  459. package/node_modules/@fps-games/editor-playable-sdk/dist/product/scene-session.js.map +1 -1
  460. package/node_modules/@fps-games/editor-playable-sdk/dist/product/scene-source.js.map +1 -1
  461. package/node_modules/@fps-games/editor-playable-sdk/dist/product/standard-asset-actions.js.map +1 -1
  462. package/node_modules/@fps-games/editor-playable-sdk/dist/product/standard-scene-assembly.js.map +1 -1
  463. package/node_modules/@fps-games/editor-playable-sdk/dist/rendering-profile/draft.js.map +1 -1
  464. package/node_modules/@fps-games/editor-playable-sdk/dist/rendering-profile/index.js.map +1 -1
  465. package/node_modules/@fps-games/editor-playable-sdk/dist/rendering-profile/panel.js.map +1 -1
  466. package/node_modules/@fps-games/editor-playable-sdk/dist/rendering-profile/route.js.map +1 -1
  467. package/node_modules/@fps-games/editor-playable-sdk/dist/rendering-profile/types.js.map +1 -1
  468. package/node_modules/@fps-games/editor-playable-sdk/dist/runtime-preview/assets.js.map +1 -1
  469. package/node_modules/@fps-games/editor-playable-sdk/dist/runtime-preview/import-plan.js.map +1 -1
  470. package/node_modules/@fps-games/editor-playable-sdk/dist/runtime-preview/index.js.map +1 -1
  471. package/node_modules/@fps-games/editor-playable-sdk/dist/runtime-preview/nodes.js.map +1 -1
  472. package/node_modules/@fps-games/editor-playable-sdk/dist/runtime-preview/types.js.map +1 -1
  473. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/compiler.js +13 -1
  474. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/compiler.js.map +1 -1
  475. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/index.js.map +1 -1
  476. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/types.js.map +1 -1
  477. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/validation.js.map +1 -1
  478. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/artifacts.js.map +1 -1
  479. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/client.js.map +1 -1
  480. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/companion-configs.js.map +1 -1
  481. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/driver.js.map +1 -1
  482. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/index.js.map +1 -1
  483. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/protocol.js.map +1 -1
  484. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/types.js.map +1 -1
  485. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/validation.js.map +1 -1
  486. package/node_modules/@fps-games/editor-playable-sdk/dist/serialized-property/descriptors.js.map +1 -1
  487. package/node_modules/@fps-games/editor-playable-sdk/dist/serialized-property/index.js.map +1 -1
  488. package/node_modules/@fps-games/editor-playable-sdk/dist/serialized-property/inspector.js.map +1 -1
  489. package/node_modules/@fps-games/editor-playable-sdk/dist/serialized-property/object.js.map +1 -1
  490. package/node_modules/@fps-games/editor-playable-sdk/dist/serialized-property/patch.js.map +1 -1
  491. package/node_modules/@fps-games/editor-playable-sdk/dist/serialized-property/types.js.map +1 -1
  492. package/node_modules/@fps-games/editor-playable-sdk/dist/session/classification.js.map +1 -1
  493. package/node_modules/@fps-games/editor-playable-sdk/dist/session/hierarchy-facade.js.map +1 -1
  494. package/node_modules/@fps-games/editor-playable-sdk/dist/session/hierarchy.js.map +1 -1
  495. package/node_modules/@fps-games/editor-playable-sdk/dist/session/identity.js.map +1 -1
  496. package/node_modules/@fps-games/editor-playable-sdk/dist/session/index.js.map +1 -1
  497. package/node_modules/@fps-games/editor-playable-sdk/dist/session/object-command-facade.js.map +1 -1
  498. package/node_modules/@fps-games/editor-playable-sdk/dist/session/patches.js.map +1 -1
  499. package/node_modules/@fps-games/editor-playable-sdk/dist/session/property-patches.js.map +1 -1
  500. package/node_modules/@fps-games/editor-playable-sdk/dist/session/reducer-core.js.map +1 -1
  501. package/node_modules/@fps-games/editor-playable-sdk/dist/session/system-defaults.js.map +1 -1
  502. package/node_modules/@fps-games/editor-playable-sdk/dist/session/transform.js.map +1 -1
  503. package/node_modules/@fps-games/editor-playable-sdk/dist/session/types.js.map +1 -1
  504. package/node_modules/@fps-games/editor-playable-sdk/dist/shadow-system/index.js.map +1 -1
  505. package/node_modules/@fps-games/editor-playable-sdk/dist/shadow-system/resolver.js.map +1 -1
  506. package/node_modules/@fps-games/editor-playable-sdk/dist/shared/http.js.map +1 -1
  507. package/node_modules/@fps-games/editor-playable-sdk/dist/shared/json.js.map +1 -1
  508. package/node_modules/@fps-games/editor-playable-sdk/dist/static-shadows/artifact.js.map +1 -1
  509. package/node_modules/@fps-games/editor-playable-sdk/dist/static-shadows/index.js.map +1 -1
  510. package/node_modules/@fps-games/editor-playable-sdk/dist/upgrade-doctor/host.js.map +1 -1
  511. package/node_modules/@fps-games/editor-playable-sdk/dist/upgrade-doctor/index.js.map +1 -1
  512. package/node_modules/@fps-games/editor-playable-sdk/dist/upgrade-doctor/inspectors.js.map +1 -1
  513. package/node_modules/@fps-games/editor-playable-sdk/dist/upgrade-doctor/report.js.map +1 -1
  514. package/node_modules/@fps-games/editor-playable-sdk/dist/upgrade-doctor/types.js.map +1 -1
  515. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/asset-authoring.js.map +1 -1
  516. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/authoring-http.d.ts +1 -0
  517. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/authoring-http.d.ts.map +1 -1
  518. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/authoring-http.js +1 -0
  519. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/authoring-http.js.map +1 -1
  520. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/build-info-core.js.map +1 -1
  521. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/build-info-node.js.map +1 -1
  522. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/editor-scene-workflow.d.ts +6 -5
  523. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/editor-scene-workflow.d.ts.map +1 -1
  524. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/editor-scene-workflow.js.map +1 -1
  525. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/index.js.map +1 -1
  526. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/module-invalidation.d.ts +3 -1
  527. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/module-invalidation.d.ts.map +1 -1
  528. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/module-invalidation.js +37 -8
  529. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/module-invalidation.js.map +1 -1
  530. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/path-write-coordinator.js.map +1 -1
  531. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/plugin.d.ts +4 -3
  532. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/plugin.d.ts.map +1 -1
  533. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/plugin.js +14 -1
  534. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/plugin.js.map +1 -1
  535. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-adapter.d.ts +5 -4
  536. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-adapter.d.ts.map +1 -1
  537. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-adapter.js.map +1 -1
  538. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-asset-authoring.d.ts +3 -2
  539. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-asset-authoring.d.ts.map +1 -1
  540. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-asset-authoring.js +2 -11
  541. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-asset-authoring.js.map +1 -1
  542. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-authoring-api.d.ts +8 -7
  543. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-authoring-api.d.ts.map +1 -1
  544. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-authoring-api.js +84 -6
  545. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-authoring-api.js.map +1 -1
  546. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-rendering-authoring.d.ts +2 -1
  547. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-rendering-authoring.d.ts.map +1 -1
  548. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-rendering-authoring.js.map +1 -1
  549. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-scene-authoring.d.ts +4 -3
  550. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-scene-authoring.d.ts.map +1 -1
  551. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-scene-authoring.js +1 -4
  552. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-scene-authoring.js.map +1 -1
  553. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/session-metadata.js.map +1 -1
  554. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/types.d.ts +0 -33
  555. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/types.d.ts.map +1 -1
  556. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/types.js.map +1 -1
  557. package/node_modules/@fps-games/editor-playable-sdk/package.json +9 -6
  558. package/node_modules/@fps-games/editor-protocol/dist/agent-bridge.js.map +1 -1
  559. package/node_modules/@fps-games/editor-protocol/dist/agent-trace.js.map +1 -1
  560. package/node_modules/@fps-games/editor-protocol/dist/agent.js.map +1 -1
  561. package/node_modules/@fps-games/editor-protocol/dist/index.js.map +1 -1
  562. package/node_modules/@fps-games/editor-protocol/dist/marker-graph.js.map +1 -1
  563. package/node_modules/@fps-games/editor-protocol/package.json +2 -2
  564. package/node_modules/@fps-games/editor-tooling/dist/contributions.js.map +1 -1
  565. package/node_modules/@fps-games/editor-tooling/dist/data-object.js.map +1 -1
  566. package/node_modules/@fps-games/editor-tooling/dist/index.js.map +1 -1
  567. package/node_modules/@fps-games/editor-tooling/dist/migration.js.map +1 -1
  568. package/node_modules/@fps-games/editor-tooling/dist/package-metadata-node.js.map +1 -1
  569. package/node_modules/@fps-games/editor-tooling/dist/vite.js.map +1 -1
  570. package/node_modules/@fps-games/editor-tooling/package.json +3 -3
  571. package/node_modules/@fps-games/playable-assets/dist/identity.js.map +1 -1
  572. package/node_modules/@fps-games/playable-assets/dist/index.d.ts +1 -0
  573. package/node_modules/@fps-games/playable-assets/dist/index.d.ts.map +1 -1
  574. package/node_modules/@fps-games/playable-assets/dist/index.js +1 -0
  575. package/node_modules/@fps-games/playable-assets/dist/index.js.map +1 -1
  576. package/node_modules/@fps-games/playable-assets/dist/portable-path.d.ts +2 -0
  577. package/node_modules/@fps-games/playable-assets/dist/portable-path.d.ts.map +1 -0
  578. package/node_modules/@fps-games/playable-assets/dist/portable-path.js +25 -0
  579. package/node_modules/@fps-games/playable-assets/dist/portable-path.js.map +1 -0
  580. package/node_modules/@fps-games/playable-assets/package.json +1 -1
  581. package/node_modules/@fps-games/playable-contracts/dist/index.js.map +1 -1
  582. package/node_modules/@fps-games/playable-contracts/dist/marker-graph-validation.js.map +1 -1
  583. package/node_modules/@fps-games/playable-contracts/dist/marker-graph.js.map +1 -1
  584. package/node_modules/@fps-games/playable-contracts/package.json +1 -1
  585. package/node_modules/@fps-games/playable-rendering/dist/index.js.map +1 -1
  586. package/node_modules/@fps-games/playable-rendering/dist/rendering-profile-authoring.js.map +1 -1
  587. package/node_modules/@fps-games/playable-rendering/dist/rendering-profile-types.js.map +1 -1
  588. package/node_modules/@fps-games/playable-rendering/dist/rendering-profile-validation.js.map +1 -1
  589. package/node_modules/@fps-games/playable-rendering/dist/rendering-profile-values.js.map +1 -1
  590. package/node_modules/@fps-games/playable-rendering/dist/rendering-profile.js.map +1 -1
  591. package/node_modules/@fps-games/playable-rendering/dist/runtime.js.map +1 -1
  592. package/node_modules/@fps-games/playable-rendering/dist/shadow-quality.js.map +1 -1
  593. package/node_modules/@fps-games/playable-rendering/dist/shadow-runtime.js.map +1 -1
  594. package/node_modules/@fps-games/playable-rendering/dist/shadow-settings.js.map +1 -1
  595. package/node_modules/@fps-games/playable-rendering/dist/shadow-types.js.map +1 -1
  596. package/node_modules/@fps-games/playable-rendering/dist/shadow-validation.js.map +1 -1
  597. package/node_modules/@fps-games/playable-rendering/dist/value.js.map +1 -1
  598. package/node_modules/@fps-games/playable-rendering/package.json +2 -2
  599. package/node_modules/@fps-games/playable-runtime/dist/compiled-scene-data.js.map +1 -1
  600. package/node_modules/@fps-games/playable-runtime/dist/index.js.map +1 -1
  601. package/node_modules/@fps-games/playable-runtime/dist/runtime-data.js.map +1 -1
  602. package/node_modules/@fps-games/playable-runtime/dist/runtime.js.map +1 -1
  603. package/node_modules/@fps-games/playable-runtime/dist/standard-plugins.js.map +1 -1
  604. package/node_modules/@fps-games/playable-runtime/dist/tokens.js.map +1 -1
  605. package/node_modules/@fps-games/playable-runtime/dist/types.js.map +1 -1
  606. package/node_modules/@fps-games/playable-runtime/package.json +12 -12
  607. package/node_modules/@fps-games/playable-runtime-data/dist/index.js.map +1 -1
  608. package/node_modules/@fps-games/playable-runtime-data/package.json +4 -4
  609. package/node_modules/@fps-games/playable-scene/dist/index.js.map +1 -1
  610. package/node_modules/@fps-games/playable-scene/dist/transform-math.js.map +1 -1
  611. package/node_modules/@fps-games/playable-scene/package.json +2 -2
  612. package/node_modules/@fps-games/plugin-api/dist/index.js.map +1 -1
  613. package/node_modules/@fps-games/plugin-api/package.json +1 -1
  614. package/node_modules/@fps-games/plugin-assets/dist/reference.js.map +1 -1
  615. package/node_modules/@fps-games/plugin-assets/dist/runtime.js.map +1 -1
  616. package/node_modules/@fps-games/plugin-assets/dist/version.d.ts +1 -1
  617. package/node_modules/@fps-games/plugin-assets/dist/version.js +1 -1
  618. package/node_modules/@fps-games/plugin-assets/dist/version.js.map +1 -1
  619. package/node_modules/@fps-games/plugin-assets/package.json +5 -5
  620. package/node_modules/@fps-games/plugin-host/dist/index.js.map +1 -1
  621. package/node_modules/@fps-games/plugin-host/package.json +2 -2
  622. package/node_modules/@fps-games/plugin-markers/dist/reference.js.map +1 -1
  623. package/node_modules/@fps-games/plugin-markers/dist/runtime.js.map +1 -1
  624. package/node_modules/@fps-games/plugin-markers/dist/version.d.ts +1 -1
  625. package/node_modules/@fps-games/plugin-markers/dist/version.js +1 -1
  626. package/node_modules/@fps-games/plugin-markers/dist/version.js.map +1 -1
  627. package/node_modules/@fps-games/plugin-markers/package.json +5 -5
  628. package/node_modules/@fps-games/plugin-materials/dist/reference.js.map +1 -1
  629. package/node_modules/@fps-games/plugin-materials/dist/runtime.js.map +1 -1
  630. package/node_modules/@fps-games/plugin-materials/dist/version.d.ts +1 -1
  631. package/node_modules/@fps-games/plugin-materials/dist/version.js +1 -1
  632. package/node_modules/@fps-games/plugin-materials/dist/version.js.map +1 -1
  633. package/node_modules/@fps-games/plugin-materials/package.json +5 -5
  634. package/node_modules/@fps-games/plugin-rendering/dist/reference.js.map +1 -1
  635. package/node_modules/@fps-games/plugin-rendering/dist/runtime.js.map +1 -1
  636. package/node_modules/@fps-games/plugin-rendering/dist/version.d.ts +1 -1
  637. package/node_modules/@fps-games/plugin-rendering/dist/version.js +1 -1
  638. package/node_modules/@fps-games/plugin-rendering/dist/version.js.map +1 -1
  639. package/node_modules/@fps-games/plugin-rendering/package.json +5 -5
  640. package/node_modules/@fps-games/plugin-scene/dist/reference.js.map +1 -1
  641. package/node_modules/@fps-games/plugin-scene/dist/runtime.js.map +1 -1
  642. package/node_modules/@fps-games/plugin-scene/dist/version.d.ts +1 -1
  643. package/node_modules/@fps-games/plugin-scene/dist/version.js +1 -1
  644. package/node_modules/@fps-games/plugin-scene/dist/version.js.map +1 -1
  645. package/node_modules/@fps-games/plugin-scene/package.json +5 -5
  646. package/node_modules/@fps-games/plugin-shadows/dist/reference.js.map +1 -1
  647. package/node_modules/@fps-games/plugin-shadows/dist/runtime.js.map +1 -1
  648. package/node_modules/@fps-games/plugin-shadows/dist/version.d.ts +1 -1
  649. package/node_modules/@fps-games/plugin-shadows/dist/version.js +1 -1
  650. package/node_modules/@fps-games/plugin-shadows/dist/version.js.map +1 -1
  651. package/node_modules/@fps-games/plugin-shadows/package.json +7 -7
  652. package/package.json +27 -19
@@ -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.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":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mDAAmD,CAAC;AAEhF,OAAO,EAKN,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,yCAAyC,EAAE,MAAM,cAAc,CAAC;AAEzE,MAAM,UAAU,yCAAyC,CACvD,KAAY,EACZ,cAAwD,EACxD,UAAsD,EAAE;IAExD,OAAO,IAAI,uCAAuC,CAChD,KAAK,EACL,cAAc,IAAI,IAAI,EACtB,OAAO,CAAC,aAAa,IAAI,+BAA+B,CACzD,CAAC;AACJ,CAAC;AAED,MAAM,uCAAuC;IAK3C,YACmB,KAAY,EAC7B,cAAuD,EACtC,aAA+C;QAF/C,UAAK,GAAL,KAAK,CAAO;QAEZ,kBAAa,GAAb,aAAa,CAAkC;QAP1D,YAAO,GAA4C,IAAI,CAAC;QACxD,YAAO,GAAuB,IAAI,CAAC;QACnC,eAAU,GAAG,EAAE,CAAC;QAOtB,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;IAClC,CAAC;IAED,UAAU,CAAC,OAA4D;QACrE,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,IAAI,CAAC,uBAAuB,EAAE,CAAC;YAC/B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;YACpB,OAAO;QACT,CAAC;QAED,MAAM,WAAW,GAAG,yCAAyC,CAAC,OAAO,CAAC,CAAC;QACvE,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,CAAC;YAC5B,IAAI,CAAC,uBAAuB,EAAE,CAAC;YAC/B,IAAI,CAAC,OAAO,GAAG,WAAW,CAAC;YAC1B,IAAI,CAAC,KAAsD,CAAC,oBAAoB,GAAG,WAAW,CAAC,SAAS,CAAC;YAC1G,OAAO;QACT,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,UAAU,KAAK,WAAW,CAAC,UAAU,EAAE,CAAC;YAChE,MAAM,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC;YACrC,MAAM,WAAW,GAAG,IAAI,CAAC,wBAAwB,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;YAC1E,IAAI,CAAC,OAAO,GAAG,WAAW,CAAC;YAC3B,IAAI,CAAC,UAAU,GAAG,WAAW,CAAC,UAAU,CAAC;YACzC,IAAI,CAAC,KAAK,CAAC,kBAAkB,GAAG,WAAW,CAAC;YAC5C,eAAe,EAAE,OAAO,EAAE,CAAC;QAC7B,CAAC;QAED,IAAI,CAAC,OAAO,GAAG,WAAW,CAAC;QAC1B,IAAI,CAAC,KAAsD,CAAC,oBAAoB,GAAG,WAAW,CAAC,SAAS,CAAC;QAC1G,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,KAAK,GAAG,WAAW,CAAC,SAAS,CAAC;YAC1C,IAAI,CAAC,OAA6C,CAAC,SAAS,GAAG,WAAW,CAAC,SAAS,CAAC;YACtF,IAAI,IAAI,CAAC,KAAK,CAAC,kBAAkB,KAAK,IAAI,CAAC,OAAO,EAAE,CAAC;gBACnD,IAAI,CAAC,KAAK,CAAC,kBAAkB,GAAG,IAAI,CAAC,OAAO,CAAC;YAC/C,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,CAAC,eAAe,CACnB,OAA4D,EAC5D,MAAoB;QAEpB,IAAI,MAAM,EAAE,OAAO;YAAE,MAAM,kCAAkC,EAAE,CAAC;QAChE,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YACzB,OAAO;QACT,CAAC;QACD,MAAM,WAAW,GAAG,yCAAyC,CAAC,OAAO,CAAC,CAAC;QACvE,IAAI,CAAC,WAAW,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,UAAU,KAAK,WAAW,CAAC,UAAU,CAAC,EAAE,CAAC;YAC5F,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;YAC7B,OAAO;QACT,CAAC;QAED,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,6BAA6B,CAAC,WAAW,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QAC7F,IAAI,MAAM,EAAE,OAAO,EAAE,CAAC;YACpB,4BAA4B,CAAC,WAAW,EAAE,kCAAkC,EAAE,CAAC,CAAC;QAClF,CAAC;QACD,IAAI,CAAC;YACH,WAAW,CAAC,KAAK,GAAG,WAAW,CAAC,SAAS,CAAC;YACzC,WAAiD,CAAC,SAAS,GAAG,WAAW,CAAC,SAAS,CAAC;QACvF,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,4BAA4B,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;QACnD,CAAC;QACD,MAAM,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC;QACrC,IAAI,CAAC,OAAO,GAAG,WAAW,CAAC;QAC3B,IAAI,CAAC,UAAU,GAAG,WAAW,CAAC,UAAU,CAAC;QACzC,IAAI,CAAC,OAAO,GAAG,WAAW,CAAC;QAC3B,IAAI,CAAC,KAAK,CAAC,kBAAkB,GAAG,WAAW,CAAC;QAC3C,IAAI,CAAC,KAAsD,CAAC,oBAAoB,GAAG,WAAW,CAAC,SAAS,CAAC;QAC1G,eAAe,EAAE,OAAO,EAAE,CAAC;IAC7B,CAAC;IAED,UAAU;QACR,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IACnD,CAAC;IAED,UAAU;QACR,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,OAAO;QACL,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAC/B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;IACtB,CAAC;IAEO,uBAAuB;QAC7B,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,kBAAkB,KAAK,IAAI,CAAC,OAAO,EAAE,CAAC;YACnE,IAAI,CAAC,KAAK,CAAC,kBAAkB,GAAG,IAAI,CAAC;QACvC,CAAC;QACD,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC;QACxB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;IACvB,CAAC;IAEO,wBAAwB,CAAC,UAAkB;QACjD,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;YAC3D,OAAO,OAAO,CAAC;QACjB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,MAAM,CAAC,MAAM,CACjB,IAAI,KAAK,CAAC,iDAAiD,UAAU,EAAE,CAAC,EACxE,EAAE,KAAK,EAAE,CACV,CAAC;QACJ,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,6BAA6B,CACzC,UAAkB,EAClB,MAAoB;QAEpB,OAAO,IAAI,OAAO,CAAc,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAClD,IAAI,OAAO,GAAG,KAAK,CAAC;YACpB,IAAI,OAAO,GAAuB,IAAI,CAAC;YACvC,IAAI,MAAM,GAAG,KAAK,CAAC;YACnB,IAAI,YAAY,GAAqD,IAAI,CAAC;YAC1E,MAAM,mBAAmB,GAAG,GAAS,EAAE,CAAC,MAAM,EAAE,mBAAmB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YACpF,MAAM,IAAI,GAAG,CAAC,OAAgB,EAAE,SAAmB,EAAQ,EAAE;gBAC3D,IAAI,OAAO;oBAAE,OAAO;gBACpB,IAAI,CAAC,OAAO,EAAE,CAAC;oBACb,YAAY,GAAG,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;oBACtC,OAAO;gBACT,CAAC;gBACD,OAAO,GAAG,IAAI,CAAC;gBACf,mBAAmB,EAAE,CAAC;gBACtB,IAAI,YAAqB,CAAC;gBAC1B,IAAI,CAAC;oBAAC,OAAO,CAAC,OAAO,EAAE,CAAC;gBAAC,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBAAC,YAAY,GAAG,KAAK,CAAC;gBAAC,CAAC;gBAClE,MAAM,CAAC,MAAM,CAAC,MAAM,CAClB,IAAI,KAAK,CAAC,OAAO,IAAI,+CAA+C,UAAU,EAAE,CAAC,EACjF,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,CAC9E,CAAC,CAAC;YACL,CAAC,CAAC;YACF,MAAM,QAAQ,GAAG,GAAS,EAAE;gBAC1B,IAAI,OAAO;oBAAE,OAAO;gBACpB,MAAM,GAAG,IAAI,CAAC;gBACd,IAAI,CAAC,OAAO;oBAAE,OAAO;gBACrB,OAAO,GAAG,IAAI,CAAC;gBACf,mBAAmB,EAAE,CAAC;gBACtB,OAAO,CAAC,OAAO,CAAC,CAAC;YACnB,CAAC,CAAC;YACF,MAAM,KAAK,GAAG,GAAS,EAAE,CAAC,IAAI,CAAC,2CAA2C,EAAE,kCAAkC,EAAE,CAAC,CAAC;YAClH,MAAM,EAAE,gBAAgB,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;YACzD,IAAI,CAAC;gBACH,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,IAAI,CAAC,KAAK,EAAE;oBACnD,MAAM,EAAE,QAAQ;oBAChB,OAAO,EAAE,IAAI;iBACd,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,GAAG,IAAI,CAAC;gBACf,mBAAmB,EAAE,CAAC;gBACtB,MAAM,CAAC,MAAM,CAAC,MAAM,CAClB,IAAI,KAAK,CAAC,iDAAiD,UAAU,EAAE,CAAC,EACxE,EAAE,KAAK,EAAE,CACV,CAAC,CAAC;gBACH,OAAO;YACT,CAAC;YACD,MAAM,gBAAgB,GAAG,YAAgE,CAAC;YAC1F,IAAI,gBAAgB,EAAE,CAAC;gBACrB,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,gBAAgB,CAAC,SAAS,CAAC,CAAC;YAC7D,CAAC;iBAAM,IAAI,MAAM,IAAI,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;gBACvC,QAAQ,EAAE,CAAC;YACb,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;CACF;AAED,SAAS,kCAAkC;IACzC,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,2CAA2C,CAAC,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC;AACvG,CAAC;AAED,SAAS,4BAA4B,CAAC,OAAoB,EAAE,OAAgB;IAC1E,IAAI,YAAqB,CAAC;IAC1B,IAAI,CAAC;QAAC,OAAO,CAAC,OAAO,EAAE,CAAC;IAAC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAAC,YAAY,GAAG,KAAK,CAAC;IAAC,CAAC;IAClE,MAAM,MAAM,GAAG,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ;QACnD,CAAC,CAAC,OAAO;QACT,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;IAClE,IAAI,YAAY,KAAK,SAAS;QAAE,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,YAAY,EAAE,CAAC,CAAC;IACxE,MAAM,MAAM,CAAC;AACf,CAAC;AAED,SAAS,+BAA+B,CACtC,UAAkB,EAClB,KAAY,EACZ,YAA6D,EAAE;IAE/D,OAAO,IAAI,WAAW,CAAC,UAAU,EAAE,KAAK,EAAE;QACxC,WAAW,EAAE,IAAI;QACjB,iBAAiB,EAAE,IAAI;QACvB,MAAM,EAAE,SAAS,CAAC,MAAM;QACxB,OAAO,EAAE,SAAS,CAAC,OAAO;KAC3B,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"environment-texture-controller.js","sourceRoot":"","sources":["../../src/environment/environment-texture-controller.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mDAAmD,CAAC;AAEhF,OAAO,EAKN,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,yCAAyC,EAAE,MAAM,cAAc,CAAC;AAEzE,MAAM,UAAU,yCAAyC,CACvD,KAAY,EACZ,cAAwD,EACxD,UAAsD,EAAE;IAExD,OAAO,IAAI,uCAAuC,CAChD,KAAK,EACL,cAAc,IAAI,IAAI,EACtB,OAAO,CAAC,aAAa,IAAI,+BAA+B,CACzD,CAAC;AACJ,CAAC;AAED,MAAM,uCAAuC;IAK3C,YACmB,KAAY,EAC7B,cAAuD,EACtC,aAA+C;QAF/C,UAAK,GAAL,KAAK,CAAO;QAEZ,kBAAa,GAAb,aAAa,CAAkC;QAP1D,YAAO,GAA4C,IAAI,CAAC;QACxD,YAAO,GAAuB,IAAI,CAAC;QACnC,eAAU,GAAG,EAAE,CAAC;QAOtB,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;IAClC,CAAC;IAED,UAAU,CAAC,OAA4D;QACrE,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,IAAI,CAAC,uBAAuB,EAAE,CAAC;YAC/B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;YACpB,OAAO;QACT,CAAC;QAED,MAAM,WAAW,GAAG,yCAAyC,CAAC,OAAO,CAAC,CAAC;QACvE,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,CAAC;YAC5B,IAAI,CAAC,uBAAuB,EAAE,CAAC;YAC/B,IAAI,CAAC,OAAO,GAAG,WAAW,CAAC;YAC1B,IAAI,CAAC,KAAsD,CAAC,oBAAoB,GAAG,WAAW,CAAC,SAAS,CAAC;YAC1G,OAAO;QACT,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,UAAU,KAAK,WAAW,CAAC,UAAU,EAAE,CAAC;YAChE,MAAM,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC;YACrC,MAAM,WAAW,GAAG,IAAI,CAAC,wBAAwB,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;YAC1E,IAAI,CAAC,OAAO,GAAG,WAAW,CAAC;YAC3B,IAAI,CAAC,UAAU,GAAG,WAAW,CAAC,UAAU,CAAC;YACzC,IAAI,CAAC,KAAK,CAAC,kBAAkB,GAAG,WAAW,CAAC;YAC5C,eAAe,EAAE,OAAO,EAAE,CAAC;QAC7B,CAAC;QAED,IAAI,CAAC,OAAO,GAAG,WAAW,CAAC;QAC1B,IAAI,CAAC,KAAsD,CAAC,oBAAoB,GAAG,WAAW,CAAC,SAAS,CAAC;QAC1G,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,KAAK,GAAG,WAAW,CAAC,SAAS,CAAC;YAC1C,IAAI,CAAC,OAA6C,CAAC,SAAS,GAAG,WAAW,CAAC,SAAS,CAAC;YACtF,IAAI,IAAI,CAAC,KAAK,CAAC,kBAAkB,KAAK,IAAI,CAAC,OAAO,EAAE,CAAC;gBACnD,IAAI,CAAC,KAAK,CAAC,kBAAkB,GAAG,IAAI,CAAC,OAAO,CAAC;YAC/C,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,CAAC,eAAe,CACnB,OAA4D,EAC5D,MAAoB;QAEpB,IAAI,MAAM,EAAE,OAAO;YAAE,MAAM,kCAAkC,EAAE,CAAC;QAChE,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YACzB,OAAO;QACT,CAAC;QACD,MAAM,WAAW,GAAG,yCAAyC,CAAC,OAAO,CAAC,CAAC;QACvE,IAAI,CAAC,WAAW,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,UAAU,KAAK,WAAW,CAAC,UAAU,CAAC,EAAE,CAAC;YAC5F,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;YAC7B,OAAO;QACT,CAAC;QAED,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,6BAA6B,CAAC,WAAW,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QAC7F,IAAI,MAAM,EAAE,OAAO,EAAE,CAAC;YACpB,4BAA4B,CAAC,WAAW,EAAE,kCAAkC,EAAE,CAAC,CAAC;QAClF,CAAC;QACD,IAAI,CAAC;YACH,WAAW,CAAC,KAAK,GAAG,WAAW,CAAC,SAAS,CAAC;YACzC,WAAiD,CAAC,SAAS,GAAG,WAAW,CAAC,SAAS,CAAC;QACvF,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,4BAA4B,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;QACnD,CAAC;QACD,MAAM,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC;QACrC,IAAI,CAAC,OAAO,GAAG,WAAW,CAAC;QAC3B,IAAI,CAAC,UAAU,GAAG,WAAW,CAAC,UAAU,CAAC;QACzC,IAAI,CAAC,OAAO,GAAG,WAAW,CAAC;QAC3B,IAAI,CAAC,KAAK,CAAC,kBAAkB,GAAG,WAAW,CAAC;QAC3C,IAAI,CAAC,KAAsD,CAAC,oBAAoB,GAAG,WAAW,CAAC,SAAS,CAAC;QAC1G,eAAe,EAAE,OAAO,EAAE,CAAC;IAC7B,CAAC;IAED,UAAU;QACR,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IACnD,CAAC;IAED,UAAU;QACR,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,OAAO;QACL,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAC/B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;IACtB,CAAC;IAEO,uBAAuB;QAC7B,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,kBAAkB,KAAK,IAAI,CAAC,OAAO,EAAE,CAAC;YACnE,IAAI,CAAC,KAAK,CAAC,kBAAkB,GAAG,IAAI,CAAC;QACvC,CAAC;QACD,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC;QACxB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;IACvB,CAAC;IAEO,wBAAwB,CAAC,UAAkB;QACjD,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;YAC3D,OAAO,OAAO,CAAC;QACjB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,MAAM,CAAC,MAAM,CACjB,IAAI,KAAK,CAAC,iDAAiD,UAAU,EAAE,CAAC,EACxE,EAAE,KAAK,EAAE,CACV,CAAC;QACJ,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,6BAA6B,CACzC,UAAkB,EAClB,MAAoB;QAEpB,OAAO,IAAI,OAAO,CAAc,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAClD,IAAI,OAAO,GAAG,KAAK,CAAC;YACpB,IAAI,OAAO,GAAuB,IAAI,CAAC;YACvC,IAAI,MAAM,GAAG,KAAK,CAAC;YACnB,IAAI,YAAY,GAAqD,IAAI,CAAC;YAC1E,MAAM,mBAAmB,GAAG,GAAS,EAAE,CAAC,MAAM,EAAE,mBAAmB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YACpF,MAAM,IAAI,GAAG,CAAC,OAAgB,EAAE,SAAmB,EAAQ,EAAE;gBAC3D,IAAI,OAAO;oBAAE,OAAO;gBACpB,IAAI,CAAC,OAAO,EAAE,CAAC;oBACb,YAAY,GAAG,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;oBACtC,OAAO;gBACT,CAAC;gBACD,OAAO,GAAG,IAAI,CAAC;gBACf,mBAAmB,EAAE,CAAC;gBACtB,IAAI,YAAqB,CAAC;gBAC1B,IAAI,CAAC;oBAAC,OAAO,CAAC,OAAO,EAAE,CAAC;gBAAC,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBAAC,YAAY,GAAG,KAAK,CAAC;gBAAC,CAAC;gBAClE,MAAM,CAAC,MAAM,CAAC,MAAM,CAClB,IAAI,KAAK,CAAC,OAAO,IAAI,+CAA+C,UAAU,EAAE,CAAC,EACjF,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,CAC9E,CAAC,CAAC;YACL,CAAC,CAAC;YACF,MAAM,QAAQ,GAAG,GAAS,EAAE;gBAC1B,IAAI,OAAO;oBAAE,OAAO;gBACpB,MAAM,GAAG,IAAI,CAAC;gBACd,IAAI,CAAC,OAAO;oBAAE,OAAO;gBACrB,OAAO,GAAG,IAAI,CAAC;gBACf,mBAAmB,EAAE,CAAC;gBACtB,OAAO,CAAC,OAAO,CAAC,CAAC;YACnB,CAAC,CAAC;YACF,MAAM,KAAK,GAAG,GAAS,EAAE,CAAC,IAAI,CAAC,2CAA2C,EAAE,kCAAkC,EAAE,CAAC,CAAC;YAClH,MAAM,EAAE,gBAAgB,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;YACzD,IAAI,CAAC;gBACH,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,IAAI,CAAC,KAAK,EAAE;oBACnD,MAAM,EAAE,QAAQ;oBAChB,OAAO,EAAE,IAAI;iBACd,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,GAAG,IAAI,CAAC;gBACf,mBAAmB,EAAE,CAAC;gBACtB,MAAM,CAAC,MAAM,CAAC,MAAM,CAClB,IAAI,KAAK,CAAC,iDAAiD,UAAU,EAAE,CAAC,EACxE,EAAE,KAAK,EAAE,CACV,CAAC,CAAC;gBACH,OAAO;YACT,CAAC;YACD,MAAM,gBAAgB,GAAG,YAAgE,CAAC;YAC1F,IAAI,gBAAgB,EAAE,CAAC;gBACrB,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,gBAAgB,CAAC,SAAS,CAAC,CAAC;YAC7D,CAAC;iBAAM,IAAI,MAAM,IAAI,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;gBACvC,QAAQ,EAAE,CAAC;YACb,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;CACF;AAED,SAAS,kCAAkC;IACzC,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,2CAA2C,CAAC,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC;AACvG,CAAC;AAED,SAAS,4BAA4B,CAAC,OAAoB,EAAE,OAAgB;IAC1E,IAAI,YAAqB,CAAC;IAC1B,IAAI,CAAC;QAAC,OAAO,CAAC,OAAO,EAAE,CAAC;IAAC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAAC,YAAY,GAAG,KAAK,CAAC;IAAC,CAAC;IAClE,MAAM,MAAM,GAAG,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ;QACnD,CAAC,CAAC,OAAO;QACT,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;IAClE,IAAI,YAAY,KAAK,SAAS;QAAE,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,YAAY,EAAE,CAAC,CAAC;IACxE,MAAM,MAAM,CAAC;AACf,CAAC;AAED,SAAS,+BAA+B,CACtC,UAAkB,EAClB,KAAY,EACZ,YAA6D,EAAE;IAE/D,OAAO,IAAI,WAAW,CAAC,UAAU,EAAE,KAAK,EAAE;QACxC,WAAW,EAAE,IAAI;QACjB,iBAAiB,EAAE,IAAI;QACvB,MAAM,EAAE,SAAS,CAAC,MAAM;QACxB,OAAO,EAAE,SAAS,CAAC,OAAO;KAC3B,CAAC,CAAC;AACL,CAAC","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":"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"}
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":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,sCAAsC,CAAC;AAqB9D,MAAM,UAAU,iCAAiC,CAC/C,OAA0C;IAE1C,MAAM,QAAQ,GAAG,8BAA8B,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IACxE,IAAI,QAAQ;QAAE,OAAO,QAAQ,CAAC;IAE9B,MAAM,OAAO,GAAG,gBAAgB,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACxD,MAAM,OAAO,GAAG,gBAAgB,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACxD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC;IACpC,IAAI,KAAK,IAAI,OAAO,IAAI,IAAI,IAAI,OAAO,IAAI,IAAI,EAAE,CAAC;QAChD,MAAM,OAAO,GAAG,kCAAkC,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QAC5E,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,EAAE,CACzB,OAAO,CAAC,CAAC,EACT,OAAO,CAAC,CAAC,EACT,CAAC,IAAS,EAAE,EAAE,CAAC,+BAA+B,CAAC,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,CACpE,CAAC;QACF,IAAI,MAAM,EAAE,GAAG,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;YACtC,OAAO,EAAE,CAAC,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC;QACvF,CAAC;QAED,MAAM,MAAM,GAAG,KAAK,CAAC,YAAY,IAAI,KAAK,CAAC,sBAAsB,IAAI,IAAI,CAAC;QAC1E,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,gBAAgB,EAAE,CAAC,OAAO,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,EAAE,MAAM,CAAC,QAAQ,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACtG,IAAI,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,OAAO,EAAE,CAAC;YAC/C,MAAM,QAAQ,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC;YACjD,MAAM,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC5D,OAAO,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC;QAC1C,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAC,QAAQ,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;AAClD,CAAC;AAED,MAAM,UAAU,8BAA8B,CAAC,KAAc;IAC3D,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IACrD,MAAM,MAAM,GAAG,KAAgC,CAAC;IAChD,MAAM,CAAC,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACrC,MAAM,CAAC,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACrC,MAAM,CAAC,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACrC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,IAAI;QAAE,OAAO,IAAI,CAAC;IACrD,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;AACrB,CAAC;AAED,MAAM,UAAU,kCAAkC,CAChD,KAAU,EACV,OAAe,EACf,OAAe;IAEf,MAAM,MAAM,GAAG,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,kBAAkB,EAAE,EAAE,IAAI,IAAI,CAAC;IACpE,MAAM,IAAI,GAAG,MAAM,EAAE,qBAAqB,EAAE,EAAE,CAAC;IAC/C,IAAI,CAAC,IAAI;QAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC;IAC7C,OAAO,EAAE,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;AAC3D,CAAC;AAED,MAAM,UAAU,+BAA+B,CAAC,IAAS,EAAE,KAA8B;IACvF,IAAI,CAAC,IAAI;QAAE,OAAO,KAAK,CAAC;IACxB,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC;IACrC,IAAI,QAAQ,CAAC,YAAY,KAAK,IAAI,IAAI,QAAQ,CAAC,UAAU,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IACjF,IAAI,KAAK,CAAC,eAAe;QAAE,OAAO,IAAI,CAAC,IAAI,KAAK,KAAK,CAAC,eAAe,IAAI,IAAI,CAAC,EAAE,KAAK,KAAK,CAAC,eAAe,CAAC;IAC3G,IAAI,QAAQ,CAAC,SAAS,KAAK,IAAI,IAAI,QAAQ,CAAC,WAAW,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAC9E,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IAC9D,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;WACzB,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;WACtB,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;WACtB,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;WACtB,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;AAChC,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAc;IACtC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;AAC5E,CAAC"}
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":"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"}
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"]}
@@ -1 +1 @@
1
- {"version":3,"file":"babylon-default-pipeline.js","sourceRoot":"","sources":["../../src/post-process/babylon-default-pipeline.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"babylon-default-pipeline.js","sourceRoot":"","sources":["../../src/post-process/babylon-default-pipeline.ts"],"names":[],"mappings":"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","sourcesContent":["import { ImageProcessingConfiguration } from '@babylonjs/core/Materials/imageProcessingConfiguration.js';\nimport { DefaultRenderingPipeline } from '@babylonjs/core/PostProcesses/RenderPipeline/Pipelines/defaultRenderingPipeline.js';\nimport type { Camera } from '@babylonjs/core/Cameras/camera.js';\nimport type { Scene } from '@babylonjs/core/scene.js';\nimport {\n type BabylonDefaultPostProcessPipelineController,\n type BabylonDefaultPostProcessPipelineControllerOptions,\n type BabylonDefaultPostProcessProfile,\n} from './types.js';\nimport { normalizeBabylonDefaultPostProcessProfile } from './profile.js';\nimport { createPostProcessStructuralKey } from './volume-stack.js';\n\nexport function createBabylonDefaultPostProcessPipelineController(\n scene: Scene,\n cameras: Camera[],\n initialProfile?: BabylonDefaultPostProcessProfile | null,\n options: BabylonDefaultPostProcessPipelineControllerOptions = {},\n): BabylonDefaultPostProcessPipelineController {\n return new BabylonDefaultPostProcessPipelineControllerImpl(\n scene,\n cameras,\n options.name ?? 'defaultPostProcessPipeline',\n initialProfile ?? null,\n );\n}\n\nclass BabylonDefaultPostProcessPipelineControllerImpl implements BabylonDefaultPostProcessPipelineController {\n private pipeline: DefaultRenderingPipeline | null = null;\n private profile: BabylonDefaultPostProcessProfile | null = null;\n private structuralKey = '';\n\n constructor(\n private readonly scene: Scene,\n private readonly cameras: Camera[],\n private readonly name: string,\n initialProfile: BabylonDefaultPostProcessProfile | null,\n ) {\n this.setProfile(initialProfile);\n }\n\n setProfile(profile: BabylonDefaultPostProcessProfile | null | undefined): void {\n if (!profile) {\n this.disposePipeline();\n this.profile = null;\n this.structuralKey = '';\n return;\n }\n const nextProfile = normalizeBabylonDefaultPostProcessProfile(profile);\n const nextStructuralKey = createPostProcessStructuralKey(nextProfile);\n this.profile = nextProfile;\n if (!nextProfile.enabled) {\n this.disposePipeline();\n this.structuralKey = nextStructuralKey;\n return;\n }\n if (!this.pipeline || this.structuralKey !== nextStructuralKey) {\n this.disposePipeline();\n this.pipeline = new DefaultRenderingPipeline(\n this.name,\n nextProfile.hdr,\n this.scene,\n this.cameras,\n );\n this.structuralKey = nextStructuralKey;\n }\n this.applyProfile(nextProfile);\n }\n\n getProfile(): BabylonDefaultPostProcessProfile | null {\n return this.profile;\n }\n\n getPipeline(): DefaultRenderingPipeline | null {\n return this.pipeline;\n }\n\n dispose(): void {\n this.disposePipeline();\n this.profile = null;\n this.structuralKey = '';\n }\n\n private applyProfile(profile: BabylonDefaultPostProcessProfile): void {\n if (!this.pipeline) return;\n this.pipeline.imageProcessingEnabled = true;\n this.pipeline.imageProcessing.exposure = profile.imageProcessing.exposure;\n this.pipeline.imageProcessing.contrast = profile.imageProcessing.contrast;\n this.pipeline.imageProcessing.toneMappingEnabled = profile.toneMapping.enabled;\n this.pipeline.imageProcessing.toneMappingType = resolveToneMappingType(profile.toneMapping.type);\n\n this.pipeline.samples = profile.antialiasing.samples;\n this.pipeline.bloomEnabled = profile.bloom.enabled;\n this.pipeline.bloomThreshold = profile.bloom.threshold;\n this.pipeline.bloomWeight = profile.bloom.weight;\n this.pipeline.bloomKernel = profile.bloom.kernel;\n this.pipeline.bloomScale = profile.bloom.scale;\n\n this.pipeline.sharpenEnabled = false;\n this.pipeline.chromaticAberrationEnabled = false;\n this.pipeline.depthOfFieldEnabled = false;\n this.pipeline.grainEnabled = false;\n }\n\n private disposePipeline(): void {\n this.pipeline?.dispose();\n this.pipeline = null;\n }\n}\n\nfunction resolveToneMappingType(type: BabylonDefaultPostProcessProfile['toneMapping']['type']): number {\n if (type === 'aces') return ImageProcessingConfiguration.TONEMAPPING_ACES;\n if (type === 'khr-pbr-neutral') return ImageProcessingConfiguration.TONEMAPPING_KHR_PBR_NEUTRAL;\n return ImageProcessingConfiguration.TONEMAPPING_STANDARD;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/post-process/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,+BAA+B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/post-process/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,+BAA+B,CAAC","sourcesContent":["export * from './types.js';\nexport * from './profile.js';\nexport * from './volume-stack.js';\nexport * from './babylon-default-pipeline.js';\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"profile.js","sourceRoot":"","sources":["../../src/post-process/profile.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,4CAA4C,EAC5C,sCAAsC,GAOvC,MAAM,YAAY,CAAC;AAIpB,MAAM,0BAA0B,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAU,CAAC;AAEzD,MAAM,UAAU,yCAAyC,CAAC,KAAc;IACtE,MAAM,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;IACjC,MAAM,QAAQ,GAAG,4CAA4C,CAAC;IAC9D,MAAM,eAAe,GAAG,UAAU,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;IAC3D,MAAM,WAAW,GAAG,UAAU,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IACnD,MAAM,YAAY,GAAG,UAAU,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IACrD,MAAM,KAAK,GAAG,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAEvC,OAAO;QACL,OAAO,EAAE,WAAW,CAAC,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC;QACtD,GAAG,EAAE,WAAW,CAAC,MAAM,CAAC,GAAG,EAAE,QAAQ,CAAC,GAAG,CAAC;QAC1C,eAAe,EAAE;YACf,QAAQ,EAAE,gBAAgB,CAAC,eAAe,CAAC,QAAQ,EAAE,QAAQ,CAAC,eAAe,CAAC,QAAQ,CAAC;YACvF,QAAQ,EAAE,gBAAgB,CAAC,eAAe,CAAC,QAAQ,EAAE,QAAQ,CAAC,eAAe,CAAC,QAAQ,CAAC;SACxF;QACD,WAAW,EAAE;YACX,OAAO,EAAE,WAAW,CAAC,WAAW,CAAC,OAAO,EAAE,QAAQ,CAAC,WAAW,CAAC,OAAO,CAAC;YACvE,IAAI,EAAE,mBAAmB,CAAC,WAAW,CAAC,IAAI,EAAE,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC;SACvE;QACD,YAAY,EAAE;YACZ,OAAO,EAAE,WAAW,CAAC,YAAY,CAAC,OAAO,EAAE,QAAQ,CAAC,YAAY,CAAC,OAAO,CAAC;SAC1E;QACD,KAAK,EAAE;YACL,OAAO,EAAE,WAAW,CAAC,KAAK,CAAC,OAAO,EAAE,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC;YAC3D,SAAS,EAAE,qBAAqB,CAAC,KAAK,CAAC,SAAS,EAAE,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC;YAC3E,MAAM,EAAE,qBAAqB,CAAC,KAAK,CAAC,MAAM,EAAE,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC;YAClE,MAAM,EAAE,qBAAqB,CAAC,KAAK,CAAC,MAAM,EAAE,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC;YAClE,KAAK,EAAE,kBAAkB,CAAC,KAAK,CAAC,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC;SAC7D;KACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,6CAA6C,CAAC,KAAc;IAC1E,MAAM,IAAI,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;IAC/B,MAAM,eAAe,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC;QAC5D,CAAC,CAAC,IAAI,CAAC,kBAAkB;QACzB,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC;YAC3B,CAAC,CAAC,IAAI,CAAC,OAAO;YACd,CAAC,CAAC,IAAI,CAAC;IACX,IAAI,eAAe,EAAE,CAAC;QACpB,MAAM,OAAO,GAAG,eAAe;aAC5B,GAAG,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,0BAA0B,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;aACjE,MAAM,CAAC,CAAC,MAAM,EAA6C,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QAC3E,OAAO,EAAE,OAAO,EAAE,CAAC;IACrB,CAAC;IAED,MAAM,YAAY,GAAG,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACnD,MAAM,aAAa,GAAG,6BAA6B,CAAC,YAAY,CAAC,CAAC;IAClE,OAAO;QACL,OAAO,EAAE,CAAC;gBACR,EAAE,EAAE,sCAAsC;gBAC1C,OAAO,EAAE,IAAI;gBACb,MAAM,EAAE,IAAI;gBACZ,QAAQ,EAAE,CAAC;gBACX,WAAW,EAAE,CAAC;gBACd,WAAW,EAAE,CAAC;gBACd,KAAK,EAAE,IAAI;gBACX,OAAO,EAAE,aAAa;aACvB,CAAC;KACH,CAAC;AACJ,CAAC;AAED,SAAS,0BAA0B,CAAC,KAAc,EAAE,KAAa;IAC/D,MAAM,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;IACjC,MAAM,OAAO,GAAG,WAAW,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAClD,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACjD,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACtD,IAAI,CAAC,MAAM,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IACnC,OAAO;QACL,EAAE,EAAE,UAAU,CAAC,MAAM,CAAC,EAAE,EAAE,uBAAuB,KAAK,GAAG,CAAC,EAAE,CAAC;QAC7D,OAAO;QACP,MAAM;QACN,QAAQ,EAAE,gBAAgB,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC9C,WAAW,EAAE,iBAAiB,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QAC3D,WAAW,EAAE,qBAAqB,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;QACzD,KAAK;QACL,OAAO,EAAE,yCAAyC,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;KAC/E,CAAC;AACJ,CAAC;AAED,SAAS,6BAA6B,CAAC,YAAqC;IAC1E,MAAM,eAAe,GAAG,UAAU,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC;IACjE,MAAM,cAAc,GAAG,UAAU,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC;IAC/D,MAAM,KAAK,GAAG,UAAU,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IAC/C,OAAO,yCAAyC,CAAC;QAC/C,OAAO,EAAE,YAAY,CAAC,OAAO;QAC7B,GAAG,EAAE,YAAY,CAAC,GAAG;QACrB,eAAe,EAAE;YACf,QAAQ,EAAE,eAAe,CAAC,QAAQ;YAClC,QAAQ,EAAE,eAAe,CAAC,QAAQ;SACnC;QACD,WAAW,EAAE,UAAU,CAAC,YAAY,CAAC,WAAW,CAAC;QACjD,YAAY,EAAE;YACZ,OAAO,EAAE,UAAU,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,OAAO;SACvD;QACD,KAAK;KACN,CAAC,CAAC;AACL,CAAC;AAED,SAAS,SAAS,CAAC,KAAc;IAC/B,MAAM,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;IACjC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;IACzB,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;QACtB,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QAC7D,MAAM,MAAM,GAAG,kBAAkB,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QACpD,OAAO,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IACtD,CAAC;IACD,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;QACnB,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QAC7D,MAAM,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QACzD,OAAO,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IAChF,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,KAAc;IACvC,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,UAAU,CAAC,KAAc,EAAE,QAAgB;IAClD,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC;AACtE,CAAC;AAED,SAAS,WAAW,CAAC,KAAc,EAAE,QAAiB;IACpD,OAAO,OAAO,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC;AACvD,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,MAAM,WAAW,GAAG,gBAAgB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IACtD,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;AAClC,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAc,EAAE,QAAgB;IAC1D,MAAM,WAAW,GAAG,gBAAgB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IACtD,OAAO,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC;AAClD,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAc,EAAE,QAAgB,EAAE,GAAW,EAAE,GAAW;IACnF,MAAM,WAAW,GAAG,gBAAgB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IACtD,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC,CAAC;AACnD,CAAC;AAED,SAAS,WAAW,CAAC,KAAc,EAAE,QAA0C;IAC7E,MAAM,WAAW,GAAG,gBAAgB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IACtD,OAAO,0BAA0B,CAAC,QAAQ,CAAC,WAA+C,CAAC;QACzF,CAAC,CAAC,WAA+C;QACjD,CAAC,CAAC,QAAQ,CAAC;AACf,CAAC;AAED,SAAS,mBAAmB,CAC1B,KAAc,EACd,QAAkD;IAElD,OAAO,KAAK,KAAK,UAAU,IAAI,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,iBAAiB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC;AACpG,CAAC;AAED,SAAS,QAAQ,CAAC,KAAc,EAAE,QAAuC;IACvE,MAAM,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;IACjC,OAAO;QACL,CAAC,EAAE,gBAAgB,CAAC,MAAM,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC;QACzC,CAAC,EAAE,gBAAgB,CAAC,MAAM,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC;QACzC,CAAC,EAAE,gBAAgB,CAAC,MAAM,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC;KAC1C,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"profile.js","sourceRoot":"","sources":["../../src/post-process/profile.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n DEFAULT_BABYLON_DEFAULT_POST_PROCESS_PROFILE,\n DEFAULT_BABYLON_POST_PROCESS_VOLUME_ID,\n type BabylonDefaultPostProcessProfile,\n type BabylonDefaultPostProcessSamples,\n type BabylonDefaultPostProcessVec3,\n type BabylonDefaultPostProcessVolume,\n type BabylonDefaultPostProcessVolumeStack,\n type PostProcessVolumeShape,\n} from './types.js';\n\ntype BabylonDefaultPostProcessToneMappingType = BabylonDefaultPostProcessProfile['toneMapping']['type'];\n\nconst POST_PROCESS_SAMPLE_VALUES = [1, 2, 4, 8] as const;\n\nexport function normalizeBabylonDefaultPostProcessProfile(value: unknown): BabylonDefaultPostProcessProfile {\n const source = readRecord(value);\n const fallback = DEFAULT_BABYLON_DEFAULT_POST_PROCESS_PROFILE;\n const imageProcessing = readRecord(source.imageProcessing);\n const toneMapping = readRecord(source.toneMapping);\n const antialiasing = readRecord(source.antialiasing);\n const bloom = readRecord(source.bloom);\n\n return {\n enabled: readBoolean(source.enabled, fallback.enabled),\n hdr: readBoolean(source.hdr, fallback.hdr),\n imageProcessing: {\n exposure: readFiniteNumber(imageProcessing.exposure, fallback.imageProcessing.exposure),\n contrast: readFiniteNumber(imageProcessing.contrast, fallback.imageProcessing.contrast),\n },\n toneMapping: {\n enabled: readBoolean(toneMapping.enabled, fallback.toneMapping.enabled),\n type: readToneMappingType(toneMapping.type, fallback.toneMapping.type),\n },\n antialiasing: {\n samples: readSamples(antialiasing.samples, fallback.antialiasing.samples),\n },\n bloom: {\n enabled: readBoolean(bloom.enabled, fallback.bloom.enabled),\n threshold: readNonNegativeNumber(bloom.threshold, fallback.bloom.threshold),\n weight: readNonNegativeNumber(bloom.weight, fallback.bloom.weight),\n kernel: readNonNegativeNumber(bloom.kernel, fallback.bloom.kernel),\n scale: readPositiveNumber(bloom.scale, fallback.bloom.scale),\n },\n };\n}\n\nexport function normalizeBabylonDefaultPostProcessVolumeStack(value: unknown): BabylonDefaultPostProcessVolumeStack {\n const root = readRecord(value);\n const explicitVolumes = Array.isArray(root.postProcessVolumes)\n ? root.postProcessVolumes\n : Array.isArray(root.volumes)\n ? root.volumes\n : null;\n if (explicitVolumes) {\n const volumes = explicitVolumes\n .map((volume, index) => normalizePostProcessVolume(volume, index))\n .filter((volume): volume is BabylonDefaultPostProcessVolume => !!volume);\n return { volumes };\n }\n\n const globalVolume = readRecord(root.globalVolume);\n const globalProfile = createProfileFromGlobalVolume(globalVolume);\n return {\n volumes: [{\n id: DEFAULT_BABYLON_POST_PROCESS_VOLUME_ID,\n enabled: true,\n global: true,\n priority: 0,\n blendWeight: 1,\n blendRadius: 0,\n shape: null,\n profile: globalProfile,\n }],\n };\n}\n\nfunction normalizePostProcessVolume(value: unknown, index: number): BabylonDefaultPostProcessVolume | null {\n const source = readRecord(value);\n const enabled = readBoolean(source.enabled, true);\n const global = readBoolean(source.global, false);\n const shape = global ? null : readShape(source.shape);\n if (!global && !shape) return null;\n return {\n id: readString(source.id, `post-process-volume-${index + 1}`),\n enabled,\n global,\n priority: readFiniteNumber(source.priority, 0),\n blendWeight: readClampedNumber(source.blendWeight, 1, 0, 1),\n blendRadius: readNonNegativeNumber(source.blendRadius, 0),\n shape,\n profile: normalizeBabylonDefaultPostProcessProfile(readRecord(source.profile)),\n };\n}\n\nfunction createProfileFromGlobalVolume(globalVolume: Record<string, unknown>): BabylonDefaultPostProcessProfile {\n const imageProcessing = readRecord(globalVolume.imageProcessing);\n const postProcessing = readRecord(globalVolume.postProcessing);\n const bloom = readRecord(postProcessing.bloom);\n return normalizeBabylonDefaultPostProcessProfile({\n enabled: globalVolume.enabled,\n hdr: globalVolume.hdr,\n imageProcessing: {\n exposure: imageProcessing.exposure,\n contrast: imageProcessing.contrast,\n },\n toneMapping: readRecord(globalVolume.toneMapping),\n antialiasing: {\n samples: readRecord(globalVolume.antialiasing).samples,\n },\n bloom,\n });\n}\n\nfunction readShape(value: unknown): PostProcessVolumeShape | null {\n const source = readRecord(value);\n const type = source.type;\n if (type === 'sphere') {\n const center = readVec3(source.center, { x: 0, y: 0, z: 0 });\n const radius = readPositiveNumber(source.radius, 0);\n return radius > 0 ? { type, center, radius } : null;\n }\n if (type === 'box') {\n const center = readVec3(source.center, { x: 0, y: 0, z: 0 });\n const size = readVec3(source.size, { x: 0, y: 0, z: 0 });\n return size.x > 0 && size.y > 0 && size.z > 0 ? { type, center, size } : null;\n }\n return null;\n}\n\nexport function 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 readString(value: unknown, fallback: string): string {\n return typeof value === 'string' && value.trim() ? value : fallback;\n}\n\nfunction readBoolean(value: unknown, fallback: boolean): boolean {\n return typeof value === 'boolean' ? value : fallback;\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 const numberValue = readFiniteNumber(value, fallback);\n return Math.max(0, numberValue);\n}\n\nfunction readPositiveNumber(value: unknown, fallback: number): number {\n const numberValue = readFiniteNumber(value, fallback);\n return numberValue > 0 ? numberValue : fallback;\n}\n\nfunction readClampedNumber(value: unknown, fallback: number, min: number, max: number): number {\n const numberValue = readFiniteNumber(value, fallback);\n return Math.min(max, Math.max(min, numberValue));\n}\n\nfunction readSamples(value: unknown, fallback: BabylonDefaultPostProcessSamples): BabylonDefaultPostProcessSamples {\n const numberValue = readFiniteNumber(value, fallback);\n return POST_PROCESS_SAMPLE_VALUES.includes(numberValue as BabylonDefaultPostProcessSamples)\n ? numberValue as BabylonDefaultPostProcessSamples\n : fallback;\n}\n\nfunction readToneMappingType(\n value: unknown,\n fallback: BabylonDefaultPostProcessToneMappingType,\n): BabylonDefaultPostProcessToneMappingType {\n return value === 'standard' || value === 'aces' || value === 'khr-pbr-neutral' ? value : fallback;\n}\n\nfunction readVec3(value: unknown, fallback: BabylonDefaultPostProcessVec3): BabylonDefaultPostProcessVec3 {\n const source = readRecord(value);\n return {\n x: readFiniteNumber(source.x, fallback.x),\n y: readFiniteNumber(source.y, fallback.y),\n z: readFiniteNumber(source.z, fallback.z),\n };\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/post-process/types.ts"],"names":[],"mappings":"AAwFA,MAAM,CAAC,MAAM,sCAAsC,GAAG,4BAA4B,CAAC;AAEnF,MAAM,CAAC,MAAM,4CAA4C,GAAqC;IAC5F,OAAO,EAAE,IAAI;IACb,GAAG,EAAE,IAAI;IACT,eAAe,EAAE;QACf,QAAQ,EAAE,CAAC;QACX,QAAQ,EAAE,CAAC;KACZ;IACD,WAAW,EAAE;QACX,OAAO,EAAE,IAAI;QACb,IAAI,EAAE,MAAM;KACb;IACD,YAAY,EAAE;QACZ,OAAO,EAAE,CAAC;KACX;IACD,KAAK,EAAE;QACL,OAAO,EAAE,KAAK;QACd,SAAS,EAAE,GAAG;QACd,MAAM,EAAE,GAAG;QACX,MAAM,EAAE,EAAE;QACV,KAAK,EAAE,GAAG;KACX;CACF,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/post-process/types.ts"],"names":[],"mappings":"AAwFA,MAAM,CAAC,MAAM,sCAAsC,GAAG,4BAA4B,CAAC;AAEnF,MAAM,CAAC,MAAM,4CAA4C,GAAqC;IAC5F,OAAO,EAAE,IAAI;IACb,GAAG,EAAE,IAAI;IACT,eAAe,EAAE;QACf,QAAQ,EAAE,CAAC;QACX,QAAQ,EAAE,CAAC;KACZ;IACD,WAAW,EAAE;QACX,OAAO,EAAE,IAAI;QACb,IAAI,EAAE,MAAM;KACb;IACD,YAAY,EAAE;QACZ,OAAO,EAAE,CAAC;KACX;IACD,KAAK,EAAE;QACL,OAAO,EAAE,KAAK;QACd,SAAS,EAAE,GAAG;QACd,MAAM,EAAE,GAAG;QACX,MAAM,EAAE,EAAE;QACV,KAAK,EAAE,GAAG;KACX;CACF,CAAC","sourcesContent":["export type BabylonDefaultToneMappingType = 'standard' | 'aces' | 'khr-pbr-neutral';\n\nexport type BabylonDefaultPostProcessSamples = 1 | 2 | 4 | 8;\n\nexport interface BabylonDefaultPostProcessVec3 {\n x: number;\n y: number;\n z: number;\n}\n\nexport interface BabylonDefaultPostProcessProfile {\n enabled: boolean;\n hdr: boolean;\n imageProcessing: {\n exposure: number;\n contrast: number;\n };\n toneMapping: {\n enabled: boolean;\n type: BabylonDefaultToneMappingType;\n };\n antialiasing: {\n samples: BabylonDefaultPostProcessSamples;\n };\n bloom: {\n enabled: boolean;\n threshold: number;\n weight: number;\n kernel: number;\n scale: number;\n };\n}\n\nexport type PostProcessVolumeShape =\n | {\n type: 'sphere';\n center: BabylonDefaultPostProcessVec3;\n radius: number;\n }\n | {\n type: 'box';\n center: BabylonDefaultPostProcessVec3;\n size: BabylonDefaultPostProcessVec3;\n };\n\nexport interface BabylonDefaultPostProcessVolume {\n id: string;\n enabled: boolean;\n global: boolean;\n priority: number;\n blendWeight: number;\n blendRadius: number;\n shape: PostProcessVolumeShape | null;\n profile: BabylonDefaultPostProcessProfile;\n}\n\nexport interface BabylonDefaultPostProcessVolumeStack {\n volumes: BabylonDefaultPostProcessVolume[];\n}\n\nexport interface BabylonDefaultPostProcessResolveInput {\n cameraPosition?: BabylonDefaultPostProcessVec3 | null;\n}\n\nexport interface BabylonDefaultPostProcessResolvedVolume {\n id: string;\n priority: number;\n influence: number;\n global: boolean;\n}\n\nexport interface BabylonDefaultPostProcessResolveResult {\n profile: BabylonDefaultPostProcessProfile;\n structuralKey: string;\n activeVolumes: BabylonDefaultPostProcessResolvedVolume[];\n}\n\nexport interface BabylonDefaultPostProcessPipelineController {\n setProfile(profile: BabylonDefaultPostProcessProfile | null | undefined): void;\n getProfile(): BabylonDefaultPostProcessProfile | null;\n getPipeline(): unknown | null;\n dispose(): void;\n}\n\nexport interface BabylonDefaultPostProcessPipelineControllerOptions {\n name?: string;\n}\n\nexport const DEFAULT_BABYLON_POST_PROCESS_VOLUME_ID = 'global-post-process-volume';\n\nexport const DEFAULT_BABYLON_DEFAULT_POST_PROCESS_PROFILE: BabylonDefaultPostProcessProfile = {\n enabled: true,\n hdr: true,\n imageProcessing: {\n exposure: 1,\n contrast: 1,\n },\n toneMapping: {\n enabled: true,\n type: 'aces',\n },\n antialiasing: {\n samples: 4,\n },\n bloom: {\n enabled: false,\n threshold: 0.9,\n weight: 0.2,\n kernel: 64,\n scale: 0.5,\n },\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"volume-stack.js","sourceRoot":"","sources":["../../src/post-process/volume-stack.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"volume-stack.js","sourceRoot":"","sources":["../../src/post-process/volume-stack.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n DEFAULT_BABYLON_DEFAULT_POST_PROCESS_PROFILE,\n type BabylonDefaultPostProcessProfile,\n type BabylonDefaultPostProcessResolveInput,\n type BabylonDefaultPostProcessResolveResult,\n type BabylonDefaultPostProcessVec3,\n type BabylonDefaultPostProcessVolume,\n type BabylonDefaultPostProcessVolumeStack,\n type PostProcessVolumeShape,\n} from './types.js';\nimport {\n normalizeBabylonDefaultPostProcessProfile,\n normalizeBabylonDefaultPostProcessVolumeStack,\n} from './profile.js';\n\ntype InfluencedVolume = {\n volume: BabylonDefaultPostProcessVolume;\n influence: number;\n order: number;\n};\n\nexport function resolveBabylonDefaultPostProcessVolumeStack(\n value: BabylonDefaultPostProcessVolumeStack | unknown,\n input: BabylonDefaultPostProcessResolveInput = {},\n): BabylonDefaultPostProcessResolveResult {\n const stack = normalizeBabylonDefaultPostProcessVolumeStack(value);\n const activeVolumes = stack.volumes\n .map((volume, order) => ({ volume, order, influence: resolveVolumeInfluence(volume, input.cameraPosition ?? null) }))\n .filter(entry => entry.volume.enabled && entry.influence > 0)\n .sort((left, right) => left.volume.priority - right.volume.priority || left.order - right.order);\n const globalVolumes = activeVolumes.filter(entry => entry.volume.global);\n const localVolumes = activeVolumes.filter(entry => !entry.volume.global);\n const influencedVolumes = [...globalVolumes, ...localVolumes];\n\n let profile = normalizeBabylonDefaultPostProcessProfile(DEFAULT_BABYLON_DEFAULT_POST_PROCESS_PROFILE);\n for (const entry of influencedVolumes) {\n profile = blendPostProcessProfile(profile, entry.volume.profile, entry.influence);\n }\n applyStructuralFields(profile, localVolumes.length > 0 ? localVolumes : globalVolumes);\n\n return {\n profile,\n structuralKey: createPostProcessStructuralKey(profile),\n activeVolumes: influencedVolumes.map(entry => ({\n id: entry.volume.id,\n priority: entry.volume.priority,\n influence: entry.influence,\n global: entry.volume.global,\n })),\n };\n}\n\nexport function createPostProcessStructuralKey(profile: BabylonDefaultPostProcessProfile): string {\n return JSON.stringify({\n enabled: profile.enabled,\n hdr: profile.hdr,\n toneMappingEnabled: profile.toneMapping.enabled,\n toneMappingType: profile.toneMapping.type,\n samples: profile.antialiasing.samples,\n bloomEnabled: profile.bloom.enabled,\n });\n}\n\nfunction resolveVolumeInfluence(\n volume: BabylonDefaultPostProcessVolume,\n cameraPosition: BabylonDefaultPostProcessVec3 | null,\n): number {\n if (!volume.enabled) return 0;\n if (volume.global) return volume.blendWeight;\n if (!cameraPosition || !volume.shape) return 0;\n const distance = distanceToShapeSurface(cameraPosition, volume.shape);\n const spatialInfluence = distance <= 0\n ? 1\n : volume.blendRadius > 0\n ? Math.max(0, 1 - distance / volume.blendRadius)\n : 0;\n return clamp01(spatialInfluence * volume.blendWeight);\n}\n\nfunction distanceToShapeSurface(point: BabylonDefaultPostProcessVec3, shape: PostProcessVolumeShape): number {\n if (shape.type === 'sphere') {\n return distance(point, shape.center) - shape.radius;\n }\n const half = {\n x: shape.size.x / 2,\n y: shape.size.y / 2,\n z: shape.size.z / 2,\n };\n const dx = Math.abs(point.x - shape.center.x) - half.x;\n const dy = Math.abs(point.y - shape.center.y) - half.y;\n const dz = Math.abs(point.z - shape.center.z) - half.z;\n const outside = Math.hypot(Math.max(dx, 0), Math.max(dy, 0), Math.max(dz, 0));\n const inside = Math.min(Math.max(dx, dy, dz), 0);\n return outside + inside;\n}\n\nfunction blendPostProcessProfile(\n current: BabylonDefaultPostProcessProfile,\n next: BabylonDefaultPostProcessProfile,\n influence: number,\n): BabylonDefaultPostProcessProfile {\n const amount = clamp01(influence);\n return {\n ...current,\n imageProcessing: {\n exposure: mix(current.imageProcessing.exposure, next.imageProcessing.exposure, amount),\n contrast: mix(current.imageProcessing.contrast, next.imageProcessing.contrast, amount),\n },\n bloom: {\n enabled: current.bloom.enabled,\n threshold: mix(current.bloom.threshold, next.bloom.threshold, amount),\n weight: mix(current.bloom.weight, next.bloom.weight, amount),\n kernel: mix(current.bloom.kernel, next.bloom.kernel, amount),\n scale: mix(current.bloom.scale, next.bloom.scale, amount),\n },\n };\n}\n\nfunction applyStructuralFields(\n profile: BabylonDefaultPostProcessProfile,\n influencedVolumes: InfluencedVolume[],\n): void {\n const winner = influencedVolumes[influencedVolumes.length - 1]?.volume.profile;\n if (!winner) return;\n profile.enabled = winner.enabled;\n profile.hdr = winner.hdr;\n profile.toneMapping = { ...winner.toneMapping };\n profile.antialiasing = { ...winner.antialiasing };\n profile.bloom.enabled = winner.bloom.enabled;\n}\n\nfunction mix(left: number, right: number, amount: number): number {\n return left + (right - left) * amount;\n}\n\nfunction distance(left: BabylonDefaultPostProcessVec3, right: BabylonDefaultPostProcessVec3): number {\n return Math.hypot(left.x - right.x, left.y - right.y, left.z - right.z);\n}\n\nfunction clamp01(value: number): number {\n return Math.min(1, Math.max(0, Number.isFinite(value) ? value : 0));\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"reference.js","sourceRoot":"","sources":["../src/reference.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,wBAAwB,GAEzB,MAAM,uBAAuB,CAAC;AAE/B,MAAM,CAAC,MAAM,8BAA8B,GAAG,sBAAsB,CAAC;AACrE,MAAM,CAAC,MAAM,iCAAiC,GAAG,6BAA6B,CAAC;AAM/E,MAAM,UAAU,qBAAqB,CACnC,SAAyC,EAAE;IAE3C,OAAO,wBAAwB,CAAC;QAC9B,WAAW,EAAE,iCAAiC;QAC9C,QAAQ,EAAE,8BAA8B;QACxC,MAAM;QACN,YAAY,EAAE;YACZ,QAAQ,EAAE;gBACR,8BAA8B;gBAC9B,mCAAmC;aACpC;SACF;KACF,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"reference.js","sourceRoot":"","sources":["../src/reference.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,wBAAwB,GAEzB,MAAM,uBAAuB,CAAC;AAE/B,MAAM,CAAC,MAAM,8BAA8B,GAAG,sBAAsB,CAAC;AACrE,MAAM,CAAC,MAAM,iCAAiC,GAAG,6BAA6B,CAAC;AAM/E,MAAM,UAAU,qBAAqB,CACnC,SAAyC,EAAE;IAE3C,OAAO,wBAAwB,CAAC;QAC9B,WAAW,EAAE,iCAAiC;QAC9C,QAAQ,EAAE,8BAA8B;QACxC,MAAM;QACN,YAAY,EAAE;YACZ,QAAQ,EAAE;gBACR,8BAA8B;gBAC9B,mCAAmC;aACpC;SACF;KACF,CAAC,CAAC;AACL,CAAC","sourcesContent":["import {\n defineFpsPluginReference,\n type FpsPluginReference,\n} from '@fps-games/plugin-api';\n\nexport const FPS_BABYLON_RENDERER_PLUGIN_ID = 'fps.renderer.babylon';\nexport const FPS_BABYLON_RENDERER_PACKAGE_NAME = '@fps-games/babylon-renderer';\n\nexport interface FpsBabylonRendererPluginConfig {\n readonly environmentTexture?: string | null;\n}\n\nexport function babylonRendererPlugin(\n config: FpsBabylonRendererPluginConfig = {},\n): Readonly<FpsPluginReference<FpsBabylonRendererPluginConfig>> {\n return defineFpsPluginReference({\n packageName: FPS_BABYLON_RENDERER_PACKAGE_NAME,\n pluginId: FPS_BABYLON_RENDERER_PLUGIN_ID,\n config,\n hostServices: {\n renderer: [\n 'fps.renderer.babylon.context',\n 'fps.renderer.babylon.runtime-data',\n ],\n },\n });\n}\n"]}