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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (652) hide show
  1. package/dist/agent-bridge/capabilities/assets.js.map +1 -1
  2. package/dist/agent-bridge/capabilities/editor-state.d.ts.map +1 -1
  3. package/dist/agent-bridge/capabilities/editor-state.js +26 -17
  4. package/dist/agent-bridge/capabilities/editor-state.js.map +1 -1
  5. package/dist/agent-bridge/capabilities/host-lifecycle.js.map +1 -1
  6. package/dist/agent-bridge/capabilities/prefabs.d.ts.map +1 -1
  7. package/dist/agent-bridge/capabilities/prefabs.js +61 -13
  8. package/dist/agent-bridge/capabilities/prefabs.js.map +1 -1
  9. package/dist/agent-bridge/capabilities/scene-objects.d.ts +1 -1
  10. package/dist/agent-bridge/capabilities/scene-objects.d.ts.map +1 -1
  11. package/dist/agent-bridge/capabilities/scene-objects.js +110 -25
  12. package/dist/agent-bridge/capabilities/scene-objects.js.map +1 -1
  13. package/dist/agent-bridge/capabilities/selection.d.ts.map +1 -1
  14. package/dist/agent-bridge/capabilities/selection.js +8 -5
  15. package/dist/agent-bridge/capabilities/selection.js.map +1 -1
  16. package/dist/agent-bridge/capabilities/shadows.d.ts.map +1 -1
  17. package/dist/agent-bridge/capabilities/shadows.js +11 -2
  18. package/dist/agent-bridge/capabilities/shadows.js.map +1 -1
  19. package/dist/agent-bridge/capabilities/transform.d.ts.map +1 -1
  20. package/dist/agent-bridge/capabilities/transform.js +6 -4
  21. package/dist/agent-bridge/capabilities/transform.js.map +1 -1
  22. package/dist/agent-bridge/capabilities/ui-regions.js.map +1 -1
  23. package/dist/agent-bridge/capabilities/viewport.d.ts.map +1 -1
  24. package/dist/agent-bridge/capabilities/viewport.js +79 -47
  25. package/dist/agent-bridge/capabilities/viewport.js.map +1 -1
  26. package/dist/agent-bridge/capability-sources.js.map +1 -1
  27. package/dist/agent-bridge/diagnostics.js.map +1 -1
  28. package/dist/agent-bridge/index.js.map +1 -1
  29. package/dist/agent-bridge/register.js.map +1 -1
  30. package/dist/agent-bridge/shared.d.ts +8 -3
  31. package/dist/agent-bridge/shared.d.ts.map +1 -1
  32. package/dist/agent-bridge/shared.js +32 -0
  33. package/dist/agent-bridge/shared.js.map +1 -1
  34. package/dist/agent-bridge/source-types.js.map +1 -1
  35. package/dist/authoring-apply.js.map +1 -1
  36. package/dist/build-info.json +48 -48
  37. package/dist/editor-plugin-agent-capabilities.js.map +1 -1
  38. package/dist/editor-plugin-hierarchy-command.js.map +1 -1
  39. package/dist/index.js.map +1 -1
  40. package/dist/internal/local-editor-lifecycle-operations.js.map +1 -1
  41. package/dist/local-editor-agent-actions.d.ts.map +1 -1
  42. package/dist/local-editor-agent-actions.js +9 -5
  43. package/dist/local-editor-agent-actions.js.map +1 -1
  44. package/dist/local-editor-agent-bridge-transport.js.map +1 -1
  45. package/dist/local-editor-agent-bridge.js.map +1 -1
  46. package/dist/local-editor-agent-context.js.map +1 -1
  47. package/dist/local-editor-harness.d.ts +57 -1
  48. package/dist/local-editor-harness.d.ts.map +1 -1
  49. package/dist/local-editor-harness.js +393 -41
  50. package/dist/local-editor-harness.js.map +1 -1
  51. package/dist/local-editor-marker-graph.js.map +1 -1
  52. package/dist/local-editor-performance-stats.js.map +1 -1
  53. package/dist/local-editor-plugin-inspector.js.map +1 -1
  54. package/dist/local-editor-plugin-panel.js.map +1 -1
  55. package/dist/local-editor-scene-render-scheduler.js.map +1 -1
  56. package/dist/local-editor-scene-view-interaction-runtime.js.map +1 -1
  57. package/dist/local-editor-viewport-render-coordinator.js.map +1 -1
  58. package/dist/playable-babylon-facade.js.map +1 -1
  59. package/dist/playable-babylon-outline-inspector.js.map +1 -1
  60. package/dist/playable-babylon-outline-runtime.js.map +1 -1
  61. package/dist/playable-babylon-rendering.js.map +1 -1
  62. package/dist/playable-local-editor-host.d.ts +36 -0
  63. package/dist/playable-local-editor-host.d.ts.map +1 -1
  64. package/dist/playable-local-editor-host.js.map +1 -1
  65. package/dist/playable-product-local-editor.js.map +1 -1
  66. package/dist/playable-product-projection-preview.js.map +1 -1
  67. package/dist/playable-product-rendering.js.map +1 -1
  68. package/dist/playable-product-scene-capabilities.d.ts.map +1 -1
  69. package/dist/playable-product-scene-capabilities.js +49 -2
  70. package/dist/playable-product-scene-capabilities.js.map +1 -1
  71. package/dist/playable-runtime-babylon.js.map +1 -1
  72. package/dist/playable-runtime.js.map +1 -1
  73. package/dist/playable-sdk-upgrade-doctor.js.map +1 -1
  74. package/dist/playable-sdk-vite.js.map +1 -1
  75. package/dist/playable-sdk.js.map +1 -1
  76. package/dist/playable-standard-project.js.map +1 -1
  77. package/dist/static-shadow-cpu-worker.js.map +1 -1
  78. package/dist/vite.js.map +1 -1
  79. package/node_modules/@fps-games/babylon-renderer/dist/environment/environment-texture-controller.js.map +1 -1
  80. package/node_modules/@fps-games/babylon-renderer/dist/environment/index.js.map +1 -1
  81. package/node_modules/@fps-games/babylon-renderer/dist/environment/profile.js.map +1 -1
  82. package/node_modules/@fps-games/babylon-renderer/dist/environment/types.js.map +1 -1
  83. package/node_modules/@fps-games/babylon-renderer/dist/index.js.map +1 -1
  84. package/node_modules/@fps-games/babylon-renderer/dist/lighting/directional-light-angles.js.map +1 -1
  85. package/node_modules/@fps-games/babylon-renderer/dist/outlines/babylon-default/apply.js.map +1 -1
  86. package/node_modules/@fps-games/babylon-renderer/dist/outlines/babylon-default/index.js.map +1 -1
  87. package/node_modules/@fps-games/babylon-renderer/dist/outlines/babylon-default/types.js.map +1 -1
  88. package/node_modules/@fps-games/babylon-renderer/dist/outlines/index.js.map +1 -1
  89. package/node_modules/@fps-games/babylon-renderer/dist/outlines/types.js.map +1 -1
  90. package/node_modules/@fps-games/babylon-renderer/dist/placement/index.js.map +1 -1
  91. package/node_modules/@fps-games/babylon-renderer/dist/placement/runtime-drop-position.js.map +1 -1
  92. package/node_modules/@fps-games/babylon-renderer/dist/plugin.js.map +1 -1
  93. package/node_modules/@fps-games/babylon-renderer/dist/post-process/babylon-default-pipeline.js.map +1 -1
  94. package/node_modules/@fps-games/babylon-renderer/dist/post-process/index.js.map +1 -1
  95. package/node_modules/@fps-games/babylon-renderer/dist/post-process/profile.js.map +1 -1
  96. package/node_modules/@fps-games/babylon-renderer/dist/post-process/types.js.map +1 -1
  97. package/node_modules/@fps-games/babylon-renderer/dist/post-process/volume-stack.js.map +1 -1
  98. package/node_modules/@fps-games/babylon-renderer/dist/reference.js.map +1 -1
  99. package/node_modules/@fps-games/babylon-renderer/dist/rendering/index.js.map +1 -1
  100. package/node_modules/@fps-games/babylon-renderer/dist/rendering/node-rendering.js.map +1 -1
  101. package/node_modules/@fps-games/babylon-renderer/dist/shadows/blob-shadow-shaders.js.map +1 -1
  102. package/node_modules/@fps-games/babylon-renderer/dist/shadows/blob-shadow-system.js.map +1 -1
  103. package/node_modules/@fps-games/babylon-renderer/dist/shadows/dynamic-shadow-system.js.map +1 -1
  104. package/node_modules/@fps-games/babylon-renderer/dist/shadows/planar-shadow-shaders.js.map +1 -1
  105. package/node_modules/@fps-games/babylon-renderer/dist/shadows/planar-shadow-system.js.map +1 -1
  106. package/node_modules/@fps-games/babylon-renderer/dist/shadows/static-projected-shadow-artifact-system.js.map +1 -1
  107. package/node_modules/@fps-games/babylon-renderer/dist/shadows/static-projected-shadow-atlas.js.map +1 -1
  108. package/node_modules/@fps-games/babylon-renderer/dist/shadows/static-projected-shadow-bake.js.map +1 -1
  109. package/node_modules/@fps-games/babylon-renderer/dist/shadows/static-projected-shadow-baker.js.map +1 -1
  110. package/node_modules/@fps-games/babylon-renderer/dist/shadows/static-projected-shadow-options.js.map +1 -1
  111. package/node_modules/@fps-games/babylon-renderer/dist/shadows/static-projected-shadow-rendering.js.map +1 -1
  112. package/node_modules/@fps-games/babylon-renderer/dist/shadows/types.js.map +1 -1
  113. package/node_modules/@fps-games/babylon-renderer/package.json +7 -7
  114. package/node_modules/@fps-games/editor-babylon/dist/camera-controller.js.map +1 -1
  115. package/node_modules/@fps-games/editor-babylon/dist/edit-session.js.map +1 -1
  116. package/node_modules/@fps-games/editor-babylon/dist/editor-sky.js.map +1 -1
  117. package/node_modules/@fps-games/editor-babylon/dist/editor-world.js.map +1 -1
  118. package/node_modules/@fps-games/editor-babylon/dist/event-guard.js.map +1 -1
  119. package/node_modules/@fps-games/editor-babylon/dist/index.js.map +1 -1
  120. package/node_modules/@fps-games/editor-babylon/dist/infinite-grid-layer.js.map +1 -1
  121. package/node_modules/@fps-games/editor-babylon/dist/infinite-grid.js.map +1 -1
  122. package/node_modules/@fps-games/editor-babylon/dist/input-controller.js.map +1 -1
  123. package/node_modules/@fps-games/editor-babylon/dist/inspector-adapter.js.map +1 -1
  124. package/node_modules/@fps-games/editor-babylon/dist/inspector-host.js.map +1 -1
  125. package/node_modules/@fps-games/editor-babylon/dist/main-camera-preview.js.map +1 -1
  126. package/node_modules/@fps-games/editor-babylon/dist/marker-overlay.js.map +1 -1
  127. package/node_modules/@fps-games/editor-babylon/dist/material-property-adapter.js.map +1 -1
  128. package/node_modules/@fps-games/editor-babylon/dist/material-slot-source-resolver.js.map +1 -1
  129. package/node_modules/@fps-games/editor-babylon/dist/monitor.js.map +1 -1
  130. package/node_modules/@fps-games/editor-babylon/dist/outline-adapter.js.map +1 -1
  131. package/node_modules/@fps-games/editor-babylon/dist/performance-monitor.js.map +1 -1
  132. package/node_modules/@fps-games/editor-babylon/dist/prefab-comparison-preview-controller.js.map +1 -1
  133. package/node_modules/@fps-games/editor-babylon/dist/primitive-projection-instancing.js.map +1 -1
  134. package/node_modules/@fps-games/editor-babylon/dist/projection-asset-container-importer.js.map +1 -1
  135. package/node_modules/@fps-games/editor-babylon/dist/projection-pick-resolver.js.map +1 -1
  136. package/node_modules/@fps-games/editor-babylon/dist/projection-selection-controller.js.map +1 -1
  137. package/node_modules/@fps-games/editor-babylon/dist/projection-source-owner-path.js.map +1 -1
  138. package/node_modules/@fps-games/editor-babylon/dist/projection.js.map +1 -1
  139. package/node_modules/@fps-games/editor-babylon/dist/runtime-globals.js.map +1 -1
  140. package/node_modules/@fps-games/editor-babylon/dist/scene-camera-preview.js.map +1 -1
  141. package/node_modules/@fps-games/editor-babylon/dist/scene-view-camera-controller.js.map +1 -1
  142. package/node_modules/@fps-games/editor-babylon/dist/scene-view-input-controller.js.map +1 -1
  143. package/node_modules/@fps-games/editor-babylon/dist/scene-view-measurement-controller.js.map +1 -1
  144. package/node_modules/@fps-games/editor-babylon/dist/scene-view-spatial-overlay-controller.js.map +1 -1
  145. package/node_modules/@fps-games/editor-babylon/dist/selection-controller.js.map +1 -1
  146. package/node_modules/@fps-games/editor-babylon/dist/shadow-preview-controller.js.map +1 -1
  147. package/node_modules/@fps-games/editor-babylon/dist/tool-controller.js.map +1 -1
  148. package/node_modules/@fps-games/editor-babylon/dist/transform-gizmo-controller.js.map +1 -1
  149. package/node_modules/@fps-games/editor-babylon/dist/transform-solver.js.map +1 -1
  150. package/node_modules/@fps-games/editor-babylon/dist/types.js.map +1 -1
  151. package/node_modules/@fps-games/editor-babylon/package.json +5 -5
  152. package/node_modules/@fps-games/editor-browser/dist/index.d.ts +3 -1
  153. package/node_modules/@fps-games/editor-browser/dist/index.d.ts.map +1 -1
  154. package/node_modules/@fps-games/editor-browser/dist/index.js +2 -0
  155. package/node_modules/@fps-games/editor-browser/dist/index.js.map +1 -1
  156. package/node_modules/@fps-games/editor-browser/dist/local-editor-inspector-clipboard.js.map +1 -1
  157. package/node_modules/@fps-games/editor-browser/dist/local-editor-inspector-groups.js.map +1 -1
  158. package/node_modules/@fps-games/editor-browser/dist/local-editor-rendering-actions.js.map +1 -1
  159. package/node_modules/@fps-games/editor-browser/dist/local-editor-root-ownership.js.map +1 -1
  160. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-asset-kind.js.map +1 -1
  161. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-context-menu.js.map +1 -1
  162. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-dock-panel.js.map +1 -1
  163. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-actions.js.map +1 -1
  164. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-attach-dialog.js.map +1 -1
  165. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-auto-scroll.js.map +1 -1
  166. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-command-adapter.js.map +1 -1
  167. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-controller.d.ts +2 -1
  168. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-controller.d.ts.map +1 -1
  169. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-controller.js +260 -94
  170. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-controller.js.map +1 -1
  171. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-drag-policy.js.map +1 -1
  172. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-projection.d.ts +7 -0
  173. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-projection.d.ts.map +1 -0
  174. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-projection.js +186 -0
  175. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-projection.js.map +1 -0
  176. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-scope.d.ts +2 -2
  177. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-scope.d.ts.map +1 -1
  178. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-scope.js +14 -8
  179. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-scope.js.map +1 -1
  180. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-tree.d.ts.map +1 -1
  181. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-tree.js +23 -7
  182. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-tree.js.map +1 -1
  183. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-view.js.map +1 -1
  184. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-icons.d.ts +1 -1
  185. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-icons.d.ts.map +1 -1
  186. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-icons.js +6 -0
  187. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-icons.js.map +1 -1
  188. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-input-router.d.ts +3 -0
  189. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-input-router.d.ts.map +1 -1
  190. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-input-router.js +60 -13
  191. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-input-router.js.map +1 -1
  192. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-modal-dialog.js.map +1 -1
  193. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-panel-registry.js.map +1 -1
  194. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-panels.js.map +1 -1
  195. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-plugin-panel.js.map +1 -1
  196. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-prefab-stage.js.map +1 -1
  197. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-primitives.js.map +1 -1
  198. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-shared.js.map +1 -1
  199. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-shortcuts.js.map +1 -1
  200. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-status-diagnostics.d.ts +24 -0
  201. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-status-diagnostics.d.ts.map +1 -0
  202. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-status-diagnostics.js +69 -0
  203. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-status-diagnostics.js.map +1 -0
  204. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-structured-drag-auto-scroll.js.map +1 -1
  205. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-structured-drag-policy.js.map +1 -1
  206. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-structured-drag-preview.js.map +1 -1
  207. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-structured-drag-session.js.map +1 -1
  208. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-theme.js.map +1 -1
  209. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-tooltip.js.map +1 -1
  210. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-types.d.ts +58 -14
  211. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-types.d.ts.map +1 -1
  212. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-types.js.map +1 -1
  213. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-workbench.js.map +1 -1
  214. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui.d.ts +1 -1
  215. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui.d.ts.map +1 -1
  216. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui.js +196 -11
  217. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui.js.map +1 -1
  218. package/node_modules/@fps-games/editor-browser/dist/plugin-contributions.js.map +1 -1
  219. package/node_modules/@fps-games/editor-browser/dist/runtime-camera-debug-panel.js.map +1 -1
  220. package/node_modules/@fps-games/editor-browser/dist/runtime-debug-panel-shell.js.map +1 -1
  221. package/node_modules/@fps-games/editor-browser/dist/runtime-lighting-debug-panel.js.map +1 -1
  222. package/node_modules/@fps-games/editor-browser/package.json +4 -4
  223. package/node_modules/@fps-games/editor-core/dist/agent-bridge.js.map +1 -1
  224. package/node_modules/@fps-games/editor-core/dist/agent-interaction.js.map +1 -1
  225. package/node_modules/@fps-games/editor-core/dist/authoring-source.js.map +1 -1
  226. package/node_modules/@fps-games/editor-core/dist/document-adapter.js.map +1 -1
  227. package/node_modules/@fps-games/editor-core/dist/editor-plugin-host.js.map +1 -1
  228. package/node_modules/@fps-games/editor-core/dist/editor-session.d.ts +9 -1
  229. package/node_modules/@fps-games/editor-core/dist/editor-session.d.ts.map +1 -1
  230. package/node_modules/@fps-games/editor-core/dist/editor-session.js +18 -0
  231. package/node_modules/@fps-games/editor-core/dist/editor-session.js.map +1 -1
  232. package/node_modules/@fps-games/editor-core/dist/events.d.ts +1 -1
  233. package/node_modules/@fps-games/editor-core/dist/events.d.ts.map +1 -1
  234. package/node_modules/@fps-games/editor-core/dist/events.js.map +1 -1
  235. package/node_modules/@fps-games/editor-core/dist/field-schema/index.js.map +1 -1
  236. package/node_modules/@fps-games/editor-core/dist/field-schema/resolver.js.map +1 -1
  237. package/node_modules/@fps-games/editor-core/dist/field-schema/schema.js.map +1 -1
  238. package/node_modules/@fps-games/editor-core/dist/field-schema/types.js.map +1 -1
  239. package/node_modules/@fps-games/editor-core/dist/field-schema/validators.js.map +1 -1
  240. package/node_modules/@fps-games/editor-core/dist/host-services.js.map +1 -1
  241. package/node_modules/@fps-games/editor-core/dist/index.js.map +1 -1
  242. package/node_modules/@fps-games/editor-core/dist/inspector.js.map +1 -1
  243. package/node_modules/@fps-games/editor-core/dist/lifecycle.js.map +1 -1
  244. package/node_modules/@fps-games/editor-core/dist/marker-graph.js.map +1 -1
  245. package/node_modules/@fps-games/editor-core/dist/scene-graph.js.map +1 -1
  246. package/node_modules/@fps-games/editor-core/dist/scene-view-input.js.map +1 -1
  247. package/node_modules/@fps-games/editor-core/dist/selection-strategy.js.map +1 -1
  248. package/node_modules/@fps-games/editor-core/dist/serialized-object.js.map +1 -1
  249. package/node_modules/@fps-games/editor-core/dist/transform-command.js.map +1 -1
  250. package/node_modules/@fps-games/editor-core/dist/transform-gizmo.js.map +1 -1
  251. package/node_modules/@fps-games/editor-core/dist/transform-operation-policy.js.map +1 -1
  252. package/node_modules/@fps-games/editor-core/dist/transform-operations.js.map +1 -1
  253. package/node_modules/@fps-games/editor-core/dist/viewport-tools.js.map +1 -1
  254. package/node_modules/@fps-games/editor-core/package.json +6 -6
  255. package/node_modules/@fps-games/editor-forge-play/dist/agent-transport.js.map +1 -1
  256. package/node_modules/@fps-games/editor-forge-play/dist/index.js.map +1 -1
  257. package/node_modules/@fps-games/editor-forge-play/package.json +2 -2
  258. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-bridge/drop-cache.js.map +1 -1
  259. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-bridge/index.js.map +1 -1
  260. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-bridge/payload.d.ts.map +1 -1
  261. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-bridge/payload.js +28 -5
  262. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-bridge/payload.js.map +1 -1
  263. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-bridge/types.d.ts +1 -0
  264. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-bridge/types.d.ts.map +1 -1
  265. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-bridge/types.js.map +1 -1
  266. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/config.js.map +1 -1
  267. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/generated-module.js.map +1 -1
  268. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/index.js.map +1 -1
  269. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/managed-facade.js.map +1 -1
  270. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/manager-core.d.ts.map +1 -1
  271. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/manager-core.js +13 -1
  272. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/manager-core.js.map +1 -1
  273. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/metadata.js.map +1 -1
  274. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/node.js.map +1 -1
  275. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/registry.d.ts +1 -0
  276. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/registry.d.ts.map +1 -1
  277. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/registry.js +58 -23
  278. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/registry.js.map +1 -1
  279. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/types.js.map +1 -1
  280. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/catalog.js.map +1 -1
  281. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/document.js.map +1 -1
  282. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/index.js.map +1 -1
  283. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/types.js.map +1 -1
  284. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-placement/document.js.map +1 -1
  285. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-placement/identity.js.map +1 -1
  286. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-placement/index.js.map +1 -1
  287. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-placement/managed-runtime-instance.js.map +1 -1
  288. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-placement/placement.js.map +1 -1
  289. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-placement/runtime-scene.js.map +1 -1
  290. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-placement/types.js.map +1 -1
  291. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/index.js.map +1 -1
  292. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/result.d.ts.map +1 -1
  293. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/result.js +3 -0
  294. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/result.js.map +1 -1
  295. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/transport.js.map +1 -1
  296. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/types.d.ts +1 -0
  297. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/types.d.ts.map +1 -1
  298. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/types.js.map +1 -1
  299. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/workflow.d.ts +1 -0
  300. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/workflow.d.ts.map +1 -1
  301. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/workflow.js +7 -1
  302. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-registration/workflow.js.map +1 -1
  303. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring/constants.js.map +1 -1
  304. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring/drift.js.map +1 -1
  305. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring/index.js.map +1 -1
  306. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring/runtime-transform-patch.js.map +1 -1
  307. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring/source.js.map +1 -1
  308. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-client/client.js.map +1 -1
  309. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-client/index.js.map +1 -1
  310. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-client/types.js.map +1 -1
  311. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-server/handler.js.map +1 -1
  312. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-server/index.js.map +1 -1
  313. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-server/payload.js.map +1 -1
  314. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-server/response.js.map +1 -1
  315. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-server/routes.js.map +1 -1
  316. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-server/types.js.map +1 -1
  317. package/node_modules/@fps-games/editor-playable-sdk/dist/bridge-command/adapter-dispatcher.js.map +1 -1
  318. package/node_modules/@fps-games/editor-playable-sdk/dist/bridge-command/index.js.map +1 -1
  319. package/node_modules/@fps-games/editor-playable-sdk/dist/bridge-command/payload.js.map +1 -1
  320. package/node_modules/@fps-games/editor-playable-sdk/dist/bridge-command/project-asset-adapter.js.map +1 -1
  321. package/node_modules/@fps-games/editor-playable-sdk/dist/bridge-command/protocol.js.map +1 -1
  322. package/node_modules/@fps-games/editor-playable-sdk/dist/bridge-command/readers.js.map +1 -1
  323. package/node_modules/@fps-games/editor-playable-sdk/dist/bridge-command/types.js.map +1 -1
  324. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/binding.js.map +1 -1
  325. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/fields.js.map +1 -1
  326. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/index.js.map +1 -1
  327. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/math.js.map +1 -1
  328. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/pan.js.map +1 -1
  329. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/panel-format.js.map +1 -1
  330. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/panel-state.js.map +1 -1
  331. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/panel-storage.js.map +1 -1
  332. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/panel-text.js.map +1 -1
  333. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/rig.js.map +1 -1
  334. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/save-patch.js.map +1 -1
  335. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/snapshot.js.map +1 -1
  336. package/node_modules/@fps-games/editor-playable-sdk/dist/camera-debug/types.js.map +1 -1
  337. package/node_modules/@fps-games/editor-playable-sdk/dist/commands/index.js.map +1 -1
  338. package/node_modules/@fps-games/editor-playable-sdk/dist/commands/transform.js.map +1 -1
  339. package/node_modules/@fps-games/editor-playable-sdk/dist/commands/types.js.map +1 -1
  340. package/node_modules/@fps-games/editor-playable-sdk/dist/core-contracts/index.js.map +1 -1
  341. package/node_modules/@fps-games/editor-playable-sdk/dist/document/helpers.js.map +1 -1
  342. package/node_modules/@fps-games/editor-playable-sdk/dist/document/index.js.map +1 -1
  343. package/node_modules/@fps-games/editor-playable-sdk/dist/document/types.js.map +1 -1
  344. package/node_modules/@fps-games/editor-playable-sdk/dist/field-schema/index.js.map +1 -1
  345. package/node_modules/@fps-games/editor-playable-sdk/dist/field-schema/resolver.js.map +1 -1
  346. package/node_modules/@fps-games/editor-playable-sdk/dist/field-schema/schema.js.map +1 -1
  347. package/node_modules/@fps-games/editor-playable-sdk/dist/field-schema/types.js.map +1 -1
  348. package/node_modules/@fps-games/editor-playable-sdk/dist/field-schema/validators.js.map +1 -1
  349. package/node_modules/@fps-games/editor-playable-sdk/dist/index.js.map +1 -1
  350. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/camera-section.js.map +1 -1
  351. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/document-property.js.map +1 -1
  352. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/document-sections.js.map +1 -1
  353. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/format.js.map +1 -1
  354. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/index.js.map +1 -1
  355. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/light-fields.js.map +1 -1
  356. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/light-sections.js.map +1 -1
  357. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/marker-section.js.map +1 -1
  358. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/object-assembly.js.map +1 -1
  359. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/readonly.js.map +1 -1
  360. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/runtime-sections.js.map +1 -1
  361. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/runtime-summary.js.map +1 -1
  362. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/runtime.js.map +1 -1
  363. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/safe-value.js.map +1 -1
  364. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/types.js.map +1 -1
  365. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/validation.js.map +1 -1
  366. package/node_modules/@fps-games/editor-playable-sdk/dist/internal/local-harness.js.map +1 -1
  367. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-debug/binding.js.map +1 -1
  368. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-debug/fields.js.map +1 -1
  369. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-debug/index.js.map +1 -1
  370. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-debug/math.js.map +1 -1
  371. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-debug/save-patch.js.map +1 -1
  372. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-debug/snapshot.js.map +1 -1
  373. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-debug/storage.js.map +1 -1
  374. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-debug/text.js.map +1 -1
  375. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-debug/types.js.map +1 -1
  376. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-preview/index.js.map +1 -1
  377. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-preview/math.js.map +1 -1
  378. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-preview/profile.js.map +1 -1
  379. package/node_modules/@fps-games/editor-playable-sdk/dist/lighting-preview/types.js.map +1 -1
  380. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/agent-descriptions.js.map +1 -1
  381. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/forge-play-types.js.map +1 -1
  382. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/forge-play.d.ts +2 -0
  383. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/forge-play.d.ts.map +1 -1
  384. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/forge-play.js +5 -0
  385. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/forge-play.js.map +1 -1
  386. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/host-controller.js.map +1 -1
  387. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/index.d.ts +1 -1
  388. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/index.d.ts.map +1 -1
  389. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/index.js.map +1 -1
  390. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/lifecycle.js.map +1 -1
  391. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/loading-overlay.js.map +1 -1
  392. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/project-asset-commands.d.ts +18 -0
  393. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/project-asset-commands.d.ts.map +1 -1
  394. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/project-asset-commands.js +60 -1
  395. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/project-asset-commands.js.map +1 -1
  396. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/timing.js.map +1 -1
  397. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/types.js.map +1 -1
  398. package/node_modules/@fps-games/editor-playable-sdk/dist/marker-scene/facade.js.map +1 -1
  399. package/node_modules/@fps-games/editor-playable-sdk/dist/marker-scene/game-objects.js.map +1 -1
  400. package/node_modules/@fps-games/editor-playable-sdk/dist/marker-scene/geometry.js.map +1 -1
  401. package/node_modules/@fps-games/editor-playable-sdk/dist/marker-scene/index.js.map +1 -1
  402. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/asset-fields.js.map +1 -1
  403. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/binding.js.map +1 -1
  404. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/default-assets.js.map +1 -1
  405. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/document-assets.d.ts.map +1 -1
  406. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/document-assets.js +28 -2
  407. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/document-assets.js.map +1 -1
  408. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/duplicate.js.map +1 -1
  409. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/index.js.map +1 -1
  410. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/inspector.js.map +1 -1
  411. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/paths.js.map +1 -1
  412. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/preview.js.map +1 -1
  413. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/profile.js.map +1 -1
  414. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/reimport.d.ts.map +1 -1
  415. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/reimport.js +26 -9
  416. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/reimport.js.map +1 -1
  417. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/resolver.js.map +1 -1
  418. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/scene-inspector.js.map +1 -1
  419. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/slot-inspector.d.ts.map +1 -1
  420. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/slot-inspector.js +0 -3
  421. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/slot-inspector.js.map +1 -1
  422. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/text.js.map +1 -1
  423. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/types.d.ts +8 -1
  424. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/types.d.ts.map +1 -1
  425. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/types.js.map +1 -1
  426. package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/field-patch.js.map +1 -1
  427. package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/index.js.map +1 -1
  428. package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/json-field.js.map +1 -1
  429. package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/reducer.js.map +1 -1
  430. package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/rendering-alpha-index.js.map +1 -1
  431. package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/transform.js.map +1 -1
  432. package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/types.js.map +1 -1
  433. package/node_modules/@fps-games/editor-playable-sdk/dist/package-resolution/aliases.d.ts +1 -1
  434. package/node_modules/@fps-games/editor-playable-sdk/dist/package-resolution/aliases.d.ts.map +1 -1
  435. package/node_modules/@fps-games/editor-playable-sdk/dist/package-resolution/aliases.js +18 -1
  436. package/node_modules/@fps-games/editor-playable-sdk/dist/package-resolution/aliases.js.map +1 -1
  437. package/node_modules/@fps-games/editor-playable-sdk/dist/package-resolution/index.js.map +1 -1
  438. package/node_modules/@fps-games/editor-playable-sdk/dist/package-resolution/types.d.ts +2 -0
  439. package/node_modules/@fps-games/editor-playable-sdk/dist/package-resolution/types.d.ts.map +1 -1
  440. package/node_modules/@fps-games/editor-playable-sdk/dist/package-resolution/types.js.map +1 -1
  441. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/action-patches.js.map +1 -1
  442. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/assets.js.map +1 -1
  443. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/index.js.map +1 -1
  444. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/material-override-inspector.js.map +1 -1
  445. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/projection.js.map +1 -1
  446. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/shadow-inspector.js.map +1 -1
  447. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/source-structure-inspector.js.map +1 -1
  448. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/stage-inspector.js.map +1 -1
  449. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/structure.js.map +1 -1
  450. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/types.js.map +1 -1
  451. package/node_modules/@fps-games/editor-playable-sdk/dist/product/asset-manager.js.map +1 -1
  452. package/node_modules/@fps-games/editor-playable-sdk/dist/product/ground-decal-scene-feature.js.map +1 -1
  453. package/node_modules/@fps-games/editor-playable-sdk/dist/product/ground-decal.js.map +1 -1
  454. package/node_modules/@fps-games/editor-playable-sdk/dist/product/index.js.map +1 -1
  455. package/node_modules/@fps-games/editor-playable-sdk/dist/product/project-host-services.d.ts +1 -0
  456. package/node_modules/@fps-games/editor-playable-sdk/dist/product/project-host-services.d.ts.map +1 -1
  457. package/node_modules/@fps-games/editor-playable-sdk/dist/product/project-host-services.js +3 -1
  458. package/node_modules/@fps-games/editor-playable-sdk/dist/product/project-host-services.js.map +1 -1
  459. package/node_modules/@fps-games/editor-playable-sdk/dist/product/scene-session.js.map +1 -1
  460. package/node_modules/@fps-games/editor-playable-sdk/dist/product/scene-source.js.map +1 -1
  461. package/node_modules/@fps-games/editor-playable-sdk/dist/product/standard-asset-actions.js.map +1 -1
  462. package/node_modules/@fps-games/editor-playable-sdk/dist/product/standard-scene-assembly.js.map +1 -1
  463. package/node_modules/@fps-games/editor-playable-sdk/dist/rendering-profile/draft.js.map +1 -1
  464. package/node_modules/@fps-games/editor-playable-sdk/dist/rendering-profile/index.js.map +1 -1
  465. package/node_modules/@fps-games/editor-playable-sdk/dist/rendering-profile/panel.js.map +1 -1
  466. package/node_modules/@fps-games/editor-playable-sdk/dist/rendering-profile/route.js.map +1 -1
  467. package/node_modules/@fps-games/editor-playable-sdk/dist/rendering-profile/types.js.map +1 -1
  468. package/node_modules/@fps-games/editor-playable-sdk/dist/runtime-preview/assets.js.map +1 -1
  469. package/node_modules/@fps-games/editor-playable-sdk/dist/runtime-preview/import-plan.js.map +1 -1
  470. package/node_modules/@fps-games/editor-playable-sdk/dist/runtime-preview/index.js.map +1 -1
  471. package/node_modules/@fps-games/editor-playable-sdk/dist/runtime-preview/nodes.js.map +1 -1
  472. package/node_modules/@fps-games/editor-playable-sdk/dist/runtime-preview/types.js.map +1 -1
  473. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/compiler.js +13 -1
  474. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/compiler.js.map +1 -1
  475. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/index.js.map +1 -1
  476. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/types.js.map +1 -1
  477. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/validation.js.map +1 -1
  478. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/artifacts.js.map +1 -1
  479. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/client.js.map +1 -1
  480. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/companion-configs.js.map +1 -1
  481. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/driver.js.map +1 -1
  482. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/index.js.map +1 -1
  483. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/protocol.js.map +1 -1
  484. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/types.js.map +1 -1
  485. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/validation.js.map +1 -1
  486. package/node_modules/@fps-games/editor-playable-sdk/dist/serialized-property/descriptors.js.map +1 -1
  487. package/node_modules/@fps-games/editor-playable-sdk/dist/serialized-property/index.js.map +1 -1
  488. package/node_modules/@fps-games/editor-playable-sdk/dist/serialized-property/inspector.js.map +1 -1
  489. package/node_modules/@fps-games/editor-playable-sdk/dist/serialized-property/object.js.map +1 -1
  490. package/node_modules/@fps-games/editor-playable-sdk/dist/serialized-property/patch.js.map +1 -1
  491. package/node_modules/@fps-games/editor-playable-sdk/dist/serialized-property/types.js.map +1 -1
  492. package/node_modules/@fps-games/editor-playable-sdk/dist/session/classification.js.map +1 -1
  493. package/node_modules/@fps-games/editor-playable-sdk/dist/session/hierarchy-facade.js.map +1 -1
  494. package/node_modules/@fps-games/editor-playable-sdk/dist/session/hierarchy.js.map +1 -1
  495. package/node_modules/@fps-games/editor-playable-sdk/dist/session/identity.js.map +1 -1
  496. package/node_modules/@fps-games/editor-playable-sdk/dist/session/index.js.map +1 -1
  497. package/node_modules/@fps-games/editor-playable-sdk/dist/session/object-command-facade.js.map +1 -1
  498. package/node_modules/@fps-games/editor-playable-sdk/dist/session/patches.js.map +1 -1
  499. package/node_modules/@fps-games/editor-playable-sdk/dist/session/property-patches.js.map +1 -1
  500. package/node_modules/@fps-games/editor-playable-sdk/dist/session/reducer-core.js.map +1 -1
  501. package/node_modules/@fps-games/editor-playable-sdk/dist/session/system-defaults.js.map +1 -1
  502. package/node_modules/@fps-games/editor-playable-sdk/dist/session/transform.js.map +1 -1
  503. package/node_modules/@fps-games/editor-playable-sdk/dist/session/types.js.map +1 -1
  504. package/node_modules/@fps-games/editor-playable-sdk/dist/shadow-system/index.js.map +1 -1
  505. package/node_modules/@fps-games/editor-playable-sdk/dist/shadow-system/resolver.js.map +1 -1
  506. package/node_modules/@fps-games/editor-playable-sdk/dist/shared/http.js.map +1 -1
  507. package/node_modules/@fps-games/editor-playable-sdk/dist/shared/json.js.map +1 -1
  508. package/node_modules/@fps-games/editor-playable-sdk/dist/static-shadows/artifact.js.map +1 -1
  509. package/node_modules/@fps-games/editor-playable-sdk/dist/static-shadows/index.js.map +1 -1
  510. package/node_modules/@fps-games/editor-playable-sdk/dist/upgrade-doctor/host.js.map +1 -1
  511. package/node_modules/@fps-games/editor-playable-sdk/dist/upgrade-doctor/index.js.map +1 -1
  512. package/node_modules/@fps-games/editor-playable-sdk/dist/upgrade-doctor/inspectors.js.map +1 -1
  513. package/node_modules/@fps-games/editor-playable-sdk/dist/upgrade-doctor/report.js.map +1 -1
  514. package/node_modules/@fps-games/editor-playable-sdk/dist/upgrade-doctor/types.js.map +1 -1
  515. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/asset-authoring.js.map +1 -1
  516. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/authoring-http.d.ts +1 -0
  517. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/authoring-http.d.ts.map +1 -1
  518. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/authoring-http.js +1 -0
  519. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/authoring-http.js.map +1 -1
  520. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/build-info-core.js.map +1 -1
  521. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/build-info-node.js.map +1 -1
  522. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/editor-scene-workflow.d.ts +6 -5
  523. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/editor-scene-workflow.d.ts.map +1 -1
  524. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/editor-scene-workflow.js.map +1 -1
  525. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/index.js.map +1 -1
  526. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/module-invalidation.d.ts +3 -1
  527. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/module-invalidation.d.ts.map +1 -1
  528. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/module-invalidation.js +37 -8
  529. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/module-invalidation.js.map +1 -1
  530. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/path-write-coordinator.js.map +1 -1
  531. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/plugin.d.ts +4 -3
  532. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/plugin.d.ts.map +1 -1
  533. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/plugin.js +14 -1
  534. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/plugin.js.map +1 -1
  535. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-adapter.d.ts +5 -4
  536. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-adapter.d.ts.map +1 -1
  537. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-adapter.js.map +1 -1
  538. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-asset-authoring.d.ts +3 -2
  539. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-asset-authoring.d.ts.map +1 -1
  540. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-asset-authoring.js +2 -11
  541. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-asset-authoring.js.map +1 -1
  542. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-authoring-api.d.ts +8 -7
  543. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-authoring-api.d.ts.map +1 -1
  544. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-authoring-api.js +84 -6
  545. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-authoring-api.js.map +1 -1
  546. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-rendering-authoring.d.ts +2 -1
  547. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-rendering-authoring.d.ts.map +1 -1
  548. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-rendering-authoring.js.map +1 -1
  549. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-scene-authoring.d.ts +4 -3
  550. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-scene-authoring.d.ts.map +1 -1
  551. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-scene-authoring.js +1 -4
  552. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-scene-authoring.js.map +1 -1
  553. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/session-metadata.js.map +1 -1
  554. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/types.d.ts +0 -33
  555. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/types.d.ts.map +1 -1
  556. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/types.js.map +1 -1
  557. package/node_modules/@fps-games/editor-playable-sdk/package.json +9 -6
  558. package/node_modules/@fps-games/editor-protocol/dist/agent-bridge.js.map +1 -1
  559. package/node_modules/@fps-games/editor-protocol/dist/agent-trace.js.map +1 -1
  560. package/node_modules/@fps-games/editor-protocol/dist/agent.js.map +1 -1
  561. package/node_modules/@fps-games/editor-protocol/dist/index.js.map +1 -1
  562. package/node_modules/@fps-games/editor-protocol/dist/marker-graph.js.map +1 -1
  563. package/node_modules/@fps-games/editor-protocol/package.json +2 -2
  564. package/node_modules/@fps-games/editor-tooling/dist/contributions.js.map +1 -1
  565. package/node_modules/@fps-games/editor-tooling/dist/data-object.js.map +1 -1
  566. package/node_modules/@fps-games/editor-tooling/dist/index.js.map +1 -1
  567. package/node_modules/@fps-games/editor-tooling/dist/migration.js.map +1 -1
  568. package/node_modules/@fps-games/editor-tooling/dist/package-metadata-node.js.map +1 -1
  569. package/node_modules/@fps-games/editor-tooling/dist/vite.js.map +1 -1
  570. package/node_modules/@fps-games/editor-tooling/package.json +3 -3
  571. package/node_modules/@fps-games/playable-assets/dist/identity.js.map +1 -1
  572. package/node_modules/@fps-games/playable-assets/dist/index.d.ts +1 -0
  573. package/node_modules/@fps-games/playable-assets/dist/index.d.ts.map +1 -1
  574. package/node_modules/@fps-games/playable-assets/dist/index.js +1 -0
  575. package/node_modules/@fps-games/playable-assets/dist/index.js.map +1 -1
  576. package/node_modules/@fps-games/playable-assets/dist/portable-path.d.ts +2 -0
  577. package/node_modules/@fps-games/playable-assets/dist/portable-path.d.ts.map +1 -0
  578. package/node_modules/@fps-games/playable-assets/dist/portable-path.js +25 -0
  579. package/node_modules/@fps-games/playable-assets/dist/portable-path.js.map +1 -0
  580. package/node_modules/@fps-games/playable-assets/package.json +1 -1
  581. package/node_modules/@fps-games/playable-contracts/dist/index.js.map +1 -1
  582. package/node_modules/@fps-games/playable-contracts/dist/marker-graph-validation.js.map +1 -1
  583. package/node_modules/@fps-games/playable-contracts/dist/marker-graph.js.map +1 -1
  584. package/node_modules/@fps-games/playable-contracts/package.json +1 -1
  585. package/node_modules/@fps-games/playable-rendering/dist/index.js.map +1 -1
  586. package/node_modules/@fps-games/playable-rendering/dist/rendering-profile-authoring.js.map +1 -1
  587. package/node_modules/@fps-games/playable-rendering/dist/rendering-profile-types.js.map +1 -1
  588. package/node_modules/@fps-games/playable-rendering/dist/rendering-profile-validation.js.map +1 -1
  589. package/node_modules/@fps-games/playable-rendering/dist/rendering-profile-values.js.map +1 -1
  590. package/node_modules/@fps-games/playable-rendering/dist/rendering-profile.js.map +1 -1
  591. package/node_modules/@fps-games/playable-rendering/dist/runtime.js.map +1 -1
  592. package/node_modules/@fps-games/playable-rendering/dist/shadow-quality.js.map +1 -1
  593. package/node_modules/@fps-games/playable-rendering/dist/shadow-runtime.js.map +1 -1
  594. package/node_modules/@fps-games/playable-rendering/dist/shadow-settings.js.map +1 -1
  595. package/node_modules/@fps-games/playable-rendering/dist/shadow-types.js.map +1 -1
  596. package/node_modules/@fps-games/playable-rendering/dist/shadow-validation.js.map +1 -1
  597. package/node_modules/@fps-games/playable-rendering/dist/value.js.map +1 -1
  598. package/node_modules/@fps-games/playable-rendering/package.json +2 -2
  599. package/node_modules/@fps-games/playable-runtime/dist/compiled-scene-data.js.map +1 -1
  600. package/node_modules/@fps-games/playable-runtime/dist/index.js.map +1 -1
  601. package/node_modules/@fps-games/playable-runtime/dist/runtime-data.js.map +1 -1
  602. package/node_modules/@fps-games/playable-runtime/dist/runtime.js.map +1 -1
  603. package/node_modules/@fps-games/playable-runtime/dist/standard-plugins.js.map +1 -1
  604. package/node_modules/@fps-games/playable-runtime/dist/tokens.js.map +1 -1
  605. package/node_modules/@fps-games/playable-runtime/dist/types.js.map +1 -1
  606. package/node_modules/@fps-games/playable-runtime/package.json +12 -12
  607. package/node_modules/@fps-games/playable-runtime-data/dist/index.js.map +1 -1
  608. package/node_modules/@fps-games/playable-runtime-data/package.json +4 -4
  609. package/node_modules/@fps-games/playable-scene/dist/index.js.map +1 -1
  610. package/node_modules/@fps-games/playable-scene/dist/transform-math.js.map +1 -1
  611. package/node_modules/@fps-games/playable-scene/package.json +2 -2
  612. package/node_modules/@fps-games/plugin-api/dist/index.js.map +1 -1
  613. package/node_modules/@fps-games/plugin-api/package.json +1 -1
  614. package/node_modules/@fps-games/plugin-assets/dist/reference.js.map +1 -1
  615. package/node_modules/@fps-games/plugin-assets/dist/runtime.js.map +1 -1
  616. package/node_modules/@fps-games/plugin-assets/dist/version.d.ts +1 -1
  617. package/node_modules/@fps-games/plugin-assets/dist/version.js +1 -1
  618. package/node_modules/@fps-games/plugin-assets/dist/version.js.map +1 -1
  619. package/node_modules/@fps-games/plugin-assets/package.json +5 -5
  620. package/node_modules/@fps-games/plugin-host/dist/index.js.map +1 -1
  621. package/node_modules/@fps-games/plugin-host/package.json +2 -2
  622. package/node_modules/@fps-games/plugin-markers/dist/reference.js.map +1 -1
  623. package/node_modules/@fps-games/plugin-markers/dist/runtime.js.map +1 -1
  624. package/node_modules/@fps-games/plugin-markers/dist/version.d.ts +1 -1
  625. package/node_modules/@fps-games/plugin-markers/dist/version.js +1 -1
  626. package/node_modules/@fps-games/plugin-markers/dist/version.js.map +1 -1
  627. package/node_modules/@fps-games/plugin-markers/package.json +5 -5
  628. package/node_modules/@fps-games/plugin-materials/dist/reference.js.map +1 -1
  629. package/node_modules/@fps-games/plugin-materials/dist/runtime.js.map +1 -1
  630. package/node_modules/@fps-games/plugin-materials/dist/version.d.ts +1 -1
  631. package/node_modules/@fps-games/plugin-materials/dist/version.js +1 -1
  632. package/node_modules/@fps-games/plugin-materials/dist/version.js.map +1 -1
  633. package/node_modules/@fps-games/plugin-materials/package.json +5 -5
  634. package/node_modules/@fps-games/plugin-rendering/dist/reference.js.map +1 -1
  635. package/node_modules/@fps-games/plugin-rendering/dist/runtime.js.map +1 -1
  636. package/node_modules/@fps-games/plugin-rendering/dist/version.d.ts +1 -1
  637. package/node_modules/@fps-games/plugin-rendering/dist/version.js +1 -1
  638. package/node_modules/@fps-games/plugin-rendering/dist/version.js.map +1 -1
  639. package/node_modules/@fps-games/plugin-rendering/package.json +5 -5
  640. package/node_modules/@fps-games/plugin-scene/dist/reference.js.map +1 -1
  641. package/node_modules/@fps-games/plugin-scene/dist/runtime.js.map +1 -1
  642. package/node_modules/@fps-games/plugin-scene/dist/version.d.ts +1 -1
  643. package/node_modules/@fps-games/plugin-scene/dist/version.js +1 -1
  644. package/node_modules/@fps-games/plugin-scene/dist/version.js.map +1 -1
  645. package/node_modules/@fps-games/plugin-scene/package.json +5 -5
  646. package/node_modules/@fps-games/plugin-shadows/dist/reference.js.map +1 -1
  647. package/node_modules/@fps-games/plugin-shadows/dist/runtime.js.map +1 -1
  648. package/node_modules/@fps-games/plugin-shadows/dist/version.d.ts +1 -1
  649. package/node_modules/@fps-games/plugin-shadows/dist/version.js +1 -1
  650. package/node_modules/@fps-games/plugin-shadows/dist/version.js.map +1 -1
  651. package/node_modules/@fps-games/plugin-shadows/package.json +7 -7
  652. package/package.json +27 -19
@@ -1 +1 @@
1
- {"version":3,"file":"material-property-adapter.js","sourceRoot":"","sources":["../src/material-property-adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"material-property-adapter.js","sourceRoot":"","sources":["../src/material-property-adapter.ts"],"names":[],"mappings":"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","sourcesContent":["import type {\n ArtistMaterialProfile,\n ArtistMaterialAlphaMode,\n ArtistMaterialTextureRef,\n ColorRGB,\n MaterialProp,\n MaterialRuntimeKind,\n MaterialValue,\n PersistentBinding,\n} from '@fps-games/editor-protocol';\nimport {\n type MaterialSlotOwnerTraversalBoundary,\n resolveMaterialSlotOwnerNodes,\n} from './material-slot-source-resolver';\nimport { getBabylonRuntime } from './runtime-globals';\nimport type { BabylonRuntimeGlobal, CanonicalMaterialChange, RuntimeNode, RuntimeScene } from './types';\n\nexport const MATERIAL_CANONICAL_PATHS = [\n 'material.albedoColor',\n 'material.emissiveColor',\n 'material.metallic',\n 'material.roughness',\n 'material.alpha',\n 'material.alphaCutOff',\n 'material.transparencyMode',\n 'material.backFaceCulling',\n 'material.albedoTexture.url',\n 'material.normalTexture.url',\n 'material.normalTexture.level',\n 'material.metallicTexture.url',\n 'material.occlusionTexture.url',\n 'material.emissiveTexture.url',\n 'material.opacityTexture.url',\n 'material.pbr.albedoColor',\n 'material.pbr.baseWeight',\n 'material.pbr.reflectivityColor',\n 'material.pbr.microSurface',\n 'material.pbr.emissiveColor',\n 'material.pbr.emissiveIntensity',\n 'material.pbr.ambientColor',\n 'material.pbr.lightFalloff',\n 'material.standard.diffuseColor',\n 'material.standard.specularColor',\n 'material.standard.specularPower',\n 'material.standard.emissiveColor',\n 'material.standard.ambientColor',\n 'material.standard.useSpecularOverAlpha',\n] as const satisfies readonly MaterialProp[];\n\ntype AdaptMaterialPropertyChangeOptions = {\n scene: RuntimeScene | null;\n selectedEntity: RuntimeNode | null;\n entity: unknown;\n propertyKey: unknown;\n oldValue: unknown;\n newValue: unknown;\n resolveBinding: (node: RuntimeNode) => PersistentBinding | null;\n isTraversalBoundary?: MaterialSlotOwnerTraversalBoundary;\n};\n\ntype ApplyMaterialRuntimeOptions = {\n babylon?: BabylonRuntimeGlobal | null;\n resolveTextureUrl?: (texture: ArtistMaterialTextureRef) => string | null | undefined;\n};\n\nexport type ApplyArtistMaterialProfileOptions = ApplyMaterialRuntimeOptions;\n\ntype RuntimeColor = {\n r: number;\n g: number;\n b: number;\n};\n\ntype ArtistBaseTextureAdjustment = {\n enabled: boolean;\n brightness: number;\n saturation: number;\n contrast: number;\n hue: number;\n};\n\ntype ArtistBaseTextureAdjustmentPlugin = {\n updateAdjustment?: (adjustment: ArtistBaseTextureAdjustment) => void;\n setEnabled?: (enabled: boolean) => void;\n};\n\nconst ARTIST_BASE_TEXTURE_ADJUSTMENT_PLUGIN_KEY = '__fpsArtistBaseTextureAdjustmentPlugin';\n\nconst MATERIAL_SHARED_KEY_TO_PATH: Record<string, MaterialProp> = {\n alpha: 'material.alpha',\n _alpha: 'material.alpha',\n alphaCutOff: 'material.alphaCutOff',\n _alphaCutOff: 'material.alphaCutOff',\n transparencyMode: 'material.transparencyMode',\n _transparencyMode: 'material.transparencyMode',\n backFaceCulling: 'material.backFaceCulling',\n _backFaceCulling: 'material.backFaceCulling',\n albedoTexture: 'material.albedoTexture.url',\n _albedoTexture: 'material.albedoTexture.url',\n diffuseTexture: 'material.albedoTexture.url',\n _diffuseTexture: 'material.albedoTexture.url',\n normalTexture: 'material.normalTexture.url',\n _normalTexture: 'material.normalTexture.url',\n bumpTexture: 'material.normalTexture.url',\n _bumpTexture: 'material.normalTexture.url',\n metallicTexture: 'material.metallicTexture.url',\n _metallicTexture: 'material.metallicTexture.url',\n ambientTexture: 'material.occlusionTexture.url',\n _ambientTexture: 'material.occlusionTexture.url',\n emissiveTexture: 'material.emissiveTexture.url',\n _emissiveTexture: 'material.emissiveTexture.url',\n opacityTexture: 'material.opacityTexture.url',\n _opacityTexture: 'material.opacityTexture.url',\n};\n\nconst MATERIAL_PBR_KEY_TO_PATH: Record<string, MaterialProp> = {\n albedoColor: 'material.pbr.albedoColor',\n _albedoColor: 'material.pbr.albedoColor',\n baseWeight: 'material.pbr.baseWeight',\n _baseWeight: 'material.pbr.baseWeight',\n reflectivityColor: 'material.pbr.reflectivityColor',\n _reflectivityColor: 'material.pbr.reflectivityColor',\n microSurface: 'material.pbr.microSurface',\n _microSurface: 'material.pbr.microSurface',\n emissiveColor: 'material.pbr.emissiveColor',\n _emissiveColor: 'material.pbr.emissiveColor',\n emissiveIntensity: 'material.pbr.emissiveIntensity',\n _emissiveIntensity: 'material.pbr.emissiveIntensity',\n ambientColor: 'material.pbr.ambientColor',\n _ambientColor: 'material.pbr.ambientColor',\n lightFalloff: 'material.pbr.lightFalloff',\n _lightFalloff: 'material.pbr.lightFalloff',\n};\n\nconst MATERIAL_STANDARD_KEY_TO_PATH: Record<string, MaterialProp> = {\n diffuseColor: 'material.standard.diffuseColor',\n _diffuseColor: 'material.standard.diffuseColor',\n specularColor: 'material.standard.specularColor',\n _specularColor: 'material.standard.specularColor',\n specularPower: 'material.standard.specularPower',\n _specularPower: 'material.standard.specularPower',\n emissiveColor: 'material.standard.emissiveColor',\n _emissiveColor: 'material.standard.emissiveColor',\n ambientColor: 'material.standard.ambientColor',\n _ambientColor: 'material.standard.ambientColor',\n useSpecularOverAlpha: 'material.standard.useSpecularOverAlpha',\n _useSpecularOverAlpha: 'material.standard.useSpecularOverAlpha',\n};\n\nconst SKIP = Symbol('material-property-skip');\n\nfunction sameValue(a: unknown, b: unknown): boolean {\n return JSON.stringify(a ?? null) === JSON.stringify(b ?? null);\n}\nfunction isMaterialLike(value: any): boolean {\n if (!value || typeof value !== 'object') return false;\n const className = value.getClassName?.();\n if (typeof className === 'string' && /material$/i.test(className)) return true;\n if (Array.isArray(value.subMaterials)) return true;\n return 'albedoColor' in value\n || 'diffuseColor' in value\n || 'reflectivityColor' in value\n || 'specularColor' in value\n || 'metallic' in value\n || 'roughness' in value\n || 'microSurface' in value;\n}\n\nfunction hasMaterial(value: any): value is RuntimeNode & { material: any } {\n return !!value && typeof value === 'object' && !!value.material;\n}\n\nfunction readRuntimeSubMaterials(material: any): any[] | null {\n if (!material || typeof material !== 'object' || !Array.isArray(material.subMaterials)) return null;\n return material.subMaterials.filter((subMaterial: any) => (\n subMaterial && typeof subMaterial === 'object' && subMaterial !== material\n ));\n}\n\nfunction isFiniteNumber(value: unknown): value is number {\n return typeof value === 'number' && Number.isFinite(value);\n}\n\nexport function resolveMaterialRuntimeKind(material: any): MaterialRuntimeKind {\n if (!material || typeof material !== 'object') return 'unknown';\n const subMaterials = readRuntimeSubMaterials(material);\n if (subMaterials?.length) {\n const firstKnownKind = subMaterials\n .map(resolveMaterialRuntimeKind)\n .find(kind => kind !== 'unknown');\n return firstKnownKind ?? 'unknown';\n }\n const className = typeof material.getClassName === 'function' ? material.getClassName() : '';\n const normalizedClassName = typeof className === 'string' ? className.toLowerCase() : '';\n if (normalizedClassName.includes('standardmaterial')) return 'standard';\n if (normalizedClassName.includes('pbr')) return 'pbr';\n if ('diffuseColor' in material || 'specularColor' in material || 'specularPower' in material) return 'standard';\n if (\n 'albedoColor' in material\n || '_albedoColor' in material\n || 'reflectivityColor' in material\n || '_reflectivityColor' in material\n || 'microSurface' in material\n || '_microSurface' in material\n ) return 'pbr';\n return 'unknown';\n}\n\nfunction normalizePropertyKey(propertyKey: unknown, materialRuntimeKind: MaterialRuntimeKind): MaterialProp | null {\n if (typeof propertyKey !== 'string') return null;\n const trimmed = propertyKey.trim();\n if (!trimmed) return null;\n if ((MATERIAL_CANONICAL_PATHS as readonly string[]).includes(trimmed)) return trimmed as MaterialProp;\n const normalized = trimmed.split('.').pop() ?? trimmed;\n if (materialRuntimeKind === 'pbr' && MATERIAL_PBR_KEY_TO_PATH[normalized]) return MATERIAL_PBR_KEY_TO_PATH[normalized]!;\n if (materialRuntimeKind === 'standard' && MATERIAL_STANDARD_KEY_TO_PATH[normalized]) return MATERIAL_STANDARD_KEY_TO_PATH[normalized]!;\n return MATERIAL_SHARED_KEY_TO_PATH[normalized] ?? null;\n}\n\nfunction normalizeColor3(value: unknown): MaterialValue | typeof SKIP {\n if (!value || typeof value !== 'object') return SKIP;\n const source = value as { r?: unknown; g?: unknown; b?: unknown; x?: unknown; y?: unknown; z?: unknown; _r?: unknown; _g?: unknown; _b?: unknown };\n const r = typeof source.r === 'number' ? source.r : typeof source.x === 'number' ? source.x : typeof source._r === 'number' ? source._r : null;\n const g = typeof source.g === 'number' ? source.g : typeof source.y === 'number' ? source.y : typeof source._g === 'number' ? source._g : null;\n const b = typeof source.b === 'number' ? source.b : typeof source.z === 'number' ? source.z : typeof source._b === 'number' ? source._b : null;\n if (r == null || g == null || b == null) return SKIP;\n return { r, g, b };\n}\n\nfunction normalizeTextureUrl(value: unknown): MaterialValue | typeof SKIP {\n if (value == null) return null;\n if (typeof value === 'string') return value.trim() || null;\n if (typeof value !== 'object') return SKIP;\n const source = value as { url?: unknown; name?: unknown };\n if (typeof source.url === 'string') return source.url.trim() || null;\n if (typeof source.name === 'string') return source.name.trim() || null;\n return SKIP;\n}\n\nfunction normalizeMaterialValue(path: MaterialProp, value: unknown): MaterialValue | typeof SKIP {\n switch (path) {\n case 'material.albedoColor':\n case 'material.emissiveColor':\n case 'material.pbr.albedoColor':\n case 'material.pbr.reflectivityColor':\n case 'material.pbr.emissiveColor':\n case 'material.pbr.ambientColor':\n case 'material.standard.diffuseColor':\n case 'material.standard.specularColor':\n case 'material.standard.emissiveColor':\n case 'material.standard.ambientColor':\n return normalizeColor3(value);\n case 'material.metallic':\n case 'material.roughness':\n case 'material.alpha':\n case 'material.alphaCutOff':\n case 'material.transparencyMode':\n case 'material.normalTexture.level':\n case 'material.pbr.baseWeight':\n case 'material.pbr.microSurface':\n case 'material.pbr.emissiveIntensity':\n case 'material.pbr.lightFalloff':\n case 'material.standard.specularPower':\n return typeof value === 'number' && Number.isFinite(value) ? value : SKIP;\n case 'material.backFaceCulling':\n case 'material.standard.useSpecularOverAlpha':\n return typeof value === 'boolean' ? value : SKIP;\n case 'material.albedoTexture.url':\n case 'material.normalTexture.url':\n case 'material.metallicTexture.url':\n case 'material.occlusionTexture.url':\n case 'material.emissiveTexture.url':\n case 'material.opacityTexture.url':\n return normalizeTextureUrl(value);\n default:\n return SKIP;\n }\n}\n\nfunction stableNodeSegment(node: any): string | null {\n const candidates = [node?.name, node?.id];\n for (const candidate of candidates) {\n if (typeof candidate !== 'string') continue;\n const trimmed = candidate.trim();\n if (trimmed) return trimmed;\n }\n return null;\n}\n\nfunction buildOwnerNodePath(\n ownerNode: RuntimeNode,\n rootNode: RuntimeNode,\n isTraversalBoundary?: MaterialSlotOwnerTraversalBoundary,\n): string | null {\n if (ownerNode === rootNode) return '';\n const segments: string[] = [];\n let current: any = ownerNode;\n while (current && current !== rootNode) {\n if (isTraversalBoundary?.(current, rootNode)) return null;\n const segment = stableNodeSegment(current);\n if (!segment) return null;\n segments.push(segment);\n current = current.parent ?? null;\n }\n if (current !== rootNode) return null;\n return segments.reverse().join('/');\n}\n\nfunction findMaterialOwnerInRoot(\n rootNode: RuntimeNode | null,\n material: any,\n isTraversalBoundary?: MaterialSlotOwnerTraversalBoundary,\n): RuntimeNode | null {\n if (!rootNode) return null;\n if ((rootNode as any).material === material) return rootNode;\n const visit = (node: any): RuntimeNode | null => {\n for (const child of node?.getChildren?.() ?? []) {\n if (isTraversalBoundary?.(child, rootNode)) continue;\n if (child?.material === material) return child;\n const match = visit(child);\n if (match) return match;\n }\n return null;\n };\n return visit(rootNode);\n}\n\nfunction findMaterialOwnerInScene(scene: RuntimeScene | null, material: any): RuntimeNode | null {\n const meshes = scene?.meshes ?? [];\n return meshes.find((mesh: any) => mesh?.material === material) ?? null;\n}\n\nfunction resolveRuntimeMaterialProperty(material: any, path: MaterialProp): string | null {\n switch (path) {\n case 'material.albedoColor':\n return 'albedoColor' in material ? 'albedoColor' : 'diffuseColor' in material ? 'diffuseColor' : null;\n case 'material.emissiveColor':\n return 'emissiveColor' in material ? 'emissiveColor' : null;\n case 'material.metallic':\n return 'metallic' in material ? 'metallic' : null;\n case 'material.roughness':\n return 'roughness' in material ? 'roughness' : null;\n case 'material.alpha':\n return 'alpha' in material ? 'alpha' : null;\n case 'material.alphaCutOff':\n return 'alphaCutOff' in material ? 'alphaCutOff' : null;\n case 'material.transparencyMode':\n return 'transparencyMode' in material ? 'transparencyMode' : null;\n case 'material.backFaceCulling':\n return 'backFaceCulling' in material ? 'backFaceCulling' : null;\n case 'material.albedoTexture.url':\n return 'albedoTexture' in material ? 'albedoTexture' : 'diffuseTexture' in material ? 'diffuseTexture' : null;\n case 'material.normalTexture.url':\n return 'normalTexture' in material ? 'normalTexture' : 'bumpTexture' in material ? 'bumpTexture' : null;\n case 'material.normalTexture.level':\n return 'normalTexture' in material ? 'normalTexture' : 'bumpTexture' in material ? 'bumpTexture' : null;\n case 'material.metallicTexture.url':\n return 'metallicTexture' in material ? 'metallicTexture' : null;\n case 'material.occlusionTexture.url':\n return 'ambientTexture' in material ? 'ambientTexture' : null;\n case 'material.emissiveTexture.url':\n return 'emissiveTexture' in material ? 'emissiveTexture' : null;\n case 'material.opacityTexture.url':\n return 'opacityTexture' in material ? 'opacityTexture' : null;\n case 'material.pbr.albedoColor':\n return '_albedoColor' in material ? '_albedoColor' : 'albedoColor' in material ? 'albedoColor' : null;\n case 'material.pbr.baseWeight':\n return '_baseWeight' in material ? '_baseWeight' : 'baseWeight' in material ? 'baseWeight' : null;\n case 'material.pbr.reflectivityColor':\n return '_reflectivityColor' in material ? '_reflectivityColor' : 'reflectivityColor' in material ? 'reflectivityColor' : null;\n case 'material.pbr.microSurface':\n return '_microSurface' in material ? '_microSurface' : 'microSurface' in material ? 'microSurface' : null;\n case 'material.pbr.emissiveColor':\n return '_emissiveColor' in material ? '_emissiveColor' : 'emissiveColor' in material ? 'emissiveColor' : null;\n case 'material.pbr.emissiveIntensity':\n return '_emissiveIntensity' in material ? '_emissiveIntensity' : 'emissiveIntensity' in material ? 'emissiveIntensity' : null;\n case 'material.pbr.ambientColor':\n return '_ambientColor' in material ? '_ambientColor' : 'ambientColor' in material ? 'ambientColor' : null;\n case 'material.pbr.lightFalloff':\n return '_lightFalloff' in material ? '_lightFalloff' : 'lightFalloff' in material ? 'lightFalloff' : null;\n case 'material.standard.diffuseColor':\n return 'diffuseColor' in material ? 'diffuseColor' : '_diffuseColor' in material ? '_diffuseColor' : null;\n case 'material.standard.specularColor':\n return 'specularColor' in material ? 'specularColor' : '_specularColor' in material ? '_specularColor' : null;\n case 'material.standard.specularPower':\n return 'specularPower' in material ? 'specularPower' : '_specularPower' in material ? '_specularPower' : null;\n case 'material.standard.emissiveColor':\n return 'emissiveColor' in material ? 'emissiveColor' : '_emissiveColor' in material ? '_emissiveColor' : null;\n case 'material.standard.ambientColor':\n return 'ambientColor' in material ? 'ambientColor' : '_ambientColor' in material ? '_ambientColor' : null;\n case 'material.standard.useSpecularOverAlpha':\n return 'useSpecularOverAlpha' in material ? 'useSpecularOverAlpha' : '_useSpecularOverAlpha' in material ? '_useSpecularOverAlpha' : null;\n default:\n return null;\n }\n}\n\nfunction resolveMaterialOwner(\n options: AdaptMaterialPropertyChangeOptions,\n material: any,\n): { runtimeNode: RuntimeNode; binding: PersistentBinding; ownerNodePath: string } | null {\n const explicitOwner = hasMaterial(options.entity) && options.entity.material === material ? options.entity : null;\n\n const candidateBindings: Array<{ owner: RuntimeNode | null; binding: PersistentBinding | null }> = [];\n if (options.selectedEntity) {\n const selectedBinding = options.resolveBinding(options.selectedEntity);\n const selectedOwner = findMaterialOwnerInRoot(\n selectedBinding?.rootNode ?? options.selectedEntity,\n material,\n options.isTraversalBoundary,\n );\n candidateBindings.push({\n owner: selectedOwner,\n binding: selectedOwner ? (options.resolveBinding(selectedOwner) ?? selectedBinding) : selectedBinding,\n });\n }\n if (explicitOwner) candidateBindings.push({ owner: explicitOwner, binding: options.resolveBinding(explicitOwner) });\n const sceneOwner = findMaterialOwnerInScene(options.scene, material);\n if (sceneOwner) candidateBindings.push({ owner: sceneOwner, binding: options.resolveBinding(sceneOwner) });\n\n for (const candidate of candidateBindings) {\n if (!candidate.owner || !candidate.binding) continue;\n const ownerNodePath = buildOwnerNodePath(\n candidate.owner,\n candidate.binding.rootNode,\n options.isTraversalBoundary,\n );\n if (ownerNodePath == null) continue;\n return { runtimeNode: candidate.owner, binding: candidate.binding, ownerNodePath };\n }\n return null;\n}\n\nexport function adaptMaterialPropertyChange(options: AdaptMaterialPropertyChangeOptions): CanonicalMaterialChange | null {\n const material = hasMaterial(options.entity)\n ? options.entity.material\n : isMaterialLike(options.entity)\n ? options.entity\n : null;\n if (!material) return null;\n const materialRuntimeKind = resolveMaterialRuntimeKind(material);\n const path = normalizePropertyKey(options.propertyKey, materialRuntimeKind);\n if (!path) return null;\n\n const owner = resolveMaterialOwner(options, material);\n if (!owner) return null;\n\n const before = normalizeMaterialValue(path, options.oldValue);\n const after = normalizeMaterialValue(path, options.newValue);\n if (before === SKIP || after === SKIP || sameValue(before, after)) return null;\n\n return {\n runtimeNode: owner.runtimeNode,\n binding: owner.binding,\n ownerNodePath: owner.ownerNodePath,\n target: owner.ownerNodePath ? 'childMaterial' : 'root',\n materialName: typeof material.name === 'string' && material.name.trim() ? material.name.trim() : '(unnamed-material)',\n materialType: typeof material.getClassName === 'function' ? material.getClassName() : null,\n materialRuntimeKind,\n path,\n before,\n after,\n };\n}\n\nexport function applyMaterialValueToRuntimeMaterial(\n material: unknown,\n scene: RuntimeScene | null,\n path: MaterialProp,\n value: MaterialValue,\n options: ApplyMaterialRuntimeOptions = {},\n): boolean {\n const writableMaterial = material as any;\n if (!writableMaterial || typeof writableMaterial !== 'object') return false;\n\n const subMaterials = readRuntimeSubMaterials(writableMaterial);\n if (subMaterials?.length) {\n let changed = false;\n for (const subMaterial of new Set(subMaterials)) {\n changed = applyMaterialValueToRuntimeMaterial(subMaterial, scene, path, value, options) || changed;\n }\n return changed;\n }\n\n const property = resolveRuntimeMaterialProperty(writableMaterial, path);\n if (!property) return false;\n\n if (\n path === 'material.albedoColor'\n || path === 'material.emissiveColor'\n || path === 'material.pbr.albedoColor'\n || path === 'material.pbr.reflectivityColor'\n || path === 'material.pbr.emissiveColor'\n || path === 'material.pbr.ambientColor'\n || path === 'material.standard.diffuseColor'\n || path === 'material.standard.specularColor'\n || path === 'material.standard.emissiveColor'\n || path === 'material.standard.ambientColor'\n ) {\n if (!value || typeof value !== 'object') return false;\n const color = value as { r: number; g: number; b: number };\n const target = writableMaterial[property];\n if (target?.copyFromFloats) {\n target.copyFromFloats(color.r, color.g, color.b);\n return true;\n }\n const Color3 = getBabylonRuntime(options.babylon)?.Color3;\n writableMaterial[property] = Color3 ? new Color3(color.r, color.g, color.b) : { r: color.r, g: color.g, b: color.b };\n return true;\n }\n\n if (path === 'material.normalTexture.level') {\n const texture = writableMaterial[property];\n if (!texture || typeof texture !== 'object' || !('level' in texture)) return false;\n texture.level = typeof value === 'number' && Number.isFinite(value) ? value : texture.level;\n return true;\n }\n\n if (\n path === 'material.albedoTexture.url'\n || path === 'material.normalTexture.url'\n || path === 'material.metallicTexture.url'\n || path === 'material.occlusionTexture.url'\n || path === 'material.emissiveTexture.url'\n || path === 'material.opacityTexture.url'\n ) {\n if (value == null) {\n writableMaterial[property] = null;\n return true;\n }\n if (typeof value !== 'string' || !scene) return false;\n const Texture = getBabylonRuntime(options.babylon)?.Texture;\n if (!Texture) return false;\n writableMaterial[property] = new Texture(value, scene, false, false);\n return true;\n }\n\n writableMaterial[property] = value;\n return true;\n}\n\nexport function applyArtistMaterialProfileToRuntimeMaterial(\n material: unknown,\n scene: RuntimeScene | null,\n profile: ArtistMaterialProfile | null | undefined,\n options: ApplyArtistMaterialProfileOptions = {},\n): boolean {\n const writableMaterial = material as any;\n if (!writableMaterial || typeof writableMaterial !== 'object' || !profile) return false;\n\n const subMaterials = readRuntimeSubMaterials(writableMaterial);\n if (subMaterials?.length) {\n let changed = false;\n for (const subMaterial of new Set(subMaterials)) {\n changed = applyArtistMaterialProfileToRuntimeMaterial(subMaterial, scene, profile, options) || changed;\n }\n return changed;\n }\n\n let changed = false;\n changed = applyArtistLightingModelProfile(writableMaterial, profile) || changed;\n changed = applyArtistBaseColorProfile(writableMaterial, scene, profile, options) || changed;\n changed = applyArtistNormalProfile(writableMaterial, scene, profile, options) || changed;\n\n const materialRuntimeKind = resolveMaterialRuntimeKind(writableMaterial);\n if (materialRuntimeKind === 'pbr' && isFiniteNumber(profile.metallic)) {\n changed = applyMaterialValueToRuntimeMaterial(\n writableMaterial,\n scene,\n 'material.metallic',\n clamp01(profile.metallic),\n options,\n ) || changed;\n }\n\n if (materialRuntimeKind === 'pbr' && isFiniteNumber(profile.roughness)) {\n changed = applyMaterialValueToRuntimeMaterial(\n writableMaterial,\n scene,\n 'material.roughness',\n clamp01(profile.roughness),\n options,\n ) || changed;\n }\n\n if (materialRuntimeKind === 'pbr') {\n changed = applyArtistPbrTextureProfiles(writableMaterial, scene, profile, options) || changed;\n }\n\n changed = applyArtistEmissionProfile(writableMaterial, scene, profile, options) || changed;\n changed = applyArtistAlphaProfile(writableMaterial, scene, profile, options) || changed;\n if (changed) markRuntimeMaterialDirty(writableMaterial);\n return changed;\n}\n\nfunction applyArtistLightingModelProfile(material: any, profile: ArtistMaterialProfile): boolean {\n if (profile.lightingModel !== 'lit' && profile.lightingModel !== 'unlit') return false;\n const unlit = profile.lightingModel === 'unlit';\n let changed = false;\n if ('unlit' in material && material.unlit !== unlit) {\n material.unlit = unlit;\n changed = true;\n }\n if ('disableLighting' in material && material.disableLighting !== unlit) {\n material.disableLighting = unlit;\n changed = true;\n }\n return changed;\n}\n\nfunction applyArtistBaseColorProfile(\n material: any,\n scene: RuntimeScene | null,\n profile: ArtistMaterialProfile,\n options: ApplyArtistMaterialProfileOptions,\n): boolean {\n const baseColor = profile.baseColor;\n if (!baseColor) return false;\n const hasTextureField = hasProfileTextureField(baseColor, 'texture');\n const hasBaseColorInput =\n baseColor.color !== undefined\n || hasTextureField\n || baseColor.brightness !== undefined\n || baseColor.saturation !== undefined\n || baseColor.contrast !== undefined\n || baseColor.hue !== undefined;\n if (!hasBaseColorInput) return false;\n\n let changed = false;\n const textureUrl = readTextureUrl(baseColor.texture, options);\n if (textureUrl || hasTextureField) {\n changed = applyMaterialValueToRuntimeMaterial(\n material,\n scene,\n 'material.albedoTexture.url',\n textureUrl ?? null,\n options,\n ) || changed;\n }\n const hasBaseTexture = textureUrl\n ? true\n : hasTextureField\n ? false\n : hasRuntimeBaseTexture(material);\n changed = applyArtistBaseTextureAdjustmentPipeline(material, baseColor, hasBaseTexture, options) || changed;\n\n const sourceColor = readProfileColor(baseColor.color);\n if (!sourceColor) return changed;\n\n return applyMaterialValueToRuntimeMaterial(material, scene, 'material.albedoColor', sourceColor, options) || changed;\n}\n\nfunction applyArtistBaseTextureAdjustmentPipeline(\n material: any,\n baseColor: NonNullable<ArtistMaterialProfile['baseColor']>,\n hasBaseTexture: boolean,\n options: ApplyArtistMaterialProfileOptions,\n): boolean {\n const adjustment = resolveArtistBaseTextureAdjustment(baseColor, hasBaseTexture);\n const existingPlugin = readArtistBaseTextureAdjustmentPlugin(material);\n if (!adjustment.enabled) {\n existingPlugin?.updateAdjustment?.(adjustment);\n existingPlugin?.setEnabled?.(false);\n return !!existingPlugin;\n }\n\n const plugin = existingPlugin ?? createArtistBaseTextureAdjustmentPlugin(material, options);\n if (!plugin) return false;\n plugin.updateAdjustment?.(adjustment);\n plugin.setEnabled?.(true);\n return true;\n}\n\nfunction resolveArtistBaseTextureAdjustment(\n baseColor: NonNullable<ArtistMaterialProfile['baseColor']>,\n hasBaseTexture: boolean,\n): ArtistBaseTextureAdjustment {\n const brightness = isFiniteNumber(baseColor.brightness) ? Math.max(0, baseColor.brightness) : 1;\n const contrast = isFiniteNumber(baseColor.contrast) ? baseColor.contrast : 1;\n const saturation = isFiniteNumber(baseColor.saturation) ? Math.max(0, baseColor.saturation) : 1;\n const hue = isFiniteNumber(baseColor.hue) ? baseColor.hue : 0;\n const enabled = hasBaseTexture && (\n Math.abs(brightness - 1) > 1e-6\n || Math.abs(contrast - 1) > 1e-6\n || Math.abs(saturation - 1) > 1e-6\n || Math.abs(hue) > 1e-6\n );\n return { enabled, brightness, saturation, contrast, hue };\n}\n\nfunction readArtistBaseTextureAdjustmentPlugin(material: any): ArtistBaseTextureAdjustmentPlugin | null {\n const plugin = material?.[ARTIST_BASE_TEXTURE_ADJUSTMENT_PLUGIN_KEY];\n return plugin && typeof plugin === 'object' ? plugin as ArtistBaseTextureAdjustmentPlugin : null;\n}\n\nfunction hasRuntimeBaseTexture(material: any): boolean {\n const property = resolveRuntimeMaterialProperty(material, 'material.albedoTexture.url');\n return !!(property && material?.[property]);\n}\n\nfunction hasProfileTextureField(owner: object | null | undefined, key: 'texture' | 'maskTexture'): boolean {\n return !!owner && typeof owner === 'object' && Object.prototype.hasOwnProperty.call(owner, key);\n}\n\nfunction createArtistBaseTextureAdjustmentPlugin(\n material: any,\n options: ApplyArtistMaterialProfileOptions,\n): ArtistBaseTextureAdjustmentPlugin | null {\n const MaterialPluginBase = getBabylonRuntime(options.babylon)?.MaterialPluginBase;\n if (typeof MaterialPluginBase !== 'function' || !material || typeof material !== 'object') return null;\n const baseTextureProperty = resolveRuntimeMaterialProperty(material, 'material.albedoTexture.url');\n\n class ArtistBaseTextureAdjustmentPluginRuntime extends MaterialPluginBase {\n private adjustment: ArtistBaseTextureAdjustment = {\n enabled: false,\n brightness: 1,\n saturation: 1,\n contrast: 1,\n hue: 0,\n };\n\n constructor(targetMaterial: any) {\n super(targetMaterial, 'FpsArtistBaseTextureAdjustment', 210, undefined, true, true);\n this.doNotSerialize = true;\n }\n\n getClassName(): string {\n return 'FpsArtistBaseTextureAdjustment';\n }\n\n updateAdjustment(adjustment: ArtistBaseTextureAdjustment): void {\n this.adjustment = adjustment;\n }\n\n setEnabled(enabled: boolean): void {\n this.adjustment = { ...this.adjustment, enabled };\n }\n\n getUniforms(): {\n externalUniforms: string[];\n } {\n return {\n externalUniforms: [\n 'fpsArtistBaseTextureAdjust',\n 'fpsArtistBaseTextureAdjustEnabled',\n ],\n };\n }\n\n bindForSubMesh(uniformBuffer: any): void {\n const effect = uniformBuffer?.currentEffect;\n effect?.setFloat4?.(\n 'fpsArtistBaseTextureAdjust',\n this.adjustment.brightness,\n this.adjustment.saturation,\n this.adjustment.contrast,\n this.adjustment.hue,\n );\n effect?.setFloat?.('fpsArtistBaseTextureAdjustEnabled', this.adjustment.enabled ? 1 : 0);\n }\n\n getCustomCode(shaderType: string): Record<string, string> | null {\n if (shaderType !== 'fragment') return null;\n const customCode: Record<string, string> = {\n CUSTOM_FRAGMENT_DEFINITIONS: ARTIST_BASE_TEXTURE_ADJUSTMENT_GLSL,\n };\n if (baseTextureProperty === 'albedoTexture') {\n customCode.CUSTOM_FRAGMENT_BEFORE_LIGHTS = `\nif (fpsArtistBaseTextureAdjustEnabled > 0.5) {\n surfaceAlbedo = fpsArtistAdjustBaseTextureColor(surfaceAlbedo, fpsArtistBaseTextureAdjust);\n}`;\n } else if (baseTextureProperty === 'diffuseTexture') {\n customCode.CUSTOM_FRAGMENT_UPDATE_DIFFUSE = `\nif (fpsArtistBaseTextureAdjustEnabled > 0.5) {\n baseColor.rgb = fpsArtistAdjustBaseTextureColor(baseColor.rgb, fpsArtistBaseTextureAdjust);\n}`;\n }\n return customCode;\n }\n }\n\n const plugin = new ArtistBaseTextureAdjustmentPluginRuntime(material) as ArtistBaseTextureAdjustmentPlugin;\n material[ARTIST_BASE_TEXTURE_ADJUSTMENT_PLUGIN_KEY] = plugin;\n return plugin;\n}\n\nconst ARTIST_BASE_TEXTURE_ADJUSTMENT_GLSL = `\nuniform vec4 fpsArtistBaseTextureAdjust;\nuniform float fpsArtistBaseTextureAdjustEnabled;\n\nvec3 fpsArtistRgbToHsl(vec3 color) {\n float maxChannel = max(max(color.r, color.g), color.b);\n float minChannel = min(min(color.r, color.g), color.b);\n float lightness = (maxChannel + minChannel) * 0.5;\n if (maxChannel == minChannel) {\n return vec3(0.0, 0.0, lightness);\n }\n float delta = maxChannel - minChannel;\n float saturation = lightness > 0.5 ? delta / (2.0 - maxChannel - minChannel) : delta / (maxChannel + minChannel);\n float hue = 0.0;\n if (maxChannel == color.r) {\n hue = (color.g - color.b) / delta + (color.g < color.b ? 6.0 : 0.0);\n } else if (maxChannel == color.g) {\n hue = (color.b - color.r) / delta + 2.0;\n } else {\n hue = (color.r - color.g) / delta + 4.0;\n }\n return vec3(hue / 6.0, saturation, lightness);\n}\n\nfloat fpsArtistHueToRgb(float p, float q, float t) {\n if (t < 0.0) t += 1.0;\n if (t > 1.0) t -= 1.0;\n if (t < 1.0 / 6.0) return p + (q - p) * 6.0 * t;\n if (t < 1.0 / 2.0) return q;\n if (t < 2.0 / 3.0) return p + (q - p) * (2.0 / 3.0 - t) * 6.0;\n return p;\n}\n\nvec3 fpsArtistHslToRgb(vec3 hsl) {\n if (hsl.y == 0.0) return vec3(hsl.z);\n float q = hsl.z < 0.5 ? hsl.z * (1.0 + hsl.y) : hsl.z + hsl.y - hsl.z * hsl.y;\n float p = 2.0 * hsl.z - q;\n return vec3(\n fpsArtistHueToRgb(p, q, hsl.x + 1.0 / 3.0),\n fpsArtistHueToRgb(p, q, hsl.x),\n fpsArtistHueToRgb(p, q, hsl.x - 1.0 / 3.0)\n );\n}\n\nvec3 fpsArtistAdjustBaseTextureColor(vec3 color, vec4 adjustment) {\n vec3 adjusted = clamp(color * max(adjustment.x, 0.0), 0.0, 1.0);\n adjusted = clamp((adjusted - vec3(0.5)) * adjustment.z + vec3(0.5), 0.0, 1.0);\n vec3 hsl = fpsArtistRgbToHsl(adjusted);\n hsl.x = fract(hsl.x + adjustment.w / 360.0);\n hsl.y = clamp(hsl.y * max(adjustment.y, 0.0), 0.0, 1.0);\n return fpsArtistHslToRgb(hsl);\n}\n`;\n\nfunction applyArtistNormalProfile(\n material: any,\n scene: RuntimeScene | null,\n profile: ArtistMaterialProfile,\n options: ApplyArtistMaterialProfileOptions,\n): boolean {\n const normal = profile.normal;\n if (!normal) return false;\n\n let changed = false;\n const hasTextureField = hasProfileTextureField(normal, 'texture');\n const textureUrl = readTextureUrl(normal.texture, options);\n if (textureUrl || hasTextureField) {\n changed = applyMaterialValueToRuntimeMaterial(\n material,\n scene,\n 'material.normalTexture.url',\n textureUrl ?? null,\n options,\n ) || changed;\n }\n if (isFiniteNumber(normal.strength)) {\n changed = applyMaterialValueToRuntimeMaterial(\n material,\n scene,\n 'material.normalTexture.level',\n Math.max(0, normal.strength),\n options,\n ) || changed;\n }\n return changed;\n}\n\nfunction applyArtistPbrTextureProfiles(\n material: any,\n scene: RuntimeScene | null,\n profile: ArtistMaterialProfile,\n options: ApplyArtistMaterialProfileOptions,\n): boolean {\n let changed = false;\n const metallicRoughness = profile.metallicRoughness;\n const hasMetallicRoughnessTextureField = hasProfileTextureField(metallicRoughness, 'texture');\n const metallicRoughnessUrl = readTextureUrl(profile.metallicRoughness?.texture, options);\n if (metallicRoughnessUrl || hasMetallicRoughnessTextureField) {\n changed = applyMaterialValueToRuntimeMaterial(\n material,\n scene,\n 'material.metallicTexture.url',\n metallicRoughnessUrl ?? null,\n options,\n ) || changed;\n if (metallicRoughnessUrl) {\n changed = applyBabylonPbrMetallicRoughnessTextureConventions(material) || changed;\n }\n }\n\n const occlusion = profile.occlusion;\n const hasOcclusionTextureField = hasProfileTextureField(occlusion, 'texture');\n const occlusionUrl = readTextureUrl(profile.occlusion?.texture, options);\n const hasOcclusionInput = !!occlusion && typeof occlusion === 'object' && (\n hasOcclusionTextureField\n || occlusionUrl != null\n || occlusion.strength !== undefined\n );\n if (hasOcclusionInput) {\n changed = applyMaterialValueToRuntimeMaterial(\n material,\n scene,\n 'material.occlusionTexture.url',\n occlusionUrl ?? null,\n options,\n ) || changed;\n changed = disableBabylonPbrMetallicRoughnessAmbientOcclusion(material) || changed;\n }\n const occlusionStrength = profile.occlusion?.strength;\n if (isFiniteNumber(occlusionStrength) && 'ambientTextureStrength' in material) {\n material.ambientTextureStrength = Math.max(0, occlusionStrength);\n changed = true;\n }\n return changed;\n}\n\nfunction applyArtistEmissionProfile(\n material: any,\n scene: RuntimeScene | null,\n profile: ArtistMaterialProfile,\n options: ApplyArtistMaterialProfileOptions,\n): boolean {\n const emission = profile.emission;\n if (!emission) return false;\n\n let changed = false;\n const materialRuntimeKind = resolveMaterialRuntimeKind(material);\n const canWritePbrEmissiveIntensity = materialRuntimeKind === 'pbr'\n && resolveRuntimeMaterialProperty(material, 'material.pbr.emissiveIntensity') != null;\n const intensity = isFiniteNumber(emission.intensity) ? Math.max(0, emission.intensity) : null;\n const color = readProfileColor(emission.color);\n\n if (emission.color !== undefined || emission.intensity !== undefined) {\n if (canWritePbrEmissiveIntensity) {\n if (color) {\n changed = applyMaterialValueToRuntimeMaterial(\n material,\n scene,\n 'material.pbr.emissiveColor',\n color,\n options,\n ) || changed;\n }\n if (intensity != null) {\n changed = applyMaterialValueToRuntimeMaterial(\n material,\n scene,\n 'material.pbr.emissiveIntensity',\n intensity,\n options,\n ) || changed;\n }\n } else {\n const fallbackIntensity = intensity ?? 0;\n const fallbackColor = color\n ?? readMaterialColor(material, 'emissiveColor')\n ?? { r: 1, g: 1, b: 1 };\n const emissiveColor = {\n r: fallbackColor.r * fallbackIntensity,\n g: fallbackColor.g * fallbackIntensity,\n b: fallbackColor.b * fallbackIntensity,\n };\n changed = applyMaterialValueToRuntimeMaterial(\n material,\n scene,\n 'material.emissiveColor',\n emissiveColor,\n options,\n ) || changed;\n }\n }\n\n const hasTextureField = hasProfileTextureField(emission, 'texture');\n const hasMaskTextureField = hasProfileTextureField(emission, 'maskTexture');\n const textureUrl = readTextureUrl(emission.texture, options) ?? readTextureUrl(emission.maskTexture, options);\n if (textureUrl || hasTextureField || hasMaskTextureField) {\n changed = applyMaterialValueToRuntimeMaterial(\n material,\n scene,\n 'material.emissiveTexture.url',\n textureUrl ?? null,\n options,\n ) || changed;\n if (\n textureUrl\n && !canWritePbrEmissiveIntensity\n && material.emissiveTexture\n && 'level' in material.emissiveTexture\n ) {\n material.emissiveTexture.level = intensity ?? 0;\n }\n }\n return changed;\n}\n\nfunction applyArtistAlphaProfile(\n material: any,\n scene: RuntimeScene | null,\n profile: ArtistMaterialProfile,\n options: ApplyArtistMaterialProfileOptions,\n): boolean {\n const alpha = profile.alpha;\n if (!alpha) return false;\n\n let changed = false;\n const transparencyMode = resolveBabylonTransparencyMode(alpha.mode);\n if (transparencyMode != null) {\n changed = applyMaterialValueToRuntimeMaterial(\n material,\n scene,\n 'material.transparencyMode',\n transparencyMode,\n options,\n ) || changed;\n }\n if (isFiniteNumber(alpha.opacity)) {\n changed = applyMaterialValueToRuntimeMaterial(\n material,\n scene,\n 'material.alpha',\n clamp01(alpha.opacity),\n options,\n ) || changed;\n }\n if (isFiniteNumber(alpha.cutoff)) {\n changed = applyMaterialValueToRuntimeMaterial(\n material,\n scene,\n 'material.alphaCutOff',\n clamp01(alpha.cutoff),\n options,\n ) || changed;\n }\n\n const hasTextureField = hasProfileTextureField(alpha, 'texture');\n const textureUrl = readTextureUrl(alpha.texture, options);\n if (textureUrl || hasTextureField) {\n changed = applyMaterialValueToRuntimeMaterial(\n material,\n scene,\n 'material.opacityTexture.url',\n textureUrl ?? null,\n options,\n ) || changed;\n }\n return changed;\n}\n\nfunction readTextureUrl(\n texture: ArtistMaterialTextureRef | null | undefined,\n options: ApplyArtistMaterialProfileOptions,\n): string | null {\n if (!texture || typeof texture !== 'object') return null;\n const resolved = options.resolveTextureUrl?.(texture);\n if (typeof resolved === 'string' && resolved.trim()) return resolved.trim();\n return typeof texture.url === 'string' && texture.url.trim() ? texture.url.trim() : null;\n}\n\nfunction resolveBabylonTransparencyMode(mode: ArtistMaterialAlphaMode | null | undefined): number | null {\n if (mode === 'opaque') return 0;\n if (mode === 'mask') return 1;\n if (mode === 'blend') return 2;\n return null;\n}\n\nfunction applyBabylonPbrMetallicRoughnessTextureConventions(material: any): boolean {\n let changed = false;\n if ('useMetallnessFromMetallicTextureBlue' in material && material.useMetallnessFromMetallicTextureBlue !== true) {\n material.useMetallnessFromMetallicTextureBlue = true;\n changed = true;\n }\n if ('useRoughnessFromMetallicTextureGreen' in material && material.useRoughnessFromMetallicTextureGreen !== true) {\n material.useRoughnessFromMetallicTextureGreen = true;\n changed = true;\n }\n if ('useRoughnessFromMetallicTextureAlpha' in material && material.useRoughnessFromMetallicTextureAlpha !== false) {\n material.useRoughnessFromMetallicTextureAlpha = false;\n changed = true;\n }\n return disableBabylonPbrMetallicRoughnessAmbientOcclusion(material) || changed;\n}\n\nfunction disableBabylonPbrMetallicRoughnessAmbientOcclusion(material: any): boolean {\n if (!material || typeof material !== 'object') return false;\n if (!('useAmbientOcclusionFromMetallicTextureRed' in material)) return false;\n if (material.useAmbientOcclusionFromMetallicTextureRed === false) return false;\n material.useAmbientOcclusionFromMetallicTextureRed = false;\n return true;\n}\n\nfunction markRuntimeMaterialDirty(material: any): void {\n if (!material || typeof material !== 'object') return;\n material.markDirty?.();\n material._markAllSubMeshesAsTexturesDirty?.();\n material._markAllSubMeshesAsMiscDirty?.();\n}\n\nfunction readProfileColor(color: ColorRGB | null | undefined): RuntimeColor | null {\n if (!color || !isFiniteNumber(color.r) || !isFiniteNumber(color.g) || !isFiniteNumber(color.b)) return null;\n return { r: color.r, g: color.g, b: color.b };\n}\n\nfunction readMaterialColor(material: any, property: string): RuntimeColor | null {\n const value = material?.[property];\n if (!value || typeof value !== 'object') return null;\n const r = isFiniteNumber(value.r) ? value.r : isFiniteNumber(value._r) ? value._r : null;\n const g = isFiniteNumber(value.g) ? value.g : isFiniteNumber(value._g) ? value._g : null;\n const b = isFiniteNumber(value.b) ? value.b : isFiniteNumber(value._b) ? value._b : null;\n if (r == null || g == null || b == null) return null;\n return { r, g, b };\n}\n\nfunction clamp01(value: number): number {\n return Math.min(1, Math.max(0, value));\n}\n\nexport function resolveMaterialOwnerNode(\n rootNode: RuntimeNode | null,\n ownerNodePath: string,\n options: { isTraversalBoundary?: MaterialSlotOwnerTraversalBoundary } = {},\n): RuntimeNode | null {\n return resolveMaterialSlotOwnerNodes(rootNode, ownerNodePath, {\n includeDescendantMaterialOwners: false,\n isTraversalBoundary: options.isTraversalBoundary,\n })[0] ?? null;\n}\n\nexport function applyMaterialValueToRuntimeNode(\n ownerNode: RuntimeNode | null,\n scene: RuntimeScene | null,\n path: MaterialProp,\n value: MaterialValue,\n options: ApplyMaterialRuntimeOptions = {},\n): boolean {\n return applyMaterialValueToRuntimeMaterial((ownerNode as any)?.material, scene, path, value, options);\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"material-slot-source-resolver.js","sourceRoot":"","sources":["../src/material-slot-source-resolver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"material-slot-source-resolver.js","sourceRoot":"","sources":["../src/material-slot-source-resolver.ts"],"names":[],"mappings":"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","sourcesContent":["import type {\n MaterialSlotSourceDescriptor,\n} from '@fps-games/editor-protocol';\nimport type {\n RuntimeNode,\n} from './types';\n\nexport const MATERIAL_SLOT_SOURCE_NODE_METADATA_KEY = 'editorProjectionSourceNode';\n\nexport type MaterialSlotSourceNodeMetadata = {\n sourceName: string;\n};\n\nexport type MaterialSlotOwnerPathNormalizeContext = {\n projectionNodeId?: string | null;\n};\n\nexport type MaterialSlotOwnerTraversalBoundary = (node: RuntimeNode, rootNode: RuntimeNode) => boolean;\n\nexport type MaterialSlotOwnerTraversalContext = {\n isTraversalBoundary?: MaterialSlotOwnerTraversalBoundary;\n};\n\nexport type MaterialSlotOwnerDescriptor =\n | string\n | MaterialSlotSourceDescriptor\n | Pick<MaterialSlotSourceDescriptor, 'ownerNodePath'>;\n\nexport type ResolveMaterialSlotOwnerNodesOptions = MaterialSlotOwnerPathNormalizeContext & MaterialSlotOwnerTraversalContext & {\n includeDescendantMaterialOwners?: boolean;\n};\n\nexport type MaterialSlotOwnerNodeMatchKind = 'exact' | 'descendant' | 'fallback';\n\nexport interface MaterialSlotOwnerNodeMatch {\n node: RuntimeNode;\n ownerNodePath: string;\n normalizedOwnerNodePath: string;\n matchKind: MaterialSlotOwnerNodeMatchKind;\n}\n\ntype MaterialSlotOwnerCandidate = {\n node: RuntimeNode;\n ownerNodePath: string;\n normalizedOwnerNodePath: string;\n matchKey: string;\n hasMaterial: boolean;\n};\n\ntype MaterialSlotOwnerTraversalPath = {\n sourcePath: string[];\n runtimePath: string[];\n};\n\nexport function resolveMaterialSlotOwnerNodes(\n rootNode: RuntimeNode | null,\n slot: MaterialSlotOwnerDescriptor | null | undefined,\n options: ResolveMaterialSlotOwnerNodesOptions = {},\n): RuntimeNode[] {\n return resolveMaterialSlotOwnerNodeMatches(rootNode, slot, options)\n .map(match => match.node);\n}\n\nexport function resolveMaterialSlotOwnerNodeMatches(\n rootNode: RuntimeNode | null,\n slot: MaterialSlotOwnerDescriptor | null | undefined,\n options: ResolveMaterialSlotOwnerNodesOptions = {},\n): MaterialSlotOwnerNodeMatch[] {\n if (!rootNode) return [];\n const ownerNodePath = readMaterialSlotOwnerDescriptorPath(slot);\n if (ownerNodePath == null) return [];\n const normalizedOwnerNodePath = normalizeMaterialSlotOwnerPath(\n stripMaterialSlotOwnerRootPrefix(ownerNodePath, rootNode, options),\n options,\n );\n const slotMatchKey = createMaterialSlotOwnerPathMatchKey(normalizedOwnerNodePath, options);\n const includeDescendants = options.includeDescendantMaterialOwners !== false;\n const candidates = collectMaterialSlotOwnerCandidates(rootNode, options);\n if (normalizedOwnerNodePath === '') {\n const rootCandidate = candidates.find(candidate => candidate.node === rootNode);\n if (!rootCandidate) return [];\n return [{\n node: rootCandidate.node,\n ownerNodePath: rootCandidate.ownerNodePath,\n normalizedOwnerNodePath: rootCandidate.normalizedOwnerNodePath,\n matchKind: 'exact',\n }];\n }\n\n const exactCandidates = candidates.filter(candidate => candidate.matchKey === slotMatchKey);\n if (!includeDescendants) {\n return exactCandidates.slice(0, 1).map(candidate => createMaterialSlotOwnerNodeMatch(candidate, 'exact'));\n }\n\n const materialMatches = candidates\n .filter(candidate => candidate.hasMaterial)\n .filter(candidate => (\n candidate.matchKey === slotMatchKey\n || isMaterialSlotOwnerPathDescendantKey(candidate.matchKey, slotMatchKey)\n ))\n .map(candidate => createMaterialSlotOwnerNodeMatch(\n candidate,\n candidate.matchKey === slotMatchKey ? 'exact' : 'descendant',\n ));\n if (materialMatches.length > 0) return uniqueMaterialSlotOwnerNodeMatches(materialMatches);\n\n return exactCandidates.slice(0, 1).map(candidate => createMaterialSlotOwnerNodeMatch(candidate, 'fallback'));\n}\n\nexport function normalizeMaterialSlotOwnerPath(\n path: string,\n context: MaterialSlotOwnerPathNormalizeContext = {},\n): string {\n return path\n .split('/')\n .map(segment => normalizeMaterialSlotOwnerPathSegment(segment, context))\n .filter(segment => !!segment && !isSyntheticMaterialSlotOwnerRootSegment(segment))\n .join('/');\n}\n\nexport function createMaterialSlotOwnerPathMatchKey(\n path: string,\n context: MaterialSlotOwnerPathNormalizeContext = {},\n): string {\n return normalizeMaterialSlotOwnerPath(path, context)\n .split('/')\n .map(createMaterialSlotOwnerSegmentMatchKey)\n .filter(Boolean)\n .join('/');\n}\n\nexport function isMaterialSlotOwnerPathMatch(\n ownerNodePath: string,\n slotOwnerNodePath: string,\n context: MaterialSlotOwnerPathNormalizeContext = {},\n): boolean {\n const ownerKey = createMaterialSlotOwnerPathMatchKey(ownerNodePath, context);\n const slotKey = createMaterialSlotOwnerPathMatchKey(slotOwnerNodePath, context);\n return ownerKey === slotKey || isMaterialSlotOwnerPathDescendantKey(ownerKey, slotKey);\n}\n\nexport function buildMaterialSlotOwnerNodePath(\n node: RuntimeNode,\n rootNode: RuntimeNode,\n context: MaterialSlotOwnerPathNormalizeContext & MaterialSlotOwnerTraversalContext = {},\n): string | null {\n if (!node || !rootNode || node === rootNode) return '';\n const segments: string[] = [];\n let current: any = node;\n while (current && current !== rootNode) {\n if (context.isTraversalBoundary?.(current, rootNode)) return null;\n const segment = stableMaterialSlotOwnerNodeSegment(current);\n if (!segment) return null;\n segments.push(segment);\n current = current.parent ?? null;\n }\n if (current !== rootNode) return null;\n return normalizeMaterialSlotOwnerPath(segments.reverse().join('/'), context);\n}\n\nexport function readMaterialSlotSourceNodeSegment(node: unknown): string | null {\n if (!node || typeof node !== 'object') return null;\n const metadata = readMaterialSlotMetadataObject((node as { metadata?: unknown }).metadata);\n const sourceMetadata = readMaterialSlotMetadataObject(metadata?.[MATERIAL_SLOT_SOURCE_NODE_METADATA_KEY]);\n const sourceName = typeof sourceMetadata?.sourceName === 'string'\n ? normalizeMaterialSlotSourceName(sourceMetadata.sourceName)\n : '';\n return sourceName || null;\n}\n\nfunction collectMaterialSlotOwnerCandidates(\n rootNode: RuntimeNode,\n context: ResolveMaterialSlotOwnerNodesOptions,\n): MaterialSlotOwnerCandidate[] {\n const candidates: MaterialSlotOwnerCandidate[] = [];\n const visit = (node: any, parentPath: MaterialSlotOwnerTraversalPath, isRoot = false): void => {\n if (!isRoot && context.isTraversalBoundary?.(node, rootNode)) return;\n const nodePath = isRoot\n ? parentPath\n : createMaterialSlotOwnerNodeTraversalPath(node, parentPath, context);\n for (const pathSegments of createMaterialSlotOwnerCandidatePaths(nodePath)) {\n addMaterialSlotOwnerCandidate(candidates, node, pathSegments, context);\n }\n for (const child of node?.getChildren?.() ?? []) visit(child, nodePath);\n };\n visit(rootNode, { sourcePath: [], runtimePath: [] }, true);\n return candidates;\n}\n\nfunction createMaterialSlotOwnerNodeTraversalPath(\n node: any,\n parentPath: MaterialSlotOwnerTraversalPath,\n context: MaterialSlotOwnerPathNormalizeContext,\n): MaterialSlotOwnerTraversalPath {\n const sourceSegment = readMaterialSlotSourceNodeSegment(node)\n ?? readMaterialSlotOwnerRuntimeNodeSegment(node);\n const runtimeSegment = readMaterialSlotOwnerRuntimeNodeSegment(node);\n return {\n sourcePath: appendMaterialSlotOwnerPathSegment(parentPath.sourcePath, sourceSegment, context),\n runtimePath: appendMaterialSlotOwnerPathSegment(parentPath.runtimePath, runtimeSegment, context),\n };\n}\n\nfunction createMaterialSlotOwnerCandidatePaths(path: MaterialSlotOwnerTraversalPath): string[][] {\n if (path.sourcePath.join('/') === path.runtimePath.join('/')) return [path.sourcePath];\n return [path.sourcePath, path.runtimePath];\n}\n\nfunction appendMaterialSlotOwnerPathSegment(\n path: string[],\n segment: string | null,\n context: MaterialSlotOwnerPathNormalizeContext,\n): string[] {\n if (!segment) return path;\n const normalizedSegment = normalizeMaterialSlotOwnerPathSegment(segment, context);\n if (!normalizedSegment || isSyntheticMaterialSlotOwnerRootSegment(normalizedSegment)) return path;\n return [...path, normalizedSegment];\n}\n\nfunction addMaterialSlotOwnerCandidate(\n candidates: MaterialSlotOwnerCandidate[],\n node: any,\n pathSegments: string[],\n context: MaterialSlotOwnerPathNormalizeContext,\n): void {\n const ownerNodePath = pathSegments.join('/');\n const normalizedOwnerNodePath = normalizeMaterialSlotOwnerPath(ownerNodePath, context);\n candidates.push({\n node,\n ownerNodePath,\n normalizedOwnerNodePath,\n matchKey: createMaterialSlotOwnerPathMatchKey(normalizedOwnerNodePath, context),\n hasMaterial: !!node?.material,\n });\n}\n\nfunction createMaterialSlotOwnerNodeMatch(\n candidate: MaterialSlotOwnerCandidate,\n matchKind: MaterialSlotOwnerNodeMatchKind,\n): MaterialSlotOwnerNodeMatch {\n return {\n node: candidate.node,\n ownerNodePath: candidate.ownerNodePath,\n normalizedOwnerNodePath: candidate.normalizedOwnerNodePath,\n matchKind,\n };\n}\n\nfunction uniqueMaterialSlotOwnerNodeMatches(\n matches: MaterialSlotOwnerNodeMatch[],\n): MaterialSlotOwnerNodeMatch[] {\n const unique: MaterialSlotOwnerNodeMatch[] = [];\n const seen = new Set<RuntimeNode>();\n for (const match of matches) {\n if (seen.has(match.node)) continue;\n seen.add(match.node);\n unique.push(match);\n }\n return unique;\n}\n\nfunction readMaterialSlotOwnerDescriptorPath(slot: MaterialSlotOwnerDescriptor | null | undefined): string | null {\n if (typeof slot === 'string') return slot;\n if (!slot || typeof slot !== 'object') return null;\n return typeof slot.ownerNodePath === 'string' ? slot.ownerNodePath : null;\n}\n\nfunction stripMaterialSlotOwnerRootPrefix(\n ownerNodePath: string,\n rootNode: RuntimeNode,\n context: MaterialSlotOwnerPathNormalizeContext,\n): string {\n const segments = ownerNodePath.split('/').filter(Boolean);\n if (segments.length < 1) return ownerNodePath;\n const firstSegmentKey = createMaterialSlotOwnerPathMatchKey(segments[0]!, context);\n const rootKeys = readMaterialSlotOwnerRootPrefixSegmentCandidates(rootNode)\n .map(segment => createMaterialSlotOwnerPathMatchKey(segment, context))\n .filter(Boolean);\n return rootKeys.includes(firstSegmentKey)\n ? segments.slice(1).join('/')\n : ownerNodePath;\n}\n\nfunction stableMaterialSlotOwnerNodeSegment(node: any): string | null {\n return readMaterialSlotSourceNodeSegment(node) ?? readMaterialSlotOwnerRuntimeNodeSegment(node);\n}\n\nfunction readMaterialSlotOwnerRootPrefixSegmentCandidates(node: any): string[] {\n const segments: string[] = [];\n const sourceSegment = readMaterialSlotSourceNodeSegment(node);\n if (sourceSegment) segments.push(sourceSegment);\n const runtimeSegment = readMaterialSlotOwnerRuntimeNodeSegment(node);\n if (runtimeSegment && !segments.includes(runtimeSegment)) segments.push(runtimeSegment);\n return segments;\n}\n\nfunction readMaterialSlotOwnerRuntimeNodeSegment(node: any): string | null {\n const candidates = [node?.name, node?.id];\n for (const candidate of candidates) {\n if (typeof candidate !== 'string') continue;\n const trimmed = candidate.trim();\n if (trimmed) return trimmed;\n }\n return null;\n}\n\nfunction normalizeMaterialSlotOwnerPathSegment(\n segment: string,\n context: MaterialSlotOwnerPathNormalizeContext,\n): string {\n const withoutLeadingNamespace = stripMaterialSlotOwnerPathNamespace(segment.trim());\n const withoutInstancePrefix = stripMaterialSlotProjectionInstancePrefix(withoutLeadingNamespace, context);\n return stripMaterialSlotOwnerPathNamespace(withoutInstancePrefix);\n}\n\nfunction stripMaterialSlotOwnerPathNamespace(segment: string): string {\n return segment.includes(':') ? segment.slice(segment.lastIndexOf(':') + 1) : segment;\n}\n\nfunction stripMaterialSlotProjectionInstancePrefix(\n segment: string,\n context: MaterialSlotOwnerPathNormalizeContext,\n): string {\n const projectionNodeId = typeof context.projectionNodeId === 'string'\n ? context.projectionNodeId.trim()\n : '';\n if (!projectionNodeId) return segment;\n const prefix = `${projectionNodeId}.projectionAsset.`;\n return segment.startsWith(prefix) ? segment.slice(prefix.length) : segment;\n}\n\nfunction createMaterialSlotOwnerSegmentMatchKey(segment: string): string {\n const normalized = normalizeMaterialSlotOwnerPathSegment(segment, {});\n const generatedPrimitiveMatch = /^node_(\\d+)_primitive(\\d+)$/.exec(normalized);\n if (generatedPrimitiveMatch) return `node${generatedPrimitiveMatch[1]}_primitive${generatedPrimitiveMatch[2]}`;\n const generatedNodeMatch = /^node_(\\d+)$/.exec(normalized);\n if (generatedNodeMatch) return `node${generatedNodeMatch[1]}`;\n return normalized;\n}\n\nfunction isMaterialSlotOwnerPathDescendantKey(ownerKey: string, candidateAncestorKey: string): boolean {\n if (!ownerKey || !candidateAncestorKey) return false;\n return ownerKey.startsWith(`${candidateAncestorKey}/`);\n}\n\nfunction isSyntheticMaterialSlotOwnerRootSegment(segment: string): boolean {\n return segment === '__root__';\n}\n\nfunction normalizeMaterialSlotSourceName(value: unknown): string {\n return typeof value === 'string' ? value.trim() : '';\n}\n\nfunction readMaterialSlotMetadataObject(value: unknown): Record<string, unknown> | null {\n return value && typeof value === 'object' && !Array.isArray(value)\n ? value as Record<string, unknown>\n : null;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"monitor.js","sourceRoot":"","sources":["../src/monitor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"monitor.js","sourceRoot":"","sources":["../src/monitor.ts"],"names":[],"mappings":"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","sourcesContent":["import type { MaterialProp, OutlineProp, PersistentBinding } from '@fps-games/editor-protocol';\nimport { createBrowserHost, type BrowserHost } from '@fps-games/editor-browser';\nimport { adaptMaterialPropertyChange, MATERIAL_CANONICAL_PATHS, resolveMaterialRuntimeKind } from './material-property-adapter';\nimport { adaptOutlinePropertyChange, OUTLINE_CANONICAL_PATHS, resolveOutlineTarget } from './outline-adapter';\nimport type { MaterialSlotOwnerTraversalBoundary } from './material-slot-source-resolver';\nimport type {\n CanonicalMaterialChange,\n CanonicalOutlineChange,\n CanonicalTransformChange,\n RuntimeNode,\n RuntimeScene,\n RuntimeTransformSnapshot,\n} from './types';\n\nexport type EditorRuntimeMonitorChange = {\n time: number;\n obj: RuntimeNode;\n binding: PersistentBinding | null;\n prop: string;\n old: unknown;\n new: unknown;\n};\n\nexport interface EditorRuntimeMonitorOptions {\n host?: BrowserHost;\n getScene: () => RuntimeScene | null;\n getSelectedEntity: () => RuntimeNode | null;\n getSelectedEntities?: () => RuntimeNode[];\n resolveBinding: (node: RuntimeNode) => PersistentBinding | null;\n onSelectionChanged?: (node: RuntimeNode | null) => void;\n onDocumentChanged?: () => void;\n onChangesFlushed?: (changes: EditorRuntimeMonitorChange[]) => void;\n onTransformChange?: (change: CanonicalTransformChange) => boolean | void;\n onMaterialChange?: (change: CanonicalMaterialChange) => boolean | void;\n onOutlineChange?: (change: CanonicalOutlineChange) => boolean | void;\n isMaterialOwnerTraversalBoundary?: MaterialSlotOwnerTraversalBoundary;\n onTransformBatchBegin?: () => void;\n onTransformBatchEnd?: () => void;\n debounceMs?: number;\n log?: (message: string, data?: Record<string, unknown>) => void;\n}\n\nexport interface EditorRuntimeMonitor {\n readonly isDragging: boolean;\n start(): void;\n stop(): void;\n reset(): void;\n flush(): void;\n rebase(nextNode?: RuntimeNode | null): void;\n recordCanonicalMaterialChange(change: CanonicalMaterialChange): void;\n}\n\ntype PendingTransformChange = {\n start: RuntimeTransformSnapshot;\n latest: RuntimeTransformSnapshot;\n};\n\nconst EPS = 1e-6;\n\nfunction vecEq(a: { x: number; y: number; z: number }, b: { x: number; y: number; z: number }): boolean {\n return Math.abs(a.x - b.x) < EPS\n && Math.abs(a.y - b.y) < EPS\n && Math.abs(a.z - b.z) < EPS;\n}\n\nfunction cloneVec3Like(source: any): { x: number; y: number; z: number } | null {\n if (!source || typeof source !== 'object') return null;\n const x = typeof source.x === 'number' ? source.x : null;\n const y = typeof source.y === 'number' ? source.y : null;\n const z = typeof source.z === 'number' ? source.z : null;\n if (x == null || y == null || z == null) return null;\n return { x, y, z };\n}\n\nfunction cloneColor3(value: any): { r: number; g: number; b: number } | null {\n if (!value || typeof value !== 'object') return null;\n const r = typeof value.r === 'number' ? value.r : typeof value._r === 'number' ? value._r : null;\n const g = typeof value.g === 'number' ? value.g : typeof value._g === 'number' ? value._g : null;\n const b = typeof value.b === 'number' ? value.b : typeof value._b === 'number' ? value._b : null;\n if (r == null || g == null || b == null) return null;\n return { r, g, b };\n}\n\nfunction readTextureUrl(value: any): string | null {\n if (typeof value === 'string') return value.trim() || null;\n if (!value || typeof value !== 'object') return null;\n if (typeof value.url === 'string' && value.url.trim()) return value.url.trim();\n if (typeof value.name === 'string' && value.name.trim()) return value.name.trim();\n return null;\n}\n\nfunction cloneValue<T>(value: T): T {\n if (value == null || typeof value !== 'object') return value;\n return JSON.parse(JSON.stringify(value)) as T;\n}\n\nfunction valueEq(a: unknown, b: unknown): boolean {\n if (Object.is(a, b)) return true;\n if (typeof a === 'number' && typeof b === 'number') return Math.abs(a - b) < EPS;\n if (a && b && typeof a === 'object' && typeof b === 'object') return JSON.stringify(a) === JSON.stringify(b);\n return false;\n}\n\nfunction readRotation(node: any): { x: number; y: number; z: number } | null {\n const quat = node?.rotationQuaternion;\n if (quat && typeof quat.toEulerAngles === 'function') return cloneVec3Like(quat.toEulerAngles());\n return cloneVec3Like(node?.rotation);\n}\n\nfunction snapshotTransform(node: RuntimeNode | null): RuntimeTransformSnapshot | null {\n if (!node) return null;\n const position = cloneVec3Like((node as any).position);\n const rotation = readRotation(node as any);\n const scaling = cloneVec3Like((node as any).scaling);\n if (!position || !rotation || !scaling) return null;\n return { position, rotation, scaling };\n}\n\nfunction hasChanged(a: RuntimeTransformSnapshot, b: RuntimeTransformSnapshot): boolean {\n return !vecEq(a.position, b.position) || !vecEq(a.rotation, b.rotation) || !vecEq(a.scaling, b.scaling);\n}\n\nfunction cloneTransformSnapshot(value: RuntimeTransformSnapshot): RuntimeTransformSnapshot {\n return {\n position: { ...value.position },\n rotation: { ...value.rotation },\n scaling: { ...value.scaling },\n };\n}\n\nfunction hasTransform(node: any): boolean {\n return !!node?.position && (!!node?.rotation || !!node?.rotationQuaternion) && !!node?.scaling;\n}\n\nfunction resolveTrackedNode(scene: RuntimeScene | null, entity: any, previous: RuntimeNode | null): RuntimeNode | null {\n if (!entity) return null;\n if (hasTransform(entity)) return entity as RuntimeNode;\n if (previous && (previous as any).material === entity) return previous;\n const owner = (scene?.meshes || []).find((mesh: any) => mesh?.material === entity);\n if (owner && hasTransform(owner)) return owner as RuntimeNode;\n return previous ?? null;\n}\n\nfunction snapshotMaterial(node: RuntimeNode | null): Record<string, unknown> {\n const material = (node as any)?.material;\n if (!material || typeof material !== 'object') return {};\n\n const materialRuntimeKind = resolveMaterialRuntimeKind(material);\n const out: Record<string, unknown> = {};\n for (const fieldPath of MATERIAL_CANONICAL_PATHS) {\n switch (fieldPath) {\n case 'material.albedoColor':\n case 'material.emissiveColor': {\n if (materialRuntimeKind !== 'unknown') break;\n const key = fieldPath === 'material.albedoColor'\n ? ('albedoColor' in material ? 'albedoColor' : 'diffuseColor')\n : 'emissiveColor';\n const color = cloneColor3(material[key]);\n if (color) out[fieldPath] = color;\n break;\n }\n case 'material.metallic':\n case 'material.roughness':\n case 'material.alpha': {\n const key = fieldPath.split('.')[1]!;\n const n = material[key];\n if (typeof n === 'number' && Number.isFinite(n)) out[fieldPath] = n;\n break;\n }\n case 'material.backFaceCulling': {\n const v = material.backFaceCulling;\n if (typeof v === 'boolean') out[fieldPath] = v;\n break;\n }\n case 'material.albedoTexture.url':\n case 'material.normalTexture.url':\n case 'material.metallicTexture.url': {\n const key = fieldPath.split('.')[1]!;\n out[fieldPath] = readTextureUrl(material[key]);\n break;\n }\n case 'material.pbr.albedoColor':\n case 'material.pbr.reflectivityColor':\n case 'material.pbr.emissiveColor':\n case 'material.pbr.ambientColor': {\n if (materialRuntimeKind !== 'pbr') break;\n const key = fieldPath.split('.')[2]!;\n const hidden = `_${key}`;\n const color = cloneColor3(material[hidden] ?? material[key]);\n if (color) out[fieldPath] = color;\n break;\n }\n case 'material.pbr.baseWeight':\n case 'material.pbr.microSurface':\n case 'material.pbr.emissiveIntensity':\n case 'material.pbr.lightFalloff': {\n if (materialRuntimeKind !== 'pbr') break;\n const key = fieldPath.split('.')[2]!;\n const hidden = `_${key}`;\n const n = material[hidden] ?? material[key];\n if (typeof n === 'number' && Number.isFinite(n)) out[fieldPath] = n;\n break;\n }\n case 'material.standard.diffuseColor':\n case 'material.standard.specularColor':\n case 'material.standard.emissiveColor':\n case 'material.standard.ambientColor': {\n if (materialRuntimeKind !== 'standard') break;\n const key = fieldPath.split('.')[2]!;\n const hidden = `_${key}`;\n const color = cloneColor3(material[key] ?? material[hidden]);\n if (color) out[fieldPath] = color;\n break;\n }\n case 'material.standard.specularPower': {\n if (materialRuntimeKind !== 'standard') break;\n const n = material.specularPower ?? material._specularPower;\n if (typeof n === 'number' && Number.isFinite(n)) out[fieldPath] = n;\n break;\n }\n case 'material.standard.useSpecularOverAlpha': {\n if (materialRuntimeKind !== 'standard') break;\n const v = material.useSpecularOverAlpha ?? material._useSpecularOverAlpha;\n if (typeof v === 'boolean') out[fieldPath] = v;\n break;\n }\n default:\n break;\n }\n }\n return out;\n}\n\nfunction snapshotOutline(node: RuntimeNode | null): Record<string, unknown> {\n const { target } = resolveOutlineTarget(node);\n const outlineTarget = target as any;\n if (!outlineTarget || typeof outlineTarget !== 'object') return {};\n\n const out: Record<string, unknown> = {};\n for (const fieldPath of OUTLINE_CANONICAL_PATHS) {\n switch (fieldPath) {\n case 'outline.renderOutline':\n out[fieldPath] = !!outlineTarget.renderOutline;\n break;\n case 'outline.outlineWidth':\n if (typeof outlineTarget.outlineWidth === 'number' && Number.isFinite(outlineTarget.outlineWidth)) {\n out[fieldPath] = outlineTarget.outlineWidth;\n }\n break;\n case 'outline.outlineColor': {\n const color = cloneColor3(outlineTarget.outlineColor);\n if (color) out[fieldPath] = color;\n break;\n }\n default:\n break;\n }\n }\n return out;\n}\n\nexport function createEditorRuntimeMonitor(options: EditorRuntimeMonitorOptions): EditorRuntimeMonitor {\n const host = options.host ?? createBrowserHost();\n const debounceMs = options.debounceMs ?? 250;\n let enabled = false;\n let sceneObs: unknown = null;\n let selectedNode: RuntimeNode | null = null;\n let selectedNodes: RuntimeNode[] = [];\n let baseline: RuntimeTransformSnapshot | null = null;\n let materialBaseline: Record<string, unknown> = {};\n let outlineBaseline: Record<string, unknown> = {};\n let pendingByNode = new Map<RuntimeNode, PendingTransformChange>();\n let pendingMaterialByKey = new Map<string, CanonicalMaterialChange>();\n let pendingOutlineByKey = new Map<string, CanonicalOutlineChange>();\n let transformTimer: number | null = null;\n let materialTimer: number | null = null;\n let outlineTimer: number | null = null;\n let contextTimer: number | null = null;\n let contextBuffer: EditorRuntimeMonitorChange[] = [];\n let pointerActive = false;\n let hadDragDuringPointer = false;\n let hadMaterialChangeDuringPointer = false;\n let hadOutlineChangeDuringPointer = false;\n\n function log(message: string, data?: Record<string, unknown>): void {\n options.log?.(message, data);\n }\n\n function isSameNode(a: RuntimeNode | null | undefined, b: RuntimeNode | null | undefined): boolean {\n if (!a || !b) return false;\n if (a === b) return true;\n const aId = (a as any).uniqueId;\n const bId = (b as any).uniqueId;\n return typeof aId === 'number' && typeof bId === 'number' && aId === bId;\n }\n\n function collectSelectedNodes(primary: RuntimeNode | null): RuntimeNode[] {\n const out: RuntimeNode[] = [];\n if (primary) out.push(primary);\n const fromOptions = options.getSelectedEntities?.() ?? [];\n for (const node of fromOptions) {\n if (!node || !hasTransform(node)) continue;\n if (out.some(item => isSameNode(item, node))) continue;\n out.push(node);\n }\n return out;\n }\n\n function upsertPendingNode(node: RuntimeNode, start: RuntimeTransformSnapshot, latest: RuntimeTransformSnapshot): void {\n const existing = pendingByNode.get(node);\n if (!existing) {\n pendingByNode.set(node, { start: cloneTransformSnapshot(start), latest: cloneTransformSnapshot(latest) });\n return;\n }\n existing.latest = cloneTransformSnapshot(latest);\n }\n\n function materialChangeKey(change: CanonicalMaterialChange): string {\n return [change.binding.kind, change.binding.nodeId, change.target, change.ownerNodePath, change.path].join('::');\n }\n\n function outlineChangeKey(change: CanonicalOutlineChange): string {\n return [change.binding.kind, change.binding.nodeId, change.target, change.ownerNodePath, change.path].join('::');\n }\n\n function upsertPendingMaterial(change: CanonicalMaterialChange): void {\n const key = materialChangeKey(change);\n const existing = pendingMaterialByKey.get(key);\n if (!existing) {\n pendingMaterialByKey.set(key, { ...change, before: cloneValue(change.before), after: cloneValue(change.after) });\n return;\n }\n existing.runtimeNode = change.runtimeNode;\n existing.binding = change.binding;\n existing.after = cloneValue(change.after);\n }\n\n function upsertPendingOutline(change: CanonicalOutlineChange): void {\n const key = outlineChangeKey(change);\n const existing = pendingOutlineByKey.get(key);\n if (!existing) {\n pendingOutlineByKey.set(key, { ...change, before: cloneValue(change.before), after: cloneValue(change.after) });\n return;\n }\n existing.runtimeNode = change.runtimeNode;\n existing.binding = change.binding;\n existing.after = cloneValue(change.after);\n }\n\n function pushContextChange(change: EditorRuntimeMonitorChange): void {\n if (valueEq(change.old, change.new)) return;\n contextBuffer.push({ ...change, old: cloneValue(change.old), new: cloneValue(change.new) });\n scheduleContextFlush();\n }\n\n function flushContextChanges(): void {\n if (!contextBuffer.length) {\n if (contextTimer) {\n host.clearTimeout(contextTimer);\n contextTimer = null;\n }\n return;\n }\n if (pendingMaterialByKey.size > 0 && !pointerActive) flushPendingMaterial();\n if (pendingOutlineByKey.size > 0 && !pointerActive) flushPendingOutline();\n const payload = contextBuffer;\n contextBuffer = [];\n if (contextTimer) {\n host.clearTimeout(contextTimer);\n contextTimer = null;\n }\n options.onChangesFlushed?.(payload);\n }\n\n function scheduleContextFlush(): void {\n if (contextTimer) host.clearTimeout(contextTimer);\n contextTimer = host.setTimeout(flushContextChanges, debounceMs);\n }\n\n function scheduleTransformFlush(): void {\n if (transformTimer) host.clearTimeout(transformTimer);\n transformTimer = host.setTimeout(flushPending, debounceMs);\n }\n\n function scheduleMaterialFlush(): void {\n if (materialTimer) host.clearTimeout(materialTimer);\n materialTimer = host.setTimeout(flushPendingMaterial, debounceMs);\n }\n\n function scheduleOutlineFlush(): void {\n if (outlineTimer) host.clearTimeout(outlineTimer);\n outlineTimer = host.setTimeout(flushPendingOutline, debounceMs);\n }\n\n function clearPending(): void {\n if (transformTimer) {\n host.clearTimeout(transformTimer);\n transformTimer = null;\n }\n pendingByNode.clear();\n }\n\n function clearPendingMaterial(): void {\n if (materialTimer) {\n host.clearTimeout(materialTimer);\n materialTimer = null;\n }\n pendingMaterialByKey.clear();\n }\n\n function clearPendingOutline(): void {\n if (outlineTimer) {\n host.clearTimeout(outlineTimer);\n outlineTimer = null;\n }\n pendingOutlineByKey.clear();\n }\n\n function applyDeltaToFollowers(previous: RuntimeTransformSnapshot, next: RuntimeTransformSnapshot): void {\n if (!selectedNode) return;\n const deltaPosition = {\n x: next.position.x - previous.position.x,\n y: next.position.y - previous.position.y,\n z: next.position.z - previous.position.z,\n };\n const deltaRotation = {\n x: next.rotation.x - previous.rotation.x,\n y: next.rotation.y - previous.rotation.y,\n z: next.rotation.z - previous.rotation.z,\n };\n const deltaScaling = {\n x: next.scaling.x - previous.scaling.x,\n y: next.scaling.y - previous.scaling.y,\n z: next.scaling.z - previous.scaling.z,\n };\n\n for (const node of selectedNodes) {\n if (isSameNode(node, selectedNode)) continue;\n const before = snapshotTransform(node);\n if (!before) continue;\n\n const position = (node as any).position;\n if (position?.addInPlaceFromFloats) position.addInPlaceFromFloats(deltaPosition.x, deltaPosition.y, deltaPosition.z);\n else if (position) {\n position.x += deltaPosition.x;\n position.y += deltaPosition.y;\n position.z += deltaPosition.z;\n }\n\n if ((node as any).rotationQuaternion) (node as any).rotationQuaternion = null;\n const rotation = (node as any).rotation;\n if (rotation?.addInPlaceFromFloats) rotation.addInPlaceFromFloats(deltaRotation.x, deltaRotation.y, deltaRotation.z);\n else if (rotation) {\n rotation.x += deltaRotation.x;\n rotation.y += deltaRotation.y;\n rotation.z += deltaRotation.z;\n }\n\n const scaling = (node as any).scaling;\n if (scaling?.addInPlaceFromFloats) scaling.addInPlaceFromFloats(deltaScaling.x, deltaScaling.y, deltaScaling.z);\n else if (scaling) {\n scaling.x += deltaScaling.x;\n scaling.y += deltaScaling.y;\n scaling.z += deltaScaling.z;\n }\n\n const after = snapshotTransform(node);\n if (!after) continue;\n upsertPendingNode(node, before, after);\n }\n }\n\n function flushPending(): void {\n if (!pendingByNode.size) {\n clearPending();\n return;\n }\n const pendingCount = pendingByNode.size;\n log('flush transform pending', { pendingCount });\n const timestamp = Date.now();\n let changed = false;\n options.onTransformBatchBegin?.();\n try {\n for (const [node, value] of pendingByNode.entries()) {\n const binding = options.resolveBinding(node);\n const { start, latest } = value;\n for (const prop of ['position', 'rotation', 'scaling'] as const) {\n if (vecEq(start[prop], latest[prop])) continue;\n const change: CanonicalTransformChange = {\n runtimeNode: node,\n binding,\n prop,\n before: start[prop],\n after: latest[prop],\n };\n pushContextChange({ time: timestamp, obj: node, binding, prop, old: start[prop], new: latest[prop] });\n changed = options.onTransformChange?.(change) === true || changed;\n }\n }\n } finally {\n options.onTransformBatchEnd?.();\n }\n\n clearPending();\n log('flush transform completed', { pendingCount, changed });\n if (changed) options.onDocumentChanged?.();\n }\n\n function flushPendingMaterial(): void {\n if (!pendingMaterialByKey.size) {\n clearPendingMaterial();\n return;\n }\n const pendingCount = pendingMaterialByKey.size;\n log('flush material pending', { pendingCount });\n let changed = false;\n for (const change of pendingMaterialByKey.values()) {\n changed = options.onMaterialChange?.(change) === true || changed;\n }\n clearPendingMaterial();\n log('flush material completed', { pendingCount, changed });\n if (changed) options.onDocumentChanged?.();\n }\n\n function flushPendingOutline(): void {\n if (!pendingOutlineByKey.size) {\n clearPendingOutline();\n return;\n }\n const pendingCount = pendingOutlineByKey.size;\n log('flush outline pending', { pendingCount });\n let changed = false;\n for (const change of pendingOutlineByKey.values()) {\n changed = options.onOutlineChange?.(change) === true || changed;\n }\n clearPendingOutline();\n log('flush outline completed', { pendingCount, changed });\n if (changed) options.onDocumentChanged?.();\n }\n\n function queuePending(next: RuntimeTransformSnapshot): void {\n if (!selectedNode) return;\n const existing = pendingByNode.get(selectedNode);\n const start = existing?.start ?? baseline ?? next;\n upsertPendingNode(selectedNode, start, next);\n if (pointerActive) {\n hadDragDuringPointer = true;\n if (transformTimer) {\n host.clearTimeout(transformTimer);\n transformTimer = null;\n }\n return;\n }\n scheduleTransformFlush();\n }\n\n function syncSelection(nextNode: RuntimeNode | null): void {\n const scene = options.getScene();\n const resolvedNode = resolveTrackedNode(scene, nextNode, selectedNode);\n if (resolvedNode === selectedNode) return;\n flushPending();\n flushPendingMaterial();\n flushPendingOutline();\n flushContextChanges();\n selectedNode = resolvedNode;\n selectedNodes = collectSelectedNodes(selectedNode);\n baseline = snapshotTransform(selectedNode);\n materialBaseline = snapshotMaterial(selectedNode);\n outlineBaseline = snapshotOutline(selectedNode);\n options.onSelectionChanged?.(selectedNode);\n }\n\n function rebaseSelection(nextNode?: RuntimeNode | null): void {\n if (nextNode !== undefined) selectedNode = nextNode;\n selectedNodes = collectSelectedNodes(selectedNode);\n clearPending();\n clearPendingMaterial();\n clearPendingOutline();\n baseline = snapshotTransform(selectedNode);\n materialBaseline = snapshotMaterial(selectedNode);\n outlineBaseline = snapshotOutline(selectedNode);\n }\n\n function checkMaterial(): void {\n if (!selectedNode) return;\n const next = snapshotMaterial(selectedNode);\n const allPaths = new Set<string>([...Object.keys(materialBaseline), ...Object.keys(next)]);\n const binding = options.resolveBinding(selectedNode);\n let recorded = false;\n for (const path of allPaths) {\n const oldValue = materialBaseline[path];\n const newValue = next[path];\n if (valueEq(oldValue, newValue)) continue;\n pushContextChange({ time: Date.now(), obj: selectedNode, binding, prop: path, old: oldValue, new: newValue });\n if (binding) {\n const materialChange = adaptMaterialPropertyChange({\n scene: options.getScene(),\n selectedEntity: selectedNode,\n entity: selectedNode,\n propertyKey: path as MaterialProp,\n oldValue,\n newValue,\n resolveBinding: node => options.resolveBinding(node),\n isTraversalBoundary: options.isMaterialOwnerTraversalBoundary,\n });\n if (materialChange) {\n upsertPendingMaterial(materialChange);\n recorded = true;\n }\n }\n }\n materialBaseline = next;\n if (!recorded) return;\n if (pointerActive) {\n hadMaterialChangeDuringPointer = true;\n if (materialTimer) {\n host.clearTimeout(materialTimer);\n materialTimer = null;\n }\n return;\n }\n scheduleMaterialFlush();\n }\n\n function recordCanonicalMaterialChange(change: CanonicalMaterialChange): void {\n upsertPendingMaterial(change);\n if (selectedNode && isSameNode(selectedNode, change.runtimeNode)) materialBaseline[change.path] = cloneValue(change.after);\n pushContextChange({\n time: Date.now(),\n obj: change.runtimeNode,\n binding: change.binding,\n prop: change.path,\n old: change.before,\n new: change.after,\n });\n if (pointerActive) {\n hadMaterialChangeDuringPointer = true;\n if (materialTimer) {\n host.clearTimeout(materialTimer);\n materialTimer = null;\n }\n if (contextTimer) {\n host.clearTimeout(contextTimer);\n contextTimer = null;\n }\n return;\n }\n scheduleMaterialFlush();\n }\n\n function checkOutline(): void {\n if (!selectedNode) return;\n const next = snapshotOutline(selectedNode);\n const allPaths = new Set<string>([...Object.keys(outlineBaseline), ...Object.keys(next)]);\n const binding = options.resolveBinding(selectedNode);\n let recorded = false;\n for (const path of allPaths) {\n const oldValue = outlineBaseline[path];\n const newValue = next[path];\n if (valueEq(oldValue, newValue)) continue;\n pushContextChange({ time: Date.now(), obj: selectedNode, binding, prop: path, old: oldValue, new: newValue });\n if (binding) {\n const outlineChange = adaptOutlinePropertyChange({\n selectedEntity: selectedNode,\n propertyKey: path as OutlineProp,\n oldValue,\n newValue,\n resolveBinding: node => options.resolveBinding(node),\n });\n if (outlineChange) {\n upsertPendingOutline(outlineChange);\n recorded = true;\n }\n }\n }\n outlineBaseline = next;\n if (!recorded) return;\n if (pointerActive) {\n hadOutlineChangeDuringPointer = true;\n if (outlineTimer) {\n host.clearTimeout(outlineTimer);\n outlineTimer = null;\n }\n return;\n }\n scheduleOutlineFlush();\n }\n\n function tick(): void {\n const rawEntity = options.getSelectedEntity();\n const resolvedNode = resolveTrackedNode(options.getScene(), rawEntity, selectedNode);\n if (resolvedNode !== selectedNode) syncSelection(rawEntity);\n if (!selectedNode) return;\n selectedNodes = collectSelectedNodes(selectedNode);\n const next = snapshotTransform(selectedNode);\n if (next && baseline) {\n if (!hasChanged(baseline, next)) {\n if (pendingByNode.size > 0 && !pointerActive && !transformTimer) scheduleTransformFlush();\n } else {\n const previous = baseline;\n queuePending(next);\n applyDeltaToFollowers(previous, next);\n baseline = next;\n }\n } else if (next && !baseline) {\n baseline = next;\n }\n checkMaterial();\n checkOutline();\n }\n\n function onPointerDown(): void {\n if (!enabled) return;\n pointerActive = true;\n hadDragDuringPointer = false;\n hadMaterialChangeDuringPointer = false;\n hadOutlineChangeDuringPointer = false;\n }\n\n function onPointerUp(): void {\n if (!enabled) return;\n pointerActive = false;\n if (hadDragDuringPointer) flushPending();\n if (hadMaterialChangeDuringPointer) flushPendingMaterial();\n if (hadOutlineChangeDuringPointer) flushPendingOutline();\n flushContextChanges();\n hadDragDuringPointer = false;\n hadMaterialChangeDuringPointer = false;\n hadOutlineChangeDuringPointer = false;\n }\n\n return {\n get isDragging(): boolean {\n return pointerActive || pendingByNode.size > 0;\n },\n\n start(): void {\n if (enabled) return;\n const scene = options.getScene();\n if (!scene) return;\n syncSelection(options.getSelectedEntity());\n sceneObs = scene.onAfterRenderObservable?.add?.(() => tick()) ?? null;\n host.window.addEventListener('pointerdown', onPointerDown, true);\n host.window.addEventListener('pointerup', onPointerUp, true);\n enabled = true;\n },\n\n stop(): void {\n if (!enabled) return;\n flushPending();\n flushPendingMaterial();\n flushPendingOutline();\n flushContextChanges();\n const scene = options.getScene();\n if (sceneObs) {\n scene?.onAfterRenderObservable?.remove?.(sceneObs);\n sceneObs = null;\n }\n host.window.removeEventListener('pointerdown', onPointerDown, true);\n host.window.removeEventListener('pointerup', onPointerUp, true);\n pointerActive = false;\n hadDragDuringPointer = false;\n hadMaterialChangeDuringPointer = false;\n hadOutlineChangeDuringPointer = false;\n enabled = false;\n },\n\n reset(): void {\n this.stop();\n selectedNode = null;\n baseline = null;\n materialBaseline = {};\n outlineBaseline = {};\n contextBuffer = [];\n if (contextTimer) {\n host.clearTimeout(contextTimer);\n contextTimer = null;\n }\n clearPending();\n clearPendingMaterial();\n clearPendingOutline();\n },\n\n flush(): void {\n log('flush requested', {\n transformPending: pendingByNode.size,\n materialPending: pendingMaterialByKey.size,\n outlinePending: pendingOutlineByKey.size,\n contextPending: contextBuffer.length,\n });\n flushPending();\n flushPendingMaterial();\n flushPendingOutline();\n flushContextChanges();\n log('flush completed', {\n transformPending: pendingByNode.size,\n materialPending: pendingMaterialByKey.size,\n outlinePending: pendingOutlineByKey.size,\n contextPending: contextBuffer.length,\n });\n },\n\n rebase(nextNode?: RuntimeNode | null): void {\n rebaseSelection(nextNode);\n },\n\n recordCanonicalMaterialChange(change: CanonicalMaterialChange): void {\n recordCanonicalMaterialChange(change);\n },\n };\n}\n"]}