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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (653) hide show
  1. package/dist/agent-bridge/capabilities/assets.js.map +1 -1
  2. package/dist/agent-bridge/capabilities/editor-state.js.map +1 -1
  3. package/dist/agent-bridge/capabilities/host-lifecycle.js.map +1 -1
  4. package/dist/agent-bridge/capabilities/prefabs.js.map +1 -1
  5. package/dist/agent-bridge/capabilities/scene-objects.js.map +1 -1
  6. package/dist/agent-bridge/capabilities/selection.js.map +1 -1
  7. package/dist/agent-bridge/capabilities/shadows.js.map +1 -1
  8. package/dist/agent-bridge/capabilities/transform.js.map +1 -1
  9. package/dist/agent-bridge/capabilities/ui-regions.js.map +1 -1
  10. package/dist/agent-bridge/capabilities/viewport.js.map +1 -1
  11. package/dist/agent-bridge/capability-sources.js.map +1 -1
  12. package/dist/agent-bridge/diagnostics.js.map +1 -1
  13. package/dist/agent-bridge/index.js.map +1 -1
  14. package/dist/agent-bridge/register.js.map +1 -1
  15. package/dist/agent-bridge/shared.js.map +1 -1
  16. package/dist/agent-bridge/source-types.js.map +1 -1
  17. package/dist/authoring-apply.js.map +1 -1
  18. package/dist/build-info.json +48 -48
  19. package/dist/editor-plugin-agent-capabilities.js.map +1 -1
  20. package/dist/editor-plugin-hierarchy-command.js.map +1 -1
  21. package/dist/index.js.map +1 -1
  22. package/dist/internal/local-editor-lifecycle-operations.js.map +1 -1
  23. package/dist/local-editor-agent-actions.js.map +1 -1
  24. package/dist/local-editor-agent-bridge-transport.js.map +1 -1
  25. package/dist/local-editor-agent-bridge.js.map +1 -1
  26. package/dist/local-editor-agent-context.js.map +1 -1
  27. package/dist/local-editor-harness.d.ts +57 -1
  28. package/dist/local-editor-harness.d.ts.map +1 -1
  29. package/dist/local-editor-harness.js +129 -0
  30. package/dist/local-editor-harness.js.map +1 -1
  31. package/dist/local-editor-marker-graph.js.map +1 -1
  32. package/dist/local-editor-performance-stats.js.map +1 -1
  33. package/dist/local-editor-plugin-inspector.js.map +1 -1
  34. package/dist/local-editor-plugin-panel.js.map +1 -1
  35. package/dist/local-editor-scene-render-scheduler.js.map +1 -1
  36. package/dist/local-editor-scene-view-interaction-runtime.js.map +1 -1
  37. package/dist/local-editor-viewport-render-coordinator.js.map +1 -1
  38. package/dist/playable-babylon-facade.js.map +1 -1
  39. package/dist/playable-babylon-outline-inspector.js.map +1 -1
  40. package/dist/playable-babylon-outline-runtime.js.map +1 -1
  41. package/dist/playable-babylon-rendering.js.map +1 -1
  42. package/dist/playable-local-editor-host.d.ts +36 -0
  43. package/dist/playable-local-editor-host.d.ts.map +1 -1
  44. package/dist/playable-local-editor-host.js.map +1 -1
  45. package/dist/playable-product-local-editor.js.map +1 -1
  46. package/dist/playable-product-projection-preview.js.map +1 -1
  47. package/dist/playable-product-rendering.js.map +1 -1
  48. package/dist/playable-product-scene-capabilities.d.ts.map +1 -1
  49. package/dist/playable-product-scene-capabilities.js +50 -3
  50. package/dist/playable-product-scene-capabilities.js.map +1 -1
  51. package/dist/playable-runtime-babylon.js.map +1 -1
  52. package/dist/playable-runtime.js.map +1 -1
  53. package/dist/playable-sdk-upgrade-doctor.js.map +1 -1
  54. package/dist/playable-sdk-vite.js.map +1 -1
  55. package/dist/playable-sdk.js.map +1 -1
  56. package/dist/playable-standard-project.d.ts.map +1 -1
  57. package/dist/playable-standard-project.js +8 -3
  58. package/dist/playable-standard-project.js.map +1 -1
  59. package/dist/static-shadow-cpu-worker.js.map +1 -1
  60. package/dist/vite.js.map +1 -1
  61. package/node_modules/@fps-games/babylon-renderer/dist/environment/environment-texture-controller.js.map +1 -1
  62. package/node_modules/@fps-games/babylon-renderer/dist/environment/index.js.map +1 -1
  63. package/node_modules/@fps-games/babylon-renderer/dist/environment/profile.js.map +1 -1
  64. package/node_modules/@fps-games/babylon-renderer/dist/environment/types.js.map +1 -1
  65. package/node_modules/@fps-games/babylon-renderer/dist/index.js.map +1 -1
  66. package/node_modules/@fps-games/babylon-renderer/dist/lighting/directional-light-angles.js.map +1 -1
  67. package/node_modules/@fps-games/babylon-renderer/dist/outlines/babylon-default/apply.js.map +1 -1
  68. package/node_modules/@fps-games/babylon-renderer/dist/outlines/babylon-default/index.js.map +1 -1
  69. package/node_modules/@fps-games/babylon-renderer/dist/outlines/babylon-default/types.js.map +1 -1
  70. package/node_modules/@fps-games/babylon-renderer/dist/outlines/index.js.map +1 -1
  71. package/node_modules/@fps-games/babylon-renderer/dist/outlines/types.js.map +1 -1
  72. package/node_modules/@fps-games/babylon-renderer/dist/placement/index.js.map +1 -1
  73. package/node_modules/@fps-games/babylon-renderer/dist/placement/runtime-drop-position.js.map +1 -1
  74. package/node_modules/@fps-games/babylon-renderer/dist/plugin.js.map +1 -1
  75. package/node_modules/@fps-games/babylon-renderer/dist/post-process/babylon-default-pipeline.js.map +1 -1
  76. package/node_modules/@fps-games/babylon-renderer/dist/post-process/index.js.map +1 -1
  77. package/node_modules/@fps-games/babylon-renderer/dist/post-process/profile.js.map +1 -1
  78. package/node_modules/@fps-games/babylon-renderer/dist/post-process/types.js.map +1 -1
  79. package/node_modules/@fps-games/babylon-renderer/dist/post-process/volume-stack.js.map +1 -1
  80. package/node_modules/@fps-games/babylon-renderer/dist/reference.js.map +1 -1
  81. package/node_modules/@fps-games/babylon-renderer/dist/rendering/index.js.map +1 -1
  82. package/node_modules/@fps-games/babylon-renderer/dist/rendering/node-rendering.js.map +1 -1
  83. package/node_modules/@fps-games/babylon-renderer/dist/shadows/blob-shadow-shaders.js.map +1 -1
  84. package/node_modules/@fps-games/babylon-renderer/dist/shadows/blob-shadow-system.js.map +1 -1
  85. package/node_modules/@fps-games/babylon-renderer/dist/shadows/dynamic-shadow-system.js.map +1 -1
  86. package/node_modules/@fps-games/babylon-renderer/dist/shadows/planar-shadow-shaders.js.map +1 -1
  87. package/node_modules/@fps-games/babylon-renderer/dist/shadows/planar-shadow-system.js.map +1 -1
  88. package/node_modules/@fps-games/babylon-renderer/dist/shadows/static-projected-shadow-artifact-system.js.map +1 -1
  89. package/node_modules/@fps-games/babylon-renderer/dist/shadows/static-projected-shadow-atlas.js.map +1 -1
  90. package/node_modules/@fps-games/babylon-renderer/dist/shadows/static-projected-shadow-bake.js.map +1 -1
  91. package/node_modules/@fps-games/babylon-renderer/dist/shadows/static-projected-shadow-baker.js.map +1 -1
  92. package/node_modules/@fps-games/babylon-renderer/dist/shadows/static-projected-shadow-options.js.map +1 -1
  93. package/node_modules/@fps-games/babylon-renderer/dist/shadows/static-projected-shadow-rendering.js.map +1 -1
  94. package/node_modules/@fps-games/babylon-renderer/dist/shadows/types.js.map +1 -1
  95. package/node_modules/@fps-games/babylon-renderer/package.json +7 -7
  96. package/node_modules/@fps-games/editor-babylon/dist/camera-controller.js.map +1 -1
  97. package/node_modules/@fps-games/editor-babylon/dist/edit-session.js.map +1 -1
  98. package/node_modules/@fps-games/editor-babylon/dist/editor-sky.js.map +1 -1
  99. package/node_modules/@fps-games/editor-babylon/dist/editor-world.js.map +1 -1
  100. package/node_modules/@fps-games/editor-babylon/dist/event-guard.js.map +1 -1
  101. package/node_modules/@fps-games/editor-babylon/dist/index.js.map +1 -1
  102. package/node_modules/@fps-games/editor-babylon/dist/infinite-grid-layer.js.map +1 -1
  103. package/node_modules/@fps-games/editor-babylon/dist/infinite-grid.js.map +1 -1
  104. package/node_modules/@fps-games/editor-babylon/dist/input-controller.js.map +1 -1
  105. package/node_modules/@fps-games/editor-babylon/dist/inspector-adapter.js.map +1 -1
  106. package/node_modules/@fps-games/editor-babylon/dist/inspector-host.js.map +1 -1
  107. package/node_modules/@fps-games/editor-babylon/dist/main-camera-preview.js.map +1 -1
  108. package/node_modules/@fps-games/editor-babylon/dist/marker-overlay.js.map +1 -1
  109. package/node_modules/@fps-games/editor-babylon/dist/material-property-adapter.js.map +1 -1
  110. package/node_modules/@fps-games/editor-babylon/dist/material-slot-source-resolver.js.map +1 -1
  111. package/node_modules/@fps-games/editor-babylon/dist/monitor.js.map +1 -1
  112. package/node_modules/@fps-games/editor-babylon/dist/outline-adapter.js.map +1 -1
  113. package/node_modules/@fps-games/editor-babylon/dist/performance-monitor.js.map +1 -1
  114. package/node_modules/@fps-games/editor-babylon/dist/prefab-comparison-preview-controller.js.map +1 -1
  115. package/node_modules/@fps-games/editor-babylon/dist/primitive-projection-instancing.js.map +1 -1
  116. package/node_modules/@fps-games/editor-babylon/dist/projection-asset-container-importer.js.map +1 -1
  117. package/node_modules/@fps-games/editor-babylon/dist/projection-pick-resolver.js.map +1 -1
  118. package/node_modules/@fps-games/editor-babylon/dist/projection-selection-controller.js.map +1 -1
  119. package/node_modules/@fps-games/editor-babylon/dist/projection-source-owner-path.js.map +1 -1
  120. package/node_modules/@fps-games/editor-babylon/dist/projection.js.map +1 -1
  121. package/node_modules/@fps-games/editor-babylon/dist/runtime-globals.js.map +1 -1
  122. package/node_modules/@fps-games/editor-babylon/dist/scene-camera-preview.js.map +1 -1
  123. package/node_modules/@fps-games/editor-babylon/dist/scene-view-camera-controller.js.map +1 -1
  124. package/node_modules/@fps-games/editor-babylon/dist/scene-view-input-controller.js.map +1 -1
  125. package/node_modules/@fps-games/editor-babylon/dist/scene-view-measurement-controller.js.map +1 -1
  126. package/node_modules/@fps-games/editor-babylon/dist/scene-view-spatial-overlay-controller.js.map +1 -1
  127. package/node_modules/@fps-games/editor-babylon/dist/selection-controller.js.map +1 -1
  128. package/node_modules/@fps-games/editor-babylon/dist/shadow-preview-controller.js.map +1 -1
  129. package/node_modules/@fps-games/editor-babylon/dist/tool-controller.js.map +1 -1
  130. package/node_modules/@fps-games/editor-babylon/dist/transform-gizmo-controller.js.map +1 -1
  131. package/node_modules/@fps-games/editor-babylon/dist/transform-solver.js.map +1 -1
  132. package/node_modules/@fps-games/editor-babylon/dist/types.js.map +1 -1
  133. package/node_modules/@fps-games/editor-babylon/package.json +5 -5
  134. package/node_modules/@fps-games/editor-browser/dist/index.js.map +1 -1
  135. package/node_modules/@fps-games/editor-browser/dist/local-editor-inspector-clipboard.js.map +1 -1
  136. package/node_modules/@fps-games/editor-browser/dist/local-editor-inspector-groups.js.map +1 -1
  137. package/node_modules/@fps-games/editor-browser/dist/local-editor-rendering-actions.js.map +1 -1
  138. package/node_modules/@fps-games/editor-browser/dist/local-editor-root-ownership.js.map +1 -1
  139. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-asset-kind.js.map +1 -1
  140. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-context-menu.js.map +1 -1
  141. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-dock-panel.js.map +1 -1
  142. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-actions.js.map +1 -1
  143. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-attach-dialog.js.map +1 -1
  144. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-auto-scroll.js.map +1 -1
  145. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-command-adapter.js.map +1 -1
  146. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-controller.js.map +1 -1
  147. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-drag-policy.js.map +1 -1
  148. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-scope.js.map +1 -1
  149. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-tree.js.map +1 -1
  150. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-view.js.map +1 -1
  151. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-icons.js.map +1 -1
  152. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-input-router.js.map +1 -1
  153. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-modal-dialog.js.map +1 -1
  154. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-panel-registry.js.map +1 -1
  155. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-panels.js.map +1 -1
  156. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-plugin-panel.js.map +1 -1
  157. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-prefab-stage.js.map +1 -1
  158. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-primitives.js.map +1 -1
  159. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-shared.js.map +1 -1
  160. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-shortcuts.js.map +1 -1
  161. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-structured-drag-auto-scroll.js.map +1 -1
  162. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-structured-drag-policy.js.map +1 -1
  163. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-structured-drag-preview.js.map +1 -1
  164. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-structured-drag-session.js.map +1 -1
  165. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-theme.js.map +1 -1
  166. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-tooltip.js.map +1 -1
  167. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-types.js.map +1 -1
  168. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-workbench.js.map +1 -1
  169. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui.js.map +1 -1
  170. package/node_modules/@fps-games/editor-browser/dist/plugin-contributions.js.map +1 -1
  171. package/node_modules/@fps-games/editor-browser/dist/runtime-camera-debug-panel.js.map +1 -1
  172. package/node_modules/@fps-games/editor-browser/dist/runtime-debug-panel-shell.js.map +1 -1
  173. package/node_modules/@fps-games/editor-browser/dist/runtime-lighting-debug-panel.js.map +1 -1
  174. package/node_modules/@fps-games/editor-browser/package.json +4 -4
  175. package/node_modules/@fps-games/editor-core/dist/agent-bridge.js.map +1 -1
  176. package/node_modules/@fps-games/editor-core/dist/agent-interaction.js.map +1 -1
  177. package/node_modules/@fps-games/editor-core/dist/authoring-source.js.map +1 -1
  178. package/node_modules/@fps-games/editor-core/dist/document-adapter.js.map +1 -1
  179. package/node_modules/@fps-games/editor-core/dist/editor-plugin-host.d.ts.map +1 -1
  180. package/node_modules/@fps-games/editor-core/dist/editor-plugin-host.js +17 -2
  181. package/node_modules/@fps-games/editor-core/dist/editor-plugin-host.js.map +1 -1
  182. package/node_modules/@fps-games/editor-core/dist/editor-session.d.ts +6 -1
  183. package/node_modules/@fps-games/editor-core/dist/editor-session.d.ts.map +1 -1
  184. package/node_modules/@fps-games/editor-core/dist/editor-session.js +9 -0
  185. package/node_modules/@fps-games/editor-core/dist/editor-session.js.map +1 -1
  186. package/node_modules/@fps-games/editor-core/dist/events.d.ts +1 -1
  187. package/node_modules/@fps-games/editor-core/dist/events.d.ts.map +1 -1
  188. package/node_modules/@fps-games/editor-core/dist/events.js.map +1 -1
  189. package/node_modules/@fps-games/editor-core/dist/field-schema/index.js.map +1 -1
  190. package/node_modules/@fps-games/editor-core/dist/field-schema/resolver.js.map +1 -1
  191. package/node_modules/@fps-games/editor-core/dist/field-schema/schema.js.map +1 -1
  192. package/node_modules/@fps-games/editor-core/dist/field-schema/types.js.map +1 -1
  193. package/node_modules/@fps-games/editor-core/dist/field-schema/validators.js.map +1 -1
  194. package/node_modules/@fps-games/editor-core/dist/host-services.js.map +1 -1
  195. package/node_modules/@fps-games/editor-core/dist/index.js.map +1 -1
  196. package/node_modules/@fps-games/editor-core/dist/inspector.js.map +1 -1
  197. package/node_modules/@fps-games/editor-core/dist/lifecycle.js.map +1 -1
  198. package/node_modules/@fps-games/editor-core/dist/marker-graph.js.map +1 -1
  199. package/node_modules/@fps-games/editor-core/dist/scene-graph.js.map +1 -1
  200. package/node_modules/@fps-games/editor-core/dist/scene-view-input.js.map +1 -1
  201. package/node_modules/@fps-games/editor-core/dist/selection-strategy.js.map +1 -1
  202. package/node_modules/@fps-games/editor-core/dist/serialized-object.js.map +1 -1
  203. package/node_modules/@fps-games/editor-core/dist/transform-command.js.map +1 -1
  204. package/node_modules/@fps-games/editor-core/dist/transform-gizmo.js.map +1 -1
  205. package/node_modules/@fps-games/editor-core/dist/transform-operation-policy.js.map +1 -1
  206. package/node_modules/@fps-games/editor-core/dist/transform-operations.js.map +1 -1
  207. package/node_modules/@fps-games/editor-core/dist/viewport-tools.js.map +1 -1
  208. package/node_modules/@fps-games/editor-core/package.json +6 -6
  209. package/node_modules/@fps-games/editor-forge-play/dist/agent-transport.js.map +1 -1
  210. package/node_modules/@fps-games/editor-forge-play/dist/index.js.map +1 -1
  211. package/node_modules/@fps-games/editor-forge-play/package.json +2 -2
  212. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-bridge/drop-cache.js.map +1 -1
  213. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-bridge/index.js.map +1 -1
  214. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-bridge/payload.d.ts.map +1 -1
  215. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-bridge/payload.js +28 -5
  216. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-bridge/payload.js.map +1 -1
  217. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-bridge/types.d.ts +1 -0
  218. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-bridge/types.d.ts.map +1 -1
  219. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-bridge/types.js.map +1 -1
  220. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/config.js.map +1 -1
  221. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/generated-module.d.ts.map +1 -1
  222. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/generated-module.js +10 -0
  223. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/generated-module.js.map +1 -1
  224. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/index.js.map +1 -1
  225. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/managed-facade.js.map +1 -1
  226. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/manager-core.d.ts +8 -0
  227. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/manager-core.d.ts.map +1 -1
  228. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/manager-core.js +24 -2
  229. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/manager-core.js.map +1 -1
  230. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/metadata.d.ts.map +1 -1
  231. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/metadata.js +6 -2
  232. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/metadata.js.map +1 -1
  233. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/node.js.map +1 -1
  234. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/registry.d.ts +1 -0
  235. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/registry.d.ts.map +1 -1
  236. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/registry.js +83 -23
  237. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/registry.js.map +1 -1
  238. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/types.js.map +1 -1
  239. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/catalog.d.ts +1 -0
  240. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/catalog.d.ts.map +1 -1
  241. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/catalog.js +8 -0
  242. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/catalog.js.map +1 -1
  243. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/document.d.ts +22 -0
  244. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/document.d.ts.map +1 -1
  245. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/document.js +108 -1
  246. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/document.js.map +1 -1
  247. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/index.d.ts +3 -2
  248. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/index.d.ts.map +1 -1
  249. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/index.js +2 -2
  250. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/index.js.map +1 -1
  251. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/types.d.ts +2 -0
  252. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/types.d.ts.map +1 -1
  253. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/types.js.map +1 -1
  254. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-placement/document.d.ts.map +1 -1
  255. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-placement/document.js +2 -0
  256. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-placement/document.js.map +1 -1
  257. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-placement/identity.js.map +1 -1
  258. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-placement/index.js.map +1 -1
  259. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-placement/managed-runtime-instance.js.map +1 -1
  260. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-placement/placement.js.map +1 -1
  261. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-placement/runtime-scene.js.map +1 -1
  262. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-placement/types.js.map +1 -1
  263. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/index.js.map +1 -1
  264. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/result.d.ts.map +1 -1
  265. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/result.js +3 -0
  266. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/result.js.map +1 -1
  267. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/transport.js.map +1 -1
  268. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/types.d.ts +1 -0
  269. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/types.d.ts.map +1 -1
  270. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/types.js.map +1 -1
  271. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/workflow.d.ts +1 -0
  272. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/workflow.d.ts.map +1 -1
  273. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/workflow.js +7 -1
  274. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/workflow.js.map +1 -1
  275. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring/constants.js.map +1 -1
  276. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring/drift.js.map +1 -1
  277. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring/index.js.map +1 -1
  278. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring/runtime-transform-patch.js.map +1 -1
  279. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring/source.js.map +1 -1
  280. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-client/client.js.map +1 -1
  281. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-client/index.js.map +1 -1
  282. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-client/types.js.map +1 -1
  283. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-server/handler.js.map +1 -1
  284. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-server/index.js.map +1 -1
  285. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-server/payload.js.map +1 -1
  286. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-server/response.js.map +1 -1
  287. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-server/routes.js.map +1 -1
  288. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-server/types.js.map +1 -1
  289. package/node_modules/@fps-games/editor-playable-sdk/dist/bridge-command/adapter-dispatcher.js.map +1 -1
  290. package/node_modules/@fps-games/editor-playable-sdk/dist/bridge-command/index.js.map +1 -1
  291. package/node_modules/@fps-games/editor-playable-sdk/dist/bridge-command/payload.js.map +1 -1
  292. package/node_modules/@fps-games/editor-playable-sdk/dist/bridge-command/project-asset-adapter.js.map +1 -1
  293. package/node_modules/@fps-games/editor-playable-sdk/dist/bridge-command/protocol.js.map +1 -1
  294. package/node_modules/@fps-games/editor-playable-sdk/dist/bridge-command/readers.js.map +1 -1
  295. package/node_modules/@fps-games/editor-playable-sdk/dist/bridge-command/types.js.map +1 -1
  296. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/binding.js.map +1 -1
  297. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/fields.js.map +1 -1
  298. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/index.js.map +1 -1
  299. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/math.js.map +1 -1
  300. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/pan.js.map +1 -1
  301. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/panel-format.js.map +1 -1
  302. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/panel-state.js.map +1 -1
  303. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/panel-storage.js.map +1 -1
  304. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/panel-text.js.map +1 -1
  305. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/rig.js.map +1 -1
  306. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/save-patch.js.map +1 -1
  307. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/snapshot.js.map +1 -1
  308. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/types.js.map +1 -1
  309. package/node_modules/@fps-games/editor-playable-sdk/dist/commands/index.js.map +1 -1
  310. package/node_modules/@fps-games/editor-playable-sdk/dist/commands/transform.js.map +1 -1
  311. package/node_modules/@fps-games/editor-playable-sdk/dist/commands/types.js.map +1 -1
  312. package/node_modules/@fps-games/editor-playable-sdk/dist/core-contracts/index.js.map +1 -1
  313. package/node_modules/@fps-games/editor-playable-sdk/dist/document/helpers.js.map +1 -1
  314. package/node_modules/@fps-games/editor-playable-sdk/dist/document/index.js.map +1 -1
  315. package/node_modules/@fps-games/editor-playable-sdk/dist/document/types.d.ts +4 -0
  316. package/node_modules/@fps-games/editor-playable-sdk/dist/document/types.d.ts.map +1 -1
  317. package/node_modules/@fps-games/editor-playable-sdk/dist/document/types.js.map +1 -1
  318. package/node_modules/@fps-games/editor-playable-sdk/dist/field-schema/index.js.map +1 -1
  319. package/node_modules/@fps-games/editor-playable-sdk/dist/field-schema/resolver.js.map +1 -1
  320. package/node_modules/@fps-games/editor-playable-sdk/dist/field-schema/schema.js.map +1 -1
  321. package/node_modules/@fps-games/editor-playable-sdk/dist/field-schema/types.js.map +1 -1
  322. package/node_modules/@fps-games/editor-playable-sdk/dist/field-schema/validators.js.map +1 -1
  323. package/node_modules/@fps-games/editor-playable-sdk/dist/index.d.ts +1 -0
  324. package/node_modules/@fps-games/editor-playable-sdk/dist/index.d.ts.map +1 -1
  325. package/node_modules/@fps-games/editor-playable-sdk/dist/index.js +1 -0
  326. package/node_modules/@fps-games/editor-playable-sdk/dist/index.js.map +1 -1
  327. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/camera-section.js.map +1 -1
  328. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/document-property.js.map +1 -1
  329. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/document-sections.js.map +1 -1
  330. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/format.js.map +1 -1
  331. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/index.js.map +1 -1
  332. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/light-fields.js.map +1 -1
  333. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/light-sections.js.map +1 -1
  334. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/marker-section.js.map +1 -1
  335. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/object-assembly.js.map +1 -1
  336. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/readonly.js.map +1 -1
  337. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/runtime-sections.js.map +1 -1
  338. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/runtime-summary.js.map +1 -1
  339. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/runtime.js.map +1 -1
  340. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/safe-value.js.map +1 -1
  341. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/types.js.map +1 -1
  342. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/validation.js.map +1 -1
  343. package/node_modules/@fps-games/editor-playable-sdk/dist/internal/local-harness.js.map +1 -1
  344. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-debug/binding.js.map +1 -1
  345. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-debug/fields.js.map +1 -1
  346. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-debug/index.js.map +1 -1
  347. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-debug/math.js.map +1 -1
  348. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-debug/save-patch.js.map +1 -1
  349. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-debug/snapshot.js.map +1 -1
  350. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-debug/storage.js.map +1 -1
  351. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-debug/text.js.map +1 -1
  352. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-debug/types.js.map +1 -1
  353. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-preview/index.js.map +1 -1
  354. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-preview/math.js.map +1 -1
  355. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-preview/profile.js.map +1 -1
  356. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-preview/types.js.map +1 -1
  357. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/agent-descriptions.js.map +1 -1
  358. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/forge-play-types.js.map +1 -1
  359. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/forge-play.d.ts +2 -0
  360. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/forge-play.d.ts.map +1 -1
  361. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/forge-play.js +5 -0
  362. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/forge-play.js.map +1 -1
  363. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/host-controller.js.map +1 -1
  364. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/index.d.ts +2 -2
  365. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/index.d.ts.map +1 -1
  366. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/index.js.map +1 -1
  367. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/lifecycle.d.ts.map +1 -1
  368. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/lifecycle.js +4 -1
  369. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/lifecycle.js.map +1 -1
  370. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/loading-overlay.d.ts.map +1 -1
  371. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/loading-overlay.js +54 -2
  372. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/loading-overlay.js.map +1 -1
  373. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/project-asset-commands.d.ts +18 -0
  374. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/project-asset-commands.d.ts.map +1 -1
  375. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/project-asset-commands.js +60 -1
  376. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/project-asset-commands.js.map +1 -1
  377. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/timing.js.map +1 -1
  378. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/types.d.ts +2 -0
  379. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/types.d.ts.map +1 -1
  380. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/types.js.map +1 -1
  381. package/node_modules/@fps-games/editor-playable-sdk/dist/marker-scene/facade.js.map +1 -1
  382. package/node_modules/@fps-games/editor-playable-sdk/dist/marker-scene/game-objects.js.map +1 -1
  383. package/node_modules/@fps-games/editor-playable-sdk/dist/marker-scene/geometry.js.map +1 -1
  384. package/node_modules/@fps-games/editor-playable-sdk/dist/marker-scene/index.js.map +1 -1
  385. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/asset-fields.js.map +1 -1
  386. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/binding.js.map +1 -1
  387. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/default-assets.js.map +1 -1
  388. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/document-assets.d.ts.map +1 -1
  389. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/document-assets.js +28 -2
  390. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/document-assets.js.map +1 -1
  391. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/duplicate.js.map +1 -1
  392. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/index.js.map +1 -1
  393. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/inspector.js.map +1 -1
  394. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/paths.js.map +1 -1
  395. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/preview.js.map +1 -1
  396. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/profile.js.map +1 -1
  397. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/reimport.d.ts.map +1 -1
  398. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/reimport.js +26 -9
  399. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/reimport.js.map +1 -1
  400. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/resolver.js.map +1 -1
  401. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/scene-inspector.js.map +1 -1
  402. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/slot-inspector.d.ts.map +1 -1
  403. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/slot-inspector.js +0 -3
  404. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/slot-inspector.js.map +1 -1
  405. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/text.js.map +1 -1
  406. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/types.d.ts +8 -1
  407. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/types.d.ts.map +1 -1
  408. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/types.js.map +1 -1
  409. package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/field-patch.js.map +1 -1
  410. package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/index.js.map +1 -1
  411. package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/json-field.js.map +1 -1
  412. package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/reducer.js.map +1 -1
  413. package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/rendering-alpha-index.js.map +1 -1
  414. package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/transform.js.map +1 -1
  415. package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/types.js.map +1 -1
  416. package/node_modules/@fps-games/editor-playable-sdk/dist/package-resolution/aliases.d.ts +1 -1
  417. package/node_modules/@fps-games/editor-playable-sdk/dist/package-resolution/aliases.d.ts.map +1 -1
  418. package/node_modules/@fps-games/editor-playable-sdk/dist/package-resolution/aliases.js +18 -1
  419. package/node_modules/@fps-games/editor-playable-sdk/dist/package-resolution/aliases.js.map +1 -1
  420. package/node_modules/@fps-games/editor-playable-sdk/dist/package-resolution/index.js.map +1 -1
  421. package/node_modules/@fps-games/editor-playable-sdk/dist/package-resolution/types.d.ts +2 -0
  422. package/node_modules/@fps-games/editor-playable-sdk/dist/package-resolution/types.d.ts.map +1 -1
  423. package/node_modules/@fps-games/editor-playable-sdk/dist/package-resolution/types.js.map +1 -1
  424. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/action-patches.js.map +1 -1
  425. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/assets.js.map +1 -1
  426. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/index.js.map +1 -1
  427. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/material-override-inspector.js.map +1 -1
  428. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/projection.js.map +1 -1
  429. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/shadow-inspector.js.map +1 -1
  430. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/source-structure-inspector.js.map +1 -1
  431. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/stage-inspector.js.map +1 -1
  432. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/structure.js.map +1 -1
  433. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/types.js.map +1 -1
  434. package/node_modules/@fps-games/editor-playable-sdk/dist/product/asset-manager.js.map +1 -1
  435. package/node_modules/@fps-games/editor-playable-sdk/dist/product/ground-decal-scene-feature.js.map +1 -1
  436. package/node_modules/@fps-games/editor-playable-sdk/dist/product/ground-decal.js.map +1 -1
  437. package/node_modules/@fps-games/editor-playable-sdk/dist/product/index.js.map +1 -1
  438. package/node_modules/@fps-games/editor-playable-sdk/dist/product/project-host-services.d.ts +1 -0
  439. package/node_modules/@fps-games/editor-playable-sdk/dist/product/project-host-services.d.ts.map +1 -1
  440. package/node_modules/@fps-games/editor-playable-sdk/dist/product/project-host-services.js +3 -1
  441. package/node_modules/@fps-games/editor-playable-sdk/dist/product/project-host-services.js.map +1 -1
  442. package/node_modules/@fps-games/editor-playable-sdk/dist/product/scene-session.js.map +1 -1
  443. package/node_modules/@fps-games/editor-playable-sdk/dist/product/scene-source.d.ts +3 -3
  444. package/node_modules/@fps-games/editor-playable-sdk/dist/product/scene-source.d.ts.map +1 -1
  445. package/node_modules/@fps-games/editor-playable-sdk/dist/product/scene-source.js +10 -1
  446. package/node_modules/@fps-games/editor-playable-sdk/dist/product/scene-source.js.map +1 -1
  447. package/node_modules/@fps-games/editor-playable-sdk/dist/product/standard-asset-actions.js.map +1 -1
  448. package/node_modules/@fps-games/editor-playable-sdk/dist/product/standard-scene-assembly.js.map +1 -1
  449. package/node_modules/@fps-games/editor-playable-sdk/dist/rendering-profile/draft.js.map +1 -1
  450. package/node_modules/@fps-games/editor-playable-sdk/dist/rendering-profile/index.js.map +1 -1
  451. package/node_modules/@fps-games/editor-playable-sdk/dist/rendering-profile/panel.js.map +1 -1
  452. package/node_modules/@fps-games/editor-playable-sdk/dist/rendering-profile/route.js.map +1 -1
  453. package/node_modules/@fps-games/editor-playable-sdk/dist/rendering-profile/types.js.map +1 -1
  454. package/node_modules/@fps-games/editor-playable-sdk/dist/runtime-preview/assets.js.map +1 -1
  455. package/node_modules/@fps-games/editor-playable-sdk/dist/runtime-preview/import-plan.js.map +1 -1
  456. package/node_modules/@fps-games/editor-playable-sdk/dist/runtime-preview/index.js.map +1 -1
  457. package/node_modules/@fps-games/editor-playable-sdk/dist/runtime-preview/nodes.js.map +1 -1
  458. package/node_modules/@fps-games/editor-playable-sdk/dist/runtime-preview/types.js.map +1 -1
  459. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/compiler.d.ts +1 -1
  460. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/compiler.js +82 -6
  461. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/compiler.js.map +1 -1
  462. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/index.js.map +1 -1
  463. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/types.d.ts +11 -3
  464. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/types.d.ts.map +1 -1
  465. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/types.js.map +1 -1
  466. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/validation.d.ts +1 -0
  467. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/validation.d.ts.map +1 -1
  468. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/validation.js +46 -3
  469. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/validation.js.map +1 -1
  470. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/artifacts.js.map +1 -1
  471. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/client.d.ts.map +1 -1
  472. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/client.js +4 -0
  473. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/client.js.map +1 -1
  474. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/companion-configs.js.map +1 -1
  475. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/driver.js.map +1 -1
  476. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/index.js.map +1 -1
  477. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/protocol.js.map +1 -1
  478. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/types.d.ts +3 -2
  479. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/types.d.ts.map +1 -1
  480. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/types.js.map +1 -1
  481. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/validation.js.map +1 -1
  482. package/node_modules/@fps-games/editor-playable-sdk/dist/serialized-property/descriptors.js.map +1 -1
  483. package/node_modules/@fps-games/editor-playable-sdk/dist/serialized-property/index.js.map +1 -1
  484. package/node_modules/@fps-games/editor-playable-sdk/dist/serialized-property/inspector.js.map +1 -1
  485. package/node_modules/@fps-games/editor-playable-sdk/dist/serialized-property/object.js.map +1 -1
  486. package/node_modules/@fps-games/editor-playable-sdk/dist/serialized-property/patch.js.map +1 -1
  487. package/node_modules/@fps-games/editor-playable-sdk/dist/serialized-property/types.js.map +1 -1
  488. package/node_modules/@fps-games/editor-playable-sdk/dist/session/classification.js.map +1 -1
  489. package/node_modules/@fps-games/editor-playable-sdk/dist/session/hierarchy-facade.js.map +1 -1
  490. package/node_modules/@fps-games/editor-playable-sdk/dist/session/hierarchy.js.map +1 -1
  491. package/node_modules/@fps-games/editor-playable-sdk/dist/session/identity.js.map +1 -1
  492. package/node_modules/@fps-games/editor-playable-sdk/dist/session/index.js.map +1 -1
  493. package/node_modules/@fps-games/editor-playable-sdk/dist/session/object-command-facade.js.map +1 -1
  494. package/node_modules/@fps-games/editor-playable-sdk/dist/session/patches.js.map +1 -1
  495. package/node_modules/@fps-games/editor-playable-sdk/dist/session/property-patches.js.map +1 -1
  496. package/node_modules/@fps-games/editor-playable-sdk/dist/session/reducer-core.js.map +1 -1
  497. package/node_modules/@fps-games/editor-playable-sdk/dist/session/system-defaults.js.map +1 -1
  498. package/node_modules/@fps-games/editor-playable-sdk/dist/session/transform.js.map +1 -1
  499. package/node_modules/@fps-games/editor-playable-sdk/dist/session/types.js.map +1 -1
  500. package/node_modules/@fps-games/editor-playable-sdk/dist/shadow-system/index.js.map +1 -1
  501. package/node_modules/@fps-games/editor-playable-sdk/dist/shadow-system/resolver.js.map +1 -1
  502. package/node_modules/@fps-games/editor-playable-sdk/dist/shared/http.js.map +1 -1
  503. package/node_modules/@fps-games/editor-playable-sdk/dist/shared/json.d.ts +1 -0
  504. package/node_modules/@fps-games/editor-playable-sdk/dist/shared/json.d.ts.map +1 -1
  505. package/node_modules/@fps-games/editor-playable-sdk/dist/shared/json.js +25 -0
  506. package/node_modules/@fps-games/editor-playable-sdk/dist/shared/json.js.map +1 -1
  507. package/node_modules/@fps-games/editor-playable-sdk/dist/static-shadows/artifact.js.map +1 -1
  508. package/node_modules/@fps-games/editor-playable-sdk/dist/static-shadows/index.js.map +1 -1
  509. package/node_modules/@fps-games/editor-playable-sdk/dist/upgrade-doctor/host.js.map +1 -1
  510. package/node_modules/@fps-games/editor-playable-sdk/dist/upgrade-doctor/index.js.map +1 -1
  511. package/node_modules/@fps-games/editor-playable-sdk/dist/upgrade-doctor/inspectors.js.map +1 -1
  512. package/node_modules/@fps-games/editor-playable-sdk/dist/upgrade-doctor/report.js.map +1 -1
  513. package/node_modules/@fps-games/editor-playable-sdk/dist/upgrade-doctor/types.js.map +1 -1
  514. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/asset-authoring.js.map +1 -1
  515. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/authoring-http.d.ts +1 -0
  516. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/authoring-http.d.ts.map +1 -1
  517. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/authoring-http.js +1 -0
  518. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/authoring-http.js.map +1 -1
  519. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/build-info-core.js.map +1 -1
  520. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/build-info-node.js.map +1 -1
  521. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/editor-scene-workflow.d.ts +6 -5
  522. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/editor-scene-workflow.d.ts.map +1 -1
  523. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/editor-scene-workflow.js +37 -20
  524. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/editor-scene-workflow.js.map +1 -1
  525. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/index.js.map +1 -1
  526. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/module-invalidation.d.ts +3 -1
  527. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/module-invalidation.d.ts.map +1 -1
  528. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/module-invalidation.js +37 -8
  529. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/module-invalidation.js.map +1 -1
  530. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/path-write-coordinator.js.map +1 -1
  531. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/plugin.d.ts +4 -3
  532. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/plugin.d.ts.map +1 -1
  533. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/plugin.js +14 -1
  534. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/plugin.js.map +1 -1
  535. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-adapter.d.ts +5 -4
  536. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-adapter.d.ts.map +1 -1
  537. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-adapter.js.map +1 -1
  538. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-asset-authoring.d.ts +3 -2
  539. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-asset-authoring.d.ts.map +1 -1
  540. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-asset-authoring.js +10 -17
  541. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-asset-authoring.js.map +1 -1
  542. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-authoring-api.d.ts +8 -7
  543. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-authoring-api.d.ts.map +1 -1
  544. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-authoring-api.js +84 -6
  545. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-authoring-api.js.map +1 -1
  546. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-rendering-authoring.d.ts +2 -1
  547. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-rendering-authoring.d.ts.map +1 -1
  548. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-rendering-authoring.js.map +1 -1
  549. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-scene-authoring.d.ts +4 -3
  550. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-scene-authoring.d.ts.map +1 -1
  551. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-scene-authoring.js +1 -4
  552. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-scene-authoring.js.map +1 -1
  553. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/session-metadata.js.map +1 -1
  554. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/types.d.ts +0 -33
  555. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/types.d.ts.map +1 -1
  556. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/types.js.map +1 -1
  557. package/node_modules/@fps-games/editor-playable-sdk/package.json +9 -6
  558. package/node_modules/@fps-games/editor-protocol/dist/agent-bridge.js.map +1 -1
  559. package/node_modules/@fps-games/editor-protocol/dist/agent-trace.js.map +1 -1
  560. package/node_modules/@fps-games/editor-protocol/dist/agent.js.map +1 -1
  561. package/node_modules/@fps-games/editor-protocol/dist/index.js.map +1 -1
  562. package/node_modules/@fps-games/editor-protocol/dist/marker-graph.js.map +1 -1
  563. package/node_modules/@fps-games/editor-protocol/package.json +2 -2
  564. package/node_modules/@fps-games/editor-tooling/dist/contributions.js.map +1 -1
  565. package/node_modules/@fps-games/editor-tooling/dist/data-object.js.map +1 -1
  566. package/node_modules/@fps-games/editor-tooling/dist/index.js.map +1 -1
  567. package/node_modules/@fps-games/editor-tooling/dist/migration.js.map +1 -1
  568. package/node_modules/@fps-games/editor-tooling/dist/package-metadata-node.js.map +1 -1
  569. package/node_modules/@fps-games/editor-tooling/dist/vite.js.map +1 -1
  570. package/node_modules/@fps-games/editor-tooling/package.json +3 -3
  571. package/node_modules/@fps-games/playable-assets/dist/identity.js.map +1 -1
  572. package/node_modules/@fps-games/playable-assets/dist/index.d.ts +1 -0
  573. package/node_modules/@fps-games/playable-assets/dist/index.d.ts.map +1 -1
  574. package/node_modules/@fps-games/playable-assets/dist/index.js +1 -0
  575. package/node_modules/@fps-games/playable-assets/dist/index.js.map +1 -1
  576. package/node_modules/@fps-games/playable-assets/dist/portable-path.d.ts +2 -0
  577. package/node_modules/@fps-games/playable-assets/dist/portable-path.d.ts.map +1 -0
  578. package/node_modules/@fps-games/playable-assets/dist/portable-path.js +25 -0
  579. package/node_modules/@fps-games/playable-assets/dist/portable-path.js.map +1 -0
  580. package/node_modules/@fps-games/playable-assets/package.json +1 -1
  581. package/node_modules/@fps-games/playable-contracts/dist/index.js.map +1 -1
  582. package/node_modules/@fps-games/playable-contracts/dist/marker-graph-validation.js.map +1 -1
  583. package/node_modules/@fps-games/playable-contracts/dist/marker-graph.js.map +1 -1
  584. package/node_modules/@fps-games/playable-contracts/package.json +1 -1
  585. package/node_modules/@fps-games/playable-rendering/dist/index.js.map +1 -1
  586. package/node_modules/@fps-games/playable-rendering/dist/rendering-profile-authoring.js.map +1 -1
  587. package/node_modules/@fps-games/playable-rendering/dist/rendering-profile-types.js.map +1 -1
  588. package/node_modules/@fps-games/playable-rendering/dist/rendering-profile-validation.js.map +1 -1
  589. package/node_modules/@fps-games/playable-rendering/dist/rendering-profile-values.js.map +1 -1
  590. package/node_modules/@fps-games/playable-rendering/dist/rendering-profile.js.map +1 -1
  591. package/node_modules/@fps-games/playable-rendering/dist/runtime.js.map +1 -1
  592. package/node_modules/@fps-games/playable-rendering/dist/shadow-quality.js.map +1 -1
  593. package/node_modules/@fps-games/playable-rendering/dist/shadow-runtime.js.map +1 -1
  594. package/node_modules/@fps-games/playable-rendering/dist/shadow-settings.js.map +1 -1
  595. package/node_modules/@fps-games/playable-rendering/dist/shadow-types.js.map +1 -1
  596. package/node_modules/@fps-games/playable-rendering/dist/shadow-validation.js.map +1 -1
  597. package/node_modules/@fps-games/playable-rendering/dist/value.js.map +1 -1
  598. package/node_modules/@fps-games/playable-rendering/package.json +2 -2
  599. package/node_modules/@fps-games/playable-runtime/dist/compiled-scene-data.js +5 -1
  600. package/node_modules/@fps-games/playable-runtime/dist/compiled-scene-data.js.map +1 -1
  601. package/node_modules/@fps-games/playable-runtime/dist/index.js.map +1 -1
  602. package/node_modules/@fps-games/playable-runtime/dist/runtime-data.js.map +1 -1
  603. package/node_modules/@fps-games/playable-runtime/dist/runtime.js.map +1 -1
  604. package/node_modules/@fps-games/playable-runtime/dist/standard-plugins.js.map +1 -1
  605. package/node_modules/@fps-games/playable-runtime/dist/tokens.js.map +1 -1
  606. package/node_modules/@fps-games/playable-runtime/dist/types.js.map +1 -1
  607. package/node_modules/@fps-games/playable-runtime/package.json +12 -12
  608. package/node_modules/@fps-games/playable-runtime-data/dist/index.js.map +1 -1
  609. package/node_modules/@fps-games/playable-runtime-data/package.json +4 -4
  610. package/node_modules/@fps-games/playable-scene/dist/index.js.map +1 -1
  611. package/node_modules/@fps-games/playable-scene/dist/transform-math.js.map +1 -1
  612. package/node_modules/@fps-games/playable-scene/package.json +2 -2
  613. package/node_modules/@fps-games/plugin-api/dist/index.js.map +1 -1
  614. package/node_modules/@fps-games/plugin-api/package.json +1 -1
  615. package/node_modules/@fps-games/plugin-assets/dist/reference.js.map +1 -1
  616. package/node_modules/@fps-games/plugin-assets/dist/runtime.js.map +1 -1
  617. package/node_modules/@fps-games/plugin-assets/dist/version.d.ts +1 -1
  618. package/node_modules/@fps-games/plugin-assets/dist/version.js +1 -1
  619. package/node_modules/@fps-games/plugin-assets/dist/version.js.map +1 -1
  620. package/node_modules/@fps-games/plugin-assets/package.json +5 -5
  621. package/node_modules/@fps-games/plugin-host/dist/index.js.map +1 -1
  622. package/node_modules/@fps-games/plugin-host/package.json +2 -2
  623. package/node_modules/@fps-games/plugin-markers/dist/reference.js.map +1 -1
  624. package/node_modules/@fps-games/plugin-markers/dist/runtime.js.map +1 -1
  625. package/node_modules/@fps-games/plugin-markers/dist/version.d.ts +1 -1
  626. package/node_modules/@fps-games/plugin-markers/dist/version.js +1 -1
  627. package/node_modules/@fps-games/plugin-markers/dist/version.js.map +1 -1
  628. package/node_modules/@fps-games/plugin-markers/package.json +5 -5
  629. package/node_modules/@fps-games/plugin-materials/dist/reference.js.map +1 -1
  630. package/node_modules/@fps-games/plugin-materials/dist/runtime.js.map +1 -1
  631. package/node_modules/@fps-games/plugin-materials/dist/version.d.ts +1 -1
  632. package/node_modules/@fps-games/plugin-materials/dist/version.js +1 -1
  633. package/node_modules/@fps-games/plugin-materials/dist/version.js.map +1 -1
  634. package/node_modules/@fps-games/plugin-materials/package.json +5 -5
  635. package/node_modules/@fps-games/plugin-rendering/dist/reference.js.map +1 -1
  636. package/node_modules/@fps-games/plugin-rendering/dist/runtime.js.map +1 -1
  637. package/node_modules/@fps-games/plugin-rendering/dist/version.d.ts +1 -1
  638. package/node_modules/@fps-games/plugin-rendering/dist/version.js +1 -1
  639. package/node_modules/@fps-games/plugin-rendering/dist/version.js.map +1 -1
  640. package/node_modules/@fps-games/plugin-rendering/package.json +5 -5
  641. package/node_modules/@fps-games/plugin-scene/dist/reference.js.map +1 -1
  642. package/node_modules/@fps-games/plugin-scene/dist/runtime.js.map +1 -1
  643. package/node_modules/@fps-games/plugin-scene/dist/version.d.ts +1 -1
  644. package/node_modules/@fps-games/plugin-scene/dist/version.js +1 -1
  645. package/node_modules/@fps-games/plugin-scene/dist/version.js.map +1 -1
  646. package/node_modules/@fps-games/plugin-scene/package.json +5 -5
  647. package/node_modules/@fps-games/plugin-shadows/dist/reference.js.map +1 -1
  648. package/node_modules/@fps-games/plugin-shadows/dist/runtime.js.map +1 -1
  649. package/node_modules/@fps-games/plugin-shadows/dist/version.d.ts +1 -1
  650. package/node_modules/@fps-games/plugin-shadows/dist/version.js +1 -1
  651. package/node_modules/@fps-games/plugin-shadows/dist/version.js.map +1 -1
  652. package/node_modules/@fps-games/plugin-shadows/package.json +7 -7
  653. package/package.json +27 -19
@@ -1 +1 @@
1
- {"version":3,"file":"edit-session.js","sourceRoot":"","sources":["../src/edit-session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"edit-session.js","sourceRoot":"","sources":["../src/edit-session.ts"],"names":[],"mappings":"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","sourcesContent":["import { createBrowserHost, type BrowserHost } from '@fps-games/editor-browser';\nimport type { EditorTool } from '@fps-games/editor-protocol';\nimport {\n attachEditorViewportMovement,\n createEditorViewportCamera,\n disposeEditorViewportCamera,\n focusEditorViewportSelection,\n type EditorViewportCameraCtx,\n} from './camera-controller';\nimport { createEditorEventGuard, type EditorEventGuard } from './event-guard';\nimport { createEditorInputController } from './input-controller';\nimport { createEditorToolController, type EditorToolController } from './tool-controller';\nimport type {\n BabylonRuntimeGlobal,\n EditorGameLike,\n EditorInputControllerApi,\n RuntimeCamera,\n RuntimeNode,\n RuntimeScene,\n} from './types';\n\nexport interface EditorEditSessionOptions {\n host?: BrowserHost;\n babylon?: BabylonRuntimeGlobal | null;\n getScene: () => RuntimeScene | null;\n getGame: () => EditorGameLike | null;\n getSelectedEntity?: () => RuntimeNode | null;\n emitModeChange: (mode: 'edit' | 'play') => void;\n onSetTool?: (tool: EditorTool) => void;\n onEnablePicking?: () => void;\n onFocusSelected?: () => void;\n onUndo?: () => void;\n onRedo?: () => void;\n onDuplicateSelected?: () => void | Promise<void>;\n syncExternalToolState?: (tool: EditorTool) => boolean;\n eventGuardInteractiveRootSelector?: string;\n}\n\nexport interface EditorEditSession {\n readonly active: boolean;\n enter(): Promise<void>;\n exit(save?: boolean): Promise<void>;\n isViewportNavigationActive(): boolean;\n focusSelected(node: RuntimeNode | null): boolean;\n syncSelection(node: RuntimeNode | null): void;\n currentTool(): EditorTool;\n}\n\ntype EditorEditState = {\n active: boolean;\n editorCamera: RuntimeCamera | null;\n savedCam: RuntimeCamera | null;\n savedActiveCams: RuntimeCamera[];\n detachedCams: RuntimeCamera[];\n resizeObs: unknown;\n viewportCtx: EditorViewportCameraCtx | null;\n wasPausedBeforeEnter: boolean;\n savedPointerCam: unknown;\n savedAnimEnabled: boolean;\n pausedAnimGroups: Array<{ pause?: () => void; play?: () => void }>;\n frozenBeforeObs: unknown[] | null;\n frozenKeyboardObs: unknown[] | null;\n tools: EditorToolController | null;\n input: EditorInputControllerApi;\n eventGuard: EditorEventGuard | null;\n};\n\nfunction setSceneActiveCamera(scene: RuntimeScene, camera: RuntimeCamera | null): void {\n if (!scene || !camera) return;\n scene.activeCamera = camera;\n scene.activeCameras = [camera];\n}\n\nfunction getRenderCanvas(scene: RuntimeScene): HTMLCanvasElement | null {\n return scene?.getEngine?.()?.getRenderingCanvas?.() ?? null;\n}\n\nfunction resetStateAfterExit(state: EditorEditState): void {\n state.active = false;\n state.viewportCtx = null;\n state.editorCamera = null;\n state.savedCam = null;\n state.savedActiveCams = [];\n state.detachedCams = [];\n state.resizeObs = null;\n state.savedPointerCam = null;\n state.savedAnimEnabled = true;\n state.pausedAnimGroups = [];\n state.frozenBeforeObs = null;\n state.frozenKeyboardObs = null;\n state.wasPausedBeforeEnter = false;\n}\n\nexport function createEditorEditSession(options: EditorEditSessionOptions): EditorEditSession {\n const host = options.host ?? createBrowserHost();\n const state: EditorEditState = {\n active: false,\n editorCamera: null,\n savedCam: null,\n savedActiveCams: [],\n detachedCams: [],\n resizeObs: null,\n viewportCtx: null,\n wasPausedBeforeEnter: false,\n savedPointerCam: null,\n savedAnimEnabled: true,\n pausedAnimGroups: [],\n frozenBeforeObs: null,\n frozenKeyboardObs: null,\n tools: null,\n input: createEditorInputController(),\n eventGuard: null,\n };\n\n function disposeTools(): void {\n state.tools?.dispose();\n state.tools = null;\n }\n\n function deactivateControllers(): void {\n state.input.dispose();\n state.input.resetViewportNavigation();\n disposeTools();\n state.eventGuard?.deactivate();\n }\n\n function movePostProcessPipelines(\n scene: RuntimeScene,\n fromCamera: RuntimeCamera | null,\n toCamera: RuntimeCamera | null,\n ): void {\n if (!scene || !fromCamera || !toCamera || fromCamera === toCamera) return;\n const ppm = scene.postProcessRenderPipelineManager;\n const pipelines = ppm?.supportedPipelines || [];\n for (const pipeline of pipelines) {\n const name = pipeline?._name || pipeline?.name;\n if (!name) continue;\n try {\n ppm.detachCamerasFromRenderPipeline(name, fromCamera);\n ppm.attachCamerasToRenderPipeline(name, toCamera);\n } catch {}\n }\n }\n\n async function enter(): Promise<void> {\n if (state.active) {\n options.emitModeChange('edit');\n return;\n }\n\n const game = options.getGame();\n const scene = options.getScene() ?? game?.scene ?? null;\n if (!scene) {\n options.emitModeChange('play');\n return;\n }\n\n state.wasPausedBeforeEnter = !!game?.isPausedState?.();\n\n if (game && typeof game.enterPreview === 'function') {\n try {\n await game.enterPreview();\n state.active = true;\n options.emitModeChange('edit');\n return;\n } catch {}\n }\n\n game?.pause?.();\n state.savedCam = scene.activeCamera ?? null;\n state.savedActiveCams = scene.activeCameras ? [...scene.activeCameras] : [];\n state.detachedCams = [];\n\n const kbObs = scene.onKeyboardObservable;\n if (kbObs?._observers?.length) {\n state.frozenKeyboardObs = kbObs._observers.splice(0);\n }\n\n const canvas = getRenderCanvas(scene);\n for (const cam of scene.cameras || []) {\n if (cam?.detachControl) {\n cam.detachControl();\n state.detachedCams.push(cam);\n }\n }\n\n state.viewportCtx = await createEditorViewportCamera(scene, state.savedCam, {\n babylon: options.babylon,\n input: state.input,\n });\n state.editorCamera = state.viewportCtx?.camera ?? null;\n if (state.editorCamera) {\n setSceneActiveCamera(scene, state.editorCamera);\n movePostProcessPipelines(scene, state.savedCam, state.editorCamera);\n }\n\n if (canvas && scene.getEngine) {\n const engine = scene.getEngine();\n state.resizeObs = scene.onAfterRenderObservable?.add?.(() => {\n if (canvas.width !== canvas.clientWidth || canvas.height !== canvas.clientHeight) {\n engine.resize();\n }\n }) ?? null;\n state.eventGuard = state.eventGuard ?? createEditorEventGuard({\n host,\n interactiveRootSelector: options.eventGuardInteractiveRootSelector,\n });\n state.eventGuard.activate(canvas);\n }\n\n state.savedAnimEnabled = scene.animationsEnabled !== false;\n scene.animationsEnabled = false;\n\n state.pausedAnimGroups = (scene.animationGroups || []).filter((ag: any) => ag?.isPlaying);\n for (const ag of state.pausedAnimGroups) {\n try { ag?.pause?.(); } catch {}\n }\n\n state.savedPointerCam = scene.cameraToUseForPointers ?? null;\n if (state.editorCamera) scene.cameraToUseForPointers = state.editorCamera;\n\n const beforeObs = scene.onBeforeRenderObservable;\n if (beforeObs?._observers?.length) {\n const keep: unknown[] = [];\n const freeze: unknown[] = [];\n for (const obs of beforeObs._observers) {\n const candidate = obs as any;\n const cbStr = candidate.callback?.toString?.() || '';\n const ctx = candidate.scope ?? candidate.callback?.__this;\n const ctxName = ctx?.constructor?.name || '';\n const isRendering = /ShadowGenerator|GlowLayer|HighlightLayer|ReflectionProbe|RenderTargetTexture|EffectLayer/i.test(ctxName)\n || /shadowMap|renderTarget|glowLayer|highlightLayer|reflectionProbe/i.test(cbStr);\n (isRendering ? keep : freeze).push(obs);\n }\n beforeObs._observers = keep;\n state.frozenBeforeObs = freeze;\n }\n\n state.active = true;\n state.tools = createEditorToolController({\n getScene: () => scene,\n getSelectedEntity: () => options.getSelectedEntity?.() ?? null,\n enablePicking: () => options.onEnablePicking?.(),\n babylon: options.babylon,\n syncExternalToolState: options.syncExternalToolState,\n });\n\n state.input.init({\n host,\n getCanvas: () => getRenderCanvas(scene),\n isEditActive: () => state.active,\n onSetTool: (tool) => {\n const handled = state.tools?.setTool(tool) ?? false;\n if (!handled) options.onSetTool?.(tool);\n },\n onFocusSelected: () => options.onFocusSelected?.(),\n onUndo: () => options.onUndo?.(),\n onRedo: () => options.onRedo?.(),\n onDuplicateSelected: () => options.onDuplicateSelected?.(),\n });\n\n if (state.viewportCtx && !state.viewportCtx.renderObs) {\n attachEditorViewportMovement(scene, state.viewportCtx, {\n babylon: options.babylon,\n input: state.input,\n });\n }\n\n if (game?.onEditEnter) {\n try { await game.onEditEnter(); } catch {}\n }\n\n options.emitModeChange('edit');\n }\n\n async function exit(save = true): Promise<void> {\n if (!state.active) {\n options.emitModeChange('play');\n return;\n }\n\n deactivateControllers();\n\n const game = options.getGame();\n const scene = options.getScene() ?? game?.scene ?? null;\n if (game && typeof game.exitPreview === 'function') {\n try { await game.exitPreview(save); } catch {}\n resetStateAfterExit(state);\n options.emitModeChange('play');\n return;\n }\n if (!scene) {\n resetStateAfterExit(state);\n options.emitModeChange('play');\n return;\n }\n\n if (state.resizeObs) {\n scene.onAfterRenderObservable?.remove?.(state.resizeObs);\n state.resizeObs = null;\n }\n\n disposeEditorViewportCamera(scene, state.viewportCtx);\n state.viewportCtx = null;\n const editorCamera = state.editorCamera;\n state.editorCamera = null;\n if (state.savedCam) {\n movePostProcessPipelines(scene, editorCamera, state.savedCam);\n scene.activeCamera = state.savedCam;\n scene.activeCameras = state.savedActiveCams;\n }\n state.savedCam = null;\n state.savedActiveCams = [];\n\n const canvas = getRenderCanvas(scene);\n if (canvas) {\n for (const cam of state.detachedCams) {\n if (cam?.attachControl) cam.attachControl(canvas, true);\n }\n }\n state.detachedCams = [];\n\n const beforeObs = scene.onBeforeRenderObservable;\n if (state.frozenBeforeObs && beforeObs?._observers) {\n beforeObs._observers.unshift(...state.frozenBeforeObs);\n state.frozenBeforeObs = null;\n }\n\n const kbObs = scene.onKeyboardObservable;\n if (state.frozenKeyboardObs && kbObs?._observers) {\n kbObs._observers.unshift(...state.frozenKeyboardObs);\n state.frozenKeyboardObs = null;\n }\n\n scene.cameraToUseForPointers = state.savedPointerCam;\n state.savedPointerCam = null;\n\n if (state.savedAnimEnabled) scene.animationsEnabled = true;\n state.savedAnimEnabled = true;\n for (const ag of state.pausedAnimGroups) {\n try { ag?.play?.(); } catch {}\n }\n state.pausedAnimGroups = [];\n disposeTools();\n\n if (game?.onEditExit) {\n try { await game.onEditExit(); } catch {}\n }\n\n if (!state.wasPausedBeforeEnter) game?.resume?.();\n resetStateAfterExit(state);\n options.emitModeChange('play');\n }\n\n return {\n get active(): boolean {\n return state.active;\n },\n enter,\n exit,\n isViewportNavigationActive(): boolean {\n return state.input.isViewportNavigationActive();\n },\n focusSelected(node: RuntimeNode | null): boolean {\n return focusEditorViewportSelection(state.editorCamera, node, { babylon: options.babylon });\n },\n syncSelection(node: RuntimeNode | null): void {\n state.tools?.syncSelection(node ?? null);\n },\n currentTool(): EditorTool {\n return state.tools?.currentTool?.() ?? 'pick';\n },\n };\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"editor-sky.js","sourceRoot":"","sources":["../src/editor-sky.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"editor-sky.js","sourceRoot":"","sources":["../src/editor-sky.ts"],"names":[],"mappings":"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","sourcesContent":["import type {\n BabylonRuntimeGlobal,\n RuntimeScene,\n} from './types';\n\nexport interface BabylonEditorSkyColor {\n r: number;\n g: number;\n b: number;\n}\n\nexport interface BabylonEditorSkyOptions {\n enabled?: boolean;\n preset?: 'simple' | 'vertex-color' | 'atmospheric' | 'environment';\n radius?: number;\n topColor?: BabylonEditorSkyColor;\n horizonColor?: BabylonEditorSkyColor;\n bottomColor?: BabylonEditorSkyColor;\n cloudColor?: BabylonEditorSkyColor;\n cloudStrength?: number;\n sunColor?: BabylonEditorSkyColor;\n sunDirection?: { x: number; y: number; z: number };\n}\n\nexport interface BabylonEditorSkyBackdrop {\n kind: 'procedural' | 'environment';\n mesh: any;\n material: any;\n update(sky?: BabylonEditorSkyOptions | false): void;\n refresh(): void;\n dispose(): void;\n}\n\nexport interface BabylonEditorSkyBackdropOptions {\n babylon: BabylonRuntimeGlobal;\n scene: RuntimeScene;\n sky?: BabylonEditorSkyOptions | false;\n}\n\nconst DEFAULT_EDITOR_SKY: Required<BabylonEditorSkyOptions> = {\n enabled: true,\n preset: 'simple',\n radius: 1200,\n topColor: { r: 0.28, g: 0.58, b: 0.86 },\n horizonColor: { r: 0.72, g: 0.83, b: 0.88 },\n bottomColor: { r: 0.56, g: 0.62, b: 0.64 },\n cloudColor: { r: 1, g: 0.96, b: 0.86 },\n cloudStrength: 0.42,\n sunColor: { r: 1, g: 0.86, b: 0.58 },\n sunDirection: { x: -0.36, y: 0.42, z: -0.82 },\n};\n\nconst POSITION_KIND = 'position';\nconst COLOR_KIND = 'color';\nconst SIMPLE_SKY_SEGMENTS = 16;\nconst ATMOSPHERIC_SKY_SEGMENTS = 32;\nconst SKYBOX_TEXTURE_COORDINATES_MODE_FALLBACK = 5;\nconst SKY_SHADER_NAME = 'editorSkyBackdrop';\nconst SKY_VERTEX_SHADER = `\nprecision highp float;\nattribute vec3 position;\nuniform mat4 worldViewProjection;\nvarying vec3 vDirection;\nvoid main(void) {\n vDirection = normalize(position);\n gl_Position = worldViewProjection * vec4(position, 1.0);\n}\n`;\nconst SKY_FRAGMENT_SHADER = `\nprecision highp float;\nvarying vec3 vDirection;\nuniform vec3 topColor;\nuniform vec3 horizonColor;\nuniform vec3 bottomColor;\nuniform vec3 cloudColor;\nuniform vec3 sunColor;\nuniform vec3 sunDirection;\nuniform float cloudStrength;\n\nfloat hash(vec2 p) {\n return fract(sin(dot(p, vec2(127.1, 311.7))) * 43758.5453123);\n}\n\nfloat valueNoise(vec2 p) {\n vec2 i = floor(p);\n vec2 f = fract(p);\n vec2 u = f * f * (3.0 - 2.0 * f);\n float a = hash(i);\n float b = hash(i + vec2(1.0, 0.0));\n float c = hash(i + vec2(0.0, 1.0));\n float d = hash(i + vec2(1.0, 1.0));\n return mix(mix(a, b, u.x), mix(c, d, u.x), u.y);\n}\n\nfloat cloudNoise(vec2 p) {\n float n = valueNoise(p * 1.0) * 0.56;\n n += valueNoise(p * 2.2 + vec2(3.1, 1.7)) * 0.28;\n n += valueNoise(p * 4.1 + vec2(8.3, 4.4)) * 0.16;\n return n;\n}\n\nvoid main(void) {\n vec3 dir = normalize(vDirection);\n float h = clamp(dir.y * 0.5 + 0.5, 0.0, 1.0);\n vec3 lowerSky = mix(bottomColor, horizonColor, smoothstep(0.0, 0.52, h));\n vec3 upperSky = mix(horizonColor, topColor, smoothstep(0.38, 1.0, h));\n vec3 sky = mix(lowerSky, upperSky, smoothstep(0.32, 0.76, h));\n\n float horizonMist = 1.0 - smoothstep(0.015, 0.26, abs(dir.y));\n sky += horizonMist * vec3(0.08, 0.09, 0.08);\n\n float sunDot = max(dot(dir, normalize(sunDirection)), 0.0);\n float sunGlow = pow(sunDot, 48.0) * 0.32 + pow(sunDot, 420.0) * 0.78;\n sky = mix(sky, sunColor, clamp(sunGlow, 0.0, 0.72));\n\n float cloudBand = smoothstep(0.05, 0.24, dir.y) * (1.0 - smoothstep(0.58, 0.82, dir.y));\n vec2 cloudUv = dir.xz / max(dir.y + 0.48, 0.18);\n float stretchedNoise = cloudNoise(vec2(cloudUv.x * 1.25, cloudUv.y * 0.34));\n float streaks = smoothstep(0.56, 0.82, stretchedNoise) * cloudBand * cloudStrength;\n sky = mix(sky, cloudColor, clamp(streaks, 0.0, 0.48));\n\n gl_FragColor = vec4(clamp(sky, 0.0, 1.0), 1.0);\n}\n`;\n\nexport function createBabylonEditorSkyBackdrop(\n options: BabylonEditorSkyBackdropOptions,\n): BabylonEditorSkyBackdrop | null {\n const sky = resolveEditorSkyOptions(options.sky);\n if (!sky.enabled) return null;\n\n const MeshBuilder = options.babylon.MeshBuilder;\n const Color3 = options.babylon.Color3;\n if (!MeshBuilder?.CreateSphere || !Color3) return null;\n\n const mesh = MeshBuilder.CreateSphere(\n 'editor.world.sky',\n {\n diameter: sky.radius * 2,\n segments: sky.preset === 'atmospheric' ? ATMOSPHERIC_SKY_SEGMENTS : SIMPLE_SKY_SEGMENTS,\n sideOrientation: (options.babylon as any).Mesh?.BACKSIDE ?? 1,\n },\n options.scene,\n );\n mesh.isPickable = false;\n mesh.infiniteDistance = true;\n mesh.alwaysSelectAsActiveMesh = true;\n mesh.doNotSyncBoundingInfo = true;\n\n const initialSkyMaterial = createSkyMaterialState(\n options.babylon,\n options.scene,\n mesh,\n sky,\n sky.preset === 'atmospheric' && canUseSkyShader(options.babylon),\n );\n if (!initialSkyMaterial) {\n mesh.dispose?.();\n return null;\n }\n let skyMaterial: SkyMaterialState = initialSkyMaterial;\n mesh.material = skyMaterial.material;\n\n skyMaterial.apply(sky);\n\n return {\n get kind() {\n return skyMaterial.kind;\n },\n mesh,\n get material() {\n return skyMaterial.material;\n },\n update(nextSkyOptions) {\n const nextSky = resolveEditorSkyOptions(nextSkyOptions);\n mesh.setEnabled?.(nextSky.enabled);\n if (!nextSky.enabled) return;\n const nextKind = resolveSkyMaterialKind(nextSky);\n if (nextKind !== skyMaterial.kind) {\n const nextMaterial = createSkyMaterialState(\n options.babylon,\n options.scene,\n mesh,\n nextSky,\n nextSky.preset === 'atmospheric' && canUseSkyShader(options.babylon),\n );\n if (!nextMaterial) return;\n const previousMaterial = skyMaterial;\n skyMaterial = nextMaterial;\n mesh.material = skyMaterial.material;\n previousMaterial.dispose();\n }\n skyMaterial.apply(nextSky);\n },\n refresh() {\n skyMaterial.refresh();\n },\n dispose() {\n mesh.dispose?.();\n skyMaterial.dispose();\n },\n };\n}\n\ninterface SkyMaterialState {\n kind: 'procedural' | 'environment';\n material: any;\n apply(sky: Required<BabylonEditorSkyOptions>): void;\n refresh(): void;\n dispose(): void;\n}\n\nfunction createSkyMaterialState(\n babylon: BabylonRuntimeGlobal,\n scene: RuntimeScene,\n mesh: any,\n sky: Required<BabylonEditorSkyOptions>,\n preferShader: boolean,\n): SkyMaterialState | null {\n if (sky.preset === 'environment') {\n return createSkyEnvironmentMaterialState(babylon, scene);\n }\n if (preferShader) {\n try {\n const shaderMaterial = createSkyShaderMaterial(babylon, scene, sky);\n if (shaderMaterial) {\n return {\n kind: 'procedural',\n material: shaderMaterial,\n apply(nextSky) {\n applySkyShaderUniforms(babylon, shaderMaterial, nextSky);\n },\n refresh() {},\n dispose() {\n shaderMaterial.dispose?.();\n },\n };\n }\n } catch {\n // Fallback below keeps editor preview usable on older Babylon runtimes.\n }\n }\n const fallbackMaterial = createSkyVertexColorMaterial(babylon, scene);\n return fallbackMaterial\n ? {\n kind: 'procedural',\n material: fallbackMaterial,\n apply(nextSky) {\n applySkyVertexColors(mesh, nextSky);\n },\n refresh() {},\n dispose() {\n fallbackMaterial.dispose?.();\n },\n }\n : null;\n}\n\nfunction createSkyEnvironmentMaterialState(\n babylon: BabylonRuntimeGlobal,\n scene: RuntimeScene,\n): SkyMaterialState | null {\n const StandardMaterial = babylon.StandardMaterial;\n const Color3 = babylon.Color3;\n if (!StandardMaterial || !Color3) return null;\n\n const material = new StandardMaterial('editor.world.sky.environmentMaterial', scene);\n material.disableLighting = true;\n material.disableDepthWrite = true;\n material.backFaceCulling = false;\n material.diffuseColor = new Color3(0, 0, 0);\n material.specularColor = new Color3(0, 0, 0);\n\n let sourceTexture: any | null = null;\n let ownedReflectionTexture: any | null = null;\n\n const disposeOwnedReflectionTexture = () => {\n ownedReflectionTexture?.dispose?.();\n ownedReflectionTexture = null;\n };\n\n const refresh = () => {\n const nextSourceTexture = (scene as { environmentTexture?: any | null }).environmentTexture ?? null;\n if (nextSourceTexture === sourceTexture && material.reflectionTexture) return;\n disposeOwnedReflectionTexture();\n sourceTexture = nextSourceTexture;\n if (!nextSourceTexture) {\n material.reflectionTexture = null;\n return;\n }\n\n const reflectionTexture = typeof nextSourceTexture.clone === 'function'\n ? nextSourceTexture.clone()\n : nextSourceTexture;\n if (reflectionTexture !== nextSourceTexture) {\n ownedReflectionTexture = reflectionTexture;\n }\n reflectionTexture.coordinatesMode = resolveSkyboxTextureCoordinatesMode(babylon);\n material.reflectionTexture = reflectionTexture;\n };\n\n refresh();\n\n return {\n kind: 'environment',\n material,\n apply() {\n refresh();\n },\n refresh,\n dispose() {\n disposeOwnedReflectionTexture();\n material.reflectionTexture = null;\n material.dispose?.();\n },\n };\n}\n\nfunction resolveSkyMaterialKind(sky: Required<BabylonEditorSkyOptions>): SkyMaterialState['kind'] {\n return sky.preset === 'environment' ? 'environment' : 'procedural';\n}\n\nfunction resolveSkyboxTextureCoordinatesMode(babylon: BabylonRuntimeGlobal): number {\n return (babylon.Texture as { SKYBOX_MODE?: number } | undefined)?.SKYBOX_MODE\n ?? SKYBOX_TEXTURE_COORDINATES_MODE_FALLBACK;\n}\n\nfunction createSkyShaderMaterial(\n babylon: BabylonRuntimeGlobal,\n scene: RuntimeScene,\n sky: Required<BabylonEditorSkyOptions>,\n): any | null {\n if (!canUseSkyShader(babylon)) return null;\n const ShaderMaterial = babylon.ShaderMaterial!;\n const store = babylon.Effect!.ShadersStore!;\n store[`${SKY_SHADER_NAME}VertexShader`] = SKY_VERTEX_SHADER;\n store[`${SKY_SHADER_NAME}FragmentShader`] = SKY_FRAGMENT_SHADER;\n\n const material = new ShaderMaterial(\n 'editor.world.sky.shaderMaterial',\n scene,\n { vertex: SKY_SHADER_NAME, fragment: SKY_SHADER_NAME },\n {\n attributes: ['position'],\n uniforms: [\n 'worldViewProjection',\n 'topColor',\n 'horizonColor',\n 'bottomColor',\n 'cloudColor',\n 'sunColor',\n 'sunDirection',\n 'cloudStrength',\n ],\n },\n );\n material.backFaceCulling = false;\n material.disableDepthWrite = true;\n applySkyShaderUniforms(babylon, material, sky);\n return material;\n}\n\nfunction canUseSkyShader(babylon: BabylonRuntimeGlobal): boolean {\n return (\n !!babylon.ShaderMaterial\n && !!babylon.Color3\n && !!babylon.Effect?.ShadersStore\n );\n}\n\nfunction createSkyVertexColorMaterial(\n babylon: BabylonRuntimeGlobal,\n scene: RuntimeScene,\n): any | null {\n const StandardMaterial = babylon.StandardMaterial;\n const Color3 = babylon.Color3;\n if (!StandardMaterial || !Color3) return null;\n const material = new StandardMaterial('editor.world.sky.material', scene);\n material.disableLighting = true;\n material.disableDepthWrite = true;\n material.backFaceCulling = false;\n material.useVertexColors = true;\n material.diffuseColor = new Color3(1, 1, 1);\n material.emissiveColor = new Color3(1, 1, 1);\n material.specularColor = new Color3(0, 0, 0);\n material.freeze?.();\n return material;\n}\n\nfunction resolveEditorSkyOptions(\n sky: BabylonEditorSkyOptions | false | undefined,\n): Required<BabylonEditorSkyOptions> {\n if (sky === false) return { ...DEFAULT_EDITOR_SKY, enabled: false };\n return {\n enabled: sky?.enabled ?? DEFAULT_EDITOR_SKY.enabled,\n preset: sky?.preset ?? DEFAULT_EDITOR_SKY.preset,\n radius: sky?.radius ?? DEFAULT_EDITOR_SKY.radius,\n topColor: sky?.topColor ?? DEFAULT_EDITOR_SKY.topColor,\n horizonColor: sky?.horizonColor ?? DEFAULT_EDITOR_SKY.horizonColor,\n bottomColor: sky?.bottomColor ?? DEFAULT_EDITOR_SKY.bottomColor,\n cloudColor: sky?.cloudColor ?? DEFAULT_EDITOR_SKY.cloudColor,\n cloudStrength: sky?.cloudStrength ?? DEFAULT_EDITOR_SKY.cloudStrength,\n sunColor: sky?.sunColor ?? DEFAULT_EDITOR_SKY.sunColor,\n sunDirection: sky?.sunDirection ?? DEFAULT_EDITOR_SKY.sunDirection,\n };\n}\n\nfunction applySkyShaderUniforms(\n babylon: BabylonRuntimeGlobal,\n material: any,\n sky: Required<BabylonEditorSkyOptions>,\n): void {\n const Color3 = babylon.Color3;\n if (!Color3) return;\n const Vector3 = babylon.Vector3;\n material.setColor3?.('topColor', toColor3(Color3, sky.topColor));\n material.setColor3?.('horizonColor', toColor3(Color3, sky.horizonColor));\n material.setColor3?.('bottomColor', toColor3(Color3, sky.bottomColor));\n material.setColor3?.('cloudColor', toColor3(Color3, sky.cloudColor));\n material.setColor3?.('sunColor', toColor3(Color3, sky.sunColor));\n if (Vector3 && material.setVector3) {\n material.setVector3('sunDirection', new Vector3(\n sky.sunDirection.x,\n sky.sunDirection.y,\n sky.sunDirection.z,\n ));\n }\n material.setFloat?.('cloudStrength', sky.cloudStrength);\n}\n\nfunction applySkyVertexColors(mesh: any, sky: Required<BabylonEditorSkyOptions>): void {\n const positions = mesh.getVerticesData?.(POSITION_KIND) as number[] | Float32Array | null | undefined;\n if (!positions || !mesh.setVerticesData) return;\n\n const colors: number[] = [];\n for (let index = 0; index < positions.length; index += 3) {\n const normalizedY = clamp01((positions[index + 1] / sky.radius + 1) / 2);\n const color = normalizedY < 0.5\n ? mixColor(sky.bottomColor, sky.horizonColor, normalizedY / 0.5)\n : mixColor(sky.horizonColor, sky.topColor, (normalizedY - 0.5) / 0.5);\n colors.push(color.r, color.g, color.b, 1);\n }\n\n mesh.setVerticesData(COLOR_KIND, colors, false);\n}\n\nfunction mixColor(\n from: BabylonEditorSkyColor,\n to: BabylonEditorSkyColor,\n amount: number,\n): BabylonEditorSkyColor {\n const t = clamp01(amount);\n return {\n r: from.r + (to.r - from.r) * t,\n g: from.g + (to.g - from.g) * t,\n b: from.b + (to.b - from.b) * t,\n };\n}\n\nfunction clamp01(value: number): number {\n if (!Number.isFinite(value)) return 0;\n return Math.max(0, Math.min(1, value));\n}\n\nfunction toColor3(\n Color3: new (r: number, g: number, b: number) => any,\n color: BabylonEditorSkyColor,\n): any {\n return new Color3(color.r, color.g, color.b);\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"editor-world.js","sourceRoot":"","sources":["../src/editor-world.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"editor-world.js","sourceRoot":"","sources":["../src/editor-world.ts"],"names":[],"mappings":"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","sourcesContent":["import type {\n BabylonRuntimeGlobal,\n RuntimeCamera,\n RuntimeScene,\n} from './types';\nimport {\n createBabylonEditorSkyBackdrop,\n type BabylonEditorSkyBackdrop,\n type BabylonEditorSkyOptions,\n} from './editor-sky';\n\nexport interface BabylonEditorWorldOptions {\n engine: any;\n canvas?: HTMLCanvasElement | null;\n babylon: BabylonRuntimeGlobal;\n cameraTarget?: { x: number; y: number; z: number };\n cameraRadius?: number;\n clearColor?: { r: number; g: number; b: number; a: number };\n sky?: BabylonEditorSkyOptions | false;\n useRightHandedSystem?: boolean;\n enableGizmoManager?: boolean;\n enableDefaultCameraControls?: boolean;\n}\n\nexport interface BabylonEditorWorldAppearanceOptions {\n clearColor?: { r: number; g: number; b: number; a: number };\n sky?: BabylonEditorSkyOptions | false;\n}\n\nexport interface BabylonEditorWorld {\n scene: RuntimeScene;\n camera: RuntimeCamera;\n gizmoManager: any | null;\n skyBackdrop: BabylonEditorSkyBackdrop | null;\n setAppearance(options: BabylonEditorWorldAppearanceOptions): void;\n refreshSkyBackdrop(): void;\n render(): void;\n dispose(): void;\n}\n\nfunction requireBabylonCtor<T>(value: T | undefined, name: string): T {\n if (!value) throw new Error(`Babylon runtime missing ${name}`);\n return value;\n}\n\nexport function createBabylonEditorWorld(options: BabylonEditorWorldOptions): BabylonEditorWorld {\n const SceneCtor = requireBabylonCtor(options.babylon.Scene, 'Scene');\n const Vector3Ctor = requireBabylonCtor(options.babylon.Vector3, 'Vector3');\n\n const scene = new SceneCtor(options.engine);\n if (options.useRightHandedSystem !== undefined) {\n scene.useRightHandedSystem = options.useRightHandedSystem;\n }\n applyEditorWorldClearColor(options.babylon, scene, options.clearColor);\n let skyBackdrop = createBabylonEditorSkyBackdrop({\n babylon: options.babylon,\n scene,\n sky: options.sky,\n });\n\n const target = options.cameraTarget ?? { x: 0, y: 0.8, z: 0 };\n let camera: RuntimeCamera;\n if (options.babylon.ArcRotateCamera) {\n camera = new options.babylon.ArcRotateCamera(\n 'editor-world-camera',\n Math.PI / 4,\n Math.PI / 3,\n options.cameraRadius ?? 9,\n new Vector3Ctor(target.x, target.y, target.z),\n scene,\n );\n } else {\n const UniversalCameraCtor = requireBabylonCtor(options.babylon.UniversalCamera, 'UniversalCamera');\n camera = new UniversalCameraCtor(\n 'editor-world-camera',\n new Vector3Ctor(target.x, target.y, target.z - (options.cameraRadius ?? 9)),\n scene,\n );\n camera.setTarget?.(new Vector3Ctor(target.x, target.y, target.z));\n }\n if (options.canvas && options.enableDefaultCameraControls !== false) {\n camera.attachControl?.(options.canvas, true);\n configureEditorCameraControls(camera);\n }\n scene.activeCamera = camera;\n scene.cameraToUseForPointers = camera;\n\n const gizmoManager = options.enableGizmoManager && options.babylon.GizmoManager\n ? new options.babylon.GizmoManager(scene)\n : null;\n\n return {\n scene,\n camera,\n gizmoManager,\n get skyBackdrop() {\n return skyBackdrop;\n },\n setAppearance(appearance) {\n applyEditorWorldClearColor(options.babylon, scene, appearance.clearColor);\n if (isEditorWorldSkyDisabled(appearance.sky)) {\n skyBackdrop?.dispose();\n skyBackdrop = null;\n return;\n }\n if (skyBackdrop) {\n skyBackdrop.update(appearance.sky);\n } else {\n skyBackdrop = createBabylonEditorSkyBackdrop({\n babylon: options.babylon,\n scene,\n sky: appearance.sky,\n });\n }\n },\n refreshSkyBackdrop() {\n skyBackdrop?.refresh();\n },\n render() {\n scene.render();\n },\n dispose() {\n skyBackdrop?.dispose();\n gizmoManager?.dispose?.();\n scene.dispose();\n },\n };\n}\n\nfunction configureEditorCameraControls(camera: RuntimeCamera): void {\n const pointerInput = (camera as any).inputs?.attached?.pointers;\n if (pointerInput) {\n try { pointerInput.buttons = [1, 2]; } catch {}\n try { pointerInput.panningMouseButton = 1; } catch {}\n }\n try { (camera as any).panningMouseButton = 1; } catch {}\n}\n\nfunction applyEditorWorldClearColor(\n babylon: BabylonRuntimeGlobal,\n scene: RuntimeScene,\n clearColor: BabylonEditorWorldAppearanceOptions['clearColor'],\n): void {\n if (!clearColor || !babylon.Color4) return;\n scene.clearColor = new babylon.Color4(\n clearColor.r,\n clearColor.g,\n clearColor.b,\n clearColor.a,\n );\n}\n\nfunction isEditorWorldSkyDisabled(sky: BabylonEditorWorldAppearanceOptions['sky']): boolean {\n return sky === false || sky?.enabled === false;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"event-guard.js","sourceRoot":"","sources":["../src/event-guard.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"event-guard.js","sourceRoot":"","sources":["../src/event-guard.ts"],"names":[],"mappings":"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","sourcesContent":["import { createBrowserHost, type BrowserHost } from '@fps-games/editor-browser';\n\nconst POINTER_EVENTS = ['pointerdown', 'pointermove', 'pointerup', 'pointercancel'] as const;\n\nexport interface EditorEventGuardOptions {\n host?: BrowserHost;\n interactiveRootSelector?: string;\n}\nexport interface EditorEventGuard {\n activate(canvas: HTMLCanvasElement): void;\n deactivate(): void;\n dispose(): void;\n isActive(): boolean;\n}\n\nexport function createEditorEventGuard(options: EditorEventGuardOptions = {}): EditorEventGuard {\n const host = options.host ?? createBrowserHost();\n const interactiveRootSelector = options.interactiveRootSelector ?? '';\n const forwarded = new WeakSet<Event>();\n const state: { active: boolean; canvas: HTMLCanvasElement | null } = {\n active: false,\n canvas: null,\n };\n const disposers: Array<() => void> = [];\n\n function isInteractiveTarget(target: EventTarget | null): boolean {\n if (!interactiveRootSelector) return false;\n return !!(target as Element | null)?.closest?.(interactiveRootSelector);\n }\n\n function isWithinCanvasViewport(event: PointerEvent | WheelEvent): boolean {\n const canvas = state.canvas;\n if (!canvas) return false;\n if (event.target === canvas) return true;\n const rect = canvas.getBoundingClientRect();\n return event.clientX >= rect.left\n && event.clientX <= rect.right\n && event.clientY >= rect.top\n && event.clientY <= rect.bottom;\n }\n\n function isOutsideCanvasContainer(target: EventTarget | null): boolean {\n const container = state.canvas?.parentElement;\n if (!container || !target) return false;\n return !container.contains(target as Node);\n }\n\n function handlePointer(event: PointerEvent): void {\n if (!state.active) return;\n if (forwarded.has(event)) return;\n if (isInteractiveTarget(event.target)) return;\n if (isOutsideCanvasContainer(event.target)) return;\n\n if (state.canvas && isWithinCanvasViewport(event)) {\n event.stopImmediatePropagation();\n const clone = new PointerEvent(event.type, event);\n forwarded.add(clone);\n state.canvas.dispatchEvent(clone);\n return;\n }\n\n event.stopImmediatePropagation();\n event.preventDefault();\n }\n\n function handleWheel(event: WheelEvent): void {\n if (!state.active) return;\n if (isInteractiveTarget(event.target)) return;\n if (isOutsideCanvasContainer(event.target)) return;\n if (state.canvas && isWithinCanvasViewport(event)) return;\n event.stopImmediatePropagation();\n event.preventDefault();\n }\n\n function handleKey(event: KeyboardEvent): void {\n if (!state.active) return;\n if (isInteractiveTarget(event.target)) return;\n if (isOutsideCanvasContainer(event.target)) return;\n if (state.canvas && event.target === state.canvas) return;\n event.stopImmediatePropagation();\n event.preventDefault();\n }\n\n for (const type of POINTER_EVENTS) {\n disposers.push(host.addDocumentEvent(type, handlePointer, true));\n }\n disposers.push(\n host.addDocumentEvent('wheel', handleWheel, true),\n host.addWindowEvent('keydown', handleKey, true),\n host.addWindowEvent('keyup', handleKey, true),\n );\n\n return {\n activate(canvas: HTMLCanvasElement): void {\n state.canvas = canvas;\n state.active = true;\n },\n\n deactivate(): void {\n state.active = false;\n state.canvas = null;\n },\n\n dispose(): void {\n this.deactivate();\n while (disposers.length) disposers.pop()?.();\n },\n\n isActive(): boolean {\n return state.active;\n },\n };\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,iCAAiC,CAAC;AAChD,cAAc,WAAW,CAAC;AAC1B,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,cAAc,wCAAwC,CAAC;AACvD,cAAc,mCAAmC,CAAC;AAClD,cAAc,cAAc,CAAC;AAC7B,cAAc,uCAAuC,CAAC;AACtD,cAAc,mCAAmC,CAAC;AAClD,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC;AACvC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,qCAAqC,CAAC;AACpD,cAAc,yCAAyC,CAAC;AACxD,cAAc,wBAAwB,CAAC;AACvC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,mBAAmB,CAAC;AAClC,cAAc,8BAA8B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,iCAAiC,CAAC;AAChD,cAAc,WAAW,CAAC;AAC1B,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,cAAc,wCAAwC,CAAC;AACvD,cAAc,mCAAmC,CAAC;AAClD,cAAc,cAAc,CAAC;AAC7B,cAAc,uCAAuC,CAAC;AACtD,cAAc,mCAAmC,CAAC;AAClD,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC;AACvC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,qCAAqC,CAAC;AACpD,cAAc,yCAAyC,CAAC;AACxD,cAAc,wBAAwB,CAAC;AACvC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,mBAAmB,CAAC;AAClC,cAAc,8BAA8B,CAAC","sourcesContent":["export * from './camera-controller';\nexport * from './edit-session';\nexport * from './editor-world';\nexport * from './editor-sky';\nexport * from './event-guard';\nexport * from './input-controller';\nexport * from './inspector-adapter';\nexport * from './inspector-host';\nexport * from './infinite-grid';\nexport * from './material-property-adapter';\nexport * from './material-slot-source-resolver';\nexport * from './monitor';\nexport * from './outline-adapter';\nexport * from './performance-monitor';\nexport * from './prefab-comparison-preview-controller';\nexport * from './primitive-projection-instancing';\nexport * from './projection';\nexport * from './projection-asset-container-importer';\nexport * from './projection-selection-controller';\nexport * from './runtime-globals';\nexport * from './main-camera-preview';\nexport * from './marker-overlay';\nexport * from './scene-camera-preview';\nexport * from './scene-view-camera-controller';\nexport * from './scene-view-input-controller';\nexport * from './scene-view-measurement-controller';\nexport * from './scene-view-spatial-overlay-controller';\nexport * from './selection-controller';\nexport * from './shadow-preview-controller';\nexport * from './tool-controller';\nexport * from './transform-gizmo-controller';\nexport type * from './types';\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"infinite-grid-layer.js","sourceRoot":"","sources":["../src/infinite-grid-layer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"infinite-grid-layer.js","sourceRoot":"","sources":["../src/infinite-grid-layer.ts"],"names":[],"mappings":"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","sourcesContent":["import type { BabylonEditorGridController, BabylonEditorGridColorOptions, BabylonEditorInfiniteGridOptions } from './infinite-grid';\nimport type { RuntimeCamera, RuntimeScene } from './types';\n\ninterface GridFrameState {\n step: number;\n majorStep: number;\n fadeStart: number;\n fadeEnd: number;\n viewProjection: any;\n inverseViewProjection: any;\n}\n\nconst DEFAULT_STEP = 1;\nconst DEFAULT_MAJOR_STEP_MULTIPLIER = 5;\nconst DEFAULT_HALF_LINE_COUNT = 80;\nconst DEFAULT_TARGET_SCREEN_SPACING_PX = 48;\nconst DEFAULT_OPACITY = 0.82;\nconst DEFAULT_MAX_VISIBLE_DISTANCE = 600;\nconst GRID_FADE_START_RATIO = 0.72;\nconst DEFAULT_GRID_COLOR = { r: 0.18, g: 0.27, b: 0.42 };\nconst DEFAULT_MAJOR_GRID_COLOR = { r: 0.24, g: 0.36, b: 0.56 };\nconst DEFAULT_AXIS_X_COLOR = { r: 0.8, g: 0.22, b: 0.22 };\nconst DEFAULT_AXIS_Z_COLOR = { r: 0.22, g: 0.55, b: 0.85 };\nconst DEFAULT_ADAPTIVE_STEPS = [\n 1,\n 2,\n 5,\n 10,\n 20,\n 50,\n 100,\n 200,\n 500,\n 1000,\n 2000,\n 5000,\n 10000,\n 20000,\n 50000,\n 100000,\n];\n\nconst GRID_SHADER_NAME = 'fpsEditorScreenSpaceInfiniteGrid';\n\nconst GRID_VERTEX_SHADER = `\nprecision highp float;\n\nattribute vec3 position;\n\nvarying vec2 vUv;\n\nvoid main(void) {\n vUv = position.xy * 0.5 + 0.5;\n gl_Position = vec4(position.xy, 0.0, 1.0);\n}\n`;\n\nconst GRID_FRAGMENT_SHADER = `\n#ifdef GL_OES_standard_derivatives\n#extension GL_OES_standard_derivatives : enable\n#endif\n#ifdef GL_EXT_frag_depth\n#extension GL_EXT_frag_depth : enable\n#define GRID_FRAGMENT_DEPTH gl_FragDepthEXT\n#else\n#define GRID_FRAGMENT_DEPTH gl_FragDepth\n#endif\n\nprecision highp float;\n\nuniform mat4 viewProjection;\nuniform mat4 inverseViewProjection;\nuniform float gridStep;\nuniform float majorStep;\nuniform float fadeStart;\nuniform float fadeEnd;\nuniform float opacity;\nuniform vec3 gridColor;\nuniform vec3 majorGridColor;\nuniform vec3 axisXColor;\nuniform vec3 axisZColor;\n\nvarying vec2 vUv;\n\nvec3 unprojectPoint(float depth) {\n vec4 clip = vec4(vUv * 2.0 - 1.0, depth, 1.0);\n vec4 world = inverseViewProjection * clip;\n return world.xyz / max(world.w, 0.000001);\n}\n\nfloat gridLine(vec2 worldXZ, float spacing, float fadeStartValue, float fadeEndValue) {\n vec2 coord = worldXZ / max(spacing, 0.0001);\n vec2 derivative = max(fwidth(coord), vec2(0.0001));\n vec2 grid = abs(fract(coord - 0.5) - 0.5) / derivative;\n float lineDistance = min(grid.x, grid.y);\n float coverage = 1.0 - smoothstep(0.0, 1.0, lineDistance);\n float densityFade = 1.0 - smoothstep(fadeStartValue, fadeEndValue, max(derivative.x, derivative.y));\n return coverage * densityFade;\n}\n\nfloat axisLine(float distanceToAxis, float width) {\n float derivative = max(fwidth(distanceToAxis), 0.0001);\n return 1.0 - smoothstep(width - derivative, width + derivative, abs(distanceToAxis));\n}\n\nvoid main(void) {\n vec3 nearPoint = unprojectPoint(-1.0);\n vec3 farPoint = unprojectPoint(1.0);\n vec3 ray = farPoint - nearPoint;\n if (abs(ray.y) < 0.000001) discard;\n\n float t = -nearPoint.y / ray.y;\n if (t < 0.0 || t > 1.0) discard;\n\n vec3 worldPosition = nearPoint + ray * t;\n vec4 gridClip = viewProjection * vec4(worldPosition, 1.0);\n float normalizedDepth = gridClip.z / gridClip.w * 0.5 + 0.5;\n GRID_FRAGMENT_DEPTH = clamp(normalizedDepth, 0.0, 1.0);\n\n vec2 worldXZ = worldPosition.xz;\n float distanceToCamera = length(worldPosition - nearPoint);\n float rangeFade = 1.0 - smoothstep(fadeStart, fadeEnd, distanceToCamera);\n if (rangeFade <= 0.001) discard;\n\n float resolvedMajorStep = max(majorStep, gridStep);\n float coarseStep = max(resolvedMajorStep * 5.0, gridStep);\n float farStep = max(coarseStep * 5.0, gridStep);\n float minor = gridLine(worldXZ, gridStep, 1.0, 4.0);\n float major = gridLine(worldXZ, resolvedMajorStep, 1.5, 7.0);\n float coarse = gridLine(worldXZ, coarseStep, 2.0, 12.0);\n float far = gridLine(worldXZ, farStep, 3.0, 20.0);\n float axisWidth = max(gridStep * 0.035, 0.02);\n float axisX = axisLine(worldXZ.y, axisWidth);\n float axisZ = axisLine(worldXZ.x, axisWidth);\n float lineAlpha = max(max(max(minor * 0.34, major * 0.76), max(coarse * 0.62, far * 0.48)), max(axisX, axisZ));\n\n vec3 color = gridColor;\n color = mix(color, majorGridColor, major);\n color = mix(color, majorGridColor, coarse);\n color = mix(color, majorGridColor, far);\n color = mix(color, axisXColor, axisX);\n color = mix(color, axisZColor, axisZ);\n\n float alpha = clamp(lineAlpha * rangeFade * opacity, 0.0, 1.0);\n if (alpha <= 0.001) discard;\n gl_FragColor = vec4(color, alpha);\n}\n`;\n\nexport function createBabylonEditorInfiniteGridLayer(\n options: BabylonEditorInfiniteGridOptions,\n): BabylonEditorGridController {\n const MeshBuilder = options.babylon.MeshBuilder as any;\n const ShaderMaterial = options.babylon.ShaderMaterial as any;\n const Effect = options.babylon.Effect as any;\n const Color3 = options.babylon.Color3 as any;\n const Matrix = options.babylon.Matrix as any;\n const scene = options.scene;\n if (!scene || !MeshBuilder?.CreatePlane || !ShaderMaterial || !Effect?.ShadersStore || !Color3 || !Matrix?.Invert) {\n throw new Error('Babylon editor infinite grid layer requires MeshBuilder.CreatePlane, ShaderMaterial, Effect.ShadersStore, Color3 and Matrix.Invert.');\n }\n\n registerGridShader(Effect);\n\n const minStep = normalizePositive(options.step, DEFAULT_STEP);\n const adaptiveSteps = normalizeAdaptiveSteps(options.adaptiveSteps, minStep);\n const targetScreenSpacingPx = normalizePositive(options.targetScreenSpacingPx, DEFAULT_TARGET_SCREEN_SPACING_PX);\n const halfLineCount = Math.max(4, Math.floor(normalizePositive(options.halfLineCount, DEFAULT_HALF_LINE_COUNT)));\n const fadeEnd = normalizePositive(\n options.maxVisibleDistance ?? options.fadeDistance,\n Math.max(DEFAULT_MAX_VISIBLE_DISTANCE, halfLineCount * minStep * DEFAULT_MAJOR_STEP_MULTIPLIER),\n );\n const name = options.name ?? 'editor-infinite-grid';\n const defaultColors: Required<BabylonEditorGridColorOptions> = {\n gridColor: options.gridColor ?? DEFAULT_GRID_COLOR,\n majorGridColor: options.majorGridColor ?? DEFAULT_MAJOR_GRID_COLOR,\n axisXColor: options.axisXColor ?? DEFAULT_AXIS_X_COLOR,\n axisZColor: options.axisZColor ?? DEFAULT_AXIS_Z_COLOR,\n };\n let gridColor = createColor(Color3, defaultColors.gridColor);\n let majorGridColor = createColor(Color3, defaultColors.majorGridColor);\n let axisXColor = createColor(Color3, defaultColors.axisXColor);\n let axisZColor = createColor(Color3, defaultColors.axisZColor);\n let visible = true;\n let disposed = false;\n let currentStep = minStep;\n let lastFrameState: GridFrameState | null = null;\n let renderObserver: unknown = null;\n\n const mesh = MeshBuilder.CreatePlane(`${name}-screen-layer`, { size: 2 }, scene);\n mesh.isPickable = false;\n mesh.alwaysSelectAsActiveMesh = true;\n mesh.infiniteDistance = true;\n mesh.renderingGroupId = 0;\n mesh.metadata = {\n ...(mesh.metadata ?? {}),\n editorProjectionHelper: true,\n editorGrid: true,\n editorGridKind: 'screen-space-layer',\n };\n mesh.onBeforeRenderObservable?.add?.(() => {\n const camera = readGridCamera();\n if (camera) mesh.position = camera.position?.clone?.() ?? mesh.position;\n });\n\n const material = new ShaderMaterial(`${name}-material`, scene, {\n vertex: GRID_SHADER_NAME,\n fragment: GRID_SHADER_NAME,\n }, {\n attributes: ['position'],\n uniforms: [\n 'viewProjection',\n 'inverseViewProjection',\n 'gridStep',\n 'majorStep',\n 'fadeStart',\n 'fadeEnd',\n 'opacity',\n 'gridColor',\n 'majorGridColor',\n 'axisXColor',\n 'axisZColor',\n ],\n needAlphaBlending: true,\n });\n material.backFaceCulling = false;\n material.alpha = 1;\n material.disableDepthWrite = true;\n if (options.babylon.Constants?.ALPHA_COMBINE != null) {\n material.alphaMode = options.babylon.Constants.ALPHA_COMBINE;\n }\n mesh.material = material;\n\n updateGrid(true);\n renderObserver = scene.onBeforeRenderObservable?.add?.(() => updateGrid(false)) ?? null;\n\n function readGridCamera(): RuntimeCamera | null {\n return options.getCamera?.() ?? options.camera ?? scene?.activeCamera ?? null;\n }\n\n function readGridFrameState(): GridFrameState {\n const camera = readGridCamera();\n const step = resolveAdaptiveStep(scene, camera, adaptiveSteps, targetScreenSpacingPx);\n const majorStep = normalizePositive(options.majorStep, step * DEFAULT_MAJOR_STEP_MULTIPLIER);\n const viewProjection = readViewProjection(camera, Matrix);\n const inverseViewProjection = Matrix.Invert(viewProjection);\n return {\n step,\n majorStep,\n fadeStart: Math.max(step, fadeEnd * GRID_FADE_START_RATIO),\n fadeEnd,\n viewProjection,\n inverseViewProjection,\n };\n }\n\n function updateGrid(force: boolean): void {\n if (disposed) return;\n const frameState = readGridFrameState();\n if (!force && lastFrameState && isSameGridFrameState(lastFrameState, frameState)) return;\n lastFrameState = frameState;\n currentStep = frameState.step;\n mesh.setEnabled?.(visible);\n updateMaterialUniforms(frameState);\n }\n\n function updateMaterialUniforms(frameState: GridFrameState): void {\n material.setMatrix?.('viewProjection', frameState.viewProjection);\n material.setMatrix?.('inverseViewProjection', frameState.inverseViewProjection);\n material.setFloat?.('gridStep', frameState.step);\n material.setFloat?.('majorStep', frameState.majorStep);\n material.setFloat?.('fadeStart', frameState.fadeStart);\n material.setFloat?.('fadeEnd', frameState.fadeEnd);\n material.setFloat?.('opacity', visible ? normalizeOpacity(options.opacity) : 0);\n material.setColor3?.('gridColor', gridColor);\n material.setColor3?.('majorGridColor', majorGridColor);\n material.setColor3?.('axisXColor', axisXColor);\n material.setColor3?.('axisZColor', axisZColor);\n }\n\n return {\n setVisible(nextVisible) {\n visible = nextVisible;\n mesh.setEnabled?.(nextVisible);\n updateGrid(true);\n },\n setColors(colors) {\n gridColor = createColor(Color3, colors.gridColor ?? defaultColors.gridColor);\n majorGridColor = createColor(Color3, colors.majorGridColor ?? defaultColors.majorGridColor);\n axisXColor = createColor(Color3, colors.axisXColor ?? defaultColors.axisXColor);\n axisZColor = createColor(Color3, colors.axisZColor ?? defaultColors.axisZColor);\n if (lastFrameState) updateMaterialUniforms(lastFrameState);\n },\n isVisible() {\n return visible;\n },\n getStep() {\n return currentStep;\n },\n dispose() {\n if (disposed) return;\n disposed = true;\n if (renderObserver && scene.onBeforeRenderObservable?.remove) {\n scene.onBeforeRenderObservable.remove(renderObserver);\n }\n renderObserver = null;\n mesh.dispose?.();\n material.dispose?.();\n lastFrameState = null;\n },\n };\n}\n\nfunction registerGridShader(Effect: any): void {\n const shadersStore = Effect.ShadersStore;\n const vertexKey = `${GRID_SHADER_NAME}VertexShader`;\n const fragmentKey = `${GRID_SHADER_NAME}FragmentShader`;\n if (!shadersStore[vertexKey]) shadersStore[vertexKey] = GRID_VERTEX_SHADER;\n if (!shadersStore[fragmentKey]) shadersStore[fragmentKey] = GRID_FRAGMENT_SHADER;\n}\n\nfunction readViewProjection(camera: RuntimeCamera | null, Matrix: any): any {\n if (!camera?.getViewMatrix || !camera?.getProjectionMatrix) return Matrix.Identity();\n const view = camera.getViewMatrix();\n const projection = camera.getProjectionMatrix();\n return view?.multiply ? view.multiply(projection) : Matrix.Identity();\n}\n\nfunction isSameGridFrameState(left: GridFrameState, right: GridFrameState): boolean {\n return left.step === right.step\n && left.majorStep === right.majorStep\n && left.fadeStart === right.fadeStart\n && left.fadeEnd === right.fadeEnd\n && isSameMatrix(left.viewProjection, right.viewProjection)\n && isSameMatrix(left.inverseViewProjection, right.inverseViewProjection);\n}\n\nfunction isSameMatrix(left: any, right: any): boolean {\n const leftValues = left?.m;\n const rightValues = right?.m;\n if (!leftValues || !rightValues || leftValues.length !== rightValues.length) return false;\n for (let index = 0; index < leftValues.length; index += 1) {\n if (leftValues[index] !== rightValues[index]) return false;\n }\n return true;\n}\n\nfunction normalizePositive(value: number | undefined, fallback: number): number {\n return Number.isFinite(value) && Number(value) > 0 ? Number(value) : fallback;\n}\n\nfunction normalizeOpacity(value: number | undefined): number {\n const opacity = value == null ? DEFAULT_OPACITY : Number(value);\n if (!Number.isFinite(opacity)) return DEFAULT_OPACITY;\n return Math.min(1, Math.max(0, opacity));\n}\n\nfunction normalizeAdaptiveSteps(steps: number[] | undefined, minStep: number): number[] {\n const source = steps?.length ? steps : DEFAULT_ADAPTIVE_STEPS;\n const normalized = Array.from(new Set(\n source\n .map(value => normalizePositive(value, 0))\n .filter(value => value >= minStep),\n )).sort((left, right) => left - right);\n return normalized.length > 0 ? normalized : [minStep];\n}\n\nfunction resolveAdaptiveStep(\n scene: RuntimeScene,\n camera: RuntimeCamera | null,\n steps: number[],\n targetScreenSpacingPx: number,\n): number {\n const pixelsPerWorldUnit = estimatePixelsPerWorldUnit(scene, camera);\n if (!Number.isFinite(pixelsPerWorldUnit) || pixelsPerWorldUnit <= 0) return steps[0] ?? DEFAULT_STEP;\n let bestStep = steps[0] ?? DEFAULT_STEP;\n let bestScore = Number.POSITIVE_INFINITY;\n for (const step of steps) {\n const screenSpacing = step * pixelsPerWorldUnit;\n const score = Math.abs(Math.log(Math.max(screenSpacing, 0.0001) / targetScreenSpacingPx));\n if (score < bestScore) {\n bestScore = score;\n bestStep = step;\n }\n }\n return bestStep;\n}\n\nfunction estimatePixelsPerWorldUnit(\n scene: RuntimeScene,\n camera: RuntimeCamera | null,\n): number {\n const activeCamera = camera ?? scene?.activeCamera ?? null;\n const engine = scene?.getEngine?.();\n const viewportHeight = readViewportHeight(engine);\n if (!activeCamera || viewportHeight <= 0) return 1;\n\n const orthoTop = Number(activeCamera.orthoTop);\n const orthoBottom = Number(activeCamera.orthoBottom);\n if (Number.isFinite(orthoTop) && Number.isFinite(orthoBottom) && orthoTop !== orthoBottom) {\n return viewportHeight / Math.abs(orthoTop - orthoBottom);\n }\n\n const distance = estimateCameraDistanceToTarget(activeCamera);\n const fov = normalizePositive(Number(activeCamera.fov), Math.PI / 4);\n const visibleHeight = 2 * distance * Math.tan(fov / 2);\n return visibleHeight > 0 ? viewportHeight / visibleHeight : 1;\n}\n\nfunction readViewportHeight(engine: any): number {\n const renderHeight = Number(engine?.getRenderHeight?.());\n if (Number.isFinite(renderHeight) && renderHeight > 0) return renderHeight;\n const canvasHeight = Number(engine?.getRenderingCanvas?.()?.clientHeight);\n if (Number.isFinite(canvasHeight) && canvasHeight > 0) return canvasHeight;\n return 720;\n}\n\nfunction estimateCameraDistanceToTarget(camera: any): number {\n const radius = Number(camera?.radius);\n if (Number.isFinite(radius) && radius > 0) return radius;\n const position = camera?.position;\n const target = camera?.target;\n if (position && target) {\n const distance = Math.hypot(\n (Number(position.x) || 0) - (Number(target.x) || 0),\n (Number(position.y) || 0) - (Number(target.y) || 0),\n (Number(position.z) || 0) - (Number(target.z) || 0),\n );\n if (Number.isFinite(distance) && distance > 0) return distance;\n }\n const height = Math.abs(Number(position?.y) || 0);\n return height > 0 ? height : 8;\n}\n\nfunction createColor(Color3: any, color: { r: number; g: number; b: number }): any {\n return new Color3(color.r, color.g, color.b);\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"infinite-grid.js","sourceRoot":"","sources":["../src/infinite-grid.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,oCAAoC,EAAE,MAAM,uBAAuB,CAAC;AAqC7E,MAAM,UAAU,+BAA+B,CAC7C,OAAyC;IAEzC,OAAO,oCAAoC,CAAC,OAAO,CAAC,CAAC;AACvD,CAAC"}
1
+ {"version":3,"file":"infinite-grid.js","sourceRoot":"","sources":["../src/infinite-grid.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,oCAAoC,EAAE,MAAM,uBAAuB,CAAC;AAqC7E,MAAM,UAAU,+BAA+B,CAC7C,OAAyC;IAEzC,OAAO,oCAAoC,CAAC,OAAO,CAAC,CAAC;AACvD,CAAC","sourcesContent":["import type {\n BabylonRuntimeGlobal,\n RuntimeCamera,\n RuntimeScene,\n} from './types';\nimport { createBabylonEditorInfiniteGridLayer } from './infinite-grid-layer';\n\nexport interface BabylonEditorInfiniteGridOptions {\n babylon: BabylonRuntimeGlobal & Record<string, any>;\n scene: RuntimeScene;\n camera?: RuntimeCamera | null;\n getCamera?: () => RuntimeCamera | null | undefined;\n name?: string;\n step?: number;\n adaptiveSteps?: number[];\n targetScreenSpacingPx?: number;\n majorStep?: number;\n halfLineCount?: number;\n fadeDistance?: number;\n maxVisibleDistance?: number;\n opacity?: number;\n gridColor?: { r: number; g: number; b: number };\n majorGridColor?: { r: number; g: number; b: number };\n axisXColor?: { r: number; g: number; b: number };\n axisZColor?: { r: number; g: number; b: number };\n}\n\nexport interface BabylonEditorGridColorOptions {\n gridColor?: { r: number; g: number; b: number };\n majorGridColor?: { r: number; g: number; b: number };\n axisXColor?: { r: number; g: number; b: number };\n axisZColor?: { r: number; g: number; b: number };\n}\n\nexport interface BabylonEditorGridController {\n setVisible(visible: boolean): void;\n setColors(colors: BabylonEditorGridColorOptions): void;\n isVisible(): boolean;\n getStep(): number;\n dispose(): void;\n}\n\nexport function createBabylonEditorInfiniteGrid(\n options: BabylonEditorInfiniteGridOptions,\n): BabylonEditorGridController {\n return createBabylonEditorInfiniteGridLayer(options);\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"input-controller.js","sourceRoot":"","sources":["../src/input-controller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"input-controller.js","sourceRoot":"","sources":["../src/input-controller.ts"],"names":[],"mappings":"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","sourcesContent":["import { createBrowserHost } from '@fps-games/editor-browser';\nimport type { EditorTool } from '@fps-games/editor-protocol';\nimport type { EditorInputControllerApi, EditorInputOptions, ViewportNavigationButton } from './types';\n\nconst TOOL_KEYS: Record<string, EditorTool> = {\n q: 'pick',\n w: 'move',\n e: 'rotate',\n r: 'scale',\n};\n\nconst VIEWPORT_MOVE_KEYS = new Set(['w', 'a', 's', 'd', 'q', 'e']);\nconst VIEWPORT_DRAG_THRESHOLD_PX = 4;\n\nfunction isHostHTMLElement(target: EventTarget | null, win: Window): target is HTMLElement {\n const ElementCtor = (win as Window & typeof globalThis).HTMLElement ?? HTMLElement;\n return typeof ElementCtor === 'function' && target instanceof ElementCtor;\n}\n\nfunction isTextEditingTarget(target: EventTarget | null, win: Window): boolean {\n const el = isHostHTMLElement(target, win) ? target : null;\n if (!el) return false;\n const tag = el.tagName;\n return tag === 'INPUT' || tag === 'TEXTAREA' || tag === 'SELECT' || el.isContentEditable;\n}\n\nfunction navigationButtonFromPointer(button: number): ViewportNavigationButton | null {\n if (button === 0) return 'left';\n if (button === 1) return 'middle';\n if (button === 2) return 'right';\n return null;\n}\n\nexport function createEditorInputController(): EditorInputControllerApi {\n let options: EditorInputOptions | null = null;\n let initialized = false;\n let viewportNavigationActive = false;\n let viewportNavigationButton: ViewportNavigationButton | null = null;\n let viewportPointerStart: { x: number; y: number } | null = null;\n let lastViewportPointer: { x: number; y: number } | null = null;\n let viewportPointerDragActive = false;\n const viewportPointerDelta = { dx: 0, dy: 0 };\n const pressedViewportKeys = new Set<string>();\n const disposers: Array<() => void> = [];\n\n function resetViewportNavigation(): void {\n viewportNavigationActive = false;\n viewportNavigationButton = null;\n viewportPointerStart = null;\n lastViewportPointer = null;\n viewportPointerDragActive = false;\n viewportPointerDelta.dx = 0;\n viewportPointerDelta.dy = 0;\n pressedViewportKeys.clear();\n }\n\n const api: EditorInputControllerApi = {\n init(nextOptions: EditorInputOptions): void {\n api.dispose();\n options = nextOptions;\n const host = nextOptions.host ?? createBrowserHost();\n\n const onKeyDown = (event: KeyboardEvent) => {\n if (!options?.isEditActive()) return;\n if (isTextEditingTarget(event.target, host.window)) return;\n\n const key = event.key.toLowerCase();\n const primaryModifier = event.ctrlKey || event.metaKey;\n\n if (primaryModifier && !event.altKey && key === 'z') {\n event.preventDefault();\n if (event.shiftKey) options.onRedo?.();\n else options.onUndo?.();\n return;\n }\n\n if (primaryModifier && !event.altKey && !event.shiftKey && key === 'd') {\n event.preventDefault();\n void options.onDuplicateSelected?.();\n return;\n }\n\n if (!event.ctrlKey && !event.metaKey && !event.altKey && !event.shiftKey && key === 'f') {\n event.preventDefault();\n options.onFocusSelected();\n return;\n }\n\n if (viewportNavigationActive && VIEWPORT_MOVE_KEYS.has(key)) {\n pressedViewportKeys.add(key);\n event.preventDefault();\n return;\n }\n\n if (viewportNavigationActive) return;\n if (event.ctrlKey || event.metaKey || event.altKey || event.shiftKey) return;\n\n const tool = TOOL_KEYS[key];\n if (!tool) return;\n event.preventDefault();\n options.onSetTool(tool);\n };\n\n const onKeyUp = (event: KeyboardEvent) => {\n if (!options?.isEditActive()) return;\n pressedViewportKeys.delete(event.key.toLowerCase());\n };\n\n const onPointerDown = (event: PointerEvent) => {\n if (!options?.isEditActive()) return;\n const canvas = options.getCanvas();\n if (!canvas) return;\n const navButton = navigationButtonFromPointer(event.button);\n if (event.target === canvas && navButton && navButton !== 'left') {\n viewportNavigationActive = true;\n viewportNavigationButton = navButton;\n viewportPointerStart = { x: event.clientX, y: event.clientY };\n lastViewportPointer = { x: event.clientX, y: event.clientY };\n viewportPointerDragActive = false;\n }\n };\n\n const onPointerMove = (event: PointerEvent) => {\n if (!options?.isEditActive()) return;\n if (!viewportNavigationActive || !viewportNavigationButton) return;\n if (!lastViewportPointer) {\n lastViewportPointer = { x: event.clientX, y: event.clientY };\n return;\n }\n\n const dx = event.clientX - lastViewportPointer.x;\n const dy = event.clientY - lastViewportPointer.y;\n if ((viewportNavigationButton === 'left' || viewportNavigationButton === 'middle') && !viewportPointerDragActive) {\n const start = viewportPointerStart || lastViewportPointer;\n const totalDx = event.clientX - start.x;\n const totalDy = event.clientY - start.y;\n if (Math.hypot(totalDx, totalDy) < VIEWPORT_DRAG_THRESHOLD_PX) {\n lastViewportPointer = { x: event.clientX, y: event.clientY };\n return;\n }\n viewportPointerDragActive = true;\n lastViewportPointer = { x: event.clientX, y: event.clientY };\n return;\n }\n\n viewportPointerDelta.dx += dx;\n viewportPointerDelta.dy += dy;\n lastViewportPointer = { x: event.clientX, y: event.clientY };\n };\n\n const onPointerUp = (event: PointerEvent) => {\n if (!options?.isEditActive()) return;\n const navButton = navigationButtonFromPointer(event.button);\n if (!navButton || navButton !== viewportNavigationButton) return;\n resetViewportNavigation();\n };\n\n disposers.push(\n host.addWindowEvent('keydown', onKeyDown),\n host.addWindowEvent('keyup', onKeyUp),\n host.addWindowEvent('pointerdown', onPointerDown, true),\n host.addWindowEvent('pointermove', onPointerMove, true),\n host.addWindowEvent('pointerup', onPointerUp, true),\n host.addWindowEvent('blur', resetViewportNavigation),\n );\n initialized = true;\n },\n\n dispose(): void {\n if (!initialized) return;\n while (disposers.length) disposers.pop()?.();\n initialized = false;\n options = null;\n resetViewportNavigation();\n },\n\n isViewportNavigationActive(): boolean {\n return viewportNavigationActive;\n },\n\n activeViewportNavigationButton(): ViewportNavigationButton | null {\n return viewportNavigationButton;\n },\n\n consumeViewportPointerDelta(): { dx: number; dy: number } {\n const delta = { ...viewportPointerDelta };\n viewportPointerDelta.dx = 0;\n viewportPointerDelta.dy = 0;\n return delta;\n },\n\n pressedViewportMovementKeys(): Set<string> {\n return pressedViewportKeys;\n },\n\n resetViewportNavigation,\n };\n\n return api;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"inspector-adapter.js","sourceRoot":"","sources":["../src/inspector-adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"inspector-adapter.js","sourceRoot":"","sources":["../src/inspector-adapter.ts"],"names":[],"mappings":"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","sourcesContent":["import type { BrowserHost } from '@fps-games/editor-browser';\nimport type { EditorTool } from '@fps-games/editor-protocol';\n\nexport type InspectorTransformTool = Exclude<EditorTool, 'pick'>;\n\nexport interface InspectorAdapterOptions {\n host?: BrowserHost;\n}\n\nfunction getDocument(host?: BrowserHost): Document | null {\n if (host) return host.document;\n return typeof document === 'undefined' ? null : document;\n}\n\nexport function getInspectorContainer(host?: BrowserHost): HTMLElement | null {\n const doc = getDocument(host);\n if (!doc) return null;\n return doc.getElementById('babylon-inspector-container')\n || doc.querySelector('#inspector-host, #babylon-inspector-container');\n}\n\nexport function readInspectorButtonLabel(button: HTMLButtonElement, host?: BrowserHost): string {\n const doc = getDocument(host) ?? button.ownerDocument;\n const describedById = button.getAttribute('aria-describedby');\n const describedByText = describedById ? doc?.getElementById(describedById)?.textContent : null;\n const container = button.closest('[title], [aria-label], [aria-description], [description]');\n const values = [\n button.getAttribute('title'),\n button.getAttribute('aria-label'),\n button.getAttribute('aria-description'),\n button.getAttribute('description'),\n describedByText,\n button.textContent,\n button.parentElement?.getAttribute('title'),\n button.parentElement?.getAttribute('aria-label'),\n button.parentElement?.getAttribute('aria-description'),\n button.parentElement?.getAttribute('description'),\n container?.getAttribute('title'),\n container?.getAttribute('aria-label'),\n container?.getAttribute('aria-description'),\n container?.getAttribute('description'),\n ];\n return values.filter(Boolean).join(' ').toLowerCase();\n}\n\nexport function findInspectorTransformButtons(container = getInspectorContainer(), host?: BrowserHost) {\n if (!container) return null;\n const buttons = Array.from(container.querySelectorAll('button[aria-pressed], button')) as HTMLButtonElement[];\n const map = new Map<InspectorTransformTool, HTMLButtonElement>();\n for (const button of buttons) {\n const label = readInspectorButtonLabel(button, host);\n if (!label) continue;\n if (!map.has('move') && label.includes('translate')) map.set('move', button);\n else if (!map.has('rotate') && label.includes('rotate')) map.set('rotate', button);\n else if (!map.has('scale') && label.includes('scale')) map.set('scale', button);\n if (map.size === 3) break;\n }\n return map;\n}\n\nexport function setInspectorPicking(enabled: boolean, container = getInspectorContainer()): boolean {\n if (!container) return false;\n const targetLabel = (enabled ? 'enable picking' : 'disable picking').toLowerCase();\n const button = Array.from(container.querySelectorAll('button')).find((candidate) =>\n readInspectorButtonLabel(candidate as HTMLButtonElement).includes(targetLabel)\n ) as HTMLButtonElement | undefined;\n if (!button) return false;\n button.click();\n return true;\n}\n\nexport function isPickingToggleButton(button: HTMLButtonElement): 'enable' | 'disable' | null {\n const label = readInspectorButtonLabel(button);\n if (label.includes('enable picking')) return 'enable';\n if (label.includes('disable picking')) return 'disable';\n return null;\n}\n\nexport function syncInspectorToolState(tool: EditorTool, container = getInspectorContainer(), host?: BrowserHost): boolean {\n const buttons = findInspectorTransformButtons(container, host);\n if (!buttons) return false;\n\n if (tool === 'pick') {\n for (const button of buttons.values()) {\n if (button.getAttribute('aria-pressed') === 'true') {\n button.click();\n return true;\n }\n }\n return true;\n }\n\n const targetButton = buttons.get(tool as InspectorTransformTool);\n if (!targetButton) return false;\n if (targetButton.getAttribute('aria-pressed') !== 'true') targetButton.click();\n return true;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"inspector-host.js","sourceRoot":"","sources":["../src/inspector-host.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"inspector-host.js","sourceRoot":"","sources":["../src/inspector-host.ts"],"names":[],"mappings":"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","sourcesContent":["import { createBrowserHost, type BrowserHost } from '@fps-games/editor-browser';\nimport type { EditorTool, SelectionController } from '@fps-games/editor-protocol';\nimport { getBabylonRuntime } from './runtime-globals';\nimport { getInspectorContainer, setInspectorPicking, syncInspectorToolState } from './inspector-adapter';\nimport { adaptMaterialPropertyChange } from './material-property-adapter';\nimport { applyOutlinePropertyChange, isOutlinePropertyKey } from './outline-adapter';\nimport type { BabylonRuntimeGlobal, CanonicalMaterialChange, RuntimeScene } from './types';\nimport type { MaterialSlotOwnerTraversalBoundary } from './material-slot-source-resolver';\n\nconst INSPECTOR_V2_URL = 'https://preview.babylonjs.com/inspector/babylon.inspector-v2.bundle.js';\nconst INSPECTOR_HIGHLIGHT_SETTING_KEY = 'Babylon/Inspector/HighlightSelectedEntity';\n\ntype InspectorToken = { dispose(): void; isDisposed?: boolean } | null;\n\nexport type InspectorV2 = {\n ShowInspector?: (scene: RuntimeScene, options?: Record<string, unknown>) => InspectorToken;\n ConvertOptions?: (options: Record<string, unknown>) => Record<string, unknown>;\n SelectionServiceIdentity?: unknown;\n Inspector?: {\n OnPropertyChangedObservable?: { add?: (handler: (event: unknown) => void) => unknown; remove?: (observer: unknown) => void };\n };\n};\n\nexport interface EditorInspectorHostOptions {\n host?: BrowserHost;\n babylon?: BabylonRuntimeGlobal | null;\n inspectorUrl?: string;\n getScene: () => RuntimeScene | null;\n getSelectionController: () => SelectionController | null;\n getSelectedEntity: () => unknown | null;\n getCurrentTool?: () => EditorTool;\n resolveBinding?: (node: unknown) => any | null;\n isMaterialOwnerTraversalBoundary?: MaterialSlotOwnerTraversalBoundary;\n onMaterialPropertyChanged?: (change: CanonicalMaterialChange) => void;\n onContextSelection?: (payload: unknown) => void;\n loadGizmoModules?: () => Promise<unknown[]>;\n}\n\nexport interface EditorInspectorHost {\n init(nextScene: RuntimeScene | null): void;\n show(): Promise<void>;\n hide(): void;\n isVisible(): boolean;\n syncTool(tool: EditorTool): void;\n tuneOutlineLayer(): void;\n}\n\nfunction patchSelection(host: BrowserHost): void {\n const SelectionCtor = (host.window as Window & typeof globalThis).Selection;\n const RangeCtor = (host.window as Window & typeof globalThis).Range;\n const NodeCtor = (host.window as Window & typeof globalThis).Node;\n if (!SelectionCtor || !RangeCtor || !NodeCtor) return;\n const proto = SelectionCtor.prototype as Selection & { __fpsEditorPatched?: boolean };\n if (proto.__fpsEditorPatched) return;\n const original = proto.addRange;\n proto.addRange = function patchedAddRange(range: Range) {\n original.call(this, range);\n if (this.toString()) return;\n\n let node: Node = range.startContainer;\n if (node.nodeType === NodeCtor.ELEMENT_NODE && range.startOffset < node.childNodes.length) {\n node = node.childNodes[range.startOffset]!;\n }\n const element = (node.nodeType === NodeCtor.ELEMENT_NODE ? node : node.parentElement) as HTMLElement | null;\n if (!element) return;\n element.style.setProperty('user-select', 'text', 'important');\n original.call(this, range);\n };\n proto.__fpsEditorPatched = true;\n}\n\nfunction patchGizmoManagerPrototype(GizmoManager: any, marker: string): void {\n const proto = GizmoManager?.prototype;\n if (!proto || proto[marker]) return;\n\n const applyRotationOverride = (manager: any) => {\n if (manager?.gizmos?.rotationGizmo) manager.gizmos.rotationGizmo.updateGizmoRotationToMatchAttachedMesh = false;\n };\n\n const rotationDesc = Object.getOwnPropertyDescriptor(proto, 'rotationGizmoEnabled');\n if (rotationDesc?.get && rotationDesc.set) {\n const setRotationGizmoEnabled = rotationDesc.set;\n Object.defineProperty(proto, 'rotationGizmoEnabled', {\n configurable: true,\n enumerable: rotationDesc.enumerable ?? false,\n get: rotationDesc.get,\n set(this: any, value: boolean) {\n setRotationGizmoEnabled.call(this, value);\n if (value) applyRotationOverride(this);\n },\n });\n }\n\n const coordinatesDesc = Object.getOwnPropertyDescriptor(proto, 'coordinatesMode');\n if (coordinatesDesc?.get && coordinatesDesc.set) {\n const setCoordinatesMode = coordinatesDesc.set;\n Object.defineProperty(proto, 'coordinatesMode', {\n configurable: true,\n enumerable: coordinatesDesc.enumerable ?? false,\n get: coordinatesDesc.get,\n set(this: any, value: number) {\n setCoordinatesMode.call(this, value);\n applyRotationOverride(this);\n },\n });\n }\n\n Object.defineProperty(proto, marker, {\n value: true,\n configurable: false,\n enumerable: false,\n writable: false,\n });\n}\n\nfunction patchRotationGizmoPrototype(RotationGizmo: any, marker: string): void {\n const proto = RotationGizmo?.prototype;\n if (!proto || proto[marker]) return;\n\n const applyRotationOverride = (gizmo: any) => {\n if (!gizmo) return;\n if (gizmo.xGizmo) gizmo.xGizmo.updateGizmoRotationToMatchAttachedMesh = false;\n if (gizmo.yGizmo) gizmo.yGizmo.updateGizmoRotationToMatchAttachedMesh = false;\n if (gizmo.zGizmo) gizmo.zGizmo.updateGizmoRotationToMatchAttachedMesh = false;\n };\n\n const updateDesc = Object.getOwnPropertyDescriptor(proto, 'updateGizmoRotationToMatchAttachedMesh');\n if (updateDesc?.get && updateDesc.set) {\n const setUpdateGizmoRotation = updateDesc.set;\n Object.defineProperty(proto, 'updateGizmoRotationToMatchAttachedMesh', {\n configurable: true,\n enumerable: updateDesc.enumerable ?? false,\n get: updateDesc.get,\n set(this: any, _value: boolean) {\n setUpdateGizmoRotation.call(this, false);\n applyRotationOverride(this);\n },\n });\n }\n\n const coordinatesDesc = Object.getOwnPropertyDescriptor(proto, 'coordinatesMode');\n if (coordinatesDesc?.set) {\n const setCoordinatesMode = coordinatesDesc.set;\n Object.defineProperty(proto, 'coordinatesMode', {\n configurable: true,\n enumerable: coordinatesDesc.enumerable ?? false,\n get: coordinatesDesc.get,\n set(this: any, value: number) {\n setCoordinatesMode.call(this, value);\n applyRotationOverride(this);\n },\n });\n }\n\n Object.defineProperty(proto, marker, {\n value: true,\n configurable: false,\n enumerable: false,\n writable: false,\n });\n}\n\nfunction patchPlaneRotationGizmoPrototype(PlaneRotationGizmo: any, marker: string): void {\n const proto = PlaneRotationGizmo?.prototype;\n if (!proto || proto[marker]) return;\n\n const forceDisabled = function forceDisabled(this: any) {\n this._updateGizmoRotationToMatchAttachedMesh = false;\n };\n\n const baseProto = Object.getPrototypeOf(proto);\n const updateDesc = baseProto ? Object.getOwnPropertyDescriptor(baseProto, 'updateGizmoRotationToMatchAttachedMesh') : null;\n if (updateDesc?.get && updateDesc.set) {\n const getUpdateGizmoRotation = updateDesc.get;\n const setUpdateGizmoRotation = updateDesc.set;\n Object.defineProperty(proto, 'updateGizmoRotationToMatchAttachedMesh', {\n configurable: true,\n enumerable: updateDesc.enumerable ?? false,\n get(this: any) {\n return getUpdateGizmoRotation.call(this);\n },\n set(this: any, _value: boolean) {\n setUpdateGizmoRotation.call(this, false);\n forceDisabled.call(this);\n },\n });\n }\n\n const coordinatesDesc = baseProto ? Object.getOwnPropertyDescriptor(baseProto, 'coordinatesMode') : null;\n if (coordinatesDesc?.get && coordinatesDesc.set) {\n const getCoordinatesMode = coordinatesDesc.get;\n const setCoordinatesMode = coordinatesDesc.set;\n Object.defineProperty(proto, 'coordinatesMode', {\n configurable: true,\n enumerable: coordinatesDesc.enumerable ?? false,\n get(this: any) {\n return getCoordinatesMode.call(this);\n },\n set(this: any, value: number) {\n setCoordinatesMode.call(this, value);\n forceDisabled.call(this);\n },\n });\n }\n\n Object.defineProperty(proto, marker, {\n value: true,\n configurable: false,\n enumerable: false,\n writable: false,\n });\n}\n\nfunction patchBabylonGizmoClasses(source: any, markerPrefix: string): void {\n if (!source) return;\n patchGizmoManagerPrototype(source.GizmoManager, `${markerPrefix}Manager`);\n patchRotationGizmoPrototype(source.RotationGizmo, `${markerPrefix}Rotation`);\n patchPlaneRotationGizmoPrototype(source.PlaneRotationGizmo, `${markerPrefix}Plane`);\n}\n\nfunction patchInstancedMeshOutlineProperties(source: any, marker: string): void {\n const proto = source?.InstancedMesh?.prototype;\n if (!proto || proto[marker]) return;\n\n const defineForwardedProperty = (property: 'renderOutline' | 'outlineColor' | 'outlineWidth') => {\n Object.defineProperty(proto, property, {\n configurable: true,\n enumerable: true,\n get(this: any) {\n return this?.sourceMesh?.[property];\n },\n set(this: any, value: unknown) {\n if (this?.sourceMesh) {\n this.sourceMesh[property] = value;\n return;\n }\n Object.defineProperty(this, property, { value, writable: true, configurable: true, enumerable: true });\n },\n });\n };\n\n defineForwardedProperty('renderOutline');\n defineForwardedProperty('outlineColor');\n defineForwardedProperty('outlineWidth');\n Object.defineProperty(proto, marker, {\n value: true,\n configurable: false,\n enumerable: false,\n writable: false,\n });\n}\n\nfunction patchInspectorDefaults(host: BrowserHost, babylon?: BabylonRuntimeGlobal | null): void {\n try { host.window.localStorage.setItem(INSPECTOR_HIGHLIGHT_SETTING_KEY, 'false'); } catch {}\n patchInstancedMeshOutlineProperties(getBabylonRuntime(babylon), '__fpsEditorInstancedOutlinePatched');\n}\n\nasync function patchRotationGizmoDefaults(host: BrowserHost, options: EditorInspectorHostOptions): Promise<void> {\n try {\n patchInspectorDefaults(host, options.babylon);\n patchBabylonGizmoClasses(getBabylonRuntime(options.babylon), '__fpsEditorRuntime');\n const modules = await options.loadGizmoModules?.();\n if (modules?.length) {\n patchBabylonGizmoClasses(Object.assign({}, ...modules), '__fpsEditorModule');\n }\n } catch {}\n}\n\nfunction injectInspectorStyle(host: BrowserHost): void {\n if (host.document.getElementById('fps-editor-inspector-style')) return;\n const style = host.document.createElement('style');\n style.id = 'fps-editor-inspector-style';\n style.textContent = [\n '#inspector-host, #babylon-inspector-container { z-index: 99999 !important; }',\n '#inspector-host button.bridge-tool-inactive, #babylon-inspector-container button.bridge-tool-inactive {',\n ' background: transparent !important;',\n ' box-shadow: none !important;',\n '}',\n '#inspector-host button.bridge-tool-active, #babylon-inspector-container button.bridge-tool-active {',\n ' background: rgba(120, 120, 120, 0.22) !important;',\n ' box-shadow: inset 0 0 0 1px rgba(120, 120, 120, 0.55) !important;',\n '}',\n ].join('\\n');\n host.document.head.appendChild(style);\n}\n\nfunction tuneOutlineLayer(scene: RuntimeScene | null): void {\n const engine = scene?.getEngine?.() as any;\n if (!engine?._virtualScenes) return;\n for (const virtualScene of engine._virtualScenes) {\n for (const layer of virtualScene.effectLayers || []) {\n if (layer.name !== 'InspectorSelectionOutline') continue;\n layer.clearSelection?.();\n layer.outlineThickness = 0;\n layer.occlusionStrength = 0;\n layer.isEnabled = false;\n }\n }\n}\n\nfunction serializeNode(node: any | null) {\n if (!node) return null;\n const parent = node.parent ?? null;\n return {\n name: node.name ?? null,\n id: node.id ?? null,\n uniqueId: node.uniqueId ?? null,\n type: node.getClassName?.() || node.constructor?.name || 'Unknown',\n metadata: node.metadata ?? null,\n parent: parent ? {\n name: parent.name ?? null,\n id: parent.uniqueId ?? parent.id ?? null,\n type: parent.getClassName?.() || parent.constructor?.name || 'Unknown',\n } : null,\n transform: {\n position: node.position ? { x: node.position.x, y: node.position.y, z: node.position.z } : null,\n rotation: node.rotation ? { x: node.rotation.x, y: node.rotation.y, z: node.rotation.z } : null,\n scaling: node.scaling ? { x: node.scaling.x, y: node.scaling.y, z: node.scaling.z } : null,\n rotationQuaternion: node.rotationQuaternion\n ? { x: node.rotationQuaternion.x, y: node.rotationQuaternion.y, z: node.rotationQuaternion.z, w: node.rotationQuaternion.w }\n : null,\n },\n material: node.material ? {\n name: node.material.name ?? null,\n type: node.material.getClassName?.() || node.material.constructor?.name || 'Unknown',\n } : null,\n };\n}\n\nasync function ensureEditorInspector(host: BrowserHost, options: EditorInspectorHostOptions): Promise<InspectorV2 | null> {\n const ensureInspectorReady = (host.window as any).ensureInspectorReady;\n if (typeof ensureInspectorReady === 'function') {\n try {\n const localInspector = await ensureInspectorReady();\n if (localInspector?.ShowInspector) return localInspector as InspectorV2;\n } catch {}\n }\n\n const existing = (host.window as any).INSPECTOR as InspectorV2 | undefined;\n if (existing?.ShowInspector) return existing;\n\n const url = (host.window as any).BRIDGE_INSPECTOR_URL || options.inspectorUrl || INSPECTOR_V2_URL;\n try {\n await new Promise<void>((resolve, reject) => {\n const script = host.document.createElement('script');\n script.src = url;\n script.onload = () => resolve();\n script.onerror = () => reject(new Error(`Failed to load: ${url}`));\n host.document.head.appendChild(script);\n });\n const loaded = (host.window as any).INSPECTOR as InspectorV2 | undefined;\n return loaded?.ShowInspector ? loaded : null;\n } catch {\n return null;\n }\n}\n\nfunction isHostHTMLElement(target: EventTarget | null, host: BrowserHost): target is HTMLElement {\n const ElementCtor = (host.window as Window & typeof globalThis).HTMLElement ?? HTMLElement;\n return typeof ElementCtor === 'function' && target instanceof ElementCtor;\n}\n\nexport function createEditorInspectorHost(options: EditorInspectorHostOptions): EditorInspectorHost {\n const host = options.host ?? createBrowserHost();\n let scene: RuntimeScene | null = null;\n let inspectorVisible = false;\n let inspectorToken: InspectorToken = null;\n let dblclickHandler: ((event: MouseEvent) => void) | null = null;\n let propertyChangedObservable: any = null;\n let propertyChangedObserver: any = null;\n\n function emitContextSelection(node: unknown | null): void {\n options.onContextSelection?.(serializeNode(node));\n }\n\n function unbindDblclick(): void {\n if (!dblclickHandler) return;\n host.document.removeEventListener('dblclick', dblclickHandler);\n dblclickHandler = null;\n }\n\n function unbindPropertyChanged(): void {\n if (propertyChangedObservable && propertyChangedObserver) {\n try { propertyChangedObservable.remove?.(propertyChangedObserver); } catch {}\n }\n propertyChangedObservable = null;\n propertyChangedObserver = null;\n }\n\n function bindPropertyChanged(v2?: InspectorV2 | null): void {\n unbindPropertyChanged();\n const observable = v2?.Inspector?.OnPropertyChangedObservable\n ?? getBabylonRuntime(options.babylon)?.Inspector?.OnPropertyChangedObservable\n ?? scene?.debugLayer?.onPropertyChangedObservable\n ?? null;\n if (!observable?.add) return;\n\n propertyChangedObservable = observable;\n propertyChangedObserver = observable.add((event: any) => {\n const property = typeof event?.property === 'string' ? event.property : '';\n const entity = event?.object ?? null;\n if (!entity) return;\n\n if (isOutlinePropertyKey(property)) {\n applyOutlinePropertyChange({\n entity,\n property,\n value: event?.value,\n initialValue: event?.initialValue,\n });\n return;\n }\n\n const materialChange = adaptMaterialPropertyChange({\n scene,\n selectedEntity: options.getSelectedEntity() as any,\n entity,\n propertyKey: property,\n oldValue: event?.initialValue,\n newValue: event?.value,\n resolveBinding: node => options.resolveBinding?.(node) ?? null,\n isTraversalBoundary: options.isMaterialOwnerTraversalBoundary,\n });\n if (materialChange) options.onMaterialPropertyChanged?.(materialChange);\n });\n }\n\n function bindDblclick(): void {\n unbindDblclick();\n dblclickHandler = (event: MouseEvent) => {\n const selected = options.getSelectedEntity();\n if (!selected) return;\n const rawTarget = event.target as EventTarget | null;\n const target = isHostHTMLElement(rawTarget, host) ? rawTarget : null;\n if (!target) return;\n const tag = target.tagName;\n if (tag === 'INPUT' || tag === 'TEXTAREA' || tag === 'SELECT' || target.isContentEditable) return;\n\n const canvas = scene?.getEngine?.()?.getRenderingCanvas?.() ?? null;\n if (rawTarget === canvas || target.closest?.('#inspector-host, #babylon-inspector-container')) {\n emitContextSelection(selected);\n }\n };\n host.document.addEventListener('dblclick', dblclickHandler);\n }\n\n function applyCurrentSelectionAndTool(): void {\n const selectionController = options.getSelectionController();\n const selectedEntity = options.getSelectedEntity();\n if (selectedEntity) selectionController?.selectEntity?.(selectedEntity, true);\n const tool = options.getCurrentTool?.();\n if (tool) syncInspectorToolState(tool, getInspectorContainer(host), host);\n }\n\n return {\n init(nextScene: RuntimeScene | null): void {\n scene = nextScene;\n patchInspectorDefaults(host, options.babylon);\n patchSelection(host);\n void patchRotationGizmoDefaults(host, options);\n },\n\n async show(): Promise<void> {\n if (!scene) return;\n await patchRotationGizmoDefaults(host, options);\n const selectionController = options.getSelectionController();\n const v2 = await ensureEditorInspector(host, options);\n\n if (v2?.ShowInspector) {\n const selectionBridge = selectionController?.createV2SelectionBridge?.(v2);\n const serviceDefinitions = [selectionBridge].filter(Boolean);\n const inspectorOptions = {\n ...(typeof v2.ConvertOptions === 'function' ? v2.ConvertOptions({ embedMode: true }) : { layoutMode: 'overlay' }),\n serviceDefinitions: serviceDefinitions.length ? serviceDefinitions : undefined,\n };\n inspectorToken = v2.ShowInspector(scene, inspectorOptions);\n inspectorVisible = true;\n injectInspectorStyle(host);\n bindPropertyChanged(v2);\n selectionController?.bindSelectionSourceTracking?.();\n selectionController?.enablePicking?.();\n bindDblclick();\n host.setTimeout(() => tuneOutlineLayer(scene), 200);\n applyCurrentSelectionAndTool();\n return;\n }\n\n if (scene.debugLayer?.show) {\n await scene.debugLayer.show({\n embedMode: true,\n initialTab: getBabylonRuntime(options.babylon)?.DebugLayerTab?.Properties ?? 0,\n });\n inspectorVisible = true;\n injectInspectorStyle(host);\n bindPropertyChanged();\n selectionController?.bindSelectionSourceTracking?.();\n selectionController?.enablePicking?.();\n bindDblclick();\n applyCurrentSelectionAndTool();\n return;\n }\n\n const Inspector = getBabylonRuntime(options.babylon)?.Inspector;\n if (Inspector?.Show) {\n Inspector.Show(scene, {\n embedMode: true,\n initialTab: getBabylonRuntime(options.babylon)?.DebugLayerTab?.Properties ?? 0,\n });\n inspectorVisible = true;\n injectInspectorStyle(host);\n bindPropertyChanged();\n selectionController?.bindSelectionSourceTracking?.();\n selectionController?.enablePicking?.();\n bindDblclick();\n applyCurrentSelectionAndTool();\n }\n },\n\n hide(): void {\n if (!inspectorVisible) return;\n unbindDblclick();\n unbindPropertyChanged();\n options.getSelectionController()?.reset?.();\n try {\n if (inspectorToken) {\n if (!inspectorToken.isDisposed) inspectorToken.dispose();\n inspectorToken = null;\n } else if (scene?.debugLayer) {\n scene.debugLayer.hide();\n } else {\n const Inspector = getBabylonRuntime(options.babylon)?.Inspector;\n if (Inspector?.Hide) Inspector.Hide();\n }\n } catch {}\n inspectorVisible = false;\n },\n\n isVisible(): boolean {\n return inspectorVisible;\n },\n\n syncTool(tool: EditorTool): void {\n syncInspectorToolState(tool, getInspectorContainer(host), host);\n },\n\n tuneOutlineLayer(): void {\n tuneOutlineLayer(scene);\n },\n };\n}\n\nexport function setInspectorPickingState(enabled: boolean, host?: BrowserHost): boolean {\n return setInspectorPicking(enabled, getInspectorContainer(host));\n}\n"]}