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

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 (1400) hide show
  1. package/dist/agent-bridge/capabilities/editor-state.d.ts.map +1 -1
  2. package/dist/agent-bridge/capabilities/editor-state.js +32 -17
  3. package/dist/agent-bridge/capabilities/editor-state.js.map +1 -1
  4. package/dist/agent-bridge/capabilities/hierarchy.d.ts +4 -0
  5. package/dist/agent-bridge/capabilities/hierarchy.d.ts.map +1 -0
  6. package/dist/agent-bridge/capabilities/hierarchy.js +209 -0
  7. package/dist/agent-bridge/capabilities/hierarchy.js.map +1 -0
  8. package/dist/agent-bridge/capabilities/prefabs.d.ts.map +1 -1
  9. package/dist/agent-bridge/capabilities/prefabs.js +243 -60
  10. package/dist/agent-bridge/capabilities/prefabs.js.map +1 -1
  11. package/dist/agent-bridge/capabilities/scene-objects.d.ts +3 -4
  12. package/dist/agent-bridge/capabilities/scene-objects.d.ts.map +1 -1
  13. package/dist/agent-bridge/capabilities/scene-objects.js +111 -25
  14. package/dist/agent-bridge/capabilities/scene-objects.js.map +1 -1
  15. package/dist/agent-bridge/capabilities/selection.d.ts.map +1 -1
  16. package/dist/agent-bridge/capabilities/selection.js +8 -5
  17. package/dist/agent-bridge/capabilities/selection.js.map +1 -1
  18. package/dist/agent-bridge/capabilities/shadows.d.ts.map +1 -1
  19. package/dist/agent-bridge/capabilities/shadows.js +839 -67
  20. package/dist/agent-bridge/capabilities/shadows.js.map +1 -1
  21. package/dist/agent-bridge/capabilities/transform.d.ts.map +1 -1
  22. package/dist/agent-bridge/capabilities/transform.js +6 -4
  23. package/dist/agent-bridge/capabilities/transform.js.map +1 -1
  24. package/dist/agent-bridge/capabilities/ui-regions.d.ts.map +1 -1
  25. package/dist/agent-bridge/capabilities/ui-regions.js +3 -1
  26. package/dist/agent-bridge/capabilities/ui-regions.js.map +1 -1
  27. package/dist/agent-bridge/capabilities/viewport.d.ts.map +1 -1
  28. package/dist/agent-bridge/capabilities/viewport.js +92 -47
  29. package/dist/agent-bridge/capabilities/viewport.js.map +1 -1
  30. package/dist/agent-bridge/capability-sources.d.ts.map +1 -1
  31. package/dist/agent-bridge/capability-sources.js +2 -0
  32. package/dist/agent-bridge/capability-sources.js.map +1 -1
  33. package/dist/agent-bridge/register.d.ts.map +1 -1
  34. package/dist/agent-bridge/register.js +194 -0
  35. package/dist/agent-bridge/register.js.map +1 -1
  36. package/dist/agent-bridge/shared.d.ts +232 -7
  37. package/dist/agent-bridge/shared.d.ts.map +1 -1
  38. package/dist/agent-bridge/shared.js +174 -0
  39. package/dist/agent-bridge/shared.js.map +1 -1
  40. package/dist/agent-bridge/source-types.d.ts +17 -1
  41. package/dist/agent-bridge/source-types.d.ts.map +1 -1
  42. package/dist/agent-bridge/source-types.js.map +1 -1
  43. package/dist/build-info.json +57 -42
  44. package/dist/index.d.ts +7 -6
  45. package/dist/index.d.ts.map +1 -1
  46. package/dist/index.js +4 -3
  47. package/dist/index.js.map +1 -1
  48. package/dist/internal/babylon-preview-engine.d.ts +3 -0
  49. package/dist/internal/babylon-preview-engine.d.ts.map +1 -0
  50. package/dist/internal/babylon-preview-engine.js +11 -0
  51. package/dist/internal/babylon-preview-engine.js.map +1 -0
  52. package/dist/internal/product-local-editor-cleanup.d.ts +5 -0
  53. package/dist/internal/product-local-editor-cleanup.d.ts.map +1 -0
  54. package/dist/internal/product-local-editor-cleanup.js +20 -0
  55. package/dist/internal/product-local-editor-cleanup.js.map +1 -0
  56. package/dist/local-editor-agent-actions.d.ts +2 -4
  57. package/dist/local-editor-agent-actions.d.ts.map +1 -1
  58. package/dist/local-editor-agent-actions.js +61 -33
  59. package/dist/local-editor-agent-actions.js.map +1 -1
  60. package/dist/local-editor-agent-context.d.ts +5 -5
  61. package/dist/local-editor-agent-context.d.ts.map +1 -1
  62. package/dist/local-editor-agent-context.js.map +1 -1
  63. package/dist/local-editor-harness.d.ts +340 -35
  64. package/dist/local-editor-harness.d.ts.map +1 -1
  65. package/dist/local-editor-harness.js +3854 -1118
  66. package/dist/local-editor-harness.js.map +1 -1
  67. package/dist/local-editor-marker-graph.d.ts +15 -15
  68. package/dist/local-editor-marker-graph.d.ts.map +1 -1
  69. package/dist/local-editor-marker-graph.js +3 -0
  70. package/dist/local-editor-marker-graph.js.map +1 -1
  71. package/dist/local-editor-performance-stats.d.ts +3 -2
  72. package/dist/local-editor-performance-stats.d.ts.map +1 -1
  73. package/dist/local-editor-performance-stats.js.map +1 -1
  74. package/dist/local-editor-prefab-stage-transaction.d.ts +19 -0
  75. package/dist/local-editor-prefab-stage-transaction.d.ts.map +1 -0
  76. package/dist/local-editor-prefab-stage-transaction.js +45 -0
  77. package/dist/local-editor-prefab-stage-transaction.js.map +1 -0
  78. package/dist/local-editor-scene-view-interaction-runtime.d.ts +3 -1
  79. package/dist/local-editor-scene-view-interaction-runtime.d.ts.map +1 -1
  80. package/dist/local-editor-scene-view-interaction-runtime.js +24 -0
  81. package/dist/local-editor-scene-view-interaction-runtime.js.map +1 -1
  82. package/dist/local-editor-tools.d.ts +18 -0
  83. package/dist/local-editor-tools.d.ts.map +1 -0
  84. package/dist/local-editor-tools.js +53 -0
  85. package/dist/local-editor-tools.js.map +1 -0
  86. package/dist/playable-babylon-rendering.d.ts +9 -0
  87. package/dist/playable-babylon-rendering.d.ts.map +1 -1
  88. package/dist/playable-babylon-rendering.js +162 -6
  89. package/dist/playable-babylon-rendering.js.map +1 -1
  90. package/dist/playable-local-editor-entry.d.ts +68 -0
  91. package/dist/playable-local-editor-entry.d.ts.map +1 -0
  92. package/dist/playable-local-editor-entry.js +424 -0
  93. package/dist/playable-local-editor-entry.js.map +1 -0
  94. package/dist/playable-local-editor-host.d.ts +51 -29
  95. package/dist/playable-local-editor-host.d.ts.map +1 -1
  96. package/dist/playable-local-editor-host.js +23 -11
  97. package/dist/playable-local-editor-host.js.map +1 -1
  98. package/dist/playable-product-local-editor.d.ts +10 -12
  99. package/dist/playable-product-local-editor.d.ts.map +1 -1
  100. package/dist/playable-product-local-editor.js +178 -85
  101. package/dist/playable-product-local-editor.js.map +1 -1
  102. package/dist/playable-product-projection-preview.d.ts +4 -1
  103. package/dist/playable-product-projection-preview.d.ts.map +1 -1
  104. package/dist/playable-product-projection-preview.js +122 -5
  105. package/dist/playable-product-projection-preview.js.map +1 -1
  106. package/dist/playable-product-rendering.d.ts +12 -0
  107. package/dist/playable-product-rendering.d.ts.map +1 -1
  108. package/dist/playable-product-rendering.js +128 -6
  109. package/dist/playable-product-rendering.js.map +1 -1
  110. package/dist/playable-product-scene-capabilities.d.ts +24 -7
  111. package/dist/playable-product-scene-capabilities.d.ts.map +1 -1
  112. package/dist/playable-product-scene-capabilities.js +172 -15
  113. package/dist/playable-product-scene-capabilities.js.map +1 -1
  114. package/dist/playable-project-mode.d.ts +17 -0
  115. package/dist/playable-project-mode.d.ts.map +1 -0
  116. package/dist/playable-project-mode.js +2 -0
  117. package/dist/playable-project-mode.js.map +1 -0
  118. package/dist/playable-runtime-babylon.d.ts +3 -6
  119. package/dist/playable-runtime-babylon.d.ts.map +1 -1
  120. package/dist/playable-runtime-babylon.js +1 -5
  121. package/dist/playable-runtime-babylon.js.map +1 -1
  122. package/dist/playable-sdk.d.ts +16 -9
  123. package/dist/playable-sdk.d.ts.map +1 -1
  124. package/dist/playable-sdk.js +6 -4
  125. package/dist/playable-sdk.js.map +1 -1
  126. package/dist/playable-standard-project.d.ts +23 -14
  127. package/dist/playable-standard-project.d.ts.map +1 -1
  128. package/dist/playable-standard-project.js +53 -19
  129. package/dist/playable-standard-project.js.map +1 -1
  130. package/dist/vite-client.d.ts +4 -0
  131. package/node_modules/@babel/helper-string-parser/lib/index.js +0 -1
  132. package/node_modules/@babel/helper-validator-identifier/lib/identifier.js +0 -1
  133. package/node_modules/@babel/helper-validator-identifier/lib/index.js +0 -1
  134. package/node_modules/@babel/helper-validator-identifier/lib/keyword.js +0 -1
  135. package/node_modules/@babel/parser/lib/index.js +0 -1
  136. package/node_modules/@babel/types/lib/asserts/assertNode.js +0 -1
  137. package/node_modules/@babel/types/lib/asserts/generated/index.js +0 -1
  138. package/node_modules/@babel/types/lib/ast-types/generated/index.js +0 -1
  139. package/node_modules/@babel/types/lib/builders/flow/createFlowUnionType.js +0 -1
  140. package/node_modules/@babel/types/lib/builders/flow/createTypeAnnotationBasedOnTypeof.js +0 -1
  141. package/node_modules/@babel/types/lib/builders/generated/index.js +0 -1
  142. package/node_modules/@babel/types/lib/builders/generated/lowercase.js +0 -1
  143. package/node_modules/@babel/types/lib/builders/generated/uppercase.js +0 -1
  144. package/node_modules/@babel/types/lib/builders/productions.js +0 -1
  145. package/node_modules/@babel/types/lib/builders/react/buildChildren.js +0 -1
  146. package/node_modules/@babel/types/lib/builders/typescript/createTSUnionType.js +0 -1
  147. package/node_modules/@babel/types/lib/builders/validateNode.js +0 -1
  148. package/node_modules/@babel/types/lib/clone/clone.js +0 -1
  149. package/node_modules/@babel/types/lib/clone/cloneDeep.js +0 -1
  150. package/node_modules/@babel/types/lib/clone/cloneDeepWithoutLoc.js +0 -1
  151. package/node_modules/@babel/types/lib/clone/cloneNode.js +0 -1
  152. package/node_modules/@babel/types/lib/clone/cloneWithoutLoc.js +0 -1
  153. package/node_modules/@babel/types/lib/comments/addComment.js +0 -1
  154. package/node_modules/@babel/types/lib/comments/addComments.js +0 -1
  155. package/node_modules/@babel/types/lib/comments/inheritInnerComments.js +0 -1
  156. package/node_modules/@babel/types/lib/comments/inheritLeadingComments.js +0 -1
  157. package/node_modules/@babel/types/lib/comments/inheritTrailingComments.js +0 -1
  158. package/node_modules/@babel/types/lib/comments/inheritsComments.js +0 -1
  159. package/node_modules/@babel/types/lib/comments/removeComments.js +0 -1
  160. package/node_modules/@babel/types/lib/constants/generated/index.js +0 -1
  161. package/node_modules/@babel/types/lib/constants/index.js +0 -1
  162. package/node_modules/@babel/types/lib/converters/ensureBlock.js +0 -1
  163. package/node_modules/@babel/types/lib/converters/gatherSequenceExpressions.js +0 -1
  164. package/node_modules/@babel/types/lib/converters/toBindingIdentifierName.js +0 -1
  165. package/node_modules/@babel/types/lib/converters/toBlock.js +0 -1
  166. package/node_modules/@babel/types/lib/converters/toComputedKey.js +0 -1
  167. package/node_modules/@babel/types/lib/converters/toExpression.js +0 -1
  168. package/node_modules/@babel/types/lib/converters/toIdentifier.js +0 -1
  169. package/node_modules/@babel/types/lib/converters/toKeyAlias.js +0 -1
  170. package/node_modules/@babel/types/lib/converters/toSequenceExpression.js +0 -1
  171. package/node_modules/@babel/types/lib/converters/toStatement.js +0 -1
  172. package/node_modules/@babel/types/lib/converters/valueToNode.js +0 -1
  173. package/node_modules/@babel/types/lib/definitions/core.js +0 -1
  174. package/node_modules/@babel/types/lib/definitions/deprecated-aliases.js +0 -1
  175. package/node_modules/@babel/types/lib/definitions/experimental.js +0 -1
  176. package/node_modules/@babel/types/lib/definitions/flow.js +0 -1
  177. package/node_modules/@babel/types/lib/definitions/index.js +0 -1
  178. package/node_modules/@babel/types/lib/definitions/jsx.js +0 -1
  179. package/node_modules/@babel/types/lib/definitions/misc.js +0 -1
  180. package/node_modules/@babel/types/lib/definitions/placeholders.js +0 -1
  181. package/node_modules/@babel/types/lib/definitions/typescript.js +0 -1
  182. package/node_modules/@babel/types/lib/definitions/utils.js +0 -1
  183. package/node_modules/@babel/types/lib/index.js +0 -1
  184. package/node_modules/@babel/types/lib/modifications/appendToMemberExpression.js +0 -1
  185. package/node_modules/@babel/types/lib/modifications/flow/removeTypeDuplicates.js +0 -1
  186. package/node_modules/@babel/types/lib/modifications/inherits.js +0 -1
  187. package/node_modules/@babel/types/lib/modifications/prependToMemberExpression.js +0 -1
  188. package/node_modules/@babel/types/lib/modifications/removeProperties.js +0 -1
  189. package/node_modules/@babel/types/lib/modifications/removePropertiesDeep.js +0 -1
  190. package/node_modules/@babel/types/lib/modifications/typescript/removeTypeDuplicates.js +0 -1
  191. package/node_modules/@babel/types/lib/retrievers/getAssignmentIdentifiers.js +0 -1
  192. package/node_modules/@babel/types/lib/retrievers/getBindingIdentifiers.js +0 -1
  193. package/node_modules/@babel/types/lib/retrievers/getFunctionName.js +0 -1
  194. package/node_modules/@babel/types/lib/retrievers/getOuterBindingIdentifiers.js +0 -1
  195. package/node_modules/@babel/types/lib/traverse/traverse.js +0 -1
  196. package/node_modules/@babel/types/lib/traverse/traverseFast.js +0 -1
  197. package/node_modules/@babel/types/lib/utils/deprecationWarning.js +0 -1
  198. package/node_modules/@babel/types/lib/utils/inherit.js +0 -1
  199. package/node_modules/@babel/types/lib/utils/react/cleanJSXElementLiteralChild.js +0 -1
  200. package/node_modules/@babel/types/lib/utils/shallowEqual.js +0 -1
  201. package/node_modules/@babel/types/lib/validators/buildMatchMemberExpression.js +0 -1
  202. package/node_modules/@babel/types/lib/validators/generated/index.js +0 -1
  203. package/node_modules/@babel/types/lib/validators/is.js +0 -1
  204. package/node_modules/@babel/types/lib/validators/isBinding.js +0 -1
  205. package/node_modules/@babel/types/lib/validators/isBlockScoped.js +0 -1
  206. package/node_modules/@babel/types/lib/validators/isImmutable.js +0 -1
  207. package/node_modules/@babel/types/lib/validators/isLet.js +0 -1
  208. package/node_modules/@babel/types/lib/validators/isNode.js +0 -1
  209. package/node_modules/@babel/types/lib/validators/isNodesEquivalent.js +0 -1
  210. package/node_modules/@babel/types/lib/validators/isPlaceholderType.js +0 -1
  211. package/node_modules/@babel/types/lib/validators/isReferenced.js +0 -1
  212. package/node_modules/@babel/types/lib/validators/isScope.js +0 -1
  213. package/node_modules/@babel/types/lib/validators/isSpecifierDefault.js +0 -1
  214. package/node_modules/@babel/types/lib/validators/isType.js +0 -1
  215. package/node_modules/@babel/types/lib/validators/isValidES3Identifier.js +0 -1
  216. package/node_modules/@babel/types/lib/validators/isValidIdentifier.js +0 -1
  217. package/node_modules/@babel/types/lib/validators/isVar.js +0 -1
  218. package/node_modules/@babel/types/lib/validators/matchesPattern.js +0 -1
  219. package/node_modules/@babel/types/lib/validators/react/isCompatTag.js +0 -1
  220. package/node_modules/@babel/types/lib/validators/react/isReactComponent.js +0 -1
  221. package/node_modules/@babel/types/lib/validators/validate.js +0 -1
  222. package/node_modules/@babylonjs/loaders/BVH/bvhFileLoader.d.ts +69 -0
  223. package/node_modules/@babylonjs/loaders/BVH/bvhFileLoader.js +132 -0
  224. package/node_modules/@babylonjs/loaders/BVH/bvhFileLoader.metadata.d.ts +8 -0
  225. package/node_modules/@babylonjs/loaders/BVH/bvhFileLoader.metadata.js +7 -0
  226. package/node_modules/@babylonjs/loaders/BVH/bvhLoader.d.ts +14 -0
  227. package/node_modules/@babylonjs/loaders/BVH/bvhLoader.js +328 -0
  228. package/node_modules/@babylonjs/loaders/BVH/bvhLoadingOptions.d.ts +9 -0
  229. package/node_modules/@babylonjs/loaders/BVH/bvhLoadingOptions.js +1 -0
  230. package/node_modules/@babylonjs/loaders/BVH/index.d.ts +2 -0
  231. package/node_modules/@babylonjs/loaders/BVH/index.js +3 -0
  232. package/node_modules/@babylonjs/loaders/OBJ/index.d.ts +4 -0
  233. package/node_modules/@babylonjs/loaders/OBJ/index.js +4 -0
  234. package/node_modules/@babylonjs/loaders/OBJ/mtlFileLoader.d.ts +41 -0
  235. package/node_modules/@babylonjs/loaders/OBJ/mtlFileLoader.js +230 -0
  236. package/node_modules/@babylonjs/loaders/OBJ/objFileLoader.d.ts +136 -0
  237. package/node_modules/@babylonjs/loaders/OBJ/objFileLoader.js +317 -0
  238. package/node_modules/@babylonjs/loaders/OBJ/objFileLoader.metadata.d.ts +4 -0
  239. package/node_modules/@babylonjs/loaders/OBJ/objFileLoader.metadata.js +4 -0
  240. package/node_modules/@babylonjs/loaders/OBJ/objLoadingOptions.d.ts +47 -0
  241. package/node_modules/@babylonjs/loaders/OBJ/objLoadingOptions.js +1 -0
  242. package/node_modules/@babylonjs/loaders/OBJ/solidParser.d.ts +175 -0
  243. package/node_modules/@babylonjs/loaders/OBJ/solidParser.js +903 -0
  244. package/node_modules/@babylonjs/loaders/SPLAT/index.d.ts +2 -0
  245. package/node_modules/@babylonjs/loaders/SPLAT/index.js +3 -0
  246. package/node_modules/@babylonjs/loaders/SPLAT/sog.d.ts +84 -0
  247. package/node_modules/@babylonjs/loaders/SPLAT/sog.js +294 -0
  248. package/node_modules/@babylonjs/loaders/SPLAT/splatDefs.d.ts +26 -0
  249. package/node_modules/@babylonjs/loaders/SPLAT/splatDefs.js +10 -0
  250. package/node_modules/@babylonjs/loaders/SPLAT/splatFileLoader.d.ts +100 -0
  251. package/node_modules/@babylonjs/loaders/SPLAT/splatFileLoader.js +536 -0
  252. package/node_modules/@babylonjs/loaders/SPLAT/splatFileLoader.metadata.d.ts +20 -0
  253. package/node_modules/@babylonjs/loaders/SPLAT/splatFileLoader.metadata.js +15 -0
  254. package/node_modules/@babylonjs/loaders/SPLAT/splatLoadingOptions.d.ts +33 -0
  255. package/node_modules/@babylonjs/loaders/SPLAT/splatLoadingOptions.js +1 -0
  256. package/node_modules/@babylonjs/loaders/SPLAT/spz.d.ts +11 -0
  257. package/node_modules/@babylonjs/loaders/SPLAT/spz.js +168 -0
  258. package/node_modules/@babylonjs/loaders/STL/index.d.ts +1 -0
  259. package/node_modules/@babylonjs/loaders/STL/index.js +1 -0
  260. package/node_modules/@babylonjs/loaders/STL/stlFileLoader.d.ts +78 -0
  261. package/node_modules/@babylonjs/loaders/STL/stlFileLoader.js +238 -0
  262. package/node_modules/@babylonjs/loaders/STL/stlFileLoader.metadata.d.ts +8 -0
  263. package/node_modules/@babylonjs/loaders/STL/stlFileLoader.metadata.js +7 -0
  264. package/node_modules/@babylonjs/loaders/bvh/license.md +21 -0
  265. package/node_modules/@babylonjs/loaders/dynamic.d.ts +5 -0
  266. package/node_modules/@babylonjs/loaders/dynamic.js +56 -0
  267. package/node_modules/@babylonjs/loaders/glTF/1.0/glTFBinaryExtension.d.ts +16 -0
  268. package/node_modules/@babylonjs/loaders/glTF/1.0/glTFBinaryExtension.js +64 -0
  269. package/node_modules/@babylonjs/loaders/glTF/1.0/glTFLoader.d.ts +144 -0
  270. package/node_modules/@babylonjs/loaders/glTF/1.0/glTFLoader.js +1841 -0
  271. package/node_modules/@babylonjs/loaders/glTF/1.0/glTFLoaderInterfaces.d.ts +412 -0
  272. package/node_modules/@babylonjs/loaders/glTF/1.0/glTFLoaderInterfaces.js +95 -0
  273. package/node_modules/@babylonjs/loaders/glTF/1.0/glTFLoaderUtils.d.ts +71 -0
  274. package/node_modules/@babylonjs/loaders/glTF/1.0/glTFLoaderUtils.js +254 -0
  275. package/node_modules/@babylonjs/loaders/glTF/1.0/glTFMaterialsCommonExtension.d.ts +13 -0
  276. package/node_modules/@babylonjs/loaders/glTF/1.0/glTFMaterialsCommonExtension.js +130 -0
  277. package/node_modules/@babylonjs/loaders/glTF/1.0/index.d.ts +5 -0
  278. package/node_modules/@babylonjs/loaders/glTF/1.0/index.js +5 -0
  279. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/EXT_lights_area.d.ts +41 -0
  280. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/EXT_lights_area.js +93 -0
  281. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/EXT_lights_ies.d.ts +41 -0
  282. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/EXT_lights_ies.js +83 -0
  283. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/EXT_lights_image_based.d.ts +48 -0
  284. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/EXT_lights_image_based.js +115 -0
  285. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/EXT_mesh_gpu_instancing.d.ts +39 -0
  286. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/EXT_mesh_gpu_instancing.js +94 -0
  287. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/EXT_meshopt_compression.d.ts +39 -0
  288. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/EXT_meshopt_compression.js +50 -0
  289. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/EXT_texture_avif.d.ts +34 -0
  290. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/EXT_texture_avif.js +38 -0
  291. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/EXT_texture_webp.d.ts +33 -0
  292. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/EXT_texture_webp.js +37 -0
  293. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/ExtrasAsMetadata.d.ts +53 -0
  294. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/ExtrasAsMetadata.js +73 -0
  295. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_animation_pointer.d.ts +47 -0
  296. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_animation_pointer.data.d.ts +1 -0
  297. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_animation_pointer.data.js +251 -0
  298. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_animation_pointer.js +77 -0
  299. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_draco_mesh_compression.d.ts +47 -0
  300. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_draco_mesh_compression.js +92 -0
  301. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_interactivity/declarationMapper.d.ts +355 -0
  302. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_interactivity/declarationMapper.js +1678 -0
  303. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_interactivity/flowGraphGLTFDataProvider.d.ts +33 -0
  304. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_interactivity/flowGraphGLTFDataProvider.js +19 -0
  305. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_interactivity/index.d.ts +3 -0
  306. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_interactivity/index.js +3 -0
  307. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_interactivity/interactivityGraphParser.d.ts +70 -0
  308. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_interactivity/interactivityGraphParser.js +438 -0
  309. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_interactivity.d.ts +38 -0
  310. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_interactivity.js +150 -0
  311. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_lights_punctual.d.ts +41 -0
  312. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_lights_punctual.js +91 -0
  313. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_materials_anisotropy.d.ts +42 -0
  314. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_materials_anisotropy.js +65 -0
  315. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_materials_clearcoat.d.ts +43 -0
  316. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_materials_clearcoat.js +79 -0
  317. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_materials_coat.d.ts +49 -0
  318. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_materials_coat.js +119 -0
  319. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_materials_diffuse_roughness.d.ts +43 -0
  320. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_materials_diffuse_roughness.js +58 -0
  321. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_materials_diffuse_transmission.d.ts +43 -0
  322. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_materials_diffuse_transmission.js +69 -0
  323. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_materials_dispersion.d.ts +43 -0
  324. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_materials_dispersion.js +56 -0
  325. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_materials_emissive_strength.d.ts +42 -0
  326. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_materials_emissive_strength.js +47 -0
  327. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_materials_fuzz.d.ts +43 -0
  328. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_materials_fuzz.js +77 -0
  329. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_materials_ior.d.ts +46 -0
  330. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_materials_ior.js +54 -0
  331. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_materials_iridescence.d.ts +42 -0
  332. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_materials_iridescence.js +68 -0
  333. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_materials_pbrSpecularGlossiness.d.ts +42 -0
  334. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_materials_pbrSpecularGlossiness.js +80 -0
  335. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_materials_sheen.d.ts +43 -0
  336. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_materials_sheen.js +73 -0
  337. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_materials_specular.d.ts +42 -0
  338. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_materials_specular.js +76 -0
  339. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_materials_transmission.d.ts +42 -0
  340. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_materials_transmission.js +303 -0
  341. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_materials_unlit.d.ts +42 -0
  342. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_materials_unlit.js +66 -0
  343. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_materials_variants.d.ts +112 -0
  344. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_materials_variants.js +262 -0
  345. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_materials_volume.d.ts +43 -0
  346. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_materials_volume.js +82 -0
  347. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_materials_volume_scatter.d.ts +45 -0
  348. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_materials_volume_scatter.js +109 -0
  349. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_mesh_quantization.d.ts +29 -0
  350. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_mesh_quantization.js +22 -0
  351. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_node_hoverability.d.ts +31 -0
  352. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_node_hoverability.js +189 -0
  353. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_node_selectability.d.ts +30 -0
  354. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_node_selectability.js +123 -0
  355. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_node_visibility.d.ts +30 -0
  356. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_node_visibility.js +66 -0
  357. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_texture_basisu.d.ts +33 -0
  358. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_texture_basisu.js +37 -0
  359. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_texture_transform.d.ts +37 -0
  360. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_texture_transform.js +58 -0
  361. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_xmp_json_ld.d.ts +39 -0
  362. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_xmp_json_ld.js +47 -0
  363. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/MSFT_audio_emitter.d.ts +56 -0
  364. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/MSFT_audio_emitter.js +228 -0
  365. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/MSFT_lod.d.ts +104 -0
  366. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/MSFT_lod.js +337 -0
  367. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/MSFT_minecraftMesh.d.ts +27 -0
  368. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/MSFT_minecraftMesh.js +39 -0
  369. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/MSFT_sRGBFactors.d.ts +27 -0
  370. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/MSFT_sRGBFactors.js +38 -0
  371. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/dynamic.d.ts +4 -0
  372. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/dynamic.js +212 -0
  373. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/gltfPathToObjectConverter.d.ts +45 -0
  374. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/gltfPathToObjectConverter.js +100 -0
  375. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/index.d.ts +43 -0
  376. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/index.js +44 -0
  377. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/objectModelMapping.d.ts +306 -0
  378. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/objectModelMapping.js +884 -0
  379. package/node_modules/@babylonjs/loaders/glTF/2.0/glTFLoader.d.ts +450 -0
  380. package/node_modules/@babylonjs/loaders/glTF/2.0/glTFLoader.js +2485 -0
  381. package/node_modules/@babylonjs/loaders/glTF/2.0/glTFLoaderAnimation.d.ts +42 -0
  382. package/node_modules/@babylonjs/loaders/glTF/2.0/glTFLoaderAnimation.js +79 -0
  383. package/node_modules/@babylonjs/loaders/glTF/2.0/glTFLoaderExtension.d.ts +165 -0
  384. package/node_modules/@babylonjs/loaders/glTF/2.0/glTFLoaderExtension.js +1 -0
  385. package/node_modules/@babylonjs/loaders/glTF/2.0/glTFLoaderExtensionRegistry.d.ts +25 -0
  386. package/node_modules/@babylonjs/loaders/glTF/2.0/glTFLoaderExtensionRegistry.js +32 -0
  387. package/node_modules/@babylonjs/loaders/glTF/2.0/glTFLoaderInterfaces.d.ts +262 -0
  388. package/node_modules/@babylonjs/loaders/glTF/2.0/glTFLoaderInterfaces.js +1 -0
  389. package/node_modules/@babylonjs/loaders/glTF/2.0/index.d.ts +8 -0
  390. package/node_modules/@babylonjs/loaders/glTF/2.0/index.js +9 -0
  391. package/node_modules/@babylonjs/loaders/glTF/2.0/materialLoadingAdapter.d.ts +364 -0
  392. package/node_modules/@babylonjs/loaders/glTF/2.0/materialLoadingAdapter.js +1 -0
  393. package/node_modules/@babylonjs/loaders/glTF/2.0/openpbrMaterialLoadingAdapter.d.ts +674 -0
  394. package/node_modules/@babylonjs/loaders/glTF/2.0/openpbrMaterialLoadingAdapter.js +1034 -0
  395. package/node_modules/@babylonjs/loaders/glTF/2.0/pbrMaterialLoadingAdapter.d.ts +705 -0
  396. package/node_modules/@babylonjs/loaders/glTF/2.0/pbrMaterialLoadingAdapter.js +1126 -0
  397. package/node_modules/@babylonjs/loaders/glTF/glTFFileLoader.d.ts +553 -0
  398. package/node_modules/@babylonjs/loaders/glTF/glTFFileLoader.js +998 -0
  399. package/node_modules/@babylonjs/loaders/glTF/glTFFileLoader.metadata.d.ts +15 -0
  400. package/node_modules/@babylonjs/loaders/glTF/glTFFileLoader.metadata.js +17 -0
  401. package/node_modules/@babylonjs/loaders/glTF/glTFValidation.d.ts +35 -0
  402. package/node_modules/@babylonjs/loaders/glTF/glTFValidation.js +131 -0
  403. package/node_modules/@babylonjs/loaders/glTF/index.d.ts +5 -0
  404. package/node_modules/@babylonjs/loaders/glTF/index.js +6 -0
  405. package/node_modules/@babylonjs/loaders/index.d.ts +6 -0
  406. package/node_modules/@babylonjs/loaders/index.js +7 -0
  407. package/node_modules/@babylonjs/loaders/legacy/legacy-bvhFileLoader.d.ts +1 -0
  408. package/node_modules/@babylonjs/loaders/legacy/legacy-bvhFileLoader.js +15 -0
  409. package/node_modules/@babylonjs/loaders/legacy/legacy-dynamic.d.ts +1 -0
  410. package/node_modules/@babylonjs/loaders/legacy/legacy-dynamic.js +13 -0
  411. package/node_modules/@babylonjs/loaders/legacy/legacy-glTF.d.ts +2 -0
  412. package/node_modules/@babylonjs/loaders/legacy/legacy-glTF.js +18 -0
  413. package/node_modules/@babylonjs/loaders/legacy/legacy-glTF1.d.ts +2 -0
  414. package/node_modules/@babylonjs/loaders/legacy/legacy-glTF1.js +15 -0
  415. package/node_modules/@babylonjs/loaders/legacy/legacy-glTF1FileLoader.d.ts +2 -0
  416. package/node_modules/@babylonjs/loaders/legacy/legacy-glTF1FileLoader.js +3 -0
  417. package/node_modules/@babylonjs/loaders/legacy/legacy-glTF2.d.ts +2 -0
  418. package/node_modules/@babylonjs/loaders/legacy/legacy-glTF2.js +34 -0
  419. package/node_modules/@babylonjs/loaders/legacy/legacy-glTF2FileLoader.d.ts +2 -0
  420. package/node_modules/@babylonjs/loaders/legacy/legacy-glTF2FileLoader.js +3 -0
  421. package/node_modules/@babylonjs/loaders/legacy/legacy-glTFFileLoader.d.ts +3 -0
  422. package/node_modules/@babylonjs/loaders/legacy/legacy-glTFFileLoader.js +4 -0
  423. package/node_modules/@babylonjs/loaders/legacy/legacy-objFileLoader.d.ts +1 -0
  424. package/node_modules/@babylonjs/loaders/legacy/legacy-objFileLoader.js +15 -0
  425. package/node_modules/@babylonjs/loaders/legacy/legacy-stlFileLoader.d.ts +1 -0
  426. package/node_modules/@babylonjs/loaders/legacy/legacy-stlFileLoader.js +15 -0
  427. package/node_modules/@babylonjs/loaders/legacy/legacy.d.ts +8 -0
  428. package/node_modules/@babylonjs/loaders/legacy/legacy.js +10 -0
  429. package/node_modules/@babylonjs/loaders/license.md +71 -0
  430. package/node_modules/@babylonjs/loaders/package.json +49 -0
  431. package/node_modules/@babylonjs/loaders/readme.md +23 -0
  432. package/node_modules/@fps-games/babylon-renderer/dist/game-world-plugin-lifecycle.d.ts +22 -0
  433. package/node_modules/@fps-games/babylon-renderer/dist/game-world-plugin-lifecycle.d.ts.map +1 -0
  434. package/node_modules/@fps-games/babylon-renderer/dist/game-world-plugin-lifecycle.js +187 -0
  435. package/node_modules/@fps-games/babylon-renderer/dist/game-world-plugin-lifecycle.js.map +1 -0
  436. package/node_modules/@fps-games/babylon-renderer/dist/index.d.ts +3 -0
  437. package/node_modules/@fps-games/babylon-renderer/dist/index.d.ts.map +1 -1
  438. package/node_modules/@fps-games/babylon-renderer/dist/index.js +3 -0
  439. package/node_modules/@fps-games/babylon-renderer/dist/index.js.map +1 -1
  440. package/node_modules/@fps-games/babylon-renderer/dist/material-owner-candidates.d.ts +19 -0
  441. package/node_modules/@fps-games/babylon-renderer/dist/material-owner-candidates.d.ts.map +1 -0
  442. package/node_modules/@fps-games/babylon-renderer/dist/material-owner-candidates.js +212 -0
  443. package/node_modules/@fps-games/babylon-renderer/dist/material-owner-candidates.js.map +1 -0
  444. package/node_modules/@fps-games/babylon-renderer/dist/plugin.d.ts +17 -2
  445. package/node_modules/@fps-games/babylon-renderer/dist/plugin.d.ts.map +1 -1
  446. package/node_modules/@fps-games/babylon-renderer/dist/plugin.js +192 -17
  447. package/node_modules/@fps-games/babylon-renderer/dist/plugin.js.map +1 -1
  448. package/node_modules/@fps-games/babylon-renderer/dist/post-process/babylon-default-pipeline.d.ts +2 -0
  449. package/node_modules/@fps-games/babylon-renderer/dist/post-process/babylon-default-pipeline.d.ts.map +1 -1
  450. package/node_modules/@fps-games/babylon-renderer/dist/post-process/babylon-default-pipeline.js +139 -3
  451. package/node_modules/@fps-games/babylon-renderer/dist/post-process/babylon-default-pipeline.js.map +1 -1
  452. package/node_modules/@fps-games/babylon-renderer/dist/post-process/types.d.ts +4 -0
  453. package/node_modules/@fps-games/babylon-renderer/dist/post-process/types.d.ts.map +1 -1
  454. package/node_modules/@fps-games/babylon-renderer/dist/post-process/types.js.map +1 -1
  455. package/node_modules/@fps-games/babylon-renderer/dist/shadows/dynamic-shadow-system.d.ts +1 -0
  456. package/node_modules/@fps-games/babylon-renderer/dist/shadows/dynamic-shadow-system.d.ts.map +1 -1
  457. package/node_modules/@fps-games/babylon-renderer/dist/shadows/dynamic-shadow-system.js +1 -0
  458. package/node_modules/@fps-games/babylon-renderer/dist/shadows/dynamic-shadow-system.js.map +1 -1
  459. package/node_modules/@fps-games/babylon-renderer/dist/shadows/shadow-generator-shaders.d.ts +14 -0
  460. package/node_modules/@fps-games/babylon-renderer/dist/shadows/shadow-generator-shaders.d.ts.map +1 -0
  461. package/node_modules/@fps-games/babylon-renderer/dist/shadows/shadow-generator-shaders.js +14 -0
  462. package/node_modules/@fps-games/babylon-renderer/dist/shadows/shadow-generator-shaders.js.map +1 -0
  463. package/node_modules/@fps-games/babylon-renderer/dist/shadows/shadow-map-experiment-depth-backend.d.ts +59 -0
  464. package/node_modules/@fps-games/babylon-renderer/dist/shadows/shadow-map-experiment-depth-backend.d.ts.map +1 -0
  465. package/node_modules/@fps-games/babylon-renderer/dist/shadows/shadow-map-experiment-depth-backend.js +725 -0
  466. package/node_modules/@fps-games/babylon-renderer/dist/shadows/shadow-map-experiment-depth-backend.js.map +1 -0
  467. package/node_modules/@fps-games/babylon-renderer/dist/shadows/shadow-map-experiment-system.d.ts +136 -0
  468. package/node_modules/@fps-games/babylon-renderer/dist/shadows/shadow-map-experiment-system.d.ts.map +1 -0
  469. package/node_modules/@fps-games/babylon-renderer/dist/shadows/shadow-map-experiment-system.js +2735 -0
  470. package/node_modules/@fps-games/babylon-renderer/dist/shadows/shadow-map-experiment-system.js.map +1 -0
  471. package/node_modules/@fps-games/babylon-renderer/package.json +7 -7
  472. package/node_modules/@fps-games/editor-babylon/dist/camera-controller.js +1 -1
  473. package/node_modules/@fps-games/editor-babylon/dist/camera-controller.js.map +1 -1
  474. package/node_modules/@fps-games/editor-babylon/dist/index.d.ts +2 -1
  475. package/node_modules/@fps-games/editor-babylon/dist/index.d.ts.map +1 -1
  476. package/node_modules/@fps-games/editor-babylon/dist/index.js +2 -1
  477. package/node_modules/@fps-games/editor-babylon/dist/index.js.map +1 -1
  478. package/node_modules/@fps-games/editor-babylon/dist/main-camera-preview.d.ts +2 -0
  479. package/node_modules/@fps-games/editor-babylon/dist/main-camera-preview.d.ts.map +1 -1
  480. package/node_modules/@fps-games/editor-babylon/dist/main-camera-preview.js +59 -6
  481. package/node_modules/@fps-games/editor-babylon/dist/main-camera-preview.js.map +1 -1
  482. package/node_modules/@fps-games/editor-babylon/dist/material-slot-source-resolver.d.ts.map +1 -1
  483. package/node_modules/@fps-games/editor-babylon/dist/material-slot-source-resolver.js +81 -11
  484. package/node_modules/@fps-games/editor-babylon/dist/material-slot-source-resolver.js.map +1 -1
  485. package/node_modules/@fps-games/editor-babylon/dist/projection-asset-container-importer.js +2 -8
  486. package/node_modules/@fps-games/editor-babylon/dist/projection-asset-container-importer.js.map +1 -1
  487. package/node_modules/@fps-games/editor-babylon/dist/projection.d.ts +17 -5
  488. package/node_modules/@fps-games/editor-babylon/dist/projection.d.ts.map +1 -1
  489. package/node_modules/@fps-games/editor-babylon/dist/projection.js +300 -362
  490. package/node_modules/@fps-games/editor-babylon/dist/projection.js.map +1 -1
  491. package/node_modules/@fps-games/editor-babylon/dist/scene-view-camera-controller.d.ts +4 -0
  492. package/node_modules/@fps-games/editor-babylon/dist/scene-view-camera-controller.d.ts.map +1 -1
  493. package/node_modules/@fps-games/editor-babylon/dist/scene-view-camera-controller.js +76 -10
  494. package/node_modules/@fps-games/editor-babylon/dist/scene-view-camera-controller.js.map +1 -1
  495. package/node_modules/@fps-games/editor-babylon/dist/selection-identity-pass.d.ts +46 -0
  496. package/node_modules/@fps-games/editor-babylon/dist/selection-identity-pass.d.ts.map +1 -0
  497. package/node_modules/@fps-games/editor-babylon/dist/selection-identity-pass.js +304 -0
  498. package/node_modules/@fps-games/editor-babylon/dist/selection-identity-pass.js.map +1 -0
  499. package/node_modules/@fps-games/editor-babylon/dist/selection-presentation-controller.d.ts +85 -0
  500. package/node_modules/@fps-games/editor-babylon/dist/selection-presentation-controller.d.ts.map +1 -0
  501. package/node_modules/@fps-games/editor-babylon/dist/selection-presentation-controller.js +1600 -0
  502. package/node_modules/@fps-games/editor-babylon/dist/selection-presentation-controller.js.map +1 -0
  503. package/node_modules/@fps-games/editor-babylon/dist/shadow-preview-controller.d.ts +11 -3
  504. package/node_modules/@fps-games/editor-babylon/dist/shadow-preview-controller.d.ts.map +1 -1
  505. package/node_modules/@fps-games/editor-babylon/dist/shadow-preview-controller.js +105 -15
  506. package/node_modules/@fps-games/editor-babylon/dist/shadow-preview-controller.js.map +1 -1
  507. package/node_modules/@fps-games/editor-babylon/dist/viewport-ground-projection.d.ts +25 -0
  508. package/node_modules/@fps-games/editor-babylon/dist/viewport-ground-projection.d.ts.map +1 -0
  509. package/node_modules/@fps-games/editor-babylon/dist/viewport-ground-projection.js +44 -0
  510. package/node_modules/@fps-games/editor-babylon/dist/viewport-ground-projection.js.map +1 -0
  511. package/node_modules/@fps-games/editor-babylon/package.json +6 -5
  512. package/node_modules/@fps-games/editor-browser/dist/index.d.ts +8 -9
  513. package/node_modules/@fps-games/editor-browser/dist/index.d.ts.map +1 -1
  514. package/node_modules/@fps-games/editor-browser/dist/index.js +6 -7
  515. package/node_modules/@fps-games/editor-browser/dist/index.js.map +1 -1
  516. package/node_modules/@fps-games/editor-browser/dist/local-editor-clipboard.d.ts +2 -0
  517. package/node_modules/@fps-games/editor-browser/dist/local-editor-clipboard.d.ts.map +1 -0
  518. package/node_modules/@fps-games/editor-browser/dist/local-editor-clipboard.js +36 -0
  519. package/node_modules/@fps-games/editor-browser/dist/local-editor-clipboard.js.map +1 -0
  520. package/node_modules/@fps-games/editor-browser/dist/local-editor-inspector-groups.d.ts +2 -0
  521. package/node_modules/@fps-games/editor-browser/dist/local-editor-inspector-groups.d.ts.map +1 -1
  522. package/node_modules/@fps-games/editor-browser/dist/local-editor-inspector-groups.js +17 -0
  523. package/node_modules/@fps-games/editor-browser/dist/local-editor-inspector-groups.js.map +1 -1
  524. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-asset-kind.d.ts +1 -1
  525. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-asset-kind.d.ts.map +1 -1
  526. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-asset-kind.js +6 -0
  527. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-asset-kind.js.map +1 -1
  528. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-context-menu.d.ts.map +1 -1
  529. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-context-menu.js +157 -77
  530. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-context-menu.js.map +1 -1
  531. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-dock-panel.d.ts.map +1 -1
  532. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-dock-panel.js +27 -21
  533. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-dock-panel.js.map +1 -1
  534. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-formal-surface-visibility.d.ts +19 -0
  535. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-formal-surface-visibility.d.ts.map +1 -0
  536. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-formal-surface-visibility.js +44 -0
  537. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-formal-surface-visibility.js.map +1 -0
  538. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-controller.d.ts +36 -5
  539. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-controller.d.ts.map +1 -1
  540. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-controller.js +831 -702
  541. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-controller.js.map +1 -1
  542. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-drag-policy.d.ts +8 -7
  543. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-drag-policy.d.ts.map +1 -1
  544. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-drag-policy.js +1 -7
  545. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-drag-policy.js.map +1 -1
  546. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-view-adapter.d.ts +7 -0
  547. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-view-adapter.d.ts.map +1 -0
  548. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-view-adapter.js +20 -0
  549. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-view-adapter.js.map +1 -0
  550. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-view.d.ts +6 -7
  551. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-view.d.ts.map +1 -1
  552. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-view.js +266 -114
  553. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-view.js.map +1 -1
  554. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-icons.d.ts +1 -1
  555. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-icons.d.ts.map +1 -1
  556. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-icons.js +11 -0
  557. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-icons.js.map +1 -1
  558. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-input-router.d.ts +3 -0
  559. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-input-router.d.ts.map +1 -1
  560. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-input-router.js +58 -25
  561. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-input-router.js.map +1 -1
  562. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-modal-dialog.d.ts +14 -0
  563. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-modal-dialog.d.ts.map +1 -1
  564. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-modal-dialog.js +44 -62
  565. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-modal-dialog.js.map +1 -1
  566. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-panels.d.ts +10 -7
  567. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-panels.d.ts.map +1 -1
  568. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-panels.js +591 -639
  569. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-panels.js.map +1 -1
  570. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-prefab-stage.d.ts +8 -36
  571. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-prefab-stage.d.ts.map +1 -1
  572. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-prefab-stage.js +25 -103
  573. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-prefab-stage.js.map +1 -1
  574. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-primitives.d.ts.map +1 -1
  575. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-primitives.js +29 -110
  576. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-primitives.js.map +1 -1
  577. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-shared.d.ts +1 -3
  578. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-shared.d.ts.map +1 -1
  579. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-shared.js +6 -90
  580. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-shared.js.map +1 -1
  581. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-shortcuts.d.ts.map +1 -1
  582. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-shortcuts.js +9 -54
  583. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-shortcuts.js.map +1 -1
  584. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-status-diagnostics.d.ts +39 -0
  585. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-status-diagnostics.d.ts.map +1 -0
  586. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-status-diagnostics.js +74 -0
  587. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-status-diagnostics.js.map +1 -0
  588. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-status-format.d.ts +4 -0
  589. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-status-format.d.ts.map +1 -0
  590. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-status-format.js +44 -0
  591. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-status-format.js.map +1 -0
  592. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-structured-drag-policy.d.ts.map +1 -1
  593. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-structured-drag-policy.js +35 -44
  594. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-structured-drag-policy.js.map +1 -1
  595. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-theme.d.ts.map +1 -1
  596. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-theme.js +40 -24
  597. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-theme.js.map +1 -1
  598. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-tooltip.d.ts.map +1 -1
  599. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-tooltip.js +2 -20
  600. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-tooltip.js.map +1 -1
  601. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-types.d.ts +56 -301
  602. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-types.d.ts.map +1 -1
  603. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-types.js.map +1 -1
  604. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-workbench.d.ts +4 -14
  605. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-workbench.d.ts.map +1 -1
  606. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-workbench.js +33 -119
  607. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-workbench.js.map +1 -1
  608. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui.d.ts +5 -10
  609. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui.d.ts.map +1 -1
  610. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui.js +760 -524
  611. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui.js.map +1 -1
  612. package/node_modules/@fps-games/editor-browser/dist/plugin-contributions.d.ts +2 -3
  613. package/node_modules/@fps-games/editor-browser/dist/plugin-contributions.d.ts.map +1 -1
  614. package/node_modules/@fps-games/editor-browser/dist/plugin-contributions.js +0 -180
  615. package/node_modules/@fps-games/editor-browser/dist/plugin-contributions.js.map +1 -1
  616. package/node_modules/@fps-games/editor-browser/dist/runtime-debug.d.ts +5 -0
  617. package/node_modules/@fps-games/editor-browser/dist/runtime-debug.d.ts.map +1 -0
  618. package/node_modules/@fps-games/editor-browser/dist/runtime-debug.js +5 -0
  619. package/node_modules/@fps-games/editor-browser/dist/runtime-debug.js.map +1 -0
  620. package/node_modules/@fps-games/editor-browser/package.json +15 -4
  621. package/node_modules/@fps-games/editor-core/dist/editor-diagnostic-store.d.ts +22 -0
  622. package/node_modules/@fps-games/editor-core/dist/editor-diagnostic-store.d.ts.map +1 -0
  623. package/node_modules/@fps-games/editor-core/dist/editor-diagnostic-store.js +226 -0
  624. package/node_modules/@fps-games/editor-core/dist/editor-diagnostic-store.js.map +1 -0
  625. package/node_modules/@fps-games/editor-core/dist/editor-plugin-host.d.ts +6 -1
  626. package/node_modules/@fps-games/editor-core/dist/editor-plugin-host.d.ts.map +1 -1
  627. package/node_modules/@fps-games/editor-core/dist/editor-plugin-host.js +94 -2
  628. package/node_modules/@fps-games/editor-core/dist/editor-plugin-host.js.map +1 -1
  629. package/node_modules/@fps-games/editor-core/dist/editor-session.d.ts +26 -1
  630. package/node_modules/@fps-games/editor-core/dist/editor-session.d.ts.map +1 -1
  631. package/node_modules/@fps-games/editor-core/dist/editor-session.js +77 -8
  632. package/node_modules/@fps-games/editor-core/dist/editor-session.js.map +1 -1
  633. package/node_modules/@fps-games/editor-core/dist/editor-tools.d.ts +112 -0
  634. package/node_modules/@fps-games/editor-core/dist/editor-tools.d.ts.map +1 -0
  635. package/node_modules/@fps-games/editor-core/dist/editor-tools.js +613 -0
  636. package/node_modules/@fps-games/editor-core/dist/editor-tools.js.map +1 -0
  637. package/node_modules/@fps-games/editor-core/dist/inspector.d.ts +46 -0
  638. package/node_modules/@fps-games/editor-core/dist/inspector.d.ts.map +1 -1
  639. package/node_modules/@fps-games/editor-core/dist/inspector.js +62 -0
  640. package/node_modules/@fps-games/editor-core/dist/inspector.js.map +1 -1
  641. package/node_modules/@fps-games/editor-core/dist/scene-graph.d.ts +1 -0
  642. package/node_modules/@fps-games/editor-core/dist/scene-graph.d.ts.map +1 -1
  643. package/node_modules/@fps-games/editor-core/dist/scene-graph.js.map +1 -1
  644. package/node_modules/@fps-games/editor-core/package.json +14 -6
  645. package/node_modules/@fps-games/editor-forge-play/package.json +2 -2
  646. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/metadata.js +14 -3
  647. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/metadata.js.map +1 -1
  648. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/node.d.ts +1 -1
  649. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/node.d.ts.map +1 -1
  650. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/node.js +1 -1
  651. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/node.js.map +1 -1
  652. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/registry.d.ts +14 -0
  653. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/registry.d.ts.map +1 -1
  654. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/registry.js +49 -1
  655. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/registry.js.map +1 -1
  656. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/catalog.js +58 -2
  657. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/catalog.js.map +1 -1
  658. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/document.d.ts.map +1 -1
  659. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/document.js +48 -6
  660. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/document.js.map +1 -1
  661. package/node_modules/@fps-games/editor-playable-sdk/dist/document/helpers.d.ts +28 -3
  662. package/node_modules/@fps-games/editor-playable-sdk/dist/document/helpers.d.ts.map +1 -1
  663. package/node_modules/@fps-games/editor-playable-sdk/dist/document/helpers.js +314 -6
  664. package/node_modules/@fps-games/editor-playable-sdk/dist/document/helpers.js.map +1 -1
  665. package/node_modules/@fps-games/editor-playable-sdk/dist/document/index.d.ts +2 -0
  666. package/node_modules/@fps-games/editor-playable-sdk/dist/document/index.d.ts.map +1 -1
  667. package/node_modules/@fps-games/editor-playable-sdk/dist/document/index.js +2 -0
  668. package/node_modules/@fps-games/editor-playable-sdk/dist/document/index.js.map +1 -1
  669. package/node_modules/@fps-games/editor-playable-sdk/dist/document/prefab-instance-identity.d.ts +11 -0
  670. package/node_modules/@fps-games/editor-playable-sdk/dist/document/prefab-instance-identity.d.ts.map +1 -0
  671. package/node_modules/@fps-games/editor-playable-sdk/dist/document/prefab-instance-identity.js +27 -0
  672. package/node_modules/@fps-games/editor-playable-sdk/dist/document/prefab-instance-identity.js.map +1 -0
  673. package/node_modules/@fps-games/editor-playable-sdk/dist/document/prefab-marker.d.ts +5 -0
  674. package/node_modules/@fps-games/editor-playable-sdk/dist/document/prefab-marker.d.ts.map +1 -0
  675. package/node_modules/@fps-games/editor-playable-sdk/dist/document/prefab-marker.js +285 -0
  676. package/node_modules/@fps-games/editor-playable-sdk/dist/document/prefab-marker.js.map +1 -0
  677. package/node_modules/@fps-games/editor-playable-sdk/dist/document/types.d.ts +7 -3
  678. package/node_modules/@fps-games/editor-playable-sdk/dist/document/types.d.ts.map +1 -1
  679. package/node_modules/@fps-games/editor-playable-sdk/dist/document/types.js.map +1 -1
  680. package/node_modules/@fps-games/editor-playable-sdk/dist/index.d.ts +3 -0
  681. package/node_modules/@fps-games/editor-playable-sdk/dist/index.d.ts.map +1 -1
  682. package/node_modules/@fps-games/editor-playable-sdk/dist/index.js +6 -0
  683. package/node_modules/@fps-games/editor-playable-sdk/dist/index.js.map +1 -1
  684. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/document-sections.d.ts.map +1 -1
  685. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/document-sections.js +23 -81
  686. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/document-sections.js.map +1 -1
  687. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/editor-entry-manifest.d.ts +41 -0
  688. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/editor-entry-manifest.d.ts.map +1 -0
  689. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/editor-entry-manifest.js +93 -0
  690. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/editor-entry-manifest.js.map +1 -0
  691. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/editor-entry-module.d.ts +29 -0
  692. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/editor-entry-module.d.ts.map +1 -0
  693. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/editor-entry-module.js +77 -0
  694. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/editor-entry-module.js.map +1 -0
  695. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/editor-entry-performance.d.ts +51 -0
  696. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/editor-entry-performance.d.ts.map +1 -0
  697. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/editor-entry-performance.js +105 -0
  698. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/editor-entry-performance.js.map +1 -0
  699. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/editor-entry.d.ts +60 -0
  700. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/editor-entry.d.ts.map +1 -0
  701. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/editor-entry.js +287 -0
  702. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/editor-entry.js.map +1 -0
  703. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/forge-play-types.d.ts +6 -1
  704. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/forge-play-types.d.ts.map +1 -1
  705. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/forge-play-types.js.map +1 -1
  706. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/forge-play.d.ts +1 -0
  707. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/forge-play.d.ts.map +1 -1
  708. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/forge-play.js +53 -17
  709. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/forge-play.js.map +1 -1
  710. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/host-controller.d.ts +16 -8
  711. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/host-controller.d.ts.map +1 -1
  712. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/host-controller.js +10 -6
  713. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/host-controller.js.map +1 -1
  714. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/index.d.ts +5 -3
  715. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/index.d.ts.map +1 -1
  716. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/index.js +2 -1
  717. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/index.js.map +1 -1
  718. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/lifecycle.d.ts.map +1 -1
  719. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/lifecycle.js +134 -66
  720. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/lifecycle.js.map +1 -1
  721. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/project-asset-commands.d.ts +11 -0
  722. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/project-asset-commands.d.ts.map +1 -1
  723. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/project-asset-commands.js +21 -14
  724. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/project-asset-commands.js.map +1 -1
  725. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/types.d.ts +17 -9
  726. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/types.d.ts.map +1 -1
  727. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/types.js.map +1 -1
  728. package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/field-patch.d.ts.map +1 -1
  729. package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/field-patch.js +20 -0
  730. package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/field-patch.js.map +1 -1
  731. package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/reducer.d.ts.map +1 -1
  732. package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/reducer.js +49 -10
  733. package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/reducer.js.map +1 -1
  734. package/node_modules/@fps-games/editor-playable-sdk/dist/package-resolution/aliases.d.ts +2 -2
  735. package/node_modules/@fps-games/editor-playable-sdk/dist/package-resolution/aliases.d.ts.map +1 -1
  736. package/node_modules/@fps-games/editor-playable-sdk/dist/package-resolution/aliases.js +18 -0
  737. package/node_modules/@fps-games/editor-playable-sdk/dist/package-resolution/aliases.js.map +1 -1
  738. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/action-patches.d.ts +7 -0
  739. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/action-patches.d.ts.map +1 -1
  740. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/action-patches.js +130 -20
  741. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/action-patches.js.map +1 -1
  742. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/assets.d.ts +1 -1
  743. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/assets.d.ts.map +1 -1
  744. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/assets.js +12 -3
  745. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/assets.js.map +1 -1
  746. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/derived-markers.d.ts +11 -0
  747. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/derived-markers.d.ts.map +1 -0
  748. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/derived-markers.js +136 -0
  749. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/derived-markers.js.map +1 -0
  750. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/index.d.ts +1 -0
  751. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/index.d.ts.map +1 -1
  752. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/index.js +1 -0
  753. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/index.js.map +1 -1
  754. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/projection.d.ts +36 -51
  755. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/projection.d.ts.map +1 -1
  756. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/projection.js +40 -65
  757. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/projection.js.map +1 -1
  758. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/stage-inspector.d.ts +5 -2
  759. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/stage-inspector.d.ts.map +1 -1
  760. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/stage-inspector.js +207 -1
  761. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/stage-inspector.js.map +1 -1
  762. package/node_modules/@fps-games/editor-playable-sdk/dist/product/index.d.ts +1 -0
  763. package/node_modules/@fps-games/editor-playable-sdk/dist/product/index.d.ts.map +1 -1
  764. package/node_modules/@fps-games/editor-playable-sdk/dist/product/index.js +3 -0
  765. package/node_modules/@fps-games/editor-playable-sdk/dist/product/index.js.map +1 -1
  766. package/node_modules/@fps-games/editor-playable-sdk/dist/product/project-host-services.d.ts +18 -7
  767. package/node_modules/@fps-games/editor-playable-sdk/dist/product/project-host-services.d.ts.map +1 -1
  768. package/node_modules/@fps-games/editor-playable-sdk/dist/product/project-host-services.js +110 -18
  769. package/node_modules/@fps-games/editor-playable-sdk/dist/product/project-host-services.js.map +1 -1
  770. package/node_modules/@fps-games/editor-playable-sdk/dist/product/scene-source.d.ts +5 -0
  771. package/node_modules/@fps-games/editor-playable-sdk/dist/product/scene-source.d.ts.map +1 -1
  772. package/node_modules/@fps-games/editor-playable-sdk/dist/product/scene-source.js +6 -0
  773. package/node_modules/@fps-games/editor-playable-sdk/dist/product/scene-source.js.map +1 -1
  774. package/node_modules/@fps-games/editor-playable-sdk/dist/product/standard-scene-assembly.d.ts +5 -2
  775. package/node_modules/@fps-games/editor-playable-sdk/dist/product/standard-scene-assembly.d.ts.map +1 -1
  776. package/node_modules/@fps-games/editor-playable-sdk/dist/product/standard-scene-assembly.js +22 -2
  777. package/node_modules/@fps-games/editor-playable-sdk/dist/product/standard-scene-assembly.js.map +1 -1
  778. package/node_modules/@fps-games/editor-playable-sdk/dist/rendering-profile/panel.d.ts.map +1 -1
  779. package/node_modules/@fps-games/editor-playable-sdk/dist/rendering-profile/panel.js +144 -0
  780. package/node_modules/@fps-games/editor-playable-sdk/dist/rendering-profile/panel.js.map +1 -1
  781. package/node_modules/@fps-games/editor-playable-sdk/dist/rendering-profile/types.d.ts +16 -0
  782. package/node_modules/@fps-games/editor-playable-sdk/dist/rendering-profile/types.d.ts.map +1 -1
  783. package/node_modules/@fps-games/editor-playable-sdk/dist/rendering-profile/types.js.map +1 -1
  784. package/node_modules/@fps-games/editor-playable-sdk/dist/runtime-preview/nodes.d.ts.map +1 -1
  785. package/node_modules/@fps-games/editor-playable-sdk/dist/runtime-preview/nodes.js +1 -0
  786. package/node_modules/@fps-games/editor-playable-sdk/dist/runtime-preview/nodes.js.map +1 -1
  787. package/node_modules/@fps-games/editor-playable-sdk/dist/runtime-preview/types.d.ts +2 -1
  788. package/node_modules/@fps-games/editor-playable-sdk/dist/runtime-preview/types.d.ts.map +1 -1
  789. package/node_modules/@fps-games/editor-playable-sdk/dist/runtime-preview/types.js.map +1 -1
  790. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/compiler.d.ts +2 -0
  791. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/compiler.d.ts.map +1 -1
  792. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/compiler.js +241 -13
  793. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/compiler.js.map +1 -1
  794. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/index.d.ts +1 -0
  795. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/index.d.ts.map +1 -1
  796. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/index.js +1 -0
  797. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/index.js.map +1 -1
  798. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/shadow-map-experiment-migration.d.ts +31 -0
  799. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/shadow-map-experiment-migration.d.ts.map +1 -0
  800. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/shadow-map-experiment-migration.js +170 -0
  801. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/shadow-map-experiment-migration.js.map +1 -0
  802. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/types.d.ts +153 -13
  803. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/types.d.ts.map +1 -1
  804. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/types.js.map +1 -1
  805. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/validation.d.ts +17 -0
  806. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/validation.d.ts.map +1 -1
  807. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/validation.js +1295 -3
  808. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/validation.js.map +1 -1
  809. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/client.d.ts.map +1 -1
  810. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/client.js +14 -0
  811. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/client.js.map +1 -1
  812. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/driver.d.ts.map +1 -1
  813. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/driver.js +57 -34
  814. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/driver.js.map +1 -1
  815. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/protocol.d.ts.map +1 -1
  816. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/protocol.js +4 -1
  817. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/protocol.js.map +1 -1
  818. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/types.d.ts +4 -0
  819. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/types.d.ts.map +1 -1
  820. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/types.js.map +1 -1
  821. package/node_modules/@fps-games/editor-playable-sdk/dist/serialized-property/inspector.d.ts.map +1 -1
  822. package/node_modules/@fps-games/editor-playable-sdk/dist/serialized-property/inspector.js +20 -198
  823. package/node_modules/@fps-games/editor-playable-sdk/dist/serialized-property/inspector.js.map +1 -1
  824. package/node_modules/@fps-games/editor-playable-sdk/dist/session/hierarchy-facade.d.ts.map +1 -1
  825. package/node_modules/@fps-games/editor-playable-sdk/dist/session/hierarchy-facade.js +5 -1
  826. package/node_modules/@fps-games/editor-playable-sdk/dist/session/hierarchy-facade.js.map +1 -1
  827. package/node_modules/@fps-games/editor-playable-sdk/dist/session/patches.d.ts +5 -0
  828. package/node_modules/@fps-games/editor-playable-sdk/dist/session/patches.d.ts.map +1 -1
  829. package/node_modules/@fps-games/editor-playable-sdk/dist/session/patches.js +144 -8
  830. package/node_modules/@fps-games/editor-playable-sdk/dist/session/patches.js.map +1 -1
  831. package/node_modules/@fps-games/editor-playable-sdk/dist/session/reducer-core.d.ts +1 -1
  832. package/node_modules/@fps-games/editor-playable-sdk/dist/session/reducer-core.d.ts.map +1 -1
  833. package/node_modules/@fps-games/editor-playable-sdk/dist/session/reducer-core.js +30 -1
  834. package/node_modules/@fps-games/editor-playable-sdk/dist/session/reducer-core.js.map +1 -1
  835. package/node_modules/@fps-games/editor-playable-sdk/dist/session/types.d.ts +6 -0
  836. package/node_modules/@fps-games/editor-playable-sdk/dist/session/types.d.ts.map +1 -1
  837. package/node_modules/@fps-games/editor-playable-sdk/dist/session/types.js.map +1 -1
  838. package/node_modules/@fps-games/editor-playable-sdk/dist/upgrade-doctor/inspectors.js +31 -3
  839. package/node_modules/@fps-games/editor-playable-sdk/dist/upgrade-doctor/inspectors.js.map +1 -1
  840. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/editor-scene-workflow.d.ts +5 -2
  841. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/editor-scene-workflow.d.ts.map +1 -1
  842. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/editor-scene-workflow.js +40 -4
  843. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/editor-scene-workflow.js.map +1 -1
  844. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/plugin.d.ts.map +1 -1
  845. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/plugin.js +116 -3
  846. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/plugin.js.map +1 -1
  847. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-adapter.d.ts +2 -1
  848. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-adapter.d.ts.map +1 -1
  849. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-adapter.js +1 -0
  850. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-adapter.js.map +1 -1
  851. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-asset-authoring.d.ts +17 -1
  852. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-asset-authoring.d.ts.map +1 -1
  853. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-asset-authoring.js +50 -2
  854. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-asset-authoring.js.map +1 -1
  855. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-authoring-api.d.ts.map +1 -1
  856. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-authoring-api.js +7 -5
  857. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-authoring-api.js.map +1 -1
  858. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-scene-authoring.d.ts +5 -6
  859. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-scene-authoring.d.ts.map +1 -1
  860. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-scene-authoring.js +31 -17
  861. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-scene-authoring.js.map +1 -1
  862. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/types.d.ts +6 -0
  863. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/types.d.ts.map +1 -1
  864. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/types.js.map +1 -1
  865. package/node_modules/@fps-games/editor-playable-sdk/package.json +6 -6
  866. package/node_modules/@fps-games/editor-protocol/dist/agent-bridge.d.ts +417 -2
  867. package/node_modules/@fps-games/editor-protocol/dist/agent-bridge.d.ts.map +1 -1
  868. package/node_modules/@fps-games/editor-protocol/dist/agent-bridge.js +692 -2
  869. package/node_modules/@fps-games/editor-protocol/dist/agent-bridge.js.map +1 -1
  870. package/node_modules/@fps-games/editor-protocol/dist/editor-diagnostics.d.ts +55 -0
  871. package/node_modules/@fps-games/editor-protocol/dist/editor-diagnostics.d.ts.map +1 -0
  872. package/node_modules/@fps-games/editor-protocol/dist/editor-diagnostics.js +2 -0
  873. package/node_modules/@fps-games/editor-protocol/dist/editor-diagnostics.js.map +1 -0
  874. package/node_modules/@fps-games/editor-protocol/dist/index.d.ts +3 -18
  875. package/node_modules/@fps-games/editor-protocol/dist/index.d.ts.map +1 -1
  876. package/node_modules/@fps-games/editor-protocol/dist/index.js +1 -0
  877. package/node_modules/@fps-games/editor-protocol/dist/index.js.map +1 -1
  878. package/node_modules/@fps-games/editor-protocol/package.json +2 -2
  879. package/node_modules/@fps-games/editor-tooling/dist/package-metadata-node.d.ts.map +1 -1
  880. package/node_modules/@fps-games/editor-tooling/dist/package-metadata-node.js +5 -0
  881. package/node_modules/@fps-games/editor-tooling/dist/package-metadata-node.js.map +1 -1
  882. package/node_modules/@fps-games/editor-tooling/dist/vite.d.ts.map +1 -1
  883. package/node_modules/@fps-games/editor-tooling/dist/vite.js +151 -5
  884. package/node_modules/@fps-games/editor-tooling/dist/vite.js.map +1 -1
  885. package/node_modules/@fps-games/editor-tooling/package.json +3 -3
  886. package/node_modules/@fps-games/editor-ui/dist/editor-ui-controls.d.ts +107 -0
  887. package/node_modules/@fps-games/editor-ui/dist/editor-ui-controls.d.ts.map +1 -0
  888. package/node_modules/@fps-games/editor-ui/dist/editor-ui-controls.js +770 -0
  889. package/node_modules/@fps-games/editor-ui/dist/editor-ui-controls.js.map +1 -0
  890. package/node_modules/@fps-games/editor-ui/dist/editor-ui-layer-host.d.ts +21 -0
  891. package/node_modules/@fps-games/editor-ui/dist/editor-ui-layer-host.d.ts.map +1 -0
  892. package/node_modules/@fps-games/editor-ui/dist/editor-ui-layer-host.js +172 -0
  893. package/node_modules/@fps-games/editor-ui/dist/editor-ui-layer-host.js.map +1 -0
  894. package/node_modules/@fps-games/editor-ui/dist/editor-ui-shell.d.ts +14 -0
  895. package/node_modules/@fps-games/editor-ui/dist/editor-ui-shell.d.ts.map +1 -0
  896. package/node_modules/@fps-games/editor-ui/dist/editor-ui-shell.js +32 -0
  897. package/node_modules/@fps-games/editor-ui/dist/editor-ui-shell.js.map +1 -0
  898. package/node_modules/@fps-games/editor-ui/dist/editor-ui-theme.d.ts +3 -0
  899. package/node_modules/@fps-games/editor-ui/dist/editor-ui-theme.d.ts.map +1 -0
  900. package/node_modules/@fps-games/editor-ui/dist/editor-ui-theme.js +653 -0
  901. package/node_modules/@fps-games/editor-ui/dist/editor-ui-theme.js.map +1 -0
  902. package/node_modules/@fps-games/editor-ui/dist/gallery.d.ts +3 -0
  903. package/node_modules/@fps-games/editor-ui/dist/gallery.d.ts.map +1 -0
  904. package/node_modules/@fps-games/editor-ui/dist/gallery.js +3 -0
  905. package/node_modules/@fps-games/editor-ui/dist/gallery.js.map +1 -0
  906. package/node_modules/@fps-games/editor-ui/dist/index.d.ts +5 -0
  907. package/node_modules/@fps-games/editor-ui/dist/index.d.ts.map +1 -0
  908. package/node_modules/@fps-games/editor-ui/dist/index.js +5 -0
  909. package/node_modules/@fps-games/editor-ui/dist/index.js.map +1 -0
  910. package/node_modules/@fps-games/editor-ui/dist/inspector-property-gallery-model.d.ts +7 -0
  911. package/node_modules/@fps-games/editor-ui/dist/inspector-property-gallery-model.d.ts.map +1 -0
  912. package/node_modules/@fps-games/editor-ui/dist/inspector-property-gallery-model.js +29 -0
  913. package/node_modules/@fps-games/editor-ui/dist/inspector-property-gallery-model.js.map +1 -0
  914. package/node_modules/@fps-games/editor-ui/dist/inspector-property-gallery-styles.d.ts +2 -0
  915. package/node_modules/@fps-games/editor-ui/dist/inspector-property-gallery-styles.d.ts.map +1 -0
  916. package/node_modules/@fps-games/editor-ui/dist/inspector-property-gallery-styles.js +95 -0
  917. package/node_modules/@fps-games/editor-ui/dist/inspector-property-gallery-styles.js.map +1 -0
  918. package/node_modules/@fps-games/editor-ui/dist/inspector-property-gallery.d.ts +28 -0
  919. package/node_modules/@fps-games/editor-ui/dist/inspector-property-gallery.d.ts.map +1 -0
  920. package/node_modules/@fps-games/editor-ui/dist/inspector-property-gallery.js +387 -0
  921. package/node_modules/@fps-games/editor-ui/dist/inspector-property-gallery.js.map +1 -0
  922. package/node_modules/@fps-games/editor-ui/package.json +23 -0
  923. package/node_modules/@fps-games/playable-assets/package.json +1 -1
  924. package/node_modules/@fps-games/playable-contracts/dist/index.d.ts +1 -0
  925. package/node_modules/@fps-games/playable-contracts/dist/index.d.ts.map +1 -1
  926. package/node_modules/@fps-games/playable-contracts/dist/index.js +1 -0
  927. package/node_modules/@fps-games/playable-contracts/dist/index.js.map +1 -1
  928. package/node_modules/@fps-games/playable-contracts/dist/material-owner.d.ts +116 -0
  929. package/node_modules/@fps-games/playable-contracts/dist/material-owner.d.ts.map +1 -0
  930. package/node_modules/@fps-games/playable-contracts/dist/material-owner.js +403 -0
  931. package/node_modules/@fps-games/playable-contracts/dist/material-owner.js.map +1 -0
  932. package/node_modules/@fps-games/playable-contracts/package.json +1 -1
  933. package/node_modules/@fps-games/playable-rendering/dist/index.d.ts +3 -0
  934. package/node_modules/@fps-games/playable-rendering/dist/index.d.ts.map +1 -1
  935. package/node_modules/@fps-games/playable-rendering/dist/index.js +3 -0
  936. package/node_modules/@fps-games/playable-rendering/dist/index.js.map +1 -1
  937. package/node_modules/@fps-games/playable-rendering/dist/rendering-profile-validation.js +5 -25
  938. package/node_modules/@fps-games/playable-rendering/dist/rendering-profile-validation.js.map +1 -1
  939. package/node_modules/@fps-games/playable-rendering/dist/runtime.d.ts +3 -0
  940. package/node_modules/@fps-games/playable-rendering/dist/runtime.d.ts.map +1 -1
  941. package/node_modules/@fps-games/playable-rendering/dist/runtime.js +3 -0
  942. package/node_modules/@fps-games/playable-rendering/dist/runtime.js.map +1 -1
  943. package/node_modules/@fps-games/playable-rendering/dist/shadow-map-experiment-depth.d.ts +61 -0
  944. package/node_modules/@fps-games/playable-rendering/dist/shadow-map-experiment-depth.d.ts.map +1 -0
  945. package/node_modules/@fps-games/playable-rendering/dist/shadow-map-experiment-depth.js +176 -0
  946. package/node_modules/@fps-games/playable-rendering/dist/shadow-map-experiment-depth.js.map +1 -0
  947. package/node_modules/@fps-games/playable-rendering/dist/shadow-map-experiment-lifecycle.d.ts +84 -0
  948. package/node_modules/@fps-games/playable-rendering/dist/shadow-map-experiment-lifecycle.d.ts.map +1 -0
  949. package/node_modules/@fps-games/playable-rendering/dist/shadow-map-experiment-lifecycle.js +362 -0
  950. package/node_modules/@fps-games/playable-rendering/dist/shadow-map-experiment-lifecycle.js.map +1 -0
  951. package/node_modules/@fps-games/playable-rendering/dist/shadow-map-experiment.d.ts +167 -0
  952. package/node_modules/@fps-games/playable-rendering/dist/shadow-map-experiment.d.ts.map +1 -0
  953. package/node_modules/@fps-games/playable-rendering/dist/shadow-map-experiment.js +484 -0
  954. package/node_modules/@fps-games/playable-rendering/dist/shadow-map-experiment.js.map +1 -0
  955. package/node_modules/@fps-games/playable-rendering/package.json +2 -2
  956. package/node_modules/@fps-games/playable-runtime/dist/compiled-scene-data.d.ts +5 -0
  957. package/node_modules/@fps-games/playable-runtime/dist/compiled-scene-data.d.ts.map +1 -1
  958. package/node_modules/@fps-games/playable-runtime/dist/compiled-scene-data.js +1 -0
  959. package/node_modules/@fps-games/playable-runtime/dist/compiled-scene-data.js.map +1 -1
  960. package/node_modules/@fps-games/playable-runtime/package.json +12 -12
  961. package/node_modules/@fps-games/playable-runtime-data/package.json +4 -4
  962. package/node_modules/@fps-games/playable-scene/package.json +2 -2
  963. package/node_modules/@fps-games/plugin-api/package.json +1 -1
  964. package/node_modules/@fps-games/plugin-assets/dist/version.d.ts +1 -1
  965. package/node_modules/@fps-games/plugin-assets/dist/version.js +1 -1
  966. package/node_modules/@fps-games/plugin-assets/dist/version.js.map +1 -1
  967. package/node_modules/@fps-games/plugin-assets/package.json +5 -5
  968. package/node_modules/@fps-games/plugin-hierarchy/dist/editor.d.ts +6 -0
  969. package/node_modules/@fps-games/plugin-hierarchy/dist/editor.d.ts.map +1 -0
  970. package/node_modules/@fps-games/plugin-hierarchy/dist/editor.js +16 -0
  971. package/node_modules/@fps-games/plugin-hierarchy/dist/editor.js.map +1 -0
  972. package/node_modules/@fps-games/plugin-hierarchy/dist/integration.d.ts +7 -0
  973. package/node_modules/@fps-games/plugin-hierarchy/dist/integration.d.ts.map +1 -0
  974. package/node_modules/@fps-games/plugin-hierarchy/dist/integration.js +47 -0
  975. package/node_modules/@fps-games/plugin-hierarchy/dist/integration.js.map +1 -0
  976. package/node_modules/@fps-games/plugin-hierarchy/dist/kernel.d.ts +306 -0
  977. package/node_modules/@fps-games/plugin-hierarchy/dist/kernel.d.ts.map +1 -0
  978. package/node_modules/@fps-games/plugin-hierarchy/dist/kernel.js +1237 -0
  979. package/node_modules/@fps-games/plugin-hierarchy/dist/kernel.js.map +1 -0
  980. package/node_modules/@fps-games/plugin-hierarchy/dist/reference.d.ts +8 -0
  981. package/node_modules/@fps-games/plugin-hierarchy/dist/reference.d.ts.map +1 -0
  982. package/node_modules/@fps-games/plugin-hierarchy/dist/reference.js +32 -0
  983. package/node_modules/@fps-games/plugin-hierarchy/dist/reference.js.map +1 -0
  984. package/node_modules/@fps-games/plugin-hierarchy/dist/version.d.ts +2 -0
  985. package/node_modules/@fps-games/plugin-hierarchy/dist/version.d.ts.map +1 -0
  986. package/node_modules/@fps-games/plugin-hierarchy/dist/version.js +2 -0
  987. package/node_modules/@fps-games/plugin-hierarchy/dist/version.js.map +1 -0
  988. package/node_modules/@fps-games/plugin-hierarchy/package.json +57 -0
  989. package/node_modules/@fps-games/plugin-host/package.json +2 -2
  990. package/node_modules/@fps-games/plugin-markers/dist/version.d.ts +1 -1
  991. package/node_modules/@fps-games/plugin-markers/dist/version.js +1 -1
  992. package/node_modules/@fps-games/plugin-markers/dist/version.js.map +1 -1
  993. package/node_modules/@fps-games/plugin-markers/package.json +5 -5
  994. package/node_modules/@fps-games/plugin-materials/dist/version.d.ts +1 -1
  995. package/node_modules/@fps-games/plugin-materials/dist/version.js +1 -1
  996. package/node_modules/@fps-games/plugin-materials/dist/version.js.map +1 -1
  997. package/node_modules/@fps-games/plugin-materials/package.json +5 -5
  998. package/node_modules/@fps-games/plugin-rendering/dist/version.d.ts +1 -1
  999. package/node_modules/@fps-games/plugin-rendering/dist/version.js +1 -1
  1000. package/node_modules/@fps-games/plugin-rendering/dist/version.js.map +1 -1
  1001. package/node_modules/@fps-games/plugin-rendering/package.json +5 -5
  1002. package/node_modules/@fps-games/plugin-scene/dist/version.d.ts +1 -1
  1003. package/node_modules/@fps-games/plugin-scene/dist/version.js +1 -1
  1004. package/node_modules/@fps-games/plugin-scene/dist/version.js.map +1 -1
  1005. package/node_modules/@fps-games/plugin-scene/package.json +5 -5
  1006. package/node_modules/@fps-games/plugin-shadow-map-experiment/dist/reference.d.ts +8 -0
  1007. package/node_modules/@fps-games/plugin-shadow-map-experiment/dist/reference.d.ts.map +1 -0
  1008. package/node_modules/@fps-games/plugin-shadow-map-experiment/dist/reference.js +35 -0
  1009. package/node_modules/@fps-games/plugin-shadow-map-experiment/dist/reference.js.map +1 -0
  1010. package/node_modules/@fps-games/plugin-shadow-map-experiment/dist/runtime.d.ts +11 -0
  1011. package/node_modules/@fps-games/plugin-shadow-map-experiment/dist/runtime.d.ts.map +1 -0
  1012. package/node_modules/@fps-games/plugin-shadow-map-experiment/dist/runtime.js +14 -0
  1013. package/node_modules/@fps-games/plugin-shadow-map-experiment/dist/runtime.js.map +1 -0
  1014. package/node_modules/@fps-games/plugin-shadow-map-experiment/dist/version.d.ts +2 -0
  1015. package/node_modules/@fps-games/plugin-shadow-map-experiment/dist/version.d.ts.map +1 -0
  1016. package/node_modules/@fps-games/plugin-shadow-map-experiment/dist/version.js +2 -0
  1017. package/node_modules/@fps-games/plugin-shadow-map-experiment/dist/version.js.map +1 -0
  1018. package/node_modules/@fps-games/plugin-shadow-map-experiment/package.json +53 -0
  1019. package/node_modules/@fps-games/plugin-shadows/dist/version.d.ts +1 -1
  1020. package/node_modules/@fps-games/plugin-shadows/dist/version.js +1 -1
  1021. package/node_modules/@fps-games/plugin-shadows/dist/version.js.map +1 -1
  1022. package/node_modules/@fps-games/plugin-shadows/package.json +7 -7
  1023. package/node_modules/@playcanvas/observer/LICENSE +19 -0
  1024. package/node_modules/@playcanvas/observer/README.md +72 -0
  1025. package/node_modules/@playcanvas/observer/dist/index.cjs +2033 -0
  1026. package/node_modules/@playcanvas/observer/dist/index.js +2039 -0
  1027. package/node_modules/@playcanvas/observer/dist/index.mjs +2026 -0
  1028. package/node_modules/@playcanvas/observer/package.json +78 -0
  1029. package/node_modules/@playcanvas/observer/types/event-handle.d.ts +41 -0
  1030. package/node_modules/@playcanvas/observer/types/events.d.ts +162 -0
  1031. package/node_modules/@playcanvas/observer/types/history.d.ts +123 -0
  1032. package/node_modules/@playcanvas/observer/types/index.d.ts +15 -0
  1033. package/node_modules/@playcanvas/observer/types/observer-history.d.ts +32 -0
  1034. package/node_modules/@playcanvas/observer/types/observer-list.d.ts +39 -0
  1035. package/node_modules/@playcanvas/observer/types/observer.d.ts +157 -0
  1036. package/node_modules/@playcanvas/observer/types/utils.d.ts +33 -0
  1037. package/node_modules/@playcanvas/pcui/LICENSE +19 -0
  1038. package/node_modules/@playcanvas/pcui/README.md +164 -0
  1039. package/node_modules/@playcanvas/pcui/dist/module/node_modules/playcanvas/build/playcanvas/src/core/math/constants.mjs +6 -0
  1040. package/node_modules/@playcanvas/pcui/dist/module/node_modules/playcanvas/build/playcanvas/src/core/math/curve-evaluator.mjs +119 -0
  1041. package/node_modules/@playcanvas/pcui/dist/module/node_modules/playcanvas/build/playcanvas/src/core/math/curve-set.mjs +82 -0
  1042. package/node_modules/@playcanvas/pcui/dist/module/node_modules/playcanvas/build/playcanvas/src/core/math/curve.mjs +92 -0
  1043. package/node_modules/@playcanvas/pcui/dist/module/node_modules/playcanvas/build/playcanvas/src/core/math/math.mjs +105 -0
  1044. package/node_modules/@playcanvas/pcui/dist/module/src/Math/color-value.mjs +77 -0
  1045. package/node_modules/@playcanvas/pcui/dist/module/src/binding/BindingBase/index.mjs +215 -0
  1046. package/node_modules/@playcanvas/pcui/dist/module/src/binding/BindingElementToObservers/index.mjs +297 -0
  1047. package/node_modules/@playcanvas/pcui/dist/module/src/binding/BindingObserversToElement/index.mjs +110 -0
  1048. package/node_modules/@playcanvas/pcui/dist/module/src/binding/BindingTwoWay/index.mjs +113 -0
  1049. package/node_modules/@playcanvas/pcui/dist/module/src/class.mjs +19 -0
  1050. package/node_modules/@playcanvas/pcui/dist/module/src/components/ArrayInput/index.mjs +498 -0
  1051. package/node_modules/@playcanvas/pcui/dist/module/src/components/BooleanInput/index.mjs +122 -0
  1052. package/node_modules/@playcanvas/pcui/dist/module/src/components/Button/index.mjs +119 -0
  1053. package/node_modules/@playcanvas/pcui/dist/module/src/components/Canvas/index.mjs +104 -0
  1054. package/node_modules/@playcanvas/pcui/dist/module/src/components/Code/index.mjs +43 -0
  1055. package/node_modules/@playcanvas/pcui/dist/module/src/components/ColorPicker/index.mjs +619 -0
  1056. package/node_modules/@playcanvas/pcui/dist/module/src/components/Container/index.mjs +642 -0
  1057. package/node_modules/@playcanvas/pcui/dist/module/src/components/Divider/index.mjs +20 -0
  1058. package/node_modules/@playcanvas/pcui/dist/module/src/components/Element/index.mjs +829 -0
  1059. package/node_modules/@playcanvas/pcui/dist/module/src/components/GradientPicker/index.mjs +1136 -0
  1060. package/node_modules/@playcanvas/pcui/dist/module/src/components/GridView/index.mjs +448 -0
  1061. package/node_modules/@playcanvas/pcui/dist/module/src/components/GridViewItem/index.mjs +152 -0
  1062. package/node_modules/@playcanvas/pcui/dist/module/src/components/InfoBox/index.mjs +90 -0
  1063. package/node_modules/@playcanvas/pcui/dist/module/src/components/InputElement/index.mjs +186 -0
  1064. package/node_modules/@playcanvas/pcui/dist/module/src/components/Label/index.mjs +124 -0
  1065. package/node_modules/@playcanvas/pcui/dist/module/src/components/LabelGroup/index.mjs +74 -0
  1066. package/node_modules/@playcanvas/pcui/dist/module/src/components/Menu/index.mjs +174 -0
  1067. package/node_modules/@playcanvas/pcui/dist/module/src/components/MenuItem/index.mjs +223 -0
  1068. package/node_modules/@playcanvas/pcui/dist/module/src/components/NumericInput/index.mjs +400 -0
  1069. package/node_modules/@playcanvas/pcui/dist/module/src/components/Overlay/index.mjs +108 -0
  1070. package/node_modules/@playcanvas/pcui/dist/module/src/components/Panel/index.mjs +400 -0
  1071. package/node_modules/@playcanvas/pcui/dist/module/src/components/Progress/index.mjs +45 -0
  1072. package/node_modules/@playcanvas/pcui/dist/module/src/components/RadioButton/index.mjs +113 -0
  1073. package/node_modules/@playcanvas/pcui/dist/module/src/components/SelectInput/index.mjs +1085 -0
  1074. package/node_modules/@playcanvas/pcui/dist/module/src/components/SliderInput/index.mjs +333 -0
  1075. package/node_modules/@playcanvas/pcui/dist/module/src/components/Spinner/index.mjs +34 -0
  1076. package/node_modules/@playcanvas/pcui/dist/module/src/components/TextAreaInput/index.mjs +50 -0
  1077. package/node_modules/@playcanvas/pcui/dist/module/src/components/TextInput/index.mjs +98 -0
  1078. package/node_modules/@playcanvas/pcui/dist/module/src/components/TreeView/index.mjs +1131 -0
  1079. package/node_modules/@playcanvas/pcui/dist/module/src/components/TreeViewItem/index.mjs +500 -0
  1080. package/node_modules/@playcanvas/pcui/dist/module/src/components/VectorInput/index.mjs +366 -0
  1081. package/node_modules/@playcanvas/pcui/dist/module/src/helpers/search.mjs +194 -0
  1082. package/node_modules/@playcanvas/pcui/dist/module/src/helpers/utils.mjs +43 -0
  1083. package/node_modules/@playcanvas/pcui/dist/module/src/index.mjs +56 -0
  1084. package/node_modules/@playcanvas/pcui/dist/pcui-theme-green.scss +2798 -0
  1085. package/node_modules/@playcanvas/pcui/dist/pcui-theme-grey.scss +2798 -0
  1086. package/node_modules/@playcanvas/pcui/package.json +150 -0
  1087. package/node_modules/@playcanvas/pcui/react/dist/module/node_modules/playcanvas/build/playcanvas/src/core/math/constants.mjs +6 -0
  1088. package/node_modules/@playcanvas/pcui/react/dist/module/node_modules/playcanvas/build/playcanvas/src/core/math/curve-evaluator.mjs +119 -0
  1089. package/node_modules/@playcanvas/pcui/react/dist/module/node_modules/playcanvas/build/playcanvas/src/core/math/curve-set.mjs +82 -0
  1090. package/node_modules/@playcanvas/pcui/react/dist/module/node_modules/playcanvas/build/playcanvas/src/core/math/curve.mjs +92 -0
  1091. package/node_modules/@playcanvas/pcui/react/dist/module/node_modules/playcanvas/build/playcanvas/src/core/math/math.mjs +105 -0
  1092. package/node_modules/@playcanvas/pcui/react/dist/module/src/Math/color-value.mjs +77 -0
  1093. package/node_modules/@playcanvas/pcui/react/dist/module/src/binding/BindingBase/index.mjs +215 -0
  1094. package/node_modules/@playcanvas/pcui/react/dist/module/src/binding/BindingElementToObservers/index.mjs +297 -0
  1095. package/node_modules/@playcanvas/pcui/react/dist/module/src/binding/BindingObserversToElement/index.mjs +110 -0
  1096. package/node_modules/@playcanvas/pcui/react/dist/module/src/binding/BindingTwoWay/index.mjs +113 -0
  1097. package/node_modules/@playcanvas/pcui/react/dist/module/src/class.mjs +19 -0
  1098. package/node_modules/@playcanvas/pcui/react/dist/module/src/components/ArrayInput/component.mjs +11 -0
  1099. package/node_modules/@playcanvas/pcui/react/dist/module/src/components/ArrayInput/index.mjs +498 -0
  1100. package/node_modules/@playcanvas/pcui/react/dist/module/src/components/BooleanInput/component.mjs +11 -0
  1101. package/node_modules/@playcanvas/pcui/react/dist/module/src/components/BooleanInput/index.mjs +122 -0
  1102. package/node_modules/@playcanvas/pcui/react/dist/module/src/components/Button/component.mjs +16 -0
  1103. package/node_modules/@playcanvas/pcui/react/dist/module/src/components/Button/index.mjs +119 -0
  1104. package/node_modules/@playcanvas/pcui/react/dist/module/src/components/Canvas/component.mjs +16 -0
  1105. package/node_modules/@playcanvas/pcui/react/dist/module/src/components/Canvas/index.mjs +104 -0
  1106. package/node_modules/@playcanvas/pcui/react/dist/module/src/components/Code/component.mjs +11 -0
  1107. package/node_modules/@playcanvas/pcui/react/dist/module/src/components/Code/index.mjs +43 -0
  1108. package/node_modules/@playcanvas/pcui/react/dist/module/src/components/ColorPicker/component.mjs +16 -0
  1109. package/node_modules/@playcanvas/pcui/react/dist/module/src/components/ColorPicker/index.mjs +619 -0
  1110. package/node_modules/@playcanvas/pcui/react/dist/module/src/components/Container/component.mjs +36 -0
  1111. package/node_modules/@playcanvas/pcui/react/dist/module/src/components/Container/index.mjs +642 -0
  1112. package/node_modules/@playcanvas/pcui/react/dist/module/src/components/Divider/component.mjs +11 -0
  1113. package/node_modules/@playcanvas/pcui/react/dist/module/src/components/Divider/index.mjs +20 -0
  1114. package/node_modules/@playcanvas/pcui/react/dist/module/src/components/Element/component.mjs +107 -0
  1115. package/node_modules/@playcanvas/pcui/react/dist/module/src/components/Element/index.mjs +829 -0
  1116. package/node_modules/@playcanvas/pcui/react/dist/module/src/components/GradientPicker/component.mjs +16 -0
  1117. package/node_modules/@playcanvas/pcui/react/dist/module/src/components/GradientPicker/index.mjs +1136 -0
  1118. package/node_modules/@playcanvas/pcui/react/dist/module/src/components/GridView/component.mjs +38 -0
  1119. package/node_modules/@playcanvas/pcui/react/dist/module/src/components/GridView/index.mjs +448 -0
  1120. package/node_modules/@playcanvas/pcui/react/dist/module/src/components/GridViewItem/component.mjs +11 -0
  1121. package/node_modules/@playcanvas/pcui/react/dist/module/src/components/GridViewItem/index.mjs +152 -0
  1122. package/node_modules/@playcanvas/pcui/react/dist/module/src/components/InfoBox/component.mjs +16 -0
  1123. package/node_modules/@playcanvas/pcui/react/dist/module/src/components/InfoBox/index.mjs +90 -0
  1124. package/node_modules/@playcanvas/pcui/react/dist/module/src/components/InputElement/index.mjs +186 -0
  1125. package/node_modules/@playcanvas/pcui/react/dist/module/src/components/Label/component.mjs +16 -0
  1126. package/node_modules/@playcanvas/pcui/react/dist/module/src/components/Label/index.mjs +124 -0
  1127. package/node_modules/@playcanvas/pcui/react/dist/module/src/components/LabelGroup/component.mjs +42 -0
  1128. package/node_modules/@playcanvas/pcui/react/dist/module/src/components/LabelGroup/index.mjs +74 -0
  1129. package/node_modules/@playcanvas/pcui/react/dist/module/src/components/Menu/component.mjs +23 -0
  1130. package/node_modules/@playcanvas/pcui/react/dist/module/src/components/Menu/index.mjs +174 -0
  1131. package/node_modules/@playcanvas/pcui/react/dist/module/src/components/MenuItem/index.mjs +223 -0
  1132. package/node_modules/@playcanvas/pcui/react/dist/module/src/components/NumericInput/component.mjs +11 -0
  1133. package/node_modules/@playcanvas/pcui/react/dist/module/src/components/NumericInput/index.mjs +400 -0
  1134. package/node_modules/@playcanvas/pcui/react/dist/module/src/components/Overlay/component.mjs +11 -0
  1135. package/node_modules/@playcanvas/pcui/react/dist/module/src/components/Overlay/index.mjs +108 -0
  1136. package/node_modules/@playcanvas/pcui/react/dist/module/src/components/Panel/component.mjs +32 -0
  1137. package/node_modules/@playcanvas/pcui/react/dist/module/src/components/Panel/index.mjs +400 -0
  1138. package/node_modules/@playcanvas/pcui/react/dist/module/src/components/Progress/component.mjs +11 -0
  1139. package/node_modules/@playcanvas/pcui/react/dist/module/src/components/Progress/index.mjs +45 -0
  1140. package/node_modules/@playcanvas/pcui/react/dist/module/src/components/RadioButton/component.mjs +11 -0
  1141. package/node_modules/@playcanvas/pcui/react/dist/module/src/components/RadioButton/index.mjs +113 -0
  1142. package/node_modules/@playcanvas/pcui/react/dist/module/src/components/SelectInput/component.mjs +21 -0
  1143. package/node_modules/@playcanvas/pcui/react/dist/module/src/components/SelectInput/index.mjs +1085 -0
  1144. package/node_modules/@playcanvas/pcui/react/dist/module/src/components/SliderInput/component.mjs +12 -0
  1145. package/node_modules/@playcanvas/pcui/react/dist/module/src/components/SliderInput/index.mjs +333 -0
  1146. package/node_modules/@playcanvas/pcui/react/dist/module/src/components/Spinner/component.mjs +16 -0
  1147. package/node_modules/@playcanvas/pcui/react/dist/module/src/components/Spinner/index.mjs +34 -0
  1148. package/node_modules/@playcanvas/pcui/react/dist/module/src/components/TextAreaInput/component.mjs +11 -0
  1149. package/node_modules/@playcanvas/pcui/react/dist/module/src/components/TextAreaInput/index.mjs +50 -0
  1150. package/node_modules/@playcanvas/pcui/react/dist/module/src/components/TextInput/component.mjs +23 -0
  1151. package/node_modules/@playcanvas/pcui/react/dist/module/src/components/TextInput/index.mjs +98 -0
  1152. package/node_modules/@playcanvas/pcui/react/dist/module/src/components/TreeView/component.mjs +52 -0
  1153. package/node_modules/@playcanvas/pcui/react/dist/module/src/components/TreeView/index.mjs +1131 -0
  1154. package/node_modules/@playcanvas/pcui/react/dist/module/src/components/TreeViewItem/component.mjs +33 -0
  1155. package/node_modules/@playcanvas/pcui/react/dist/module/src/components/TreeViewItem/index.mjs +500 -0
  1156. package/node_modules/@playcanvas/pcui/react/dist/module/src/components/VectorInput/component.mjs +11 -0
  1157. package/node_modules/@playcanvas/pcui/react/dist/module/src/components/VectorInput/index.mjs +366 -0
  1158. package/node_modules/@playcanvas/pcui/react/dist/module/src/helpers/search.mjs +194 -0
  1159. package/node_modules/@playcanvas/pcui/react/dist/module/src/helpers/utils.mjs +43 -0
  1160. package/node_modules/@playcanvas/pcui/react/dist/module/src/index.mjs +39 -0
  1161. package/node_modules/@playcanvas/pcui/react/package.json +18 -0
  1162. package/node_modules/@playcanvas/pcui/react/types/Math/color-value.d.ts +3 -0
  1163. package/node_modules/@playcanvas/pcui/react/types/binding/BindingBase/index.d.ts +178 -0
  1164. package/node_modules/@playcanvas/pcui/react/types/binding/BindingElementToObservers/index.d.ts +24 -0
  1165. package/node_modules/@playcanvas/pcui/react/types/binding/BindingObserversToElement/index.d.ts +40 -0
  1166. package/node_modules/@playcanvas/pcui/react/types/binding/BindingTwoWay/index.d.ts +54 -0
  1167. package/node_modules/@playcanvas/pcui/react/types/binding/index.d.ts +5 -0
  1168. package/node_modules/@playcanvas/pcui/react/types/class.d.ts +17 -0
  1169. package/node_modules/@playcanvas/pcui/react/types/components/ArrayInput/component.d.ts +9 -0
  1170. package/node_modules/@playcanvas/pcui/react/types/components/ArrayInput/index.d.ts +140 -0
  1171. package/node_modules/@playcanvas/pcui/react/types/components/BooleanInput/component.d.ts +9 -0
  1172. package/node_modules/@playcanvas/pcui/react/types/components/BooleanInput/index.d.ts +41 -0
  1173. package/node_modules/@playcanvas/pcui/react/types/components/Button/component.d.ts +11 -0
  1174. package/node_modules/@playcanvas/pcui/react/types/components/Button/index.d.ts +75 -0
  1175. package/node_modules/@playcanvas/pcui/react/types/components/Canvas/component.d.ts +11 -0
  1176. package/node_modules/@playcanvas/pcui/react/types/components/Canvas/index.d.ts +61 -0
  1177. package/node_modules/@playcanvas/pcui/react/types/components/Code/component.d.ts +9 -0
  1178. package/node_modules/@playcanvas/pcui/react/types/components/Code/index.d.ts +33 -0
  1179. package/node_modules/@playcanvas/pcui/react/types/components/ColorPicker/component.d.ts +11 -0
  1180. package/node_modules/@playcanvas/pcui/react/types/components/ColorPicker/index.d.ts +99 -0
  1181. package/node_modules/@playcanvas/pcui/react/types/components/Container/component.d.ts +15 -0
  1182. package/node_modules/@playcanvas/pcui/react/types/components/Container/index.d.ts +292 -0
  1183. package/node_modules/@playcanvas/pcui/react/types/components/Divider/component.d.ts +10 -0
  1184. package/node_modules/@playcanvas/pcui/react/types/components/Divider/index.d.ts +13 -0
  1185. package/node_modules/@playcanvas/pcui/react/types/components/Element/component.d.ts +23 -0
  1186. package/node_modules/@playcanvas/pcui/react/types/components/Element/index.d.ts +671 -0
  1187. package/node_modules/@playcanvas/pcui/react/types/components/GradientPicker/component.d.ts +11 -0
  1188. package/node_modules/@playcanvas/pcui/react/types/components/GradientPicker/index.d.ts +152 -0
  1189. package/node_modules/@playcanvas/pcui/react/types/components/GridView/component.d.ts +14 -0
  1190. package/node_modules/@playcanvas/pcui/react/types/components/GridView/index.d.ts +103 -0
  1191. package/node_modules/@playcanvas/pcui/react/types/components/GridViewItem/component.d.ts +9 -0
  1192. package/node_modules/@playcanvas/pcui/react/types/components/GridViewItem/index.d.ts +82 -0
  1193. package/node_modules/@playcanvas/pcui/react/types/components/InfoBox/component.d.ts +11 -0
  1194. package/node_modules/@playcanvas/pcui/react/types/components/InfoBox/index.d.ts +71 -0
  1195. package/node_modules/@playcanvas/pcui/react/types/components/InputElement/index.d.ts +84 -0
  1196. package/node_modules/@playcanvas/pcui/react/types/components/Label/component.d.ts +11 -0
  1197. package/node_modules/@playcanvas/pcui/react/types/components/Label/index.d.ts +85 -0
  1198. package/node_modules/@playcanvas/pcui/react/types/components/LabelGroup/component.d.ts +10 -0
  1199. package/node_modules/@playcanvas/pcui/react/types/components/LabelGroup/index.d.ts +62 -0
  1200. package/node_modules/@playcanvas/pcui/react/types/components/Menu/component.d.ts +14 -0
  1201. package/node_modules/@playcanvas/pcui/react/types/components/Menu/index.d.ts +70 -0
  1202. package/node_modules/@playcanvas/pcui/react/types/components/MenuItem/index.d.ts +139 -0
  1203. package/node_modules/@playcanvas/pcui/react/types/components/NumericInput/component.d.ts +9 -0
  1204. package/node_modules/@playcanvas/pcui/react/types/components/NumericInput/index.d.ts +173 -0
  1205. package/node_modules/@playcanvas/pcui/react/types/components/Overlay/component.d.ts +9 -0
  1206. package/node_modules/@playcanvas/pcui/react/types/components/Overlay/index.d.ts +53 -0
  1207. package/node_modules/@playcanvas/pcui/react/types/components/Panel/component.d.ts +16 -0
  1208. package/node_modules/@playcanvas/pcui/react/types/components/Panel/index.d.ts +178 -0
  1209. package/node_modules/@playcanvas/pcui/react/types/components/Progress/component.d.ts +9 -0
  1210. package/node_modules/@playcanvas/pcui/react/types/components/Progress/index.d.ts +33 -0
  1211. package/node_modules/@playcanvas/pcui/react/types/components/RadioButton/component.d.ts +9 -0
  1212. package/node_modules/@playcanvas/pcui/react/types/components/RadioButton/index.d.ts +33 -0
  1213. package/node_modules/@playcanvas/pcui/react/types/components/SelectInput/component.d.ts +12 -0
  1214. package/node_modules/@playcanvas/pcui/react/types/components/SelectInput/index.d.ts +278 -0
  1215. package/node_modules/@playcanvas/pcui/react/types/components/SliderInput/component.d.ts +10 -0
  1216. package/node_modules/@playcanvas/pcui/react/types/components/SliderInput/index.d.ts +133 -0
  1217. package/node_modules/@playcanvas/pcui/react/types/components/Spinner/component.d.ts +11 -0
  1218. package/node_modules/@playcanvas/pcui/react/types/components/Spinner/index.d.ts +27 -0
  1219. package/node_modules/@playcanvas/pcui/react/types/components/TextAreaInput/component.d.ts +9 -0
  1220. package/node_modules/@playcanvas/pcui/react/types/components/TextAreaInput/index.d.ts +24 -0
  1221. package/node_modules/@playcanvas/pcui/react/types/components/TextInput/component.d.ts +12 -0
  1222. package/node_modules/@playcanvas/pcui/react/types/components/TextInput/index.d.ts +40 -0
  1223. package/node_modules/@playcanvas/pcui/react/types/components/TreeView/component.d.ts +17 -0
  1224. package/node_modules/@playcanvas/pcui/react/types/components/TreeView/index.d.ts +359 -0
  1225. package/node_modules/@playcanvas/pcui/react/types/components/TreeViewItem/component.d.ts +13 -0
  1226. package/node_modules/@playcanvas/pcui/react/types/components/TreeViewItem/index.d.ts +224 -0
  1227. package/node_modules/@playcanvas/pcui/react/types/components/VectorInput/component.d.ts +9 -0
  1228. package/node_modules/@playcanvas/pcui/react/types/components/VectorInput/index.d.ts +176 -0
  1229. package/node_modules/@playcanvas/pcui/react/types/components/components.d.ts +30 -0
  1230. package/node_modules/@playcanvas/pcui/react/types/components/index.d.ts +32 -0
  1231. package/node_modules/@playcanvas/pcui/react/types/helpers/search.d.ts +31 -0
  1232. package/node_modules/@playcanvas/pcui/react/types/helpers/utils.d.ts +2 -0
  1233. package/node_modules/@playcanvas/pcui/react/types/index.d.ts +4 -0
  1234. package/node_modules/@playcanvas/pcui/styles/dist/index.mjs +11 -0
  1235. package/node_modules/@playcanvas/pcui/styles/package.json +17 -0
  1236. package/node_modules/@playcanvas/pcui/types/Math/color-value.d.ts +3 -0
  1237. package/node_modules/@playcanvas/pcui/types/binding/BindingBase/index.d.ts +178 -0
  1238. package/node_modules/@playcanvas/pcui/types/binding/BindingElementToObservers/index.d.ts +24 -0
  1239. package/node_modules/@playcanvas/pcui/types/binding/BindingObserversToElement/index.d.ts +40 -0
  1240. package/node_modules/@playcanvas/pcui/types/binding/BindingTwoWay/index.d.ts +54 -0
  1241. package/node_modules/@playcanvas/pcui/types/binding/index.d.ts +5 -0
  1242. package/node_modules/@playcanvas/pcui/types/class.d.ts +17 -0
  1243. package/node_modules/@playcanvas/pcui/types/components/ArrayInput/index.d.ts +140 -0
  1244. package/node_modules/@playcanvas/pcui/types/components/BooleanInput/index.d.ts +41 -0
  1245. package/node_modules/@playcanvas/pcui/types/components/Button/index.d.ts +75 -0
  1246. package/node_modules/@playcanvas/pcui/types/components/Canvas/index.d.ts +61 -0
  1247. package/node_modules/@playcanvas/pcui/types/components/Code/index.d.ts +33 -0
  1248. package/node_modules/@playcanvas/pcui/types/components/ColorPicker/index.d.ts +99 -0
  1249. package/node_modules/@playcanvas/pcui/types/components/Container/index.d.ts +292 -0
  1250. package/node_modules/@playcanvas/pcui/types/components/Divider/index.d.ts +13 -0
  1251. package/node_modules/@playcanvas/pcui/types/components/Element/index.d.ts +671 -0
  1252. package/node_modules/@playcanvas/pcui/types/components/GradientPicker/index.d.ts +152 -0
  1253. package/node_modules/@playcanvas/pcui/types/components/GridView/index.d.ts +103 -0
  1254. package/node_modules/@playcanvas/pcui/types/components/GridViewItem/index.d.ts +82 -0
  1255. package/node_modules/@playcanvas/pcui/types/components/InfoBox/index.d.ts +71 -0
  1256. package/node_modules/@playcanvas/pcui/types/components/InputElement/index.d.ts +84 -0
  1257. package/node_modules/@playcanvas/pcui/types/components/Label/index.d.ts +85 -0
  1258. package/node_modules/@playcanvas/pcui/types/components/LabelGroup/index.d.ts +62 -0
  1259. package/node_modules/@playcanvas/pcui/types/components/Menu/index.d.ts +70 -0
  1260. package/node_modules/@playcanvas/pcui/types/components/MenuItem/index.d.ts +139 -0
  1261. package/node_modules/@playcanvas/pcui/types/components/NumericInput/index.d.ts +173 -0
  1262. package/node_modules/@playcanvas/pcui/types/components/Overlay/index.d.ts +53 -0
  1263. package/node_modules/@playcanvas/pcui/types/components/Panel/index.d.ts +178 -0
  1264. package/node_modules/@playcanvas/pcui/types/components/Progress/index.d.ts +33 -0
  1265. package/node_modules/@playcanvas/pcui/types/components/RadioButton/index.d.ts +33 -0
  1266. package/node_modules/@playcanvas/pcui/types/components/SelectInput/index.d.ts +278 -0
  1267. package/node_modules/@playcanvas/pcui/types/components/SliderInput/index.d.ts +133 -0
  1268. package/node_modules/@playcanvas/pcui/types/components/Spinner/index.d.ts +27 -0
  1269. package/node_modules/@playcanvas/pcui/types/components/TextAreaInput/index.d.ts +24 -0
  1270. package/node_modules/@playcanvas/pcui/types/components/TextInput/index.d.ts +40 -0
  1271. package/node_modules/@playcanvas/pcui/types/components/TreeView/index.d.ts +359 -0
  1272. package/node_modules/@playcanvas/pcui/types/components/TreeViewItem/index.d.ts +224 -0
  1273. package/node_modules/@playcanvas/pcui/types/components/VectorInput/index.d.ts +176 -0
  1274. package/node_modules/@playcanvas/pcui/types/components/index.d.ts +32 -0
  1275. package/node_modules/@playcanvas/pcui/types/helpers/search.d.ts +31 -0
  1276. package/node_modules/@playcanvas/pcui/types/helpers/utils.d.ts +2 -0
  1277. package/node_modules/@playcanvas/pcui/types/index.d.ts +20 -0
  1278. package/node_modules/babylonjs-gltf2interface/babylon.glTF2Interface.d.ts +1655 -0
  1279. package/node_modules/babylonjs-gltf2interface/license.md +71 -0
  1280. package/node_modules/babylonjs-gltf2interface/package.json +26 -0
  1281. package/package.json +31 -19
  1282. package/dist/editor-plugin-hierarchy-command.d.ts +0 -19
  1283. package/dist/editor-plugin-hierarchy-command.d.ts.map +0 -1
  1284. package/dist/editor-plugin-hierarchy-command.js +0 -119
  1285. package/dist/editor-plugin-hierarchy-command.js.map +0 -1
  1286. package/node_modules/@babel/helper-string-parser/lib/index.js.map +0 -1
  1287. package/node_modules/@babel/helper-validator-identifier/lib/identifier.js.map +0 -1
  1288. package/node_modules/@babel/helper-validator-identifier/lib/index.js.map +0 -1
  1289. package/node_modules/@babel/helper-validator-identifier/lib/keyword.js.map +0 -1
  1290. package/node_modules/@babel/parser/lib/index.js.map +0 -1
  1291. package/node_modules/@babel/types/lib/asserts/assertNode.js.map +0 -1
  1292. package/node_modules/@babel/types/lib/asserts/generated/index.js.map +0 -1
  1293. package/node_modules/@babel/types/lib/ast-types/generated/index.js.map +0 -1
  1294. package/node_modules/@babel/types/lib/builders/flow/createFlowUnionType.js.map +0 -1
  1295. package/node_modules/@babel/types/lib/builders/flow/createTypeAnnotationBasedOnTypeof.js.map +0 -1
  1296. package/node_modules/@babel/types/lib/builders/generated/index.js.map +0 -1
  1297. package/node_modules/@babel/types/lib/builders/generated/lowercase.js.map +0 -1
  1298. package/node_modules/@babel/types/lib/builders/generated/uppercase.js.map +0 -1
  1299. package/node_modules/@babel/types/lib/builders/productions.js.map +0 -1
  1300. package/node_modules/@babel/types/lib/builders/react/buildChildren.js.map +0 -1
  1301. package/node_modules/@babel/types/lib/builders/typescript/createTSUnionType.js.map +0 -1
  1302. package/node_modules/@babel/types/lib/builders/validateNode.js.map +0 -1
  1303. package/node_modules/@babel/types/lib/clone/clone.js.map +0 -1
  1304. package/node_modules/@babel/types/lib/clone/cloneDeep.js.map +0 -1
  1305. package/node_modules/@babel/types/lib/clone/cloneDeepWithoutLoc.js.map +0 -1
  1306. package/node_modules/@babel/types/lib/clone/cloneNode.js.map +0 -1
  1307. package/node_modules/@babel/types/lib/clone/cloneWithoutLoc.js.map +0 -1
  1308. package/node_modules/@babel/types/lib/comments/addComment.js.map +0 -1
  1309. package/node_modules/@babel/types/lib/comments/addComments.js.map +0 -1
  1310. package/node_modules/@babel/types/lib/comments/inheritInnerComments.js.map +0 -1
  1311. package/node_modules/@babel/types/lib/comments/inheritLeadingComments.js.map +0 -1
  1312. package/node_modules/@babel/types/lib/comments/inheritTrailingComments.js.map +0 -1
  1313. package/node_modules/@babel/types/lib/comments/inheritsComments.js.map +0 -1
  1314. package/node_modules/@babel/types/lib/comments/removeComments.js.map +0 -1
  1315. package/node_modules/@babel/types/lib/constants/generated/index.js.map +0 -1
  1316. package/node_modules/@babel/types/lib/constants/index.js.map +0 -1
  1317. package/node_modules/@babel/types/lib/converters/ensureBlock.js.map +0 -1
  1318. package/node_modules/@babel/types/lib/converters/gatherSequenceExpressions.js.map +0 -1
  1319. package/node_modules/@babel/types/lib/converters/toBindingIdentifierName.js.map +0 -1
  1320. package/node_modules/@babel/types/lib/converters/toBlock.js.map +0 -1
  1321. package/node_modules/@babel/types/lib/converters/toComputedKey.js.map +0 -1
  1322. package/node_modules/@babel/types/lib/converters/toExpression.js.map +0 -1
  1323. package/node_modules/@babel/types/lib/converters/toIdentifier.js.map +0 -1
  1324. package/node_modules/@babel/types/lib/converters/toKeyAlias.js.map +0 -1
  1325. package/node_modules/@babel/types/lib/converters/toSequenceExpression.js.map +0 -1
  1326. package/node_modules/@babel/types/lib/converters/toStatement.js.map +0 -1
  1327. package/node_modules/@babel/types/lib/converters/valueToNode.js.map +0 -1
  1328. package/node_modules/@babel/types/lib/definitions/core.js.map +0 -1
  1329. package/node_modules/@babel/types/lib/definitions/deprecated-aliases.js.map +0 -1
  1330. package/node_modules/@babel/types/lib/definitions/experimental.js.map +0 -1
  1331. package/node_modules/@babel/types/lib/definitions/flow.js.map +0 -1
  1332. package/node_modules/@babel/types/lib/definitions/index.js.map +0 -1
  1333. package/node_modules/@babel/types/lib/definitions/jsx.js.map +0 -1
  1334. package/node_modules/@babel/types/lib/definitions/misc.js.map +0 -1
  1335. package/node_modules/@babel/types/lib/definitions/placeholders.js.map +0 -1
  1336. package/node_modules/@babel/types/lib/definitions/typescript.js.map +0 -1
  1337. package/node_modules/@babel/types/lib/definitions/utils.js.map +0 -1
  1338. package/node_modules/@babel/types/lib/index.js.map +0 -1
  1339. package/node_modules/@babel/types/lib/modifications/appendToMemberExpression.js.map +0 -1
  1340. package/node_modules/@babel/types/lib/modifications/flow/removeTypeDuplicates.js.map +0 -1
  1341. package/node_modules/@babel/types/lib/modifications/inherits.js.map +0 -1
  1342. package/node_modules/@babel/types/lib/modifications/prependToMemberExpression.js.map +0 -1
  1343. package/node_modules/@babel/types/lib/modifications/removeProperties.js.map +0 -1
  1344. package/node_modules/@babel/types/lib/modifications/removePropertiesDeep.js.map +0 -1
  1345. package/node_modules/@babel/types/lib/modifications/typescript/removeTypeDuplicates.js.map +0 -1
  1346. package/node_modules/@babel/types/lib/retrievers/getAssignmentIdentifiers.js.map +0 -1
  1347. package/node_modules/@babel/types/lib/retrievers/getBindingIdentifiers.js.map +0 -1
  1348. package/node_modules/@babel/types/lib/retrievers/getFunctionName.js.map +0 -1
  1349. package/node_modules/@babel/types/lib/retrievers/getOuterBindingIdentifiers.js.map +0 -1
  1350. package/node_modules/@babel/types/lib/traverse/traverse.js.map +0 -1
  1351. package/node_modules/@babel/types/lib/traverse/traverseFast.js.map +0 -1
  1352. package/node_modules/@babel/types/lib/utils/deprecationWarning.js.map +0 -1
  1353. package/node_modules/@babel/types/lib/utils/inherit.js.map +0 -1
  1354. package/node_modules/@babel/types/lib/utils/react/cleanJSXElementLiteralChild.js.map +0 -1
  1355. package/node_modules/@babel/types/lib/utils/shallowEqual.js.map +0 -1
  1356. package/node_modules/@babel/types/lib/validators/buildMatchMemberExpression.js.map +0 -1
  1357. package/node_modules/@babel/types/lib/validators/generated/index.js.map +0 -1
  1358. package/node_modules/@babel/types/lib/validators/is.js.map +0 -1
  1359. package/node_modules/@babel/types/lib/validators/isBinding.js.map +0 -1
  1360. package/node_modules/@babel/types/lib/validators/isBlockScoped.js.map +0 -1
  1361. package/node_modules/@babel/types/lib/validators/isImmutable.js.map +0 -1
  1362. package/node_modules/@babel/types/lib/validators/isLet.js.map +0 -1
  1363. package/node_modules/@babel/types/lib/validators/isNode.js.map +0 -1
  1364. package/node_modules/@babel/types/lib/validators/isNodesEquivalent.js.map +0 -1
  1365. package/node_modules/@babel/types/lib/validators/isPlaceholderType.js.map +0 -1
  1366. package/node_modules/@babel/types/lib/validators/isReferenced.js.map +0 -1
  1367. package/node_modules/@babel/types/lib/validators/isScope.js.map +0 -1
  1368. package/node_modules/@babel/types/lib/validators/isSpecifierDefault.js.map +0 -1
  1369. package/node_modules/@babel/types/lib/validators/isType.js.map +0 -1
  1370. package/node_modules/@babel/types/lib/validators/isValidES3Identifier.js.map +0 -1
  1371. package/node_modules/@babel/types/lib/validators/isValidIdentifier.js.map +0 -1
  1372. package/node_modules/@babel/types/lib/validators/isVar.js.map +0 -1
  1373. package/node_modules/@babel/types/lib/validators/matchesPattern.js.map +0 -1
  1374. package/node_modules/@babel/types/lib/validators/react/isCompatTag.js.map +0 -1
  1375. package/node_modules/@babel/types/lib/validators/react/isReactComponent.js.map +0 -1
  1376. package/node_modules/@babel/types/lib/validators/validate.js.map +0 -1
  1377. package/node_modules/@fps-games/editor-babylon/dist/prefab-comparison-preview-controller.d.ts +0 -37
  1378. package/node_modules/@fps-games/editor-babylon/dist/prefab-comparison-preview-controller.d.ts.map +0 -1
  1379. package/node_modules/@fps-games/editor-babylon/dist/prefab-comparison-preview-controller.js +0 -451
  1380. package/node_modules/@fps-games/editor-babylon/dist/prefab-comparison-preview-controller.js.map +0 -1
  1381. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-actions.d.ts +0 -49
  1382. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-actions.d.ts.map +0 -1
  1383. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-actions.js +0 -627
  1384. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-actions.js.map +0 -1
  1385. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-attach-dialog.d.ts +0 -52
  1386. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-attach-dialog.d.ts.map +0 -1
  1387. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-attach-dialog.js +0 -450
  1388. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-attach-dialog.js.map +0 -1
  1389. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-command-adapter.d.ts +0 -21
  1390. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-command-adapter.d.ts.map +0 -1
  1391. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-command-adapter.js +0 -75
  1392. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-command-adapter.js.map +0 -1
  1393. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-scope.d.ts +0 -5
  1394. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-scope.d.ts.map +0 -1
  1395. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-scope.js +0 -92
  1396. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-scope.js.map +0 -1
  1397. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-tree.d.ts +0 -63
  1398. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-tree.d.ts.map +0 -1
  1399. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-tree.js +0 -285
  1400. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-tree.js.map +0 -1
@@ -1,11 +1,12 @@
1
1
  import { cloneEditorTransformMatrix, combineEditorTransforms, createIdentityEditorTransformMatrix, createEditorTransformMatrixSnapshot, isEditorTransformMatrixSnapshot, readEditorTransformPosition, toEditorLocalTransformFromWorld, } from '@fps-games/editor-core';
2
- import { applyBabylonDefaultOutline } from '@fps-games/babylon-renderer';
2
+ import { applyBabylonDefaultOutline, collectBabylonMaterialOwnerCandidates, resolveBabylonEffectiveMaterialOwner, } from '@fps-games/babylon-renderer';
3
+ import { isMaterialOwnerResolutionPointerVerified, resolveMaterialOwner, } from '@fps-games/playable-contracts';
3
4
  import { applyArtistMaterialProfileToRuntimeMaterial } from './material-property-adapter.js';
4
5
  import { pickBabylonProjectionNodeIdAt, resolveBabylonPickSelectionNodeId, resolveBabylonProjectionNodeId, } from './projection-pick-resolver.js';
5
6
  import { normalizeProjectionOwnerNodePath, readProjectionSourceNodeSegment, } from './projection-source-owner-path.js';
6
7
  import { createMaterialSlotOwnerPathMatchKey, isMaterialSlotOwnerPathMatch, } from './material-slot-source-resolver.js';
7
8
  import { isBabylonPrimitiveProjectionSharedMaterial, } from './primitive-projection-instancing.js';
8
- const LARGE_SELECTION_EDGE_LIMIT = 200;
9
+ import { createBabylonEditorSelectionPresentationController, } from './selection-presentation-controller.js';
9
10
  const PROJECTION_LOCAL_MATRIX_METADATA_KEY = 'editorLocalTransformMatrix';
10
11
  const MIN_SELECTION_BOUNDS_PROXY_SIZE = 0.002;
11
12
  const ASSET_MESH_SELECTION_SEPARATOR = '::assetMesh::';
@@ -16,11 +17,17 @@ function requireBabylonCtor(value, name) {
16
17
  }
17
18
  export function createBabylonEditorProjection(options) {
18
19
  const projections = new Map();
20
+ const projectionNodes = new Map();
19
21
  const projectionParentIds = new Map();
20
22
  const projectionAuthoredActive = new Map();
21
23
  const previewVisibilityOverrides = new Map();
22
24
  const shadowDebugOverlayObjects = [];
23
- const selectionEdgesPrewarm = options.selectionEdgesPrewarm ?? 'eager';
25
+ const selectionPresentation = options.selectionPresentationController
26
+ ?? createBabylonEditorSelectionPresentationController({
27
+ babylon: options.babylon,
28
+ scene: options.scene,
29
+ logger: options.logger,
30
+ });
24
31
  const activeBatches = new Set();
25
32
  const idleWaiters = new Set();
26
33
  let nextBatchId = 1;
@@ -115,22 +122,21 @@ export function createBabylonEditorProjection(options) {
115
122
  const trackAsyncProjection = (batch, node, projection) => {
116
123
  batch.asyncNodeIds.push(node.id);
117
124
  batch.pendingNodeIds.add(node.id);
118
- return loadModelProjection(options, node, projection).finally(() => {
125
+ return loadModelProjection(options, node, projection, () => projectionNodes.get(node.id) ?? node).finally(() => {
119
126
  batch.pendingNodeIds.delete(node.id);
120
127
  batch.settledNodeIds.add(node.id);
121
128
  if (projections.get(node.id) === projection && !projection.root.isDisposed?.()) {
122
129
  delete projection.loadPromise;
123
130
  applyProjectionPreviewVisibility(node.id);
124
- applyProjectionOutline(node, projection);
125
- scheduleProjectionSelectionEdgesPrewarm(projection);
131
+ applyProjectionOutline(projectionNodes.get(node.id) ?? node, projection);
132
+ selectionPresentation.updateProjectedNode(projection);
126
133
  options.onProjectionReady?.({ nodeId: node.id, async: true });
127
134
  }
128
135
  scheduleBatchSettled(batch);
129
136
  });
130
137
  };
131
138
  const disposeProjectedNode = (projection) => {
132
- projection.selectionEdgesPrewarmCancel?.();
133
- projection.selectionEdgesPrewarmCancel = null;
139
+ selectionPresentation.detachProjectedNode(projection.nodeId);
134
140
  projection.importStructure = null;
135
141
  for (const animationGroup of projection.animationGroups) {
136
142
  animationGroup.dispose?.();
@@ -152,6 +158,7 @@ export function createBabylonEditorProjection(options) {
152
158
  disposeProjectedNode(projection);
153
159
  }
154
160
  projections.clear();
161
+ projectionNodes.clear();
155
162
  projectionParentIds.clear();
156
163
  projectionAuthoredActive.clear();
157
164
  previewVisibilityOverrides.clear();
@@ -184,17 +191,6 @@ export function createBabylonEditorProjection(options) {
184
191
  }
185
192
  return hadObjects;
186
193
  };
187
- const scheduleProjectionSelectionEdgesPrewarm = (projection) => {
188
- projection.selectionEdgesPrewarmCancel?.();
189
- projection.selectionEdgesPrewarmCancel = null;
190
- if (selectionEdgesPrewarm === 'lazy')
191
- return;
192
- if (selectionEdgesPrewarm === 'eager') {
193
- prewarmProjectionSelectionEdges(projection);
194
- return;
195
- }
196
- projection.selectionEdgesPrewarmCancel = scheduleIdleProjectionSelectionEdgesPrewarm(projection);
197
- };
198
194
  const syncProjectionHierarchy = () => {
199
195
  for (const [nodeId, projection] of projections) {
200
196
  const parentId = projectionParentIds.get(nodeId) ?? null;
@@ -216,10 +212,12 @@ export function createBabylonEditorProjection(options) {
216
212
  root,
217
213
  outlineMeshes: [],
218
214
  selectionMeshes: [],
215
+ selectionPresentationTargets: [],
219
216
  animationGroups: [],
220
217
  runtimeObjects: [],
221
218
  };
222
219
  projections.set(node.id, projection);
220
+ projectionNodes.set(node.id, node);
223
221
  projectionParentIds.set(node.id, node.parentId ?? null);
224
222
  projectionAuthoredActive.set(node.id, node.active !== false);
225
223
  applyProjectionPreviewVisibility(node.id);
@@ -236,10 +234,9 @@ export function createBabylonEditorProjection(options) {
236
234
  attachFallbackProjection(options.babylon, options.scene, node, projection, true);
237
235
  }
238
236
  }
239
- if (!projection.loadPromise) {
237
+ if (!projection.loadPromise)
240
238
  applyProjectionOutline(node, projection);
241
- scheduleProjectionSelectionEdgesPrewarm(projection);
242
- }
239
+ selectionPresentation.attachProjectedNode(projection);
243
240
  if (!projection.loadPromise)
244
241
  batch.settledNodeIds.add(node.id);
245
242
  return projection;
@@ -256,6 +253,7 @@ export function createBabylonEditorProjection(options) {
256
253
  if (!existing)
257
254
  return;
258
255
  projections.delete(nodeId);
256
+ projectionNodes.delete(nodeId);
259
257
  projectionParentIds.delete(nodeId);
260
258
  projectionAuthoredActive.delete(nodeId);
261
259
  previewVisibilityOverrides.delete(nodeId);
@@ -309,6 +307,15 @@ export function createBabylonEditorProjection(options) {
309
307
  }
310
308
  return transforms;
311
309
  },
310
+ toNodeLocalTransform(nodeId, worldTransform) {
311
+ const projection = projections.get(nodeId);
312
+ if (!projection?.root)
313
+ return null;
314
+ const parent = projection.root.parent ?? null;
315
+ return parent
316
+ ? toEditorLocalTransformFromWorld(readProjectionWorldTransform(parent), worldTransform, { allowMatrixFallback: true })
317
+ : cloneProjectionTransformSnapshot(worldTransform);
318
+ },
312
319
  readNodeImportStructure(nodeId) {
313
320
  return cloneProjectionImportStructureSnapshot(projections.get(nodeId)?.importStructure ?? null);
314
321
  },
@@ -353,18 +360,20 @@ export function createBabylonEditorProjection(options) {
353
360
  const projection = projections.get(node.id);
354
361
  if (!projection)
355
362
  return;
363
+ projectionNodes.set(node.id, node);
356
364
  projectionAuthoredActive.set(node.id, node.active !== false);
357
365
  applyProjectionPreviewVisibility(node.id);
358
366
  projectionParentIds.set(node.id, node.parentId ?? null);
359
367
  syncProjectionHierarchy();
360
368
  if (node.transform)
361
369
  applyProjectionTransform(options.babylon, projection.root, node.transform);
362
- scheduleProjectionSelectionEdgesPrewarm(projection);
370
+ selectionPresentation.updateProjectedNode(projection);
363
371
  },
364
372
  syncRuntimeNode(node) {
365
373
  const projection = projections.get(node.id);
366
374
  if (!projection || node.runtimeKind !== 'light')
367
375
  return false;
376
+ projectionNodes.set(node.id, node);
368
377
  projectionAuthoredActive.set(node.id, node.active !== false);
369
378
  applyProjectionPreviewVisibility(node.id);
370
379
  projectionParentIds.set(node.id, node.parentId ?? null);
@@ -373,17 +382,21 @@ export function createBabylonEditorProjection(options) {
373
382
  applyProjectionTransform(options.babylon, projection.root, node.transform);
374
383
  if (!syncRuntimeLightProjection(options.babylon, options.scene, node, projection))
375
384
  return false;
376
- scheduleProjectionSelectionEdgesPrewarm(projection);
385
+ selectionPresentation.updateProjectedNode(projection);
377
386
  return true;
378
387
  },
379
388
  syncNodeMetadata(node) {
380
389
  const projection = projections.get(node.id);
381
390
  if (!projection)
382
391
  return;
392
+ projectionNodes.set(node.id, node);
383
393
  syncProjectionNodeMetadata(projection, node);
384
394
  },
385
395
  syncSelection(selection) {
386
- syncProjectionSelection(options.babylon, projections, selection);
396
+ selectionPresentation.syncSelection(selection);
397
+ },
398
+ getSelectionPresentationDiagnostics() {
399
+ return selectionPresentation.getDiagnostics();
387
400
  },
388
401
  resolveProjectionNodeId(target) {
389
402
  return resolveBabylonProjectionNodeId(target);
@@ -451,6 +464,7 @@ export function createBabylonEditorProjection(options) {
451
464
  },
452
465
  dispose() {
453
466
  disposeAll();
467
+ selectionPresentation.dispose();
454
468
  },
455
469
  };
456
470
  }
@@ -771,11 +785,12 @@ function createProjectionRoot(babylon, scene, node) {
771
785
  };
772
786
  return root;
773
787
  }
774
- async function loadModelProjection(options, node, projection) {
788
+ async function loadModelProjection(options, node, projection, getLatestNode) {
775
789
  const asset = node.asset;
776
790
  if (!asset || !options.importModel) {
777
- attachFallbackProjection(options.babylon, options.scene, node, projection, !!asset);
778
- applyProjectionOutline(node, projection);
791
+ const latestNode = getLatestNode();
792
+ attachFallbackProjection(options.babylon, options.scene, latestNode, projection, !!asset);
793
+ applyProjectionOutline(latestNode, projection);
779
794
  return;
780
795
  }
781
796
  try {
@@ -787,22 +802,25 @@ async function loadModelProjection(options, node, projection) {
787
802
  asset,
788
803
  });
789
804
  if (!result) {
790
- attachFallbackProjection(options.babylon, options.scene, node, projection, true);
791
- applyProjectionOutline(node, projection);
805
+ const latestNode = getLatestNode();
806
+ attachFallbackProjection(options.babylon, options.scene, latestNode, projection, true);
807
+ applyProjectionOutline(latestNode, projection);
792
808
  return;
793
809
  }
794
810
  if (projection.root.isDisposed?.()) {
795
811
  disposeImportedProjectionResult(result);
796
812
  return;
797
813
  }
798
- attachImportedProjectionResult(options, node, asset, projection, result);
799
- applyProjectionOutline(node, projection);
814
+ const latestNode = getLatestNode();
815
+ attachImportedProjectionResult(options, latestNode, asset, projection, result);
816
+ applyProjectionOutline(latestNode, projection);
800
817
  }
801
818
  catch (error) {
802
819
  options.logger?.warn?.(`[BabylonEditorProjection] Failed to project model "${asset.sourceId ?? asset.id ?? node.id}"`, error);
803
820
  if (!projection.root.isDisposed?.()) {
804
- attachFallbackProjection(options.babylon, options.scene, node, projection, true);
805
- applyProjectionOutline(node, projection);
821
+ const latestNode = getLatestNode();
822
+ attachFallbackProjection(options.babylon, options.scene, latestNode, projection, true);
823
+ applyProjectionOutline(latestNode, projection);
806
824
  }
807
825
  }
808
826
  }
@@ -845,6 +863,8 @@ function attachImportedProjectionResult(options, node, asset, projection, result
845
863
  };
846
864
  }
847
865
  const materialSlots = readProjectionAssetMaterialSlots(asset, node.id);
866
+ const materialOwnerResolutionContext = createProjectionMaterialOwnerResolutionContext(modelRoot, node.id);
867
+ const explicitlyBoundSlotIds = new Set(createProjectionMaterialSlotBindings(node).map(binding => binding.slot.slotId));
848
868
  const ownerNodePathByMesh = new Map();
849
869
  const ownerMeshCountByKey = new Map();
850
870
  for (const mesh of result.meshes ?? []) {
@@ -864,19 +884,19 @@ function attachImportedProjectionResult(options, node, asset, projection, result
864
884
  if (ownerNodePath) {
865
885
  const ownerKey = createMaterialSlotOwnerPathMatchKey(ownerNodePath, { projectionNodeId: node.id });
866
886
  const ownerMeshCount = ownerMeshCountByKey.get(ownerKey) ?? 0;
867
- const splitPrimitiveSlot = resolveProjectionSplitPrimitiveMeshSelectionSlot(mesh, materialSlots, ownerNodePath, node.id, ownerMeshCount, splitPrimitiveOrdinalByOwnerKey);
868
- const primitiveSelectionMeshes = createProjectionAssetMeshSelectionProxies(options, node, projection, mesh, ownerNodePath, materialSlots);
887
+ const splitPrimitiveSlot = resolveProjectionSplitPrimitiveMeshSelectionSlot(mesh, materialSlots, materialOwnerResolutionContext, explicitlyBoundSlotIds, ownerMeshCount, splitPrimitiveOrdinalByOwnerKey);
888
+ const primitiveSelectionMeshes = createProjectionAssetMeshSelectionProxies(options, node, projection, mesh, ownerNodePath, materialSlots, materialOwnerResolutionContext, explicitlyBoundSlotIds);
869
889
  const primitiveBoundsSelectionMeshes = !splitPrimitiveSlot
870
890
  && primitiveSelectionMeshes.length === 0
871
891
  && !primitiveBoundsProxyOwnerKeys.has(ownerKey)
872
- ? createProjectionPrimitiveBoundsSelectionProxies(options, node, projection, mesh, ownerNodePath, materialSlots, ownerMeshCount)
892
+ ? createProjectionPrimitiveBoundsSelectionProxies(options, node, projection, mesh, ownerNodePath, materialSlots, materialOwnerResolutionContext, explicitlyBoundSlotIds, ownerMeshCount)
873
893
  : [];
874
894
  if (primitiveBoundsSelectionMeshes.length > 0)
875
895
  primitiveBoundsProxyOwnerKeys.add(ownerKey);
876
896
  const usesSelectionMeshes = primitiveSelectionMeshes.length > 0
877
897
  || primitiveBoundsSelectionMeshes.length > 0
878
898
  || primitiveBoundsProxyOwnerKeys.has(ownerKey);
879
- const selectionKey = resolveProjectionAssetMeshSelectionKey(asset, ownerNodePath, node.id);
899
+ const selectionKey = resolveProjectionAssetMeshSelectionKey(asset, mesh, ownerNodePath, materialOwnerResolutionContext, explicitlyBoundSlotIds, node.id);
880
900
  mesh.metadata = {
881
901
  ...(mesh.metadata ?? {}),
882
902
  editorProjection: {
@@ -903,13 +923,23 @@ function attachImportedProjectionResult(options, node, asset, projection, result
903
923
  };
904
924
  }
905
925
  }
906
- projection.runtimeObjects.push(...applyProjectionArtistMaterialProfilesToMeshes(options, node, modelRoot, result.meshes ?? []));
926
+ projection.runtimeObjects.push(...applyProjectionArtistMaterialProfilesToMeshes(options, node, modelRoot, result.meshes ?? [], materialOwnerResolutionContext));
907
927
  for (const animationGroup of result.animationGroups ?? []) {
908
928
  animationGroup.stop?.();
909
929
  }
910
930
  projection.animationGroups = result.animationGroups ?? [];
911
931
  projection.outlineMeshes = (result.meshes ?? []).filter((mesh) => mesh.getTotalVertices?.() > 0);
912
932
  projection.importStructure = createProjectionImportStructureSnapshot(node, asset, modelRoot, result);
933
+ const lightSync = resyncProjectionMeshLightSources(scene, result.meshes ?? []);
934
+ options.logger?.info?.('[BabylonEditorProjection] Model light sources synchronized', {
935
+ projectionNodeId: node.id,
936
+ sourceAssetId: asset.sourceId ?? asset.id ?? null,
937
+ importedMeshCount: lightSync.importedMeshCount,
938
+ instancedMeshCount: lightSync.instancedMeshCount,
939
+ lightSourceOwnerCount: lightSync.lightSourceOwnerCount,
940
+ activeSceneLightCount: lightSync.activeSceneLightCount,
941
+ resolvedLightSourceOwnerCount: lightSync.resolvedLightSourceOwnerCount,
942
+ });
913
943
  }
914
944
  catch (error) {
915
945
  disposeImportedProjectionResult(result);
@@ -1429,7 +1459,7 @@ function createPrimitiveProjectionMesh(babylon, scene, node, options) {
1429
1459
  });
1430
1460
  return mesh;
1431
1461
  }
1432
- function applyProjectionArtistMaterialProfilesToMeshes(options, node, modelRoot, meshes) {
1462
+ function applyProjectionArtistMaterialProfilesToMeshes(options, node, modelRoot, meshes, materialOwnerResolutionContext) {
1433
1463
  const slotBindings = createProjectionMaterialSlotBindings(node);
1434
1464
  const hasRootProfile = !!node.artistMaterialProfile;
1435
1465
  const hasSlotProfiles = slotBindings.length > 0;
@@ -1484,63 +1514,83 @@ function applyProjectionArtistMaterialProfilesToMeshes(options, node, modelRoot,
1484
1514
  return clonedMaterials;
1485
1515
  const materialCounts = countProjectionMeshMaterials(meshes);
1486
1516
  const assetMaterialSlots = node.asset ? readProjectionAssetMaterialSlots(node.asset, node.id) : [];
1487
- const unmatchedSlotBindings = new Set(slotBindings);
1488
- for (const mesh of meshes) {
1489
- const ownerNodePath = buildProjectionOwnerNodePath(mesh, modelRoot, node.id);
1490
- const meshSlotBindingMatches = resolveProjectionSlotBindingMatches(slotBindings, ownerNodePath, node.id);
1491
- for (const { binding: slotBinding, matchKind } of meshSlotBindingMatches) {
1492
- unmatchedSlotBindings.delete(slotBinding);
1493
- if (!readProjectionWritableMeshMaterial(mesh)) {
1494
- emitProjectionSlotMaterialProfileDiagnostic(options, node.id, slotBinding, {
1495
- applied: false,
1496
- matchKind,
1497
- meshOwnerNodePath: ownerNodePath,
1498
- targetMaterialStatus: 'missingMaterial',
1499
- warningMessage: 'Slot material profile was not applied because the matched mesh has no target material.',
1500
- });
1501
- continue;
1502
- }
1503
- const resolution = resolveProjectionSlotMaterialTarget(mesh, materialCounts, slotBinding.slot, ownerNodePath, {
1504
- projectionNodeId: node.id,
1505
- primitiveSingleMaterialFallbackAllowed: isProjectionSinglePrimitiveMaterialSlot(slotBinding.slot, assetMaterialSlots),
1517
+ for (const slotBinding of slotBindings) {
1518
+ const ownerResolution = materialOwnerResolutionContext.resolve(slotBinding.slot, {
1519
+ explicitSlotBinding: true,
1520
+ });
1521
+ const ownerDiagnostic = createProjectionOwnerDiagnosticFields(ownerResolution);
1522
+ if (ownerResolution.status !== 'resolved') {
1523
+ emitProjectionSlotMaterialProfileDiagnostic(options, node.id, slotBinding, {
1524
+ applied: false,
1525
+ matchKind: ownerResolution.matchKind ?? 'none',
1526
+ meshOwnerNodePath: null,
1527
+ targetMaterialStatus: 'missingMeshOwner',
1528
+ ...ownerDiagnostic,
1529
+ warningMessage: ownerResolution.diagnostic.message,
1506
1530
  });
1507
- const targetMaterial = resolution.target?.material ?? readProjectionWritableMeshMaterial(mesh);
1508
- if (!resolution.target) {
1509
- emitProjectionSlotMaterialProfileDiagnostic(options, node.id, slotBinding, {
1510
- applied: false,
1511
- matchKind,
1512
- meshOwnerNodePath: ownerNodePath,
1513
- targetMaterialStatus: resolution.targetMaterialStatus,
1514
- targetMaterialName: readProjectionMaterialName(targetMaterial),
1515
- targetMaterialType: readProjectionMaterialType(targetMaterial),
1516
- warningMessage: resolution.warningMessage,
1517
- });
1518
- continue;
1519
- }
1520
- const target = resolution.target;
1521
- clonedMaterials.push(...target.clonedMaterials);
1522
- applyProjectionArtistMaterialProfile(options, target.material, slotBinding.profile);
1531
+ continue;
1532
+ }
1533
+ const mesh = ownerResolution.target.runtimeNode;
1534
+ const ownerNodePath = ownerResolution.candidate.canonicalPath;
1535
+ if (!readProjectionWritableMeshMaterial(mesh)) {
1523
1536
  emitProjectionSlotMaterialProfileDiagnostic(options, node.id, slotBinding, {
1524
- applied: true,
1525
- matchKind,
1537
+ applied: false,
1538
+ matchKind: ownerResolution.matchKind,
1526
1539
  meshOwnerNodePath: ownerNodePath,
1527
- targetMaterialStatus: resolution.targetMaterialStatus,
1528
- targetMaterialName: readProjectionMaterialName(target.material),
1529
- targetMaterialType: readProjectionMaterialType(target.material),
1540
+ targetMaterialStatus: 'missingMaterial',
1541
+ ...ownerDiagnostic,
1542
+ warningMessage: 'Slot material profile was not applied because the resolved owner has no target material.',
1530
1543
  });
1544
+ continue;
1531
1545
  }
1532
- }
1533
- for (const slotBinding of unmatchedSlotBindings) {
1546
+ const materialResolution = resolveProjectionSlotMaterialTarget(mesh, materialCounts, slotBinding.slot, ownerNodePath, {
1547
+ projectionNodeId: node.id,
1548
+ primitiveOwnerResolvedByPointer: isMaterialOwnerResolutionPointerVerified(slotBinding.slot, ownerResolution),
1549
+ primitiveSingleMaterialFallbackAllowed: isProjectionSinglePrimitiveMaterialSlot(slotBinding.slot, assetMaterialSlots),
1550
+ });
1551
+ const targetMaterial = materialResolution.target?.material ?? readProjectionWritableMeshMaterial(mesh);
1552
+ if (!materialResolution.target) {
1553
+ emitProjectionSlotMaterialProfileDiagnostic(options, node.id, slotBinding, {
1554
+ applied: false,
1555
+ matchKind: ownerResolution.matchKind,
1556
+ meshOwnerNodePath: ownerNodePath,
1557
+ targetMaterialStatus: materialResolution.targetMaterialStatus,
1558
+ targetMaterialName: readProjectionMaterialName(targetMaterial),
1559
+ targetMaterialType: readProjectionMaterialType(targetMaterial),
1560
+ ...ownerDiagnostic,
1561
+ warningMessage: materialResolution.warningMessage,
1562
+ });
1563
+ continue;
1564
+ }
1565
+ const target = materialResolution.target;
1566
+ clonedMaterials.push(...target.clonedMaterials);
1567
+ applyProjectionArtistMaterialProfile(options, target.material, slotBinding.profile);
1534
1568
  emitProjectionSlotMaterialProfileDiagnostic(options, node.id, slotBinding, {
1535
- applied: false,
1536
- matchKind: 'none',
1537
- meshOwnerNodePath: null,
1538
- targetMaterialStatus: 'missingMeshOwner',
1539
- warningMessage: 'Slot material profile was not applied because no imported mesh matched its owner path.',
1569
+ applied: true,
1570
+ matchKind: ownerResolution.matchKind,
1571
+ meshOwnerNodePath: ownerNodePath,
1572
+ targetMaterialStatus: materialResolution.targetMaterialStatus,
1573
+ targetMaterialName: readProjectionMaterialName(target.material),
1574
+ targetMaterialType: readProjectionMaterialType(target.material),
1575
+ ...ownerDiagnostic,
1576
+ ...(ownerResolution.diagnostic?.severity === 'warning'
1577
+ ? { warningMessage: ownerResolution.diagnostic.message }
1578
+ : {}),
1540
1579
  });
1541
1580
  }
1542
1581
  return clonedMaterials;
1543
1582
  }
1583
+ function createProjectionOwnerDiagnosticFields(resolution) {
1584
+ return {
1585
+ ownerResolutionStatus: resolution.status,
1586
+ ...(resolution.diagnostic ? {
1587
+ ownerDiagnosticCode: resolution.diagnostic.code,
1588
+ ownerDiagnosticSeverity: resolution.diagnostic.severity,
1589
+ } : {}),
1590
+ ownerCandidateIds: resolution.candidates.map(candidate => candidate.candidateId),
1591
+ ...(resolution.status === 'resolved' ? { ownerIdentity: resolution.identity } : {}),
1592
+ };
1593
+ }
1544
1594
  function applyProjectionArtistMaterialProfile(options, material, profile) {
1545
1595
  if (!profile)
1546
1596
  return;
@@ -1662,30 +1712,46 @@ function readProjectionMaterialSlotBoundsTuple(value) {
1662
1712
  return undefined;
1663
1713
  return tuple;
1664
1714
  }
1665
- function resolveProjectionSlotBindingMatches(slotBindings, ownerNodePath, projectionNodeId) {
1666
- if (ownerNodePath == null)
1667
- return [];
1668
- const normalized = normalizeProjectionOwnerNodePath(ownerNodePath, { projectionNodeId });
1669
- const normalizedMatchKey = createMaterialSlotOwnerPathMatchKey(normalized, { projectionNodeId });
1670
- const exactMatches = [];
1671
- const descendantMatches = [];
1672
- let descendantMatchLength = -1;
1673
- for (const binding of slotBindings) {
1674
- if (binding.slot.matchKey === normalizedMatchKey) {
1675
- exactMatches.push({ binding, matchKind: 'exact' });
1676
- continue;
1677
- }
1678
- if (isMaterialSlotOwnerPathMatch(normalized, binding.slot.normalizedOwnerNodePath, { projectionNodeId })) {
1679
- if (binding.slot.matchKey.length > descendantMatchLength) {
1680
- descendantMatches.length = 0;
1681
- descendantMatchLength = binding.slot.matchKey.length;
1682
- }
1683
- if (binding.slot.matchKey.length === descendantMatchLength) {
1684
- descendantMatches.push({ binding, matchKind: 'descendant' });
1685
- }
1686
- }
1687
- }
1688
- return exactMatches.length > 0 ? exactMatches : descendantMatches;
1715
+ function createProjectionMaterialOwnerResolutionContext(rootNode, projectionNodeId) {
1716
+ const candidates = collectBabylonMaterialOwnerCandidates(rootNode, {
1717
+ readPathSegment: node => {
1718
+ const segment = stableProjectionNodeSegment(node);
1719
+ return segment == null
1720
+ ? null
1721
+ : normalizeProjectionOwnerNodePath(segment, { projectionNodeId });
1722
+ },
1723
+ }).map(candidate => ({
1724
+ ...candidate,
1725
+ canonicalPath: normalizeProjectionOwnerNodePath(candidate.canonicalPath, { projectionNodeId }),
1726
+ ...(candidate.sourceOwnerAliases ? {
1727
+ sourceOwnerAliases: candidate.sourceOwnerAliases.map(alias => (normalizeProjectionOwnerNodePath(alias, { projectionNodeId }))),
1728
+ } : {}),
1729
+ }));
1730
+ const cache = new Map();
1731
+ return {
1732
+ resolve(slot, options = {}) {
1733
+ const explicitSlotBinding = options.explicitSlotBinding === true;
1734
+ const cacheKey = createProjectionMaterialOwnerResolutionCacheKey(slot, explicitSlotBinding);
1735
+ const cached = cache.get(cacheKey);
1736
+ if (cached)
1737
+ return cached;
1738
+ const resolution = resolveMaterialOwner(slot, candidates, { explicitSlotBinding });
1739
+ cache.set(cacheKey, resolution);
1740
+ return resolution;
1741
+ },
1742
+ };
1743
+ }
1744
+ function createProjectionMaterialOwnerResolutionCacheKey(slot, explicitSlotBinding) {
1745
+ return JSON.stringify([
1746
+ explicitSlotBinding,
1747
+ slot.ownerNodePath,
1748
+ slot.nodeIndex ?? null,
1749
+ slot.nodeIndexPath ?? null,
1750
+ slot.meshIndex ?? null,
1751
+ slot.primitiveIndex ?? null,
1752
+ slot.sourceMaterialIndex ?? null,
1753
+ slot.sourceMaterialIndices ?? null,
1754
+ ]);
1689
1755
  }
1690
1756
  function buildProjectionOwnerNodePath(node, rootNode, projectionNodeId) {
1691
1757
  if (!node || !rootNode || node === rootNode)
@@ -1720,42 +1786,20 @@ function stableProjectionNodeSegment(node) {
1720
1786
  function createAssetMeshProjectionNodeId(rootNodeId, ownerNodePath) {
1721
1787
  return `${rootNodeId}${ASSET_MESH_SELECTION_SEPARATOR}${encodeURIComponent(ownerNodePath)}`;
1722
1788
  }
1723
- function resolveProjectionAssetMeshSelectionKey(asset, ownerNodePath, projectionNodeId) {
1724
- const normalizedOwnerPath = normalizeProjectionOwnerNodePath(ownerNodePath, { projectionNodeId });
1725
- let bestSlot = null;
1726
- for (const slot of readProjectionAssetMaterialSlots(asset, projectionNodeId)) {
1727
- if (!isMaterialSlotOwnerPathMatch(normalizedOwnerPath, slot.normalizedOwnerNodePath, { projectionNodeId }))
1728
- continue;
1729
- if (!bestSlot || slot.matchKey.length > bestSlot.matchKey.length) {
1730
- bestSlot = slot;
1731
- }
1732
- }
1733
- return bestSlot?.key ?? ownerNodePath;
1734
- }
1735
- function resolveProjectionAssetMeshSelectionSlots(materialSlots, ownerNodePath, projectionNodeId) {
1736
- const normalizedOwnerPath = normalizeProjectionOwnerNodePath(ownerNodePath, { projectionNodeId });
1737
- const normalizedMatchKey = createMaterialSlotOwnerPathMatchKey(normalizedOwnerPath, { projectionNodeId });
1738
- const exactMatches = [];
1739
- const descendantMatches = [];
1740
- let descendantMatchLength = -1;
1741
- for (const slot of materialSlots) {
1742
- if (slot.matchKey === normalizedMatchKey) {
1743
- exactMatches.push(slot);
1744
- continue;
1745
- }
1746
- if (isMaterialSlotOwnerPathMatch(normalizedOwnerPath, slot.normalizedOwnerNodePath, { projectionNodeId })) {
1747
- if (slot.matchKey.length > descendantMatchLength) {
1748
- descendantMatches.length = 0;
1749
- descendantMatchLength = slot.matchKey.length;
1750
- }
1751
- if (slot.matchKey.length === descendantMatchLength)
1752
- descendantMatches.push(slot);
1753
- }
1754
- }
1755
- return exactMatches.length > 0 ? exactMatches : descendantMatches;
1789
+ function resolveProjectionAssetMeshSelectionKey(asset, mesh, ownerNodePath, materialOwnerResolutionContext, explicitlyBoundSlotIds, projectionNodeId) {
1790
+ const slots = resolveProjectionAssetMeshSelectionSlots(readProjectionAssetMaterialSlots(asset, projectionNodeId), mesh, materialOwnerResolutionContext, explicitlyBoundSlotIds);
1791
+ return slots[0]?.key ?? ownerNodePath;
1756
1792
  }
1757
- function createProjectionAssetMeshSelectionProxies(options, node, projection, mesh, ownerNodePath, materialSlots) {
1758
- const primitiveSlots = resolveProjectionAssetMeshSelectionSlots(materialSlots, ownerNodePath, node.id)
1793
+ function resolveProjectionAssetMeshSelectionSlots(materialSlots, mesh, materialOwnerResolutionContext, explicitlyBoundSlotIds) {
1794
+ return materialSlots.filter(slot => {
1795
+ const resolution = materialOwnerResolutionContext.resolve(slot, {
1796
+ explicitSlotBinding: explicitlyBoundSlotIds.has(slot.slotId),
1797
+ });
1798
+ return resolution.status === 'resolved' && resolution.target.runtimeNode === mesh;
1799
+ });
1800
+ }
1801
+ function createProjectionAssetMeshSelectionProxies(options, node, projection, mesh, ownerNodePath, materialSlots, materialOwnerResolutionContext, explicitlyBoundSlotIds) {
1802
+ const primitiveSlots = resolveProjectionAssetMeshSelectionSlots(materialSlots, mesh, materialOwnerResolutionContext, explicitlyBoundSlotIds)
1759
1803
  .filter(slot => Number.isInteger(slot.primitiveIndex));
1760
1804
  if (primitiveSlots.length <= 1)
1761
1805
  return [];
@@ -1786,37 +1830,37 @@ function createProjectionAssetMeshSelectionProxies(options, node, projection, me
1786
1830
  proxies.push(proxy);
1787
1831
  projection.selectionMeshes = projection.selectionMeshes ?? [];
1788
1832
  projection.selectionMeshes.push(proxy);
1833
+ registerProjectionSelectionPresentationTarget(projection, selectionNodeId, mesh);
1789
1834
  if (proxy.material)
1790
1835
  projection.runtimeObjects.push(proxy.material);
1791
1836
  }
1792
1837
  return proxies;
1793
1838
  }
1794
- function resolveProjectionSplitPrimitiveMeshSelectionSlot(mesh, materialSlots, ownerNodePath, projectionNodeId, ownerMeshCount, ordinalByOwnerKey) {
1839
+ function resolveProjectionSplitPrimitiveMeshSelectionSlot(mesh, materialSlots, materialOwnerResolutionContext, explicitlyBoundSlotIds, ownerMeshCount, ordinalByOwnerKey) {
1795
1840
  const subMeshes = Array.isArray(mesh?.subMeshes) ? mesh.subMeshes : [];
1796
1841
  if (subMeshes.length > 1)
1797
1842
  return null;
1798
1843
  if ((mesh?.getTotalVertices?.() ?? 0) <= 0)
1799
1844
  return null;
1800
- const primitiveSlots = resolveProjectionAssetMeshSelectionSlots(materialSlots, ownerNodePath, projectionNodeId)
1845
+ const primitiveSlots = resolveProjectionAssetMeshSelectionSlots(materialSlots, mesh, materialOwnerResolutionContext, explicitlyBoundSlotIds)
1801
1846
  .filter((slot) => (Number.isInteger(slot.primitiveIndex)))
1802
1847
  .sort((left, right) => left.primitiveIndex - right.primitiveIndex);
1848
+ if (primitiveSlots.length === 1 && ownerMeshCount > 1)
1849
+ return primitiveSlots[0];
1803
1850
  if (primitiveSlots.length <= 1)
1804
1851
  return null;
1805
1852
  if (ownerMeshCount < primitiveSlots.length)
1806
1853
  return null;
1807
- const ownerKey = createMaterialSlotOwnerPathMatchKey(ownerNodePath, { projectionNodeId });
1854
+ const ownerKey = primitiveSlots[0]?.matchKey ?? '';
1808
1855
  const ordinal = ordinalByOwnerKey.get(ownerKey) ?? 0;
1809
1856
  ordinalByOwnerKey.set(ownerKey, ordinal + 1);
1810
- const namedSlot = primitiveSlots.find(slot => isProjectionRuntimeSplitPrimitiveOwnerNode(mesh, slot));
1811
- if (namedSlot)
1812
- return namedSlot;
1813
1857
  return primitiveSlots.find(slot => slot.primitiveIndex === ordinal) ?? primitiveSlots[ordinal] ?? null;
1814
1858
  }
1815
- function createProjectionPrimitiveBoundsSelectionProxies(options, node, projection, mesh, ownerNodePath, materialSlots, ownerMeshCount) {
1859
+ function createProjectionPrimitiveBoundsSelectionProxies(options, node, projection, mesh, ownerNodePath, materialSlots, materialOwnerResolutionContext, explicitlyBoundSlotIds, ownerMeshCount) {
1816
1860
  const subMeshes = Array.isArray(mesh?.subMeshes) ? mesh.subMeshes : [];
1817
1861
  if (subMeshes.length > 1)
1818
1862
  return [];
1819
- const primitiveSlots = resolveProjectionAssetMeshSelectionSlots(materialSlots, ownerNodePath, node.id)
1863
+ const primitiveSlots = resolveProjectionAssetMeshSelectionSlots(materialSlots, mesh, materialOwnerResolutionContext, explicitlyBoundSlotIds)
1820
1864
  .filter(slot => Number.isInteger(slot.primitiveIndex) && !!slot.boundingBox)
1821
1865
  .sort((left, right) => (left.primitiveIndex ?? 0) - (right.primitiveIndex ?? 0));
1822
1866
  if (primitiveSlots.length <= 1)
@@ -1844,11 +1888,26 @@ function createProjectionPrimitiveBoundsSelectionProxies(options, node, projecti
1844
1888
  proxies.push(proxy);
1845
1889
  projection.selectionMeshes = projection.selectionMeshes ?? [];
1846
1890
  projection.selectionMeshes.push(proxy);
1891
+ registerProjectionSelectionPresentationTarget(projection, selectionNodeId, mesh);
1847
1892
  if (proxy.material)
1848
1893
  projection.runtimeObjects.push(proxy.material);
1849
1894
  }
1850
1895
  return proxies;
1851
1896
  }
1897
+ function registerProjectionSelectionPresentationTarget(projection, selectionNodeId, renderMesh) {
1898
+ projection.selectionPresentationTargets = projection.selectionPresentationTargets ?? [];
1899
+ const existing = projection.selectionPresentationTargets.find(target => target.selectionNodeId === selectionNodeId);
1900
+ if (existing) {
1901
+ if (!existing.renderMeshes.includes(renderMesh)) {
1902
+ existing.renderMeshes = [...existing.renderMeshes, renderMesh];
1903
+ }
1904
+ return;
1905
+ }
1906
+ projection.selectionPresentationTargets.push({
1907
+ selectionNodeId,
1908
+ renderMeshes: [renderMesh],
1909
+ });
1910
+ }
1852
1911
  function createProjectionPrimitiveBoundsSelectionProxy(options, node, sourceMesh, slot, metadata) {
1853
1912
  const { babylon, scene } = options;
1854
1913
  const MeshBuilder = babylon.MeshBuilder;
@@ -1923,93 +1982,6 @@ function readProjectionMaterialSlotBoundsVec3(value) {
1923
1982
  return null;
1924
1983
  return { x, y, z };
1925
1984
  }
1926
- function isProjectionRuntimeSplitPrimitiveOwnerNode(ownerNode, slot) {
1927
- if (slot.primitiveIndex == null)
1928
- return false;
1929
- const primitiveNames = new Set();
1930
- for (const baseName of [
1931
- slot.ownerNodePath,
1932
- readProjectionOwnerPathLastSegment(slot.ownerNodePath),
1933
- stripProjectionPrimitiveLabelSuffix(readProjectionSlotLabel(slot)),
1934
- readProjectionSlotLabel(slot),
1935
- ]) {
1936
- addProjectionRuntimeOwnerName(primitiveNames, appendProjectionPrimitiveOwnerSuffix(baseName, slot.primitiveIndex));
1937
- }
1938
- return collectProjectionRuntimeNodeMatchNames(ownerNode).some(name => primitiveNames.has(name));
1939
- }
1940
- function collectProjectionRuntimeNodeMatchNames(node) {
1941
- const rawNames = [
1942
- typeof node?.name === 'string' ? node.name : null,
1943
- typeof node?.id === 'string' ? node.id : null,
1944
- readProjectionRuntimeNodeDisplayName(node),
1945
- readProjectionSourceNodeSegment(node),
1946
- ];
1947
- const names = new Set();
1948
- for (const rawName of rawNames) {
1949
- addProjectionRuntimeOwnerName(names, rawName);
1950
- for (const tailName of collectProjectionRuntimeOwnerTailNames(rawName)) {
1951
- addProjectionRuntimeOwnerName(names, tailName);
1952
- }
1953
- }
1954
- return [...names];
1955
- }
1956
- function readProjectionRuntimeNodeDisplayName(node) {
1957
- const name = typeof node?.name === 'string' ? node.name.trim() : '';
1958
- const id = typeof node?.id === 'string' ? node.id.trim() : '';
1959
- if (name && id && name !== id)
1960
- return `${name} (${id})`;
1961
- return name || id || null;
1962
- }
1963
- function collectProjectionRuntimeOwnerTailNames(value) {
1964
- const raw = typeof value === 'string' ? value.trim() : '';
1965
- if (!raw)
1966
- return [];
1967
- const names = new Set();
1968
- const withoutClonePrefix = raw.replace(/^Clone of\s+/i, '').trim();
1969
- for (const candidate of [raw, withoutClonePrefix]) {
1970
- const colonTail = candidate.includes(':') ? candidate.split(':').pop() : '';
1971
- const dotTail = candidate.includes('.') ? candidate.split('.').pop() : '';
1972
- if (colonTail)
1973
- names.add(colonTail);
1974
- if (dotTail)
1975
- names.add(dotTail);
1976
- }
1977
- return [...names];
1978
- }
1979
- function readProjectionOwnerPathLastSegment(ownerNodePath) {
1980
- const segments = ownerNodePath.split('/').map(segment => segment.trim()).filter(Boolean);
1981
- return segments.length > 0 ? segments[segments.length - 1] ?? null : null;
1982
- }
1983
- function stripProjectionPrimitiveLabelSuffix(value) {
1984
- if (typeof value !== 'string')
1985
- return null;
1986
- const stripped = value.replace(/\s*\/\s*Primitive\s+\d+\s*$/i, '').trim();
1987
- return stripped || null;
1988
- }
1989
- function appendProjectionPrimitiveOwnerSuffix(value, primitiveIndex) {
1990
- if (typeof value !== 'string')
1991
- return null;
1992
- const baseName = stripProjectionPrimitiveLabelSuffix(value) ?? value.trim();
1993
- return baseName ? `${baseName}_primitive${primitiveIndex}` : null;
1994
- }
1995
- function readProjectionSlotLabel(slot) {
1996
- const label = typeof slot.label === 'string' ? slot.label.trim() : '';
1997
- if (label)
1998
- return label;
1999
- const materialName = typeof slot.materialName === 'string' ? slot.materialName.trim() : '';
2000
- return materialName || null;
2001
- }
2002
- function addProjectionRuntimeOwnerName(names, value) {
2003
- const normalized = normalizeProjectionRuntimeOwnerName(value);
2004
- if (normalized)
2005
- names.add(normalized);
2006
- }
2007
- function normalizeProjectionRuntimeOwnerName(value) {
2008
- const trimmed = typeof value === 'string' ? value.trim() : '';
2009
- if (!trimmed)
2010
- return null;
2011
- return createMaterialSlotOwnerPathMatchKey(trimmed);
2012
- }
2013
1985
  function createProjectionSubMeshSelectionProxy(options, node, sourceMesh, subMesh, metadata) {
2014
1986
  const { babylon, scene } = options;
2015
1987
  const Mesh = babylon.Mesh;
@@ -2144,11 +2116,21 @@ function detachProjectionSlotMaterial(mesh, materialCounts, ownerNodePath) {
2144
2116
  if (materialUseCount <= 1)
2145
2117
  return { material, clonedMaterials: [], projectionOwnsMaterialLifecycle };
2146
2118
  const clone = typeof material.clone === 'function'
2147
- ? material.clone(createProjectionSlotMaterialName(material, ownerNodePath))
2119
+ ? safelyCloneProjectionMaterial(material, createProjectionSlotMaterialName(material, ownerNodePath))
2148
2120
  : null;
2149
2121
  if (!clone)
2150
2122
  return null;
2151
- cloneProjectionSubMaterials(clone, material, ownerNodePath);
2123
+ try {
2124
+ cloneProjectionSubMaterials(clone, material, ownerNodePath);
2125
+ }
2126
+ catch {
2127
+ safelyDisposeProjectionMaterial(clone);
2128
+ return null;
2129
+ }
2130
+ if (Array.isArray(material.subMaterials) && !Array.isArray(clone.subMaterials)) {
2131
+ safelyDisposeProjectionMaterial(clone);
2132
+ return null;
2133
+ }
2152
2134
  materialOwner.material = clone;
2153
2135
  materialCounts.set(material, materialUseCount - 1);
2154
2136
  materialCounts.set(clone, 1);
@@ -2185,8 +2167,8 @@ function resolveProjectionSlotMaterialTarget(mesh, materialCounts, slot, ownerNo
2185
2167
  };
2186
2168
  }
2187
2169
  if (!Array.isArray(material.subMaterials)) {
2188
- const isSplitPrimitiveOwner = isProjectionRuntimeSplitPrimitiveOwnerNode(mesh, slot);
2189
- if (!isSplitPrimitiveOwner && (slot.primitiveIndex !== 0 || !options.primitiveSingleMaterialFallbackAllowed)) {
2170
+ if (!options.primitiveOwnerResolvedByPointer
2171
+ && (slot.primitiveIndex !== 0 || !options.primitiveSingleMaterialFallbackAllowed)) {
2190
2172
  return {
2191
2173
  target: null,
2192
2174
  targetMaterialStatus: 'missingSubMaterial',
@@ -2209,25 +2191,16 @@ function resolveProjectionSlotMaterialTarget(mesh, materialCounts, slot, ownerNo
2209
2191
  targetMaterialStatus: 'primitiveFallbackMaterial',
2210
2192
  };
2211
2193
  }
2212
- const detachResult = detachProjectionSlotMaterial(mesh, materialCounts, ownerNodePath);
2213
- const slotMaterial = detachResult?.material;
2214
- if (!detachResult || !Array.isArray(slotMaterial.subMaterials)) {
2215
- return {
2216
- target: null,
2217
- targetMaterialStatus: 'missingTargetMaterial',
2218
- warningMessage: 'Primitive slot material profile was not applied because the multi-material target could not be detached.',
2219
- };
2220
- }
2221
- const subMaterials = slotMaterial.subMaterials;
2222
- const subMaterial = subMaterials[slot.primitiveIndex];
2223
- if (!subMaterial || typeof subMaterial !== 'object' || typeof subMaterial.clone !== 'function') {
2194
+ const sourceSubMaterials = material.subMaterials;
2195
+ const sourceSubMaterial = sourceSubMaterials[slot.primitiveIndex];
2196
+ if (!sourceSubMaterial || typeof sourceSubMaterial !== 'object' || typeof sourceSubMaterial.clone !== 'function') {
2224
2197
  return {
2225
2198
  target: null,
2226
2199
  targetMaterialStatus: 'missingSubMaterial',
2227
2200
  warningMessage: 'Primitive slot material profile was not applied because the target subMaterial is missing or cannot be cloned.',
2228
2201
  };
2229
2202
  }
2230
- const clonedSubMaterial = subMaterial.clone(createProjectionSlotSubMaterialName(subMaterial, ownerNodePath, slot.primitiveIndex));
2203
+ const clonedSubMaterial = safelyCloneProjectionMaterial(sourceSubMaterial, createProjectionSlotSubMaterialName(sourceSubMaterial, ownerNodePath, slot.primitiveIndex));
2231
2204
  if (!clonedSubMaterial) {
2232
2205
  return {
2233
2206
  target: null,
@@ -2235,7 +2208,22 @@ function resolveProjectionSlotMaterialTarget(mesh, materialCounts, slot, ownerNo
2235
2208
  warningMessage: 'Primitive slot material profile was not applied because the target subMaterial clone failed.',
2236
2209
  };
2237
2210
  }
2211
+ const detachResult = detachProjectionSlotMaterial(mesh, materialCounts, ownerNodePath);
2212
+ const slotMaterial = detachResult?.material;
2213
+ if (!detachResult || !Array.isArray(slotMaterial.subMaterials)) {
2214
+ safelyDisposeProjectionMaterial(clonedSubMaterial);
2215
+ return {
2216
+ target: null,
2217
+ targetMaterialStatus: 'missingTargetMaterial',
2218
+ warningMessage: 'Primitive slot material profile was not applied because the multi-material target could not be detached.',
2219
+ };
2220
+ }
2221
+ const subMaterials = slotMaterial.subMaterials;
2222
+ const detachedSubMaterial = subMaterials[slot.primitiveIndex];
2238
2223
  subMaterials[slot.primitiveIndex] = clonedSubMaterial;
2224
+ if (detachedSubMaterial !== sourceSubMaterial && detachedSubMaterial !== clonedSubMaterial) {
2225
+ safelyDisposeProjectionMaterial(detachedSubMaterial);
2226
+ }
2239
2227
  return {
2240
2228
  target: {
2241
2229
  material: clonedSubMaterial,
@@ -2247,22 +2235,27 @@ function resolveProjectionSlotMaterialTarget(mesh, materialCounts, slot, ownerNo
2247
2235
  targetMaterialStatus: 'subMaterial',
2248
2236
  };
2249
2237
  }
2238
+ function safelyCloneProjectionMaterial(material, name) {
2239
+ try {
2240
+ return material?.clone?.(name) ?? null;
2241
+ }
2242
+ catch {
2243
+ return null;
2244
+ }
2245
+ }
2246
+ function safelyDisposeProjectionMaterial(material) {
2247
+ try {
2248
+ material?.dispose?.();
2249
+ }
2250
+ catch {
2251
+ // Best-effort cleanup for a clone that was never committed to the scene owner.
2252
+ }
2253
+ }
2250
2254
  function readProjectionWritableMeshMaterial(mesh) {
2251
2255
  return resolveProjectionWritableMaterialOwner(mesh)?.material ?? null;
2252
2256
  }
2253
2257
  function resolveProjectionWritableMaterialOwner(mesh) {
2254
- if (!mesh || typeof mesh !== 'object')
2255
- return null;
2256
- if (isProjectionInstancedMesh(mesh) && mesh.sourceMesh)
2257
- return mesh.sourceMesh;
2258
- return mesh;
2259
- }
2260
- function isProjectionInstancedMesh(mesh) {
2261
- if (!mesh || typeof mesh !== 'object')
2262
- return false;
2263
- const className = typeof mesh.getClassName === 'function' ? mesh.getClassName() : undefined;
2264
- return className === 'InstancedMesh'
2265
- || (mesh.constructor?.name === 'InstancedMesh' && !!mesh.sourceMesh);
2258
+ return resolveBabylonEffectiveMaterialOwner(mesh);
2266
2259
  }
2267
2260
  function cloneProjectionSubMaterials(clone, source, ownerNodePath) {
2268
2261
  if (!Array.isArray(clone?.subMaterials) || !Array.isArray(source?.subMaterials))
@@ -2512,22 +2505,33 @@ function isProjectionRuntimeLightObject(runtimeObject) {
2512
2505
  }
2513
2506
  function resyncProjectionSceneLightSources(scene) {
2514
2507
  const meshes = Array.isArray(scene.meshes) ? scene.meshes : [];
2508
+ resyncProjectionMeshLightSources(scene, meshes);
2509
+ }
2510
+ function resyncProjectionMeshLightSources(scene, meshes) {
2511
+ const lightSourceOwners = new Set();
2515
2512
  const sourceMeshes = new Set();
2516
2513
  const instancedMeshes = new Set();
2517
2514
  for (const mesh of meshes) {
2518
2515
  if (!mesh || typeof mesh !== 'object')
2519
2516
  continue;
2520
- mesh._resyncLightSources?.();
2521
2517
  const sourceMesh = mesh.sourceMesh;
2522
2518
  if (sourceMesh && sourceMesh !== mesh) {
2523
2519
  sourceMeshes.add(sourceMesh);
2524
2520
  instancedMeshes.add(mesh);
2525
2521
  }
2522
+ else {
2523
+ lightSourceOwners.add(mesh);
2524
+ }
2526
2525
  }
2527
2526
  for (const sourceMesh of sourceMeshes) {
2528
2527
  if (sourceMesh?.isDisposed?.())
2529
2528
  continue;
2530
- sourceMesh?._resyncLightSources?.();
2529
+ lightSourceOwners.add(sourceMesh);
2530
+ }
2531
+ for (const lightSourceOwner of lightSourceOwners) {
2532
+ if (lightSourceOwner?.isDisposed?.())
2533
+ continue;
2534
+ lightSourceOwner?._resyncLightSources?.();
2531
2535
  }
2532
2536
  for (const instancedMesh of instancedMeshes) {
2533
2537
  if (instancedMesh?.isDisposed?.())
@@ -2535,6 +2539,21 @@ function resyncProjectionSceneLightSources(scene) {
2535
2539
  instancedMesh?._markSubMeshesAsLightDirty?.();
2536
2540
  }
2537
2541
  scene.resetCachedMaterial?.();
2542
+ const activeSceneLights = (Array.isArray(scene.lights) ? scene.lights : [])
2543
+ .filter((light) => light?.isEnabled?.() !== false);
2544
+ const resolvedLightSourceOwnerCount = [...lightSourceOwners].filter(owner => {
2545
+ if (owner?.isDisposed?.())
2546
+ return false;
2547
+ const lightSources = owner?.lightSources ?? owner?._lightSources;
2548
+ return Array.isArray(lightSources) && lightSources.length > 0;
2549
+ }).length;
2550
+ return {
2551
+ importedMeshCount: meshes.length,
2552
+ instancedMeshCount: instancedMeshes.size,
2553
+ lightSourceOwnerCount: lightSourceOwners.size,
2554
+ activeSceneLightCount: activeSceneLights.length,
2555
+ resolvedLightSourceOwnerCount,
2556
+ };
2538
2557
  }
2539
2558
  function refreshLightDirectionLines(babylon, scene, node, projection, direction) {
2540
2559
  const existing = scene.getMeshByName?.(`${node.id}.lightDirection`);
@@ -2811,6 +2830,15 @@ function applyProjectionWorldTransform(babylon, node, transform) {
2811
2830
  applyProjectionTransform(babylon, node, local);
2812
2831
  return true;
2813
2832
  }
2833
+ function cloneProjectionTransformSnapshot(transform) {
2834
+ return isEditorTransformMatrixSnapshot(transform)
2835
+ ? { mode: 'matrix', matrix: cloneEditorTransformMatrix(transform.matrix) }
2836
+ : {
2837
+ position: { ...transform.position },
2838
+ rotation: { ...transform.rotation },
2839
+ scale: { ...transform.scale },
2840
+ };
2841
+ }
2814
2842
  function writeProjectionLocalMatrixTransform(node, matrix) {
2815
2843
  node.metadata = {
2816
2844
  ...(readProjectionObject(node?.metadata) ?? {}),
@@ -2904,94 +2932,4 @@ function rectsIntersect(left, right) {
2904
2932
  && left.top <= right.bottom
2905
2933
  && left.bottom >= right.top;
2906
2934
  }
2907
- function syncProjectionSelection(babylon, projections, selection) {
2908
- const Color4 = babylon.Color4;
2909
- const selectedIds = new Set(selection.selectedIds.length > LARGE_SELECTION_EDGE_LIMIT
2910
- ? [selection.activeId].filter((id) => !!id)
2911
- : selection.selectedIds);
2912
- for (const [nodeId, projection] of projections) {
2913
- const rootSelected = selectedIds.has(nodeId);
2914
- const rootActive = selection.activeId === nodeId;
2915
- const proxyNodeIds = new Set((projection.selectionMeshes ?? [])
2916
- .map(readProjectionMeshSelectionNodeId)
2917
- .filter((id) => !!id));
2918
- let projectionSelected = false;
2919
- for (const mesh of projection.outlineMeshes) {
2920
- const meshNodeId = readProjectionMeshSelectionNodeId(mesh) ?? nodeId;
2921
- const selected = rootSelected || (!proxyNodeIds.has(meshNodeId) && selectedIds.has(meshNodeId));
2922
- const active = rootActive || selection.activeId === meshNodeId;
2923
- if (selected)
2924
- projectionSelected = true;
2925
- syncProjectionMeshSelection(mesh, selected, active, Color4);
2926
- }
2927
- for (const mesh of projection.selectionMeshes ?? []) {
2928
- const meshNodeId = readProjectionMeshSelectionNodeId(mesh) ?? nodeId;
2929
- const selected = selectedIds.has(meshNodeId);
2930
- const active = selection.activeId === meshNodeId;
2931
- if (selected)
2932
- projectionSelected = true;
2933
- syncProjectionMeshSelection(mesh, selected, active, Color4);
2934
- }
2935
- if (projectionSelected) {
2936
- projection.selectionEdgesPrewarmCancel?.();
2937
- projection.selectionEdgesPrewarmCancel = null;
2938
- }
2939
- }
2940
- }
2941
- function syncProjectionMeshSelection(mesh, selected, active, Color4) {
2942
- mesh.metadata = {
2943
- ...(mesh.metadata ?? {}),
2944
- editorProjectionSelectionEdgesSelected: selected,
2945
- };
2946
- if (!selected) {
2947
- mesh.disableEdgesRendering?.();
2948
- return;
2949
- }
2950
- mesh.enableEdgesRendering?.(0.997);
2951
- mesh.edgesWidth = active ? 5 : 3.5;
2952
- if (Color4) {
2953
- mesh.edgesColor = active
2954
- ? new Color4(1, 0.9, 0.22, 1)
2955
- : new Color4(0.35, 0.65, 1, 1);
2956
- }
2957
- }
2958
- function prewarmProjectionSelectionEdges(projection) {
2959
- for (const mesh of [...projection.outlineMeshes, ...(projection.selectionMeshes ?? [])]) {
2960
- if (mesh?.metadata?.editorProjectionSelectionEdgesPrewarmed)
2961
- continue;
2962
- if (mesh?.metadata?.editorProjectionSelectionEdgesSelected)
2963
- continue;
2964
- try {
2965
- mesh.enableEdgesRendering?.(0.997);
2966
- mesh.disableEdgesRendering?.();
2967
- mesh.metadata = {
2968
- ...(mesh.metadata ?? {}),
2969
- editorProjectionSelectionEdgesPrewarmed: true,
2970
- };
2971
- }
2972
- catch { }
2973
- }
2974
- }
2975
- function scheduleIdleProjectionSelectionEdgesPrewarm(projection) {
2976
- let canceled = false;
2977
- const run = () => {
2978
- if (canceled || projection.root?.isDisposed?.())
2979
- return;
2980
- projection.selectionEdgesPrewarmCancel = null;
2981
- prewarmProjectionSelectionEdges(projection);
2982
- };
2983
- const scheduleTarget = globalThis;
2984
- if (typeof scheduleTarget.requestIdleCallback === 'function') {
2985
- const handle = scheduleTarget.requestIdleCallback(run);
2986
- return () => {
2987
- canceled = true;
2988
- scheduleTarget.cancelIdleCallback?.(handle);
2989
- };
2990
- }
2991
- const handle = setTimeout(run, 0);
2992
- return () => {
2993
- canceled = true;
2994
- clearTimeout(handle);
2995
- };
2996
- }
2997
2935
  //# sourceMappingURL=projection.js.map