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

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 (1506) hide show
  1. package/dist/agent-bridge/capabilities/editor-state.d.ts.map +1 -1
  2. package/dist/agent-bridge/capabilities/editor-state.js +12 -6
  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 +208 -73
  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 +24 -23
  14. package/dist/agent-bridge/capabilities/scene-objects.js.map +1 -1
  15. package/dist/agent-bridge/capabilities/shadows.d.ts.map +1 -1
  16. package/dist/agent-bridge/capabilities/shadows.js +829 -66
  17. package/dist/agent-bridge/capabilities/shadows.js.map +1 -1
  18. package/dist/agent-bridge/capabilities/ui-regions.d.ts.map +1 -1
  19. package/dist/agent-bridge/capabilities/ui-regions.js +19 -1
  20. package/dist/agent-bridge/capabilities/ui-regions.js.map +1 -1
  21. package/dist/agent-bridge/capabilities/viewport.d.ts.map +1 -1
  22. package/dist/agent-bridge/capabilities/viewport.js +22 -9
  23. package/dist/agent-bridge/capabilities/viewport.js.map +1 -1
  24. package/dist/agent-bridge/capability-sources.d.ts.map +1 -1
  25. package/dist/agent-bridge/capability-sources.js +2 -0
  26. package/dist/agent-bridge/capability-sources.js.map +1 -1
  27. package/dist/agent-bridge/register.d.ts.map +1 -1
  28. package/dist/agent-bridge/register.js +194 -0
  29. package/dist/agent-bridge/register.js.map +1 -1
  30. package/dist/agent-bridge/shared.d.ts +231 -11
  31. package/dist/agent-bridge/shared.d.ts.map +1 -1
  32. package/dist/agent-bridge/shared.js +162 -20
  33. package/dist/agent-bridge/shared.js.map +1 -1
  34. package/dist/agent-bridge/source-types.d.ts +17 -1
  35. package/dist/agent-bridge/source-types.d.ts.map +1 -1
  36. package/dist/agent-bridge/source-types.js.map +1 -1
  37. package/dist/build-info.json +57 -42
  38. package/dist/index.d.ts +7 -6
  39. package/dist/index.d.ts.map +1 -1
  40. package/dist/index.js +4 -3
  41. package/dist/index.js.map +1 -1
  42. package/dist/internal/babylon-preview-engine.d.ts +3 -0
  43. package/dist/internal/babylon-preview-engine.d.ts.map +1 -0
  44. package/dist/internal/babylon-preview-engine.js +11 -0
  45. package/dist/internal/babylon-preview-engine.js.map +1 -0
  46. package/dist/internal/material-preview.d.ts +22 -0
  47. package/dist/internal/material-preview.d.ts.map +1 -0
  48. package/dist/internal/material-preview.js +186 -0
  49. package/dist/internal/material-preview.js.map +1 -0
  50. package/dist/internal/product-local-editor-cleanup.d.ts +5 -0
  51. package/dist/internal/product-local-editor-cleanup.d.ts.map +1 -0
  52. package/dist/internal/product-local-editor-cleanup.js +20 -0
  53. package/dist/internal/product-local-editor-cleanup.js.map +1 -0
  54. package/dist/internal/project-model-preview.d.ts +4 -0
  55. package/dist/internal/project-model-preview.d.ts.map +1 -0
  56. package/dist/internal/project-model-preview.js +359 -0
  57. package/dist/internal/project-model-preview.js.map +1 -0
  58. package/dist/local-editor-agent-actions.d.ts +2 -4
  59. package/dist/local-editor-agent-actions.d.ts.map +1 -1
  60. package/dist/local-editor-agent-actions.js +56 -32
  61. package/dist/local-editor-agent-actions.js.map +1 -1
  62. package/dist/local-editor-agent-context.d.ts +17 -6
  63. package/dist/local-editor-agent-context.d.ts.map +1 -1
  64. package/dist/local-editor-agent-context.js +47 -0
  65. package/dist/local-editor-agent-context.js.map +1 -1
  66. package/dist/local-editor-harness.d.ts +353 -35
  67. package/dist/local-editor-harness.d.ts.map +1 -1
  68. package/dist/local-editor-harness.js +4115 -1313
  69. package/dist/local-editor-harness.js.map +1 -1
  70. package/dist/local-editor-marker-graph.d.ts +15 -15
  71. package/dist/local-editor-marker-graph.d.ts.map +1 -1
  72. package/dist/local-editor-marker-graph.js +3 -0
  73. package/dist/local-editor-marker-graph.js.map +1 -1
  74. package/dist/local-editor-performance-stats.d.ts +3 -2
  75. package/dist/local-editor-performance-stats.d.ts.map +1 -1
  76. package/dist/local-editor-performance-stats.js.map +1 -1
  77. package/dist/local-editor-prefab-stage-transaction.d.ts +19 -0
  78. package/dist/local-editor-prefab-stage-transaction.d.ts.map +1 -0
  79. package/dist/local-editor-prefab-stage-transaction.js +45 -0
  80. package/dist/local-editor-prefab-stage-transaction.js.map +1 -0
  81. package/dist/local-editor-scene-view-interaction-runtime.d.ts +3 -1
  82. package/dist/local-editor-scene-view-interaction-runtime.d.ts.map +1 -1
  83. package/dist/local-editor-scene-view-interaction-runtime.js +24 -0
  84. package/dist/local-editor-scene-view-interaction-runtime.js.map +1 -1
  85. package/dist/local-editor-tools.d.ts +19 -0
  86. package/dist/local-editor-tools.d.ts.map +1 -0
  87. package/dist/local-editor-tools.js +56 -0
  88. package/dist/local-editor-tools.js.map +1 -0
  89. package/dist/playable-babylon-rendering.d.ts +9 -0
  90. package/dist/playable-babylon-rendering.d.ts.map +1 -1
  91. package/dist/playable-babylon-rendering.js +162 -6
  92. package/dist/playable-babylon-rendering.js.map +1 -1
  93. package/dist/playable-local-editor-entry.d.ts +68 -0
  94. package/dist/playable-local-editor-entry.d.ts.map +1 -0
  95. package/dist/playable-local-editor-entry.js +424 -0
  96. package/dist/playable-local-editor-entry.js.map +1 -0
  97. package/dist/playable-local-editor-host.d.ts +55 -29
  98. package/dist/playable-local-editor-host.d.ts.map +1 -1
  99. package/dist/playable-local-editor-host.js +50 -11
  100. package/dist/playable-local-editor-host.js.map +1 -1
  101. package/dist/playable-product-local-editor.d.ts +10 -12
  102. package/dist/playable-product-local-editor.d.ts.map +1 -1
  103. package/dist/playable-product-local-editor.js +178 -85
  104. package/dist/playable-product-local-editor.js.map +1 -1
  105. package/dist/playable-product-projection-preview.d.ts +4 -1
  106. package/dist/playable-product-projection-preview.d.ts.map +1 -1
  107. package/dist/playable-product-projection-preview.js +122 -5
  108. package/dist/playable-product-projection-preview.js.map +1 -1
  109. package/dist/playable-product-rendering.d.ts +12 -0
  110. package/dist/playable-product-rendering.d.ts.map +1 -1
  111. package/dist/playable-product-rendering.js +128 -6
  112. package/dist/playable-product-rendering.js.map +1 -1
  113. package/dist/playable-product-scene-capabilities.d.ts +24 -7
  114. package/dist/playable-product-scene-capabilities.d.ts.map +1 -1
  115. package/dist/playable-product-scene-capabilities.js +180 -17
  116. package/dist/playable-product-scene-capabilities.js.map +1 -1
  117. package/dist/playable-project-mode.d.ts +17 -0
  118. package/dist/playable-project-mode.d.ts.map +1 -0
  119. package/dist/playable-project-mode.js +2 -0
  120. package/dist/playable-project-mode.js.map +1 -0
  121. package/dist/playable-runtime-babylon.d.ts +3 -6
  122. package/dist/playable-runtime-babylon.d.ts.map +1 -1
  123. package/dist/playable-runtime-babylon.js +1 -5
  124. package/dist/playable-runtime-babylon.js.map +1 -1
  125. package/dist/playable-sdk.d.ts +16 -9
  126. package/dist/playable-sdk.d.ts.map +1 -1
  127. package/dist/playable-sdk.js +6 -4
  128. package/dist/playable-sdk.js.map +1 -1
  129. package/dist/playable-standard-project.d.ts +23 -14
  130. package/dist/playable-standard-project.d.ts.map +1 -1
  131. package/dist/playable-standard-project.js +57 -20
  132. package/dist/playable-standard-project.js.map +1 -1
  133. package/dist/vite-client.d.ts +4 -0
  134. package/node_modules/@babel/helper-string-parser/lib/index.js +0 -1
  135. package/node_modules/@babel/helper-validator-identifier/lib/identifier.js +0 -1
  136. package/node_modules/@babel/helper-validator-identifier/lib/index.js +0 -1
  137. package/node_modules/@babel/helper-validator-identifier/lib/keyword.js +0 -1
  138. package/node_modules/@babel/parser/lib/index.js +0 -1
  139. package/node_modules/@babel/types/lib/asserts/assertNode.js +0 -1
  140. package/node_modules/@babel/types/lib/asserts/generated/index.js +0 -1
  141. package/node_modules/@babel/types/lib/ast-types/generated/index.js +0 -1
  142. package/node_modules/@babel/types/lib/builders/flow/createFlowUnionType.js +0 -1
  143. package/node_modules/@babel/types/lib/builders/flow/createTypeAnnotationBasedOnTypeof.js +0 -1
  144. package/node_modules/@babel/types/lib/builders/generated/index.js +0 -1
  145. package/node_modules/@babel/types/lib/builders/generated/lowercase.js +0 -1
  146. package/node_modules/@babel/types/lib/builders/generated/uppercase.js +0 -1
  147. package/node_modules/@babel/types/lib/builders/productions.js +0 -1
  148. package/node_modules/@babel/types/lib/builders/react/buildChildren.js +0 -1
  149. package/node_modules/@babel/types/lib/builders/typescript/createTSUnionType.js +0 -1
  150. package/node_modules/@babel/types/lib/builders/validateNode.js +0 -1
  151. package/node_modules/@babel/types/lib/clone/clone.js +0 -1
  152. package/node_modules/@babel/types/lib/clone/cloneDeep.js +0 -1
  153. package/node_modules/@babel/types/lib/clone/cloneDeepWithoutLoc.js +0 -1
  154. package/node_modules/@babel/types/lib/clone/cloneNode.js +0 -1
  155. package/node_modules/@babel/types/lib/clone/cloneWithoutLoc.js +0 -1
  156. package/node_modules/@babel/types/lib/comments/addComment.js +0 -1
  157. package/node_modules/@babel/types/lib/comments/addComments.js +0 -1
  158. package/node_modules/@babel/types/lib/comments/inheritInnerComments.js +0 -1
  159. package/node_modules/@babel/types/lib/comments/inheritLeadingComments.js +0 -1
  160. package/node_modules/@babel/types/lib/comments/inheritTrailingComments.js +0 -1
  161. package/node_modules/@babel/types/lib/comments/inheritsComments.js +0 -1
  162. package/node_modules/@babel/types/lib/comments/removeComments.js +0 -1
  163. package/node_modules/@babel/types/lib/constants/generated/index.js +0 -1
  164. package/node_modules/@babel/types/lib/constants/index.js +0 -1
  165. package/node_modules/@babel/types/lib/converters/ensureBlock.js +0 -1
  166. package/node_modules/@babel/types/lib/converters/gatherSequenceExpressions.js +0 -1
  167. package/node_modules/@babel/types/lib/converters/toBindingIdentifierName.js +0 -1
  168. package/node_modules/@babel/types/lib/converters/toBlock.js +0 -1
  169. package/node_modules/@babel/types/lib/converters/toComputedKey.js +0 -1
  170. package/node_modules/@babel/types/lib/converters/toExpression.js +0 -1
  171. package/node_modules/@babel/types/lib/converters/toIdentifier.js +0 -1
  172. package/node_modules/@babel/types/lib/converters/toKeyAlias.js +0 -1
  173. package/node_modules/@babel/types/lib/converters/toSequenceExpression.js +0 -1
  174. package/node_modules/@babel/types/lib/converters/toStatement.js +0 -1
  175. package/node_modules/@babel/types/lib/converters/valueToNode.js +0 -1
  176. package/node_modules/@babel/types/lib/definitions/core.js +0 -1
  177. package/node_modules/@babel/types/lib/definitions/deprecated-aliases.js +0 -1
  178. package/node_modules/@babel/types/lib/definitions/experimental.js +0 -1
  179. package/node_modules/@babel/types/lib/definitions/flow.js +0 -1
  180. package/node_modules/@babel/types/lib/definitions/index.js +0 -1
  181. package/node_modules/@babel/types/lib/definitions/jsx.js +0 -1
  182. package/node_modules/@babel/types/lib/definitions/misc.js +0 -1
  183. package/node_modules/@babel/types/lib/definitions/placeholders.js +0 -1
  184. package/node_modules/@babel/types/lib/definitions/typescript.js +0 -1
  185. package/node_modules/@babel/types/lib/definitions/utils.js +0 -1
  186. package/node_modules/@babel/types/lib/index.js +0 -1
  187. package/node_modules/@babel/types/lib/modifications/appendToMemberExpression.js +0 -1
  188. package/node_modules/@babel/types/lib/modifications/flow/removeTypeDuplicates.js +0 -1
  189. package/node_modules/@babel/types/lib/modifications/inherits.js +0 -1
  190. package/node_modules/@babel/types/lib/modifications/prependToMemberExpression.js +0 -1
  191. package/node_modules/@babel/types/lib/modifications/removeProperties.js +0 -1
  192. package/node_modules/@babel/types/lib/modifications/removePropertiesDeep.js +0 -1
  193. package/node_modules/@babel/types/lib/modifications/typescript/removeTypeDuplicates.js +0 -1
  194. package/node_modules/@babel/types/lib/retrievers/getAssignmentIdentifiers.js +0 -1
  195. package/node_modules/@babel/types/lib/retrievers/getBindingIdentifiers.js +0 -1
  196. package/node_modules/@babel/types/lib/retrievers/getFunctionName.js +0 -1
  197. package/node_modules/@babel/types/lib/retrievers/getOuterBindingIdentifiers.js +0 -1
  198. package/node_modules/@babel/types/lib/traverse/traverse.js +0 -1
  199. package/node_modules/@babel/types/lib/traverse/traverseFast.js +0 -1
  200. package/node_modules/@babel/types/lib/utils/deprecationWarning.js +0 -1
  201. package/node_modules/@babel/types/lib/utils/inherit.js +0 -1
  202. package/node_modules/@babel/types/lib/utils/react/cleanJSXElementLiteralChild.js +0 -1
  203. package/node_modules/@babel/types/lib/utils/shallowEqual.js +0 -1
  204. package/node_modules/@babel/types/lib/validators/buildMatchMemberExpression.js +0 -1
  205. package/node_modules/@babel/types/lib/validators/generated/index.js +0 -1
  206. package/node_modules/@babel/types/lib/validators/is.js +0 -1
  207. package/node_modules/@babel/types/lib/validators/isBinding.js +0 -1
  208. package/node_modules/@babel/types/lib/validators/isBlockScoped.js +0 -1
  209. package/node_modules/@babel/types/lib/validators/isImmutable.js +0 -1
  210. package/node_modules/@babel/types/lib/validators/isLet.js +0 -1
  211. package/node_modules/@babel/types/lib/validators/isNode.js +0 -1
  212. package/node_modules/@babel/types/lib/validators/isNodesEquivalent.js +0 -1
  213. package/node_modules/@babel/types/lib/validators/isPlaceholderType.js +0 -1
  214. package/node_modules/@babel/types/lib/validators/isReferenced.js +0 -1
  215. package/node_modules/@babel/types/lib/validators/isScope.js +0 -1
  216. package/node_modules/@babel/types/lib/validators/isSpecifierDefault.js +0 -1
  217. package/node_modules/@babel/types/lib/validators/isType.js +0 -1
  218. package/node_modules/@babel/types/lib/validators/isValidES3Identifier.js +0 -1
  219. package/node_modules/@babel/types/lib/validators/isValidIdentifier.js +0 -1
  220. package/node_modules/@babel/types/lib/validators/isVar.js +0 -1
  221. package/node_modules/@babel/types/lib/validators/matchesPattern.js +0 -1
  222. package/node_modules/@babel/types/lib/validators/react/isCompatTag.js +0 -1
  223. package/node_modules/@babel/types/lib/validators/react/isReactComponent.js +0 -1
  224. package/node_modules/@babel/types/lib/validators/validate.js +0 -1
  225. package/node_modules/@babylonjs/loaders/BVH/bvhFileLoader.d.ts +69 -0
  226. package/node_modules/@babylonjs/loaders/BVH/bvhFileLoader.js +132 -0
  227. package/node_modules/@babylonjs/loaders/BVH/bvhFileLoader.metadata.d.ts +8 -0
  228. package/node_modules/@babylonjs/loaders/BVH/bvhFileLoader.metadata.js +7 -0
  229. package/node_modules/@babylonjs/loaders/BVH/bvhLoader.d.ts +14 -0
  230. package/node_modules/@babylonjs/loaders/BVH/bvhLoader.js +328 -0
  231. package/node_modules/@babylonjs/loaders/BVH/bvhLoadingOptions.d.ts +9 -0
  232. package/node_modules/@babylonjs/loaders/BVH/bvhLoadingOptions.js +1 -0
  233. package/node_modules/@babylonjs/loaders/BVH/index.d.ts +2 -0
  234. package/node_modules/@babylonjs/loaders/BVH/index.js +3 -0
  235. package/node_modules/@babylonjs/loaders/OBJ/index.d.ts +4 -0
  236. package/node_modules/@babylonjs/loaders/OBJ/index.js +4 -0
  237. package/node_modules/@babylonjs/loaders/OBJ/mtlFileLoader.d.ts +41 -0
  238. package/node_modules/@babylonjs/loaders/OBJ/mtlFileLoader.js +230 -0
  239. package/node_modules/@babylonjs/loaders/OBJ/objFileLoader.d.ts +136 -0
  240. package/node_modules/@babylonjs/loaders/OBJ/objFileLoader.js +317 -0
  241. package/node_modules/@babylonjs/loaders/OBJ/objFileLoader.metadata.d.ts +4 -0
  242. package/node_modules/@babylonjs/loaders/OBJ/objFileLoader.metadata.js +4 -0
  243. package/node_modules/@babylonjs/loaders/OBJ/objLoadingOptions.d.ts +47 -0
  244. package/node_modules/@babylonjs/loaders/OBJ/objLoadingOptions.js +1 -0
  245. package/node_modules/@babylonjs/loaders/OBJ/solidParser.d.ts +175 -0
  246. package/node_modules/@babylonjs/loaders/OBJ/solidParser.js +903 -0
  247. package/node_modules/@babylonjs/loaders/SPLAT/index.d.ts +2 -0
  248. package/node_modules/@babylonjs/loaders/SPLAT/index.js +3 -0
  249. package/node_modules/@babylonjs/loaders/SPLAT/sog.d.ts +84 -0
  250. package/node_modules/@babylonjs/loaders/SPLAT/sog.js +294 -0
  251. package/node_modules/@babylonjs/loaders/SPLAT/splatDefs.d.ts +26 -0
  252. package/node_modules/@babylonjs/loaders/SPLAT/splatDefs.js +10 -0
  253. package/node_modules/@babylonjs/loaders/SPLAT/splatFileLoader.d.ts +100 -0
  254. package/node_modules/@babylonjs/loaders/SPLAT/splatFileLoader.js +536 -0
  255. package/node_modules/@babylonjs/loaders/SPLAT/splatFileLoader.metadata.d.ts +20 -0
  256. package/node_modules/@babylonjs/loaders/SPLAT/splatFileLoader.metadata.js +15 -0
  257. package/node_modules/@babylonjs/loaders/SPLAT/splatLoadingOptions.d.ts +33 -0
  258. package/node_modules/@babylonjs/loaders/SPLAT/splatLoadingOptions.js +1 -0
  259. package/node_modules/@babylonjs/loaders/SPLAT/spz.d.ts +11 -0
  260. package/node_modules/@babylonjs/loaders/SPLAT/spz.js +168 -0
  261. package/node_modules/@babylonjs/loaders/STL/index.d.ts +1 -0
  262. package/node_modules/@babylonjs/loaders/STL/index.js +1 -0
  263. package/node_modules/@babylonjs/loaders/STL/stlFileLoader.d.ts +78 -0
  264. package/node_modules/@babylonjs/loaders/STL/stlFileLoader.js +238 -0
  265. package/node_modules/@babylonjs/loaders/STL/stlFileLoader.metadata.d.ts +8 -0
  266. package/node_modules/@babylonjs/loaders/STL/stlFileLoader.metadata.js +7 -0
  267. package/node_modules/@babylonjs/loaders/bvh/license.md +21 -0
  268. package/node_modules/@babylonjs/loaders/dynamic.d.ts +5 -0
  269. package/node_modules/@babylonjs/loaders/dynamic.js +56 -0
  270. package/node_modules/@babylonjs/loaders/glTF/1.0/glTFBinaryExtension.d.ts +16 -0
  271. package/node_modules/@babylonjs/loaders/glTF/1.0/glTFBinaryExtension.js +64 -0
  272. package/node_modules/@babylonjs/loaders/glTF/1.0/glTFLoader.d.ts +144 -0
  273. package/node_modules/@babylonjs/loaders/glTF/1.0/glTFLoader.js +1841 -0
  274. package/node_modules/@babylonjs/loaders/glTF/1.0/glTFLoaderInterfaces.d.ts +412 -0
  275. package/node_modules/@babylonjs/loaders/glTF/1.0/glTFLoaderInterfaces.js +95 -0
  276. package/node_modules/@babylonjs/loaders/glTF/1.0/glTFLoaderUtils.d.ts +71 -0
  277. package/node_modules/@babylonjs/loaders/glTF/1.0/glTFLoaderUtils.js +254 -0
  278. package/node_modules/@babylonjs/loaders/glTF/1.0/glTFMaterialsCommonExtension.d.ts +13 -0
  279. package/node_modules/@babylonjs/loaders/glTF/1.0/glTFMaterialsCommonExtension.js +130 -0
  280. package/node_modules/@babylonjs/loaders/glTF/1.0/index.d.ts +5 -0
  281. package/node_modules/@babylonjs/loaders/glTF/1.0/index.js +5 -0
  282. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/EXT_lights_area.d.ts +41 -0
  283. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/EXT_lights_area.js +93 -0
  284. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/EXT_lights_ies.d.ts +41 -0
  285. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/EXT_lights_ies.js +83 -0
  286. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/EXT_lights_image_based.d.ts +48 -0
  287. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/EXT_lights_image_based.js +115 -0
  288. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/EXT_mesh_gpu_instancing.d.ts +39 -0
  289. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/EXT_mesh_gpu_instancing.js +94 -0
  290. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/EXT_meshopt_compression.d.ts +39 -0
  291. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/EXT_meshopt_compression.js +50 -0
  292. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/EXT_texture_avif.d.ts +34 -0
  293. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/EXT_texture_avif.js +38 -0
  294. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/EXT_texture_webp.d.ts +33 -0
  295. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/EXT_texture_webp.js +37 -0
  296. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/ExtrasAsMetadata.d.ts +53 -0
  297. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/ExtrasAsMetadata.js +73 -0
  298. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_animation_pointer.d.ts +47 -0
  299. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_animation_pointer.data.d.ts +1 -0
  300. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_animation_pointer.data.js +251 -0
  301. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_animation_pointer.js +77 -0
  302. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_draco_mesh_compression.d.ts +47 -0
  303. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_draco_mesh_compression.js +92 -0
  304. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_interactivity/declarationMapper.d.ts +355 -0
  305. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_interactivity/declarationMapper.js +1678 -0
  306. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_interactivity/flowGraphGLTFDataProvider.d.ts +33 -0
  307. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_interactivity/flowGraphGLTFDataProvider.js +19 -0
  308. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_interactivity/index.d.ts +3 -0
  309. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_interactivity/index.js +3 -0
  310. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_interactivity/interactivityGraphParser.d.ts +70 -0
  311. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_interactivity/interactivityGraphParser.js +438 -0
  312. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_interactivity.d.ts +38 -0
  313. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_interactivity.js +150 -0
  314. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_lights_punctual.d.ts +41 -0
  315. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_lights_punctual.js +91 -0
  316. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_materials_anisotropy.d.ts +42 -0
  317. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_materials_anisotropy.js +65 -0
  318. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_materials_clearcoat.d.ts +43 -0
  319. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_materials_clearcoat.js +79 -0
  320. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_materials_coat.d.ts +49 -0
  321. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_materials_coat.js +119 -0
  322. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_materials_diffuse_roughness.d.ts +43 -0
  323. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_materials_diffuse_roughness.js +58 -0
  324. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_materials_diffuse_transmission.d.ts +43 -0
  325. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_materials_diffuse_transmission.js +69 -0
  326. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_materials_dispersion.d.ts +43 -0
  327. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_materials_dispersion.js +56 -0
  328. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_materials_emissive_strength.d.ts +42 -0
  329. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_materials_emissive_strength.js +47 -0
  330. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_materials_fuzz.d.ts +43 -0
  331. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_materials_fuzz.js +77 -0
  332. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_materials_ior.d.ts +46 -0
  333. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_materials_ior.js +54 -0
  334. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_materials_iridescence.d.ts +42 -0
  335. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_materials_iridescence.js +68 -0
  336. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_materials_pbrSpecularGlossiness.d.ts +42 -0
  337. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_materials_pbrSpecularGlossiness.js +80 -0
  338. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_materials_sheen.d.ts +43 -0
  339. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_materials_sheen.js +73 -0
  340. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_materials_specular.d.ts +42 -0
  341. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_materials_specular.js +76 -0
  342. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_materials_transmission.d.ts +42 -0
  343. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_materials_transmission.js +303 -0
  344. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_materials_unlit.d.ts +42 -0
  345. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_materials_unlit.js +66 -0
  346. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_materials_variants.d.ts +112 -0
  347. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_materials_variants.js +262 -0
  348. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_materials_volume.d.ts +43 -0
  349. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_materials_volume.js +82 -0
  350. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_materials_volume_scatter.d.ts +45 -0
  351. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_materials_volume_scatter.js +109 -0
  352. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_mesh_quantization.d.ts +29 -0
  353. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_mesh_quantization.js +22 -0
  354. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_node_hoverability.d.ts +31 -0
  355. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_node_hoverability.js +189 -0
  356. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_node_selectability.d.ts +30 -0
  357. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_node_selectability.js +123 -0
  358. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_node_visibility.d.ts +30 -0
  359. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_node_visibility.js +66 -0
  360. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_texture_basisu.d.ts +33 -0
  361. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_texture_basisu.js +37 -0
  362. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_texture_transform.d.ts +37 -0
  363. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_texture_transform.js +58 -0
  364. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_xmp_json_ld.d.ts +39 -0
  365. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_xmp_json_ld.js +47 -0
  366. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/MSFT_audio_emitter.d.ts +56 -0
  367. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/MSFT_audio_emitter.js +228 -0
  368. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/MSFT_lod.d.ts +104 -0
  369. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/MSFT_lod.js +337 -0
  370. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/MSFT_minecraftMesh.d.ts +27 -0
  371. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/MSFT_minecraftMesh.js +39 -0
  372. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/MSFT_sRGBFactors.d.ts +27 -0
  373. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/MSFT_sRGBFactors.js +38 -0
  374. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/dynamic.d.ts +4 -0
  375. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/dynamic.js +212 -0
  376. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/gltfPathToObjectConverter.d.ts +45 -0
  377. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/gltfPathToObjectConverter.js +100 -0
  378. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/index.d.ts +43 -0
  379. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/index.js +44 -0
  380. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/objectModelMapping.d.ts +306 -0
  381. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/objectModelMapping.js +884 -0
  382. package/node_modules/@babylonjs/loaders/glTF/2.0/glTFLoader.d.ts +450 -0
  383. package/node_modules/@babylonjs/loaders/glTF/2.0/glTFLoader.js +2485 -0
  384. package/node_modules/@babylonjs/loaders/glTF/2.0/glTFLoaderAnimation.d.ts +42 -0
  385. package/node_modules/@babylonjs/loaders/glTF/2.0/glTFLoaderAnimation.js +79 -0
  386. package/node_modules/@babylonjs/loaders/glTF/2.0/glTFLoaderExtension.d.ts +165 -0
  387. package/node_modules/@babylonjs/loaders/glTF/2.0/glTFLoaderExtension.js +1 -0
  388. package/node_modules/@babylonjs/loaders/glTF/2.0/glTFLoaderExtensionRegistry.d.ts +25 -0
  389. package/node_modules/@babylonjs/loaders/glTF/2.0/glTFLoaderExtensionRegistry.js +32 -0
  390. package/node_modules/@babylonjs/loaders/glTF/2.0/glTFLoaderInterfaces.d.ts +262 -0
  391. package/node_modules/@babylonjs/loaders/glTF/2.0/glTFLoaderInterfaces.js +1 -0
  392. package/node_modules/@babylonjs/loaders/glTF/2.0/index.d.ts +8 -0
  393. package/node_modules/@babylonjs/loaders/glTF/2.0/index.js +9 -0
  394. package/node_modules/@babylonjs/loaders/glTF/2.0/materialLoadingAdapter.d.ts +364 -0
  395. package/node_modules/@babylonjs/loaders/glTF/2.0/materialLoadingAdapter.js +1 -0
  396. package/node_modules/@babylonjs/loaders/glTF/2.0/openpbrMaterialLoadingAdapter.d.ts +674 -0
  397. package/node_modules/@babylonjs/loaders/glTF/2.0/openpbrMaterialLoadingAdapter.js +1034 -0
  398. package/node_modules/@babylonjs/loaders/glTF/2.0/pbrMaterialLoadingAdapter.d.ts +705 -0
  399. package/node_modules/@babylonjs/loaders/glTF/2.0/pbrMaterialLoadingAdapter.js +1126 -0
  400. package/node_modules/@babylonjs/loaders/glTF/glTFFileLoader.d.ts +553 -0
  401. package/node_modules/@babylonjs/loaders/glTF/glTFFileLoader.js +998 -0
  402. package/node_modules/@babylonjs/loaders/glTF/glTFFileLoader.metadata.d.ts +15 -0
  403. package/node_modules/@babylonjs/loaders/glTF/glTFFileLoader.metadata.js +17 -0
  404. package/node_modules/@babylonjs/loaders/glTF/glTFValidation.d.ts +35 -0
  405. package/node_modules/@babylonjs/loaders/glTF/glTFValidation.js +131 -0
  406. package/node_modules/@babylonjs/loaders/glTF/index.d.ts +5 -0
  407. package/node_modules/@babylonjs/loaders/glTF/index.js +6 -0
  408. package/node_modules/@babylonjs/loaders/index.d.ts +6 -0
  409. package/node_modules/@babylonjs/loaders/index.js +7 -0
  410. package/node_modules/@babylonjs/loaders/legacy/legacy-bvhFileLoader.d.ts +1 -0
  411. package/node_modules/@babylonjs/loaders/legacy/legacy-bvhFileLoader.js +15 -0
  412. package/node_modules/@babylonjs/loaders/legacy/legacy-dynamic.d.ts +1 -0
  413. package/node_modules/@babylonjs/loaders/legacy/legacy-dynamic.js +13 -0
  414. package/node_modules/@babylonjs/loaders/legacy/legacy-glTF.d.ts +2 -0
  415. package/node_modules/@babylonjs/loaders/legacy/legacy-glTF.js +18 -0
  416. package/node_modules/@babylonjs/loaders/legacy/legacy-glTF1.d.ts +2 -0
  417. package/node_modules/@babylonjs/loaders/legacy/legacy-glTF1.js +15 -0
  418. package/node_modules/@babylonjs/loaders/legacy/legacy-glTF1FileLoader.d.ts +2 -0
  419. package/node_modules/@babylonjs/loaders/legacy/legacy-glTF1FileLoader.js +3 -0
  420. package/node_modules/@babylonjs/loaders/legacy/legacy-glTF2.d.ts +2 -0
  421. package/node_modules/@babylonjs/loaders/legacy/legacy-glTF2.js +34 -0
  422. package/node_modules/@babylonjs/loaders/legacy/legacy-glTF2FileLoader.d.ts +2 -0
  423. package/node_modules/@babylonjs/loaders/legacy/legacy-glTF2FileLoader.js +3 -0
  424. package/node_modules/@babylonjs/loaders/legacy/legacy-glTFFileLoader.d.ts +3 -0
  425. package/node_modules/@babylonjs/loaders/legacy/legacy-glTFFileLoader.js +4 -0
  426. package/node_modules/@babylonjs/loaders/legacy/legacy-objFileLoader.d.ts +1 -0
  427. package/node_modules/@babylonjs/loaders/legacy/legacy-objFileLoader.js +15 -0
  428. package/node_modules/@babylonjs/loaders/legacy/legacy-stlFileLoader.d.ts +1 -0
  429. package/node_modules/@babylonjs/loaders/legacy/legacy-stlFileLoader.js +15 -0
  430. package/node_modules/@babylonjs/loaders/legacy/legacy.d.ts +8 -0
  431. package/node_modules/@babylonjs/loaders/legacy/legacy.js +10 -0
  432. package/node_modules/@babylonjs/loaders/license.md +71 -0
  433. package/node_modules/@babylonjs/loaders/package.json +49 -0
  434. package/node_modules/@babylonjs/loaders/readme.md +23 -0
  435. package/node_modules/@fps-games/babylon-renderer/dist/game-world-plugin-lifecycle.d.ts +22 -0
  436. package/node_modules/@fps-games/babylon-renderer/dist/game-world-plugin-lifecycle.d.ts.map +1 -0
  437. package/node_modules/@fps-games/babylon-renderer/dist/game-world-plugin-lifecycle.js +187 -0
  438. package/node_modules/@fps-games/babylon-renderer/dist/game-world-plugin-lifecycle.js.map +1 -0
  439. package/node_modules/@fps-games/babylon-renderer/dist/index.d.ts +3 -0
  440. package/node_modules/@fps-games/babylon-renderer/dist/index.d.ts.map +1 -1
  441. package/node_modules/@fps-games/babylon-renderer/dist/index.js +3 -0
  442. package/node_modules/@fps-games/babylon-renderer/dist/index.js.map +1 -1
  443. package/node_modules/@fps-games/babylon-renderer/dist/material-owner-candidates.d.ts +19 -0
  444. package/node_modules/@fps-games/babylon-renderer/dist/material-owner-candidates.d.ts.map +1 -0
  445. package/node_modules/@fps-games/babylon-renderer/dist/material-owner-candidates.js +212 -0
  446. package/node_modules/@fps-games/babylon-renderer/dist/material-owner-candidates.js.map +1 -0
  447. package/node_modules/@fps-games/babylon-renderer/dist/plugin.d.ts +17 -2
  448. package/node_modules/@fps-games/babylon-renderer/dist/plugin.d.ts.map +1 -1
  449. package/node_modules/@fps-games/babylon-renderer/dist/plugin.js +192 -17
  450. package/node_modules/@fps-games/babylon-renderer/dist/plugin.js.map +1 -1
  451. package/node_modules/@fps-games/babylon-renderer/dist/post-process/babylon-default-pipeline.d.ts +2 -0
  452. package/node_modules/@fps-games/babylon-renderer/dist/post-process/babylon-default-pipeline.d.ts.map +1 -1
  453. package/node_modules/@fps-games/babylon-renderer/dist/post-process/babylon-default-pipeline.js +139 -3
  454. package/node_modules/@fps-games/babylon-renderer/dist/post-process/babylon-default-pipeline.js.map +1 -1
  455. package/node_modules/@fps-games/babylon-renderer/dist/post-process/types.d.ts +4 -0
  456. package/node_modules/@fps-games/babylon-renderer/dist/post-process/types.d.ts.map +1 -1
  457. package/node_modules/@fps-games/babylon-renderer/dist/post-process/types.js.map +1 -1
  458. package/node_modules/@fps-games/babylon-renderer/dist/shadows/dynamic-shadow-system.d.ts +1 -0
  459. package/node_modules/@fps-games/babylon-renderer/dist/shadows/dynamic-shadow-system.d.ts.map +1 -1
  460. package/node_modules/@fps-games/babylon-renderer/dist/shadows/dynamic-shadow-system.js +1 -0
  461. package/node_modules/@fps-games/babylon-renderer/dist/shadows/dynamic-shadow-system.js.map +1 -1
  462. package/node_modules/@fps-games/babylon-renderer/dist/shadows/shadow-generator-shaders.d.ts +14 -0
  463. package/node_modules/@fps-games/babylon-renderer/dist/shadows/shadow-generator-shaders.d.ts.map +1 -0
  464. package/node_modules/@fps-games/babylon-renderer/dist/shadows/shadow-generator-shaders.js +14 -0
  465. package/node_modules/@fps-games/babylon-renderer/dist/shadows/shadow-generator-shaders.js.map +1 -0
  466. package/node_modules/@fps-games/babylon-renderer/dist/shadows/shadow-map-experiment-depth-backend.d.ts +59 -0
  467. package/node_modules/@fps-games/babylon-renderer/dist/shadows/shadow-map-experiment-depth-backend.d.ts.map +1 -0
  468. package/node_modules/@fps-games/babylon-renderer/dist/shadows/shadow-map-experiment-depth-backend.js +725 -0
  469. package/node_modules/@fps-games/babylon-renderer/dist/shadows/shadow-map-experiment-depth-backend.js.map +1 -0
  470. package/node_modules/@fps-games/babylon-renderer/dist/shadows/shadow-map-experiment-system.d.ts +136 -0
  471. package/node_modules/@fps-games/babylon-renderer/dist/shadows/shadow-map-experiment-system.d.ts.map +1 -0
  472. package/node_modules/@fps-games/babylon-renderer/dist/shadows/shadow-map-experiment-system.js +2735 -0
  473. package/node_modules/@fps-games/babylon-renderer/dist/shadows/shadow-map-experiment-system.js.map +1 -0
  474. package/node_modules/@fps-games/babylon-renderer/package.json +7 -7
  475. package/node_modules/@fps-games/editor-babylon/dist/camera-controller.js +1 -1
  476. package/node_modules/@fps-games/editor-babylon/dist/camera-controller.js.map +1 -1
  477. package/node_modules/@fps-games/editor-babylon/dist/index.d.ts +2 -1
  478. package/node_modules/@fps-games/editor-babylon/dist/index.d.ts.map +1 -1
  479. package/node_modules/@fps-games/editor-babylon/dist/index.js +2 -1
  480. package/node_modules/@fps-games/editor-babylon/dist/index.js.map +1 -1
  481. package/node_modules/@fps-games/editor-babylon/dist/main-camera-preview.d.ts +2 -0
  482. package/node_modules/@fps-games/editor-babylon/dist/main-camera-preview.d.ts.map +1 -1
  483. package/node_modules/@fps-games/editor-babylon/dist/main-camera-preview.js +59 -6
  484. package/node_modules/@fps-games/editor-babylon/dist/main-camera-preview.js.map +1 -1
  485. package/node_modules/@fps-games/editor-babylon/dist/marker-overlay.js +24 -0
  486. package/node_modules/@fps-games/editor-babylon/dist/marker-overlay.js.map +1 -1
  487. package/node_modules/@fps-games/editor-babylon/dist/material-slot-source-resolver.d.ts.map +1 -1
  488. package/node_modules/@fps-games/editor-babylon/dist/material-slot-source-resolver.js +81 -11
  489. package/node_modules/@fps-games/editor-babylon/dist/material-slot-source-resolver.js.map +1 -1
  490. package/node_modules/@fps-games/editor-babylon/dist/projection-asset-container-importer.js +2 -8
  491. package/node_modules/@fps-games/editor-babylon/dist/projection-asset-container-importer.js.map +1 -1
  492. package/node_modules/@fps-games/editor-babylon/dist/projection.d.ts +26 -5
  493. package/node_modules/@fps-games/editor-babylon/dist/projection.d.ts.map +1 -1
  494. package/node_modules/@fps-games/editor-babylon/dist/projection.js +396 -363
  495. package/node_modules/@fps-games/editor-babylon/dist/projection.js.map +1 -1
  496. package/node_modules/@fps-games/editor-babylon/dist/scene-view-camera-controller.d.ts +4 -0
  497. package/node_modules/@fps-games/editor-babylon/dist/scene-view-camera-controller.d.ts.map +1 -1
  498. package/node_modules/@fps-games/editor-babylon/dist/scene-view-camera-controller.js +76 -10
  499. package/node_modules/@fps-games/editor-babylon/dist/scene-view-camera-controller.js.map +1 -1
  500. package/node_modules/@fps-games/editor-babylon/dist/scene-view-spatial-overlay-controller.d.ts.map +1 -1
  501. package/node_modules/@fps-games/editor-babylon/dist/scene-view-spatial-overlay-controller.js +85 -22
  502. package/node_modules/@fps-games/editor-babylon/dist/scene-view-spatial-overlay-controller.js.map +1 -1
  503. package/node_modules/@fps-games/editor-babylon/dist/selection-identity-pass.d.ts +46 -0
  504. package/node_modules/@fps-games/editor-babylon/dist/selection-identity-pass.d.ts.map +1 -0
  505. package/node_modules/@fps-games/editor-babylon/dist/selection-identity-pass.js +304 -0
  506. package/node_modules/@fps-games/editor-babylon/dist/selection-identity-pass.js.map +1 -0
  507. package/node_modules/@fps-games/editor-babylon/dist/selection-presentation-controller.d.ts +87 -0
  508. package/node_modules/@fps-games/editor-babylon/dist/selection-presentation-controller.d.ts.map +1 -0
  509. package/node_modules/@fps-games/editor-babylon/dist/selection-presentation-controller.js +1746 -0
  510. package/node_modules/@fps-games/editor-babylon/dist/selection-presentation-controller.js.map +1 -0
  511. package/node_modules/@fps-games/editor-babylon/dist/shadow-preview-controller.d.ts +11 -3
  512. package/node_modules/@fps-games/editor-babylon/dist/shadow-preview-controller.d.ts.map +1 -1
  513. package/node_modules/@fps-games/editor-babylon/dist/shadow-preview-controller.js +105 -15
  514. package/node_modules/@fps-games/editor-babylon/dist/shadow-preview-controller.js.map +1 -1
  515. package/node_modules/@fps-games/editor-babylon/dist/transform-gizmo-controller.d.ts +1 -0
  516. package/node_modules/@fps-games/editor-babylon/dist/transform-gizmo-controller.d.ts.map +1 -1
  517. package/node_modules/@fps-games/editor-babylon/dist/transform-gizmo-controller.js +249 -15
  518. package/node_modules/@fps-games/editor-babylon/dist/transform-gizmo-controller.js.map +1 -1
  519. package/node_modules/@fps-games/editor-babylon/dist/types.d.ts +1 -1
  520. package/node_modules/@fps-games/editor-babylon/dist/types.d.ts.map +1 -1
  521. package/node_modules/@fps-games/editor-babylon/dist/types.js.map +1 -1
  522. package/node_modules/@fps-games/editor-babylon/dist/viewport-ground-projection.d.ts +25 -0
  523. package/node_modules/@fps-games/editor-babylon/dist/viewport-ground-projection.d.ts.map +1 -0
  524. package/node_modules/@fps-games/editor-babylon/dist/viewport-ground-projection.js +44 -0
  525. package/node_modules/@fps-games/editor-babylon/dist/viewport-ground-projection.js.map +1 -0
  526. package/node_modules/@fps-games/editor-babylon/package.json +6 -5
  527. package/node_modules/@fps-games/editor-browser/dist/index.d.ts +13 -11
  528. package/node_modules/@fps-games/editor-browser/dist/index.d.ts.map +1 -1
  529. package/node_modules/@fps-games/editor-browser/dist/index.js +9 -9
  530. package/node_modules/@fps-games/editor-browser/dist/index.js.map +1 -1
  531. package/node_modules/@fps-games/editor-browser/dist/local-editor-asset-browser-continuity.d.ts +35 -0
  532. package/node_modules/@fps-games/editor-browser/dist/local-editor-asset-browser-continuity.d.ts.map +1 -0
  533. package/node_modules/@fps-games/editor-browser/dist/local-editor-asset-browser-continuity.js +136 -0
  534. package/node_modules/@fps-games/editor-browser/dist/local-editor-asset-browser-continuity.js.map +1 -0
  535. package/node_modules/@fps-games/editor-browser/dist/local-editor-asset-filesystem.d.ts +46 -0
  536. package/node_modules/@fps-games/editor-browser/dist/local-editor-asset-filesystem.d.ts.map +1 -0
  537. package/node_modules/@fps-games/editor-browser/dist/local-editor-asset-filesystem.js +283 -0
  538. package/node_modules/@fps-games/editor-browser/dist/local-editor-asset-filesystem.js.map +1 -0
  539. package/node_modules/@fps-games/editor-browser/dist/local-editor-clipboard.d.ts +2 -0
  540. package/node_modules/@fps-games/editor-browser/dist/local-editor-clipboard.d.ts.map +1 -0
  541. package/node_modules/@fps-games/editor-browser/dist/local-editor-clipboard.js +36 -0
  542. package/node_modules/@fps-games/editor-browser/dist/local-editor-clipboard.js.map +1 -0
  543. package/node_modules/@fps-games/editor-browser/dist/local-editor-inspector-groups.d.ts +2 -0
  544. package/node_modules/@fps-games/editor-browser/dist/local-editor-inspector-groups.d.ts.map +1 -1
  545. package/node_modules/@fps-games/editor-browser/dist/local-editor-inspector-groups.js +17 -0
  546. package/node_modules/@fps-games/editor-browser/dist/local-editor-inspector-groups.js.map +1 -1
  547. package/node_modules/@fps-games/editor-browser/dist/local-editor-preview-cleanup-registry.d.ts +12 -0
  548. package/node_modules/@fps-games/editor-browser/dist/local-editor-preview-cleanup-registry.d.ts.map +1 -0
  549. package/node_modules/@fps-games/editor-browser/dist/local-editor-preview-cleanup-registry.js +67 -0
  550. package/node_modules/@fps-games/editor-browser/dist/local-editor-preview-cleanup-registry.js.map +1 -0
  551. package/node_modules/@fps-games/editor-browser/dist/local-editor-project-file-open.d.ts +6 -0
  552. package/node_modules/@fps-games/editor-browser/dist/local-editor-project-file-open.d.ts.map +1 -0
  553. package/node_modules/@fps-games/editor-browser/dist/local-editor-project-file-open.js +9 -0
  554. package/node_modules/@fps-games/editor-browser/dist/local-editor-project-file-open.js.map +1 -0
  555. package/node_modules/@fps-games/editor-browser/dist/local-editor-project-file-preview.d.ts +7 -0
  556. package/node_modules/@fps-games/editor-browser/dist/local-editor-project-file-preview.d.ts.map +1 -0
  557. package/node_modules/@fps-games/editor-browser/dist/local-editor-project-file-preview.js +20 -0
  558. package/node_modules/@fps-games/editor-browser/dist/local-editor-project-file-preview.js.map +1 -0
  559. package/node_modules/@fps-games/editor-browser/dist/local-editor-project-media-thumbnail-cache.d.ts +9 -0
  560. package/node_modules/@fps-games/editor-browser/dist/local-editor-project-media-thumbnail-cache.d.ts.map +1 -0
  561. package/node_modules/@fps-games/editor-browser/dist/local-editor-project-media-thumbnail-cache.js +219 -0
  562. package/node_modules/@fps-games/editor-browser/dist/local-editor-project-media-thumbnail-cache.js.map +1 -0
  563. package/node_modules/@fps-games/editor-browser/dist/local-editor-tool-presentation.d.ts +14 -0
  564. package/node_modules/@fps-games/editor-browser/dist/local-editor-tool-presentation.d.ts.map +1 -0
  565. package/node_modules/@fps-games/editor-browser/dist/local-editor-tool-presentation.js +42 -0
  566. package/node_modules/@fps-games/editor-browser/dist/local-editor-tool-presentation.js.map +1 -0
  567. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-asset-kind.d.ts +1 -1
  568. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-asset-kind.d.ts.map +1 -1
  569. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-asset-kind.js +8 -0
  570. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-asset-kind.js.map +1 -1
  571. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-console.d.ts +27 -0
  572. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-console.d.ts.map +1 -0
  573. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-console.js +288 -0
  574. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-console.js.map +1 -0
  575. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-context-menu.d.ts.map +1 -1
  576. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-context-menu.js +157 -77
  577. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-context-menu.js.map +1 -1
  578. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-dock-panel.d.ts.map +1 -1
  579. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-dock-panel.js +27 -21
  580. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-dock-panel.js.map +1 -1
  581. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-formal-surface-visibility.d.ts +19 -0
  582. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-formal-surface-visibility.d.ts.map +1 -0
  583. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-formal-surface-visibility.js +44 -0
  584. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-formal-surface-visibility.js.map +1 -0
  585. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-controller.d.ts +36 -6
  586. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-controller.d.ts.map +1 -1
  587. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-controller.js +829 -866
  588. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-controller.js.map +1 -1
  589. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-drag-policy.d.ts +8 -7
  590. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-drag-policy.d.ts.map +1 -1
  591. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-drag-policy.js +1 -7
  592. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-drag-policy.js.map +1 -1
  593. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-view-adapter.d.ts +7 -0
  594. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-view-adapter.d.ts.map +1 -0
  595. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-view-adapter.js +20 -0
  596. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-view-adapter.js.map +1 -0
  597. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-view.d.ts +6 -7
  598. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-view.d.ts.map +1 -1
  599. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-view.js +266 -114
  600. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-view.js.map +1 -1
  601. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-icons.d.ts +1 -1
  602. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-icons.d.ts.map +1 -1
  603. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-icons.js +34 -0
  604. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-icons.js.map +1 -1
  605. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-input-router.d.ts.map +1 -1
  606. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-input-router.js +3 -17
  607. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-input-router.js.map +1 -1
  608. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-modal-dialog.d.ts +14 -0
  609. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-modal-dialog.d.ts.map +1 -1
  610. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-modal-dialog.js +44 -62
  611. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-modal-dialog.js.map +1 -1
  612. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-panels.d.ts +30 -8
  613. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-panels.d.ts.map +1 -1
  614. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-panels.js +911 -698
  615. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-panels.js.map +1 -1
  616. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-prefab-stage.d.ts +10 -37
  617. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-prefab-stage.d.ts.map +1 -1
  618. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-prefab-stage.js +29 -105
  619. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-prefab-stage.js.map +1 -1
  620. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-primitives.d.ts.map +1 -1
  621. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-primitives.js +29 -110
  622. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-primitives.js.map +1 -1
  623. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-shared.d.ts +1 -3
  624. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-shared.d.ts.map +1 -1
  625. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-shared.js +6 -90
  626. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-shared.js.map +1 -1
  627. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-shortcuts.d.ts.map +1 -1
  628. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-shortcuts.js +9 -54
  629. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-shortcuts.js.map +1 -1
  630. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-status-diagnostics.d.ts +16 -1
  631. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-status-diagnostics.d.ts.map +1 -1
  632. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-status-diagnostics.js +44 -39
  633. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-status-diagnostics.js.map +1 -1
  634. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-status-format.d.ts +4 -0
  635. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-status-format.d.ts.map +1 -0
  636. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-status-format.js +44 -0
  637. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-status-format.js.map +1 -0
  638. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-structured-drag-policy.d.ts.map +1 -1
  639. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-structured-drag-policy.js +35 -44
  640. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-structured-drag-policy.js.map +1 -1
  641. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-theme.d.ts.map +1 -1
  642. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-theme.js +40 -24
  643. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-theme.js.map +1 -1
  644. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-tooltip.d.ts.map +1 -1
  645. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-tooltip.js +2 -20
  646. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-tooltip.js.map +1 -1
  647. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-types.d.ts +114 -343
  648. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-types.d.ts.map +1 -1
  649. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-types.js.map +1 -1
  650. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-workbench.d.ts +13 -14
  651. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-workbench.d.ts.map +1 -1
  652. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-workbench.js +120 -134
  653. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-workbench.js.map +1 -1
  654. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui.d.ts +6 -10
  655. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui.d.ts.map +1 -1
  656. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui.js +2019 -861
  657. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui.js.map +1 -1
  658. package/node_modules/@fps-games/editor-browser/dist/local-editor-viewport-orientation.d.ts +13 -0
  659. package/node_modules/@fps-games/editor-browser/dist/local-editor-viewport-orientation.d.ts.map +1 -0
  660. package/node_modules/@fps-games/editor-browser/dist/local-editor-viewport-orientation.js +15 -0
  661. package/node_modules/@fps-games/editor-browser/dist/local-editor-viewport-orientation.js.map +1 -0
  662. package/node_modules/@fps-games/editor-browser/dist/plugin-contributions.d.ts +2 -3
  663. package/node_modules/@fps-games/editor-browser/dist/plugin-contributions.d.ts.map +1 -1
  664. package/node_modules/@fps-games/editor-browser/dist/plugin-contributions.js +0 -180
  665. package/node_modules/@fps-games/editor-browser/dist/plugin-contributions.js.map +1 -1
  666. package/node_modules/@fps-games/editor-browser/dist/runtime-debug.d.ts +5 -0
  667. package/node_modules/@fps-games/editor-browser/dist/runtime-debug.d.ts.map +1 -0
  668. package/node_modules/@fps-games/editor-browser/dist/runtime-debug.js +5 -0
  669. package/node_modules/@fps-games/editor-browser/dist/runtime-debug.js.map +1 -0
  670. package/node_modules/@fps-games/editor-browser/package.json +15 -4
  671. package/node_modules/@fps-games/editor-core/dist/editor-diagnostic-store.d.ts +22 -0
  672. package/node_modules/@fps-games/editor-core/dist/editor-diagnostic-store.d.ts.map +1 -0
  673. package/node_modules/@fps-games/editor-core/dist/editor-diagnostic-store.js +226 -0
  674. package/node_modules/@fps-games/editor-core/dist/editor-diagnostic-store.js.map +1 -0
  675. package/node_modules/@fps-games/editor-core/dist/editor-plugin-host.d.ts +6 -1
  676. package/node_modules/@fps-games/editor-core/dist/editor-plugin-host.d.ts.map +1 -1
  677. package/node_modules/@fps-games/editor-core/dist/editor-plugin-host.js +94 -2
  678. package/node_modules/@fps-games/editor-core/dist/editor-plugin-host.js.map +1 -1
  679. package/node_modules/@fps-games/editor-core/dist/editor-session.d.ts +24 -2
  680. package/node_modules/@fps-games/editor-core/dist/editor-session.d.ts.map +1 -1
  681. package/node_modules/@fps-games/editor-core/dist/editor-session.js +70 -10
  682. package/node_modules/@fps-games/editor-core/dist/editor-session.js.map +1 -1
  683. package/node_modules/@fps-games/editor-core/dist/editor-tools.d.ts +113 -0
  684. package/node_modules/@fps-games/editor-core/dist/editor-tools.d.ts.map +1 -0
  685. package/node_modules/@fps-games/editor-core/dist/editor-tools.js +615 -0
  686. package/node_modules/@fps-games/editor-core/dist/editor-tools.js.map +1 -0
  687. package/node_modules/@fps-games/editor-core/dist/inspector.d.ts +46 -0
  688. package/node_modules/@fps-games/editor-core/dist/inspector.d.ts.map +1 -1
  689. package/node_modules/@fps-games/editor-core/dist/inspector.js +62 -0
  690. package/node_modules/@fps-games/editor-core/dist/inspector.js.map +1 -1
  691. package/node_modules/@fps-games/editor-core/dist/scene-graph.d.ts +1 -0
  692. package/node_modules/@fps-games/editor-core/dist/scene-graph.d.ts.map +1 -1
  693. package/node_modules/@fps-games/editor-core/dist/scene-graph.js.map +1 -1
  694. package/node_modules/@fps-games/editor-core/dist/viewport-tools.d.ts +11 -2
  695. package/node_modules/@fps-games/editor-core/dist/viewport-tools.d.ts.map +1 -1
  696. package/node_modules/@fps-games/editor-core/dist/viewport-tools.js +12 -1
  697. package/node_modules/@fps-games/editor-core/dist/viewport-tools.js.map +1 -1
  698. package/node_modules/@fps-games/editor-core/package.json +14 -6
  699. package/node_modules/@fps-games/editor-forge-play/package.json +2 -2
  700. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/metadata.js +14 -3
  701. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/metadata.js.map +1 -1
  702. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/node.d.ts +1 -1
  703. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/node.d.ts.map +1 -1
  704. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/node.js +1 -1
  705. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/node.js.map +1 -1
  706. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/registry.d.ts +14 -0
  707. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/registry.d.ts.map +1 -1
  708. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/registry.js +49 -1
  709. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/registry.js.map +1 -1
  710. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/catalog.d.ts +1 -0
  711. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/catalog.d.ts.map +1 -1
  712. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/catalog.js +63 -2
  713. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/catalog.js.map +1 -1
  714. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/document.d.ts.map +1 -1
  715. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/document.js +48 -6
  716. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/document.js.map +1 -1
  717. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/index.d.ts +1 -1
  718. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/index.d.ts.map +1 -1
  719. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/index.js +1 -1
  720. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/index.js.map +1 -1
  721. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-server/handler.d.ts.map +1 -1
  722. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-server/handler.js +15 -1
  723. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-server/handler.js.map +1 -1
  724. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-server/routes.d.ts.map +1 -1
  725. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-server/routes.js +3 -0
  726. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-server/routes.js.map +1 -1
  727. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-server/types.d.ts +6 -1
  728. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-server/types.d.ts.map +1 -1
  729. package/node_modules/@fps-games/editor-playable-sdk/dist/authoring-server/types.js.map +1 -1
  730. package/node_modules/@fps-games/editor-playable-sdk/dist/document/helpers.d.ts +28 -3
  731. package/node_modules/@fps-games/editor-playable-sdk/dist/document/helpers.d.ts.map +1 -1
  732. package/node_modules/@fps-games/editor-playable-sdk/dist/document/helpers.js +314 -6
  733. package/node_modules/@fps-games/editor-playable-sdk/dist/document/helpers.js.map +1 -1
  734. package/node_modules/@fps-games/editor-playable-sdk/dist/document/index.d.ts +2 -0
  735. package/node_modules/@fps-games/editor-playable-sdk/dist/document/index.d.ts.map +1 -1
  736. package/node_modules/@fps-games/editor-playable-sdk/dist/document/index.js +2 -0
  737. package/node_modules/@fps-games/editor-playable-sdk/dist/document/index.js.map +1 -1
  738. package/node_modules/@fps-games/editor-playable-sdk/dist/document/prefab-instance-identity.d.ts +11 -0
  739. package/node_modules/@fps-games/editor-playable-sdk/dist/document/prefab-instance-identity.d.ts.map +1 -0
  740. package/node_modules/@fps-games/editor-playable-sdk/dist/document/prefab-instance-identity.js +27 -0
  741. package/node_modules/@fps-games/editor-playable-sdk/dist/document/prefab-instance-identity.js.map +1 -0
  742. package/node_modules/@fps-games/editor-playable-sdk/dist/document/prefab-marker.d.ts +5 -0
  743. package/node_modules/@fps-games/editor-playable-sdk/dist/document/prefab-marker.d.ts.map +1 -0
  744. package/node_modules/@fps-games/editor-playable-sdk/dist/document/prefab-marker.js +285 -0
  745. package/node_modules/@fps-games/editor-playable-sdk/dist/document/prefab-marker.js.map +1 -0
  746. package/node_modules/@fps-games/editor-playable-sdk/dist/document/types.d.ts +7 -3
  747. package/node_modules/@fps-games/editor-playable-sdk/dist/document/types.d.ts.map +1 -1
  748. package/node_modules/@fps-games/editor-playable-sdk/dist/document/types.js.map +1 -1
  749. package/node_modules/@fps-games/editor-playable-sdk/dist/index.d.ts +4 -0
  750. package/node_modules/@fps-games/editor-playable-sdk/dist/index.d.ts.map +1 -1
  751. package/node_modules/@fps-games/editor-playable-sdk/dist/index.js +7 -0
  752. package/node_modules/@fps-games/editor-playable-sdk/dist/index.js.map +1 -1
  753. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/document-sections.d.ts.map +1 -1
  754. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/document-sections.js +23 -81
  755. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/document-sections.js.map +1 -1
  756. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/editor-entry-manifest.d.ts +41 -0
  757. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/editor-entry-manifest.d.ts.map +1 -0
  758. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/editor-entry-manifest.js +93 -0
  759. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/editor-entry-manifest.js.map +1 -0
  760. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/editor-entry-module.d.ts +29 -0
  761. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/editor-entry-module.d.ts.map +1 -0
  762. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/editor-entry-module.js +77 -0
  763. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/editor-entry-module.js.map +1 -0
  764. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/editor-entry-performance.d.ts +51 -0
  765. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/editor-entry-performance.d.ts.map +1 -0
  766. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/editor-entry-performance.js +105 -0
  767. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/editor-entry-performance.js.map +1 -0
  768. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/editor-entry.d.ts +60 -0
  769. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/editor-entry.d.ts.map +1 -0
  770. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/editor-entry.js +287 -0
  771. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/editor-entry.js.map +1 -0
  772. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/forge-play-types.d.ts +6 -1
  773. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/forge-play-types.d.ts.map +1 -1
  774. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/forge-play-types.js.map +1 -1
  775. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/forge-play.d.ts +1 -0
  776. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/forge-play.d.ts.map +1 -1
  777. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/forge-play.js +53 -17
  778. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/forge-play.js.map +1 -1
  779. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/host-controller.d.ts +16 -8
  780. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/host-controller.d.ts.map +1 -1
  781. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/host-controller.js +10 -6
  782. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/host-controller.js.map +1 -1
  783. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/index.d.ts +5 -3
  784. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/index.d.ts.map +1 -1
  785. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/index.js +2 -1
  786. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/index.js.map +1 -1
  787. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/lifecycle.d.ts.map +1 -1
  788. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/lifecycle.js +134 -66
  789. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/lifecycle.js.map +1 -1
  790. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/project-asset-commands.d.ts +11 -0
  791. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/project-asset-commands.d.ts.map +1 -1
  792. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/project-asset-commands.js +21 -14
  793. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/project-asset-commands.js.map +1 -1
  794. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/types.d.ts +17 -9
  795. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/types.d.ts.map +1 -1
  796. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/types.js.map +1 -1
  797. package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/field-patch.d.ts.map +1 -1
  798. package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/field-patch.js +20 -0
  799. package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/field-patch.js.map +1 -1
  800. package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/reducer.d.ts.map +1 -1
  801. package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/reducer.js +49 -10
  802. package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/reducer.js.map +1 -1
  803. package/node_modules/@fps-games/editor-playable-sdk/dist/package-resolution/aliases.d.ts +2 -2
  804. package/node_modules/@fps-games/editor-playable-sdk/dist/package-resolution/aliases.d.ts.map +1 -1
  805. package/node_modules/@fps-games/editor-playable-sdk/dist/package-resolution/aliases.js +18 -0
  806. package/node_modules/@fps-games/editor-playable-sdk/dist/package-resolution/aliases.js.map +1 -1
  807. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/action-patches.d.ts +7 -0
  808. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/action-patches.d.ts.map +1 -1
  809. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/action-patches.js +130 -20
  810. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/action-patches.js.map +1 -1
  811. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/assets.d.ts +1 -1
  812. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/assets.d.ts.map +1 -1
  813. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/assets.js +12 -3
  814. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/assets.js.map +1 -1
  815. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/derived-markers.d.ts +11 -0
  816. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/derived-markers.d.ts.map +1 -0
  817. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/derived-markers.js +136 -0
  818. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/derived-markers.js.map +1 -0
  819. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/index.d.ts +1 -0
  820. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/index.d.ts.map +1 -1
  821. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/index.js +1 -0
  822. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/index.js.map +1 -1
  823. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/projection.d.ts +36 -51
  824. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/projection.d.ts.map +1 -1
  825. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/projection.js +40 -65
  826. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/projection.js.map +1 -1
  827. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/stage-inspector.d.ts +5 -2
  828. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/stage-inspector.d.ts.map +1 -1
  829. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/stage-inspector.js +207 -1
  830. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/stage-inspector.js.map +1 -1
  831. package/node_modules/@fps-games/editor-playable-sdk/dist/product/index.d.ts +1 -0
  832. package/node_modules/@fps-games/editor-playable-sdk/dist/product/index.d.ts.map +1 -1
  833. package/node_modules/@fps-games/editor-playable-sdk/dist/product/index.js +3 -0
  834. package/node_modules/@fps-games/editor-playable-sdk/dist/product/index.js.map +1 -1
  835. package/node_modules/@fps-games/editor-playable-sdk/dist/product/project-host-services.d.ts +18 -7
  836. package/node_modules/@fps-games/editor-playable-sdk/dist/product/project-host-services.d.ts.map +1 -1
  837. package/node_modules/@fps-games/editor-playable-sdk/dist/product/project-host-services.js +110 -18
  838. package/node_modules/@fps-games/editor-playable-sdk/dist/product/project-host-services.js.map +1 -1
  839. package/node_modules/@fps-games/editor-playable-sdk/dist/product/scene-source.d.ts +9 -0
  840. package/node_modules/@fps-games/editor-playable-sdk/dist/product/scene-source.d.ts.map +1 -1
  841. package/node_modules/@fps-games/editor-playable-sdk/dist/product/scene-source.js +16 -1
  842. package/node_modules/@fps-games/editor-playable-sdk/dist/product/scene-source.js.map +1 -1
  843. package/node_modules/@fps-games/editor-playable-sdk/dist/product/standard-scene-assembly.d.ts +5 -2
  844. package/node_modules/@fps-games/editor-playable-sdk/dist/product/standard-scene-assembly.d.ts.map +1 -1
  845. package/node_modules/@fps-games/editor-playable-sdk/dist/product/standard-scene-assembly.js +22 -2
  846. package/node_modules/@fps-games/editor-playable-sdk/dist/product/standard-scene-assembly.js.map +1 -1
  847. package/node_modules/@fps-games/editor-playable-sdk/dist/project-files/index.d.ts +4 -0
  848. package/node_modules/@fps-games/editor-playable-sdk/dist/project-files/index.d.ts.map +1 -0
  849. package/node_modules/@fps-games/editor-playable-sdk/dist/project-files/index.js +4 -0
  850. package/node_modules/@fps-games/editor-playable-sdk/dist/project-files/index.js.map +1 -0
  851. package/node_modules/@fps-games/editor-playable-sdk/dist/project-files/protocol.d.ts +4 -0
  852. package/node_modules/@fps-games/editor-playable-sdk/dist/project-files/protocol.d.ts.map +1 -0
  853. package/node_modules/@fps-games/editor-playable-sdk/dist/project-files/protocol.js +86 -0
  854. package/node_modules/@fps-games/editor-playable-sdk/dist/project-files/protocol.js.map +1 -0
  855. package/node_modules/@fps-games/editor-playable-sdk/dist/project-files/support.d.ts +9 -0
  856. package/node_modules/@fps-games/editor-playable-sdk/dist/project-files/support.d.ts.map +1 -0
  857. package/node_modules/@fps-games/editor-playable-sdk/dist/project-files/support.js +76 -0
  858. package/node_modules/@fps-games/editor-playable-sdk/dist/project-files/support.js.map +1 -0
  859. package/node_modules/@fps-games/editor-playable-sdk/dist/project-files/types.d.ts +34 -0
  860. package/node_modules/@fps-games/editor-playable-sdk/dist/project-files/types.d.ts.map +1 -0
  861. package/node_modules/@fps-games/editor-playable-sdk/dist/project-files/types.js +2 -0
  862. package/node_modules/@fps-games/editor-playable-sdk/dist/project-files/types.js.map +1 -0
  863. package/node_modules/@fps-games/editor-playable-sdk/dist/rendering-profile/panel.d.ts.map +1 -1
  864. package/node_modules/@fps-games/editor-playable-sdk/dist/rendering-profile/panel.js +144 -0
  865. package/node_modules/@fps-games/editor-playable-sdk/dist/rendering-profile/panel.js.map +1 -1
  866. package/node_modules/@fps-games/editor-playable-sdk/dist/rendering-profile/types.d.ts +16 -0
  867. package/node_modules/@fps-games/editor-playable-sdk/dist/rendering-profile/types.d.ts.map +1 -1
  868. package/node_modules/@fps-games/editor-playable-sdk/dist/rendering-profile/types.js.map +1 -1
  869. package/node_modules/@fps-games/editor-playable-sdk/dist/runtime-preview/nodes.d.ts.map +1 -1
  870. package/node_modules/@fps-games/editor-playable-sdk/dist/runtime-preview/nodes.js +1 -0
  871. package/node_modules/@fps-games/editor-playable-sdk/dist/runtime-preview/nodes.js.map +1 -1
  872. package/node_modules/@fps-games/editor-playable-sdk/dist/runtime-preview/types.d.ts +2 -1
  873. package/node_modules/@fps-games/editor-playable-sdk/dist/runtime-preview/types.d.ts.map +1 -1
  874. package/node_modules/@fps-games/editor-playable-sdk/dist/runtime-preview/types.js.map +1 -1
  875. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/compiler.d.ts +2 -0
  876. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/compiler.d.ts.map +1 -1
  877. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/compiler.js +241 -13
  878. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/compiler.js.map +1 -1
  879. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/index.d.ts +1 -0
  880. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/index.d.ts.map +1 -1
  881. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/index.js +1 -0
  882. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/index.js.map +1 -1
  883. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/shadow-map-experiment-migration.d.ts +31 -0
  884. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/shadow-map-experiment-migration.d.ts.map +1 -0
  885. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/shadow-map-experiment-migration.js +170 -0
  886. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/shadow-map-experiment-migration.js.map +1 -0
  887. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/types.d.ts +153 -13
  888. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/types.d.ts.map +1 -1
  889. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/types.js.map +1 -1
  890. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/validation.d.ts +17 -0
  891. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/validation.d.ts.map +1 -1
  892. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/validation.js +1295 -3
  893. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/validation.js.map +1 -1
  894. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/client.d.ts +4 -0
  895. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/client.d.ts.map +1 -1
  896. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/client.js +54 -0
  897. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/client.js.map +1 -1
  898. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/driver.d.ts.map +1 -1
  899. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/driver.js +57 -34
  900. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/driver.js.map +1 -1
  901. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/protocol.d.ts.map +1 -1
  902. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/protocol.js +4 -1
  903. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/protocol.js.map +1 -1
  904. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/types.d.ts +4 -0
  905. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/types.d.ts.map +1 -1
  906. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/types.js.map +1 -1
  907. package/node_modules/@fps-games/editor-playable-sdk/dist/serialized-property/inspector.d.ts.map +1 -1
  908. package/node_modules/@fps-games/editor-playable-sdk/dist/serialized-property/inspector.js +20 -198
  909. package/node_modules/@fps-games/editor-playable-sdk/dist/serialized-property/inspector.js.map +1 -1
  910. package/node_modules/@fps-games/editor-playable-sdk/dist/session/hierarchy-facade.d.ts.map +1 -1
  911. package/node_modules/@fps-games/editor-playable-sdk/dist/session/hierarchy-facade.js +5 -1
  912. package/node_modules/@fps-games/editor-playable-sdk/dist/session/hierarchy-facade.js.map +1 -1
  913. package/node_modules/@fps-games/editor-playable-sdk/dist/session/patches.d.ts +5 -0
  914. package/node_modules/@fps-games/editor-playable-sdk/dist/session/patches.d.ts.map +1 -1
  915. package/node_modules/@fps-games/editor-playable-sdk/dist/session/patches.js +144 -8
  916. package/node_modules/@fps-games/editor-playable-sdk/dist/session/patches.js.map +1 -1
  917. package/node_modules/@fps-games/editor-playable-sdk/dist/session/reducer-core.d.ts +1 -1
  918. package/node_modules/@fps-games/editor-playable-sdk/dist/session/reducer-core.d.ts.map +1 -1
  919. package/node_modules/@fps-games/editor-playable-sdk/dist/session/reducer-core.js +30 -1
  920. package/node_modules/@fps-games/editor-playable-sdk/dist/session/reducer-core.js.map +1 -1
  921. package/node_modules/@fps-games/editor-playable-sdk/dist/session/types.d.ts +6 -0
  922. package/node_modules/@fps-games/editor-playable-sdk/dist/session/types.d.ts.map +1 -1
  923. package/node_modules/@fps-games/editor-playable-sdk/dist/session/types.js.map +1 -1
  924. package/node_modules/@fps-games/editor-playable-sdk/dist/upgrade-doctor/inspectors.js +31 -3
  925. package/node_modules/@fps-games/editor-playable-sdk/dist/upgrade-doctor/inspectors.js.map +1 -1
  926. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/editor-scene-workflow.d.ts +5 -2
  927. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/editor-scene-workflow.d.ts.map +1 -1
  928. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/editor-scene-workflow.js +40 -4
  929. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/editor-scene-workflow.js.map +1 -1
  930. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/index.d.ts +1 -0
  931. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/index.d.ts.map +1 -1
  932. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/index.js +1 -0
  933. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/index.js.map +1 -1
  934. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/plugin.d.ts.map +1 -1
  935. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/plugin.js +116 -3
  936. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/plugin.js.map +1 -1
  937. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-adapter.d.ts +2 -1
  938. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-adapter.d.ts.map +1 -1
  939. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-adapter.js +1 -0
  940. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-adapter.js.map +1 -1
  941. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-asset-authoring.d.ts +17 -1
  942. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-asset-authoring.d.ts.map +1 -1
  943. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-asset-authoring.js +50 -2
  944. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-asset-authoring.js.map +1 -1
  945. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-authoring-api.d.ts +1 -0
  946. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-authoring-api.d.ts.map +1 -1
  947. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-authoring-api.js +101 -5
  948. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-authoring-api.js.map +1 -1
  949. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-scene-authoring.d.ts +5 -6
  950. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-scene-authoring.d.ts.map +1 -1
  951. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-scene-authoring.js +31 -17
  952. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-scene-authoring.js.map +1 -1
  953. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/project-file-handle.d.ts +14 -0
  954. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/project-file-handle.d.ts.map +1 -0
  955. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/project-file-handle.js +101 -0
  956. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/project-file-handle.js.map +1 -0
  957. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/project-files.d.ts +23 -0
  958. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/project-files.d.ts.map +1 -0
  959. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/project-files.js +180 -0
  960. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/project-files.js.map +1 -0
  961. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/types.d.ts +6 -0
  962. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/types.d.ts.map +1 -1
  963. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/types.js.map +1 -1
  964. package/node_modules/@fps-games/editor-playable-sdk/package.json +6 -6
  965. package/node_modules/@fps-games/editor-protocol/dist/agent-bridge.d.ts +417 -2
  966. package/node_modules/@fps-games/editor-protocol/dist/agent-bridge.d.ts.map +1 -1
  967. package/node_modules/@fps-games/editor-protocol/dist/agent-bridge.js +692 -2
  968. package/node_modules/@fps-games/editor-protocol/dist/agent-bridge.js.map +1 -1
  969. package/node_modules/@fps-games/editor-protocol/dist/agent.d.ts +23 -3
  970. package/node_modules/@fps-games/editor-protocol/dist/agent.d.ts.map +1 -1
  971. package/node_modules/@fps-games/editor-protocol/dist/agent.js.map +1 -1
  972. package/node_modules/@fps-games/editor-protocol/dist/editor-diagnostics.d.ts +55 -0
  973. package/node_modules/@fps-games/editor-protocol/dist/editor-diagnostics.d.ts.map +1 -0
  974. package/node_modules/@fps-games/editor-protocol/dist/editor-diagnostics.js +2 -0
  975. package/node_modules/@fps-games/editor-protocol/dist/editor-diagnostics.js.map +1 -0
  976. package/node_modules/@fps-games/editor-protocol/dist/index.d.ts +3 -18
  977. package/node_modules/@fps-games/editor-protocol/dist/index.d.ts.map +1 -1
  978. package/node_modules/@fps-games/editor-protocol/dist/index.js +1 -0
  979. package/node_modules/@fps-games/editor-protocol/dist/index.js.map +1 -1
  980. package/node_modules/@fps-games/editor-protocol/package.json +2 -2
  981. package/node_modules/@fps-games/editor-tooling/dist/package-metadata-node.d.ts.map +1 -1
  982. package/node_modules/@fps-games/editor-tooling/dist/package-metadata-node.js +5 -0
  983. package/node_modules/@fps-games/editor-tooling/dist/package-metadata-node.js.map +1 -1
  984. package/node_modules/@fps-games/editor-tooling/dist/vite.d.ts.map +1 -1
  985. package/node_modules/@fps-games/editor-tooling/dist/vite.js +151 -5
  986. package/node_modules/@fps-games/editor-tooling/dist/vite.js.map +1 -1
  987. package/node_modules/@fps-games/editor-tooling/package.json +3 -3
  988. package/node_modules/@fps-games/editor-ui/dist/editor-ui-controls.d.ts +107 -0
  989. package/node_modules/@fps-games/editor-ui/dist/editor-ui-controls.d.ts.map +1 -0
  990. package/node_modules/@fps-games/editor-ui/dist/editor-ui-controls.js +770 -0
  991. package/node_modules/@fps-games/editor-ui/dist/editor-ui-controls.js.map +1 -0
  992. package/node_modules/@fps-games/editor-ui/dist/editor-ui-layer-host.d.ts +21 -0
  993. package/node_modules/@fps-games/editor-ui/dist/editor-ui-layer-host.d.ts.map +1 -0
  994. package/node_modules/@fps-games/editor-ui/dist/editor-ui-layer-host.js +172 -0
  995. package/node_modules/@fps-games/editor-ui/dist/editor-ui-layer-host.js.map +1 -0
  996. package/node_modules/@fps-games/editor-ui/dist/editor-ui-shell.d.ts +14 -0
  997. package/node_modules/@fps-games/editor-ui/dist/editor-ui-shell.d.ts.map +1 -0
  998. package/node_modules/@fps-games/editor-ui/dist/editor-ui-shell.js +32 -0
  999. package/node_modules/@fps-games/editor-ui/dist/editor-ui-shell.js.map +1 -0
  1000. package/node_modules/@fps-games/editor-ui/dist/editor-ui-theme.d.ts +3 -0
  1001. package/node_modules/@fps-games/editor-ui/dist/editor-ui-theme.d.ts.map +1 -0
  1002. package/node_modules/@fps-games/editor-ui/dist/editor-ui-theme.js +746 -0
  1003. package/node_modules/@fps-games/editor-ui/dist/editor-ui-theme.js.map +1 -0
  1004. package/node_modules/@fps-games/editor-ui/dist/gallery.d.ts +3 -0
  1005. package/node_modules/@fps-games/editor-ui/dist/gallery.d.ts.map +1 -0
  1006. package/node_modules/@fps-games/editor-ui/dist/gallery.js +3 -0
  1007. package/node_modules/@fps-games/editor-ui/dist/gallery.js.map +1 -0
  1008. package/node_modules/@fps-games/editor-ui/dist/index.d.ts +5 -0
  1009. package/node_modules/@fps-games/editor-ui/dist/index.d.ts.map +1 -0
  1010. package/node_modules/@fps-games/editor-ui/dist/index.js +5 -0
  1011. package/node_modules/@fps-games/editor-ui/dist/index.js.map +1 -0
  1012. package/node_modules/@fps-games/editor-ui/dist/inspector-property-gallery-model.d.ts +7 -0
  1013. package/node_modules/@fps-games/editor-ui/dist/inspector-property-gallery-model.d.ts.map +1 -0
  1014. package/node_modules/@fps-games/editor-ui/dist/inspector-property-gallery-model.js +29 -0
  1015. package/node_modules/@fps-games/editor-ui/dist/inspector-property-gallery-model.js.map +1 -0
  1016. package/node_modules/@fps-games/editor-ui/dist/inspector-property-gallery-styles.d.ts +2 -0
  1017. package/node_modules/@fps-games/editor-ui/dist/inspector-property-gallery-styles.d.ts.map +1 -0
  1018. package/node_modules/@fps-games/editor-ui/dist/inspector-property-gallery-styles.js +95 -0
  1019. package/node_modules/@fps-games/editor-ui/dist/inspector-property-gallery-styles.js.map +1 -0
  1020. package/node_modules/@fps-games/editor-ui/dist/inspector-property-gallery.d.ts +28 -0
  1021. package/node_modules/@fps-games/editor-ui/dist/inspector-property-gallery.d.ts.map +1 -0
  1022. package/node_modules/@fps-games/editor-ui/dist/inspector-property-gallery.js +387 -0
  1023. package/node_modules/@fps-games/editor-ui/dist/inspector-property-gallery.js.map +1 -0
  1024. package/node_modules/@fps-games/editor-ui/package.json +23 -0
  1025. package/node_modules/@fps-games/playable-assets/package.json +1 -1
  1026. package/node_modules/@fps-games/playable-contracts/dist/index.d.ts +1 -0
  1027. package/node_modules/@fps-games/playable-contracts/dist/index.d.ts.map +1 -1
  1028. package/node_modules/@fps-games/playable-contracts/dist/index.js +1 -0
  1029. package/node_modules/@fps-games/playable-contracts/dist/index.js.map +1 -1
  1030. package/node_modules/@fps-games/playable-contracts/dist/material-owner.d.ts +116 -0
  1031. package/node_modules/@fps-games/playable-contracts/dist/material-owner.d.ts.map +1 -0
  1032. package/node_modules/@fps-games/playable-contracts/dist/material-owner.js +403 -0
  1033. package/node_modules/@fps-games/playable-contracts/dist/material-owner.js.map +1 -0
  1034. package/node_modules/@fps-games/playable-contracts/package.json +1 -1
  1035. package/node_modules/@fps-games/playable-rendering/dist/index.d.ts +3 -0
  1036. package/node_modules/@fps-games/playable-rendering/dist/index.d.ts.map +1 -1
  1037. package/node_modules/@fps-games/playable-rendering/dist/index.js +3 -0
  1038. package/node_modules/@fps-games/playable-rendering/dist/index.js.map +1 -1
  1039. package/node_modules/@fps-games/playable-rendering/dist/rendering-profile-validation.js +5 -25
  1040. package/node_modules/@fps-games/playable-rendering/dist/rendering-profile-validation.js.map +1 -1
  1041. package/node_modules/@fps-games/playable-rendering/dist/runtime.d.ts +3 -0
  1042. package/node_modules/@fps-games/playable-rendering/dist/runtime.d.ts.map +1 -1
  1043. package/node_modules/@fps-games/playable-rendering/dist/runtime.js +3 -0
  1044. package/node_modules/@fps-games/playable-rendering/dist/runtime.js.map +1 -1
  1045. package/node_modules/@fps-games/playable-rendering/dist/shadow-map-experiment-depth.d.ts +61 -0
  1046. package/node_modules/@fps-games/playable-rendering/dist/shadow-map-experiment-depth.d.ts.map +1 -0
  1047. package/node_modules/@fps-games/playable-rendering/dist/shadow-map-experiment-depth.js +176 -0
  1048. package/node_modules/@fps-games/playable-rendering/dist/shadow-map-experiment-depth.js.map +1 -0
  1049. package/node_modules/@fps-games/playable-rendering/dist/shadow-map-experiment-lifecycle.d.ts +84 -0
  1050. package/node_modules/@fps-games/playable-rendering/dist/shadow-map-experiment-lifecycle.d.ts.map +1 -0
  1051. package/node_modules/@fps-games/playable-rendering/dist/shadow-map-experiment-lifecycle.js +362 -0
  1052. package/node_modules/@fps-games/playable-rendering/dist/shadow-map-experiment-lifecycle.js.map +1 -0
  1053. package/node_modules/@fps-games/playable-rendering/dist/shadow-map-experiment.d.ts +167 -0
  1054. package/node_modules/@fps-games/playable-rendering/dist/shadow-map-experiment.d.ts.map +1 -0
  1055. package/node_modules/@fps-games/playable-rendering/dist/shadow-map-experiment.js +484 -0
  1056. package/node_modules/@fps-games/playable-rendering/dist/shadow-map-experiment.js.map +1 -0
  1057. package/node_modules/@fps-games/playable-rendering/package.json +2 -2
  1058. package/node_modules/@fps-games/playable-runtime/dist/compiled-scene-data.d.ts +5 -0
  1059. package/node_modules/@fps-games/playable-runtime/dist/compiled-scene-data.d.ts.map +1 -1
  1060. package/node_modules/@fps-games/playable-runtime/dist/compiled-scene-data.js +1 -0
  1061. package/node_modules/@fps-games/playable-runtime/dist/compiled-scene-data.js.map +1 -1
  1062. package/node_modules/@fps-games/playable-runtime/package.json +12 -12
  1063. package/node_modules/@fps-games/playable-runtime-data/package.json +4 -4
  1064. package/node_modules/@fps-games/playable-scene/package.json +2 -2
  1065. package/node_modules/@fps-games/plugin-api/package.json +1 -1
  1066. package/node_modules/@fps-games/plugin-assets/dist/version.d.ts +1 -1
  1067. package/node_modules/@fps-games/plugin-assets/dist/version.js +1 -1
  1068. package/node_modules/@fps-games/plugin-assets/dist/version.js.map +1 -1
  1069. package/node_modules/@fps-games/plugin-assets/package.json +5 -5
  1070. package/node_modules/@fps-games/plugin-hierarchy/dist/editor.d.ts +6 -0
  1071. package/node_modules/@fps-games/plugin-hierarchy/dist/editor.d.ts.map +1 -0
  1072. package/node_modules/@fps-games/plugin-hierarchy/dist/editor.js +16 -0
  1073. package/node_modules/@fps-games/plugin-hierarchy/dist/editor.js.map +1 -0
  1074. package/node_modules/@fps-games/plugin-hierarchy/dist/integration.d.ts +7 -0
  1075. package/node_modules/@fps-games/plugin-hierarchy/dist/integration.d.ts.map +1 -0
  1076. package/node_modules/@fps-games/plugin-hierarchy/dist/integration.js +47 -0
  1077. package/node_modules/@fps-games/plugin-hierarchy/dist/integration.js.map +1 -0
  1078. package/node_modules/@fps-games/plugin-hierarchy/dist/kernel.d.ts +306 -0
  1079. package/node_modules/@fps-games/plugin-hierarchy/dist/kernel.d.ts.map +1 -0
  1080. package/node_modules/@fps-games/plugin-hierarchy/dist/kernel.js +1237 -0
  1081. package/node_modules/@fps-games/plugin-hierarchy/dist/kernel.js.map +1 -0
  1082. package/node_modules/@fps-games/plugin-hierarchy/dist/reference.d.ts +8 -0
  1083. package/node_modules/@fps-games/plugin-hierarchy/dist/reference.d.ts.map +1 -0
  1084. package/node_modules/@fps-games/plugin-hierarchy/dist/reference.js +32 -0
  1085. package/node_modules/@fps-games/plugin-hierarchy/dist/reference.js.map +1 -0
  1086. package/node_modules/@fps-games/plugin-hierarchy/dist/version.d.ts +2 -0
  1087. package/node_modules/@fps-games/plugin-hierarchy/dist/version.d.ts.map +1 -0
  1088. package/node_modules/@fps-games/plugin-hierarchy/dist/version.js +2 -0
  1089. package/node_modules/@fps-games/plugin-hierarchy/dist/version.js.map +1 -0
  1090. package/node_modules/@fps-games/plugin-hierarchy/package.json +57 -0
  1091. package/node_modules/@fps-games/plugin-host/package.json +2 -2
  1092. package/node_modules/@fps-games/plugin-markers/dist/version.d.ts +1 -1
  1093. package/node_modules/@fps-games/plugin-markers/dist/version.js +1 -1
  1094. package/node_modules/@fps-games/plugin-markers/dist/version.js.map +1 -1
  1095. package/node_modules/@fps-games/plugin-markers/package.json +5 -5
  1096. package/node_modules/@fps-games/plugin-materials/dist/version.d.ts +1 -1
  1097. package/node_modules/@fps-games/plugin-materials/dist/version.js +1 -1
  1098. package/node_modules/@fps-games/plugin-materials/dist/version.js.map +1 -1
  1099. package/node_modules/@fps-games/plugin-materials/package.json +5 -5
  1100. package/node_modules/@fps-games/plugin-rendering/dist/version.d.ts +1 -1
  1101. package/node_modules/@fps-games/plugin-rendering/dist/version.js +1 -1
  1102. package/node_modules/@fps-games/plugin-rendering/dist/version.js.map +1 -1
  1103. package/node_modules/@fps-games/plugin-rendering/package.json +5 -5
  1104. package/node_modules/@fps-games/plugin-scene/dist/version.d.ts +1 -1
  1105. package/node_modules/@fps-games/plugin-scene/dist/version.js +1 -1
  1106. package/node_modules/@fps-games/plugin-scene/dist/version.js.map +1 -1
  1107. package/node_modules/@fps-games/plugin-scene/package.json +5 -5
  1108. package/node_modules/@fps-games/plugin-shadow-map-experiment/dist/reference.d.ts +8 -0
  1109. package/node_modules/@fps-games/plugin-shadow-map-experiment/dist/reference.d.ts.map +1 -0
  1110. package/node_modules/@fps-games/plugin-shadow-map-experiment/dist/reference.js +35 -0
  1111. package/node_modules/@fps-games/plugin-shadow-map-experiment/dist/reference.js.map +1 -0
  1112. package/node_modules/@fps-games/plugin-shadow-map-experiment/dist/runtime.d.ts +11 -0
  1113. package/node_modules/@fps-games/plugin-shadow-map-experiment/dist/runtime.d.ts.map +1 -0
  1114. package/node_modules/@fps-games/plugin-shadow-map-experiment/dist/runtime.js +14 -0
  1115. package/node_modules/@fps-games/plugin-shadow-map-experiment/dist/runtime.js.map +1 -0
  1116. package/node_modules/@fps-games/plugin-shadow-map-experiment/dist/version.d.ts +2 -0
  1117. package/node_modules/@fps-games/plugin-shadow-map-experiment/dist/version.d.ts.map +1 -0
  1118. package/node_modules/@fps-games/plugin-shadow-map-experiment/dist/version.js +2 -0
  1119. package/node_modules/@fps-games/plugin-shadow-map-experiment/dist/version.js.map +1 -0
  1120. package/node_modules/@fps-games/plugin-shadow-map-experiment/package.json +53 -0
  1121. package/node_modules/@fps-games/plugin-shadows/dist/version.d.ts +1 -1
  1122. package/node_modules/@fps-games/plugin-shadows/dist/version.js +1 -1
  1123. package/node_modules/@fps-games/plugin-shadows/dist/version.js.map +1 -1
  1124. package/node_modules/@fps-games/plugin-shadows/package.json +7 -7
  1125. package/node_modules/@playcanvas/observer/LICENSE +19 -0
  1126. package/node_modules/@playcanvas/observer/README.md +72 -0
  1127. package/node_modules/@playcanvas/observer/dist/index.cjs +2033 -0
  1128. package/node_modules/@playcanvas/observer/dist/index.js +2039 -0
  1129. package/node_modules/@playcanvas/observer/dist/index.mjs +2026 -0
  1130. package/node_modules/@playcanvas/observer/package.json +78 -0
  1131. package/node_modules/@playcanvas/observer/types/event-handle.d.ts +41 -0
  1132. package/node_modules/@playcanvas/observer/types/events.d.ts +162 -0
  1133. package/node_modules/@playcanvas/observer/types/history.d.ts +123 -0
  1134. package/node_modules/@playcanvas/observer/types/index.d.ts +15 -0
  1135. package/node_modules/@playcanvas/observer/types/observer-history.d.ts +32 -0
  1136. package/node_modules/@playcanvas/observer/types/observer-list.d.ts +39 -0
  1137. package/node_modules/@playcanvas/observer/types/observer.d.ts +157 -0
  1138. package/node_modules/@playcanvas/observer/types/utils.d.ts +33 -0
  1139. package/node_modules/@playcanvas/pcui/LICENSE +19 -0
  1140. package/node_modules/@playcanvas/pcui/README.md +164 -0
  1141. package/node_modules/@playcanvas/pcui/dist/module/node_modules/playcanvas/build/playcanvas/src/core/math/constants.mjs +6 -0
  1142. package/node_modules/@playcanvas/pcui/dist/module/node_modules/playcanvas/build/playcanvas/src/core/math/curve-evaluator.mjs +119 -0
  1143. package/node_modules/@playcanvas/pcui/dist/module/node_modules/playcanvas/build/playcanvas/src/core/math/curve-set.mjs +82 -0
  1144. package/node_modules/@playcanvas/pcui/dist/module/node_modules/playcanvas/build/playcanvas/src/core/math/curve.mjs +92 -0
  1145. package/node_modules/@playcanvas/pcui/dist/module/node_modules/playcanvas/build/playcanvas/src/core/math/math.mjs +105 -0
  1146. package/node_modules/@playcanvas/pcui/dist/module/src/Math/color-value.mjs +77 -0
  1147. package/node_modules/@playcanvas/pcui/dist/module/src/binding/BindingBase/index.mjs +215 -0
  1148. package/node_modules/@playcanvas/pcui/dist/module/src/binding/BindingElementToObservers/index.mjs +297 -0
  1149. package/node_modules/@playcanvas/pcui/dist/module/src/binding/BindingObserversToElement/index.mjs +110 -0
  1150. package/node_modules/@playcanvas/pcui/dist/module/src/binding/BindingTwoWay/index.mjs +113 -0
  1151. package/node_modules/@playcanvas/pcui/dist/module/src/class.mjs +19 -0
  1152. package/node_modules/@playcanvas/pcui/dist/module/src/components/ArrayInput/index.mjs +498 -0
  1153. package/node_modules/@playcanvas/pcui/dist/module/src/components/BooleanInput/index.mjs +122 -0
  1154. package/node_modules/@playcanvas/pcui/dist/module/src/components/Button/index.mjs +119 -0
  1155. package/node_modules/@playcanvas/pcui/dist/module/src/components/Canvas/index.mjs +104 -0
  1156. package/node_modules/@playcanvas/pcui/dist/module/src/components/Code/index.mjs +43 -0
  1157. package/node_modules/@playcanvas/pcui/dist/module/src/components/ColorPicker/index.mjs +619 -0
  1158. package/node_modules/@playcanvas/pcui/dist/module/src/components/Container/index.mjs +642 -0
  1159. package/node_modules/@playcanvas/pcui/dist/module/src/components/Divider/index.mjs +20 -0
  1160. package/node_modules/@playcanvas/pcui/dist/module/src/components/Element/index.mjs +829 -0
  1161. package/node_modules/@playcanvas/pcui/dist/module/src/components/GradientPicker/index.mjs +1136 -0
  1162. package/node_modules/@playcanvas/pcui/dist/module/src/components/GridView/index.mjs +448 -0
  1163. package/node_modules/@playcanvas/pcui/dist/module/src/components/GridViewItem/index.mjs +152 -0
  1164. package/node_modules/@playcanvas/pcui/dist/module/src/components/InfoBox/index.mjs +90 -0
  1165. package/node_modules/@playcanvas/pcui/dist/module/src/components/InputElement/index.mjs +186 -0
  1166. package/node_modules/@playcanvas/pcui/dist/module/src/components/Label/index.mjs +124 -0
  1167. package/node_modules/@playcanvas/pcui/dist/module/src/components/LabelGroup/index.mjs +74 -0
  1168. package/node_modules/@playcanvas/pcui/dist/module/src/components/Menu/index.mjs +174 -0
  1169. package/node_modules/@playcanvas/pcui/dist/module/src/components/MenuItem/index.mjs +223 -0
  1170. package/node_modules/@playcanvas/pcui/dist/module/src/components/NumericInput/index.mjs +400 -0
  1171. package/node_modules/@playcanvas/pcui/dist/module/src/components/Overlay/index.mjs +108 -0
  1172. package/node_modules/@playcanvas/pcui/dist/module/src/components/Panel/index.mjs +400 -0
  1173. package/node_modules/@playcanvas/pcui/dist/module/src/components/Progress/index.mjs +45 -0
  1174. package/node_modules/@playcanvas/pcui/dist/module/src/components/RadioButton/index.mjs +113 -0
  1175. package/node_modules/@playcanvas/pcui/dist/module/src/components/SelectInput/index.mjs +1085 -0
  1176. package/node_modules/@playcanvas/pcui/dist/module/src/components/SliderInput/index.mjs +333 -0
  1177. package/node_modules/@playcanvas/pcui/dist/module/src/components/Spinner/index.mjs +34 -0
  1178. package/node_modules/@playcanvas/pcui/dist/module/src/components/TextAreaInput/index.mjs +50 -0
  1179. package/node_modules/@playcanvas/pcui/dist/module/src/components/TextInput/index.mjs +98 -0
  1180. package/node_modules/@playcanvas/pcui/dist/module/src/components/TreeView/index.mjs +1131 -0
  1181. package/node_modules/@playcanvas/pcui/dist/module/src/components/TreeViewItem/index.mjs +500 -0
  1182. package/node_modules/@playcanvas/pcui/dist/module/src/components/VectorInput/index.mjs +366 -0
  1183. package/node_modules/@playcanvas/pcui/dist/module/src/helpers/search.mjs +194 -0
  1184. package/node_modules/@playcanvas/pcui/dist/module/src/helpers/utils.mjs +43 -0
  1185. package/node_modules/@playcanvas/pcui/dist/module/src/index.mjs +56 -0
  1186. package/node_modules/@playcanvas/pcui/dist/pcui-theme-green.scss +2798 -0
  1187. package/node_modules/@playcanvas/pcui/dist/pcui-theme-grey.scss +2798 -0
  1188. package/node_modules/@playcanvas/pcui/package.json +150 -0
  1189. package/node_modules/@playcanvas/pcui/react/dist/module/node_modules/playcanvas/build/playcanvas/src/core/math/constants.mjs +6 -0
  1190. package/node_modules/@playcanvas/pcui/react/dist/module/node_modules/playcanvas/build/playcanvas/src/core/math/curve-evaluator.mjs +119 -0
  1191. package/node_modules/@playcanvas/pcui/react/dist/module/node_modules/playcanvas/build/playcanvas/src/core/math/curve-set.mjs +82 -0
  1192. package/node_modules/@playcanvas/pcui/react/dist/module/node_modules/playcanvas/build/playcanvas/src/core/math/curve.mjs +92 -0
  1193. package/node_modules/@playcanvas/pcui/react/dist/module/node_modules/playcanvas/build/playcanvas/src/core/math/math.mjs +105 -0
  1194. package/node_modules/@playcanvas/pcui/react/dist/module/src/Math/color-value.mjs +77 -0
  1195. package/node_modules/@playcanvas/pcui/react/dist/module/src/binding/BindingBase/index.mjs +215 -0
  1196. package/node_modules/@playcanvas/pcui/react/dist/module/src/binding/BindingElementToObservers/index.mjs +297 -0
  1197. package/node_modules/@playcanvas/pcui/react/dist/module/src/binding/BindingObserversToElement/index.mjs +110 -0
  1198. package/node_modules/@playcanvas/pcui/react/dist/module/src/binding/BindingTwoWay/index.mjs +113 -0
  1199. package/node_modules/@playcanvas/pcui/react/dist/module/src/class.mjs +19 -0
  1200. package/node_modules/@playcanvas/pcui/react/dist/module/src/components/ArrayInput/component.mjs +11 -0
  1201. package/node_modules/@playcanvas/pcui/react/dist/module/src/components/ArrayInput/index.mjs +498 -0
  1202. package/node_modules/@playcanvas/pcui/react/dist/module/src/components/BooleanInput/component.mjs +11 -0
  1203. package/node_modules/@playcanvas/pcui/react/dist/module/src/components/BooleanInput/index.mjs +122 -0
  1204. package/node_modules/@playcanvas/pcui/react/dist/module/src/components/Button/component.mjs +16 -0
  1205. package/node_modules/@playcanvas/pcui/react/dist/module/src/components/Button/index.mjs +119 -0
  1206. package/node_modules/@playcanvas/pcui/react/dist/module/src/components/Canvas/component.mjs +16 -0
  1207. package/node_modules/@playcanvas/pcui/react/dist/module/src/components/Canvas/index.mjs +104 -0
  1208. package/node_modules/@playcanvas/pcui/react/dist/module/src/components/Code/component.mjs +11 -0
  1209. package/node_modules/@playcanvas/pcui/react/dist/module/src/components/Code/index.mjs +43 -0
  1210. package/node_modules/@playcanvas/pcui/react/dist/module/src/components/ColorPicker/component.mjs +16 -0
  1211. package/node_modules/@playcanvas/pcui/react/dist/module/src/components/ColorPicker/index.mjs +619 -0
  1212. package/node_modules/@playcanvas/pcui/react/dist/module/src/components/Container/component.mjs +36 -0
  1213. package/node_modules/@playcanvas/pcui/react/dist/module/src/components/Container/index.mjs +642 -0
  1214. package/node_modules/@playcanvas/pcui/react/dist/module/src/components/Divider/component.mjs +11 -0
  1215. package/node_modules/@playcanvas/pcui/react/dist/module/src/components/Divider/index.mjs +20 -0
  1216. package/node_modules/@playcanvas/pcui/react/dist/module/src/components/Element/component.mjs +107 -0
  1217. package/node_modules/@playcanvas/pcui/react/dist/module/src/components/Element/index.mjs +829 -0
  1218. package/node_modules/@playcanvas/pcui/react/dist/module/src/components/GradientPicker/component.mjs +16 -0
  1219. package/node_modules/@playcanvas/pcui/react/dist/module/src/components/GradientPicker/index.mjs +1136 -0
  1220. package/node_modules/@playcanvas/pcui/react/dist/module/src/components/GridView/component.mjs +38 -0
  1221. package/node_modules/@playcanvas/pcui/react/dist/module/src/components/GridView/index.mjs +448 -0
  1222. package/node_modules/@playcanvas/pcui/react/dist/module/src/components/GridViewItem/component.mjs +11 -0
  1223. package/node_modules/@playcanvas/pcui/react/dist/module/src/components/GridViewItem/index.mjs +152 -0
  1224. package/node_modules/@playcanvas/pcui/react/dist/module/src/components/InfoBox/component.mjs +16 -0
  1225. package/node_modules/@playcanvas/pcui/react/dist/module/src/components/InfoBox/index.mjs +90 -0
  1226. package/node_modules/@playcanvas/pcui/react/dist/module/src/components/InputElement/index.mjs +186 -0
  1227. package/node_modules/@playcanvas/pcui/react/dist/module/src/components/Label/component.mjs +16 -0
  1228. package/node_modules/@playcanvas/pcui/react/dist/module/src/components/Label/index.mjs +124 -0
  1229. package/node_modules/@playcanvas/pcui/react/dist/module/src/components/LabelGroup/component.mjs +42 -0
  1230. package/node_modules/@playcanvas/pcui/react/dist/module/src/components/LabelGroup/index.mjs +74 -0
  1231. package/node_modules/@playcanvas/pcui/react/dist/module/src/components/Menu/component.mjs +23 -0
  1232. package/node_modules/@playcanvas/pcui/react/dist/module/src/components/Menu/index.mjs +174 -0
  1233. package/node_modules/@playcanvas/pcui/react/dist/module/src/components/MenuItem/index.mjs +223 -0
  1234. package/node_modules/@playcanvas/pcui/react/dist/module/src/components/NumericInput/component.mjs +11 -0
  1235. package/node_modules/@playcanvas/pcui/react/dist/module/src/components/NumericInput/index.mjs +400 -0
  1236. package/node_modules/@playcanvas/pcui/react/dist/module/src/components/Overlay/component.mjs +11 -0
  1237. package/node_modules/@playcanvas/pcui/react/dist/module/src/components/Overlay/index.mjs +108 -0
  1238. package/node_modules/@playcanvas/pcui/react/dist/module/src/components/Panel/component.mjs +32 -0
  1239. package/node_modules/@playcanvas/pcui/react/dist/module/src/components/Panel/index.mjs +400 -0
  1240. package/node_modules/@playcanvas/pcui/react/dist/module/src/components/Progress/component.mjs +11 -0
  1241. package/node_modules/@playcanvas/pcui/react/dist/module/src/components/Progress/index.mjs +45 -0
  1242. package/node_modules/@playcanvas/pcui/react/dist/module/src/components/RadioButton/component.mjs +11 -0
  1243. package/node_modules/@playcanvas/pcui/react/dist/module/src/components/RadioButton/index.mjs +113 -0
  1244. package/node_modules/@playcanvas/pcui/react/dist/module/src/components/SelectInput/component.mjs +21 -0
  1245. package/node_modules/@playcanvas/pcui/react/dist/module/src/components/SelectInput/index.mjs +1085 -0
  1246. package/node_modules/@playcanvas/pcui/react/dist/module/src/components/SliderInput/component.mjs +12 -0
  1247. package/node_modules/@playcanvas/pcui/react/dist/module/src/components/SliderInput/index.mjs +333 -0
  1248. package/node_modules/@playcanvas/pcui/react/dist/module/src/components/Spinner/component.mjs +16 -0
  1249. package/node_modules/@playcanvas/pcui/react/dist/module/src/components/Spinner/index.mjs +34 -0
  1250. package/node_modules/@playcanvas/pcui/react/dist/module/src/components/TextAreaInput/component.mjs +11 -0
  1251. package/node_modules/@playcanvas/pcui/react/dist/module/src/components/TextAreaInput/index.mjs +50 -0
  1252. package/node_modules/@playcanvas/pcui/react/dist/module/src/components/TextInput/component.mjs +23 -0
  1253. package/node_modules/@playcanvas/pcui/react/dist/module/src/components/TextInput/index.mjs +98 -0
  1254. package/node_modules/@playcanvas/pcui/react/dist/module/src/components/TreeView/component.mjs +52 -0
  1255. package/node_modules/@playcanvas/pcui/react/dist/module/src/components/TreeView/index.mjs +1131 -0
  1256. package/node_modules/@playcanvas/pcui/react/dist/module/src/components/TreeViewItem/component.mjs +33 -0
  1257. package/node_modules/@playcanvas/pcui/react/dist/module/src/components/TreeViewItem/index.mjs +500 -0
  1258. package/node_modules/@playcanvas/pcui/react/dist/module/src/components/VectorInput/component.mjs +11 -0
  1259. package/node_modules/@playcanvas/pcui/react/dist/module/src/components/VectorInput/index.mjs +366 -0
  1260. package/node_modules/@playcanvas/pcui/react/dist/module/src/helpers/search.mjs +194 -0
  1261. package/node_modules/@playcanvas/pcui/react/dist/module/src/helpers/utils.mjs +43 -0
  1262. package/node_modules/@playcanvas/pcui/react/dist/module/src/index.mjs +39 -0
  1263. package/node_modules/@playcanvas/pcui/react/package.json +18 -0
  1264. package/node_modules/@playcanvas/pcui/react/types/Math/color-value.d.ts +3 -0
  1265. package/node_modules/@playcanvas/pcui/react/types/binding/BindingBase/index.d.ts +178 -0
  1266. package/node_modules/@playcanvas/pcui/react/types/binding/BindingElementToObservers/index.d.ts +24 -0
  1267. package/node_modules/@playcanvas/pcui/react/types/binding/BindingObserversToElement/index.d.ts +40 -0
  1268. package/node_modules/@playcanvas/pcui/react/types/binding/BindingTwoWay/index.d.ts +54 -0
  1269. package/node_modules/@playcanvas/pcui/react/types/binding/index.d.ts +5 -0
  1270. package/node_modules/@playcanvas/pcui/react/types/class.d.ts +17 -0
  1271. package/node_modules/@playcanvas/pcui/react/types/components/ArrayInput/component.d.ts +9 -0
  1272. package/node_modules/@playcanvas/pcui/react/types/components/ArrayInput/index.d.ts +140 -0
  1273. package/node_modules/@playcanvas/pcui/react/types/components/BooleanInput/component.d.ts +9 -0
  1274. package/node_modules/@playcanvas/pcui/react/types/components/BooleanInput/index.d.ts +41 -0
  1275. package/node_modules/@playcanvas/pcui/react/types/components/Button/component.d.ts +11 -0
  1276. package/node_modules/@playcanvas/pcui/react/types/components/Button/index.d.ts +75 -0
  1277. package/node_modules/@playcanvas/pcui/react/types/components/Canvas/component.d.ts +11 -0
  1278. package/node_modules/@playcanvas/pcui/react/types/components/Canvas/index.d.ts +61 -0
  1279. package/node_modules/@playcanvas/pcui/react/types/components/Code/component.d.ts +9 -0
  1280. package/node_modules/@playcanvas/pcui/react/types/components/Code/index.d.ts +33 -0
  1281. package/node_modules/@playcanvas/pcui/react/types/components/ColorPicker/component.d.ts +11 -0
  1282. package/node_modules/@playcanvas/pcui/react/types/components/ColorPicker/index.d.ts +99 -0
  1283. package/node_modules/@playcanvas/pcui/react/types/components/Container/component.d.ts +15 -0
  1284. package/node_modules/@playcanvas/pcui/react/types/components/Container/index.d.ts +292 -0
  1285. package/node_modules/@playcanvas/pcui/react/types/components/Divider/component.d.ts +10 -0
  1286. package/node_modules/@playcanvas/pcui/react/types/components/Divider/index.d.ts +13 -0
  1287. package/node_modules/@playcanvas/pcui/react/types/components/Element/component.d.ts +23 -0
  1288. package/node_modules/@playcanvas/pcui/react/types/components/Element/index.d.ts +671 -0
  1289. package/node_modules/@playcanvas/pcui/react/types/components/GradientPicker/component.d.ts +11 -0
  1290. package/node_modules/@playcanvas/pcui/react/types/components/GradientPicker/index.d.ts +152 -0
  1291. package/node_modules/@playcanvas/pcui/react/types/components/GridView/component.d.ts +14 -0
  1292. package/node_modules/@playcanvas/pcui/react/types/components/GridView/index.d.ts +103 -0
  1293. package/node_modules/@playcanvas/pcui/react/types/components/GridViewItem/component.d.ts +9 -0
  1294. package/node_modules/@playcanvas/pcui/react/types/components/GridViewItem/index.d.ts +82 -0
  1295. package/node_modules/@playcanvas/pcui/react/types/components/InfoBox/component.d.ts +11 -0
  1296. package/node_modules/@playcanvas/pcui/react/types/components/InfoBox/index.d.ts +71 -0
  1297. package/node_modules/@playcanvas/pcui/react/types/components/InputElement/index.d.ts +84 -0
  1298. package/node_modules/@playcanvas/pcui/react/types/components/Label/component.d.ts +11 -0
  1299. package/node_modules/@playcanvas/pcui/react/types/components/Label/index.d.ts +85 -0
  1300. package/node_modules/@playcanvas/pcui/react/types/components/LabelGroup/component.d.ts +10 -0
  1301. package/node_modules/@playcanvas/pcui/react/types/components/LabelGroup/index.d.ts +62 -0
  1302. package/node_modules/@playcanvas/pcui/react/types/components/Menu/component.d.ts +14 -0
  1303. package/node_modules/@playcanvas/pcui/react/types/components/Menu/index.d.ts +70 -0
  1304. package/node_modules/@playcanvas/pcui/react/types/components/MenuItem/index.d.ts +139 -0
  1305. package/node_modules/@playcanvas/pcui/react/types/components/NumericInput/component.d.ts +9 -0
  1306. package/node_modules/@playcanvas/pcui/react/types/components/NumericInput/index.d.ts +173 -0
  1307. package/node_modules/@playcanvas/pcui/react/types/components/Overlay/component.d.ts +9 -0
  1308. package/node_modules/@playcanvas/pcui/react/types/components/Overlay/index.d.ts +53 -0
  1309. package/node_modules/@playcanvas/pcui/react/types/components/Panel/component.d.ts +16 -0
  1310. package/node_modules/@playcanvas/pcui/react/types/components/Panel/index.d.ts +178 -0
  1311. package/node_modules/@playcanvas/pcui/react/types/components/Progress/component.d.ts +9 -0
  1312. package/node_modules/@playcanvas/pcui/react/types/components/Progress/index.d.ts +33 -0
  1313. package/node_modules/@playcanvas/pcui/react/types/components/RadioButton/component.d.ts +9 -0
  1314. package/node_modules/@playcanvas/pcui/react/types/components/RadioButton/index.d.ts +33 -0
  1315. package/node_modules/@playcanvas/pcui/react/types/components/SelectInput/component.d.ts +12 -0
  1316. package/node_modules/@playcanvas/pcui/react/types/components/SelectInput/index.d.ts +278 -0
  1317. package/node_modules/@playcanvas/pcui/react/types/components/SliderInput/component.d.ts +10 -0
  1318. package/node_modules/@playcanvas/pcui/react/types/components/SliderInput/index.d.ts +133 -0
  1319. package/node_modules/@playcanvas/pcui/react/types/components/Spinner/component.d.ts +11 -0
  1320. package/node_modules/@playcanvas/pcui/react/types/components/Spinner/index.d.ts +27 -0
  1321. package/node_modules/@playcanvas/pcui/react/types/components/TextAreaInput/component.d.ts +9 -0
  1322. package/node_modules/@playcanvas/pcui/react/types/components/TextAreaInput/index.d.ts +24 -0
  1323. package/node_modules/@playcanvas/pcui/react/types/components/TextInput/component.d.ts +12 -0
  1324. package/node_modules/@playcanvas/pcui/react/types/components/TextInput/index.d.ts +40 -0
  1325. package/node_modules/@playcanvas/pcui/react/types/components/TreeView/component.d.ts +17 -0
  1326. package/node_modules/@playcanvas/pcui/react/types/components/TreeView/index.d.ts +359 -0
  1327. package/node_modules/@playcanvas/pcui/react/types/components/TreeViewItem/component.d.ts +13 -0
  1328. package/node_modules/@playcanvas/pcui/react/types/components/TreeViewItem/index.d.ts +224 -0
  1329. package/node_modules/@playcanvas/pcui/react/types/components/VectorInput/component.d.ts +9 -0
  1330. package/node_modules/@playcanvas/pcui/react/types/components/VectorInput/index.d.ts +176 -0
  1331. package/node_modules/@playcanvas/pcui/react/types/components/components.d.ts +30 -0
  1332. package/node_modules/@playcanvas/pcui/react/types/components/index.d.ts +32 -0
  1333. package/node_modules/@playcanvas/pcui/react/types/helpers/search.d.ts +31 -0
  1334. package/node_modules/@playcanvas/pcui/react/types/helpers/utils.d.ts +2 -0
  1335. package/node_modules/@playcanvas/pcui/react/types/index.d.ts +4 -0
  1336. package/node_modules/@playcanvas/pcui/styles/dist/index.mjs +11 -0
  1337. package/node_modules/@playcanvas/pcui/styles/package.json +17 -0
  1338. package/node_modules/@playcanvas/pcui/types/Math/color-value.d.ts +3 -0
  1339. package/node_modules/@playcanvas/pcui/types/binding/BindingBase/index.d.ts +178 -0
  1340. package/node_modules/@playcanvas/pcui/types/binding/BindingElementToObservers/index.d.ts +24 -0
  1341. package/node_modules/@playcanvas/pcui/types/binding/BindingObserversToElement/index.d.ts +40 -0
  1342. package/node_modules/@playcanvas/pcui/types/binding/BindingTwoWay/index.d.ts +54 -0
  1343. package/node_modules/@playcanvas/pcui/types/binding/index.d.ts +5 -0
  1344. package/node_modules/@playcanvas/pcui/types/class.d.ts +17 -0
  1345. package/node_modules/@playcanvas/pcui/types/components/ArrayInput/index.d.ts +140 -0
  1346. package/node_modules/@playcanvas/pcui/types/components/BooleanInput/index.d.ts +41 -0
  1347. package/node_modules/@playcanvas/pcui/types/components/Button/index.d.ts +75 -0
  1348. package/node_modules/@playcanvas/pcui/types/components/Canvas/index.d.ts +61 -0
  1349. package/node_modules/@playcanvas/pcui/types/components/Code/index.d.ts +33 -0
  1350. package/node_modules/@playcanvas/pcui/types/components/ColorPicker/index.d.ts +99 -0
  1351. package/node_modules/@playcanvas/pcui/types/components/Container/index.d.ts +292 -0
  1352. package/node_modules/@playcanvas/pcui/types/components/Divider/index.d.ts +13 -0
  1353. package/node_modules/@playcanvas/pcui/types/components/Element/index.d.ts +671 -0
  1354. package/node_modules/@playcanvas/pcui/types/components/GradientPicker/index.d.ts +152 -0
  1355. package/node_modules/@playcanvas/pcui/types/components/GridView/index.d.ts +103 -0
  1356. package/node_modules/@playcanvas/pcui/types/components/GridViewItem/index.d.ts +82 -0
  1357. package/node_modules/@playcanvas/pcui/types/components/InfoBox/index.d.ts +71 -0
  1358. package/node_modules/@playcanvas/pcui/types/components/InputElement/index.d.ts +84 -0
  1359. package/node_modules/@playcanvas/pcui/types/components/Label/index.d.ts +85 -0
  1360. package/node_modules/@playcanvas/pcui/types/components/LabelGroup/index.d.ts +62 -0
  1361. package/node_modules/@playcanvas/pcui/types/components/Menu/index.d.ts +70 -0
  1362. package/node_modules/@playcanvas/pcui/types/components/MenuItem/index.d.ts +139 -0
  1363. package/node_modules/@playcanvas/pcui/types/components/NumericInput/index.d.ts +173 -0
  1364. package/node_modules/@playcanvas/pcui/types/components/Overlay/index.d.ts +53 -0
  1365. package/node_modules/@playcanvas/pcui/types/components/Panel/index.d.ts +178 -0
  1366. package/node_modules/@playcanvas/pcui/types/components/Progress/index.d.ts +33 -0
  1367. package/node_modules/@playcanvas/pcui/types/components/RadioButton/index.d.ts +33 -0
  1368. package/node_modules/@playcanvas/pcui/types/components/SelectInput/index.d.ts +278 -0
  1369. package/node_modules/@playcanvas/pcui/types/components/SliderInput/index.d.ts +133 -0
  1370. package/node_modules/@playcanvas/pcui/types/components/Spinner/index.d.ts +27 -0
  1371. package/node_modules/@playcanvas/pcui/types/components/TextAreaInput/index.d.ts +24 -0
  1372. package/node_modules/@playcanvas/pcui/types/components/TextInput/index.d.ts +40 -0
  1373. package/node_modules/@playcanvas/pcui/types/components/TreeView/index.d.ts +359 -0
  1374. package/node_modules/@playcanvas/pcui/types/components/TreeViewItem/index.d.ts +224 -0
  1375. package/node_modules/@playcanvas/pcui/types/components/VectorInput/index.d.ts +176 -0
  1376. package/node_modules/@playcanvas/pcui/types/components/index.d.ts +32 -0
  1377. package/node_modules/@playcanvas/pcui/types/helpers/search.d.ts +31 -0
  1378. package/node_modules/@playcanvas/pcui/types/helpers/utils.d.ts +2 -0
  1379. package/node_modules/@playcanvas/pcui/types/index.d.ts +20 -0
  1380. package/node_modules/babylonjs-gltf2interface/babylon.glTF2Interface.d.ts +1655 -0
  1381. package/node_modules/babylonjs-gltf2interface/license.md +71 -0
  1382. package/node_modules/babylonjs-gltf2interface/package.json +26 -0
  1383. package/package.json +31 -19
  1384. package/dist/editor-plugin-hierarchy-command.d.ts +0 -19
  1385. package/dist/editor-plugin-hierarchy-command.d.ts.map +0 -1
  1386. package/dist/editor-plugin-hierarchy-command.js +0 -119
  1387. package/dist/editor-plugin-hierarchy-command.js.map +0 -1
  1388. package/node_modules/@babel/helper-string-parser/lib/index.js.map +0 -1
  1389. package/node_modules/@babel/helper-validator-identifier/lib/identifier.js.map +0 -1
  1390. package/node_modules/@babel/helper-validator-identifier/lib/index.js.map +0 -1
  1391. package/node_modules/@babel/helper-validator-identifier/lib/keyword.js.map +0 -1
  1392. package/node_modules/@babel/parser/lib/index.js.map +0 -1
  1393. package/node_modules/@babel/types/lib/asserts/assertNode.js.map +0 -1
  1394. package/node_modules/@babel/types/lib/asserts/generated/index.js.map +0 -1
  1395. package/node_modules/@babel/types/lib/ast-types/generated/index.js.map +0 -1
  1396. package/node_modules/@babel/types/lib/builders/flow/createFlowUnionType.js.map +0 -1
  1397. package/node_modules/@babel/types/lib/builders/flow/createTypeAnnotationBasedOnTypeof.js.map +0 -1
  1398. package/node_modules/@babel/types/lib/builders/generated/index.js.map +0 -1
  1399. package/node_modules/@babel/types/lib/builders/generated/lowercase.js.map +0 -1
  1400. package/node_modules/@babel/types/lib/builders/generated/uppercase.js.map +0 -1
  1401. package/node_modules/@babel/types/lib/builders/productions.js.map +0 -1
  1402. package/node_modules/@babel/types/lib/builders/react/buildChildren.js.map +0 -1
  1403. package/node_modules/@babel/types/lib/builders/typescript/createTSUnionType.js.map +0 -1
  1404. package/node_modules/@babel/types/lib/builders/validateNode.js.map +0 -1
  1405. package/node_modules/@babel/types/lib/clone/clone.js.map +0 -1
  1406. package/node_modules/@babel/types/lib/clone/cloneDeep.js.map +0 -1
  1407. package/node_modules/@babel/types/lib/clone/cloneDeepWithoutLoc.js.map +0 -1
  1408. package/node_modules/@babel/types/lib/clone/cloneNode.js.map +0 -1
  1409. package/node_modules/@babel/types/lib/clone/cloneWithoutLoc.js.map +0 -1
  1410. package/node_modules/@babel/types/lib/comments/addComment.js.map +0 -1
  1411. package/node_modules/@babel/types/lib/comments/addComments.js.map +0 -1
  1412. package/node_modules/@babel/types/lib/comments/inheritInnerComments.js.map +0 -1
  1413. package/node_modules/@babel/types/lib/comments/inheritLeadingComments.js.map +0 -1
  1414. package/node_modules/@babel/types/lib/comments/inheritTrailingComments.js.map +0 -1
  1415. package/node_modules/@babel/types/lib/comments/inheritsComments.js.map +0 -1
  1416. package/node_modules/@babel/types/lib/comments/removeComments.js.map +0 -1
  1417. package/node_modules/@babel/types/lib/constants/generated/index.js.map +0 -1
  1418. package/node_modules/@babel/types/lib/constants/index.js.map +0 -1
  1419. package/node_modules/@babel/types/lib/converters/ensureBlock.js.map +0 -1
  1420. package/node_modules/@babel/types/lib/converters/gatherSequenceExpressions.js.map +0 -1
  1421. package/node_modules/@babel/types/lib/converters/toBindingIdentifierName.js.map +0 -1
  1422. package/node_modules/@babel/types/lib/converters/toBlock.js.map +0 -1
  1423. package/node_modules/@babel/types/lib/converters/toComputedKey.js.map +0 -1
  1424. package/node_modules/@babel/types/lib/converters/toExpression.js.map +0 -1
  1425. package/node_modules/@babel/types/lib/converters/toIdentifier.js.map +0 -1
  1426. package/node_modules/@babel/types/lib/converters/toKeyAlias.js.map +0 -1
  1427. package/node_modules/@babel/types/lib/converters/toSequenceExpression.js.map +0 -1
  1428. package/node_modules/@babel/types/lib/converters/toStatement.js.map +0 -1
  1429. package/node_modules/@babel/types/lib/converters/valueToNode.js.map +0 -1
  1430. package/node_modules/@babel/types/lib/definitions/core.js.map +0 -1
  1431. package/node_modules/@babel/types/lib/definitions/deprecated-aliases.js.map +0 -1
  1432. package/node_modules/@babel/types/lib/definitions/experimental.js.map +0 -1
  1433. package/node_modules/@babel/types/lib/definitions/flow.js.map +0 -1
  1434. package/node_modules/@babel/types/lib/definitions/index.js.map +0 -1
  1435. package/node_modules/@babel/types/lib/definitions/jsx.js.map +0 -1
  1436. package/node_modules/@babel/types/lib/definitions/misc.js.map +0 -1
  1437. package/node_modules/@babel/types/lib/definitions/placeholders.js.map +0 -1
  1438. package/node_modules/@babel/types/lib/definitions/typescript.js.map +0 -1
  1439. package/node_modules/@babel/types/lib/definitions/utils.js.map +0 -1
  1440. package/node_modules/@babel/types/lib/index.js.map +0 -1
  1441. package/node_modules/@babel/types/lib/modifications/appendToMemberExpression.js.map +0 -1
  1442. package/node_modules/@babel/types/lib/modifications/flow/removeTypeDuplicates.js.map +0 -1
  1443. package/node_modules/@babel/types/lib/modifications/inherits.js.map +0 -1
  1444. package/node_modules/@babel/types/lib/modifications/prependToMemberExpression.js.map +0 -1
  1445. package/node_modules/@babel/types/lib/modifications/removeProperties.js.map +0 -1
  1446. package/node_modules/@babel/types/lib/modifications/removePropertiesDeep.js.map +0 -1
  1447. package/node_modules/@babel/types/lib/modifications/typescript/removeTypeDuplicates.js.map +0 -1
  1448. package/node_modules/@babel/types/lib/retrievers/getAssignmentIdentifiers.js.map +0 -1
  1449. package/node_modules/@babel/types/lib/retrievers/getBindingIdentifiers.js.map +0 -1
  1450. package/node_modules/@babel/types/lib/retrievers/getFunctionName.js.map +0 -1
  1451. package/node_modules/@babel/types/lib/retrievers/getOuterBindingIdentifiers.js.map +0 -1
  1452. package/node_modules/@babel/types/lib/traverse/traverse.js.map +0 -1
  1453. package/node_modules/@babel/types/lib/traverse/traverseFast.js.map +0 -1
  1454. package/node_modules/@babel/types/lib/utils/deprecationWarning.js.map +0 -1
  1455. package/node_modules/@babel/types/lib/utils/inherit.js.map +0 -1
  1456. package/node_modules/@babel/types/lib/utils/react/cleanJSXElementLiteralChild.js.map +0 -1
  1457. package/node_modules/@babel/types/lib/utils/shallowEqual.js.map +0 -1
  1458. package/node_modules/@babel/types/lib/validators/buildMatchMemberExpression.js.map +0 -1
  1459. package/node_modules/@babel/types/lib/validators/generated/index.js.map +0 -1
  1460. package/node_modules/@babel/types/lib/validators/is.js.map +0 -1
  1461. package/node_modules/@babel/types/lib/validators/isBinding.js.map +0 -1
  1462. package/node_modules/@babel/types/lib/validators/isBlockScoped.js.map +0 -1
  1463. package/node_modules/@babel/types/lib/validators/isImmutable.js.map +0 -1
  1464. package/node_modules/@babel/types/lib/validators/isLet.js.map +0 -1
  1465. package/node_modules/@babel/types/lib/validators/isNode.js.map +0 -1
  1466. package/node_modules/@babel/types/lib/validators/isNodesEquivalent.js.map +0 -1
  1467. package/node_modules/@babel/types/lib/validators/isPlaceholderType.js.map +0 -1
  1468. package/node_modules/@babel/types/lib/validators/isReferenced.js.map +0 -1
  1469. package/node_modules/@babel/types/lib/validators/isScope.js.map +0 -1
  1470. package/node_modules/@babel/types/lib/validators/isSpecifierDefault.js.map +0 -1
  1471. package/node_modules/@babel/types/lib/validators/isType.js.map +0 -1
  1472. package/node_modules/@babel/types/lib/validators/isValidES3Identifier.js.map +0 -1
  1473. package/node_modules/@babel/types/lib/validators/isValidIdentifier.js.map +0 -1
  1474. package/node_modules/@babel/types/lib/validators/isVar.js.map +0 -1
  1475. package/node_modules/@babel/types/lib/validators/matchesPattern.js.map +0 -1
  1476. package/node_modules/@babel/types/lib/validators/react/isCompatTag.js.map +0 -1
  1477. package/node_modules/@babel/types/lib/validators/react/isReactComponent.js.map +0 -1
  1478. package/node_modules/@babel/types/lib/validators/validate.js.map +0 -1
  1479. package/node_modules/@fps-games/editor-babylon/dist/prefab-comparison-preview-controller.d.ts +0 -37
  1480. package/node_modules/@fps-games/editor-babylon/dist/prefab-comparison-preview-controller.d.ts.map +0 -1
  1481. package/node_modules/@fps-games/editor-babylon/dist/prefab-comparison-preview-controller.js +0 -451
  1482. package/node_modules/@fps-games/editor-babylon/dist/prefab-comparison-preview-controller.js.map +0 -1
  1483. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-actions.d.ts +0 -49
  1484. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-actions.d.ts.map +0 -1
  1485. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-actions.js +0 -627
  1486. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-actions.js.map +0 -1
  1487. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-attach-dialog.d.ts +0 -52
  1488. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-attach-dialog.d.ts.map +0 -1
  1489. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-attach-dialog.js +0 -450
  1490. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-attach-dialog.js.map +0 -1
  1491. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-command-adapter.d.ts +0 -21
  1492. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-command-adapter.d.ts.map +0 -1
  1493. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-command-adapter.js +0 -75
  1494. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-command-adapter.js.map +0 -1
  1495. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-projection.d.ts +0 -7
  1496. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-projection.d.ts.map +0 -1
  1497. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-projection.js +0 -186
  1498. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-projection.js.map +0 -1
  1499. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-scope.d.ts +0 -5
  1500. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-scope.d.ts.map +0 -1
  1501. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-scope.js +0 -98
  1502. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-scope.js.map +0 -1
  1503. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-tree.d.ts +0 -63
  1504. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-tree.d.ts.map +0 -1
  1505. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-tree.js +0 -301
  1506. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-tree.js.map +0 -1
@@ -1,9 +1,11 @@
1
1
  import { EDITOR_SCENE_PREFAB_COMPOSITION_VERSION } from '../document/index.js';
2
- import { assertEditorShadowSettingsContract } from '@fps-games/playable-rendering';
2
+ import { assertEditorScenePrefabMarkerNodeContract } from '../document/prefab-marker.js';
3
+ import { assertEditorShadowMapExperimentObjectOverride, assertEditorShadowMapExperimentSettings, assertEditorShadowSettingsContract, } from '@fps-games/playable-rendering';
4
+ import { assertEditorSceneStaticShadowArtifactContract } from '../static-shadows/index.js';
3
5
  import { assertEditorSceneMaterialAssetIntegrity } from '../material-binding/document-assets.js';
4
6
  const DEPRECATED_AUTHORED_FIELDS = new Set(['shadowMode', 'childMaterialBindings', 'childMaterials']);
5
7
  const DEPRECATED_MARKER_BOX_FIELDS = new Set(['coordinateSpace', 'center', 'size', 'rotation']);
6
- const PREFAB_NODE_KINDS = new Set(['root', 'group', 'model', 'primitive', 'light', 'prefabInstance', 'collision']);
8
+ const PREFAB_NODE_KINDS = new Set(['root', 'group', 'model', 'primitive', 'light', 'prefabInstance', 'marker', 'collision']);
7
9
  export function assertPlayableEditorSceneDocumentContract(value) {
8
10
  assertPlayableEditorSceneDocumentContractInternal(value, true);
9
11
  }
@@ -24,6 +26,15 @@ function assertPlayableEditorSceneDocumentContractInternal(value, validateMateri
24
26
  if (scene.materialAssets != null && !Array.isArray(scene.materialAssets)) {
25
27
  throw new Error('editor_scene_material_assets_must_be_array');
26
28
  }
29
+ if (scene.shadowMapExperiment !== undefined) {
30
+ assertEditorShadowMapExperimentSettings(scene.shadowMapExperiment);
31
+ }
32
+ scene.gameObjects.forEach((value, index) => {
33
+ const gameObject = readRecord(value);
34
+ if (gameObject?.shadowMapExperiment !== undefined) {
35
+ assertEditorShadowMapExperimentObjectOverride(gameObject.shadowMapExperiment, `$.scene.gameObjects[${index}].shadowMapExperiment`);
36
+ }
37
+ });
27
38
  assertCurrentDocumentEntries(document.assets, scene.gameObjects);
28
39
  assertNoDeprecatedAuthoredFields(document, '$');
29
40
  assertCurrentPrefabDefinitions(document.assets);
@@ -109,6 +120,10 @@ function assertCurrentDocumentEntries(assets, gameObjects) {
109
120
  if (assetIds.has(assetId))
110
121
  throw schemaError('schema.invalidValue', `$.assets[${index}].id`);
111
122
  assetIds.add(assetId);
123
+ const assetDefaults = readRecord(asset.defaults);
124
+ if (assetDefaults?.shadowMapExperiment !== undefined) {
125
+ assertEditorShadowMapExperimentObjectOverride(assetDefaults.shadowMapExperiment, `$.assets[${index}].defaults.shadowMapExperiment`);
126
+ }
112
127
  });
113
128
  const gameObjectIds = new Set();
114
129
  const gameObjectById = new Map();
@@ -167,7 +182,7 @@ function assertNoDeprecatedAuthoredFields(value, path) {
167
182
  throw schemaError('schema.deprecatedField', childPath);
168
183
  if (key === 'shadow')
169
184
  assertEditorShadowSettingsContract(child, childPath);
170
- if (key === 'metadata')
185
+ if (key === 'metadata' || key === 'shadowMapExperiment')
171
186
  continue;
172
187
  assertNoDeprecatedAuthoredFields(child, childPath);
173
188
  }
@@ -219,6 +234,7 @@ function assertCurrentPrefabDefinitions(assets) {
219
234
  }));
220
235
  for (let nodeIndex = 0; nodeIndex < nodes.length; nodeIndex += 1) {
221
236
  const node = nodes[nodeIndex];
237
+ assertEditorScenePrefabMarkerNodeContract(node, new Map(nodes.map(candidate => [readNonEmptyString(candidate.id), candidate])), `$.assets[${index}].prefab.nodes[${nodeIndex}]`);
222
238
  const nodeId = readNonEmptyString(node.id);
223
239
  const parentId = readNonEmptyString(node.parentId);
224
240
  if (nodeId !== rootNodeId && (!parentId || !nodeIds.has(parentId))) {
@@ -267,6 +283,9 @@ function assertCurrentPrefabDefaults(value, path) {
267
283
  if (Object.prototype.hasOwnProperty.call(defaults, 'active') && typeof defaults.active !== 'boolean') {
268
284
  throw schemaError('schema.invalidType', `${path}.active`);
269
285
  }
286
+ if (defaults.shadowMapExperiment !== undefined) {
287
+ assertEditorShadowMapExperimentObjectOverride(defaults.shadowMapExperiment, `${path}.shadowMapExperiment`);
288
+ }
270
289
  }
271
290
  function assertCurrentPrefabInstances(gameObjects, assets) {
272
291
  const prefabSourceAssetIdById = new Map();
@@ -555,4 +574,1277 @@ function readRecord(value) {
555
574
  function readNonEmptyString(value) {
556
575
  return typeof value === 'string' && value.length > 0 && value === value.trim() ? value : null;
557
576
  }
577
+ const PLAYABLE_EDITOR_RUNTIME_SCENE_RULES = {
578
+ nodeKinds: ['group', 'instance', 'transform', 'primitive'],
579
+ primitiveShapes: ['cube', 'sphere', 'plane', 'capsule'],
580
+ transformTypes: ['plain', 'light', 'camera', 'groundDecal'],
581
+ assetTypes: ['glb'],
582
+ materialScopes: ['sharedAsset', 'nodeMaterial'],
583
+ materialModes: ['shared', 'instance'],
584
+ materialAssetKinds: ['pbr', 'standard'],
585
+ materialAssetSystemPresets: ['default-pbr', 'default-standard'],
586
+ runtimeV3: {
587
+ assetFields: [
588
+ 'id', 'guid', 'type', 'url', 'external', 'warmupCount', 'singleton',
589
+ 'materialMode', 'defaults', 'materialSlots',
590
+ ],
591
+ materialSlotFields: [
592
+ 'slotId', 'ownerNodePath', 'label', 'meshIndex', 'primitiveIndex',
593
+ 'sourceMaterialIndices', 'sourceMeshName',
594
+ ],
595
+ },
596
+ hierarchy: {
597
+ parentTargets: ['root', 'sceneNode'],
598
+ },
599
+ runtimeOnlyTokens: ['/@fs', 'assetUrl', 'sourceAssetUrl', 'sourceAssetPath'],
600
+ };
601
+ const NODE_KINDS = new Set(PLAYABLE_EDITOR_RUNTIME_SCENE_RULES.nodeKinds);
602
+ const PRIMITIVE_SHAPES = new Set(PLAYABLE_EDITOR_RUNTIME_SCENE_RULES.primitiveShapes);
603
+ const ASSET_TYPES = new Set(PLAYABLE_EDITOR_RUNTIME_SCENE_RULES.assetTypes);
604
+ const MATERIAL_MODES = new Set(PLAYABLE_EDITOR_RUNTIME_SCENE_RULES.materialModes);
605
+ const MATERIAL_SCOPES = new Set(PLAYABLE_EDITOR_RUNTIME_SCENE_RULES.materialScopes);
606
+ const MATERIAL_ASSET_KINDS = new Set(PLAYABLE_EDITOR_RUNTIME_SCENE_RULES.materialAssetKinds);
607
+ const MATERIAL_ASSET_SYSTEM_PRESETS = new Set(PLAYABLE_EDITOR_RUNTIME_SCENE_RULES.materialAssetSystemPresets);
608
+ const TRANSFORM_TYPES = new Set(PLAYABLE_EDITOR_RUNTIME_SCENE_RULES.transformTypes);
609
+ const HIERARCHY_PARENT_TARGETS = new Set(PLAYABLE_EDITOR_RUNTIME_SCENE_RULES.hierarchy.parentTargets);
610
+ const RUNTIME_ONLY_TOKENS = PLAYABLE_EDITOR_RUNTIME_SCENE_RULES.runtimeOnlyTokens;
611
+ const RUNTIME_V3_ASSET_FIELDS = new Set(PLAYABLE_EDITOR_RUNTIME_SCENE_RULES.runtimeV3.assetFields);
612
+ const RUNTIME_V3_MATERIAL_SLOT_FIELDS = new Set(PLAYABLE_EDITOR_RUNTIME_SCENE_RULES.runtimeV3.materialSlotFields);
613
+ function collectPlayableEditorRuntimeSceneValidationErrors(sceneConfig, options = {}) {
614
+ const { allowOrphanSharedMaterials = true, allowOrphanNodeMaterials = true, strictAssetIds = [], strictNodeIds = [], maxErrors = 50, } = options;
615
+ const errorLimit = Number.isInteger(maxErrors) && maxErrors > 0 ? maxErrors : 50;
616
+ const errors = [];
617
+ const strictAssets = new Set(strictAssetIds);
618
+ const strictNodes = new Set(strictNodeIds);
619
+ const add = (path, message) => {
620
+ if (errors.length < errorLimit)
621
+ errors.push({ path, message });
622
+ };
623
+ if (!isRecord(sceneConfig)) {
624
+ add('$', 'scene json must be an object');
625
+ return errors;
626
+ }
627
+ const schemaVersion = sceneConfig.schemaVersion;
628
+ if (schemaVersion !== 2 && schemaVersion !== 3)
629
+ add('$.schemaVersion', 'schemaVersion must be 2 or 3');
630
+ validateGeneratedFrom(sceneConfig.meta?.generatedFrom, '$.meta.generatedFrom', add);
631
+ const scene = sceneConfig.scene;
632
+ if (!isRecord(scene)) {
633
+ add('$.scene', 'scene must be an object');
634
+ return errors;
635
+ }
636
+ if (!nonEmptyString(scene.rootId))
637
+ add('$.scene.rootId', 'rootId must be a non-empty string');
638
+ if (!Array.isArray(scene.assets))
639
+ add('$.scene.assets', 'assets must be an array');
640
+ if (!Array.isArray(scene.nodes))
641
+ add('$.scene.nodes', 'nodes must be an array');
642
+ if (!Array.isArray(scene.materialAssets))
643
+ add('$.scene.materialAssets', 'materialAssets must be an array');
644
+ if (!Array.isArray(scene.materials))
645
+ add('$.scene.materials', 'materials must be an array');
646
+ if (!Array.isArray(scene.textures))
647
+ add('$.scene.textures', 'textures must be an array');
648
+ if (errors.length > 0)
649
+ return errors;
650
+ if (sceneConfig.staticShadows != null) {
651
+ captureSchemaError(() => assertEditorSceneStaticShadowArtifactContract(sceneConfig.staticShadows, '$.staticShadows'), '$.staticShadows', add);
652
+ }
653
+ const assetIds = new Set();
654
+ const materialSlotIdsByAssetId = new Map();
655
+ const materialAssetIds = new Set();
656
+ const nodeIds = new Set([scene.rootId]);
657
+ const nodeKinds = new Map();
658
+ const markerNodeIds = new Set();
659
+ scene.assets.forEach((asset, index) => {
660
+ const path = `$.scene.assets[${index}]`;
661
+ if (!isRecord(asset)) {
662
+ add(path, 'asset must be an object');
663
+ return;
664
+ }
665
+ if (!nonEmptyString(asset.id))
666
+ add(`${path}.id`, 'asset.id must be a non-empty string');
667
+ else if (assetIds.has(asset.id))
668
+ add(`${path}.id`, `duplicate asset id: ${asset.id}`);
669
+ else
670
+ assetIds.add(asset.id);
671
+ if (!ASSET_TYPES.has(asset.type))
672
+ add(`${path}.type`, 'asset.type must be glb');
673
+ if (asset.guid != null && !nonEmptyString(asset.guid))
674
+ add(`${path}.guid`, 'asset.guid must be a non-empty string when present');
675
+ if (asset.url != null && !nonEmptyString(asset.url))
676
+ add(`${path}.url`, 'url must be a non-empty string when present');
677
+ if (asset.external != null && !isRecord(asset.external))
678
+ add(`${path}.external`, 'external must be an object when present');
679
+ if (asset.warmupCount != null && (!Number.isInteger(asset.warmupCount) || asset.warmupCount < 0)) {
680
+ add(`${path}.warmupCount`, 'warmupCount must be a non-negative integer when present');
681
+ }
682
+ if (asset.singleton != null && typeof asset.singleton !== 'boolean') {
683
+ add(`${path}.singleton`, 'singleton must be a boolean when present');
684
+ }
685
+ if (asset.materialMode != null && !MATERIAL_MODES.has(asset.materialMode)) {
686
+ add(`${path}.materialMode`, 'materialMode must be shared or instance');
687
+ }
688
+ validateAssetDefaults(asset.defaults, `${path}.defaults`, add);
689
+ if (schemaVersion === 3) {
690
+ for (const field of Object.keys(asset)) {
691
+ if (!RUNTIME_V3_ASSET_FIELDS.has(field)) {
692
+ add(`${path}.${field}`, `runtime schema v3 asset field is not allowed: ${field}`);
693
+ }
694
+ }
695
+ }
696
+ else {
697
+ if (asset.displayName != null && !nonEmptyString(asset.displayName))
698
+ add(`${path}.displayName`, 'displayName must be a non-empty string when present');
699
+ if (asset.category != null && !nonEmptyString(asset.category))
700
+ add(`${path}.category`, 'category must be a non-empty string when present');
701
+ if (asset.metadata != null && !isRecord(asset.metadata))
702
+ add(`${path}.metadata`, 'metadata must be an object when present');
703
+ }
704
+ const materialSlots = schemaVersion === 3
705
+ ? asset.materialSlots
706
+ : isRecord(asset.metadata) ? asset.metadata.materialSlots : undefined;
707
+ const materialSlotsPath = schemaVersion === 3 ? `${path}.materialSlots` : `${path}.metadata.materialSlots`;
708
+ const slotIds = new Set();
709
+ if (materialSlots != null) {
710
+ if (!Array.isArray(materialSlots))
711
+ add(materialSlotsPath, 'materialSlots must be an array when present');
712
+ else
713
+ materialSlots.forEach((rawSlot, slotIndex) => {
714
+ const slotPath = `${materialSlotsPath}[${slotIndex}]`;
715
+ if (!isRecord(rawSlot) || !nonEmptyString(rawSlot.slotId) || !nonEmptyString(rawSlot.ownerNodePath)) {
716
+ add(slotPath, 'material slot must contain stable slotId and ownerNodePath');
717
+ return;
718
+ }
719
+ if (slotIds.has(rawSlot.slotId))
720
+ add(`${slotPath}.slotId`, `duplicate material slot id: ${rawSlot.slotId}`);
721
+ else
722
+ slotIds.add(rawSlot.slotId);
723
+ if (schemaVersion === 3)
724
+ validateRuntimeV3MaterialSlot(rawSlot, slotPath, add);
725
+ });
726
+ }
727
+ if (nonEmptyString(asset.id))
728
+ materialSlotIdsByAssetId.set(asset.id, slotIds);
729
+ if (strictAssets.has(asset.id))
730
+ assertNoRuntimeOnlyFields(asset, path, add);
731
+ });
732
+ scene.nodes.forEach((node, index) => {
733
+ const path = `$.scene.nodes[${index}]`;
734
+ if (!isRecord(node)) {
735
+ add(path, 'node must be an object');
736
+ return;
737
+ }
738
+ if (!nonEmptyString(node.id))
739
+ add(`${path}.id`, 'node.id must be a non-empty string');
740
+ else if (nodeIds.has(node.id))
741
+ add(`${path}.id`, `duplicate node id: ${node.id}`);
742
+ else {
743
+ nodeIds.add(node.id);
744
+ if (typeof node.kind === 'string')
745
+ nodeKinds.set(node.id, node.kind);
746
+ if (node.kind === 'transform' && Object.prototype.hasOwnProperty.call(node, 'marker')) {
747
+ markerNodeIds.add(node.id);
748
+ }
749
+ }
750
+ if (!NODE_KINDS.has(node.kind))
751
+ add(`${path}.kind`, 'node.kind must be group, instance, transform, or primitive');
752
+ });
753
+ const materialAssets = scene.materialAssets;
754
+ materialAssets.forEach((materialAsset, index) => {
755
+ const path = `$.scene.materialAssets[${index}]`;
756
+ if (!isRecord(materialAsset)) {
757
+ add(path, 'material asset must be an object');
758
+ return;
759
+ }
760
+ if (!nonEmptyString(materialAsset.id))
761
+ add(`${path}.id`, 'material asset id must be a non-empty string');
762
+ else if (materialAssetIds.has(materialAsset.id))
763
+ add(`${path}.id`, `duplicate material asset id: ${materialAsset.id}`);
764
+ else
765
+ materialAssetIds.add(materialAsset.id);
766
+ if (materialAsset.name != null && !nonEmptyString(materialAsset.name)) {
767
+ add(`${path}.name`, 'material asset name must be a non-empty string when present');
768
+ }
769
+ if (materialAsset.guid != null && !nonEmptyString(materialAsset.guid))
770
+ add(`${path}.guid`, 'material asset guid must be a non-empty string when present');
771
+ if (materialAsset.materialKind != null && !MATERIAL_ASSET_KINDS.has(materialAsset.materialKind)) {
772
+ add(`${path}.materialKind`, 'materialKind must be pbr or standard');
773
+ }
774
+ if (materialAsset.profile != null) {
775
+ validateArtistMaterialProfile(materialAsset.profile, `${path}.profile`, add);
776
+ }
777
+ validateMaterialAssetSystem(materialAsset.system, `${path}.system`, add);
778
+ validateMaterialAssetOrigin(materialAsset.origin, `${path}.origin`, add);
779
+ validateMaterialAssetSystemKindConsistency(materialAsset, path, add);
780
+ });
781
+ scene.nodes.forEach((node, index) => {
782
+ if (!isRecord(node))
783
+ return;
784
+ const path = `$.scene.nodes[${index}]`;
785
+ const hasExplicitParent = Object.prototype.hasOwnProperty.call(node, 'parentId');
786
+ if (hasExplicitParent && !nonEmptyString(node.parentId)) {
787
+ add(`${path}.parentId`, 'parentId must be a non-empty string when present');
788
+ }
789
+ const parentId = hasExplicitParent ? node.parentId : scene.rootId;
790
+ if (nonEmptyString(parentId)) {
791
+ validateNodeParentTarget(parentId, scene.rootId, nodeIds, `${path}.parentId`, add);
792
+ }
793
+ if (nonEmptyString(node.id))
794
+ validateNodeParentCycle(node.id, scene, `${path}.parentId`, add);
795
+ validateRuntimeSourceBinding(node.source, `${path}.source`, add);
796
+ validateTransform(node.transform, `${path}.transform`, add);
797
+ validateNodeRendering(node.rendering, `${path}.rendering`, add);
798
+ if (node.shadow != null) {
799
+ captureSchemaError(() => assertEditorShadowSettingsContract(node.shadow, `${path}.shadow`), `${path}.shadow`, add);
800
+ }
801
+ if (Object.prototype.hasOwnProperty.call(node, 'shadowMode')) {
802
+ add(`${path}.shadowMode`, 'deprecated field; use shadow.mode');
803
+ }
804
+ let instanceAssetId = null;
805
+ if (node.kind === 'instance') {
806
+ if (!isRecord(node.instance))
807
+ add(`${path}.instance`, 'instance node must contain instance object');
808
+ else if (!assetIds.has(node.instance.assetId)) {
809
+ add(`${path}.instance.assetId`, `assetId must reference scene.assets: ${node.instance.assetId}`);
810
+ }
811
+ else {
812
+ instanceAssetId = nonEmptyString(node.instance.assetId) ? node.instance.assetId : null;
813
+ }
814
+ }
815
+ if (node.kind === 'primitive') {
816
+ if (!isRecord(node.primitive))
817
+ add(`${path}.primitive`, 'primitive node must contain primitive object');
818
+ else if (!PRIMITIVE_SHAPES.has(node.primitive.shape)) {
819
+ add(`${path}.primitive.shape`, 'primitive.shape must be cube, sphere, plane, or capsule');
820
+ }
821
+ }
822
+ if (node.kind === 'transform' && node.transformType != null && !TRANSFORM_TYPES.has(node.transformType)) {
823
+ add(`${path}.transformType`, 'transformType must be plain, light, camera, or groundDecal');
824
+ }
825
+ if (node.kind === 'transform' && node.transformType === 'groundDecal') {
826
+ validateGroundDecal(node.groundDecal, `${path}.groundDecal`, add);
827
+ }
828
+ if (node.kind === 'transform') {
829
+ validateCameraRig(node.camera, `${path}.camera`, add);
830
+ validateSceneLight(node.light, `${path}.light`, add);
831
+ }
832
+ if (Object.prototype.hasOwnProperty.call(node, 'marker')) {
833
+ if (node.kind !== 'transform')
834
+ add(`${path}.marker`, 'marker is only allowed on transform nodes');
835
+ else {
836
+ validateSceneMarker(node.marker, `${path}.marker`, add);
837
+ validateSceneMarkerReferences(node.marker, node.id, nodeIds, markerNodeIds, `${path}.marker`, add);
838
+ }
839
+ }
840
+ if (node.kind === 'instance' || node.kind === 'transform' || node.kind === 'primitive') {
841
+ validateNodeVisualOverrides(node.overrides, `${path}.overrides`, materialAssetIds, instanceAssetId ? materialSlotIdsByAssetId.get(instanceAssetId) : undefined, schemaVersion === 3 ? 'materialSlots' : 'metadata.materialSlots', add);
842
+ }
843
+ if (strictNodes.has(node.id))
844
+ assertNoRuntimeOnlyFields(node, path, add);
845
+ });
846
+ scene.materials.forEach((material, index) => {
847
+ const path = `$.scene.materials[${index}]`;
848
+ if (!isRecord(material)) {
849
+ add(path, 'material must be an object');
850
+ return;
851
+ }
852
+ if (!nonEmptyString(material.id))
853
+ add(`${path}.id`, 'material.id must be a non-empty string');
854
+ if (material.scope != null && !MATERIAL_SCOPES.has(material.scope)) {
855
+ add(`${path}.scope`, 'material scope must be sharedAsset or nodeMaterial');
856
+ }
857
+ if (material.scope === 'sharedAsset' && (!nonEmptyString(material.assetId) || !assetIds.has(material.assetId)) && !allowOrphanSharedMaterials) {
858
+ add(`${path}.assetId`, `shared material assetId must reference scene.assets: ${material.assetId}`);
859
+ }
860
+ if (material.scope === 'nodeMaterial') {
861
+ if ((!nonEmptyString(material.nodeId) || !nodeIds.has(material.nodeId)) && !allowOrphanNodeMaterials) {
862
+ add(`${path}.nodeId`, `node material nodeId must reference scene.nodes: ${material.nodeId}`);
863
+ }
864
+ else if (nonEmptyString(material.nodeId) && nodeIds.has(material.nodeId)) {
865
+ const nodeKind = nodeKinds.get(material.nodeId);
866
+ if (nodeKind !== 'instance' && nodeKind !== 'transform' && nodeKind !== 'primitive') {
867
+ add(`${path}.nodeId`, `node material nodeId must reference an instance, transform, or primitive node: ${material.nodeId}`);
868
+ }
869
+ }
870
+ }
871
+ if (!nonEmptyString(material.materialName))
872
+ add(`${path}.materialName`, 'materialName must be a non-empty string');
873
+ if (!isRecord(material.properties))
874
+ add(`${path}.properties`, 'properties must be an object');
875
+ else
876
+ validateMaterialProperties(material.properties, `${path}.properties`, add);
877
+ });
878
+ return errors;
879
+ }
880
+ export function validatePlayableEditorRuntimeSceneConfig(value, options = {}) {
881
+ const errors = collectPlayableEditorRuntimeSceneValidationErrors(value, options);
882
+ return {
883
+ ok: errors.length === 0,
884
+ errors,
885
+ };
886
+ }
887
+ function captureSchemaError(operation, fallbackPath, add) {
888
+ try {
889
+ operation();
890
+ }
891
+ catch (error) {
892
+ const path = typeof error?.path === 'string'
893
+ ? error.path
894
+ : fallbackPath;
895
+ const code = typeof error?.code === 'string'
896
+ ? error.code
897
+ : 'schema.invalidValue';
898
+ add(path, code);
899
+ }
900
+ }
901
+ function validateNodeVisualOverrides(overrides, path, materialAssetIds, materialSlotIds, materialSlotSource, add) {
902
+ if (overrides == null)
903
+ return;
904
+ if (!isRecord(overrides)) {
905
+ add(path, 'overrides must be an object when present');
906
+ return;
907
+ }
908
+ validateNodeMaterialBinding(overrides.materialBinding, `${path}.materialBinding`, materialAssetIds, add);
909
+ validateNodeMaterialBindingMap(overrides.materialSlotBindings, `${path}.materialSlotBindings`, 'slotId', materialAssetIds, materialSlotIds, materialSlotSource, add);
910
+ if (Object.prototype.hasOwnProperty.call(overrides, 'childMaterialBindings')) {
911
+ add(`${path}.childMaterialBindings`, 'deprecated field; use materialSlotBindings keyed by slotId');
912
+ }
913
+ if (Object.prototype.hasOwnProperty.call(overrides, 'childMaterials')) {
914
+ add(`${path}.childMaterials`, 'deprecated field; use materialSlotBindings keyed by slotId');
915
+ }
916
+ }
917
+ function validateNodeMaterialBindingMap(bindings, path, keyName, materialAssetIds, allowedKeys, materialSlotSource, add) {
918
+ if (bindings == null)
919
+ return;
920
+ if (!isRecord(bindings)) {
921
+ add(path, 'material binding map must be an object when present');
922
+ return;
923
+ }
924
+ for (const [key, binding] of Object.entries(bindings)) {
925
+ const bindingPath = `${path}.${key}`;
926
+ if (!nonEmptyString(key))
927
+ add(bindingPath, `${keyName} must be a non-empty string`);
928
+ if (!allowedKeys) {
929
+ add(bindingPath, `${keyName} requires an instance asset with ${materialSlotSource}`);
930
+ }
931
+ else if (!allowedKeys.has(key)) {
932
+ add(bindingPath, `${keyName} must reference asset ${materialSlotSource}`);
933
+ }
934
+ if (binding == null)
935
+ add(bindingPath, 'material binding must be an object');
936
+ else
937
+ validateNodeMaterialBinding(binding, bindingPath, materialAssetIds, add);
938
+ }
939
+ }
940
+ function validateNodeMaterialBinding(binding, path, materialAssetIds, add) {
941
+ if (binding == null)
942
+ return;
943
+ if (!isRecord(binding)) {
944
+ add(path, 'material binding must be an object when present');
945
+ return;
946
+ }
947
+ if (binding.materialAssetId != null) {
948
+ if (!nonEmptyString(binding.materialAssetId)) {
949
+ add(`${path}.materialAssetId`, 'materialAssetId must be non-empty when present');
950
+ }
951
+ else if (!materialAssetIds.has(binding.materialAssetId)) {
952
+ add(`${path}.materialAssetId`, `materialAssetId must reference scene.materialAssets: ${binding.materialAssetId}`);
953
+ }
954
+ }
955
+ if (binding.override != null)
956
+ validateArtistMaterialProfile(binding.override, `${path}.override`, add);
957
+ }
958
+ function validateArtistMaterialProfile(profile, path, add) {
959
+ if (!isRecord(profile)) {
960
+ add(path, 'material asset profile must be an object');
961
+ return;
962
+ }
963
+ if (profile.lightingModel != null && profile.lightingModel !== 'lit' && profile.lightingModel !== 'unlit') {
964
+ add(`${path}.lightingModel`, 'lightingModel must be lit or unlit');
965
+ }
966
+ if (profile.baseColor != null) {
967
+ if (!isRecord(profile.baseColor))
968
+ add(`${path}.baseColor`, 'baseColor must be an object');
969
+ else {
970
+ validateColor(profile.baseColor.color, `${path}.baseColor.color`, add);
971
+ validateMaterialTextureRef(profile.baseColor.texture, `${path}.baseColor.texture`, add);
972
+ for (const key of ['brightness', 'saturation', 'contrast', 'hue']) {
973
+ if (profile.baseColor[key] != null && !isFiniteNumber(profile.baseColor[key]))
974
+ add(`${path}.baseColor.${key}`, `${key} must be a finite number`);
975
+ }
976
+ }
977
+ }
978
+ for (const key of ['metallic', 'roughness']) {
979
+ if (profile[key] != null && !isFiniteNumber(profile[key]))
980
+ add(`${path}.${key}`, `${key} must be a finite number`);
981
+ }
982
+ if (profile.normal != null) {
983
+ if (!isRecord(profile.normal))
984
+ add(`${path}.normal`, 'normal must be an object');
985
+ else {
986
+ validateMaterialTextureRef(profile.normal.texture, `${path}.normal.texture`, add);
987
+ if (profile.normal.strength != null && !isFiniteNumber(profile.normal.strength))
988
+ add(`${path}.normal.strength`, 'normal strength must be a finite number');
989
+ }
990
+ }
991
+ if (profile.metallicRoughness != null) {
992
+ if (!isRecord(profile.metallicRoughness))
993
+ add(`${path}.metallicRoughness`, 'metallicRoughness must be an object');
994
+ else
995
+ validateMaterialTextureRef(profile.metallicRoughness.texture, `${path}.metallicRoughness.texture`, add);
996
+ }
997
+ if (profile.occlusion != null) {
998
+ if (!isRecord(profile.occlusion))
999
+ add(`${path}.occlusion`, 'occlusion must be an object');
1000
+ else {
1001
+ validateMaterialTextureRef(profile.occlusion.texture, `${path}.occlusion.texture`, add);
1002
+ if (profile.occlusion.strength != null && !isFiniteNumber(profile.occlusion.strength))
1003
+ add(`${path}.occlusion.strength`, 'occlusion strength must be a finite number');
1004
+ }
1005
+ }
1006
+ if (profile.emission != null) {
1007
+ if (!isRecord(profile.emission))
1008
+ add(`${path}.emission`, 'emission must be an object');
1009
+ else {
1010
+ validateColor(profile.emission.color, `${path}.emission.color`, add);
1011
+ if (profile.emission.intensity != null && !isFiniteNumber(profile.emission.intensity))
1012
+ add(`${path}.emission.intensity`, 'emission intensity must be a finite number');
1013
+ validateMaterialTextureRef(profile.emission.texture, `${path}.emission.texture`, add);
1014
+ validateMaterialTextureRef(profile.emission.maskTexture, `${path}.emission.maskTexture`, add);
1015
+ }
1016
+ }
1017
+ if (profile.alpha != null) {
1018
+ if (!isRecord(profile.alpha))
1019
+ add(`${path}.alpha`, 'alpha must be an object');
1020
+ else {
1021
+ if (profile.alpha.mode != null
1022
+ && profile.alpha.mode !== 'opaque'
1023
+ && profile.alpha.mode !== 'mask'
1024
+ && profile.alpha.mode !== 'blend') {
1025
+ add(`${path}.alpha.mode`, 'alpha mode must be opaque, mask, or blend');
1026
+ }
1027
+ if (profile.alpha.opacity != null && !isFiniteNumber(profile.alpha.opacity))
1028
+ add(`${path}.alpha.opacity`, 'alpha opacity must be a finite number');
1029
+ if (profile.alpha.cutoff != null && !isFiniteNumber(profile.alpha.cutoff))
1030
+ add(`${path}.alpha.cutoff`, 'alpha cutoff must be a finite number');
1031
+ validateMaterialTextureRef(profile.alpha.texture, `${path}.alpha.texture`, add);
1032
+ }
1033
+ }
1034
+ }
1035
+ function validateMaterialTextureRef(texture, path, add) {
1036
+ if (texture == null)
1037
+ return;
1038
+ if (!isRecord(texture)) {
1039
+ add(path, 'texture ref must be an object');
1040
+ return;
1041
+ }
1042
+ if (texture.url != null && !nonEmptyString(texture.url))
1043
+ add(`${path}.url`, 'texture url must be non-empty when present');
1044
+ if (texture.textureAssetId != null && !nonEmptyString(texture.textureAssetId))
1045
+ add(`${path}.textureAssetId`, 'textureAssetId must be non-empty when present');
1046
+ }
1047
+ function validateMaterialAssetSystem(system, path, add) {
1048
+ if (system == null)
1049
+ return;
1050
+ if (!isRecord(system)) {
1051
+ add(path, 'material asset system must be an object');
1052
+ return;
1053
+ }
1054
+ if (system.readonly != null && typeof system.readonly !== 'boolean')
1055
+ add(`${path}.readonly`, 'readonly must be boolean');
1056
+ if (system.preset != null && !MATERIAL_ASSET_SYSTEM_PRESETS.has(system.preset)) {
1057
+ add(`${path}.preset`, 'preset must be default-pbr or default-standard');
1058
+ }
1059
+ }
1060
+ function validateMaterialAssetOrigin(origin, path, add) {
1061
+ if (origin == null)
1062
+ return;
1063
+ if (!isRecord(origin)) {
1064
+ add(path, 'material asset origin must be an object');
1065
+ return;
1066
+ }
1067
+ if (origin.type !== 'imported' && origin.type !== 'created' && origin.type !== 'duplicated' && origin.type !== 'preset') {
1068
+ add(`${path}.type`, 'origin type must be imported, created, duplicated, or preset');
1069
+ }
1070
+ if (origin.sourceAssetGuid != null && !nonEmptyString(origin.sourceAssetGuid))
1071
+ add(`${path}.sourceAssetGuid`, 'sourceAssetGuid must be non-empty when present');
1072
+ if (origin.sourceAssetId != null && !nonEmptyString(origin.sourceAssetId))
1073
+ add(`${path}.sourceAssetId`, 'sourceAssetId must be non-empty when present');
1074
+ if (origin.sourceSlotId != null && !nonEmptyString(origin.sourceSlotId))
1075
+ add(`${path}.sourceSlotId`, 'sourceSlotId must be non-empty when present');
1076
+ if (origin.sourceMaterialIndex != null && !Number.isInteger(origin.sourceMaterialIndex))
1077
+ add(`${path}.sourceMaterialIndex`, 'sourceMaterialIndex must be an integer when present');
1078
+ if (origin.sourceMaterialName != null && !nonEmptyString(origin.sourceMaterialName))
1079
+ add(`${path}.sourceMaterialName`, 'sourceMaterialName must be non-empty when present');
1080
+ if (origin.sourceMaterialAssetId != null && !nonEmptyString(origin.sourceMaterialAssetId))
1081
+ add(`${path}.sourceMaterialAssetId`, 'sourceMaterialAssetId must be non-empty when present');
1082
+ }
1083
+ function validateMaterialAssetSystemKindConsistency(materialAsset, path, add) {
1084
+ const preset = isRecord(materialAsset.system) ? materialAsset.system.preset : undefined;
1085
+ if (preset === 'default-pbr' && materialAsset.materialKind != null && materialAsset.materialKind !== 'pbr') {
1086
+ add(`${path}.materialKind`, 'default-pbr material assets must use materialKind pbr');
1087
+ }
1088
+ if (preset === 'default-standard' && materialAsset.materialKind != null && materialAsset.materialKind !== 'standard') {
1089
+ add(`${path}.materialKind`, 'default-standard material assets must use materialKind standard');
1090
+ }
1091
+ }
1092
+ function validateNodeParentTarget(parentId, rootId, nodeIds, path, add) {
1093
+ if (parentId === rootId) {
1094
+ if (!HIERARCHY_PARENT_TARGETS.has('root')) {
1095
+ add(path, `parentId must point to scene node: ${parentId}`);
1096
+ }
1097
+ return;
1098
+ }
1099
+ if (HIERARCHY_PARENT_TARGETS.has('sceneNode') && nodeIds.has(parentId))
1100
+ return;
1101
+ const targetDescription = HIERARCHY_PARENT_TARGETS.has('root') && HIERARCHY_PARENT_TARGETS.has('sceneNode')
1102
+ ? 'root or scene node'
1103
+ : HIERARCHY_PARENT_TARGETS.has('sceneNode')
1104
+ ? 'scene node'
1105
+ : 'root';
1106
+ add(path, `parentId must point to ${targetDescription}: ${parentId}`);
1107
+ }
1108
+ function validateNodeParentCycle(nodeId, scene, path, add) {
1109
+ const rootId = scene.rootId;
1110
+ if (!nonEmptyString(rootId) || !Array.isArray(scene.nodes))
1111
+ return;
1112
+ const byId = new Map();
1113
+ for (const node of scene.nodes) {
1114
+ if (isRecord(node) && nonEmptyString(node.id))
1115
+ byId.set(node.id, node);
1116
+ }
1117
+ const visited = new Set([nodeId]);
1118
+ let cursorId = nonEmptyString(byId.get(nodeId)?.parentId) ? byId.get(nodeId)?.parentId : rootId;
1119
+ while (nonEmptyString(cursorId) && cursorId !== rootId) {
1120
+ if (visited.has(cursorId)) {
1121
+ add(path, `parentId creates a node cycle involving ${nodeId}`);
1122
+ return;
1123
+ }
1124
+ visited.add(cursorId);
1125
+ const cursor = byId.get(cursorId);
1126
+ if (!cursor)
1127
+ return;
1128
+ cursorId = nonEmptyString(cursor.parentId) ? cursor.parentId : rootId;
1129
+ }
1130
+ }
1131
+ function validateRuntimeV3MaterialSlot(slot, path, add) {
1132
+ for (const field of Object.keys(slot)) {
1133
+ if (!RUNTIME_V3_MATERIAL_SLOT_FIELDS.has(field)) {
1134
+ add(`${path}.${field}`, `runtime schema v3 material slot field is not allowed: ${field}`);
1135
+ }
1136
+ }
1137
+ if (slot.label != null && !nonEmptyString(slot.label)) {
1138
+ add(`${path}.label`, 'label must be a non-empty string when present');
1139
+ }
1140
+ for (const key of ['meshIndex', 'primitiveIndex']) {
1141
+ if (slot[key] != null && (!Number.isInteger(slot[key]) || slot[key] < 0)) {
1142
+ add(`${path}.${key}`, `${key} must be a non-negative integer when present`);
1143
+ }
1144
+ }
1145
+ if (slot.sourceMaterialIndices != null && (!Array.isArray(slot.sourceMaterialIndices)
1146
+ || slot.sourceMaterialIndices.some((value) => !Number.isInteger(value) || value < 0))) {
1147
+ add(`${path}.sourceMaterialIndices`, 'sourceMaterialIndices must contain non-negative integers');
1148
+ }
1149
+ if (slot.sourceMeshName != null && !nonEmptyString(slot.sourceMeshName)) {
1150
+ add(`${path}.sourceMeshName`, 'sourceMeshName must be a non-empty string when present');
1151
+ }
1152
+ if (Number.isInteger(slot.meshIndex) && !nonEmptyString(slot.sourceMeshName)) {
1153
+ add(`${path}.sourceMeshName`, 'sourceMeshName is required when meshIndex is present');
1154
+ }
1155
+ }
1156
+ function validateAssetDefaults(defaults, path, add) {
1157
+ if (defaults == null)
1158
+ return;
1159
+ if (!isRecord(defaults)) {
1160
+ add(path, 'defaults must be an object');
1161
+ return;
1162
+ }
1163
+ validateTransform(defaults.transform, `${path}.transform`, add);
1164
+ validateOutline(defaults.outline, `${path}.outline`, add);
1165
+ if (defaults.childOutlines != null) {
1166
+ if (!isRecord(defaults.childOutlines)) {
1167
+ add(`${path}.childOutlines`, 'childOutlines must be an object');
1168
+ }
1169
+ else {
1170
+ for (const [key, outline] of Object.entries(defaults.childOutlines)) {
1171
+ validateOutline(outline, `${path}.childOutlines.${key}`, add);
1172
+ }
1173
+ }
1174
+ }
1175
+ }
1176
+ function validateGeneratedFrom(generatedFrom, path, add) {
1177
+ if (generatedFrom == null)
1178
+ return;
1179
+ if (!isRecord(generatedFrom)) {
1180
+ add(path, 'generatedFrom must be an object when present');
1181
+ return;
1182
+ }
1183
+ validateAuthoringSourceRef(generatedFrom, path, add);
1184
+ if (!nonEmptyString(generatedFrom.compilerId))
1185
+ add(`${path}.compilerId`, 'compilerId must be a non-empty string');
1186
+ if (!nonEmptyString(generatedFrom.compilerVersion))
1187
+ add(`${path}.compilerVersion`, 'compilerVersion must be a non-empty string');
1188
+ if (!nonEmptyString(generatedFrom.compiledAt))
1189
+ add(`${path}.compiledAt`, 'compiledAt must be a non-empty string');
1190
+ }
1191
+ function validateRuntimeSourceBinding(source, path, add) {
1192
+ if (source == null)
1193
+ return;
1194
+ if (!isRecord(source)) {
1195
+ add(path, 'source must be an object when present');
1196
+ return;
1197
+ }
1198
+ validateAuthoringSourceRef(source, path, add);
1199
+ if (source.objectGuid != null && !nonEmptyString(source.objectGuid))
1200
+ add(`${path}.objectGuid`, 'objectGuid must be a non-empty string when present');
1201
+ if (source.objectId != null && !nonEmptyString(source.objectId))
1202
+ add(`${path}.objectId`, 'objectId must be a non-empty string when present');
1203
+ if (source.component != null && !nonEmptyString(source.component))
1204
+ add(`${path}.component`, 'component must be a non-empty string when present');
1205
+ if (source.propertyPath != null && !nonEmptyString(source.propertyPath))
1206
+ add(`${path}.propertyPath`, 'propertyPath must be a non-empty string when present');
1207
+ }
1208
+ function validateAuthoringSourceRef(source, path, add) {
1209
+ if (!nonEmptyString(source.sourceId))
1210
+ add(`${path}.sourceId`, 'sourceId must be a non-empty string');
1211
+ if (!nonEmptyString(source.sourceType))
1212
+ add(`${path}.sourceType`, 'sourceType must be a non-empty string');
1213
+ if (source.revision != null && (typeof source.revision !== 'number' || !Number.isFinite(source.revision))) {
1214
+ add(`${path}.revision`, 'revision must be a finite number when present');
1215
+ }
1216
+ }
1217
+ export function assertPlayableEditorRuntimeSceneConfig(value, options) {
1218
+ const result = validatePlayableEditorRuntimeSceneConfig(value, options);
1219
+ if (result.ok)
1220
+ return;
1221
+ const error = new Error(`scene_json_schema_failed:\n${JSON.stringify(result.errors, null, 2)}`);
1222
+ Object.assign(error, {
1223
+ code: 'scene_json_schema_failed',
1224
+ diagnostics: result.errors,
1225
+ });
1226
+ throw error;
1227
+ }
1228
+ function isRecord(value) {
1229
+ return !!value && typeof value === 'object' && !Array.isArray(value);
1230
+ }
1231
+ function nonEmptyString(value) {
1232
+ return typeof value === 'string' && value.trim().length > 0;
1233
+ }
1234
+ function validateTransform(transform, path, add) {
1235
+ if (transform == null)
1236
+ return;
1237
+ if (!isRecord(transform)) {
1238
+ add(path, 'transform must be an object');
1239
+ return;
1240
+ }
1241
+ validateVec3(transform.position, `${path}.position`, add);
1242
+ validateVec3(transform.rotation, `${path}.rotation`, add);
1243
+ validateVec3(transform.rotationDeg, `${path}.rotationDeg`, add);
1244
+ if (typeof transform.scale === 'number') {
1245
+ if (!Number.isFinite(transform.scale))
1246
+ add(`${path}.scale`, 'scale number must be finite');
1247
+ }
1248
+ else {
1249
+ validateVec3(transform.scale, `${path}.scale`, add);
1250
+ }
1251
+ }
1252
+ function validateSceneMarker(value, path, add) {
1253
+ if (!isRecord(value)) {
1254
+ add(path, 'marker must be an object');
1255
+ return;
1256
+ }
1257
+ validateAllowedFields(value, [
1258
+ 'schemaVersion', 'label', 'type', 'kind', 'tags', 'note', 'color',
1259
+ 'target', 'semanticFrame', 'geometry', 'metadata',
1260
+ ], path, add);
1261
+ if (value.schemaVersion !== 1)
1262
+ add(`${path}.schemaVersion`, 'marker.schemaVersion must be 1');
1263
+ if (!nonEmptyString(value.label))
1264
+ add(`${path}.label`, 'marker.label must be a non-empty string');
1265
+ if (!nonEmptyString(value.type))
1266
+ add(`${path}.type`, 'marker.type must be a non-empty string');
1267
+ if (value.kind != null && !nonEmptyString(value.kind))
1268
+ add(`${path}.kind`, 'marker.kind must be a non-empty string when present');
1269
+ if (value.tags != null) {
1270
+ if (!Array.isArray(value.tags))
1271
+ add(`${path}.tags`, 'marker.tags must be an array when present');
1272
+ else
1273
+ value.tags.forEach((entry, index) => {
1274
+ if (typeof entry !== 'string')
1275
+ add(`${path}.tags[${index}]`, 'marker tag must be a string');
1276
+ });
1277
+ }
1278
+ if (value.note != null && typeof value.note !== 'string')
1279
+ add(`${path}.note`, 'marker.note must be a string when present');
1280
+ if (value.color != null)
1281
+ validateMarkerColor(value.color, `${path}.color`, add);
1282
+ if (value.target != null)
1283
+ validateSceneMarkerTarget(value.target, `${path}.target`, add);
1284
+ if (value.semanticFrame != null)
1285
+ validateSceneMarkerFrame(value.semanticFrame, `${path}.semanticFrame`, add);
1286
+ validateSceneMarkerGeometry(value.geometry, `${path}.geometry`, add);
1287
+ if (value.metadata != null && !isRecord(value.metadata))
1288
+ add(`${path}.metadata`, 'marker.metadata must be an object when present');
1289
+ }
1290
+ function validateSceneMarkerReferences(value, markerNodeId, nodeIds, markerNodeIds, path, add) {
1291
+ if (!isRecord(value))
1292
+ return;
1293
+ const targets = [];
1294
+ if (value.target != null)
1295
+ targets.push({ value: value.target, path: `${path}.target` });
1296
+ if (isRecord(value.geometry) && value.geometry.target != null) {
1297
+ targets.push({ value: value.geometry.target, path: `${path}.geometry.target` });
1298
+ }
1299
+ for (const entry of targets) {
1300
+ if (!isRecord(entry.value))
1301
+ continue;
1302
+ if (entry.value.kind !== 'scene-object' && entry.value.kind !== 'marker') {
1303
+ add(`${entry.path}.kind`, 'runtime marker target kind must be scene-object or marker');
1304
+ }
1305
+ if (nonEmptyString(entry.value.id)) {
1306
+ if (entry.value.id === markerNodeId) {
1307
+ add(`${entry.path}.id`, 'runtime marker target must not reference its marker node');
1308
+ }
1309
+ else if (!nodeIds.has(entry.value.id)) {
1310
+ add(`${entry.path}.id`, `runtime marker target must reference scene.nodes: ${entry.value.id}`);
1311
+ }
1312
+ else if (entry.value.kind === 'marker' && !markerNodeIds.has(entry.value.id)) {
1313
+ add(`${entry.path}.id`, `runtime marker target must reference a marker node: ${entry.value.id}`);
1314
+ }
1315
+ else if (entry.value.kind === 'scene-object' && markerNodeIds.has(entry.value.id)) {
1316
+ add(`${entry.path}.id`, `runtime scene-object target must not reference a marker node: ${entry.value.id}`);
1317
+ }
1318
+ }
1319
+ }
1320
+ }
1321
+ function validateSceneMarkerTarget(value, path, add) {
1322
+ if (!isRecord(value)) {
1323
+ add(path, 'marker target must be an object');
1324
+ return;
1325
+ }
1326
+ validateAllowedFields(value, ['kind', 'id', 'label', 'path', 'metadata'], path, add);
1327
+ if (!nonEmptyString(value.kind))
1328
+ add(`${path}.kind`, 'marker target kind must be a non-empty string');
1329
+ if (!nonEmptyString(value.id))
1330
+ add(`${path}.id`, 'marker target id must be a non-empty string');
1331
+ for (const key of ['label', 'path']) {
1332
+ if (value[key] != null && typeof value[key] !== 'string')
1333
+ add(`${path}.${key}`, `marker target ${key} must be a string when present`);
1334
+ }
1335
+ if (value.metadata != null && !isRecord(value.metadata))
1336
+ add(`${path}.metadata`, 'marker target metadata must be an object when present');
1337
+ }
1338
+ function validateSceneMarkerFrame(value, path, add) {
1339
+ if (!isRecord(value)) {
1340
+ add(path, 'marker semanticFrame must be an object');
1341
+ return;
1342
+ }
1343
+ validateAllowedFields(value, ['origin', 'forward', 'right', 'up', 'label', 'description'], path, add);
1344
+ if (!isRecord(value.origin))
1345
+ add(`${path}.origin`, 'marker semanticFrame.origin must be a vector object');
1346
+ else
1347
+ validateVec3(value.origin, `${path}.origin`, add);
1348
+ for (const key of ['forward', 'right', 'up']) {
1349
+ if (value[key] != null)
1350
+ validateVec3(value[key], `${path}.${key}`, add);
1351
+ }
1352
+ for (const key of ['label', 'description']) {
1353
+ if (value[key] != null && typeof value[key] !== 'string')
1354
+ add(`${path}.${key}`, `marker semanticFrame ${key} must be a string when present`);
1355
+ }
1356
+ }
1357
+ function validateSceneMarkerGeometry(value, path, add) {
1358
+ if (!isRecord(value)) {
1359
+ add(path, 'marker.geometry must be an object');
1360
+ return;
1361
+ }
1362
+ if (value.kind === 'box') {
1363
+ validateAllowedFields(value, ['kind'], path, add);
1364
+ return;
1365
+ }
1366
+ if (value.kind === 'point') {
1367
+ validateAllowedFields(value, ['kind', 'coordinateSpace', 'position', 'offset', 'target'], path, add);
1368
+ if (value.coordinateSpace != null && value.coordinateSpace !== 'world' && value.coordinateSpace !== 'local') {
1369
+ add(`${path}.coordinateSpace`, 'point marker coordinateSpace must be world or local');
1370
+ }
1371
+ if (value.position != null)
1372
+ validateVec3(value.position, `${path}.position`, add);
1373
+ if (value.offset != null)
1374
+ validateVec3(value.offset, `${path}.offset`, add);
1375
+ if (value.target != null)
1376
+ validateSceneMarkerTarget(value.target, `${path}.target`, add);
1377
+ return;
1378
+ }
1379
+ if (value.kind === 'object-bounds') {
1380
+ validateAllowedFields(value, ['kind', 'target'], path, add);
1381
+ validateSceneMarkerTarget(value.target, `${path}.target`, add);
1382
+ return;
1383
+ }
1384
+ if (value.kind === 'polyhedron') {
1385
+ validateAllowedFields(value, ['kind', 'coordinateSpace', 'vertices', 'faces'], path, add);
1386
+ if (value.coordinateSpace != null && value.coordinateSpace !== 'world') {
1387
+ add(`${path}.coordinateSpace`, 'polyhedron marker coordinateSpace must be world');
1388
+ }
1389
+ if (!Array.isArray(value.vertices))
1390
+ add(`${path}.vertices`, 'polyhedron marker vertices must be an array');
1391
+ else
1392
+ value.vertices.forEach((entry, index) => {
1393
+ const vertexPath = `${path}.vertices[${index}]`;
1394
+ if (!isRecord(entry))
1395
+ add(vertexPath, 'polyhedron marker vertex must be a vector object');
1396
+ else
1397
+ validateVec3(entry, vertexPath, add);
1398
+ });
1399
+ if (value.faces != null) {
1400
+ if (!Array.isArray(value.faces))
1401
+ add(`${path}.faces`, 'polyhedron marker faces must be an array when present');
1402
+ else
1403
+ value.faces.forEach((face, faceIndex) => {
1404
+ if (!Array.isArray(face))
1405
+ add(`${path}.faces[${faceIndex}]`, 'polyhedron marker face must be an array');
1406
+ else
1407
+ face.forEach((entry, index) => {
1408
+ if (!Number.isInteger(entry) || entry < 0)
1409
+ add(`${path}.faces[${faceIndex}][${index}]`, 'polyhedron marker index must be a non-negative integer');
1410
+ });
1411
+ });
1412
+ }
1413
+ return;
1414
+ }
1415
+ add(`${path}.kind`, 'marker.geometry.kind must be box, point, object-bounds, or polyhedron');
1416
+ }
1417
+ function validateMarkerColor(value, path, add) {
1418
+ if (!isRecord(value)) {
1419
+ add(path, 'marker color must be an object');
1420
+ return;
1421
+ }
1422
+ validateAllowedFields(value, ['r', 'g', 'b'], path, add);
1423
+ for (const key of ['r', 'g', 'b']) {
1424
+ if (!isUnitRangeNumber(value[key]))
1425
+ add(`${path}.${key}`, 'marker color component must be between 0 and 1');
1426
+ }
1427
+ }
1428
+ function validateAllowedFields(value, allowed, path, add) {
1429
+ const allowedFields = new Set(allowed);
1430
+ for (const key of Object.keys(value)) {
1431
+ if (!allowedFields.has(key))
1432
+ add(`${path}.${key}`, `field is not allowed: ${key}`);
1433
+ }
1434
+ }
1435
+ function validateVec3(value, path, add) {
1436
+ if (value == null)
1437
+ return;
1438
+ if (!isRecord(value)) {
1439
+ add(path, 'value must be a vector object');
1440
+ return;
1441
+ }
1442
+ for (const axis of ['x', 'y', 'z']) {
1443
+ if (typeof value[axis] !== 'number' || !Number.isFinite(value[axis])) {
1444
+ add(`${path}.${axis}`, 'vector component must be a finite number');
1445
+ }
1446
+ }
1447
+ }
1448
+ function validateVec2(value, path, add) {
1449
+ if (value == null)
1450
+ return;
1451
+ if (!isRecord(value)) {
1452
+ add(path, 'value must be a vector object');
1453
+ return;
1454
+ }
1455
+ for (const axis of ['x', 'y']) {
1456
+ if (typeof value[axis] !== 'number' || !Number.isFinite(value[axis])) {
1457
+ add(`${path}.${axis}`, 'vector component must be a finite number');
1458
+ }
1459
+ }
1460
+ }
1461
+ function isFiniteNumber(value) {
1462
+ return typeof value === 'number' && Number.isFinite(value);
1463
+ }
1464
+ function isPositiveFiniteNumber(value) {
1465
+ return isFiniteNumber(value) && value > 0;
1466
+ }
1467
+ function isUnitRangeNumber(value) {
1468
+ return isFiniteNumber(value) && value >= 0 && value <= 1;
1469
+ }
1470
+ function validateColor(value, path, add) {
1471
+ if (value == null)
1472
+ return;
1473
+ if (!isRecord(value)) {
1474
+ add(path, 'color must be an object');
1475
+ return;
1476
+ }
1477
+ for (const key of ['r', 'g', 'b']) {
1478
+ if (typeof value[key] !== 'number' || !Number.isFinite(value[key])) {
1479
+ add(`${path}.${key}`, 'color component must be a finite number');
1480
+ }
1481
+ }
1482
+ }
1483
+ function validateCameraRig(value, path, add) {
1484
+ if (value == null)
1485
+ return;
1486
+ if (!isRecord(value)) {
1487
+ add(path, 'camera must be an object');
1488
+ return;
1489
+ }
1490
+ if (value.projection != null && value.projection !== 'orthographic' && value.projection !== 'perspective') {
1491
+ add(`${path}.projection`, 'camera projection must be orthographic or perspective');
1492
+ }
1493
+ for (const key of ['alpha', 'beta']) {
1494
+ if (value[key] != null && !isFiniteNumber(value[key])) {
1495
+ add(`${path}.${key}`, 'camera property must be a finite number when present');
1496
+ }
1497
+ }
1498
+ for (const key of ['radius', 'orthoSize']) {
1499
+ if (value[key] != null && !isPositiveFiniteNumber(value[key])) {
1500
+ add(`${path}.${key}`, 'camera property must be a positive finite number when present');
1501
+ }
1502
+ }
1503
+ if (value.fov != null && !isPositiveFiniteNumber(value.fov))
1504
+ add(`${path}.fov`, 'camera fov must be a positive finite number');
1505
+ validateVec3(value.targetOffset, `${path}.targetOffset`, add);
1506
+ validateVec2(value.targetScreenOffset, `${path}.targetScreenOffset`, add);
1507
+ for (const key of ['minZ', 'maxZ', 'lowerRadiusLimit', 'upperRadiusLimit']) {
1508
+ if (value[key] != null && !isPositiveFiniteNumber(value[key])) {
1509
+ add(`${path}.${key}`, 'camera property must be a positive finite number');
1510
+ }
1511
+ }
1512
+ for (const key of ['lowerBetaLimit', 'upperBetaLimit']) {
1513
+ if (value[key] != null && !isFiniteNumber(value[key])) {
1514
+ add(`${path}.${key}`, 'camera property must be a finite number');
1515
+ }
1516
+ }
1517
+ if (value.inertia != null && !isUnitRangeNumber(value.inertia)) {
1518
+ add(`${path}.inertia`, 'camera inertia must be between 0 and 1');
1519
+ }
1520
+ if (isPositiveFiniteNumber(value.minZ) && isPositiveFiniteNumber(value.maxZ) && value.maxZ <= value.minZ) {
1521
+ add(`${path}.maxZ`, 'camera maxZ must be greater than minZ');
1522
+ }
1523
+ if (isFiniteNumber(value.lowerBetaLimit) && isFiniteNumber(value.upperBetaLimit) && value.upperBetaLimit < value.lowerBetaLimit) {
1524
+ add(`${path}.upperBetaLimit`, 'camera upperBetaLimit must be greater than or equal to lowerBetaLimit');
1525
+ }
1526
+ if (isPositiveFiniteNumber(value.lowerRadiusLimit) && isPositiveFiniteNumber(value.upperRadiusLimit) && value.upperRadiusLimit < value.lowerRadiusLimit) {
1527
+ add(`${path}.upperRadiusLimit`, 'camera upperRadiusLimit must be greater than or equal to lowerRadiusLimit');
1528
+ }
1529
+ }
1530
+ function validateSceneLight(value, path, add) {
1531
+ if (value == null)
1532
+ return;
1533
+ if (!isRecord(value)) {
1534
+ add(path, 'light must be an object');
1535
+ return;
1536
+ }
1537
+ if (value.type !== 'directional' && value.type !== 'hemispheric') {
1538
+ add(`${path}.type`, 'light.type must be directional or hemispheric');
1539
+ }
1540
+ if (typeof value.intensity !== 'number' || !Number.isFinite(value.intensity) || value.intensity < 0) {
1541
+ add(`${path}.intensity`, 'light intensity must be a non-negative finite number');
1542
+ }
1543
+ if (value.type === 'directional')
1544
+ validateVec3(value.direction, `${path}.direction`, add);
1545
+ validateColor(value.diffuseColor, `${path}.diffuseColor`, add);
1546
+ validateColor(value.groundColor, `${path}.groundColor`, add);
1547
+ }
1548
+ function validateOutline(value, path, add) {
1549
+ if (value == null)
1550
+ return;
1551
+ if (!isRecord(value)) {
1552
+ add(path, 'outline must be an object');
1553
+ return;
1554
+ }
1555
+ if (value.renderOutline != null && typeof value.renderOutline !== 'boolean')
1556
+ add(`${path}.renderOutline`, 'renderOutline must be boolean');
1557
+ if (value.outlineWidth != null && (typeof value.outlineWidth !== 'number' || !Number.isFinite(value.outlineWidth))) {
1558
+ add(`${path}.outlineWidth`, 'outlineWidth must be a finite number');
1559
+ }
1560
+ validateColor(value.outlineColor, `${path}.outlineColor`, add);
1561
+ }
1562
+ function validateGroundDecal(value, path, add) {
1563
+ if (value == null)
1564
+ return;
1565
+ if (!isRecord(value)) {
1566
+ add(path, 'groundDecal must be an object');
1567
+ return;
1568
+ }
1569
+ validateGroundDecalUi(value, path, add);
1570
+ }
1571
+ function validateGroundDecalUi(value, path, add) {
1572
+ if (value.uiKind !== 'operation' && value.uiKind !== 'delivery') {
1573
+ add(`${path}.uiKind`, 'groundDecal UI kind must be operation or delivery');
1574
+ }
1575
+ if (!isRecord(value.size)) {
1576
+ add(`${path}.size`, 'groundDecal.size must be an object');
1577
+ }
1578
+ else {
1579
+ for (const key of ['width', 'depth']) {
1580
+ if (typeof value.size[key] !== 'number' || !Number.isFinite(value.size[key]) || value.size[key] <= 0) {
1581
+ add(`${path}.size.${key}`, 'groundDecal size must be a positive finite number');
1582
+ }
1583
+ }
1584
+ }
1585
+ if (value.aspectSourceLayerId != null && !nonEmptyString(value.aspectSourceLayerId)) {
1586
+ add(`${path}.aspectSourceLayerId`, 'aspectSourceLayerId must be non-empty when present');
1587
+ }
1588
+ if (value.lockAspectToBorder != null && typeof value.lockAspectToBorder !== 'boolean') {
1589
+ add(`${path}.lockAspectToBorder`, 'lockAspectToBorder must be boolean when present');
1590
+ }
1591
+ validateGroundDecalUiMask(value.mask, `${path}.mask`, add);
1592
+ validateGroundDecalUiRendering(value.rendering, `${path}.rendering`, add);
1593
+ if (!Array.isArray(value.layers)) {
1594
+ add(`${path}.layers`, 'groundDecal UI layers must be an array');
1595
+ return;
1596
+ }
1597
+ value.layers.forEach((layer, index) => validateGroundDecalUiLayer(layer, `${path}.layers[${index}]`, add));
1598
+ validateGroundDecalUiLayerIds(value.layers, `${path}.layers`, add);
1599
+ if (value.uiKind === 'delivery') {
1600
+ validateDeliveryGroundDecalUiPairs(value.layers, `${path}.layers`, add);
1601
+ }
1602
+ }
1603
+ function validateGroundDecalUiMask(value, path, add) {
1604
+ if (value == null)
1605
+ return;
1606
+ if (!isRecord(value)) {
1607
+ add(path, 'groundDecal UI mask must be an object');
1608
+ return;
1609
+ }
1610
+ if (value.enabled != null && typeof value.enabled !== 'boolean')
1611
+ add(`${path}.enabled`, 'mask.enabled must be boolean');
1612
+ if (value.source != null && value.source !== 'roundedRect' && value.source !== 'borderAlpha' && value.source !== 'texture') {
1613
+ add(`${path}.source`, 'mask.source must be roundedRect, borderAlpha, or texture');
1614
+ }
1615
+ if (value.textureId != null && !nonEmptyString(value.textureId))
1616
+ add(`${path}.textureId`, 'mask.textureId must be non-empty when present');
1617
+ for (const key of ['cornerRadius', 'padding']) {
1618
+ if (value[key] != null && (typeof value[key] !== 'number' || !Number.isFinite(value[key]) || value[key] < 0)) {
1619
+ add(`${path}.${key}`, `${key} must be a non-negative finite number`);
1620
+ }
1621
+ }
1622
+ }
1623
+ function validateGroundDecalUiRendering(value, path, add) {
1624
+ if (value == null)
1625
+ return;
1626
+ if (!isRecord(value)) {
1627
+ add(path, 'groundDecal UI rendering must be an object');
1628
+ return;
1629
+ }
1630
+ for (const key of ['textureWidth', 'textureHeight']) {
1631
+ if (value[key] != null && (!Number.isInteger(value[key]) || value[key] <= 0)) {
1632
+ add(`${path}.${key}`, `${key} must be a positive integer`);
1633
+ }
1634
+ }
1635
+ for (const key of ['alphaIndex', 'diffuseTextureLevel', 'emissiveTextureLevel']) {
1636
+ if (value[key] != null && (typeof value[key] !== 'number' || !Number.isFinite(value[key]))) {
1637
+ add(`${path}.${key}`, `${key} must be a finite number`);
1638
+ }
1639
+ }
1640
+ }
1641
+ function validateGroundDecalUiLayer(value, path, add) {
1642
+ if (!isRecord(value)) {
1643
+ add(path, 'groundDecal UI layer must be an object');
1644
+ return;
1645
+ }
1646
+ if (!nonEmptyString(value.id))
1647
+ add(`${path}.id`, 'layer.id must be non-empty');
1648
+ if (!['base', 'border', 'mainLogo', 'subLogo', 'amount', 'progressFill'].includes(String(value.role))) {
1649
+ add(`${path}.role`, 'layer.role is invalid');
1650
+ }
1651
+ if (value.enabled != null && typeof value.enabled !== 'boolean')
1652
+ add(`${path}.enabled`, 'layer.enabled must be boolean');
1653
+ if (typeof value.zOrder !== 'number' || !Number.isFinite(value.zOrder))
1654
+ add(`${path}.zOrder`, 'layer.zOrder must be a finite number');
1655
+ if (value.opacity != null && (typeof value.opacity !== 'number' || !Number.isFinite(value.opacity)))
1656
+ add(`${path}.opacity`, 'layer.opacity must be finite');
1657
+ validateGroundDecalUiRect(value.rect, `${path}.rect`, add);
1658
+ if (value.kind === 'texture') {
1659
+ if (!nonEmptyString(value.textureId))
1660
+ add(`${path}.textureId`, 'texture layer textureId must be non-empty');
1661
+ validateGroundDecalUiColor(value.tint, `${path}.tint`, add);
1662
+ }
1663
+ else if (value.kind === 'color') {
1664
+ validateGroundDecalUiColor(value.color, `${path}.color`, add);
1665
+ }
1666
+ else if (value.kind === 'progress') {
1667
+ if (typeof value.value !== 'number' || !Number.isFinite(value.value) || value.value < 0 || value.value > 1) {
1668
+ add(`${path}.value`, 'progress value must be between 0 and 1');
1669
+ }
1670
+ if (value.direction != null && !['leftToRight', 'rightToLeft', 'bottomToTop', 'topToBottom'].includes(String(value.direction))) {
1671
+ add(`${path}.direction`, 'progress direction is invalid');
1672
+ }
1673
+ validateGroundDecalUiColor(value.color, `${path}.color`, add);
1674
+ }
1675
+ else if (value.kind === 'text') {
1676
+ validateGroundDecalUiText(value.text, `${path}.text`, add);
1677
+ }
1678
+ else {
1679
+ add(`${path}.kind`, 'layer.kind must be texture, color, progress, or text');
1680
+ }
1681
+ }
1682
+ function validateGroundDecalUiLayerIds(layers, path, add) {
1683
+ const seen = new Map();
1684
+ layers.forEach((layer, index) => {
1685
+ if (!isRecord(layer) || !nonEmptyString(layer.id))
1686
+ return;
1687
+ const previousIndex = seen.get(layer.id);
1688
+ if (previousIndex != null) {
1689
+ add(`${path}[${index}].id`, `layer.id must be unique; duplicate of layers[${previousIndex}]`);
1690
+ return;
1691
+ }
1692
+ seen.set(layer.id, index);
1693
+ });
1694
+ }
1695
+ function validateDeliveryGroundDecalUiPairs(layers, path, add) {
1696
+ const records = layers.filter(isRecord);
1697
+ const subLogoLayers = records.filter(layer => layer.role === 'subLogo');
1698
+ const amountLayers = records.filter(layer => layer.role === 'amount');
1699
+ if (subLogoLayers.length < 1 || amountLayers.length < 1) {
1700
+ add(path, 'delivery groundDecal UI requires at least one subLogo + amount pair');
1701
+ }
1702
+ if (subLogoLayers.length > 2 || amountLayers.length > 2) {
1703
+ add(path, 'delivery groundDecal UI supports at most two subLogo + amount pairs');
1704
+ }
1705
+ if (subLogoLayers.length !== amountLayers.length) {
1706
+ add(path, 'delivery groundDecal UI subLogo and amount layers must be paired');
1707
+ }
1708
+ validateDeliveryGroundDecalUiPairSlot(records, path, add, {
1709
+ index: 1,
1710
+ subLogoId: 'subLogo',
1711
+ amountId: 'amount',
1712
+ required: true,
1713
+ });
1714
+ validateDeliveryGroundDecalUiPairSlot(records, path, add, {
1715
+ index: 2,
1716
+ subLogoId: 'subLogo2',
1717
+ amountId: 'amount2',
1718
+ required: false,
1719
+ });
1720
+ for (const layer of subLogoLayers) {
1721
+ if (layer.id !== 'subLogo' && layer.id !== 'subLogo2') {
1722
+ add(`${path}.${String(layer.id)}`, 'delivery subLogo layer id must be subLogo or subLogo2');
1723
+ }
1724
+ }
1725
+ for (const layer of amountLayers) {
1726
+ if (layer.id !== 'amount' && layer.id !== 'amount2') {
1727
+ add(`${path}.${String(layer.id)}`, 'delivery amount layer id must be amount or amount2');
1728
+ }
1729
+ }
1730
+ }
1731
+ function validateDeliveryGroundDecalUiPairSlot(layers, path, add, slot) {
1732
+ const subLogoLayer = layers.find(layer => layer.id === slot.subLogoId);
1733
+ const amountLayer = layers.find(layer => layer.id === slot.amountId);
1734
+ if (slot.required && (!subLogoLayer || !amountLayer)) {
1735
+ add(path, `delivery groundDecal UI requires pair ${slot.index}`);
1736
+ }
1737
+ if (!!subLogoLayer !== !!amountLayer) {
1738
+ add(path, `delivery groundDecal UI pair ${slot.index} must contain both subLogo and amount`);
1739
+ }
1740
+ if (subLogoLayer) {
1741
+ if (subLogoLayer.role !== 'subLogo')
1742
+ add(`${path}.${slot.subLogoId}.role`, `pair ${slot.index} subLogo role must be subLogo`);
1743
+ if (subLogoLayer.kind !== 'texture')
1744
+ add(`${path}.${slot.subLogoId}.kind`, `pair ${slot.index} subLogo must be a texture layer`);
1745
+ }
1746
+ if (amountLayer) {
1747
+ if (amountLayer.role !== 'amount')
1748
+ add(`${path}.${slot.amountId}.role`, `pair ${slot.index} amount role must be amount`);
1749
+ if (amountLayer.kind !== 'text')
1750
+ add(`${path}.${slot.amountId}.kind`, `pair ${slot.index} amount must be a text layer`);
1751
+ }
1752
+ }
1753
+ function validateGroundDecalUiRect(value, path, add) {
1754
+ if (!isRecord(value)) {
1755
+ add(path, 'layer.rect must be an object');
1756
+ return;
1757
+ }
1758
+ for (const key of ['x', 'z', 'width', 'depth']) {
1759
+ if (typeof value[key] !== 'number' || !Number.isFinite(value[key]))
1760
+ add(`${path}.${key}`, `rect.${key} must be a finite number`);
1761
+ }
1762
+ for (const key of ['width', 'depth']) {
1763
+ if (typeof value[key] === 'number' && value[key] <= 0)
1764
+ add(`${path}.${key}`, `rect.${key} must be positive`);
1765
+ }
1766
+ }
1767
+ function validateGroundDecalUiText(value, path, add) {
1768
+ if (!isRecord(value)) {
1769
+ add(path, 'text layer text must be an object');
1770
+ return;
1771
+ }
1772
+ if (typeof value.value !== 'string')
1773
+ add(`${path}.value`, 'text.value must be a string');
1774
+ if (value.fontFamily != null && typeof value.fontFamily !== 'string')
1775
+ add(`${path}.fontFamily`, 'fontFamily must be a string');
1776
+ if (value.fontSize != null && (typeof value.fontSize !== 'number' || !Number.isFinite(value.fontSize) || value.fontSize <= 0)) {
1777
+ add(`${path}.fontSize`, 'fontSize must be a positive finite number');
1778
+ }
1779
+ if (value.fontWeight != null && typeof value.fontWeight !== 'string')
1780
+ add(`${path}.fontWeight`, 'fontWeight must be a string');
1781
+ validateGroundDecalUiColor(value.color, `${path}.color`, add);
1782
+ validateGroundDecalUiColor(value.strokeColor, `${path}.strokeColor`, add);
1783
+ if (value.strokeWidth != null && (typeof value.strokeWidth !== 'number' || !Number.isFinite(value.strokeWidth) || value.strokeWidth < 0)) {
1784
+ add(`${path}.strokeWidth`, 'strokeWidth must be a non-negative finite number');
1785
+ }
1786
+ }
1787
+ function validateGroundDecalUiColor(value, path, add) {
1788
+ if (value == null)
1789
+ return;
1790
+ if (!isRecord(value)) {
1791
+ add(path, 'color must be an object');
1792
+ return;
1793
+ }
1794
+ for (const key of ['r', 'g', 'b']) {
1795
+ if (typeof value[key] !== 'number' || !Number.isFinite(value[key]))
1796
+ add(`${path}.${key}`, `color.${key} must be finite`);
1797
+ }
1798
+ if (value.a != null && (typeof value.a !== 'number' || !Number.isFinite(value.a)))
1799
+ add(`${path}.a`, 'color.a must be finite');
1800
+ }
1801
+ function validateNodeRendering(value, path, add) {
1802
+ if (value == null)
1803
+ return;
1804
+ if (!isRecord(value)) {
1805
+ add(path, 'rendering must be an object');
1806
+ return;
1807
+ }
1808
+ if (value.renderingGroupId != null
1809
+ && value.renderingGroupId !== 0
1810
+ && value.renderingGroupId !== 1
1811
+ && value.renderingGroupId !== 2
1812
+ && value.renderingGroupId !== 3) {
1813
+ add(`${path}.renderingGroupId`, 'renderingGroupId must be 0, 1, 2, or 3');
1814
+ }
1815
+ if (value.alphaIndex != null && (typeof value.alphaIndex !== 'number' || !Number.isFinite(value.alphaIndex))) {
1816
+ add(`${path}.alphaIndex`, 'alphaIndex must be a finite number');
1817
+ }
1818
+ }
1819
+ function validateMaterialProperties(value, path, add) {
1820
+ for (const [key, child] of Object.entries(value)) {
1821
+ const childPath = `${path}.${key}`;
1822
+ if (['albedoColor', 'diffuseColor', 'emissiveColor', 'outlineColor'].includes(key))
1823
+ validateColor(child, childPath, add);
1824
+ if (['metallic', 'roughness', 'contrast', 'brightness', 'saturation', 'hue', 'colorDensity', 'alpha', 'alphaCutOff', 'transparencyMode'].includes(key)) {
1825
+ if (typeof child !== 'number' || !Number.isFinite(child))
1826
+ add(childPath, `${key} must be a finite number`);
1827
+ }
1828
+ if (key === 'backFaceCulling' && typeof child !== 'boolean')
1829
+ add(childPath, 'backFaceCulling must be boolean');
1830
+ if (['albedoTexture', 'normalTexture', 'metallicTexture'].includes(key)) {
1831
+ if (!isRecord(child))
1832
+ add(childPath, `${key} must be an object`);
1833
+ else if (child.url != null && !nonEmptyString(child.url))
1834
+ add(`${childPath}.url`, 'texture url must be non-empty when present');
1835
+ }
1836
+ if (['pbr', 'standard'].includes(key)) {
1837
+ if (!isRecord(child))
1838
+ add(childPath, `${key} must be an object`);
1839
+ else
1840
+ validateMaterialProperties(child, childPath, add);
1841
+ }
1842
+ }
1843
+ }
1844
+ function assertNoRuntimeOnlyFields(value, path, add) {
1845
+ const serialized = JSON.stringify(value);
1846
+ const found = RUNTIME_ONLY_TOKENS.filter((token) => serialized.includes(token));
1847
+ if (found.length > 0)
1848
+ add(path, `contains runtime-only asset fields: ${found.join(', ')}`);
1849
+ }
558
1850
  //# sourceMappingURL=validation.js.map