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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1397) 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 +3 -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/product-local-editor-cleanup.d.ts +5 -0
  47. package/dist/internal/product-local-editor-cleanup.d.ts.map +1 -0
  48. package/dist/internal/product-local-editor-cleanup.js +20 -0
  49. package/dist/internal/product-local-editor-cleanup.js.map +1 -0
  50. package/dist/local-editor-agent-actions.d.ts +2 -4
  51. package/dist/local-editor-agent-actions.d.ts.map +1 -1
  52. package/dist/local-editor-agent-actions.js +56 -32
  53. package/dist/local-editor-agent-actions.js.map +1 -1
  54. package/dist/local-editor-agent-context.d.ts +5 -5
  55. package/dist/local-editor-agent-context.d.ts.map +1 -1
  56. package/dist/local-editor-agent-context.js.map +1 -1
  57. package/dist/local-editor-harness.d.ts +340 -35
  58. package/dist/local-editor-harness.d.ts.map +1 -1
  59. package/dist/local-editor-harness.js +3834 -1321
  60. package/dist/local-editor-harness.js.map +1 -1
  61. package/dist/local-editor-marker-graph.d.ts +15 -15
  62. package/dist/local-editor-marker-graph.d.ts.map +1 -1
  63. package/dist/local-editor-marker-graph.js +3 -0
  64. package/dist/local-editor-marker-graph.js.map +1 -1
  65. package/dist/local-editor-performance-stats.d.ts +3 -2
  66. package/dist/local-editor-performance-stats.d.ts.map +1 -1
  67. package/dist/local-editor-performance-stats.js.map +1 -1
  68. package/dist/local-editor-prefab-stage-transaction.d.ts +19 -0
  69. package/dist/local-editor-prefab-stage-transaction.d.ts.map +1 -0
  70. package/dist/local-editor-prefab-stage-transaction.js +45 -0
  71. package/dist/local-editor-prefab-stage-transaction.js.map +1 -0
  72. package/dist/local-editor-scene-view-interaction-runtime.d.ts +3 -1
  73. package/dist/local-editor-scene-view-interaction-runtime.d.ts.map +1 -1
  74. package/dist/local-editor-scene-view-interaction-runtime.js +24 -0
  75. package/dist/local-editor-scene-view-interaction-runtime.js.map +1 -1
  76. package/dist/local-editor-tools.d.ts +18 -0
  77. package/dist/local-editor-tools.d.ts.map +1 -0
  78. package/dist/local-editor-tools.js +53 -0
  79. package/dist/local-editor-tools.js.map +1 -0
  80. package/dist/playable-babylon-rendering.d.ts +9 -0
  81. package/dist/playable-babylon-rendering.d.ts.map +1 -1
  82. package/dist/playable-babylon-rendering.js +162 -6
  83. package/dist/playable-babylon-rendering.js.map +1 -1
  84. package/dist/playable-local-editor-entry.d.ts +68 -0
  85. package/dist/playable-local-editor-entry.d.ts.map +1 -0
  86. package/dist/playable-local-editor-entry.js +424 -0
  87. package/dist/playable-local-editor-entry.js.map +1 -0
  88. package/dist/playable-local-editor-host.d.ts +51 -29
  89. package/dist/playable-local-editor-host.d.ts.map +1 -1
  90. package/dist/playable-local-editor-host.js +23 -11
  91. package/dist/playable-local-editor-host.js.map +1 -1
  92. package/dist/playable-product-local-editor.d.ts +10 -12
  93. package/dist/playable-product-local-editor.d.ts.map +1 -1
  94. package/dist/playable-product-local-editor.js +178 -85
  95. package/dist/playable-product-local-editor.js.map +1 -1
  96. package/dist/playable-product-projection-preview.d.ts +4 -1
  97. package/dist/playable-product-projection-preview.d.ts.map +1 -1
  98. package/dist/playable-product-projection-preview.js +122 -5
  99. package/dist/playable-product-projection-preview.js.map +1 -1
  100. package/dist/playable-product-rendering.d.ts +12 -0
  101. package/dist/playable-product-rendering.d.ts.map +1 -1
  102. package/dist/playable-product-rendering.js +128 -6
  103. package/dist/playable-product-rendering.js.map +1 -1
  104. package/dist/playable-product-scene-capabilities.d.ts +24 -7
  105. package/dist/playable-product-scene-capabilities.d.ts.map +1 -1
  106. package/dist/playable-product-scene-capabilities.js +172 -15
  107. package/dist/playable-product-scene-capabilities.js.map +1 -1
  108. package/dist/playable-project-mode.d.ts +17 -0
  109. package/dist/playable-project-mode.d.ts.map +1 -0
  110. package/dist/playable-project-mode.js +2 -0
  111. package/dist/playable-project-mode.js.map +1 -0
  112. package/dist/playable-runtime-babylon.d.ts +3 -6
  113. package/dist/playable-runtime-babylon.d.ts.map +1 -1
  114. package/dist/playable-runtime-babylon.js +1 -5
  115. package/dist/playable-runtime-babylon.js.map +1 -1
  116. package/dist/playable-sdk.d.ts +16 -9
  117. package/dist/playable-sdk.d.ts.map +1 -1
  118. package/dist/playable-sdk.js +6 -4
  119. package/dist/playable-sdk.js.map +1 -1
  120. package/dist/playable-standard-project.d.ts +23 -14
  121. package/dist/playable-standard-project.d.ts.map +1 -1
  122. package/dist/playable-standard-project.js +53 -19
  123. package/dist/playable-standard-project.js.map +1 -1
  124. package/dist/vite-client.d.ts +4 -0
  125. package/node_modules/@babel/helper-string-parser/lib/index.js +0 -1
  126. package/node_modules/@babel/helper-validator-identifier/lib/identifier.js +0 -1
  127. package/node_modules/@babel/helper-validator-identifier/lib/index.js +0 -1
  128. package/node_modules/@babel/helper-validator-identifier/lib/keyword.js +0 -1
  129. package/node_modules/@babel/parser/lib/index.js +0 -1
  130. package/node_modules/@babel/types/lib/asserts/assertNode.js +0 -1
  131. package/node_modules/@babel/types/lib/asserts/generated/index.js +0 -1
  132. package/node_modules/@babel/types/lib/ast-types/generated/index.js +0 -1
  133. package/node_modules/@babel/types/lib/builders/flow/createFlowUnionType.js +0 -1
  134. package/node_modules/@babel/types/lib/builders/flow/createTypeAnnotationBasedOnTypeof.js +0 -1
  135. package/node_modules/@babel/types/lib/builders/generated/index.js +0 -1
  136. package/node_modules/@babel/types/lib/builders/generated/lowercase.js +0 -1
  137. package/node_modules/@babel/types/lib/builders/generated/uppercase.js +0 -1
  138. package/node_modules/@babel/types/lib/builders/productions.js +0 -1
  139. package/node_modules/@babel/types/lib/builders/react/buildChildren.js +0 -1
  140. package/node_modules/@babel/types/lib/builders/typescript/createTSUnionType.js +0 -1
  141. package/node_modules/@babel/types/lib/builders/validateNode.js +0 -1
  142. package/node_modules/@babel/types/lib/clone/clone.js +0 -1
  143. package/node_modules/@babel/types/lib/clone/cloneDeep.js +0 -1
  144. package/node_modules/@babel/types/lib/clone/cloneDeepWithoutLoc.js +0 -1
  145. package/node_modules/@babel/types/lib/clone/cloneNode.js +0 -1
  146. package/node_modules/@babel/types/lib/clone/cloneWithoutLoc.js +0 -1
  147. package/node_modules/@babel/types/lib/comments/addComment.js +0 -1
  148. package/node_modules/@babel/types/lib/comments/addComments.js +0 -1
  149. package/node_modules/@babel/types/lib/comments/inheritInnerComments.js +0 -1
  150. package/node_modules/@babel/types/lib/comments/inheritLeadingComments.js +0 -1
  151. package/node_modules/@babel/types/lib/comments/inheritTrailingComments.js +0 -1
  152. package/node_modules/@babel/types/lib/comments/inheritsComments.js +0 -1
  153. package/node_modules/@babel/types/lib/comments/removeComments.js +0 -1
  154. package/node_modules/@babel/types/lib/constants/generated/index.js +0 -1
  155. package/node_modules/@babel/types/lib/constants/index.js +0 -1
  156. package/node_modules/@babel/types/lib/converters/ensureBlock.js +0 -1
  157. package/node_modules/@babel/types/lib/converters/gatherSequenceExpressions.js +0 -1
  158. package/node_modules/@babel/types/lib/converters/toBindingIdentifierName.js +0 -1
  159. package/node_modules/@babel/types/lib/converters/toBlock.js +0 -1
  160. package/node_modules/@babel/types/lib/converters/toComputedKey.js +0 -1
  161. package/node_modules/@babel/types/lib/converters/toExpression.js +0 -1
  162. package/node_modules/@babel/types/lib/converters/toIdentifier.js +0 -1
  163. package/node_modules/@babel/types/lib/converters/toKeyAlias.js +0 -1
  164. package/node_modules/@babel/types/lib/converters/toSequenceExpression.js +0 -1
  165. package/node_modules/@babel/types/lib/converters/toStatement.js +0 -1
  166. package/node_modules/@babel/types/lib/converters/valueToNode.js +0 -1
  167. package/node_modules/@babel/types/lib/definitions/core.js +0 -1
  168. package/node_modules/@babel/types/lib/definitions/deprecated-aliases.js +0 -1
  169. package/node_modules/@babel/types/lib/definitions/experimental.js +0 -1
  170. package/node_modules/@babel/types/lib/definitions/flow.js +0 -1
  171. package/node_modules/@babel/types/lib/definitions/index.js +0 -1
  172. package/node_modules/@babel/types/lib/definitions/jsx.js +0 -1
  173. package/node_modules/@babel/types/lib/definitions/misc.js +0 -1
  174. package/node_modules/@babel/types/lib/definitions/placeholders.js +0 -1
  175. package/node_modules/@babel/types/lib/definitions/typescript.js +0 -1
  176. package/node_modules/@babel/types/lib/definitions/utils.js +0 -1
  177. package/node_modules/@babel/types/lib/index.js +0 -1
  178. package/node_modules/@babel/types/lib/modifications/appendToMemberExpression.js +0 -1
  179. package/node_modules/@babel/types/lib/modifications/flow/removeTypeDuplicates.js +0 -1
  180. package/node_modules/@babel/types/lib/modifications/inherits.js +0 -1
  181. package/node_modules/@babel/types/lib/modifications/prependToMemberExpression.js +0 -1
  182. package/node_modules/@babel/types/lib/modifications/removeProperties.js +0 -1
  183. package/node_modules/@babel/types/lib/modifications/removePropertiesDeep.js +0 -1
  184. package/node_modules/@babel/types/lib/modifications/typescript/removeTypeDuplicates.js +0 -1
  185. package/node_modules/@babel/types/lib/retrievers/getAssignmentIdentifiers.js +0 -1
  186. package/node_modules/@babel/types/lib/retrievers/getBindingIdentifiers.js +0 -1
  187. package/node_modules/@babel/types/lib/retrievers/getFunctionName.js +0 -1
  188. package/node_modules/@babel/types/lib/retrievers/getOuterBindingIdentifiers.js +0 -1
  189. package/node_modules/@babel/types/lib/traverse/traverse.js +0 -1
  190. package/node_modules/@babel/types/lib/traverse/traverseFast.js +0 -1
  191. package/node_modules/@babel/types/lib/utils/deprecationWarning.js +0 -1
  192. package/node_modules/@babel/types/lib/utils/inherit.js +0 -1
  193. package/node_modules/@babel/types/lib/utils/react/cleanJSXElementLiteralChild.js +0 -1
  194. package/node_modules/@babel/types/lib/utils/shallowEqual.js +0 -1
  195. package/node_modules/@babel/types/lib/validators/buildMatchMemberExpression.js +0 -1
  196. package/node_modules/@babel/types/lib/validators/generated/index.js +0 -1
  197. package/node_modules/@babel/types/lib/validators/is.js +0 -1
  198. package/node_modules/@babel/types/lib/validators/isBinding.js +0 -1
  199. package/node_modules/@babel/types/lib/validators/isBlockScoped.js +0 -1
  200. package/node_modules/@babel/types/lib/validators/isImmutable.js +0 -1
  201. package/node_modules/@babel/types/lib/validators/isLet.js +0 -1
  202. package/node_modules/@babel/types/lib/validators/isNode.js +0 -1
  203. package/node_modules/@babel/types/lib/validators/isNodesEquivalent.js +0 -1
  204. package/node_modules/@babel/types/lib/validators/isPlaceholderType.js +0 -1
  205. package/node_modules/@babel/types/lib/validators/isReferenced.js +0 -1
  206. package/node_modules/@babel/types/lib/validators/isScope.js +0 -1
  207. package/node_modules/@babel/types/lib/validators/isSpecifierDefault.js +0 -1
  208. package/node_modules/@babel/types/lib/validators/isType.js +0 -1
  209. package/node_modules/@babel/types/lib/validators/isValidES3Identifier.js +0 -1
  210. package/node_modules/@babel/types/lib/validators/isValidIdentifier.js +0 -1
  211. package/node_modules/@babel/types/lib/validators/isVar.js +0 -1
  212. package/node_modules/@babel/types/lib/validators/matchesPattern.js +0 -1
  213. package/node_modules/@babel/types/lib/validators/react/isCompatTag.js +0 -1
  214. package/node_modules/@babel/types/lib/validators/react/isReactComponent.js +0 -1
  215. package/node_modules/@babel/types/lib/validators/validate.js +0 -1
  216. package/node_modules/@babylonjs/loaders/BVH/bvhFileLoader.d.ts +69 -0
  217. package/node_modules/@babylonjs/loaders/BVH/bvhFileLoader.js +132 -0
  218. package/node_modules/@babylonjs/loaders/BVH/bvhFileLoader.metadata.d.ts +8 -0
  219. package/node_modules/@babylonjs/loaders/BVH/bvhFileLoader.metadata.js +7 -0
  220. package/node_modules/@babylonjs/loaders/BVH/bvhLoader.d.ts +14 -0
  221. package/node_modules/@babylonjs/loaders/BVH/bvhLoader.js +328 -0
  222. package/node_modules/@babylonjs/loaders/BVH/bvhLoadingOptions.d.ts +9 -0
  223. package/node_modules/@babylonjs/loaders/BVH/bvhLoadingOptions.js +1 -0
  224. package/node_modules/@babylonjs/loaders/BVH/index.d.ts +2 -0
  225. package/node_modules/@babylonjs/loaders/BVH/index.js +3 -0
  226. package/node_modules/@babylonjs/loaders/OBJ/index.d.ts +4 -0
  227. package/node_modules/@babylonjs/loaders/OBJ/index.js +4 -0
  228. package/node_modules/@babylonjs/loaders/OBJ/mtlFileLoader.d.ts +41 -0
  229. package/node_modules/@babylonjs/loaders/OBJ/mtlFileLoader.js +230 -0
  230. package/node_modules/@babylonjs/loaders/OBJ/objFileLoader.d.ts +136 -0
  231. package/node_modules/@babylonjs/loaders/OBJ/objFileLoader.js +317 -0
  232. package/node_modules/@babylonjs/loaders/OBJ/objFileLoader.metadata.d.ts +4 -0
  233. package/node_modules/@babylonjs/loaders/OBJ/objFileLoader.metadata.js +4 -0
  234. package/node_modules/@babylonjs/loaders/OBJ/objLoadingOptions.d.ts +47 -0
  235. package/node_modules/@babylonjs/loaders/OBJ/objLoadingOptions.js +1 -0
  236. package/node_modules/@babylonjs/loaders/OBJ/solidParser.d.ts +175 -0
  237. package/node_modules/@babylonjs/loaders/OBJ/solidParser.js +903 -0
  238. package/node_modules/@babylonjs/loaders/SPLAT/index.d.ts +2 -0
  239. package/node_modules/@babylonjs/loaders/SPLAT/index.js +3 -0
  240. package/node_modules/@babylonjs/loaders/SPLAT/sog.d.ts +84 -0
  241. package/node_modules/@babylonjs/loaders/SPLAT/sog.js +294 -0
  242. package/node_modules/@babylonjs/loaders/SPLAT/splatDefs.d.ts +26 -0
  243. package/node_modules/@babylonjs/loaders/SPLAT/splatDefs.js +10 -0
  244. package/node_modules/@babylonjs/loaders/SPLAT/splatFileLoader.d.ts +100 -0
  245. package/node_modules/@babylonjs/loaders/SPLAT/splatFileLoader.js +536 -0
  246. package/node_modules/@babylonjs/loaders/SPLAT/splatFileLoader.metadata.d.ts +20 -0
  247. package/node_modules/@babylonjs/loaders/SPLAT/splatFileLoader.metadata.js +15 -0
  248. package/node_modules/@babylonjs/loaders/SPLAT/splatLoadingOptions.d.ts +33 -0
  249. package/node_modules/@babylonjs/loaders/SPLAT/splatLoadingOptions.js +1 -0
  250. package/node_modules/@babylonjs/loaders/SPLAT/spz.d.ts +11 -0
  251. package/node_modules/@babylonjs/loaders/SPLAT/spz.js +168 -0
  252. package/node_modules/@babylonjs/loaders/STL/index.d.ts +1 -0
  253. package/node_modules/@babylonjs/loaders/STL/index.js +1 -0
  254. package/node_modules/@babylonjs/loaders/STL/stlFileLoader.d.ts +78 -0
  255. package/node_modules/@babylonjs/loaders/STL/stlFileLoader.js +238 -0
  256. package/node_modules/@babylonjs/loaders/STL/stlFileLoader.metadata.d.ts +8 -0
  257. package/node_modules/@babylonjs/loaders/STL/stlFileLoader.metadata.js +7 -0
  258. package/node_modules/@babylonjs/loaders/bvh/license.md +21 -0
  259. package/node_modules/@babylonjs/loaders/dynamic.d.ts +5 -0
  260. package/node_modules/@babylonjs/loaders/dynamic.js +56 -0
  261. package/node_modules/@babylonjs/loaders/glTF/1.0/glTFBinaryExtension.d.ts +16 -0
  262. package/node_modules/@babylonjs/loaders/glTF/1.0/glTFBinaryExtension.js +64 -0
  263. package/node_modules/@babylonjs/loaders/glTF/1.0/glTFLoader.d.ts +144 -0
  264. package/node_modules/@babylonjs/loaders/glTF/1.0/glTFLoader.js +1841 -0
  265. package/node_modules/@babylonjs/loaders/glTF/1.0/glTFLoaderInterfaces.d.ts +412 -0
  266. package/node_modules/@babylonjs/loaders/glTF/1.0/glTFLoaderInterfaces.js +95 -0
  267. package/node_modules/@babylonjs/loaders/glTF/1.0/glTFLoaderUtils.d.ts +71 -0
  268. package/node_modules/@babylonjs/loaders/glTF/1.0/glTFLoaderUtils.js +254 -0
  269. package/node_modules/@babylonjs/loaders/glTF/1.0/glTFMaterialsCommonExtension.d.ts +13 -0
  270. package/node_modules/@babylonjs/loaders/glTF/1.0/glTFMaterialsCommonExtension.js +130 -0
  271. package/node_modules/@babylonjs/loaders/glTF/1.0/index.d.ts +5 -0
  272. package/node_modules/@babylonjs/loaders/glTF/1.0/index.js +5 -0
  273. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/EXT_lights_area.d.ts +41 -0
  274. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/EXT_lights_area.js +93 -0
  275. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/EXT_lights_ies.d.ts +41 -0
  276. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/EXT_lights_ies.js +83 -0
  277. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/EXT_lights_image_based.d.ts +48 -0
  278. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/EXT_lights_image_based.js +115 -0
  279. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/EXT_mesh_gpu_instancing.d.ts +39 -0
  280. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/EXT_mesh_gpu_instancing.js +94 -0
  281. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/EXT_meshopt_compression.d.ts +39 -0
  282. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/EXT_meshopt_compression.js +50 -0
  283. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/EXT_texture_avif.d.ts +34 -0
  284. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/EXT_texture_avif.js +38 -0
  285. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/EXT_texture_webp.d.ts +33 -0
  286. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/EXT_texture_webp.js +37 -0
  287. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/ExtrasAsMetadata.d.ts +53 -0
  288. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/ExtrasAsMetadata.js +73 -0
  289. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_animation_pointer.d.ts +47 -0
  290. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_animation_pointer.data.d.ts +1 -0
  291. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_animation_pointer.data.js +251 -0
  292. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_animation_pointer.js +77 -0
  293. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_draco_mesh_compression.d.ts +47 -0
  294. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_draco_mesh_compression.js +92 -0
  295. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_interactivity/declarationMapper.d.ts +355 -0
  296. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_interactivity/declarationMapper.js +1678 -0
  297. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_interactivity/flowGraphGLTFDataProvider.d.ts +33 -0
  298. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_interactivity/flowGraphGLTFDataProvider.js +19 -0
  299. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_interactivity/index.d.ts +3 -0
  300. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_interactivity/index.js +3 -0
  301. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_interactivity/interactivityGraphParser.d.ts +70 -0
  302. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_interactivity/interactivityGraphParser.js +438 -0
  303. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_interactivity.d.ts +38 -0
  304. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_interactivity.js +150 -0
  305. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_lights_punctual.d.ts +41 -0
  306. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_lights_punctual.js +91 -0
  307. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_materials_anisotropy.d.ts +42 -0
  308. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_materials_anisotropy.js +65 -0
  309. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_materials_clearcoat.d.ts +43 -0
  310. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_materials_clearcoat.js +79 -0
  311. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_materials_coat.d.ts +49 -0
  312. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_materials_coat.js +119 -0
  313. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_materials_diffuse_roughness.d.ts +43 -0
  314. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_materials_diffuse_roughness.js +58 -0
  315. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_materials_diffuse_transmission.d.ts +43 -0
  316. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_materials_diffuse_transmission.js +69 -0
  317. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_materials_dispersion.d.ts +43 -0
  318. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_materials_dispersion.js +56 -0
  319. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_materials_emissive_strength.d.ts +42 -0
  320. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_materials_emissive_strength.js +47 -0
  321. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_materials_fuzz.d.ts +43 -0
  322. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_materials_fuzz.js +77 -0
  323. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_materials_ior.d.ts +46 -0
  324. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_materials_ior.js +54 -0
  325. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_materials_iridescence.d.ts +42 -0
  326. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_materials_iridescence.js +68 -0
  327. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_materials_pbrSpecularGlossiness.d.ts +42 -0
  328. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_materials_pbrSpecularGlossiness.js +80 -0
  329. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_materials_sheen.d.ts +43 -0
  330. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_materials_sheen.js +73 -0
  331. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_materials_specular.d.ts +42 -0
  332. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_materials_specular.js +76 -0
  333. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_materials_transmission.d.ts +42 -0
  334. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_materials_transmission.js +303 -0
  335. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_materials_unlit.d.ts +42 -0
  336. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_materials_unlit.js +66 -0
  337. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_materials_variants.d.ts +112 -0
  338. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_materials_variants.js +262 -0
  339. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_materials_volume.d.ts +43 -0
  340. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_materials_volume.js +82 -0
  341. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_materials_volume_scatter.d.ts +45 -0
  342. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_materials_volume_scatter.js +109 -0
  343. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_mesh_quantization.d.ts +29 -0
  344. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_mesh_quantization.js +22 -0
  345. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_node_hoverability.d.ts +31 -0
  346. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_node_hoverability.js +189 -0
  347. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_node_selectability.d.ts +30 -0
  348. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_node_selectability.js +123 -0
  349. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_node_visibility.d.ts +30 -0
  350. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_node_visibility.js +66 -0
  351. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_texture_basisu.d.ts +33 -0
  352. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_texture_basisu.js +37 -0
  353. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_texture_transform.d.ts +37 -0
  354. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_texture_transform.js +58 -0
  355. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_xmp_json_ld.d.ts +39 -0
  356. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_xmp_json_ld.js +47 -0
  357. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/MSFT_audio_emitter.d.ts +56 -0
  358. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/MSFT_audio_emitter.js +228 -0
  359. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/MSFT_lod.d.ts +104 -0
  360. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/MSFT_lod.js +337 -0
  361. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/MSFT_minecraftMesh.d.ts +27 -0
  362. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/MSFT_minecraftMesh.js +39 -0
  363. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/MSFT_sRGBFactors.d.ts +27 -0
  364. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/MSFT_sRGBFactors.js +38 -0
  365. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/dynamic.d.ts +4 -0
  366. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/dynamic.js +212 -0
  367. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/gltfPathToObjectConverter.d.ts +45 -0
  368. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/gltfPathToObjectConverter.js +100 -0
  369. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/index.d.ts +43 -0
  370. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/index.js +44 -0
  371. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/objectModelMapping.d.ts +306 -0
  372. package/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/objectModelMapping.js +884 -0
  373. package/node_modules/@babylonjs/loaders/glTF/2.0/glTFLoader.d.ts +450 -0
  374. package/node_modules/@babylonjs/loaders/glTF/2.0/glTFLoader.js +2485 -0
  375. package/node_modules/@babylonjs/loaders/glTF/2.0/glTFLoaderAnimation.d.ts +42 -0
  376. package/node_modules/@babylonjs/loaders/glTF/2.0/glTFLoaderAnimation.js +79 -0
  377. package/node_modules/@babylonjs/loaders/glTF/2.0/glTFLoaderExtension.d.ts +165 -0
  378. package/node_modules/@babylonjs/loaders/glTF/2.0/glTFLoaderExtension.js +1 -0
  379. package/node_modules/@babylonjs/loaders/glTF/2.0/glTFLoaderExtensionRegistry.d.ts +25 -0
  380. package/node_modules/@babylonjs/loaders/glTF/2.0/glTFLoaderExtensionRegistry.js +32 -0
  381. package/node_modules/@babylonjs/loaders/glTF/2.0/glTFLoaderInterfaces.d.ts +262 -0
  382. package/node_modules/@babylonjs/loaders/glTF/2.0/glTFLoaderInterfaces.js +1 -0
  383. package/node_modules/@babylonjs/loaders/glTF/2.0/index.d.ts +8 -0
  384. package/node_modules/@babylonjs/loaders/glTF/2.0/index.js +9 -0
  385. package/node_modules/@babylonjs/loaders/glTF/2.0/materialLoadingAdapter.d.ts +364 -0
  386. package/node_modules/@babylonjs/loaders/glTF/2.0/materialLoadingAdapter.js +1 -0
  387. package/node_modules/@babylonjs/loaders/glTF/2.0/openpbrMaterialLoadingAdapter.d.ts +674 -0
  388. package/node_modules/@babylonjs/loaders/glTF/2.0/openpbrMaterialLoadingAdapter.js +1034 -0
  389. package/node_modules/@babylonjs/loaders/glTF/2.0/pbrMaterialLoadingAdapter.d.ts +705 -0
  390. package/node_modules/@babylonjs/loaders/glTF/2.0/pbrMaterialLoadingAdapter.js +1126 -0
  391. package/node_modules/@babylonjs/loaders/glTF/glTFFileLoader.d.ts +553 -0
  392. package/node_modules/@babylonjs/loaders/glTF/glTFFileLoader.js +998 -0
  393. package/node_modules/@babylonjs/loaders/glTF/glTFFileLoader.metadata.d.ts +15 -0
  394. package/node_modules/@babylonjs/loaders/glTF/glTFFileLoader.metadata.js +17 -0
  395. package/node_modules/@babylonjs/loaders/glTF/glTFValidation.d.ts +35 -0
  396. package/node_modules/@babylonjs/loaders/glTF/glTFValidation.js +131 -0
  397. package/node_modules/@babylonjs/loaders/glTF/index.d.ts +5 -0
  398. package/node_modules/@babylonjs/loaders/glTF/index.js +6 -0
  399. package/node_modules/@babylonjs/loaders/index.d.ts +6 -0
  400. package/node_modules/@babylonjs/loaders/index.js +7 -0
  401. package/node_modules/@babylonjs/loaders/legacy/legacy-bvhFileLoader.d.ts +1 -0
  402. package/node_modules/@babylonjs/loaders/legacy/legacy-bvhFileLoader.js +15 -0
  403. package/node_modules/@babylonjs/loaders/legacy/legacy-dynamic.d.ts +1 -0
  404. package/node_modules/@babylonjs/loaders/legacy/legacy-dynamic.js +13 -0
  405. package/node_modules/@babylonjs/loaders/legacy/legacy-glTF.d.ts +2 -0
  406. package/node_modules/@babylonjs/loaders/legacy/legacy-glTF.js +18 -0
  407. package/node_modules/@babylonjs/loaders/legacy/legacy-glTF1.d.ts +2 -0
  408. package/node_modules/@babylonjs/loaders/legacy/legacy-glTF1.js +15 -0
  409. package/node_modules/@babylonjs/loaders/legacy/legacy-glTF1FileLoader.d.ts +2 -0
  410. package/node_modules/@babylonjs/loaders/legacy/legacy-glTF1FileLoader.js +3 -0
  411. package/node_modules/@babylonjs/loaders/legacy/legacy-glTF2.d.ts +2 -0
  412. package/node_modules/@babylonjs/loaders/legacy/legacy-glTF2.js +34 -0
  413. package/node_modules/@babylonjs/loaders/legacy/legacy-glTF2FileLoader.d.ts +2 -0
  414. package/node_modules/@babylonjs/loaders/legacy/legacy-glTF2FileLoader.js +3 -0
  415. package/node_modules/@babylonjs/loaders/legacy/legacy-glTFFileLoader.d.ts +3 -0
  416. package/node_modules/@babylonjs/loaders/legacy/legacy-glTFFileLoader.js +4 -0
  417. package/node_modules/@babylonjs/loaders/legacy/legacy-objFileLoader.d.ts +1 -0
  418. package/node_modules/@babylonjs/loaders/legacy/legacy-objFileLoader.js +15 -0
  419. package/node_modules/@babylonjs/loaders/legacy/legacy-stlFileLoader.d.ts +1 -0
  420. package/node_modules/@babylonjs/loaders/legacy/legacy-stlFileLoader.js +15 -0
  421. package/node_modules/@babylonjs/loaders/legacy/legacy.d.ts +8 -0
  422. package/node_modules/@babylonjs/loaders/legacy/legacy.js +10 -0
  423. package/node_modules/@babylonjs/loaders/license.md +71 -0
  424. package/node_modules/@babylonjs/loaders/package.json +49 -0
  425. package/node_modules/@babylonjs/loaders/readme.md +23 -0
  426. package/node_modules/@fps-games/babylon-renderer/dist/game-world-plugin-lifecycle.d.ts +22 -0
  427. package/node_modules/@fps-games/babylon-renderer/dist/game-world-plugin-lifecycle.d.ts.map +1 -0
  428. package/node_modules/@fps-games/babylon-renderer/dist/game-world-plugin-lifecycle.js +187 -0
  429. package/node_modules/@fps-games/babylon-renderer/dist/game-world-plugin-lifecycle.js.map +1 -0
  430. package/node_modules/@fps-games/babylon-renderer/dist/index.d.ts +3 -0
  431. package/node_modules/@fps-games/babylon-renderer/dist/index.d.ts.map +1 -1
  432. package/node_modules/@fps-games/babylon-renderer/dist/index.js +3 -0
  433. package/node_modules/@fps-games/babylon-renderer/dist/index.js.map +1 -1
  434. package/node_modules/@fps-games/babylon-renderer/dist/material-owner-candidates.d.ts +19 -0
  435. package/node_modules/@fps-games/babylon-renderer/dist/material-owner-candidates.d.ts.map +1 -0
  436. package/node_modules/@fps-games/babylon-renderer/dist/material-owner-candidates.js +212 -0
  437. package/node_modules/@fps-games/babylon-renderer/dist/material-owner-candidates.js.map +1 -0
  438. package/node_modules/@fps-games/babylon-renderer/dist/plugin.d.ts +17 -2
  439. package/node_modules/@fps-games/babylon-renderer/dist/plugin.d.ts.map +1 -1
  440. package/node_modules/@fps-games/babylon-renderer/dist/plugin.js +192 -17
  441. package/node_modules/@fps-games/babylon-renderer/dist/plugin.js.map +1 -1
  442. package/node_modules/@fps-games/babylon-renderer/dist/post-process/babylon-default-pipeline.d.ts +2 -0
  443. package/node_modules/@fps-games/babylon-renderer/dist/post-process/babylon-default-pipeline.d.ts.map +1 -1
  444. package/node_modules/@fps-games/babylon-renderer/dist/post-process/babylon-default-pipeline.js +139 -3
  445. package/node_modules/@fps-games/babylon-renderer/dist/post-process/babylon-default-pipeline.js.map +1 -1
  446. package/node_modules/@fps-games/babylon-renderer/dist/post-process/types.d.ts +4 -0
  447. package/node_modules/@fps-games/babylon-renderer/dist/post-process/types.d.ts.map +1 -1
  448. package/node_modules/@fps-games/babylon-renderer/dist/post-process/types.js.map +1 -1
  449. package/node_modules/@fps-games/babylon-renderer/dist/shadows/dynamic-shadow-system.d.ts +1 -0
  450. package/node_modules/@fps-games/babylon-renderer/dist/shadows/dynamic-shadow-system.d.ts.map +1 -1
  451. package/node_modules/@fps-games/babylon-renderer/dist/shadows/dynamic-shadow-system.js +1 -0
  452. package/node_modules/@fps-games/babylon-renderer/dist/shadows/dynamic-shadow-system.js.map +1 -1
  453. package/node_modules/@fps-games/babylon-renderer/dist/shadows/shadow-generator-shaders.d.ts +14 -0
  454. package/node_modules/@fps-games/babylon-renderer/dist/shadows/shadow-generator-shaders.d.ts.map +1 -0
  455. package/node_modules/@fps-games/babylon-renderer/dist/shadows/shadow-generator-shaders.js +14 -0
  456. package/node_modules/@fps-games/babylon-renderer/dist/shadows/shadow-generator-shaders.js.map +1 -0
  457. package/node_modules/@fps-games/babylon-renderer/dist/shadows/shadow-map-experiment-depth-backend.d.ts +59 -0
  458. package/node_modules/@fps-games/babylon-renderer/dist/shadows/shadow-map-experiment-depth-backend.d.ts.map +1 -0
  459. package/node_modules/@fps-games/babylon-renderer/dist/shadows/shadow-map-experiment-depth-backend.js +725 -0
  460. package/node_modules/@fps-games/babylon-renderer/dist/shadows/shadow-map-experiment-depth-backend.js.map +1 -0
  461. package/node_modules/@fps-games/babylon-renderer/dist/shadows/shadow-map-experiment-system.d.ts +136 -0
  462. package/node_modules/@fps-games/babylon-renderer/dist/shadows/shadow-map-experiment-system.d.ts.map +1 -0
  463. package/node_modules/@fps-games/babylon-renderer/dist/shadows/shadow-map-experiment-system.js +2735 -0
  464. package/node_modules/@fps-games/babylon-renderer/dist/shadows/shadow-map-experiment-system.js.map +1 -0
  465. package/node_modules/@fps-games/babylon-renderer/package.json +7 -7
  466. package/node_modules/@fps-games/editor-babylon/dist/camera-controller.js +1 -1
  467. package/node_modules/@fps-games/editor-babylon/dist/camera-controller.js.map +1 -1
  468. package/node_modules/@fps-games/editor-babylon/dist/index.d.ts +2 -1
  469. package/node_modules/@fps-games/editor-babylon/dist/index.d.ts.map +1 -1
  470. package/node_modules/@fps-games/editor-babylon/dist/index.js +2 -1
  471. package/node_modules/@fps-games/editor-babylon/dist/index.js.map +1 -1
  472. package/node_modules/@fps-games/editor-babylon/dist/main-camera-preview.d.ts +2 -0
  473. package/node_modules/@fps-games/editor-babylon/dist/main-camera-preview.d.ts.map +1 -1
  474. package/node_modules/@fps-games/editor-babylon/dist/main-camera-preview.js +59 -6
  475. package/node_modules/@fps-games/editor-babylon/dist/main-camera-preview.js.map +1 -1
  476. package/node_modules/@fps-games/editor-babylon/dist/material-slot-source-resolver.d.ts.map +1 -1
  477. package/node_modules/@fps-games/editor-babylon/dist/material-slot-source-resolver.js +81 -11
  478. package/node_modules/@fps-games/editor-babylon/dist/material-slot-source-resolver.js.map +1 -1
  479. package/node_modules/@fps-games/editor-babylon/dist/projection-asset-container-importer.js +2 -8
  480. package/node_modules/@fps-games/editor-babylon/dist/projection-asset-container-importer.js.map +1 -1
  481. package/node_modules/@fps-games/editor-babylon/dist/projection.d.ts +17 -5
  482. package/node_modules/@fps-games/editor-babylon/dist/projection.d.ts.map +1 -1
  483. package/node_modules/@fps-games/editor-babylon/dist/projection.js +300 -362
  484. package/node_modules/@fps-games/editor-babylon/dist/projection.js.map +1 -1
  485. package/node_modules/@fps-games/editor-babylon/dist/scene-view-camera-controller.d.ts +4 -0
  486. package/node_modules/@fps-games/editor-babylon/dist/scene-view-camera-controller.d.ts.map +1 -1
  487. package/node_modules/@fps-games/editor-babylon/dist/scene-view-camera-controller.js +76 -10
  488. package/node_modules/@fps-games/editor-babylon/dist/scene-view-camera-controller.js.map +1 -1
  489. package/node_modules/@fps-games/editor-babylon/dist/selection-identity-pass.d.ts +46 -0
  490. package/node_modules/@fps-games/editor-babylon/dist/selection-identity-pass.d.ts.map +1 -0
  491. package/node_modules/@fps-games/editor-babylon/dist/selection-identity-pass.js +304 -0
  492. package/node_modules/@fps-games/editor-babylon/dist/selection-identity-pass.js.map +1 -0
  493. package/node_modules/@fps-games/editor-babylon/dist/selection-presentation-controller.d.ts +85 -0
  494. package/node_modules/@fps-games/editor-babylon/dist/selection-presentation-controller.d.ts.map +1 -0
  495. package/node_modules/@fps-games/editor-babylon/dist/selection-presentation-controller.js +1600 -0
  496. package/node_modules/@fps-games/editor-babylon/dist/selection-presentation-controller.js.map +1 -0
  497. package/node_modules/@fps-games/editor-babylon/dist/shadow-preview-controller.d.ts +11 -3
  498. package/node_modules/@fps-games/editor-babylon/dist/shadow-preview-controller.d.ts.map +1 -1
  499. package/node_modules/@fps-games/editor-babylon/dist/shadow-preview-controller.js +105 -15
  500. package/node_modules/@fps-games/editor-babylon/dist/shadow-preview-controller.js.map +1 -1
  501. package/node_modules/@fps-games/editor-babylon/dist/viewport-ground-projection.d.ts +25 -0
  502. package/node_modules/@fps-games/editor-babylon/dist/viewport-ground-projection.d.ts.map +1 -0
  503. package/node_modules/@fps-games/editor-babylon/dist/viewport-ground-projection.js +44 -0
  504. package/node_modules/@fps-games/editor-babylon/dist/viewport-ground-projection.js.map +1 -0
  505. package/node_modules/@fps-games/editor-babylon/package.json +6 -5
  506. package/node_modules/@fps-games/editor-browser/dist/index.d.ts +8 -11
  507. package/node_modules/@fps-games/editor-browser/dist/index.d.ts.map +1 -1
  508. package/node_modules/@fps-games/editor-browser/dist/index.js +6 -9
  509. package/node_modules/@fps-games/editor-browser/dist/index.js.map +1 -1
  510. package/node_modules/@fps-games/editor-browser/dist/local-editor-clipboard.d.ts +2 -0
  511. package/node_modules/@fps-games/editor-browser/dist/local-editor-clipboard.d.ts.map +1 -0
  512. package/node_modules/@fps-games/editor-browser/dist/local-editor-clipboard.js +36 -0
  513. package/node_modules/@fps-games/editor-browser/dist/local-editor-clipboard.js.map +1 -0
  514. package/node_modules/@fps-games/editor-browser/dist/local-editor-inspector-groups.d.ts +2 -0
  515. package/node_modules/@fps-games/editor-browser/dist/local-editor-inspector-groups.d.ts.map +1 -1
  516. package/node_modules/@fps-games/editor-browser/dist/local-editor-inspector-groups.js +17 -0
  517. package/node_modules/@fps-games/editor-browser/dist/local-editor-inspector-groups.js.map +1 -1
  518. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-asset-kind.d.ts +1 -1
  519. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-asset-kind.d.ts.map +1 -1
  520. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-asset-kind.js +6 -0
  521. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-asset-kind.js.map +1 -1
  522. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-context-menu.d.ts.map +1 -1
  523. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-context-menu.js +157 -77
  524. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-context-menu.js.map +1 -1
  525. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-dock-panel.d.ts.map +1 -1
  526. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-dock-panel.js +27 -21
  527. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-dock-panel.js.map +1 -1
  528. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-formal-surface-visibility.d.ts +19 -0
  529. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-formal-surface-visibility.d.ts.map +1 -0
  530. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-formal-surface-visibility.js +44 -0
  531. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-formal-surface-visibility.js.map +1 -0
  532. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-controller.d.ts +36 -6
  533. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-controller.d.ts.map +1 -1
  534. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-controller.js +829 -866
  535. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-controller.js.map +1 -1
  536. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-drag-policy.d.ts +8 -7
  537. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-drag-policy.d.ts.map +1 -1
  538. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-drag-policy.js +1 -7
  539. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-drag-policy.js.map +1 -1
  540. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-view-adapter.d.ts +7 -0
  541. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-view-adapter.d.ts.map +1 -0
  542. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-view-adapter.js +20 -0
  543. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-view-adapter.js.map +1 -0
  544. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-view.d.ts +6 -7
  545. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-view.d.ts.map +1 -1
  546. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-view.js +266 -114
  547. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-view.js.map +1 -1
  548. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-icons.d.ts +1 -1
  549. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-icons.d.ts.map +1 -1
  550. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-icons.js +5 -0
  551. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-icons.js.map +1 -1
  552. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-input-router.d.ts.map +1 -1
  553. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-input-router.js +3 -17
  554. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-input-router.js.map +1 -1
  555. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-modal-dialog.d.ts +14 -0
  556. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-modal-dialog.d.ts.map +1 -1
  557. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-modal-dialog.js +44 -62
  558. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-modal-dialog.js.map +1 -1
  559. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-panels.d.ts +10 -7
  560. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-panels.d.ts.map +1 -1
  561. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-panels.js +591 -639
  562. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-panels.js.map +1 -1
  563. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-prefab-stage.d.ts +8 -36
  564. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-prefab-stage.d.ts.map +1 -1
  565. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-prefab-stage.js +25 -103
  566. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-prefab-stage.js.map +1 -1
  567. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-primitives.d.ts.map +1 -1
  568. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-primitives.js +29 -110
  569. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-primitives.js.map +1 -1
  570. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-shared.d.ts +1 -3
  571. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-shared.d.ts.map +1 -1
  572. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-shared.js +6 -90
  573. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-shared.js.map +1 -1
  574. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-shortcuts.d.ts.map +1 -1
  575. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-shortcuts.js +9 -54
  576. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-shortcuts.js.map +1 -1
  577. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-status-diagnostics.d.ts +16 -1
  578. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-status-diagnostics.d.ts.map +1 -1
  579. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-status-diagnostics.js +44 -39
  580. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-status-diagnostics.js.map +1 -1
  581. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-status-format.d.ts +4 -0
  582. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-status-format.d.ts.map +1 -0
  583. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-status-format.js +44 -0
  584. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-status-format.js.map +1 -0
  585. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-structured-drag-policy.d.ts.map +1 -1
  586. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-structured-drag-policy.js +35 -44
  587. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-structured-drag-policy.js.map +1 -1
  588. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-theme.d.ts.map +1 -1
  589. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-theme.js +40 -24
  590. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-theme.js.map +1 -1
  591. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-tooltip.d.ts.map +1 -1
  592. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-tooltip.js +2 -20
  593. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-tooltip.js.map +1 -1
  594. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-types.d.ts +52 -341
  595. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-types.d.ts.map +1 -1
  596. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-types.js.map +1 -1
  597. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-workbench.d.ts +4 -14
  598. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-workbench.d.ts.map +1 -1
  599. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-workbench.js +33 -119
  600. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-workbench.js.map +1 -1
  601. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui.d.ts +5 -10
  602. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui.d.ts.map +1 -1
  603. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui.js +595 -544
  604. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui.js.map +1 -1
  605. package/node_modules/@fps-games/editor-browser/dist/plugin-contributions.d.ts +2 -3
  606. package/node_modules/@fps-games/editor-browser/dist/plugin-contributions.d.ts.map +1 -1
  607. package/node_modules/@fps-games/editor-browser/dist/plugin-contributions.js +0 -180
  608. package/node_modules/@fps-games/editor-browser/dist/plugin-contributions.js.map +1 -1
  609. package/node_modules/@fps-games/editor-browser/dist/runtime-debug.d.ts +5 -0
  610. package/node_modules/@fps-games/editor-browser/dist/runtime-debug.d.ts.map +1 -0
  611. package/node_modules/@fps-games/editor-browser/dist/runtime-debug.js +5 -0
  612. package/node_modules/@fps-games/editor-browser/dist/runtime-debug.js.map +1 -0
  613. package/node_modules/@fps-games/editor-browser/package.json +15 -4
  614. package/node_modules/@fps-games/editor-core/dist/editor-diagnostic-store.d.ts +22 -0
  615. package/node_modules/@fps-games/editor-core/dist/editor-diagnostic-store.d.ts.map +1 -0
  616. package/node_modules/@fps-games/editor-core/dist/editor-diagnostic-store.js +226 -0
  617. package/node_modules/@fps-games/editor-core/dist/editor-diagnostic-store.js.map +1 -0
  618. package/node_modules/@fps-games/editor-core/dist/editor-plugin-host.d.ts +6 -1
  619. package/node_modules/@fps-games/editor-core/dist/editor-plugin-host.d.ts.map +1 -1
  620. package/node_modules/@fps-games/editor-core/dist/editor-plugin-host.js +94 -2
  621. package/node_modules/@fps-games/editor-core/dist/editor-plugin-host.js.map +1 -1
  622. package/node_modules/@fps-games/editor-core/dist/editor-session.d.ts +24 -2
  623. package/node_modules/@fps-games/editor-core/dist/editor-session.d.ts.map +1 -1
  624. package/node_modules/@fps-games/editor-core/dist/editor-session.js +70 -10
  625. package/node_modules/@fps-games/editor-core/dist/editor-session.js.map +1 -1
  626. package/node_modules/@fps-games/editor-core/dist/editor-tools.d.ts +112 -0
  627. package/node_modules/@fps-games/editor-core/dist/editor-tools.d.ts.map +1 -0
  628. package/node_modules/@fps-games/editor-core/dist/editor-tools.js +613 -0
  629. package/node_modules/@fps-games/editor-core/dist/editor-tools.js.map +1 -0
  630. package/node_modules/@fps-games/editor-core/dist/inspector.d.ts +46 -0
  631. package/node_modules/@fps-games/editor-core/dist/inspector.d.ts.map +1 -1
  632. package/node_modules/@fps-games/editor-core/dist/inspector.js +62 -0
  633. package/node_modules/@fps-games/editor-core/dist/inspector.js.map +1 -1
  634. package/node_modules/@fps-games/editor-core/dist/scene-graph.d.ts +1 -0
  635. package/node_modules/@fps-games/editor-core/dist/scene-graph.d.ts.map +1 -1
  636. package/node_modules/@fps-games/editor-core/dist/scene-graph.js.map +1 -1
  637. package/node_modules/@fps-games/editor-core/package.json +14 -6
  638. package/node_modules/@fps-games/editor-forge-play/package.json +2 -2
  639. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/metadata.js +14 -3
  640. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/metadata.js.map +1 -1
  641. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/node.d.ts +1 -1
  642. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/node.d.ts.map +1 -1
  643. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/node.js +1 -1
  644. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/node.js.map +1 -1
  645. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/registry.d.ts +14 -0
  646. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/registry.d.ts.map +1 -1
  647. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/registry.js +49 -1
  648. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/registry.js.map +1 -1
  649. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/catalog.js +58 -2
  650. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/catalog.js.map +1 -1
  651. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/document.d.ts.map +1 -1
  652. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/document.js +48 -6
  653. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/document.js.map +1 -1
  654. package/node_modules/@fps-games/editor-playable-sdk/dist/document/helpers.d.ts +28 -3
  655. package/node_modules/@fps-games/editor-playable-sdk/dist/document/helpers.d.ts.map +1 -1
  656. package/node_modules/@fps-games/editor-playable-sdk/dist/document/helpers.js +314 -6
  657. package/node_modules/@fps-games/editor-playable-sdk/dist/document/helpers.js.map +1 -1
  658. package/node_modules/@fps-games/editor-playable-sdk/dist/document/index.d.ts +2 -0
  659. package/node_modules/@fps-games/editor-playable-sdk/dist/document/index.d.ts.map +1 -1
  660. package/node_modules/@fps-games/editor-playable-sdk/dist/document/index.js +2 -0
  661. package/node_modules/@fps-games/editor-playable-sdk/dist/document/index.js.map +1 -1
  662. package/node_modules/@fps-games/editor-playable-sdk/dist/document/prefab-instance-identity.d.ts +11 -0
  663. package/node_modules/@fps-games/editor-playable-sdk/dist/document/prefab-instance-identity.d.ts.map +1 -0
  664. package/node_modules/@fps-games/editor-playable-sdk/dist/document/prefab-instance-identity.js +27 -0
  665. package/node_modules/@fps-games/editor-playable-sdk/dist/document/prefab-instance-identity.js.map +1 -0
  666. package/node_modules/@fps-games/editor-playable-sdk/dist/document/prefab-marker.d.ts +5 -0
  667. package/node_modules/@fps-games/editor-playable-sdk/dist/document/prefab-marker.d.ts.map +1 -0
  668. package/node_modules/@fps-games/editor-playable-sdk/dist/document/prefab-marker.js +285 -0
  669. package/node_modules/@fps-games/editor-playable-sdk/dist/document/prefab-marker.js.map +1 -0
  670. package/node_modules/@fps-games/editor-playable-sdk/dist/document/types.d.ts +7 -3
  671. package/node_modules/@fps-games/editor-playable-sdk/dist/document/types.d.ts.map +1 -1
  672. package/node_modules/@fps-games/editor-playable-sdk/dist/document/types.js.map +1 -1
  673. package/node_modules/@fps-games/editor-playable-sdk/dist/index.d.ts +3 -0
  674. package/node_modules/@fps-games/editor-playable-sdk/dist/index.d.ts.map +1 -1
  675. package/node_modules/@fps-games/editor-playable-sdk/dist/index.js +6 -0
  676. package/node_modules/@fps-games/editor-playable-sdk/dist/index.js.map +1 -1
  677. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/document-sections.d.ts.map +1 -1
  678. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/document-sections.js +23 -81
  679. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/document-sections.js.map +1 -1
  680. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/editor-entry-manifest.d.ts +41 -0
  681. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/editor-entry-manifest.d.ts.map +1 -0
  682. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/editor-entry-manifest.js +93 -0
  683. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/editor-entry-manifest.js.map +1 -0
  684. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/editor-entry-module.d.ts +29 -0
  685. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/editor-entry-module.d.ts.map +1 -0
  686. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/editor-entry-module.js +77 -0
  687. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/editor-entry-module.js.map +1 -0
  688. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/editor-entry-performance.d.ts +51 -0
  689. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/editor-entry-performance.d.ts.map +1 -0
  690. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/editor-entry-performance.js +105 -0
  691. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/editor-entry-performance.js.map +1 -0
  692. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/editor-entry.d.ts +60 -0
  693. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/editor-entry.d.ts.map +1 -0
  694. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/editor-entry.js +287 -0
  695. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/editor-entry.js.map +1 -0
  696. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/forge-play-types.d.ts +6 -1
  697. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/forge-play-types.d.ts.map +1 -1
  698. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/forge-play-types.js.map +1 -1
  699. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/forge-play.d.ts +1 -0
  700. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/forge-play.d.ts.map +1 -1
  701. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/forge-play.js +53 -17
  702. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/forge-play.js.map +1 -1
  703. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/host-controller.d.ts +16 -8
  704. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/host-controller.d.ts.map +1 -1
  705. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/host-controller.js +10 -6
  706. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/host-controller.js.map +1 -1
  707. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/index.d.ts +5 -3
  708. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/index.d.ts.map +1 -1
  709. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/index.js +2 -1
  710. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/index.js.map +1 -1
  711. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/lifecycle.d.ts.map +1 -1
  712. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/lifecycle.js +134 -66
  713. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/lifecycle.js.map +1 -1
  714. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/project-asset-commands.d.ts +11 -0
  715. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/project-asset-commands.d.ts.map +1 -1
  716. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/project-asset-commands.js +21 -14
  717. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/project-asset-commands.js.map +1 -1
  718. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/types.d.ts +17 -9
  719. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/types.d.ts.map +1 -1
  720. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/types.js.map +1 -1
  721. package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/field-patch.d.ts.map +1 -1
  722. package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/field-patch.js +20 -0
  723. package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/field-patch.js.map +1 -1
  724. package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/reducer.d.ts.map +1 -1
  725. package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/reducer.js +49 -10
  726. package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/reducer.js.map +1 -1
  727. package/node_modules/@fps-games/editor-playable-sdk/dist/package-resolution/aliases.d.ts +2 -2
  728. package/node_modules/@fps-games/editor-playable-sdk/dist/package-resolution/aliases.d.ts.map +1 -1
  729. package/node_modules/@fps-games/editor-playable-sdk/dist/package-resolution/aliases.js +18 -0
  730. package/node_modules/@fps-games/editor-playable-sdk/dist/package-resolution/aliases.js.map +1 -1
  731. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/action-patches.d.ts +7 -0
  732. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/action-patches.d.ts.map +1 -1
  733. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/action-patches.js +130 -20
  734. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/action-patches.js.map +1 -1
  735. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/assets.d.ts +1 -1
  736. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/assets.d.ts.map +1 -1
  737. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/assets.js +12 -3
  738. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/assets.js.map +1 -1
  739. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/derived-markers.d.ts +11 -0
  740. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/derived-markers.d.ts.map +1 -0
  741. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/derived-markers.js +136 -0
  742. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/derived-markers.js.map +1 -0
  743. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/index.d.ts +1 -0
  744. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/index.d.ts.map +1 -1
  745. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/index.js +1 -0
  746. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/index.js.map +1 -1
  747. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/projection.d.ts +36 -51
  748. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/projection.d.ts.map +1 -1
  749. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/projection.js +40 -65
  750. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/projection.js.map +1 -1
  751. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/stage-inspector.d.ts +5 -2
  752. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/stage-inspector.d.ts.map +1 -1
  753. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/stage-inspector.js +207 -1
  754. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/stage-inspector.js.map +1 -1
  755. package/node_modules/@fps-games/editor-playable-sdk/dist/product/index.d.ts +1 -0
  756. package/node_modules/@fps-games/editor-playable-sdk/dist/product/index.d.ts.map +1 -1
  757. package/node_modules/@fps-games/editor-playable-sdk/dist/product/index.js +3 -0
  758. package/node_modules/@fps-games/editor-playable-sdk/dist/product/index.js.map +1 -1
  759. package/node_modules/@fps-games/editor-playable-sdk/dist/product/project-host-services.d.ts +18 -7
  760. package/node_modules/@fps-games/editor-playable-sdk/dist/product/project-host-services.d.ts.map +1 -1
  761. package/node_modules/@fps-games/editor-playable-sdk/dist/product/project-host-services.js +110 -18
  762. package/node_modules/@fps-games/editor-playable-sdk/dist/product/project-host-services.js.map +1 -1
  763. package/node_modules/@fps-games/editor-playable-sdk/dist/product/scene-source.d.ts +5 -0
  764. package/node_modules/@fps-games/editor-playable-sdk/dist/product/scene-source.d.ts.map +1 -1
  765. package/node_modules/@fps-games/editor-playable-sdk/dist/product/scene-source.js +6 -0
  766. package/node_modules/@fps-games/editor-playable-sdk/dist/product/scene-source.js.map +1 -1
  767. package/node_modules/@fps-games/editor-playable-sdk/dist/product/standard-scene-assembly.d.ts +5 -2
  768. package/node_modules/@fps-games/editor-playable-sdk/dist/product/standard-scene-assembly.d.ts.map +1 -1
  769. package/node_modules/@fps-games/editor-playable-sdk/dist/product/standard-scene-assembly.js +22 -2
  770. package/node_modules/@fps-games/editor-playable-sdk/dist/product/standard-scene-assembly.js.map +1 -1
  771. package/node_modules/@fps-games/editor-playable-sdk/dist/rendering-profile/panel.d.ts.map +1 -1
  772. package/node_modules/@fps-games/editor-playable-sdk/dist/rendering-profile/panel.js +144 -0
  773. package/node_modules/@fps-games/editor-playable-sdk/dist/rendering-profile/panel.js.map +1 -1
  774. package/node_modules/@fps-games/editor-playable-sdk/dist/rendering-profile/types.d.ts +16 -0
  775. package/node_modules/@fps-games/editor-playable-sdk/dist/rendering-profile/types.d.ts.map +1 -1
  776. package/node_modules/@fps-games/editor-playable-sdk/dist/rendering-profile/types.js.map +1 -1
  777. package/node_modules/@fps-games/editor-playable-sdk/dist/runtime-preview/nodes.d.ts.map +1 -1
  778. package/node_modules/@fps-games/editor-playable-sdk/dist/runtime-preview/nodes.js +1 -0
  779. package/node_modules/@fps-games/editor-playable-sdk/dist/runtime-preview/nodes.js.map +1 -1
  780. package/node_modules/@fps-games/editor-playable-sdk/dist/runtime-preview/types.d.ts +2 -1
  781. package/node_modules/@fps-games/editor-playable-sdk/dist/runtime-preview/types.d.ts.map +1 -1
  782. package/node_modules/@fps-games/editor-playable-sdk/dist/runtime-preview/types.js.map +1 -1
  783. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/compiler.d.ts +2 -0
  784. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/compiler.d.ts.map +1 -1
  785. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/compiler.js +241 -13
  786. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/compiler.js.map +1 -1
  787. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/index.d.ts +1 -0
  788. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/index.d.ts.map +1 -1
  789. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/index.js +1 -0
  790. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/index.js.map +1 -1
  791. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/shadow-map-experiment-migration.d.ts +31 -0
  792. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/shadow-map-experiment-migration.d.ts.map +1 -0
  793. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/shadow-map-experiment-migration.js +170 -0
  794. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/shadow-map-experiment-migration.js.map +1 -0
  795. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/types.d.ts +153 -13
  796. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/types.d.ts.map +1 -1
  797. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/types.js.map +1 -1
  798. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/validation.d.ts +17 -0
  799. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/validation.d.ts.map +1 -1
  800. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/validation.js +1295 -3
  801. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/validation.js.map +1 -1
  802. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/client.d.ts.map +1 -1
  803. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/client.js +14 -0
  804. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/client.js.map +1 -1
  805. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/driver.d.ts.map +1 -1
  806. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/driver.js +57 -34
  807. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/driver.js.map +1 -1
  808. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/protocol.d.ts.map +1 -1
  809. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/protocol.js +4 -1
  810. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/protocol.js.map +1 -1
  811. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/types.d.ts +4 -0
  812. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/types.d.ts.map +1 -1
  813. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/types.js.map +1 -1
  814. package/node_modules/@fps-games/editor-playable-sdk/dist/serialized-property/inspector.d.ts.map +1 -1
  815. package/node_modules/@fps-games/editor-playable-sdk/dist/serialized-property/inspector.js +20 -198
  816. package/node_modules/@fps-games/editor-playable-sdk/dist/serialized-property/inspector.js.map +1 -1
  817. package/node_modules/@fps-games/editor-playable-sdk/dist/session/hierarchy-facade.d.ts.map +1 -1
  818. package/node_modules/@fps-games/editor-playable-sdk/dist/session/hierarchy-facade.js +5 -1
  819. package/node_modules/@fps-games/editor-playable-sdk/dist/session/hierarchy-facade.js.map +1 -1
  820. package/node_modules/@fps-games/editor-playable-sdk/dist/session/patches.d.ts +5 -0
  821. package/node_modules/@fps-games/editor-playable-sdk/dist/session/patches.d.ts.map +1 -1
  822. package/node_modules/@fps-games/editor-playable-sdk/dist/session/patches.js +144 -8
  823. package/node_modules/@fps-games/editor-playable-sdk/dist/session/patches.js.map +1 -1
  824. package/node_modules/@fps-games/editor-playable-sdk/dist/session/reducer-core.d.ts +1 -1
  825. package/node_modules/@fps-games/editor-playable-sdk/dist/session/reducer-core.d.ts.map +1 -1
  826. package/node_modules/@fps-games/editor-playable-sdk/dist/session/reducer-core.js +30 -1
  827. package/node_modules/@fps-games/editor-playable-sdk/dist/session/reducer-core.js.map +1 -1
  828. package/node_modules/@fps-games/editor-playable-sdk/dist/session/types.d.ts +6 -0
  829. package/node_modules/@fps-games/editor-playable-sdk/dist/session/types.d.ts.map +1 -1
  830. package/node_modules/@fps-games/editor-playable-sdk/dist/session/types.js.map +1 -1
  831. package/node_modules/@fps-games/editor-playable-sdk/dist/upgrade-doctor/inspectors.js +31 -3
  832. package/node_modules/@fps-games/editor-playable-sdk/dist/upgrade-doctor/inspectors.js.map +1 -1
  833. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/editor-scene-workflow.d.ts +5 -2
  834. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/editor-scene-workflow.d.ts.map +1 -1
  835. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/editor-scene-workflow.js +40 -4
  836. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/editor-scene-workflow.js.map +1 -1
  837. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/plugin.d.ts.map +1 -1
  838. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/plugin.js +116 -3
  839. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/plugin.js.map +1 -1
  840. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-adapter.d.ts +2 -1
  841. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-adapter.d.ts.map +1 -1
  842. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-adapter.js +1 -0
  843. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-adapter.js.map +1 -1
  844. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-asset-authoring.d.ts +17 -1
  845. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-asset-authoring.d.ts.map +1 -1
  846. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-asset-authoring.js +50 -2
  847. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-asset-authoring.js.map +1 -1
  848. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-authoring-api.d.ts.map +1 -1
  849. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-authoring-api.js +7 -5
  850. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-authoring-api.js.map +1 -1
  851. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-scene-authoring.d.ts +5 -6
  852. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-scene-authoring.d.ts.map +1 -1
  853. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-scene-authoring.js +31 -17
  854. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-scene-authoring.js.map +1 -1
  855. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/types.d.ts +6 -0
  856. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/types.d.ts.map +1 -1
  857. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/types.js.map +1 -1
  858. package/node_modules/@fps-games/editor-playable-sdk/package.json +6 -6
  859. package/node_modules/@fps-games/editor-protocol/dist/agent-bridge.d.ts +417 -2
  860. package/node_modules/@fps-games/editor-protocol/dist/agent-bridge.d.ts.map +1 -1
  861. package/node_modules/@fps-games/editor-protocol/dist/agent-bridge.js +692 -2
  862. package/node_modules/@fps-games/editor-protocol/dist/agent-bridge.js.map +1 -1
  863. package/node_modules/@fps-games/editor-protocol/dist/editor-diagnostics.d.ts +55 -0
  864. package/node_modules/@fps-games/editor-protocol/dist/editor-diagnostics.d.ts.map +1 -0
  865. package/node_modules/@fps-games/editor-protocol/dist/editor-diagnostics.js +2 -0
  866. package/node_modules/@fps-games/editor-protocol/dist/editor-diagnostics.js.map +1 -0
  867. package/node_modules/@fps-games/editor-protocol/dist/index.d.ts +3 -18
  868. package/node_modules/@fps-games/editor-protocol/dist/index.d.ts.map +1 -1
  869. package/node_modules/@fps-games/editor-protocol/dist/index.js +1 -0
  870. package/node_modules/@fps-games/editor-protocol/dist/index.js.map +1 -1
  871. package/node_modules/@fps-games/editor-protocol/package.json +2 -2
  872. package/node_modules/@fps-games/editor-tooling/dist/package-metadata-node.d.ts.map +1 -1
  873. package/node_modules/@fps-games/editor-tooling/dist/package-metadata-node.js +5 -0
  874. package/node_modules/@fps-games/editor-tooling/dist/package-metadata-node.js.map +1 -1
  875. package/node_modules/@fps-games/editor-tooling/dist/vite.d.ts.map +1 -1
  876. package/node_modules/@fps-games/editor-tooling/dist/vite.js +151 -5
  877. package/node_modules/@fps-games/editor-tooling/dist/vite.js.map +1 -1
  878. package/node_modules/@fps-games/editor-tooling/package.json +3 -3
  879. package/node_modules/@fps-games/editor-ui/dist/editor-ui-controls.d.ts +107 -0
  880. package/node_modules/@fps-games/editor-ui/dist/editor-ui-controls.d.ts.map +1 -0
  881. package/node_modules/@fps-games/editor-ui/dist/editor-ui-controls.js +770 -0
  882. package/node_modules/@fps-games/editor-ui/dist/editor-ui-controls.js.map +1 -0
  883. package/node_modules/@fps-games/editor-ui/dist/editor-ui-layer-host.d.ts +21 -0
  884. package/node_modules/@fps-games/editor-ui/dist/editor-ui-layer-host.d.ts.map +1 -0
  885. package/node_modules/@fps-games/editor-ui/dist/editor-ui-layer-host.js +172 -0
  886. package/node_modules/@fps-games/editor-ui/dist/editor-ui-layer-host.js.map +1 -0
  887. package/node_modules/@fps-games/editor-ui/dist/editor-ui-shell.d.ts +14 -0
  888. package/node_modules/@fps-games/editor-ui/dist/editor-ui-shell.d.ts.map +1 -0
  889. package/node_modules/@fps-games/editor-ui/dist/editor-ui-shell.js +32 -0
  890. package/node_modules/@fps-games/editor-ui/dist/editor-ui-shell.js.map +1 -0
  891. package/node_modules/@fps-games/editor-ui/dist/editor-ui-theme.d.ts +3 -0
  892. package/node_modules/@fps-games/editor-ui/dist/editor-ui-theme.d.ts.map +1 -0
  893. package/node_modules/@fps-games/editor-ui/dist/editor-ui-theme.js +653 -0
  894. package/node_modules/@fps-games/editor-ui/dist/editor-ui-theme.js.map +1 -0
  895. package/node_modules/@fps-games/editor-ui/dist/gallery.d.ts +3 -0
  896. package/node_modules/@fps-games/editor-ui/dist/gallery.d.ts.map +1 -0
  897. package/node_modules/@fps-games/editor-ui/dist/gallery.js +3 -0
  898. package/node_modules/@fps-games/editor-ui/dist/gallery.js.map +1 -0
  899. package/node_modules/@fps-games/editor-ui/dist/index.d.ts +5 -0
  900. package/node_modules/@fps-games/editor-ui/dist/index.d.ts.map +1 -0
  901. package/node_modules/@fps-games/editor-ui/dist/index.js +5 -0
  902. package/node_modules/@fps-games/editor-ui/dist/index.js.map +1 -0
  903. package/node_modules/@fps-games/editor-ui/dist/inspector-property-gallery-model.d.ts +7 -0
  904. package/node_modules/@fps-games/editor-ui/dist/inspector-property-gallery-model.d.ts.map +1 -0
  905. package/node_modules/@fps-games/editor-ui/dist/inspector-property-gallery-model.js +29 -0
  906. package/node_modules/@fps-games/editor-ui/dist/inspector-property-gallery-model.js.map +1 -0
  907. package/node_modules/@fps-games/editor-ui/dist/inspector-property-gallery-styles.d.ts +2 -0
  908. package/node_modules/@fps-games/editor-ui/dist/inspector-property-gallery-styles.d.ts.map +1 -0
  909. package/node_modules/@fps-games/editor-ui/dist/inspector-property-gallery-styles.js +95 -0
  910. package/node_modules/@fps-games/editor-ui/dist/inspector-property-gallery-styles.js.map +1 -0
  911. package/node_modules/@fps-games/editor-ui/dist/inspector-property-gallery.d.ts +28 -0
  912. package/node_modules/@fps-games/editor-ui/dist/inspector-property-gallery.d.ts.map +1 -0
  913. package/node_modules/@fps-games/editor-ui/dist/inspector-property-gallery.js +387 -0
  914. package/node_modules/@fps-games/editor-ui/dist/inspector-property-gallery.js.map +1 -0
  915. package/node_modules/@fps-games/editor-ui/package.json +23 -0
  916. package/node_modules/@fps-games/playable-assets/package.json +1 -1
  917. package/node_modules/@fps-games/playable-contracts/dist/index.d.ts +1 -0
  918. package/node_modules/@fps-games/playable-contracts/dist/index.d.ts.map +1 -1
  919. package/node_modules/@fps-games/playable-contracts/dist/index.js +1 -0
  920. package/node_modules/@fps-games/playable-contracts/dist/index.js.map +1 -1
  921. package/node_modules/@fps-games/playable-contracts/dist/material-owner.d.ts +116 -0
  922. package/node_modules/@fps-games/playable-contracts/dist/material-owner.d.ts.map +1 -0
  923. package/node_modules/@fps-games/playable-contracts/dist/material-owner.js +403 -0
  924. package/node_modules/@fps-games/playable-contracts/dist/material-owner.js.map +1 -0
  925. package/node_modules/@fps-games/playable-contracts/package.json +1 -1
  926. package/node_modules/@fps-games/playable-rendering/dist/index.d.ts +3 -0
  927. package/node_modules/@fps-games/playable-rendering/dist/index.d.ts.map +1 -1
  928. package/node_modules/@fps-games/playable-rendering/dist/index.js +3 -0
  929. package/node_modules/@fps-games/playable-rendering/dist/index.js.map +1 -1
  930. package/node_modules/@fps-games/playable-rendering/dist/rendering-profile-validation.js +5 -25
  931. package/node_modules/@fps-games/playable-rendering/dist/rendering-profile-validation.js.map +1 -1
  932. package/node_modules/@fps-games/playable-rendering/dist/runtime.d.ts +3 -0
  933. package/node_modules/@fps-games/playable-rendering/dist/runtime.d.ts.map +1 -1
  934. package/node_modules/@fps-games/playable-rendering/dist/runtime.js +3 -0
  935. package/node_modules/@fps-games/playable-rendering/dist/runtime.js.map +1 -1
  936. package/node_modules/@fps-games/playable-rendering/dist/shadow-map-experiment-depth.d.ts +61 -0
  937. package/node_modules/@fps-games/playable-rendering/dist/shadow-map-experiment-depth.d.ts.map +1 -0
  938. package/node_modules/@fps-games/playable-rendering/dist/shadow-map-experiment-depth.js +176 -0
  939. package/node_modules/@fps-games/playable-rendering/dist/shadow-map-experiment-depth.js.map +1 -0
  940. package/node_modules/@fps-games/playable-rendering/dist/shadow-map-experiment-lifecycle.d.ts +84 -0
  941. package/node_modules/@fps-games/playable-rendering/dist/shadow-map-experiment-lifecycle.d.ts.map +1 -0
  942. package/node_modules/@fps-games/playable-rendering/dist/shadow-map-experiment-lifecycle.js +362 -0
  943. package/node_modules/@fps-games/playable-rendering/dist/shadow-map-experiment-lifecycle.js.map +1 -0
  944. package/node_modules/@fps-games/playable-rendering/dist/shadow-map-experiment.d.ts +167 -0
  945. package/node_modules/@fps-games/playable-rendering/dist/shadow-map-experiment.d.ts.map +1 -0
  946. package/node_modules/@fps-games/playable-rendering/dist/shadow-map-experiment.js +484 -0
  947. package/node_modules/@fps-games/playable-rendering/dist/shadow-map-experiment.js.map +1 -0
  948. package/node_modules/@fps-games/playable-rendering/package.json +2 -2
  949. package/node_modules/@fps-games/playable-runtime/dist/compiled-scene-data.d.ts +5 -0
  950. package/node_modules/@fps-games/playable-runtime/dist/compiled-scene-data.d.ts.map +1 -1
  951. package/node_modules/@fps-games/playable-runtime/dist/compiled-scene-data.js +1 -0
  952. package/node_modules/@fps-games/playable-runtime/dist/compiled-scene-data.js.map +1 -1
  953. package/node_modules/@fps-games/playable-runtime/package.json +12 -12
  954. package/node_modules/@fps-games/playable-runtime-data/package.json +4 -4
  955. package/node_modules/@fps-games/playable-scene/package.json +2 -2
  956. package/node_modules/@fps-games/plugin-api/package.json +1 -1
  957. package/node_modules/@fps-games/plugin-assets/dist/version.d.ts +1 -1
  958. package/node_modules/@fps-games/plugin-assets/dist/version.js +1 -1
  959. package/node_modules/@fps-games/plugin-assets/dist/version.js.map +1 -1
  960. package/node_modules/@fps-games/plugin-assets/package.json +5 -5
  961. package/node_modules/@fps-games/plugin-hierarchy/dist/editor.d.ts +6 -0
  962. package/node_modules/@fps-games/plugin-hierarchy/dist/editor.d.ts.map +1 -0
  963. package/node_modules/@fps-games/plugin-hierarchy/dist/editor.js +16 -0
  964. package/node_modules/@fps-games/plugin-hierarchy/dist/editor.js.map +1 -0
  965. package/node_modules/@fps-games/plugin-hierarchy/dist/integration.d.ts +7 -0
  966. package/node_modules/@fps-games/plugin-hierarchy/dist/integration.d.ts.map +1 -0
  967. package/node_modules/@fps-games/plugin-hierarchy/dist/integration.js +47 -0
  968. package/node_modules/@fps-games/plugin-hierarchy/dist/integration.js.map +1 -0
  969. package/node_modules/@fps-games/plugin-hierarchy/dist/kernel.d.ts +306 -0
  970. package/node_modules/@fps-games/plugin-hierarchy/dist/kernel.d.ts.map +1 -0
  971. package/node_modules/@fps-games/plugin-hierarchy/dist/kernel.js +1237 -0
  972. package/node_modules/@fps-games/plugin-hierarchy/dist/kernel.js.map +1 -0
  973. package/node_modules/@fps-games/plugin-hierarchy/dist/reference.d.ts +8 -0
  974. package/node_modules/@fps-games/plugin-hierarchy/dist/reference.d.ts.map +1 -0
  975. package/node_modules/@fps-games/plugin-hierarchy/dist/reference.js +32 -0
  976. package/node_modules/@fps-games/plugin-hierarchy/dist/reference.js.map +1 -0
  977. package/node_modules/@fps-games/plugin-hierarchy/dist/version.d.ts +2 -0
  978. package/node_modules/@fps-games/plugin-hierarchy/dist/version.d.ts.map +1 -0
  979. package/node_modules/@fps-games/plugin-hierarchy/dist/version.js +2 -0
  980. package/node_modules/@fps-games/plugin-hierarchy/dist/version.js.map +1 -0
  981. package/node_modules/@fps-games/plugin-hierarchy/package.json +57 -0
  982. package/node_modules/@fps-games/plugin-host/package.json +2 -2
  983. package/node_modules/@fps-games/plugin-markers/dist/version.d.ts +1 -1
  984. package/node_modules/@fps-games/plugin-markers/dist/version.js +1 -1
  985. package/node_modules/@fps-games/plugin-markers/dist/version.js.map +1 -1
  986. package/node_modules/@fps-games/plugin-markers/package.json +5 -5
  987. package/node_modules/@fps-games/plugin-materials/dist/version.d.ts +1 -1
  988. package/node_modules/@fps-games/plugin-materials/dist/version.js +1 -1
  989. package/node_modules/@fps-games/plugin-materials/dist/version.js.map +1 -1
  990. package/node_modules/@fps-games/plugin-materials/package.json +5 -5
  991. package/node_modules/@fps-games/plugin-rendering/dist/version.d.ts +1 -1
  992. package/node_modules/@fps-games/plugin-rendering/dist/version.js +1 -1
  993. package/node_modules/@fps-games/plugin-rendering/dist/version.js.map +1 -1
  994. package/node_modules/@fps-games/plugin-rendering/package.json +5 -5
  995. package/node_modules/@fps-games/plugin-scene/dist/version.d.ts +1 -1
  996. package/node_modules/@fps-games/plugin-scene/dist/version.js +1 -1
  997. package/node_modules/@fps-games/plugin-scene/dist/version.js.map +1 -1
  998. package/node_modules/@fps-games/plugin-scene/package.json +5 -5
  999. package/node_modules/@fps-games/plugin-shadow-map-experiment/dist/reference.d.ts +8 -0
  1000. package/node_modules/@fps-games/plugin-shadow-map-experiment/dist/reference.d.ts.map +1 -0
  1001. package/node_modules/@fps-games/plugin-shadow-map-experiment/dist/reference.js +35 -0
  1002. package/node_modules/@fps-games/plugin-shadow-map-experiment/dist/reference.js.map +1 -0
  1003. package/node_modules/@fps-games/plugin-shadow-map-experiment/dist/runtime.d.ts +11 -0
  1004. package/node_modules/@fps-games/plugin-shadow-map-experiment/dist/runtime.d.ts.map +1 -0
  1005. package/node_modules/@fps-games/plugin-shadow-map-experiment/dist/runtime.js +14 -0
  1006. package/node_modules/@fps-games/plugin-shadow-map-experiment/dist/runtime.js.map +1 -0
  1007. package/node_modules/@fps-games/plugin-shadow-map-experiment/dist/version.d.ts +2 -0
  1008. package/node_modules/@fps-games/plugin-shadow-map-experiment/dist/version.d.ts.map +1 -0
  1009. package/node_modules/@fps-games/plugin-shadow-map-experiment/dist/version.js +2 -0
  1010. package/node_modules/@fps-games/plugin-shadow-map-experiment/dist/version.js.map +1 -0
  1011. package/node_modules/@fps-games/plugin-shadow-map-experiment/package.json +53 -0
  1012. package/node_modules/@fps-games/plugin-shadows/dist/version.d.ts +1 -1
  1013. package/node_modules/@fps-games/plugin-shadows/dist/version.js +1 -1
  1014. package/node_modules/@fps-games/plugin-shadows/dist/version.js.map +1 -1
  1015. package/node_modules/@fps-games/plugin-shadows/package.json +7 -7
  1016. package/node_modules/@playcanvas/observer/LICENSE +19 -0
  1017. package/node_modules/@playcanvas/observer/README.md +72 -0
  1018. package/node_modules/@playcanvas/observer/dist/index.cjs +2033 -0
  1019. package/node_modules/@playcanvas/observer/dist/index.js +2039 -0
  1020. package/node_modules/@playcanvas/observer/dist/index.mjs +2026 -0
  1021. package/node_modules/@playcanvas/observer/package.json +78 -0
  1022. package/node_modules/@playcanvas/observer/types/event-handle.d.ts +41 -0
  1023. package/node_modules/@playcanvas/observer/types/events.d.ts +162 -0
  1024. package/node_modules/@playcanvas/observer/types/history.d.ts +123 -0
  1025. package/node_modules/@playcanvas/observer/types/index.d.ts +15 -0
  1026. package/node_modules/@playcanvas/observer/types/observer-history.d.ts +32 -0
  1027. package/node_modules/@playcanvas/observer/types/observer-list.d.ts +39 -0
  1028. package/node_modules/@playcanvas/observer/types/observer.d.ts +157 -0
  1029. package/node_modules/@playcanvas/observer/types/utils.d.ts +33 -0
  1030. package/node_modules/@playcanvas/pcui/LICENSE +19 -0
  1031. package/node_modules/@playcanvas/pcui/README.md +164 -0
  1032. package/node_modules/@playcanvas/pcui/dist/module/node_modules/playcanvas/build/playcanvas/src/core/math/constants.mjs +6 -0
  1033. package/node_modules/@playcanvas/pcui/dist/module/node_modules/playcanvas/build/playcanvas/src/core/math/curve-evaluator.mjs +119 -0
  1034. package/node_modules/@playcanvas/pcui/dist/module/node_modules/playcanvas/build/playcanvas/src/core/math/curve-set.mjs +82 -0
  1035. package/node_modules/@playcanvas/pcui/dist/module/node_modules/playcanvas/build/playcanvas/src/core/math/curve.mjs +92 -0
  1036. package/node_modules/@playcanvas/pcui/dist/module/node_modules/playcanvas/build/playcanvas/src/core/math/math.mjs +105 -0
  1037. package/node_modules/@playcanvas/pcui/dist/module/src/Math/color-value.mjs +77 -0
  1038. package/node_modules/@playcanvas/pcui/dist/module/src/binding/BindingBase/index.mjs +215 -0
  1039. package/node_modules/@playcanvas/pcui/dist/module/src/binding/BindingElementToObservers/index.mjs +297 -0
  1040. package/node_modules/@playcanvas/pcui/dist/module/src/binding/BindingObserversToElement/index.mjs +110 -0
  1041. package/node_modules/@playcanvas/pcui/dist/module/src/binding/BindingTwoWay/index.mjs +113 -0
  1042. package/node_modules/@playcanvas/pcui/dist/module/src/class.mjs +19 -0
  1043. package/node_modules/@playcanvas/pcui/dist/module/src/components/ArrayInput/index.mjs +498 -0
  1044. package/node_modules/@playcanvas/pcui/dist/module/src/components/BooleanInput/index.mjs +122 -0
  1045. package/node_modules/@playcanvas/pcui/dist/module/src/components/Button/index.mjs +119 -0
  1046. package/node_modules/@playcanvas/pcui/dist/module/src/components/Canvas/index.mjs +104 -0
  1047. package/node_modules/@playcanvas/pcui/dist/module/src/components/Code/index.mjs +43 -0
  1048. package/node_modules/@playcanvas/pcui/dist/module/src/components/ColorPicker/index.mjs +619 -0
  1049. package/node_modules/@playcanvas/pcui/dist/module/src/components/Container/index.mjs +642 -0
  1050. package/node_modules/@playcanvas/pcui/dist/module/src/components/Divider/index.mjs +20 -0
  1051. package/node_modules/@playcanvas/pcui/dist/module/src/components/Element/index.mjs +829 -0
  1052. package/node_modules/@playcanvas/pcui/dist/module/src/components/GradientPicker/index.mjs +1136 -0
  1053. package/node_modules/@playcanvas/pcui/dist/module/src/components/GridView/index.mjs +448 -0
  1054. package/node_modules/@playcanvas/pcui/dist/module/src/components/GridViewItem/index.mjs +152 -0
  1055. package/node_modules/@playcanvas/pcui/dist/module/src/components/InfoBox/index.mjs +90 -0
  1056. package/node_modules/@playcanvas/pcui/dist/module/src/components/InputElement/index.mjs +186 -0
  1057. package/node_modules/@playcanvas/pcui/dist/module/src/components/Label/index.mjs +124 -0
  1058. package/node_modules/@playcanvas/pcui/dist/module/src/components/LabelGroup/index.mjs +74 -0
  1059. package/node_modules/@playcanvas/pcui/dist/module/src/components/Menu/index.mjs +174 -0
  1060. package/node_modules/@playcanvas/pcui/dist/module/src/components/MenuItem/index.mjs +223 -0
  1061. package/node_modules/@playcanvas/pcui/dist/module/src/components/NumericInput/index.mjs +400 -0
  1062. package/node_modules/@playcanvas/pcui/dist/module/src/components/Overlay/index.mjs +108 -0
  1063. package/node_modules/@playcanvas/pcui/dist/module/src/components/Panel/index.mjs +400 -0
  1064. package/node_modules/@playcanvas/pcui/dist/module/src/components/Progress/index.mjs +45 -0
  1065. package/node_modules/@playcanvas/pcui/dist/module/src/components/RadioButton/index.mjs +113 -0
  1066. package/node_modules/@playcanvas/pcui/dist/module/src/components/SelectInput/index.mjs +1085 -0
  1067. package/node_modules/@playcanvas/pcui/dist/module/src/components/SliderInput/index.mjs +333 -0
  1068. package/node_modules/@playcanvas/pcui/dist/module/src/components/Spinner/index.mjs +34 -0
  1069. package/node_modules/@playcanvas/pcui/dist/module/src/components/TextAreaInput/index.mjs +50 -0
  1070. package/node_modules/@playcanvas/pcui/dist/module/src/components/TextInput/index.mjs +98 -0
  1071. package/node_modules/@playcanvas/pcui/dist/module/src/components/TreeView/index.mjs +1131 -0
  1072. package/node_modules/@playcanvas/pcui/dist/module/src/components/TreeViewItem/index.mjs +500 -0
  1073. package/node_modules/@playcanvas/pcui/dist/module/src/components/VectorInput/index.mjs +366 -0
  1074. package/node_modules/@playcanvas/pcui/dist/module/src/helpers/search.mjs +194 -0
  1075. package/node_modules/@playcanvas/pcui/dist/module/src/helpers/utils.mjs +43 -0
  1076. package/node_modules/@playcanvas/pcui/dist/module/src/index.mjs +56 -0
  1077. package/node_modules/@playcanvas/pcui/dist/pcui-theme-green.scss +2798 -0
  1078. package/node_modules/@playcanvas/pcui/dist/pcui-theme-grey.scss +2798 -0
  1079. package/node_modules/@playcanvas/pcui/package.json +150 -0
  1080. package/node_modules/@playcanvas/pcui/react/dist/module/node_modules/playcanvas/build/playcanvas/src/core/math/constants.mjs +6 -0
  1081. package/node_modules/@playcanvas/pcui/react/dist/module/node_modules/playcanvas/build/playcanvas/src/core/math/curve-evaluator.mjs +119 -0
  1082. package/node_modules/@playcanvas/pcui/react/dist/module/node_modules/playcanvas/build/playcanvas/src/core/math/curve-set.mjs +82 -0
  1083. package/node_modules/@playcanvas/pcui/react/dist/module/node_modules/playcanvas/build/playcanvas/src/core/math/curve.mjs +92 -0
  1084. package/node_modules/@playcanvas/pcui/react/dist/module/node_modules/playcanvas/build/playcanvas/src/core/math/math.mjs +105 -0
  1085. package/node_modules/@playcanvas/pcui/react/dist/module/src/Math/color-value.mjs +77 -0
  1086. package/node_modules/@playcanvas/pcui/react/dist/module/src/binding/BindingBase/index.mjs +215 -0
  1087. package/node_modules/@playcanvas/pcui/react/dist/module/src/binding/BindingElementToObservers/index.mjs +297 -0
  1088. package/node_modules/@playcanvas/pcui/react/dist/module/src/binding/BindingObserversToElement/index.mjs +110 -0
  1089. package/node_modules/@playcanvas/pcui/react/dist/module/src/binding/BindingTwoWay/index.mjs +113 -0
  1090. package/node_modules/@playcanvas/pcui/react/dist/module/src/class.mjs +19 -0
  1091. package/node_modules/@playcanvas/pcui/react/dist/module/src/components/ArrayInput/component.mjs +11 -0
  1092. package/node_modules/@playcanvas/pcui/react/dist/module/src/components/ArrayInput/index.mjs +498 -0
  1093. package/node_modules/@playcanvas/pcui/react/dist/module/src/components/BooleanInput/component.mjs +11 -0
  1094. package/node_modules/@playcanvas/pcui/react/dist/module/src/components/BooleanInput/index.mjs +122 -0
  1095. package/node_modules/@playcanvas/pcui/react/dist/module/src/components/Button/component.mjs +16 -0
  1096. package/node_modules/@playcanvas/pcui/react/dist/module/src/components/Button/index.mjs +119 -0
  1097. package/node_modules/@playcanvas/pcui/react/dist/module/src/components/Canvas/component.mjs +16 -0
  1098. package/node_modules/@playcanvas/pcui/react/dist/module/src/components/Canvas/index.mjs +104 -0
  1099. package/node_modules/@playcanvas/pcui/react/dist/module/src/components/Code/component.mjs +11 -0
  1100. package/node_modules/@playcanvas/pcui/react/dist/module/src/components/Code/index.mjs +43 -0
  1101. package/node_modules/@playcanvas/pcui/react/dist/module/src/components/ColorPicker/component.mjs +16 -0
  1102. package/node_modules/@playcanvas/pcui/react/dist/module/src/components/ColorPicker/index.mjs +619 -0
  1103. package/node_modules/@playcanvas/pcui/react/dist/module/src/components/Container/component.mjs +36 -0
  1104. package/node_modules/@playcanvas/pcui/react/dist/module/src/components/Container/index.mjs +642 -0
  1105. package/node_modules/@playcanvas/pcui/react/dist/module/src/components/Divider/component.mjs +11 -0
  1106. package/node_modules/@playcanvas/pcui/react/dist/module/src/components/Divider/index.mjs +20 -0
  1107. package/node_modules/@playcanvas/pcui/react/dist/module/src/components/Element/component.mjs +107 -0
  1108. package/node_modules/@playcanvas/pcui/react/dist/module/src/components/Element/index.mjs +829 -0
  1109. package/node_modules/@playcanvas/pcui/react/dist/module/src/components/GradientPicker/component.mjs +16 -0
  1110. package/node_modules/@playcanvas/pcui/react/dist/module/src/components/GradientPicker/index.mjs +1136 -0
  1111. package/node_modules/@playcanvas/pcui/react/dist/module/src/components/GridView/component.mjs +38 -0
  1112. package/node_modules/@playcanvas/pcui/react/dist/module/src/components/GridView/index.mjs +448 -0
  1113. package/node_modules/@playcanvas/pcui/react/dist/module/src/components/GridViewItem/component.mjs +11 -0
  1114. package/node_modules/@playcanvas/pcui/react/dist/module/src/components/GridViewItem/index.mjs +152 -0
  1115. package/node_modules/@playcanvas/pcui/react/dist/module/src/components/InfoBox/component.mjs +16 -0
  1116. package/node_modules/@playcanvas/pcui/react/dist/module/src/components/InfoBox/index.mjs +90 -0
  1117. package/node_modules/@playcanvas/pcui/react/dist/module/src/components/InputElement/index.mjs +186 -0
  1118. package/node_modules/@playcanvas/pcui/react/dist/module/src/components/Label/component.mjs +16 -0
  1119. package/node_modules/@playcanvas/pcui/react/dist/module/src/components/Label/index.mjs +124 -0
  1120. package/node_modules/@playcanvas/pcui/react/dist/module/src/components/LabelGroup/component.mjs +42 -0
  1121. package/node_modules/@playcanvas/pcui/react/dist/module/src/components/LabelGroup/index.mjs +74 -0
  1122. package/node_modules/@playcanvas/pcui/react/dist/module/src/components/Menu/component.mjs +23 -0
  1123. package/node_modules/@playcanvas/pcui/react/dist/module/src/components/Menu/index.mjs +174 -0
  1124. package/node_modules/@playcanvas/pcui/react/dist/module/src/components/MenuItem/index.mjs +223 -0
  1125. package/node_modules/@playcanvas/pcui/react/dist/module/src/components/NumericInput/component.mjs +11 -0
  1126. package/node_modules/@playcanvas/pcui/react/dist/module/src/components/NumericInput/index.mjs +400 -0
  1127. package/node_modules/@playcanvas/pcui/react/dist/module/src/components/Overlay/component.mjs +11 -0
  1128. package/node_modules/@playcanvas/pcui/react/dist/module/src/components/Overlay/index.mjs +108 -0
  1129. package/node_modules/@playcanvas/pcui/react/dist/module/src/components/Panel/component.mjs +32 -0
  1130. package/node_modules/@playcanvas/pcui/react/dist/module/src/components/Panel/index.mjs +400 -0
  1131. package/node_modules/@playcanvas/pcui/react/dist/module/src/components/Progress/component.mjs +11 -0
  1132. package/node_modules/@playcanvas/pcui/react/dist/module/src/components/Progress/index.mjs +45 -0
  1133. package/node_modules/@playcanvas/pcui/react/dist/module/src/components/RadioButton/component.mjs +11 -0
  1134. package/node_modules/@playcanvas/pcui/react/dist/module/src/components/RadioButton/index.mjs +113 -0
  1135. package/node_modules/@playcanvas/pcui/react/dist/module/src/components/SelectInput/component.mjs +21 -0
  1136. package/node_modules/@playcanvas/pcui/react/dist/module/src/components/SelectInput/index.mjs +1085 -0
  1137. package/node_modules/@playcanvas/pcui/react/dist/module/src/components/SliderInput/component.mjs +12 -0
  1138. package/node_modules/@playcanvas/pcui/react/dist/module/src/components/SliderInput/index.mjs +333 -0
  1139. package/node_modules/@playcanvas/pcui/react/dist/module/src/components/Spinner/component.mjs +16 -0
  1140. package/node_modules/@playcanvas/pcui/react/dist/module/src/components/Spinner/index.mjs +34 -0
  1141. package/node_modules/@playcanvas/pcui/react/dist/module/src/components/TextAreaInput/component.mjs +11 -0
  1142. package/node_modules/@playcanvas/pcui/react/dist/module/src/components/TextAreaInput/index.mjs +50 -0
  1143. package/node_modules/@playcanvas/pcui/react/dist/module/src/components/TextInput/component.mjs +23 -0
  1144. package/node_modules/@playcanvas/pcui/react/dist/module/src/components/TextInput/index.mjs +98 -0
  1145. package/node_modules/@playcanvas/pcui/react/dist/module/src/components/TreeView/component.mjs +52 -0
  1146. package/node_modules/@playcanvas/pcui/react/dist/module/src/components/TreeView/index.mjs +1131 -0
  1147. package/node_modules/@playcanvas/pcui/react/dist/module/src/components/TreeViewItem/component.mjs +33 -0
  1148. package/node_modules/@playcanvas/pcui/react/dist/module/src/components/TreeViewItem/index.mjs +500 -0
  1149. package/node_modules/@playcanvas/pcui/react/dist/module/src/components/VectorInput/component.mjs +11 -0
  1150. package/node_modules/@playcanvas/pcui/react/dist/module/src/components/VectorInput/index.mjs +366 -0
  1151. package/node_modules/@playcanvas/pcui/react/dist/module/src/helpers/search.mjs +194 -0
  1152. package/node_modules/@playcanvas/pcui/react/dist/module/src/helpers/utils.mjs +43 -0
  1153. package/node_modules/@playcanvas/pcui/react/dist/module/src/index.mjs +39 -0
  1154. package/node_modules/@playcanvas/pcui/react/package.json +18 -0
  1155. package/node_modules/@playcanvas/pcui/react/types/Math/color-value.d.ts +3 -0
  1156. package/node_modules/@playcanvas/pcui/react/types/binding/BindingBase/index.d.ts +178 -0
  1157. package/node_modules/@playcanvas/pcui/react/types/binding/BindingElementToObservers/index.d.ts +24 -0
  1158. package/node_modules/@playcanvas/pcui/react/types/binding/BindingObserversToElement/index.d.ts +40 -0
  1159. package/node_modules/@playcanvas/pcui/react/types/binding/BindingTwoWay/index.d.ts +54 -0
  1160. package/node_modules/@playcanvas/pcui/react/types/binding/index.d.ts +5 -0
  1161. package/node_modules/@playcanvas/pcui/react/types/class.d.ts +17 -0
  1162. package/node_modules/@playcanvas/pcui/react/types/components/ArrayInput/component.d.ts +9 -0
  1163. package/node_modules/@playcanvas/pcui/react/types/components/ArrayInput/index.d.ts +140 -0
  1164. package/node_modules/@playcanvas/pcui/react/types/components/BooleanInput/component.d.ts +9 -0
  1165. package/node_modules/@playcanvas/pcui/react/types/components/BooleanInput/index.d.ts +41 -0
  1166. package/node_modules/@playcanvas/pcui/react/types/components/Button/component.d.ts +11 -0
  1167. package/node_modules/@playcanvas/pcui/react/types/components/Button/index.d.ts +75 -0
  1168. package/node_modules/@playcanvas/pcui/react/types/components/Canvas/component.d.ts +11 -0
  1169. package/node_modules/@playcanvas/pcui/react/types/components/Canvas/index.d.ts +61 -0
  1170. package/node_modules/@playcanvas/pcui/react/types/components/Code/component.d.ts +9 -0
  1171. package/node_modules/@playcanvas/pcui/react/types/components/Code/index.d.ts +33 -0
  1172. package/node_modules/@playcanvas/pcui/react/types/components/ColorPicker/component.d.ts +11 -0
  1173. package/node_modules/@playcanvas/pcui/react/types/components/ColorPicker/index.d.ts +99 -0
  1174. package/node_modules/@playcanvas/pcui/react/types/components/Container/component.d.ts +15 -0
  1175. package/node_modules/@playcanvas/pcui/react/types/components/Container/index.d.ts +292 -0
  1176. package/node_modules/@playcanvas/pcui/react/types/components/Divider/component.d.ts +10 -0
  1177. package/node_modules/@playcanvas/pcui/react/types/components/Divider/index.d.ts +13 -0
  1178. package/node_modules/@playcanvas/pcui/react/types/components/Element/component.d.ts +23 -0
  1179. package/node_modules/@playcanvas/pcui/react/types/components/Element/index.d.ts +671 -0
  1180. package/node_modules/@playcanvas/pcui/react/types/components/GradientPicker/component.d.ts +11 -0
  1181. package/node_modules/@playcanvas/pcui/react/types/components/GradientPicker/index.d.ts +152 -0
  1182. package/node_modules/@playcanvas/pcui/react/types/components/GridView/component.d.ts +14 -0
  1183. package/node_modules/@playcanvas/pcui/react/types/components/GridView/index.d.ts +103 -0
  1184. package/node_modules/@playcanvas/pcui/react/types/components/GridViewItem/component.d.ts +9 -0
  1185. package/node_modules/@playcanvas/pcui/react/types/components/GridViewItem/index.d.ts +82 -0
  1186. package/node_modules/@playcanvas/pcui/react/types/components/InfoBox/component.d.ts +11 -0
  1187. package/node_modules/@playcanvas/pcui/react/types/components/InfoBox/index.d.ts +71 -0
  1188. package/node_modules/@playcanvas/pcui/react/types/components/InputElement/index.d.ts +84 -0
  1189. package/node_modules/@playcanvas/pcui/react/types/components/Label/component.d.ts +11 -0
  1190. package/node_modules/@playcanvas/pcui/react/types/components/Label/index.d.ts +85 -0
  1191. package/node_modules/@playcanvas/pcui/react/types/components/LabelGroup/component.d.ts +10 -0
  1192. package/node_modules/@playcanvas/pcui/react/types/components/LabelGroup/index.d.ts +62 -0
  1193. package/node_modules/@playcanvas/pcui/react/types/components/Menu/component.d.ts +14 -0
  1194. package/node_modules/@playcanvas/pcui/react/types/components/Menu/index.d.ts +70 -0
  1195. package/node_modules/@playcanvas/pcui/react/types/components/MenuItem/index.d.ts +139 -0
  1196. package/node_modules/@playcanvas/pcui/react/types/components/NumericInput/component.d.ts +9 -0
  1197. package/node_modules/@playcanvas/pcui/react/types/components/NumericInput/index.d.ts +173 -0
  1198. package/node_modules/@playcanvas/pcui/react/types/components/Overlay/component.d.ts +9 -0
  1199. package/node_modules/@playcanvas/pcui/react/types/components/Overlay/index.d.ts +53 -0
  1200. package/node_modules/@playcanvas/pcui/react/types/components/Panel/component.d.ts +16 -0
  1201. package/node_modules/@playcanvas/pcui/react/types/components/Panel/index.d.ts +178 -0
  1202. package/node_modules/@playcanvas/pcui/react/types/components/Progress/component.d.ts +9 -0
  1203. package/node_modules/@playcanvas/pcui/react/types/components/Progress/index.d.ts +33 -0
  1204. package/node_modules/@playcanvas/pcui/react/types/components/RadioButton/component.d.ts +9 -0
  1205. package/node_modules/@playcanvas/pcui/react/types/components/RadioButton/index.d.ts +33 -0
  1206. package/node_modules/@playcanvas/pcui/react/types/components/SelectInput/component.d.ts +12 -0
  1207. package/node_modules/@playcanvas/pcui/react/types/components/SelectInput/index.d.ts +278 -0
  1208. package/node_modules/@playcanvas/pcui/react/types/components/SliderInput/component.d.ts +10 -0
  1209. package/node_modules/@playcanvas/pcui/react/types/components/SliderInput/index.d.ts +133 -0
  1210. package/node_modules/@playcanvas/pcui/react/types/components/Spinner/component.d.ts +11 -0
  1211. package/node_modules/@playcanvas/pcui/react/types/components/Spinner/index.d.ts +27 -0
  1212. package/node_modules/@playcanvas/pcui/react/types/components/TextAreaInput/component.d.ts +9 -0
  1213. package/node_modules/@playcanvas/pcui/react/types/components/TextAreaInput/index.d.ts +24 -0
  1214. package/node_modules/@playcanvas/pcui/react/types/components/TextInput/component.d.ts +12 -0
  1215. package/node_modules/@playcanvas/pcui/react/types/components/TextInput/index.d.ts +40 -0
  1216. package/node_modules/@playcanvas/pcui/react/types/components/TreeView/component.d.ts +17 -0
  1217. package/node_modules/@playcanvas/pcui/react/types/components/TreeView/index.d.ts +359 -0
  1218. package/node_modules/@playcanvas/pcui/react/types/components/TreeViewItem/component.d.ts +13 -0
  1219. package/node_modules/@playcanvas/pcui/react/types/components/TreeViewItem/index.d.ts +224 -0
  1220. package/node_modules/@playcanvas/pcui/react/types/components/VectorInput/component.d.ts +9 -0
  1221. package/node_modules/@playcanvas/pcui/react/types/components/VectorInput/index.d.ts +176 -0
  1222. package/node_modules/@playcanvas/pcui/react/types/components/components.d.ts +30 -0
  1223. package/node_modules/@playcanvas/pcui/react/types/components/index.d.ts +32 -0
  1224. package/node_modules/@playcanvas/pcui/react/types/helpers/search.d.ts +31 -0
  1225. package/node_modules/@playcanvas/pcui/react/types/helpers/utils.d.ts +2 -0
  1226. package/node_modules/@playcanvas/pcui/react/types/index.d.ts +4 -0
  1227. package/node_modules/@playcanvas/pcui/styles/dist/index.mjs +11 -0
  1228. package/node_modules/@playcanvas/pcui/styles/package.json +17 -0
  1229. package/node_modules/@playcanvas/pcui/types/Math/color-value.d.ts +3 -0
  1230. package/node_modules/@playcanvas/pcui/types/binding/BindingBase/index.d.ts +178 -0
  1231. package/node_modules/@playcanvas/pcui/types/binding/BindingElementToObservers/index.d.ts +24 -0
  1232. package/node_modules/@playcanvas/pcui/types/binding/BindingObserversToElement/index.d.ts +40 -0
  1233. package/node_modules/@playcanvas/pcui/types/binding/BindingTwoWay/index.d.ts +54 -0
  1234. package/node_modules/@playcanvas/pcui/types/binding/index.d.ts +5 -0
  1235. package/node_modules/@playcanvas/pcui/types/class.d.ts +17 -0
  1236. package/node_modules/@playcanvas/pcui/types/components/ArrayInput/index.d.ts +140 -0
  1237. package/node_modules/@playcanvas/pcui/types/components/BooleanInput/index.d.ts +41 -0
  1238. package/node_modules/@playcanvas/pcui/types/components/Button/index.d.ts +75 -0
  1239. package/node_modules/@playcanvas/pcui/types/components/Canvas/index.d.ts +61 -0
  1240. package/node_modules/@playcanvas/pcui/types/components/Code/index.d.ts +33 -0
  1241. package/node_modules/@playcanvas/pcui/types/components/ColorPicker/index.d.ts +99 -0
  1242. package/node_modules/@playcanvas/pcui/types/components/Container/index.d.ts +292 -0
  1243. package/node_modules/@playcanvas/pcui/types/components/Divider/index.d.ts +13 -0
  1244. package/node_modules/@playcanvas/pcui/types/components/Element/index.d.ts +671 -0
  1245. package/node_modules/@playcanvas/pcui/types/components/GradientPicker/index.d.ts +152 -0
  1246. package/node_modules/@playcanvas/pcui/types/components/GridView/index.d.ts +103 -0
  1247. package/node_modules/@playcanvas/pcui/types/components/GridViewItem/index.d.ts +82 -0
  1248. package/node_modules/@playcanvas/pcui/types/components/InfoBox/index.d.ts +71 -0
  1249. package/node_modules/@playcanvas/pcui/types/components/InputElement/index.d.ts +84 -0
  1250. package/node_modules/@playcanvas/pcui/types/components/Label/index.d.ts +85 -0
  1251. package/node_modules/@playcanvas/pcui/types/components/LabelGroup/index.d.ts +62 -0
  1252. package/node_modules/@playcanvas/pcui/types/components/Menu/index.d.ts +70 -0
  1253. package/node_modules/@playcanvas/pcui/types/components/MenuItem/index.d.ts +139 -0
  1254. package/node_modules/@playcanvas/pcui/types/components/NumericInput/index.d.ts +173 -0
  1255. package/node_modules/@playcanvas/pcui/types/components/Overlay/index.d.ts +53 -0
  1256. package/node_modules/@playcanvas/pcui/types/components/Panel/index.d.ts +178 -0
  1257. package/node_modules/@playcanvas/pcui/types/components/Progress/index.d.ts +33 -0
  1258. package/node_modules/@playcanvas/pcui/types/components/RadioButton/index.d.ts +33 -0
  1259. package/node_modules/@playcanvas/pcui/types/components/SelectInput/index.d.ts +278 -0
  1260. package/node_modules/@playcanvas/pcui/types/components/SliderInput/index.d.ts +133 -0
  1261. package/node_modules/@playcanvas/pcui/types/components/Spinner/index.d.ts +27 -0
  1262. package/node_modules/@playcanvas/pcui/types/components/TextAreaInput/index.d.ts +24 -0
  1263. package/node_modules/@playcanvas/pcui/types/components/TextInput/index.d.ts +40 -0
  1264. package/node_modules/@playcanvas/pcui/types/components/TreeView/index.d.ts +359 -0
  1265. package/node_modules/@playcanvas/pcui/types/components/TreeViewItem/index.d.ts +224 -0
  1266. package/node_modules/@playcanvas/pcui/types/components/VectorInput/index.d.ts +176 -0
  1267. package/node_modules/@playcanvas/pcui/types/components/index.d.ts +32 -0
  1268. package/node_modules/@playcanvas/pcui/types/helpers/search.d.ts +31 -0
  1269. package/node_modules/@playcanvas/pcui/types/helpers/utils.d.ts +2 -0
  1270. package/node_modules/@playcanvas/pcui/types/index.d.ts +20 -0
  1271. package/node_modules/babylonjs-gltf2interface/babylon.glTF2Interface.d.ts +1655 -0
  1272. package/node_modules/babylonjs-gltf2interface/license.md +71 -0
  1273. package/node_modules/babylonjs-gltf2interface/package.json +26 -0
  1274. package/package.json +31 -19
  1275. package/dist/editor-plugin-hierarchy-command.d.ts +0 -19
  1276. package/dist/editor-plugin-hierarchy-command.d.ts.map +0 -1
  1277. package/dist/editor-plugin-hierarchy-command.js +0 -119
  1278. package/dist/editor-plugin-hierarchy-command.js.map +0 -1
  1279. package/node_modules/@babel/helper-string-parser/lib/index.js.map +0 -1
  1280. package/node_modules/@babel/helper-validator-identifier/lib/identifier.js.map +0 -1
  1281. package/node_modules/@babel/helper-validator-identifier/lib/index.js.map +0 -1
  1282. package/node_modules/@babel/helper-validator-identifier/lib/keyword.js.map +0 -1
  1283. package/node_modules/@babel/parser/lib/index.js.map +0 -1
  1284. package/node_modules/@babel/types/lib/asserts/assertNode.js.map +0 -1
  1285. package/node_modules/@babel/types/lib/asserts/generated/index.js.map +0 -1
  1286. package/node_modules/@babel/types/lib/ast-types/generated/index.js.map +0 -1
  1287. package/node_modules/@babel/types/lib/builders/flow/createFlowUnionType.js.map +0 -1
  1288. package/node_modules/@babel/types/lib/builders/flow/createTypeAnnotationBasedOnTypeof.js.map +0 -1
  1289. package/node_modules/@babel/types/lib/builders/generated/index.js.map +0 -1
  1290. package/node_modules/@babel/types/lib/builders/generated/lowercase.js.map +0 -1
  1291. package/node_modules/@babel/types/lib/builders/generated/uppercase.js.map +0 -1
  1292. package/node_modules/@babel/types/lib/builders/productions.js.map +0 -1
  1293. package/node_modules/@babel/types/lib/builders/react/buildChildren.js.map +0 -1
  1294. package/node_modules/@babel/types/lib/builders/typescript/createTSUnionType.js.map +0 -1
  1295. package/node_modules/@babel/types/lib/builders/validateNode.js.map +0 -1
  1296. package/node_modules/@babel/types/lib/clone/clone.js.map +0 -1
  1297. package/node_modules/@babel/types/lib/clone/cloneDeep.js.map +0 -1
  1298. package/node_modules/@babel/types/lib/clone/cloneDeepWithoutLoc.js.map +0 -1
  1299. package/node_modules/@babel/types/lib/clone/cloneNode.js.map +0 -1
  1300. package/node_modules/@babel/types/lib/clone/cloneWithoutLoc.js.map +0 -1
  1301. package/node_modules/@babel/types/lib/comments/addComment.js.map +0 -1
  1302. package/node_modules/@babel/types/lib/comments/addComments.js.map +0 -1
  1303. package/node_modules/@babel/types/lib/comments/inheritInnerComments.js.map +0 -1
  1304. package/node_modules/@babel/types/lib/comments/inheritLeadingComments.js.map +0 -1
  1305. package/node_modules/@babel/types/lib/comments/inheritTrailingComments.js.map +0 -1
  1306. package/node_modules/@babel/types/lib/comments/inheritsComments.js.map +0 -1
  1307. package/node_modules/@babel/types/lib/comments/removeComments.js.map +0 -1
  1308. package/node_modules/@babel/types/lib/constants/generated/index.js.map +0 -1
  1309. package/node_modules/@babel/types/lib/constants/index.js.map +0 -1
  1310. package/node_modules/@babel/types/lib/converters/ensureBlock.js.map +0 -1
  1311. package/node_modules/@babel/types/lib/converters/gatherSequenceExpressions.js.map +0 -1
  1312. package/node_modules/@babel/types/lib/converters/toBindingIdentifierName.js.map +0 -1
  1313. package/node_modules/@babel/types/lib/converters/toBlock.js.map +0 -1
  1314. package/node_modules/@babel/types/lib/converters/toComputedKey.js.map +0 -1
  1315. package/node_modules/@babel/types/lib/converters/toExpression.js.map +0 -1
  1316. package/node_modules/@babel/types/lib/converters/toIdentifier.js.map +0 -1
  1317. package/node_modules/@babel/types/lib/converters/toKeyAlias.js.map +0 -1
  1318. package/node_modules/@babel/types/lib/converters/toSequenceExpression.js.map +0 -1
  1319. package/node_modules/@babel/types/lib/converters/toStatement.js.map +0 -1
  1320. package/node_modules/@babel/types/lib/converters/valueToNode.js.map +0 -1
  1321. package/node_modules/@babel/types/lib/definitions/core.js.map +0 -1
  1322. package/node_modules/@babel/types/lib/definitions/deprecated-aliases.js.map +0 -1
  1323. package/node_modules/@babel/types/lib/definitions/experimental.js.map +0 -1
  1324. package/node_modules/@babel/types/lib/definitions/flow.js.map +0 -1
  1325. package/node_modules/@babel/types/lib/definitions/index.js.map +0 -1
  1326. package/node_modules/@babel/types/lib/definitions/jsx.js.map +0 -1
  1327. package/node_modules/@babel/types/lib/definitions/misc.js.map +0 -1
  1328. package/node_modules/@babel/types/lib/definitions/placeholders.js.map +0 -1
  1329. package/node_modules/@babel/types/lib/definitions/typescript.js.map +0 -1
  1330. package/node_modules/@babel/types/lib/definitions/utils.js.map +0 -1
  1331. package/node_modules/@babel/types/lib/index.js.map +0 -1
  1332. package/node_modules/@babel/types/lib/modifications/appendToMemberExpression.js.map +0 -1
  1333. package/node_modules/@babel/types/lib/modifications/flow/removeTypeDuplicates.js.map +0 -1
  1334. package/node_modules/@babel/types/lib/modifications/inherits.js.map +0 -1
  1335. package/node_modules/@babel/types/lib/modifications/prependToMemberExpression.js.map +0 -1
  1336. package/node_modules/@babel/types/lib/modifications/removeProperties.js.map +0 -1
  1337. package/node_modules/@babel/types/lib/modifications/removePropertiesDeep.js.map +0 -1
  1338. package/node_modules/@babel/types/lib/modifications/typescript/removeTypeDuplicates.js.map +0 -1
  1339. package/node_modules/@babel/types/lib/retrievers/getAssignmentIdentifiers.js.map +0 -1
  1340. package/node_modules/@babel/types/lib/retrievers/getBindingIdentifiers.js.map +0 -1
  1341. package/node_modules/@babel/types/lib/retrievers/getFunctionName.js.map +0 -1
  1342. package/node_modules/@babel/types/lib/retrievers/getOuterBindingIdentifiers.js.map +0 -1
  1343. package/node_modules/@babel/types/lib/traverse/traverse.js.map +0 -1
  1344. package/node_modules/@babel/types/lib/traverse/traverseFast.js.map +0 -1
  1345. package/node_modules/@babel/types/lib/utils/deprecationWarning.js.map +0 -1
  1346. package/node_modules/@babel/types/lib/utils/inherit.js.map +0 -1
  1347. package/node_modules/@babel/types/lib/utils/react/cleanJSXElementLiteralChild.js.map +0 -1
  1348. package/node_modules/@babel/types/lib/utils/shallowEqual.js.map +0 -1
  1349. package/node_modules/@babel/types/lib/validators/buildMatchMemberExpression.js.map +0 -1
  1350. package/node_modules/@babel/types/lib/validators/generated/index.js.map +0 -1
  1351. package/node_modules/@babel/types/lib/validators/is.js.map +0 -1
  1352. package/node_modules/@babel/types/lib/validators/isBinding.js.map +0 -1
  1353. package/node_modules/@babel/types/lib/validators/isBlockScoped.js.map +0 -1
  1354. package/node_modules/@babel/types/lib/validators/isImmutable.js.map +0 -1
  1355. package/node_modules/@babel/types/lib/validators/isLet.js.map +0 -1
  1356. package/node_modules/@babel/types/lib/validators/isNode.js.map +0 -1
  1357. package/node_modules/@babel/types/lib/validators/isNodesEquivalent.js.map +0 -1
  1358. package/node_modules/@babel/types/lib/validators/isPlaceholderType.js.map +0 -1
  1359. package/node_modules/@babel/types/lib/validators/isReferenced.js.map +0 -1
  1360. package/node_modules/@babel/types/lib/validators/isScope.js.map +0 -1
  1361. package/node_modules/@babel/types/lib/validators/isSpecifierDefault.js.map +0 -1
  1362. package/node_modules/@babel/types/lib/validators/isType.js.map +0 -1
  1363. package/node_modules/@babel/types/lib/validators/isValidES3Identifier.js.map +0 -1
  1364. package/node_modules/@babel/types/lib/validators/isValidIdentifier.js.map +0 -1
  1365. package/node_modules/@babel/types/lib/validators/isVar.js.map +0 -1
  1366. package/node_modules/@babel/types/lib/validators/matchesPattern.js.map +0 -1
  1367. package/node_modules/@babel/types/lib/validators/react/isCompatTag.js.map +0 -1
  1368. package/node_modules/@babel/types/lib/validators/react/isReactComponent.js.map +0 -1
  1369. package/node_modules/@babel/types/lib/validators/validate.js.map +0 -1
  1370. package/node_modules/@fps-games/editor-babylon/dist/prefab-comparison-preview-controller.d.ts +0 -37
  1371. package/node_modules/@fps-games/editor-babylon/dist/prefab-comparison-preview-controller.d.ts.map +0 -1
  1372. package/node_modules/@fps-games/editor-babylon/dist/prefab-comparison-preview-controller.js +0 -451
  1373. package/node_modules/@fps-games/editor-babylon/dist/prefab-comparison-preview-controller.js.map +0 -1
  1374. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-actions.d.ts +0 -49
  1375. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-actions.d.ts.map +0 -1
  1376. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-actions.js +0 -627
  1377. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-actions.js.map +0 -1
  1378. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-attach-dialog.d.ts +0 -52
  1379. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-attach-dialog.d.ts.map +0 -1
  1380. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-attach-dialog.js +0 -450
  1381. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-attach-dialog.js.map +0 -1
  1382. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-command-adapter.d.ts +0 -21
  1383. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-command-adapter.d.ts.map +0 -1
  1384. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-command-adapter.js +0 -75
  1385. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-command-adapter.js.map +0 -1
  1386. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-projection.d.ts +0 -7
  1387. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-projection.d.ts.map +0 -1
  1388. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-projection.js +0 -186
  1389. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-projection.js.map +0 -1
  1390. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-scope.d.ts +0 -5
  1391. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-scope.d.ts.map +0 -1
  1392. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-scope.js +0 -98
  1393. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-scope.js.map +0 -1
  1394. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-tree.d.ts +0 -63
  1395. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-tree.d.ts.map +0 -1
  1396. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-tree.js +0 -301
  1397. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-tree.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"local-editor-ui-hierarchy-view.js","sourceRoot":"","sources":["../src/local-editor-ui-hierarchy-view.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n createBadge,\n createEditorInputStyle,\n createPanelHeader,\n createToolbarButton,\n createTreeViewItem,\n} from './local-editor-ui-primitives';\nimport {\n configureLocalEditorDockPanelContent,\n createLocalEditorDockPanelViewport,\n} from './local-editor-ui-dock-panel';\nimport { createLocalEditorIcon, isLocalEditorIconName, type LocalEditorIconName } from './local-editor-ui-icons';\nimport { clearElement } from './local-editor-ui-shared';\nimport type { LocalEditorBrowserSceneGraphDropIntent } from './local-editor-ui-types';\nimport {\n canLocalEditorHierarchyNodeHaveChildren,\n canLocalEditorHierarchyNodeToggleEnabled,\n} from './local-editor-ui-hierarchy-tree';\nimport type { LocalEditorHierarchyDropPreview } from './local-editor-ui-hierarchy-drag-policy';\nimport { syncLocalEditorStructuredDragPreview } from './local-editor-ui-structured-drag-preview';\nimport type {\n LocalEditorHierarchyTreeModel,\n LocalEditorHierarchyTreeNode,\n} from './local-editor-ui-hierarchy-tree';\n\nconst HIERARCHY_ROLE_ICONS: Record<LocalEditorHierarchyTreeNode['role'], LocalEditorIconName> = {\n root: 'root',\n group: 'group',\n object: 'object',\n marker: 'view-overlay',\n};\n\nexport interface LocalEditorHierarchyViewInput {\n title?: string;\n searchPlaceholder?: string;\n showCreateGroup?: boolean;\n showCreateMarker?: boolean;\n model: LocalEditorHierarchyTreeModel;\n rename: { id: string; value: string } | null;\n drop: LocalEditorBrowserSceneGraphDropIntent | null;\n dropPreview: LocalEditorHierarchyDropPreview | null;\n rootDrop: boolean;\n searchQuery: string;\n}\n\nexport function renderLocalEditorHierarchyPanel(\n doc: Document,\n panel: HTMLElement,\n input: LocalEditorHierarchyViewInput,\n): void {\n clearElement(panel);\n configureLocalEditorDockPanelContent(panel);\n const actions: HTMLElement[] = [];\n if (input.showCreateGroup !== false) {\n const createGroupButton = createToolbarButton(doc, '+ Empty', 'object');\n createGroupButton.dataset.editorHierarchyCreateGroup = 'true';\n createGroupButton.style.padding = '3px 7px';\n createGroupButton.style.fontSize = '11px';\n actions.push(createGroupButton);\n }\n if (input.showCreateMarker === true) {\n const createMarkerButton = createToolbarButton(doc, '+ Marker', 'view-overlay');\n createMarkerButton.dataset.editorHierarchyCreateMarker = 'true';\n createMarkerButton.style.padding = '3px 7px';\n createMarkerButton.style.fontSize = '11px';\n actions.push(createMarkerButton);\n }\n panel.appendChild(createPanelHeader(doc, input.title ?? 'Hierarchy', actions, 'hierarchy'));\n\n panel.appendChild(createHierarchySearchInput(doc, input.searchQuery, input.searchPlaceholder));\n\n const list = createLocalEditorDockPanelViewport(doc, 'editorHierarchyTreeViewport', { gap: '1px' });\n list.dataset.editorHierarchyRootDrop = input.rootDrop ? 'active' : 'ready';\n const rows = resolveLocalEditorHierarchySearchRows(input.model, input.searchQuery);\n if (rows.length === 0) {\n const empty = doc.createElement('div');\n empty.textContent = input.searchQuery.trim() ? 'No matching GameObjects.' : 'No hierarchy nodes.';\n empty.style.cssText = 'padding:8px;color:var(--fps-editor-muted);font-size:11px';\n list.appendChild(empty);\n } else {\n for (const node of rows) {\n const row = renderHierarchyRow(doc, node, input.rename, null, null);\n list.appendChild(row);\n }\n }\n panel.appendChild(list);\n syncLocalEditorHierarchyDropPreview(doc, panel, {\n dropPreview: input.dropPreview,\n rootDrop: input.rootDrop,\n });\n}\n\nexport function syncLocalEditorHierarchyDropPreview(\n doc: Document,\n panel: HTMLElement,\n input: Pick<LocalEditorHierarchyViewInput, 'dropPreview' | 'rootDrop'>,\n): void {\n const list = panel.querySelector<HTMLElement>('[data-editor-hierarchy-tree-viewport]');\n if (!list) return;\n syncLocalEditorStructuredDragPreview(doc, {\n root: list,\n preview: input.dropPreview,\n rootActive: input.rootDrop,\n reset: clearHierarchyDropPreviewDom,\n applyRootState: applyHierarchyRootDropPreviewState,\n findTarget: preview => findHierarchyPreviewRow(panel, preview.targetId),\n applyTargetPreview: applyHierarchyTargetDropPreview,\n });\n}\n\nfunction applyHierarchyRootDropPreviewState(\n list: HTMLElement,\n state: { rootActive: boolean; rootPreview: LocalEditorHierarchyDropPreview | null },\n): void {\n list.dataset.editorHierarchyRootDrop = state.rootActive ? 'active' : 'ready';\n const preview = state.rootPreview;\n if (!preview) return;\n list.dataset.editorHierarchyDropPreview = 'root';\n list.dataset.editorHierarchyDropPreviewValid = preview.valid ? 'true' : 'false';\n list.style.boxShadow = `inset 0 -3px 0 ${preview.valid ? 'var(--fps-editor-warn-strong)' : 'var(--fps-editor-muted)'}`;\n list.style.background = preview.valid ? 'var(--fps-editor-warn-soft)' : 'var(--fps-editor-field)';\n}\n\nfunction applyHierarchyTargetDropPreview(\n doc: Document,\n row: HTMLElement,\n preview: LocalEditorHierarchyDropPreview,\n): void {\n row.dataset.editorHierarchyDropPreview = preview.kind === 'inside' ? 'inside' : preview.placement;\n row.dataset.editorHierarchyDropPreviewValid = preview.valid ? 'true' : 'false';\n if (preview.kind === 'inside') {\n row.appendChild(renderHierarchyInsidePreview(doc, preview));\n return;\n }\n row.appendChild(renderHierarchyInsertionPreview(doc, preview));\n}\n\nexport function resolveLocalEditorHierarchySearchRows(\n model: LocalEditorHierarchyTreeModel,\n query: string,\n): LocalEditorHierarchyTreeNode[] {\n const needle = query.trim().toLowerCase();\n if (!needle) return model.visibleRows;\n const includedIds = new Set<string>();\n for (const node of collectHierarchyRows(model)) {\n if (!node.label.toLowerCase().includes(needle)) continue;\n includedIds.add(node.id);\n for (const ancestor of model.getAncestors(node.id)) includedIds.add(ancestor.id);\n }\n return collectHierarchyRows(model).filter(node => includedIds.has(node.id));\n}\n\nfunction createHierarchySearchInput(\n doc: Document,\n value: string,\n placeholder = '搜索 GameObject 名称',\n): HTMLInputElement {\n const input = doc.createElement('input');\n input.type = 'search';\n input.dataset.editorHierarchySearch = 'true';\n input.placeholder = placeholder;\n input.value = value;\n input.style.cssText = [\n createEditorInputStyle(),\n 'width:100%',\n 'height:28px',\n 'margin:0 0 8px',\n 'outline:none',\n ].join(';');\n return input;\n}\n\nfunction collectHierarchyRows(model: LocalEditorHierarchyTreeModel): LocalEditorHierarchyTreeNode[] {\n const rows: LocalEditorHierarchyTreeNode[] = [];\n const visit = (id: string): void => {\n const node = model.getNode(id);\n if (!node) return;\n rows.push(node);\n for (const child of model.getChildren(id)) visit(child.id);\n };\n for (const rootId of model.rootIds) visit(rootId);\n return rows;\n}\n\nfunction renderHierarchyRow(\n doc: Document,\n node: LocalEditorHierarchyTreeNode,\n rename: { id: string; value: string } | null,\n drop: LocalEditorBrowserSceneGraphDropIntent | null,\n dropPreview: LocalEditorHierarchyDropPreview | null,\n): HTMLButtonElement {\n const isRenaming = rename?.id === node.id;\n const dropPlacement = dropPreview?.kind === 'inside' && dropPreview.targetId === node.id\n ? 'inside'\n : drop?.targetId === node.id && drop.placement === 'inside'\n ? 'inside'\n : null;\n const dropValid = dropPreview?.kind === 'inside' && dropPreview.targetId === node.id\n ? dropPreview.valid\n : undefined;\n const canHaveChildren = canLocalEditorHierarchyNodeHaveChildren(node);\n const button = createTreeViewItem(doc, {\n id: node.id,\n label: node.label,\n depth: node.depth,\n role: node.role,\n selected: node.selected,\n active: node.active,\n locked: node.item.locked,\n protected: node.protected,\n selectable: node.item.selectable,\n enabled: node.item.enabled,\n draggable: node.item.draggable,\n dropPlacement,\n dropValid,\n });\n if (dropPreview?.kind === 'inside' && dropPreview.targetId === node.id) {\n button.dataset.editorHierarchyDropPreview = 'inside';\n button.dataset.editorHierarchyDropPreviewValid = dropPreview.valid ? 'true' : 'false';\n }\n button.dataset.editorHierarchyCanHaveChildren = canHaveChildren ? 'true' : 'false';\n button.title = node.protected ? `${node.label} (protected)` : node.label;\n appendDisclosure(doc, button, node);\n appendEnabledToggle(doc, button, node);\n appendRoleBadge(doc, button, node);\n if (isRenaming) appendRenameInput(doc, button, node, rename.value);\n else appendLabel(doc, button, node);\n if (node.protected) appendProtectedBadge(doc, button);\n return button;\n}\n\nfunction appendEnabledToggle(\n doc: Document,\n button: HTMLButtonElement,\n node: LocalEditorHierarchyTreeNode,\n): void {\n if (typeof node.item.enabled !== 'boolean') {\n const spacer = doc.createElement('span');\n spacer.style.cssText = 'width:18px;height:18px;flex:0 0 18px';\n button.appendChild(spacer);\n return;\n }\n const enabled = node.item.enabled !== false;\n const toggle = doc.createElement('span');\n toggle.dataset.editorHierarchyEnabledToggle = node.id;\n toggle.dataset.editorHierarchyEnabled = enabled ? 'true' : 'false';\n const disabled = !canLocalEditorHierarchyNodeToggleEnabled(node);\n toggle.dataset.editorHierarchyEnabledToggleDisabled = disabled ? 'true' : 'false';\n toggle.title = disabled\n ? node.item.enableToggleDisabledReason ?? 'This hierarchy item cannot be hidden.'\n : `${enabled ? 'Hide' : 'Show'} ${node.label}`;\n toggle.style.cssText = [\n 'width:18px',\n 'height:18px',\n 'flex:0 0 18px',\n 'display:inline-flex',\n 'align-items:center',\n 'justify-content:center',\n 'padding:0',\n 'border:1px solid transparent',\n 'border-radius:3px',\n 'background:transparent',\n `color:${enabled ? 'var(--fps-editor-muted-strong)' : 'var(--fps-editor-muted)'}`,\n `opacity:${disabled ? '0.45' : '1'}`,\n `cursor:${disabled ? 'not-allowed' : 'pointer'}`,\n ].join(';');\n toggle.appendChild(createLocalEditorIcon(doc, enabled ? 'eye' : 'eye-off', { size: 13, strokeWidth: 2.2 }));\n button.appendChild(toggle);\n}\n\nfunction renderHierarchyInsertionPreview(\n doc: Document,\n preview: LocalEditorHierarchyDropPreview,\n): HTMLDivElement {\n const line = doc.createElement('div');\n line.dataset.editorHierarchyInsertionPreview = 'true';\n line.dataset.editorHierarchyDropPreview = preview.placement;\n line.dataset.editorHierarchyDropPreviewValid = preview.valid ? 'true' : 'false';\n line.style.cssText = [\n 'position:absolute',\n 'left:0',\n 'right:0',\n preview.placement === 'before' ? 'top:-5px' : 'bottom:-5px',\n 'height:10px',\n 'pointer-events:none',\n 'z-index:4',\n ].join(';');\n const anchor = doc.createElement('span');\n anchor.style.cssText = [\n 'position:absolute',\n `left:${Math.max(2, 2 + preview.depth * 16)}px`,\n 'top:2px',\n 'width:6px',\n 'height:6px',\n 'border-radius:50%',\n `background:${preview.valid ? 'var(--fps-editor-warn-strong)' : 'var(--fps-editor-muted)'}`,\n `box-shadow:${preview.valid ? '0 0 0 2px rgba(0,0,0,0.35), 0 0 10px rgba(255,193,7,0.55)' : '0 0 0 2px rgba(0,0,0,0.25)'}`,\n ].join(';');\n const rule = doc.createElement('span');\n rule.style.cssText = [\n 'position:absolute',\n `left:${8 + preview.depth * 16}px`,\n 'right:4px',\n 'top:4px',\n 'height:3px',\n `background:${preview.valid ? 'var(--fps-editor-warn-strong)' : 'var(--fps-editor-muted)'}`,\n `opacity:${preview.valid ? '1' : '0.6'}`,\n `box-shadow:${preview.valid ? '0 0 0 1px rgba(0,0,0,0.25), 0 0 12px rgba(255,193,7,0.42)' : '0 0 0 1px rgba(0,0,0,0.18)'}`,\n ].join(';');\n line.appendChild(anchor);\n line.appendChild(rule);\n return line;\n}\n\nfunction renderHierarchyInsidePreview(\n doc: Document,\n preview: LocalEditorHierarchyDropPreview,\n): HTMLDivElement {\n const overlay = doc.createElement('div');\n overlay.dataset.editorHierarchyInsidePreview = 'true';\n overlay.dataset.editorHierarchyDropPreview = 'inside';\n overlay.dataset.editorHierarchyDropPreviewValid = preview.valid ? 'true' : 'false';\n overlay.style.cssText = [\n 'position:absolute',\n 'inset:0',\n 'pointer-events:none',\n 'z-index:1',\n `border:1px solid ${preview.valid ? 'var(--fps-editor-drop-target)' : 'var(--fps-editor-muted)'}`,\n `box-shadow:${preview.valid ? 'inset 4px 0 0 var(--fps-editor-drop-target), 0 0 0 1px rgba(255,255,255,0.08), 0 0 14px rgba(255,193,7,0.24)' : 'inset 4px 0 0 var(--fps-editor-muted)'}`,\n `background:${preview.valid ? 'rgba(255,193,7,0.09)' : 'rgba(255,255,255,0.04)'}`,\n ].join(';');\n return overlay;\n}\n\nfunction clearHierarchyDropPreviewDom(list: HTMLElement): void {\n list.style.boxShadow = '';\n list.style.background = '';\n delete list.dataset.editorHierarchyDropPreview;\n delete list.dataset.editorHierarchyDropPreviewValid;\n for (const preview of list.querySelectorAll<HTMLElement>('[data-editor-hierarchy-insertion-preview],[data-editor-hierarchy-inside-preview]')) {\n preview.remove();\n }\n for (const row of list.querySelectorAll<HTMLElement>('[data-editor-hierarchy-drop-preview]')) {\n delete row.dataset.editorHierarchyDropPreview;\n delete row.dataset.editorHierarchyDropPreviewValid;\n }\n}\n\nfunction findHierarchyPreviewRow(panel: HTMLElement, targetId: string | null): HTMLElement | null {\n if (!targetId) return null;\n for (const row of panel.querySelectorAll<HTMLElement>('[data-editor-hierarchy-id]')) {\n if (row.dataset.editorHierarchyId === targetId) return row;\n }\n return null;\n}\n\nfunction appendDisclosure(doc: Document, parent: HTMLElement, node: LocalEditorHierarchyTreeNode): void {\n const disclosure = doc.createElement('span');\n if (node.childIds.length > 0) disclosure.dataset.editorHierarchyToggle = node.id;\n disclosure.style.cssText = [\n 'width:12px',\n 'flex:0 0 12px',\n 'display:inline-flex',\n 'align-items:center',\n 'justify-content:center',\n 'color:var(--fps-editor-muted)',\n 'font-size:10px',\n ].join(';');\n if (node.childIds.length > 0) {\n disclosure.appendChild(createLocalEditorIcon(doc, node.expanded ? 'chevron-down' : 'chevron-right', {\n size: 12,\n strokeWidth: 2.4,\n }));\n }\n parent.appendChild(disclosure);\n}\n\nfunction appendRoleBadge(doc: Document, parent: HTMLElement, node: LocalEditorHierarchyTreeNode): void {\n const badge = doc.createElement('span');\n const icon = isLocalEditorIconName(node.item.icon) ? node.item.icon : HIERARCHY_ROLE_ICONS[node.role];\n const isMaterialSlot = icon === 'material-slot';\n const isPrefab = icon === 'prefab';\n badge.title = isMaterialSlot ? 'material slot' : isPrefab ? 'prefab' : node.role;\n badge.style.cssText = [\n 'width:15px',\n 'height:15px',\n 'flex:0 0 15px',\n 'display:inline-flex',\n 'align-items:center',\n 'justify-content:center',\n 'border:1px solid var(--fps-editor-border)',\n 'border-radius:2px',\n `background:${isMaterialSlot ? 'var(--fps-editor-warn-soft)' : node.role === 'root' ? 'var(--fps-editor-role-root-bg)' : node.role === 'group' ? 'var(--fps-editor-role-group-bg)' : 'var(--fps-editor-role-object-bg)'}`,\n `border-color:${isMaterialSlot ? 'var(--fps-editor-warn-border)' : 'var(--fps-editor-border)'}`,\n `color:${isMaterialSlot ? 'var(--fps-editor-warn-strong)' : 'var(--fps-editor-muted-strong)'}`,\n 'font-size:9px',\n 'font-weight:900',\n ].join(';');\n badge.appendChild(createLocalEditorIcon(doc, icon, { size: 11, strokeWidth: 2.3 }));\n parent.appendChild(badge);\n}\n\nfunction appendLabel(doc: Document, parent: HTMLElement, node: LocalEditorHierarchyTreeNode): void {\n const label = doc.createElement('span');\n label.textContent = node.item.locked && !node.protected ? `${node.label} [locked]` : node.label;\n label.style.cssText = 'min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap';\n parent.appendChild(label);\n}\n\nfunction appendProtectedBadge(doc: Document, parent: HTMLElement): void {\n const badge = createBadge(doc, 'protected', { compact: true, tone: 'warning', icon: 'lock' });\n badge.style.flex = '0 0 auto';\n parent.appendChild(badge);\n}\n\nfunction appendRenameInput(\n doc: Document,\n parent: HTMLElement,\n node: LocalEditorHierarchyTreeNode,\n value: string,\n): void {\n const input = doc.createElement('input');\n input.dataset.editorHierarchyRenameInput = node.id;\n input.value = value;\n input.style.cssText = [\n 'min-width:0',\n 'flex:1',\n 'height:22px',\n 'box-sizing:border-box',\n 'border:1px solid var(--fps-editor-accent-strong)',\n 'border-radius:2px',\n 'background:var(--fps-editor-field)',\n 'color:var(--fps-editor-text-strong)',\n 'font-size:12px',\n 'font-weight:700',\n 'padding:2px 5px',\n 'outline:none',\n ].join(';');\n parent.appendChild(input);\n setTimeout(() => {\n input.focus();\n input.select();\n }, 0);\n}\n"]}
1
+ {"version":3,"file":"local-editor-ui-hierarchy-view.js","sourceRoot":"","sources":["../src/local-editor-ui-hierarchy-view.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n createEditorInputStyle,\n createPanelHeader,\n createToolbarButton,\n createTreeViewItem,\n} from './local-editor-ui-primitives';\nimport {\n configureLocalEditorDockPanelContent,\n createLocalEditorDockPanelViewport,\n} from './local-editor-ui-dock-panel';\nimport { createLocalEditorIcon, isLocalEditorIconName, type LocalEditorIconName } from './local-editor-ui-icons';\nimport { clearElement } from './local-editor-ui-shared';\nimport type {\n HierarchyNodeSnapshot,\n HierarchyViewModel,\n HierarchyVisibleRow,\n} from '@fps-games/plugin-hierarchy';\nimport type { LocalEditorHierarchyDropPreview } from './local-editor-ui-hierarchy-drag-policy';\nimport { syncLocalEditorStructuredDragPreview } from './local-editor-ui-structured-drag-preview';\n\ntype HierarchyRowRole = 'root' | 'group' | 'object' | 'marker';\n\ninterface HierarchyRowPresentation {\n node: HierarchyNodeSnapshot;\n depth: number;\n role: HierarchyRowRole;\n selected: boolean;\n active: boolean;\n expanded: boolean;\n enabled: boolean | undefined;\n canToggleEnabled: boolean;\n childCount: number;\n}\n\nconst HIERARCHY_ROLE_ICONS: Record<HierarchyRowRole, LocalEditorIconName> = {\n root: 'root',\n group: 'group',\n object: 'object',\n marker: 'view-overlay',\n};\n\nexport interface LocalEditorHierarchyViewInput {\n title?: string;\n searchPlaceholder?: string;\n showCreateMenu?: boolean;\n viewModel: HierarchyViewModel;\n presentationRevision: string;\n rename: { id: string; value: string } | null;\n dragId: string | null;\n dropPreview: LocalEditorHierarchyDropPreview | null;\n rootDrop: boolean;\n searchQuery: string;\n}\n\nexport const LOCAL_EDITOR_HIERARCHY_ROW_HEIGHT = 26;\nconst HIERARCHY_VIRTUAL_OVERSCAN = 8;\n\ninterface HierarchyPanelShell {\n header: HTMLElement;\n title: HTMLElement;\n createMenu: HTMLElement;\n search: HTMLInputElement;\n viewport: HTMLElement;\n canvas: HTMLElement;\n input: LocalEditorHierarchyViewInput;\n rows: Map<string, HTMLElement>;\n selectedIdsRef: readonly string[] | null;\n selectedIdsSet: ReadonlySet<string>;\n domOrderKey: string;\n frame: number | null;\n}\n\nconst hierarchyPanelShells = new WeakMap<HTMLElement, HierarchyPanelShell>();\n\nexport function renderLocalEditorHierarchyPanel(\n doc: Document,\n panel: HTMLElement,\n input: LocalEditorHierarchyViewInput,\n): void {\n let shell = hierarchyPanelShells.get(panel);\n if (shell && !panel.contains(shell.viewport)) {\n hierarchyPanelShells.delete(panel);\n shell = undefined;\n }\n if (!shell) {\n clearElement(panel);\n configureLocalEditorDockPanelContent(panel);\n const createMenu = createToolbarButton(doc, '+ 添加', 'plus');\n createMenu.dataset.editorHierarchyCreateMenu = 'true';\n createMenu.title = '添加节点或本地资源';\n createMenu.setAttribute('aria-label', '添加节点或本地资源');\n createMenu.style.padding = '3px 7px';\n createMenu.style.fontSize = '11px';\n const header = createPanelHeader(doc, input.title ?? 'Hierarchy', [createMenu], 'hierarchy');\n const title = header.querySelector<HTMLElement>('h2 span:last-child') ?? header;\n const search = createHierarchySearchInput(doc, input.searchQuery, input.searchPlaceholder);\n search.classList.add('fps-editor-ui-search', 'fps-editor-ui-hierarchy-search');\n const viewport = createLocalEditorDockPanelViewport(doc, 'editorHierarchyTreeViewport');\n viewport.style.position = 'relative';\n viewport.dataset.editorHierarchyRootDrop = 'ready';\n const canvas = doc.createElement('div');\n canvas.className = 'fps-editor-ui-hierarchy-canvas';\n canvas.dataset.editorHierarchyVirtualCanvas = 'true';\n viewport.appendChild(canvas);\n panel.append(header, search, viewport);\n const created: HierarchyPanelShell = {\n header, title, createMenu, search, viewport, canvas, input, rows: new Map(),\n selectedIdsRef: null,\n selectedIdsSet: new Set(),\n domOrderKey: '',\n frame: null,\n };\n shell = created;\n hierarchyPanelShells.set(panel, created);\n viewport.addEventListener('scroll', () => {\n if (created.frame !== null) return;\n created.frame = doc.defaultView?.requestAnimationFrame(() => {\n created.frame = null;\n renderHierarchyVirtualWindow(doc, created);\n }) ?? null;\n if (created.frame === null) renderHierarchyVirtualWindow(doc, created);\n }, { passive: true });\n }\n if (!shell) return;\n shell.input = input;\n shell.title.textContent = input.title ?? 'Hierarchy';\n shell.createMenu.style.display = input.showCreateMenu === false ? 'none' : '';\n if (doc.activeElement !== shell.search && shell.search.value !== input.searchQuery) shell.search.value = input.searchQuery;\n shell.search.placeholder = input.searchPlaceholder ?? '搜索 GameObject 名称';\n shell.viewport.dataset.editorHierarchyRootDrop = input.rootDrop ? 'active' : 'ready';\n renderHierarchyVirtualWindow(doc, shell);\n syncLocalEditorHierarchyDropPreview(doc, panel, {\n dropPreview: input.dropPreview,\n rootDrop: input.rootDrop,\n });\n}\n\nfunction renderHierarchyVirtualWindow(doc: Document, shell: HierarchyPanelShell): void {\n const { input, viewport, canvas } = shell;\n const projection = input.viewModel.projection;\n const total = projection.totalCount;\n canvas.style.height = `${Math.max(1, total * LOCAL_EDITOR_HIERARCHY_ROW_HEIGHT)}px`;\n const viewportHeight = viewport.clientHeight || 520;\n const firstVisible = Math.floor(viewport.scrollTop / LOCAL_EDITOR_HIERARCHY_ROW_HEIGHT);\n const start = Math.max(0, firstVisible - HIERARCHY_VIRTUAL_OVERSCAN);\n const count = Math.min(\n total - start,\n Math.ceil(viewportHeight / LOCAL_EDITOR_HIERARCHY_ROW_HEIGHT) + HIERARCHY_VIRTUAL_OVERSCAN * 2,\n );\n const windowRows = projection.getWindow(start, Math.max(0, count));\n const selectedIds = resolveHierarchySelectedIdSet(shell, input.viewModel.snapshot.selectedIds);\n const retained = new Set<string>();\n const orderedRows: HTMLElement[] = [];\n for (let offset = 0; offset < windowRows.length; offset += 1) {\n const projected = windowRows[offset]!;\n const node = createHierarchyRowPresentation(input.viewModel, projected, selectedIds);\n if (!node) continue;\n retained.add(node.node.id);\n const row = ensureHierarchyVirtualRow(doc, shell, node);\n orderedRows.push(row);\n const index = start + offset;\n row.dataset.editorHierarchyVirtualIndex = String(index);\n row.style.position = 'absolute';\n row.style.left = '0';\n row.style.right = '0';\n row.style.top = `${index * LOCAL_EDITOR_HIERARCHY_ROW_HEIGHT}px`;\n row.style.height = `${LOCAL_EDITOR_HIERARCHY_ROW_HEIGHT}px`;\n if (row.parentElement !== canvas) canvas.appendChild(row);\n }\n const pinnedRenameId = input.rename?.id;\n if (pinnedRenameId && !retained.has(pinnedRenameId)) {\n const index = projection.indexOf(pinnedRenameId);\n const projected = projection.getRow(index);\n const node = projected ? createHierarchyRowPresentation(input.viewModel, projected, selectedIds) : null;\n const pinned = node ? ensureHierarchyVirtualRow(doc, shell, node) : null;\n if (pinned && index >= 0) {\n retained.add(pinnedRenameId);\n pinned.dataset.editorHierarchyVirtualIndex = String(index);\n pinned.style.position = 'absolute';\n pinned.style.left = '0';\n pinned.style.right = '0';\n pinned.style.top = `${index * LOCAL_EDITOR_HIERARCHY_ROW_HEIGHT}px`;\n pinned.style.height = `${LOCAL_EDITOR_HIERARCHY_ROW_HEIGHT}px`;\n }\n }\n const pinnedDragId = input.dragId;\n if (pinnedDragId && !retained.has(pinnedDragId)) {\n const index = projection.indexOf(pinnedDragId);\n const projected = projection.getRow(index);\n const node = projected ? createHierarchyRowPresentation(input.viewModel, projected, selectedIds) : null;\n const pinned = node ? ensureHierarchyVirtualRow(doc, shell, node) : null;\n if (pinned && index >= 0) {\n retained.add(pinnedDragId);\n pinned.dataset.editorHierarchyVirtualIndex = String(index);\n pinned.style.position = 'absolute';\n pinned.style.left = '0';\n pinned.style.right = '0';\n pinned.style.top = `${index * LOCAL_EDITOR_HIERARCHY_ROW_HEIGHT}px`;\n pinned.style.height = `${LOCAL_EDITOR_HIERARCHY_ROW_HEIGHT}px`;\n }\n }\n for (const [id, row] of shell.rows) {\n if (retained.has(id)) continue;\n row.remove();\n shell.rows.delete(id);\n }\n let domOrderKey = '';\n for (const row of orderedRows) {\n domOrderKey += `${row.dataset.editorHierarchyId ?? ''}@${row.dataset.editorHierarchyVirtualIndex ?? ''}\\u0000`;\n }\n if (domOrderKey !== shell.domOrderKey) {\n syncHierarchyVirtualRowDomOrder(canvas, orderedRows);\n shell.domOrderKey = domOrderKey;\n }\n let empty = canvas.querySelector<HTMLElement>('[data-editor-hierarchy-empty]');\n if (total === 0) {\n if (!empty) {\n empty = doc.createElement('div');\n empty.dataset.editorHierarchyEmpty = 'true';\n empty.style.cssText = 'position:absolute;inset:0;padding:8px;color:var(--fps-editor-muted);font-size:11px';\n canvas.appendChild(empty);\n }\n empty.textContent = input.searchQuery.trim() ? 'No matching GameObjects.' : 'No hierarchy nodes.';\n } else {\n empty?.remove();\n }\n}\n\nfunction resolveHierarchySelectedIdSet(\n shell: HierarchyPanelShell,\n selectedIds: readonly string[],\n): ReadonlySet<string> {\n if (shell.selectedIdsRef === selectedIds) return shell.selectedIdsSet;\n shell.selectedIdsRef = selectedIds;\n shell.selectedIdsSet = new Set(selectedIds);\n return shell.selectedIdsSet;\n}\n\nfunction syncHierarchyVirtualRowDomOrder(canvas: HTMLElement, orderedRows: readonly HTMLElement[]): void {\n let previous: HTMLElement | null = null;\n for (const row of orderedRows) {\n if (row.parentElement !== canvas) {\n if (previous?.nextSibling) canvas.insertBefore(row, previous.nextSibling);\n else canvas.appendChild(row);\n } else if (previous === null) {\n const firstRow = findFirstHierarchyVirtualRow(canvas);\n if (firstRow && firstRow !== row) canvas.insertBefore(row, firstRow);\n } else if (previous.nextSibling !== row) {\n canvas.insertBefore(row, previous.nextSibling);\n }\n previous = row;\n }\n}\n\nfunction findFirstHierarchyVirtualRow(canvas: HTMLElement): HTMLElement | null {\n for (const child of canvas.children) {\n if (child instanceof HTMLElement && child.dataset.editorHierarchyId) return child;\n }\n return null;\n}\n\nfunction ensureHierarchyVirtualRow(\n doc: Document,\n shell: HierarchyPanelShell,\n rowModel: HierarchyRowPresentation,\n): HTMLElement {\n const { input } = shell;\n const { node } = rowModel;\n const renderKey = [\n input.presentationRevision,\n node.label, rowModel.depth, rowModel.selected, rowModel.active, rowModel.expanded, rowModel.enabled,\n node.editorLocked, node.draggable, input.rename?.id === node.id ? input.rename.value : '',\n ].join('\\u0000');\n let row = shell.rows.get(node.id);\n if (!row || row.dataset.editorHierarchyRenderKey !== renderKey) {\n const replacement = renderHierarchyRow(doc, rowModel, input.rename);\n replacement.dataset.editorHierarchyRenderKey = renderKey;\n if (row) row.replaceWith(replacement);\n row = replacement;\n shell.rows.set(node.id, row);\n }\n return row;\n}\n\nfunction createHierarchyRowPresentation(\n viewModel: HierarchyViewModel,\n projected: HierarchyVisibleRow,\n selectedIds: ReadonlySet<string>,\n): HierarchyRowPresentation | null {\n const node = viewModel.snapshot.nodeById.get(projected.id);\n if (!node) return null;\n const childCount = viewModel.snapshot.childrenByParentId.get(node.id)?.length ?? 0;\n const enabled = node.authoredEnabled ?? node.editorVisible;\n const supportsToggle = node.authoredEnabled !== undefined\n ? viewModel.snapshot.capabilities.authoredEnabled === true\n : node.editorVisible !== undefined && viewModel.snapshot.capabilities.editorVisibility === true;\n return {\n node,\n depth: projected.depth,\n role: normalizeHierarchyRowRole(node.role),\n selected: selectedIds.has(node.id),\n active: viewModel.snapshot.activeId === node.id,\n expanded: childCount > 0 && (viewModel.state.searchQuery.trim().length > 0 || !viewModel.state.collapsedIds.has(node.id)),\n enabled,\n canToggleEnabled: supportsToggle && node.editorLocked !== true,\n childCount,\n };\n}\n\nfunction normalizeHierarchyRowRole(role: string | undefined): HierarchyRowRole {\n return role === 'root' || role === 'group' || role === 'marker' ? role : 'object';\n}\n\nexport function syncLocalEditorHierarchyDropPreview(\n doc: Document,\n panel: HTMLElement,\n input: Pick<LocalEditorHierarchyViewInput, 'dropPreview' | 'rootDrop'>,\n): void {\n const list = panel.querySelector<HTMLElement>('[data-editor-hierarchy-tree-viewport]');\n if (!list) return;\n syncLocalEditorStructuredDragPreview(doc, {\n root: list,\n preview: input.dropPreview,\n rootActive: input.rootDrop,\n reset: clearHierarchyDropPreviewDom,\n applyRootState: applyHierarchyRootDropPreviewState,\n findTarget: preview => findHierarchyPreviewRow(panel, preview.targetId),\n applyTargetPreview: applyHierarchyTargetDropPreview,\n });\n}\n\nfunction applyHierarchyRootDropPreviewState(\n list: HTMLElement,\n state: { rootActive: boolean; rootPreview: LocalEditorHierarchyDropPreview | null },\n): void {\n list.dataset.editorHierarchyRootDrop = state.rootActive ? 'active' : 'ready';\n const preview = state.rootPreview;\n if (!preview) return;\n list.dataset.editorHierarchyDropPreview = 'root';\n list.dataset.editorHierarchyDropPreviewValid = preview.valid ? 'true' : 'false';\n list.style.boxShadow = `inset 0 -3px 0 ${preview.valid ? 'var(--fps-editor-warn-strong)' : 'var(--fps-editor-muted)'}`;\n list.style.background = preview.valid ? 'var(--fps-editor-warn-soft)' : 'var(--fps-editor-field)';\n}\n\nfunction applyHierarchyTargetDropPreview(\n doc: Document,\n row: HTMLElement,\n preview: LocalEditorHierarchyDropPreview,\n): void {\n row.dataset.editorHierarchyDropPreview = preview.kind === 'inside' ? 'inside' : preview.placement;\n row.dataset.editorHierarchyDropPreviewValid = preview.valid ? 'true' : 'false';\n if (preview.kind === 'inside') {\n row.appendChild(renderHierarchyInsidePreview(doc, preview));\n return;\n }\n row.appendChild(renderHierarchyInsertionPreview(doc, preview));\n}\n\nfunction createHierarchySearchInput(\n doc: Document,\n value: string,\n placeholder = '搜索 GameObject 名称',\n): HTMLInputElement {\n const input = doc.createElement('input');\n input.type = 'search';\n input.dataset.editorHierarchySearch = 'true';\n input.placeholder = placeholder;\n input.value = value;\n input.style.cssText = [\n createEditorInputStyle(),\n 'width:100%',\n 'height:28px',\n 'margin:0 0 8px',\n 'outline:none',\n ].join(';');\n return input;\n}\n\nfunction renderHierarchyRow(\n doc: Document,\n rowModel: HierarchyRowPresentation,\n rename: { id: string; value: string } | null,\n): HTMLButtonElement {\n const { node } = rowModel;\n const isRenaming = rename?.id === node.id;\n const canHaveChildren = node.canHaveChildren && node.editorLocked !== true;\n const button = createTreeViewItem(doc, {\n id: node.id,\n label: node.label,\n depth: rowModel.depth,\n role: rowModel.role,\n selected: rowModel.selected,\n active: rowModel.active,\n locked: node.editorLocked,\n protected: false,\n selectable: node.selectable,\n enabled: rowModel.enabled,\n draggable: node.draggable,\n dropPlacement: null,\n });\n button.dataset.editorHierarchyCanHaveChildren = canHaveChildren ? 'true' : 'false';\n button.title = node.label;\n appendDisclosure(doc, button, rowModel);\n appendEnabledToggle(doc, button, rowModel);\n appendRoleBadge(doc, button, rowModel);\n if (isRenaming) appendRenameInput(doc, button, node, rename.value);\n else appendLabel(doc, button, rowModel);\n return button;\n}\n\nfunction appendEnabledToggle(\n doc: Document,\n button: HTMLButtonElement,\n rowModel: HierarchyRowPresentation,\n): void {\n const { node } = rowModel;\n if (typeof rowModel.enabled !== 'boolean') {\n const spacer = doc.createElement('span');\n spacer.style.cssText = 'width:18px;height:18px;flex:0 0 18px';\n button.appendChild(spacer);\n return;\n }\n const enabled = rowModel.enabled !== false;\n const toggle = doc.createElement('span');\n toggle.dataset.editorHierarchyEnabledToggle = node.id;\n toggle.dataset.editorHierarchyEnabled = enabled ? 'true' : 'false';\n const disabled = !rowModel.canToggleEnabled;\n toggle.dataset.editorHierarchyEnabledToggleDisabled = disabled ? 'true' : 'false';\n toggle.title = disabled\n ? 'This hierarchy item cannot be hidden.'\n : `${enabled ? 'Hide' : 'Show'} ${node.label}`;\n toggle.style.cssText = [\n 'width:18px',\n 'height:18px',\n 'flex:0 0 18px',\n 'display:inline-flex',\n 'align-items:center',\n 'justify-content:center',\n 'padding:0',\n 'border:1px solid transparent',\n 'border-radius:3px',\n 'background:transparent',\n `color:${enabled ? 'var(--fps-editor-muted-strong)' : 'var(--fps-editor-muted)'}`,\n `opacity:${disabled ? '0.45' : '1'}`,\n `cursor:${disabled ? 'not-allowed' : 'pointer'}`,\n ].join(';');\n toggle.appendChild(createLocalEditorIcon(doc, enabled ? 'eye' : 'eye-off', { size: 13, strokeWidth: 2.2 }));\n button.appendChild(toggle);\n}\n\nfunction renderHierarchyInsertionPreview(\n doc: Document,\n preview: LocalEditorHierarchyDropPreview,\n): HTMLDivElement {\n const line = doc.createElement('div');\n line.dataset.editorHierarchyInsertionPreview = 'true';\n line.dataset.editorHierarchyDropPreview = preview.placement;\n line.dataset.editorHierarchyDropPreviewValid = preview.valid ? 'true' : 'false';\n line.style.cssText = [\n 'position:absolute',\n 'left:0',\n 'right:0',\n preview.placement === 'before' ? 'top:-5px' : 'bottom:-5px',\n 'height:10px',\n 'pointer-events:none',\n 'z-index:4',\n ].join(';');\n const anchor = doc.createElement('span');\n anchor.style.cssText = [\n 'position:absolute',\n `left:${Math.max(2, 2 + preview.depth * 16)}px`,\n 'top:2px',\n 'width:6px',\n 'height:6px',\n 'border-radius:50%',\n `background:${preview.valid ? 'var(--fps-editor-warn-strong)' : 'var(--fps-editor-muted)'}`,\n `box-shadow:${preview.valid ? '0 0 0 2px rgba(0,0,0,0.35), 0 0 10px rgba(255,193,7,0.55)' : '0 0 0 2px rgba(0,0,0,0.25)'}`,\n ].join(';');\n const rule = doc.createElement('span');\n rule.style.cssText = [\n 'position:absolute',\n `left:${8 + preview.depth * 16}px`,\n 'right:4px',\n 'top:4px',\n 'height:3px',\n `background:${preview.valid ? 'var(--fps-editor-warn-strong)' : 'var(--fps-editor-muted)'}`,\n `opacity:${preview.valid ? '1' : '0.6'}`,\n `box-shadow:${preview.valid ? '0 0 0 1px rgba(0,0,0,0.25), 0 0 12px rgba(255,193,7,0.42)' : '0 0 0 1px rgba(0,0,0,0.18)'}`,\n ].join(';');\n line.appendChild(anchor);\n line.appendChild(rule);\n return line;\n}\n\nfunction renderHierarchyInsidePreview(\n doc: Document,\n preview: LocalEditorHierarchyDropPreview,\n): HTMLDivElement {\n const overlay = doc.createElement('div');\n overlay.dataset.editorHierarchyInsidePreview = 'true';\n overlay.dataset.editorHierarchyDropPreview = 'inside';\n overlay.dataset.editorHierarchyDropPreviewValid = preview.valid ? 'true' : 'false';\n overlay.style.cssText = [\n 'position:absolute',\n 'inset:0',\n 'pointer-events:none',\n 'z-index:1',\n `border:1px solid ${preview.valid ? 'var(--fps-editor-drop-target)' : 'var(--fps-editor-muted)'}`,\n `box-shadow:${preview.valid ? 'inset 4px 0 0 var(--fps-editor-drop-target), 0 0 0 1px rgba(255,255,255,0.08), 0 0 14px rgba(255,193,7,0.24)' : 'inset 4px 0 0 var(--fps-editor-muted)'}`,\n `background:${preview.valid ? 'rgba(255,193,7,0.09)' : 'rgba(255,255,255,0.04)'}`,\n ].join(';');\n return overlay;\n}\n\nfunction clearHierarchyDropPreviewDom(list: HTMLElement): void {\n list.style.boxShadow = '';\n list.style.background = '';\n delete list.dataset.editorHierarchyDropPreview;\n delete list.dataset.editorHierarchyDropPreviewValid;\n for (const preview of list.querySelectorAll<HTMLElement>('[data-editor-hierarchy-insertion-preview],[data-editor-hierarchy-inside-preview]')) {\n preview.remove();\n }\n for (const row of list.querySelectorAll<HTMLElement>('[data-editor-hierarchy-drop-preview]')) {\n delete row.dataset.editorHierarchyDropPreview;\n delete row.dataset.editorHierarchyDropPreviewValid;\n }\n}\n\nfunction findHierarchyPreviewRow(panel: HTMLElement, targetId: string | null): HTMLElement | null {\n if (!targetId) return null;\n for (const row of panel.querySelectorAll<HTMLElement>('[data-editor-hierarchy-id]')) {\n if (row.dataset.editorHierarchyId === targetId) return row;\n }\n return null;\n}\n\nfunction appendDisclosure(doc: Document, parent: HTMLElement, rowModel: HierarchyRowPresentation): void {\n const { node } = rowModel;\n const disclosure = doc.createElement('span');\n if (rowModel.childCount > 0) disclosure.dataset.editorHierarchyToggle = node.id;\n disclosure.style.cssText = [\n 'width:12px',\n 'flex:0 0 12px',\n 'display:inline-flex',\n 'align-items:center',\n 'justify-content:center',\n 'color:var(--fps-editor-muted)',\n 'font-size:10px',\n ].join(';');\n if (rowModel.childCount > 0) {\n disclosure.appendChild(createLocalEditorIcon(doc, rowModel.expanded ? 'chevron-down' : 'chevron-right', {\n size: 12,\n strokeWidth: 2.4,\n }));\n }\n parent.appendChild(disclosure);\n}\n\nfunction appendRoleBadge(doc: Document, parent: HTMLElement, rowModel: HierarchyRowPresentation): void {\n const { node } = rowModel;\n const badge = doc.createElement('span');\n const icon = isLocalEditorIconName(node.icon) ? node.icon : HIERARCHY_ROLE_ICONS[rowModel.role];\n const isMaterialSlot = icon === 'material-slot';\n const isPrefab = icon === 'prefab';\n badge.title = isMaterialSlot ? 'material slot' : isPrefab ? 'prefab' : rowModel.role;\n badge.style.cssText = [\n 'width:15px',\n 'height:15px',\n 'flex:0 0 15px',\n 'display:inline-flex',\n 'align-items:center',\n 'justify-content:center',\n 'border:1px solid var(--fps-editor-border)',\n 'border-radius:2px',\n `background:${isMaterialSlot ? 'var(--fps-editor-warn-soft)' : rowModel.role === 'root' ? 'var(--fps-editor-role-root-bg)' : rowModel.role === 'group' ? 'var(--fps-editor-role-group-bg)' : 'var(--fps-editor-role-object-bg)'}`,\n `border-color:${isMaterialSlot ? 'var(--fps-editor-warn-border)' : 'var(--fps-editor-border)'}`,\n `color:${isMaterialSlot ? 'var(--fps-editor-warn-strong)' : 'var(--fps-editor-muted-strong)'}`,\n 'font-size:9px',\n 'font-weight:900',\n ].join(';');\n badge.appendChild(createLocalEditorIcon(doc, icon, { size: 11, strokeWidth: 2.3 }));\n parent.appendChild(badge);\n}\n\nfunction appendLabel(doc: Document, parent: HTMLElement, rowModel: HierarchyRowPresentation): void {\n const { node } = rowModel;\n const label = doc.createElement('span');\n label.textContent = node.editorLocked ? `${node.label} [locked]` : node.label;\n label.style.cssText = 'min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap';\n parent.appendChild(label);\n}\n\nfunction appendRenameInput(\n doc: Document,\n parent: HTMLElement,\n node: HierarchyNodeSnapshot,\n value: string,\n): void {\n const input = doc.createElement('input');\n input.dataset.editorHierarchyRenameInput = node.id;\n input.value = value;\n input.style.cssText = [\n 'min-width:0',\n 'flex:1',\n 'height:22px',\n 'box-sizing:border-box',\n 'border:1px solid var(--fps-editor-accent-strong)',\n 'border-radius:2px',\n 'background:var(--fps-editor-field)',\n 'color:var(--fps-editor-text-strong)',\n 'font-size:12px',\n 'font-weight:700',\n 'padding:2px 5px',\n 'outline:none',\n ].join(';');\n parent.appendChild(input);\n setTimeout(() => {\n // A kernel-driven draft render may already have restored focus and caret\n // onto this replacement input. Only select all for the initial rename.\n if (doc.activeElement === input) return;\n input.focus();\n input.select();\n }, 0);\n}\n"]}
@@ -1,4 +1,4 @@
1
- export declare const LOCAL_EDITOR_ICON_NAMES: readonly ["asset", "arrange", "camera", "chevron-down", "chevron-right", "copy", "discard", "execute", "eye", "eye-off", "group", "grid", "help", "hierarchy", "history", "inspector", "local", "lock", "material-slot", "move", "object", "performance", "prefab", "place-ground", "place-off", "place-surface", "projection-ortho", "projection-perspective", "plus", "redo", "root", "rotate", "save", "scale", "select", "snap", "status", "theme", "trash", "undo", "view-front", "view-overlay", "view-perspective", "view-right", "view-top", "warning", "measure", "world"];
1
+ export declare const LOCAL_EDITOR_ICON_NAMES: readonly ["asset", "arrange", "camera", "chevron-down", "chevron-right", "copy", "discard", "execute", "eye", "eye-off", "group", "grid", "help", "hierarchy", "history", "inspector", "local", "link", "lock", "material-slot", "move", "object", "performance", "prefab", "place-ground", "place-off", "place-surface", "projection-ortho", "projection-perspective", "plus", "redo", "root", "rotate", "save", "scale", "select", "snap", "status", "theme", "trash", "undo", "view-front", "view-overlay", "view-perspective", "view-right", "view-top", "warning", "measure", "world"];
2
2
  export type LocalEditorIconName = typeof LOCAL_EDITOR_ICON_NAMES[number];
3
3
  export interface LocalEditorIconOptions {
4
4
  size?: number;
@@ -1 +1 @@
1
- {"version":3,"file":"local-editor-ui-icons.d.ts","sourceRoot":"","sources":["../src/local-editor-ui-icons.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,uBAAuB,qjBAiD1B,CAAC;AAEX,MAAM,MAAM,mBAAmB,GAAG,OAAO,uBAAuB,CAAC,MAAM,CAAC,CAAC;AAEzE,MAAM,WAAW,sBAAsB;IACrC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAgOD,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,mBAAmB,CAElF;AAED,wBAAgB,0BAA0B,CACxC,KAAK,EAAE,OAAO,EACd,QAAQ,GAAE,mBAA8B,GACvC,mBAAmB,CAErB;AAED,wBAAgB,qBAAqB,CACnC,GAAG,EAAE,QAAQ,EACb,IAAI,EAAE,mBAAmB,EACzB,OAAO,GAAE,sBAA2B,GACnC,eAAe,CAuCjB"}
1
+ {"version":3,"file":"local-editor-ui-icons.d.ts","sourceRoot":"","sources":["../src/local-editor-ui-icons.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,uBAAuB,6jBAkD1B,CAAC;AAEX,MAAM,MAAM,mBAAmB,GAAG,OAAO,uBAAuB,CAAC,MAAM,CAAC,CAAC;AAEzE,MAAM,WAAW,sBAAsB;IACrC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAoOD,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,mBAAmB,CAElF;AAED,wBAAgB,0BAA0B,CACxC,KAAK,EAAE,OAAO,EACd,QAAQ,GAAE,mBAA8B,GACvC,mBAAmB,CAErB;AAED,wBAAgB,qBAAqB,CACnC,GAAG,EAAE,QAAQ,EACb,IAAI,EAAE,mBAAmB,EACzB,OAAO,GAAE,sBAA2B,GACnC,eAAe,CAuCjB"}
@@ -16,6 +16,7 @@ export const LOCAL_EDITOR_ICON_NAMES = [
16
16
  'history',
17
17
  'inspector',
18
18
  'local',
19
+ 'link',
19
20
  'lock',
20
21
  'material-slot',
21
22
  'move',
@@ -123,6 +124,10 @@ const LOCAL_EDITOR_ICON_DEFINITIONS = {
123
124
  { tag: 'circle', attrs: { cx: '12', cy: '12', r: '3' } },
124
125
  { tag: 'path', attrs: { d: 'M12 3v3M12 18v3M3 12h3M18 12h3' } },
125
126
  ],
127
+ link: [
128
+ { tag: 'path', attrs: { d: 'M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71' } },
129
+ { tag: 'path', attrs: { d: 'M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71' } },
130
+ ],
126
131
  lock: [
127
132
  { tag: 'rect', attrs: { x: '6', y: '10', width: '12', height: '9', rx: '2' } },
128
133
  { tag: 'path', attrs: { d: 'M9 10V7a3 3 0 0 1 6 0v3' } },
@@ -1 +1 @@
1
- {"version":3,"file":"local-editor-ui-icons.js","sourceRoot":"","sources":["../src/local-editor-ui-icons.ts"],"names":[],"mappings":"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","sourcesContent":["export const LOCAL_EDITOR_ICON_NAMES = [\n 'asset',\n 'arrange',\n 'camera',\n 'chevron-down',\n 'chevron-right',\n 'copy',\n 'discard',\n 'execute',\n 'eye',\n 'eye-off',\n 'group',\n 'grid',\n 'help',\n 'hierarchy',\n 'history',\n 'inspector',\n 'local',\n 'lock',\n 'material-slot',\n 'move',\n 'object',\n 'performance',\n 'prefab',\n 'place-ground',\n 'place-off',\n 'place-surface',\n 'projection-ortho',\n 'projection-perspective',\n 'plus',\n 'redo',\n 'root',\n 'rotate',\n 'save',\n 'scale',\n 'select',\n 'snap',\n 'status',\n 'theme',\n 'trash',\n 'undo',\n 'view-front',\n 'view-overlay',\n 'view-perspective',\n 'view-right',\n 'view-top',\n 'warning',\n 'measure',\n 'world',\n] as const;\n\nexport type LocalEditorIconName = typeof LOCAL_EDITOR_ICON_NAMES[number];\n\nexport interface LocalEditorIconOptions {\n size?: number;\n strokeWidth?: number;\n}\n\ntype LocalEditorIconElement =\n | { tag: 'circle'; attrs: Record<string, string> }\n | { tag: 'line'; attrs: Record<string, string> }\n | { tag: 'path'; attrs: Record<string, string> }\n | { tag: 'polyline'; attrs: Record<string, string> }\n | { tag: 'rect'; attrs: Record<string, string> };\n\nconst LOCAL_EDITOR_ICON_SET = new Set<string>(LOCAL_EDITOR_ICON_NAMES);\n\nconst LOCAL_EDITOR_ICON_DEFINITIONS = {\n asset: [\n { tag: 'rect', attrs: { x: '4', y: '5', width: '16', height: '14', rx: '2' } },\n { tag: 'path', attrs: { d: 'M8 9h8M8 13h5' } },\n { tag: 'path', attrs: { d: 'M7 19l5-4 5 4' } },\n ],\n arrange: [\n { tag: 'path', attrs: { d: 'M5 6h14M8 6v12M16 6v12M5 18h14' } },\n { tag: 'path', attrs: { d: 'M10 10h4M9 14h6' } },\n ],\n camera: [\n { tag: 'path', attrs: { d: 'M4 8.5A2.5 2.5 0 0 1 6.5 6h2l1.5-2h4l1.5 2h2A2.5 2.5 0 0 1 20 8.5v7A2.5 2.5 0 0 1 17.5 18h-11A2.5 2.5 0 0 1 4 15.5z' } },\n { tag: 'circle', attrs: { cx: '12', cy: '12', r: '3' } },\n ],\n 'chevron-down': [\n { tag: 'polyline', attrs: { points: '7 10 12 15 17 10' } },\n ],\n 'chevron-right': [\n { tag: 'polyline', attrs: { points: '10 7 15 12 10 17' } },\n ],\n copy: [\n { tag: 'rect', attrs: { x: '8', y: '8', width: '11', height: '11', rx: '2' } },\n { tag: 'path', attrs: { d: 'M5 15H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v1' } },\n ],\n discard: [\n { tag: 'path', attrs: { d: 'M6 6l12 12M18 6L6 18' } },\n { tag: 'path', attrs: { d: 'M5 12a7 7 0 0 1 7-7 7 7 0 0 1 5.2 2.3M19 12a7 7 0 0 1-7 7 7 7 0 0 1-5.2-2.3' } },\n ],\n execute: [\n { tag: 'path', attrs: { d: 'M8 5l10 7-10 7z' } },\n ],\n eye: [\n { tag: 'path', attrs: { d: 'M2 12s3.5-6 10-6 10 6 10 6-3.5 6-10 6S2 12 2 12z' } },\n { tag: 'circle', attrs: { cx: '12', cy: '12', r: '3' } },\n ],\n 'eye-off': [\n { tag: 'path', attrs: { d: 'M3 3l18 18' } },\n { tag: 'path', attrs: { d: 'M10.6 10.6A3 3 0 0 0 13.4 13.4' } },\n { tag: 'path', attrs: { d: 'M9.9 5.2A10.6 10.6 0 0 1 12 5c6.5 0 10 7 10 7a17.8 17.8 0 0 1-3.2 4.2' } },\n { tag: 'path', attrs: { d: 'M6.1 6.1C3.5 7.8 2 12 2 12s3.5 7 10 7a10.4 10.4 0 0 0 4.1-.8' } },\n ],\n group: [\n { tag: 'rect', attrs: { x: '5', y: '5', width: '7', height: '7', rx: '1.5' } },\n { tag: 'rect', attrs: { x: '12', y: '12', width: '7', height: '7', rx: '1.5' } },\n { tag: 'path', attrs: { d: 'M8.5 12v3.5H12M12 8.5h3.5V12' } },\n ],\n grid: [\n { tag: 'path', attrs: { d: 'M4 8h16M4 12h16M4 16h16' } },\n { tag: 'path', attrs: { d: 'M8 4v16M12 4v16M16 4v16' } },\n ],\n help: [\n { tag: 'circle', attrs: { cx: '12', cy: '12', r: '9' } },\n { tag: 'path', attrs: { d: 'M9.8 9.4a2.4 2.4 0 0 1 4.4 1.3c0 1.7-1.9 2.1-2.2 3.4' } },\n { tag: 'line', attrs: { x1: '12', y1: '17', x2: '12.01', y2: '17' } },\n ],\n hierarchy: [\n { tag: 'path', attrs: { d: 'M12 5v5M6 14v-3h12v3' } },\n { tag: 'rect', attrs: { x: '9', y: '3', width: '6', height: '4', rx: '1' } },\n { tag: 'rect', attrs: { x: '3', y: '14', width: '6', height: '5', rx: '1' } },\n { tag: 'rect', attrs: { x: '15', y: '14', width: '6', height: '5', rx: '1' } },\n ],\n history: [\n { tag: 'path', attrs: { d: 'M5 7v5h5' } },\n { tag: 'path', attrs: { d: 'M5.8 15.4A7 7 0 1 0 5 7' } },\n { tag: 'path', attrs: { d: 'M12 8v4l3 2' } },\n ],\n inspector: [\n { tag: 'rect', attrs: { x: '5', y: '4', width: '14', height: '16', rx: '2' } },\n { tag: 'path', attrs: { d: 'M9 8h6M9 12h6M9 16h3' } },\n ],\n local: [\n { tag: 'circle', attrs: { cx: '12', cy: '12', r: '3' } },\n { tag: 'path', attrs: { d: 'M12 3v3M12 18v3M3 12h3M18 12h3' } },\n ],\n lock: [\n { tag: 'rect', attrs: { x: '6', y: '10', width: '12', height: '9', rx: '2' } },\n { tag: 'path', attrs: { d: 'M9 10V7a3 3 0 0 1 6 0v3' } },\n ],\n 'material-slot': [\n { tag: 'rect', attrs: { x: '5', y: '5', width: '9', height: '9', rx: '1.5' } },\n { tag: 'path', attrs: { d: 'M14 7l5 5-7 7H7v-5z' } },\n { tag: 'path', attrs: { d: 'M8 8h3M8 11h2' } },\n { tag: 'circle', attrs: { cx: '17.5', cy: '17.5', r: '1.4' } },\n ],\n move: [\n { tag: 'path', attrs: { d: 'M12 3v18M3 12h18' } },\n { tag: 'path', attrs: { d: 'M12 3l-3 3M12 3l3 3M12 21l-3-3M12 21l3-3M3 12l3-3M3 12l3 3M21 12l-3-3M21 12l-3 3' } },\n ],\n object: [\n { tag: 'path', attrs: { d: 'M12 3l7 4v9l-7 4-7-4V7z' } },\n { tag: 'path', attrs: { d: 'M5 7l7 4 7-4M12 11v9' } },\n ],\n prefab: [\n { tag: 'path', attrs: { d: 'M12 3l7 4v8l-7 4-7-4V7z' } },\n { tag: 'path', attrs: { d: 'M5 7l7 4 7-4M12 11v8' } },\n { tag: 'rect', attrs: { x: '14.5', y: '13.5', width: '5', height: '5', rx: '1' } },\n { tag: 'path', attrs: { d: 'M16 16h2M17 15v2' } },\n ],\n performance: [\n { tag: 'path', attrs: { d: 'M4 17a8 8 0 1 1 16 0' } },\n { tag: 'path', attrs: { d: 'M12 17l4-7' } },\n { tag: 'path', attrs: { d: 'M8 17h8' } },\n { tag: 'path', attrs: { d: 'M7 13h1M12 9v1M17 13h-1' } },\n ],\n 'place-ground': [\n { tag: 'path', attrs: { d: 'M4 18h16' } },\n { tag: 'path', attrs: { d: 'M12 4v10' } },\n { tag: 'path', attrs: { d: 'M8 10l4 4 4-4' } },\n ],\n 'place-off': [\n { tag: 'path', attrs: { d: 'M4 18h16M12 4v10M8 10l4 4 4-4' } },\n { tag: 'path', attrs: { d: 'M5 5l14 14' } },\n ],\n 'place-surface': [\n { tag: 'path', attrs: { d: 'M4 16l5-5 4 4 7-7' } },\n { tag: 'path', attrs: { d: 'M12 4v10M8 10l4 4 4-4' } },\n ],\n 'projection-ortho': [\n { tag: 'rect', attrs: { x: '5', y: '5', width: '14', height: '14', rx: '1.5' } },\n { tag: 'path', attrs: { d: 'M8 8h8v8H8z' } },\n ],\n 'projection-perspective': [\n { tag: 'path', attrs: { d: 'M4 18l8-12 8 12z' } },\n { tag: 'path', attrs: { d: 'M8 18l4-6 4 6M12 6v6' } },\n ],\n plus: [\n { tag: 'path', attrs: { d: 'M12 5v14M5 12h14' } },\n ],\n redo: [\n { tag: 'path', attrs: { d: 'M19 7v6h-6' } },\n { tag: 'path', attrs: { d: 'M18 13a6 6 0 1 1-1.7-4.2L19 11' } },\n ],\n root: [\n { tag: 'circle', attrs: { cx: '12', cy: '5', r: '2' } },\n { tag: 'path', attrs: { d: 'M12 7v11M7 12h10' } },\n { tag: 'circle', attrs: { cx: '7', cy: '18', r: '2' } },\n { tag: 'circle', attrs: { cx: '17', cy: '18', r: '2' } },\n ],\n rotate: [\n { tag: 'path', attrs: { d: 'M18 8a7 7 0 1 0 1.3 6.1' } },\n { tag: 'path', attrs: { d: 'M18 4v4h-4' } },\n ],\n save: [\n { tag: 'path', attrs: { d: 'M5 4h12l2 2v15H5z' } },\n { tag: 'path', attrs: { d: 'M8 4v6h9M8 21v-6h8v6' } },\n ],\n scale: [\n { tag: 'path', attrs: { d: 'M4 14v6h6M20 10V4h-6' } },\n { tag: 'path', attrs: { d: 'M20 4l-7 7M4 20l7-7' } },\n ],\n select: [\n { tag: 'path', attrs: { d: 'M5 4l10 10-5 1.5L8.5 20z' } },\n ],\n snap: [\n { tag: 'path', attrs: { d: 'M8 4v6a4 4 0 0 0 8 0V4' } },\n { tag: 'path', attrs: { d: 'M8 8h4M16 8h-4M8 4h4M16 4h-4M12 14v6' } },\n ],\n status: [\n { tag: 'circle', attrs: { cx: '12', cy: '12', r: '9' } },\n { tag: 'path', attrs: { d: 'M12 8v5' } },\n { tag: 'line', attrs: { x1: '12', y1: '16', x2: '12.01', y2: '16' } },\n ],\n warning: [\n { tag: 'path', attrs: { d: 'M12 3L2.8 20h18.4z' } },\n { tag: 'path', attrs: { d: 'M12 9v5' } },\n { tag: 'line', attrs: { x1: '12', y1: '17', x2: '12.01', y2: '17' } },\n ],\n theme: [\n { tag: 'circle', attrs: { cx: '12', cy: '12', r: '9' } },\n { tag: 'path', attrs: { d: 'M12 3v18' } },\n { tag: 'path', attrs: { d: 'M12 5a7 7 0 0 1 0 14' } },\n ],\n trash: [\n { tag: 'path', attrs: { d: 'M4 7h16' } },\n { tag: 'path', attrs: { d: 'M10 11v6M14 11v6' } },\n { tag: 'path', attrs: { d: 'M6 7l1 14h10l1-14M9 7V4h6v3' } },\n ],\n undo: [\n { tag: 'path', attrs: { d: 'M5 7v6h6' } },\n { tag: 'path', attrs: { d: 'M6 13a6 6 0 1 0 1.7-4.2L5 11' } },\n ],\n 'view-front': [\n { tag: 'rect', attrs: { x: '5', y: '6', width: '14', height: '12', rx: '1.5' } },\n { tag: 'path', attrs: { d: 'M8 9h8M8 15h8M12 6v12' } },\n ],\n 'view-overlay': [\n { tag: 'path', attrs: { d: 'M12 3l7 4v10l-7 4-7-4V7z' } },\n { tag: 'path', attrs: { d: 'M5 7l7 4 7-4M5 17l7-4 7 4' } },\n { tag: 'circle', attrs: { cx: '12', cy: '13', r: '1.5' } },\n ],\n 'view-perspective': [\n { tag: 'path', attrs: { d: 'M4 17l8-10 8 10' } },\n { tag: 'path', attrs: { d: 'M8 17h8M12 7v10' } },\n ],\n 'view-right': [\n { tag: 'path', attrs: { d: 'M6 5l12 4v10L6 15z' } },\n { tag: 'path', attrs: { d: 'M6 5v10M18 9v10M6 15l12 4' } },\n ],\n 'view-top': [\n { tag: 'rect', attrs: { x: '5', y: '5', width: '14', height: '14', rx: '1.5' } },\n { tag: 'path', attrs: { d: 'M9 5v14M15 5v14M5 9h14M5 15h14' } },\n ],\n measure: [\n { tag: 'path', attrs: { d: 'M5 17L17 5' } },\n { tag: 'path', attrs: { d: 'M7 19l-2-2 2-2M15 7l2-2 2 2' } },\n { tag: 'path', attrs: { d: 'M9 15l1.5 1.5M12 12l1.5 1.5M15 9l1.5 1.5' } },\n ],\n world: [\n { tag: 'circle', attrs: { cx: '12', cy: '12', r: '9' } },\n { tag: 'path', attrs: { d: 'M3 12h18M12 3a14 14 0 0 1 0 18M12 3a14 14 0 0 0 0 18' } },\n ],\n} satisfies Record<LocalEditorIconName, readonly LocalEditorIconElement[]>;\n\nexport function isLocalEditorIconName(value: unknown): value is LocalEditorIconName {\n return typeof value === 'string' && LOCAL_EDITOR_ICON_SET.has(value);\n}\n\nexport function resolveLocalEditorIconName(\n value: unknown,\n fallback: LocalEditorIconName = 'object',\n): LocalEditorIconName {\n return isLocalEditorIconName(value) ? value : fallback;\n}\n\nexport function createLocalEditorIcon(\n doc: Document,\n name: LocalEditorIconName,\n options: LocalEditorIconOptions = {},\n): HTMLSpanElement {\n const resolvedName = resolveLocalEditorIconName(name);\n const size = options.size ?? 14;\n const strokeWidth = options.strokeWidth ?? 2;\n const icon = doc.createElement('span');\n icon.dataset.editorIcon = resolvedName;\n icon.setAttribute('aria-hidden', 'true');\n icon.style.cssText = [\n `width:${size}px`,\n `height:${size}px`,\n `flex:0 0 ${size}px`,\n 'display:inline-flex',\n 'align-items:center',\n 'justify-content:center',\n 'color:currentColor',\n 'pointer-events:none',\n ].join(';');\n\n const svg = doc.createElementNS('http://www.w3.org/2000/svg', 'svg');\n svg.setAttribute('viewBox', '0 0 24 24');\n svg.setAttribute('width', String(size));\n svg.setAttribute('height', String(size));\n svg.setAttribute('fill', 'none');\n svg.setAttribute('stroke', 'currentColor');\n svg.setAttribute('stroke-width', String(strokeWidth));\n svg.setAttribute('stroke-linecap', 'round');\n svg.setAttribute('stroke-linejoin', 'round');\n svg.setAttribute('focusable', 'false');\n\n for (const node of LOCAL_EDITOR_ICON_DEFINITIONS[resolvedName]) {\n const element = doc.createElementNS('http://www.w3.org/2000/svg', node.tag);\n for (const [key, value] of Object.entries(node.attrs)) {\n element.setAttribute(key, value);\n }\n svg.appendChild(element);\n }\n\n icon.appendChild(svg);\n return icon;\n}\n"]}
1
+ {"version":3,"file":"local-editor-ui-icons.js","sourceRoot":"","sources":["../src/local-editor-ui-icons.ts"],"names":[],"mappings":"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","sourcesContent":["export const LOCAL_EDITOR_ICON_NAMES = [\n 'asset',\n 'arrange',\n 'camera',\n 'chevron-down',\n 'chevron-right',\n 'copy',\n 'discard',\n 'execute',\n 'eye',\n 'eye-off',\n 'group',\n 'grid',\n 'help',\n 'hierarchy',\n 'history',\n 'inspector',\n 'local',\n 'link',\n 'lock',\n 'material-slot',\n 'move',\n 'object',\n 'performance',\n 'prefab',\n 'place-ground',\n 'place-off',\n 'place-surface',\n 'projection-ortho',\n 'projection-perspective',\n 'plus',\n 'redo',\n 'root',\n 'rotate',\n 'save',\n 'scale',\n 'select',\n 'snap',\n 'status',\n 'theme',\n 'trash',\n 'undo',\n 'view-front',\n 'view-overlay',\n 'view-perspective',\n 'view-right',\n 'view-top',\n 'warning',\n 'measure',\n 'world',\n] as const;\n\nexport type LocalEditorIconName = typeof LOCAL_EDITOR_ICON_NAMES[number];\n\nexport interface LocalEditorIconOptions {\n size?: number;\n strokeWidth?: number;\n}\n\ntype LocalEditorIconElement =\n | { tag: 'circle'; attrs: Record<string, string> }\n | { tag: 'line'; attrs: Record<string, string> }\n | { tag: 'path'; attrs: Record<string, string> }\n | { tag: 'polyline'; attrs: Record<string, string> }\n | { tag: 'rect'; attrs: Record<string, string> };\n\nconst LOCAL_EDITOR_ICON_SET = new Set<string>(LOCAL_EDITOR_ICON_NAMES);\n\nconst LOCAL_EDITOR_ICON_DEFINITIONS = {\n asset: [\n { tag: 'rect', attrs: { x: '4', y: '5', width: '16', height: '14', rx: '2' } },\n { tag: 'path', attrs: { d: 'M8 9h8M8 13h5' } },\n { tag: 'path', attrs: { d: 'M7 19l5-4 5 4' } },\n ],\n arrange: [\n { tag: 'path', attrs: { d: 'M5 6h14M8 6v12M16 6v12M5 18h14' } },\n { tag: 'path', attrs: { d: 'M10 10h4M9 14h6' } },\n ],\n camera: [\n { tag: 'path', attrs: { d: 'M4 8.5A2.5 2.5 0 0 1 6.5 6h2l1.5-2h4l1.5 2h2A2.5 2.5 0 0 1 20 8.5v7A2.5 2.5 0 0 1 17.5 18h-11A2.5 2.5 0 0 1 4 15.5z' } },\n { tag: 'circle', attrs: { cx: '12', cy: '12', r: '3' } },\n ],\n 'chevron-down': [\n { tag: 'polyline', attrs: { points: '7 10 12 15 17 10' } },\n ],\n 'chevron-right': [\n { tag: 'polyline', attrs: { points: '10 7 15 12 10 17' } },\n ],\n copy: [\n { tag: 'rect', attrs: { x: '8', y: '8', width: '11', height: '11', rx: '2' } },\n { tag: 'path', attrs: { d: 'M5 15H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v1' } },\n ],\n discard: [\n { tag: 'path', attrs: { d: 'M6 6l12 12M18 6L6 18' } },\n { tag: 'path', attrs: { d: 'M5 12a7 7 0 0 1 7-7 7 7 0 0 1 5.2 2.3M19 12a7 7 0 0 1-7 7 7 7 0 0 1-5.2-2.3' } },\n ],\n execute: [\n { tag: 'path', attrs: { d: 'M8 5l10 7-10 7z' } },\n ],\n eye: [\n { tag: 'path', attrs: { d: 'M2 12s3.5-6 10-6 10 6 10 6-3.5 6-10 6S2 12 2 12z' } },\n { tag: 'circle', attrs: { cx: '12', cy: '12', r: '3' } },\n ],\n 'eye-off': [\n { tag: 'path', attrs: { d: 'M3 3l18 18' } },\n { tag: 'path', attrs: { d: 'M10.6 10.6A3 3 0 0 0 13.4 13.4' } },\n { tag: 'path', attrs: { d: 'M9.9 5.2A10.6 10.6 0 0 1 12 5c6.5 0 10 7 10 7a17.8 17.8 0 0 1-3.2 4.2' } },\n { tag: 'path', attrs: { d: 'M6.1 6.1C3.5 7.8 2 12 2 12s3.5 7 10 7a10.4 10.4 0 0 0 4.1-.8' } },\n ],\n group: [\n { tag: 'rect', attrs: { x: '5', y: '5', width: '7', height: '7', rx: '1.5' } },\n { tag: 'rect', attrs: { x: '12', y: '12', width: '7', height: '7', rx: '1.5' } },\n { tag: 'path', attrs: { d: 'M8.5 12v3.5H12M12 8.5h3.5V12' } },\n ],\n grid: [\n { tag: 'path', attrs: { d: 'M4 8h16M4 12h16M4 16h16' } },\n { tag: 'path', attrs: { d: 'M8 4v16M12 4v16M16 4v16' } },\n ],\n help: [\n { tag: 'circle', attrs: { cx: '12', cy: '12', r: '9' } },\n { tag: 'path', attrs: { d: 'M9.8 9.4a2.4 2.4 0 0 1 4.4 1.3c0 1.7-1.9 2.1-2.2 3.4' } },\n { tag: 'line', attrs: { x1: '12', y1: '17', x2: '12.01', y2: '17' } },\n ],\n hierarchy: [\n { tag: 'path', attrs: { d: 'M12 5v5M6 14v-3h12v3' } },\n { tag: 'rect', attrs: { x: '9', y: '3', width: '6', height: '4', rx: '1' } },\n { tag: 'rect', attrs: { x: '3', y: '14', width: '6', height: '5', rx: '1' } },\n { tag: 'rect', attrs: { x: '15', y: '14', width: '6', height: '5', rx: '1' } },\n ],\n history: [\n { tag: 'path', attrs: { d: 'M5 7v5h5' } },\n { tag: 'path', attrs: { d: 'M5.8 15.4A7 7 0 1 0 5 7' } },\n { tag: 'path', attrs: { d: 'M12 8v4l3 2' } },\n ],\n inspector: [\n { tag: 'rect', attrs: { x: '5', y: '4', width: '14', height: '16', rx: '2' } },\n { tag: 'path', attrs: { d: 'M9 8h6M9 12h6M9 16h3' } },\n ],\n local: [\n { tag: 'circle', attrs: { cx: '12', cy: '12', r: '3' } },\n { tag: 'path', attrs: { d: 'M12 3v3M12 18v3M3 12h3M18 12h3' } },\n ],\n link: [\n { tag: 'path', attrs: { d: 'M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71' } },\n { tag: 'path', attrs: { d: 'M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71' } },\n ],\n lock: [\n { tag: 'rect', attrs: { x: '6', y: '10', width: '12', height: '9', rx: '2' } },\n { tag: 'path', attrs: { d: 'M9 10V7a3 3 0 0 1 6 0v3' } },\n ],\n 'material-slot': [\n { tag: 'rect', attrs: { x: '5', y: '5', width: '9', height: '9', rx: '1.5' } },\n { tag: 'path', attrs: { d: 'M14 7l5 5-7 7H7v-5z' } },\n { tag: 'path', attrs: { d: 'M8 8h3M8 11h2' } },\n { tag: 'circle', attrs: { cx: '17.5', cy: '17.5', r: '1.4' } },\n ],\n move: [\n { tag: 'path', attrs: { d: 'M12 3v18M3 12h18' } },\n { tag: 'path', attrs: { d: 'M12 3l-3 3M12 3l3 3M12 21l-3-3M12 21l3-3M3 12l3-3M3 12l3 3M21 12l-3-3M21 12l-3 3' } },\n ],\n object: [\n { tag: 'path', attrs: { d: 'M12 3l7 4v9l-7 4-7-4V7z' } },\n { tag: 'path', attrs: { d: 'M5 7l7 4 7-4M12 11v9' } },\n ],\n prefab: [\n { tag: 'path', attrs: { d: 'M12 3l7 4v8l-7 4-7-4V7z' } },\n { tag: 'path', attrs: { d: 'M5 7l7 4 7-4M12 11v8' } },\n { tag: 'rect', attrs: { x: '14.5', y: '13.5', width: '5', height: '5', rx: '1' } },\n { tag: 'path', attrs: { d: 'M16 16h2M17 15v2' } },\n ],\n performance: [\n { tag: 'path', attrs: { d: 'M4 17a8 8 0 1 1 16 0' } },\n { tag: 'path', attrs: { d: 'M12 17l4-7' } },\n { tag: 'path', attrs: { d: 'M8 17h8' } },\n { tag: 'path', attrs: { d: 'M7 13h1M12 9v1M17 13h-1' } },\n ],\n 'place-ground': [\n { tag: 'path', attrs: { d: 'M4 18h16' } },\n { tag: 'path', attrs: { d: 'M12 4v10' } },\n { tag: 'path', attrs: { d: 'M8 10l4 4 4-4' } },\n ],\n 'place-off': [\n { tag: 'path', attrs: { d: 'M4 18h16M12 4v10M8 10l4 4 4-4' } },\n { tag: 'path', attrs: { d: 'M5 5l14 14' } },\n ],\n 'place-surface': [\n { tag: 'path', attrs: { d: 'M4 16l5-5 4 4 7-7' } },\n { tag: 'path', attrs: { d: 'M12 4v10M8 10l4 4 4-4' } },\n ],\n 'projection-ortho': [\n { tag: 'rect', attrs: { x: '5', y: '5', width: '14', height: '14', rx: '1.5' } },\n { tag: 'path', attrs: { d: 'M8 8h8v8H8z' } },\n ],\n 'projection-perspective': [\n { tag: 'path', attrs: { d: 'M4 18l8-12 8 12z' } },\n { tag: 'path', attrs: { d: 'M8 18l4-6 4 6M12 6v6' } },\n ],\n plus: [\n { tag: 'path', attrs: { d: 'M12 5v14M5 12h14' } },\n ],\n redo: [\n { tag: 'path', attrs: { d: 'M19 7v6h-6' } },\n { tag: 'path', attrs: { d: 'M18 13a6 6 0 1 1-1.7-4.2L19 11' } },\n ],\n root: [\n { tag: 'circle', attrs: { cx: '12', cy: '5', r: '2' } },\n { tag: 'path', attrs: { d: 'M12 7v11M7 12h10' } },\n { tag: 'circle', attrs: { cx: '7', cy: '18', r: '2' } },\n { tag: 'circle', attrs: { cx: '17', cy: '18', r: '2' } },\n ],\n rotate: [\n { tag: 'path', attrs: { d: 'M18 8a7 7 0 1 0 1.3 6.1' } },\n { tag: 'path', attrs: { d: 'M18 4v4h-4' } },\n ],\n save: [\n { tag: 'path', attrs: { d: 'M5 4h12l2 2v15H5z' } },\n { tag: 'path', attrs: { d: 'M8 4v6h9M8 21v-6h8v6' } },\n ],\n scale: [\n { tag: 'path', attrs: { d: 'M4 14v6h6M20 10V4h-6' } },\n { tag: 'path', attrs: { d: 'M20 4l-7 7M4 20l7-7' } },\n ],\n select: [\n { tag: 'path', attrs: { d: 'M5 4l10 10-5 1.5L8.5 20z' } },\n ],\n snap: [\n { tag: 'path', attrs: { d: 'M8 4v6a4 4 0 0 0 8 0V4' } },\n { tag: 'path', attrs: { d: 'M8 8h4M16 8h-4M8 4h4M16 4h-4M12 14v6' } },\n ],\n status: [\n { tag: 'circle', attrs: { cx: '12', cy: '12', r: '9' } },\n { tag: 'path', attrs: { d: 'M12 8v5' } },\n { tag: 'line', attrs: { x1: '12', y1: '16', x2: '12.01', y2: '16' } },\n ],\n warning: [\n { tag: 'path', attrs: { d: 'M12 3L2.8 20h18.4z' } },\n { tag: 'path', attrs: { d: 'M12 9v5' } },\n { tag: 'line', attrs: { x1: '12', y1: '17', x2: '12.01', y2: '17' } },\n ],\n theme: [\n { tag: 'circle', attrs: { cx: '12', cy: '12', r: '9' } },\n { tag: 'path', attrs: { d: 'M12 3v18' } },\n { tag: 'path', attrs: { d: 'M12 5a7 7 0 0 1 0 14' } },\n ],\n trash: [\n { tag: 'path', attrs: { d: 'M4 7h16' } },\n { tag: 'path', attrs: { d: 'M10 11v6M14 11v6' } },\n { tag: 'path', attrs: { d: 'M6 7l1 14h10l1-14M9 7V4h6v3' } },\n ],\n undo: [\n { tag: 'path', attrs: { d: 'M5 7v6h6' } },\n { tag: 'path', attrs: { d: 'M6 13a6 6 0 1 0 1.7-4.2L5 11' } },\n ],\n 'view-front': [\n { tag: 'rect', attrs: { x: '5', y: '6', width: '14', height: '12', rx: '1.5' } },\n { tag: 'path', attrs: { d: 'M8 9h8M8 15h8M12 6v12' } },\n ],\n 'view-overlay': [\n { tag: 'path', attrs: { d: 'M12 3l7 4v10l-7 4-7-4V7z' } },\n { tag: 'path', attrs: { d: 'M5 7l7 4 7-4M5 17l7-4 7 4' } },\n { tag: 'circle', attrs: { cx: '12', cy: '13', r: '1.5' } },\n ],\n 'view-perspective': [\n { tag: 'path', attrs: { d: 'M4 17l8-10 8 10' } },\n { tag: 'path', attrs: { d: 'M8 17h8M12 7v10' } },\n ],\n 'view-right': [\n { tag: 'path', attrs: { d: 'M6 5l12 4v10L6 15z' } },\n { tag: 'path', attrs: { d: 'M6 5v10M18 9v10M6 15l12 4' } },\n ],\n 'view-top': [\n { tag: 'rect', attrs: { x: '5', y: '5', width: '14', height: '14', rx: '1.5' } },\n { tag: 'path', attrs: { d: 'M9 5v14M15 5v14M5 9h14M5 15h14' } },\n ],\n measure: [\n { tag: 'path', attrs: { d: 'M5 17L17 5' } },\n { tag: 'path', attrs: { d: 'M7 19l-2-2 2-2M15 7l2-2 2 2' } },\n { tag: 'path', attrs: { d: 'M9 15l1.5 1.5M12 12l1.5 1.5M15 9l1.5 1.5' } },\n ],\n world: [\n { tag: 'circle', attrs: { cx: '12', cy: '12', r: '9' } },\n { tag: 'path', attrs: { d: 'M3 12h18M12 3a14 14 0 0 1 0 18M12 3a14 14 0 0 0 0 18' } },\n ],\n} satisfies Record<LocalEditorIconName, readonly LocalEditorIconElement[]>;\n\nexport function isLocalEditorIconName(value: unknown): value is LocalEditorIconName {\n return typeof value === 'string' && LOCAL_EDITOR_ICON_SET.has(value);\n}\n\nexport function resolveLocalEditorIconName(\n value: unknown,\n fallback: LocalEditorIconName = 'object',\n): LocalEditorIconName {\n return isLocalEditorIconName(value) ? value : fallback;\n}\n\nexport function createLocalEditorIcon(\n doc: Document,\n name: LocalEditorIconName,\n options: LocalEditorIconOptions = {},\n): HTMLSpanElement {\n const resolvedName = resolveLocalEditorIconName(name);\n const size = options.size ?? 14;\n const strokeWidth = options.strokeWidth ?? 2;\n const icon = doc.createElement('span');\n icon.dataset.editorIcon = resolvedName;\n icon.setAttribute('aria-hidden', 'true');\n icon.style.cssText = [\n `width:${size}px`,\n `height:${size}px`,\n `flex:0 0 ${size}px`,\n 'display:inline-flex',\n 'align-items:center',\n 'justify-content:center',\n 'color:currentColor',\n 'pointer-events:none',\n ].join(';');\n\n const svg = doc.createElementNS('http://www.w3.org/2000/svg', 'svg');\n svg.setAttribute('viewBox', '0 0 24 24');\n svg.setAttribute('width', String(size));\n svg.setAttribute('height', String(size));\n svg.setAttribute('fill', 'none');\n svg.setAttribute('stroke', 'currentColor');\n svg.setAttribute('stroke-width', String(strokeWidth));\n svg.setAttribute('stroke-linecap', 'round');\n svg.setAttribute('stroke-linejoin', 'round');\n svg.setAttribute('focusable', 'false');\n\n for (const node of LOCAL_EDITOR_ICON_DEFINITIONS[resolvedName]) {\n const element = doc.createElementNS('http://www.w3.org/2000/svg', node.tag);\n for (const [key, value] of Object.entries(node.attrs)) {\n element.setAttribute(key, value);\n }\n svg.appendChild(element);\n }\n\n icon.appendChild(svg);\n return icon;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"local-editor-ui-input-router.d.ts","sourceRoot":"","sources":["../src/local-editor-ui-input-router.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,+BAA+B,GACvC,SAAS,GACT,WAAW,GACX,YAAY,GACZ,aAAa,GACb,cAAc,GACd,OAAO,GACP,YAAY,GACZ,SAAS,CAAC;AAEd,MAAM,WAAW,+BAA+B;IAC9C,SAAS,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI,GAAG,+BAA+B,CAAC;IACvE,cAAc,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,GAAG,IAAI,CAAC;IAC7C,gBAAgB,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI,GAAG,OAAO,CAAC;IACtD,eAAe,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC;IACvC,mBAAmB,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI,GAAG,OAAO,CAAC;IACzD,UAAU,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI,GAAG,OAAO,CAAC;IAChD,gBAAgB,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,GAAG,IAAI,CAAC;IACpD,kBAAkB,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,CAAC;IACxC,YAAY,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAClD,+BAA+B,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC;IAC5D,4BAA4B,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC;IAC5D,0BAA0B,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC;IAC1D,OAAO,IAAI,IAAI,CAAC;CACjB;AAED,MAAM,WAAW,sCAAsC;IACrD,kBAAkB,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,OAAO,CAAC;CACxD;AAED,wBAAgB,qCAAqC,CACnD,GAAG,EAAE,QAAQ,EACb,OAAO,GAAE,sCAA2C,GACnD,+BAA+B,CA0DjC"}
1
+ {"version":3,"file":"local-editor-ui-input-router.d.ts","sourceRoot":"","sources":["../src/local-editor-ui-input-router.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,+BAA+B,GACvC,SAAS,GACT,WAAW,GACX,YAAY,GACZ,aAAa,GACb,cAAc,GACd,OAAO,GACP,YAAY,GACZ,SAAS,CAAC;AAEd,MAAM,WAAW,+BAA+B;IAC9C,SAAS,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI,GAAG,+BAA+B,CAAC;IACvE,cAAc,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,GAAG,IAAI,CAAC;IAC7C,gBAAgB,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI,GAAG,OAAO,CAAC;IACtD,eAAe,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC;IACvC,mBAAmB,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI,GAAG,OAAO,CAAC;IACzD,UAAU,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI,GAAG,OAAO,CAAC;IAChD,gBAAgB,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,GAAG,IAAI,CAAC;IACpD,kBAAkB,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,CAAC;IACxC,YAAY,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAClD,+BAA+B,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC;IAC5D,4BAA4B,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC;IAC5D,0BAA0B,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC;IAC1D,OAAO,IAAI,IAAI,CAAC;CACjB;AAED,MAAM,WAAW,sCAAsC;IACrD,kBAAkB,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,OAAO,CAAC;CACxD;AAED,wBAAgB,qCAAqC,CACnD,GAAG,EAAE,QAAQ,EACb,OAAO,GAAE,sCAA2C,GACnD,+BAA+B,CA8CjC"}
@@ -1,23 +1,11 @@
1
1
  export function createLocalEditorWorkbenchInputRouter(doc, options = {}) {
2
2
  const modalOwners = new Set();
3
3
  let contextMenuOpen = false;
4
- const stopPanelWheel = (event) => {
5
- if (!isUiEvent(event))
6
- return;
7
- event.stopPropagation();
8
- };
9
4
  const stopPanelContextMenu = (event) => {
10
5
  if (shouldPreventBrowserContextMenu(event))
11
6
  event.preventDefault();
12
7
  };
13
- const stopPanelPointer = (event) => {
14
- if (!isUiEvent(event))
15
- return;
16
- event.stopPropagation();
17
- };
18
- doc.addEventListener('wheel', stopPanelWheel, { capture: true, passive: true });
19
8
  doc.addEventListener('contextmenu', stopPanelContextMenu, { capture: true });
20
- doc.addEventListener('pointerdown', stopPanelPointer, { capture: true });
21
9
  return {
22
10
  getRegion,
23
11
  getEventTarget,
@@ -57,9 +45,7 @@ export function createLocalEditorWorkbenchInputRouter(doc, options = {}) {
57
45
  && getEventRegion(event) !== 'modal';
58
46
  },
59
47
  dispose() {
60
- doc.removeEventListener('wheel', stopPanelWheel, { capture: true });
61
48
  doc.removeEventListener('contextmenu', stopPanelContextMenu, { capture: true });
62
- doc.removeEventListener('pointerdown', stopPanelPointer, { capture: true });
63
49
  },
64
50
  };
65
51
  }
@@ -108,7 +94,7 @@ function isUiRegion(target) {
108
94
  || region === 'modal';
109
95
  }
110
96
  function shouldPreventBrowserContextMenu(event) {
111
- return isEditorOwnedEvent(event) && !isEditableEvent(event);
97
+ return !isEditableEvent(event) && (isEditorOwnedEvent(event) || isEditorContextMenuEvent(event));
112
98
  }
113
99
  function isEditableTarget(target) {
114
100
  const element = toElement(target);
@@ -146,8 +132,8 @@ function isEditorOwnedEvent(event) {
146
132
  const region = getEventRegion(event);
147
133
  return region !== 'unknown' && region !== 'modal';
148
134
  }
149
- function isUiEvent(event) {
150
- return getEventPath(event).some(isUiRegion);
135
+ function isEditorContextMenuEvent(event) {
136
+ return getEventPath(event).some(target => toElement(target)?.closest('[data-editor-context-menu]'));
151
137
  }
152
138
  function getEventPath(event) {
153
139
  const path = typeof event.composedPath === 'function' ? event.composedPath() : [];
@@ -1 +1 @@
1
- {"version":3,"file":"local-editor-ui-input-router.js","sourceRoot":"","sources":["../src/local-editor-ui-input-router.ts"],"names":[],"mappings":"AA8BA,MAAM,UAAU,qCAAqC,CACnD,GAAa,EACb,UAAkD,EAAE;IAEpD,MAAM,WAAW,GAAG,IAAI,GAAG,EAAU,CAAC;IACtC,IAAI,eAAe,GAAG,KAAK,CAAC;IAC5B,MAAM,cAAc,GAAG,CAAC,KAAiB,EAAQ,EAAE;QACjD,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;YAAE,OAAO;QAC9B,KAAK,CAAC,eAAe,EAAE,CAAC;IAC1B,CAAC,CAAC;IACF,MAAM,oBAAoB,GAAG,CAAC,KAAiB,EAAQ,EAAE;QACvD,IAAI,+BAA+B,CAAC,KAAK,CAAC;YAAE,KAAK,CAAC,cAAc,EAAE,CAAC;IACrE,CAAC,CAAC;IACF,MAAM,gBAAgB,GAAG,CAAC,KAAmB,EAAQ,EAAE;QACrD,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;YAAE,OAAO;QAC9B,KAAK,CAAC,eAAe,EAAE,CAAC;IAC1B,CAAC,CAAC;IAEF,GAAG,CAAC,gBAAgB,CAAC,OAAO,EAAE,cAAc,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;IAChF,GAAG,CAAC,gBAAgB,CAAC,aAAa,EAAE,oBAAoB,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;IAC7E,GAAG,CAAC,gBAAgB,CAAC,aAAa,EAAE,gBAAgB,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;IAEzE,OAAO;QACL,SAAS;QACT,cAAc;QACd,gBAAgB;QAChB,eAAe;QACf,mBAAmB;QACnB,UAAU;QACV,gBAAgB,CAAC,KAAK;YACpB,IAAI,CAAC,+BAA+B,CAAC,KAAK,CAAC;gBAAE,OAAO,IAAI,CAAC;YACzD,KAAK,CAAC,cAAc,EAAE,CAAC;YACvB,KAAK,CAAC,eAAe,EAAE,CAAC;YACxB,OAAO,cAAc,CAAC,KAAK,CAAC,CAAC;QAC/B,CAAC;QACD,kBAAkB,CAAC,IAAI;YACrB,eAAe,GAAG,IAAI,CAAC;QACzB,CAAC;QACD,YAAY,CAAC,IAAI,EAAE,KAAK,GAAG,SAAS;YAClC,IAAI,IAAI;gBAAE,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;;gBAC5B,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACjC,CAAC;QACD,+BAA+B;QAC/B,4BAA4B,CAAC,KAAK;YAChC,IAAI,OAAO,CAAC,kBAAkB,EAAE,CAAC,KAAK,CAAC;gBAAE,OAAO,KAAK,CAAC;YACtD,OAAO,WAAW,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,eAAe,IAAI,cAAc,CAAC,KAAK,CAAC,KAAK,OAAO,CAAC;QACzF,CAAC;QACD,0BAA0B,CAAC,KAAK;YAC9B,IAAI,OAAO,CAAC,kBAAkB,EAAE,CAAC,KAAK,CAAC;gBAAE,OAAO,KAAK,CAAC;YACtD,OAAO,WAAW,CAAC,IAAI,KAAK,CAAC;mBACxB,CAAC,eAAe;mBAChB,CAAC,eAAe,CAAC,KAAK,CAAC;mBACvB,CAAC,gBAAgB,CAAC,GAAG,CAAC,aAAa,CAAC;mBACpC,cAAc,CAAC,KAAK,CAAC,KAAK,OAAO,CAAC;QACzC,CAAC;QACD,OAAO;YACL,GAAG,CAAC,mBAAmB,CAAC,OAAO,EAAE,cAAc,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;YACpE,GAAG,CAAC,mBAAmB,CAAC,aAAa,EAAE,oBAAoB,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;YAChF,GAAG,CAAC,mBAAmB,CAAC,aAAa,EAAE,gBAAgB,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QAC9E,CAAC;KACF,CAAC;AACJ,CAAC;AAED,SAAS,SAAS,CAAC,MAA0B;IAC3C,MAAM,OAAO,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;IAClC,IAAI,CAAC,OAAO;QAAE,OAAO,SAAS,CAAC;IAC/B,IAAI,OAAO,CAAC,OAAO,CAAC,6BAA6B,CAAC;QAAE,OAAO,OAAO,CAAC;IACnE,IAAI,OAAO,CAAC,OAAO,CAAC,4BAA4B,CAAC;QAAE,OAAO,OAAO,CAAC;IAClE,IAAI,OAAO,CAAC,OAAO,CAAC,uCAAuC,CAAC;QAAE,OAAO,OAAO,CAAC;IAC7E,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAc,gCAAgC,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC;IAC7G,IAAI,MAAM,KAAK,eAAe;QAAE,OAAO,cAAc,CAAC;IACtD,IAAI,MAAM,KAAK,SAAS;WACnB,MAAM,KAAK,WAAW;WACtB,MAAM,KAAK,YAAY;WACvB,MAAM,KAAK,aAAa;WACxB,MAAM,KAAK,cAAc;WACzB,MAAM,KAAK,OAAO,EAAE,CAAC;QACxB,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,IAAI,OAAO,CAAC,OAAO,CAAC,yBAAyB,CAAC;QAAE,OAAO,YAAY,CAAC;IACpE,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,mBAAmB,CAAC,MAA0B;IACrD,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;IACjC,OAAO,MAAM,KAAK,SAAS;WACtB,MAAM,KAAK,WAAW;WACtB,MAAM,KAAK,YAAY;WACvB,MAAM,KAAK,aAAa;WACxB,MAAM,KAAK,cAAc;WACzB,MAAM,KAAK,OAAO;WAClB,MAAM,KAAK,YAAY,CAAC;AAC/B,CAAC;AAED,SAAS,UAAU,CAAC,MAA0B;IAC5C,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;IACjC,OAAO,MAAM,KAAK,SAAS;WACtB,MAAM,KAAK,WAAW;WACtB,MAAM,KAAK,YAAY;WACvB,MAAM,KAAK,aAAa;WACxB,MAAM,KAAK,cAAc;WACzB,MAAM,KAAK,OAAO,CAAC;AAC1B,CAAC;AAED,SAAS,+BAA+B,CAAC,KAAiB;IACxD,OAAO,kBAAkB,CAAC,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;AAC9D,CAAC;AAED,SAAS,gBAAgB,CAAC,MAA0B;IAClD,MAAM,OAAO,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;IAClC,IAAI,CAAC,OAAO;QAAE,OAAO,KAAK,CAAC;IAC3B,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,4CAA4C,CAAC,CAAC;IAC/E,IAAI,CAAC,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC5B,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;IAC/C,OAAO,OAAO,KAAK,OAAO;WACrB,OAAO,KAAK,UAAU;WACtB,OAAO,KAAK,QAAQ;WACpB,QAAQ,CAAC,YAAY,CAAC,iBAAiB,CAAC,KAAK,OAAO,CAAC;AAC5D,CAAC;AAED,SAAS,cAAc,CAAC,KAAY;IAClC,KAAK,MAAM,MAAM,IAAI,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;QACzC,MAAM,OAAO,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;QAClC,IAAI,OAAO;YAAE,OAAO,OAAO,CAAC;IAC9B,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,eAAe,CAAC,KAAY;IACnC,OAAO,YAAY,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;AACpD,CAAC;AAED,SAAS,cAAc,CAAC,KAAY;IAClC,KAAK,MAAM,MAAM,IAAI,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;QACzC,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;QACjC,IAAI,MAAM,KAAK,SAAS;YAAE,OAAO,MAAM,CAAC;IAC1C,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAY;IACtC,MAAM,MAAM,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;IACrC,OAAO,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,OAAO,CAAC;AACpD,CAAC;AAED,SAAS,SAAS,CAAC,KAAY;IAC7B,OAAO,YAAY,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AAC9C,CAAC;AAED,SAAS,YAAY,CAAC,KAAY;IAChC,MAAM,IAAI,GAAG,OAAO,KAAK,CAAC,YAAY,KAAK,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAClF,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IACjC,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AAC5C,CAAC;AAED,SAAS,SAAS,CAAC,MAA0B;IAC3C,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IACvD,MAAM,SAAS,GAAG,MAA0B,CAAC;IAC7C,OAAO,SAAS,CAAC,QAAQ,KAAK,CAAC,IAAI,OAAO,SAAS,CAAC,OAAO,KAAK,UAAU;QACxE,CAAC,CAAC,MAAiB;QACnB,CAAC,CAAC,IAAI,CAAC;AACX,CAAC","sourcesContent":["export type LocalEditorWorkbenchInputRegion =\n | 'top-bar'\n | 'left-dock'\n | 'right-dock'\n | 'bottom-dock'\n | 'scene-header'\n | 'modal'\n | 'scene-view'\n | 'unknown';\n\nexport interface LocalEditorWorkbenchInputRouter {\n getRegion(target: EventTarget | null): LocalEditorWorkbenchInputRegion;\n getEventTarget(event: Event): Element | null;\n isEditableTarget(target: EventTarget | null): boolean;\n isEditableEvent(event: Event): boolean;\n isEditorOwnedRegion(target: EventTarget | null): boolean;\n isUiRegion(target: EventTarget | null): boolean;\n claimContextMenu(event: MouseEvent): Element | null;\n setContextMenuOpen(open: boolean): void;\n setModalOpen(open: boolean, owner?: string): void;\n shouldPreventBrowserContextMenu(event: MouseEvent): boolean;\n shouldHandleDocumentShortcut(event: KeyboardEvent): boolean;\n shouldHandleGlobalShortcut(event: KeyboardEvent): boolean;\n dispose(): void;\n}\n\nexport interface LocalEditorWorkbenchInputRouterOptions {\n isShortcutReserved?: (event: KeyboardEvent) => boolean;\n}\n\nexport function createLocalEditorWorkbenchInputRouter(\n doc: Document,\n options: LocalEditorWorkbenchInputRouterOptions = {},\n): LocalEditorWorkbenchInputRouter {\n const modalOwners = new Set<string>();\n let contextMenuOpen = false;\n const stopPanelWheel = (event: WheelEvent): void => {\n if (!isUiEvent(event)) return;\n event.stopPropagation();\n };\n const stopPanelContextMenu = (event: MouseEvent): void => {\n if (shouldPreventBrowserContextMenu(event)) event.preventDefault();\n };\n const stopPanelPointer = (event: PointerEvent): void => {\n if (!isUiEvent(event)) return;\n event.stopPropagation();\n };\n\n doc.addEventListener('wheel', stopPanelWheel, { capture: true, passive: true });\n doc.addEventListener('contextmenu', stopPanelContextMenu, { capture: true });\n doc.addEventListener('pointerdown', stopPanelPointer, { capture: true });\n\n return {\n getRegion,\n getEventTarget,\n isEditableTarget,\n isEditableEvent,\n isEditorOwnedRegion,\n isUiRegion,\n claimContextMenu(event) {\n if (!shouldPreventBrowserContextMenu(event)) return null;\n event.preventDefault();\n event.stopPropagation();\n return getEventTarget(event);\n },\n setContextMenuOpen(open) {\n contextMenuOpen = open;\n },\n setModalOpen(open, owner = 'default') {\n if (open) modalOwners.add(owner);\n else modalOwners.delete(owner);\n },\n shouldPreventBrowserContextMenu,\n shouldHandleDocumentShortcut(event) {\n if (options.isShortcutReserved?.(event)) return false;\n return modalOwners.size === 0 && !contextMenuOpen && getEventRegion(event) !== 'modal';\n },\n shouldHandleGlobalShortcut(event) {\n if (options.isShortcutReserved?.(event)) return false;\n return modalOwners.size === 0\n && !contextMenuOpen\n && !isEditableEvent(event)\n && !isEditableTarget(doc.activeElement)\n && getEventRegion(event) !== 'modal';\n },\n dispose() {\n doc.removeEventListener('wheel', stopPanelWheel, { capture: true });\n doc.removeEventListener('contextmenu', stopPanelContextMenu, { capture: true });\n doc.removeEventListener('pointerdown', stopPanelPointer, { capture: true });\n },\n };\n}\n\nfunction getRegion(target: EventTarget | null): LocalEditorWorkbenchInputRegion {\n const element = toElement(target);\n if (!element) return 'unknown';\n if (element.closest('[data-editor-shortcut-help]')) return 'modal';\n if (element.closest('[data-editor-context-menu]')) return 'modal';\n if (element.closest('[data-editor-hierarchy-attach-dialog]')) return 'modal';\n const region = element.closest<HTMLElement>('[data-editor-workbench-region]')?.dataset.editorWorkbenchRegion;\n if (region === 'scene-toolbar') return 'scene-header';\n if (region === 'top-bar'\n || region === 'left-dock'\n || region === 'right-dock'\n || region === 'bottom-dock'\n || region === 'scene-header'\n || region === 'modal') {\n return region;\n }\n if (element.closest('[data-editor-workbench]')) return 'scene-view';\n return 'unknown';\n}\n\nfunction isEditorOwnedRegion(target: EventTarget | null): boolean {\n const region = getRegion(target);\n return region === 'top-bar'\n || region === 'left-dock'\n || region === 'right-dock'\n || region === 'bottom-dock'\n || region === 'scene-header'\n || region === 'modal'\n || region === 'scene-view';\n}\n\nfunction isUiRegion(target: EventTarget | null): boolean {\n const region = getRegion(target);\n return region === 'top-bar'\n || region === 'left-dock'\n || region === 'right-dock'\n || region === 'bottom-dock'\n || region === 'scene-header'\n || region === 'modal';\n}\n\nfunction shouldPreventBrowserContextMenu(event: MouseEvent): boolean {\n return isEditorOwnedEvent(event) && !isEditableEvent(event);\n}\n\nfunction isEditableTarget(target: EventTarget | null): boolean {\n const element = toElement(target);\n if (!element) return false;\n const editable = element.closest('input, textarea, select, [contenteditable]');\n if (!editable) return false;\n const tagName = editable.tagName.toLowerCase();\n return tagName === 'input'\n || tagName === 'textarea'\n || tagName === 'select'\n || editable.getAttribute('contenteditable') !== 'false';\n}\n\nfunction getEventTarget(event: Event): Element | null {\n for (const target of getEventPath(event)) {\n const element = toElement(target);\n if (element) return element;\n }\n return null;\n}\n\nfunction isEditableEvent(event: Event): boolean {\n return getEventPath(event).some(isEditableTarget);\n}\n\nfunction getEventRegion(event: Event): LocalEditorWorkbenchInputRegion {\n for (const target of getEventPath(event)) {\n const region = getRegion(target);\n if (region !== 'unknown') return region;\n }\n return 'unknown';\n}\n\nfunction isEditorOwnedEvent(event: Event): boolean {\n const region = getEventRegion(event);\n return region !== 'unknown' && region !== 'modal';\n}\n\nfunction isUiEvent(event: Event): boolean {\n return getEventPath(event).some(isUiRegion);\n}\n\nfunction getEventPath(event: Event): readonly EventTarget[] {\n const path = typeof event.composedPath === 'function' ? event.composedPath() : [];\n if (path.length > 0) return path;\n return event.target ? [event.target] : [];\n}\n\nfunction toElement(target: EventTarget | null): Element | null {\n if (!target || typeof target !== 'object') return null;\n const candidate = target as Partial<Element>;\n return candidate.nodeType === 1 && typeof candidate.closest === 'function'\n ? target as Element\n : null;\n}\n"]}
1
+ {"version":3,"file":"local-editor-ui-input-router.js","sourceRoot":"","sources":["../src/local-editor-ui-input-router.ts"],"names":[],"mappings":"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","sourcesContent":["export type LocalEditorWorkbenchInputRegion =\n | 'top-bar'\n | 'left-dock'\n | 'right-dock'\n | 'bottom-dock'\n | 'scene-header'\n | 'modal'\n | 'scene-view'\n | 'unknown';\n\nexport interface LocalEditorWorkbenchInputRouter {\n getRegion(target: EventTarget | null): LocalEditorWorkbenchInputRegion;\n getEventTarget(event: Event): Element | null;\n isEditableTarget(target: EventTarget | null): boolean;\n isEditableEvent(event: Event): boolean;\n isEditorOwnedRegion(target: EventTarget | null): boolean;\n isUiRegion(target: EventTarget | null): boolean;\n claimContextMenu(event: MouseEvent): Element | null;\n setContextMenuOpen(open: boolean): void;\n setModalOpen(open: boolean, owner?: string): void;\n shouldPreventBrowserContextMenu(event: MouseEvent): boolean;\n shouldHandleDocumentShortcut(event: KeyboardEvent): boolean;\n shouldHandleGlobalShortcut(event: KeyboardEvent): boolean;\n dispose(): void;\n}\n\nexport interface LocalEditorWorkbenchInputRouterOptions {\n isShortcutReserved?: (event: KeyboardEvent) => boolean;\n}\n\nexport function createLocalEditorWorkbenchInputRouter(\n doc: Document,\n options: LocalEditorWorkbenchInputRouterOptions = {},\n): LocalEditorWorkbenchInputRouter {\n const modalOwners = new Set<string>();\n let contextMenuOpen = false;\n const stopPanelContextMenu = (event: MouseEvent): void => {\n if (shouldPreventBrowserContextMenu(event)) event.preventDefault();\n };\n\n doc.addEventListener('contextmenu', stopPanelContextMenu, { capture: true });\n\n return {\n getRegion,\n getEventTarget,\n isEditableTarget,\n isEditableEvent,\n isEditorOwnedRegion,\n isUiRegion,\n claimContextMenu(event) {\n if (!shouldPreventBrowserContextMenu(event)) return null;\n event.preventDefault();\n event.stopPropagation();\n return getEventTarget(event);\n },\n setContextMenuOpen(open) {\n contextMenuOpen = open;\n },\n setModalOpen(open, owner = 'default') {\n if (open) modalOwners.add(owner);\n else modalOwners.delete(owner);\n },\n shouldPreventBrowserContextMenu,\n shouldHandleDocumentShortcut(event) {\n if (options.isShortcutReserved?.(event)) return false;\n return modalOwners.size === 0 && !contextMenuOpen && getEventRegion(event) !== 'modal';\n },\n shouldHandleGlobalShortcut(event) {\n if (options.isShortcutReserved?.(event)) return false;\n return modalOwners.size === 0\n && !contextMenuOpen\n && !isEditableEvent(event)\n && !isEditableTarget(doc.activeElement)\n && getEventRegion(event) !== 'modal';\n },\n dispose() {\n doc.removeEventListener('contextmenu', stopPanelContextMenu, { capture: true });\n },\n };\n}\n\nfunction getRegion(target: EventTarget | null): LocalEditorWorkbenchInputRegion {\n const element = toElement(target);\n if (!element) return 'unknown';\n if (element.closest('[data-editor-shortcut-help]')) return 'modal';\n if (element.closest('[data-editor-context-menu]')) return 'modal';\n if (element.closest('[data-editor-hierarchy-attach-dialog]')) return 'modal';\n const region = element.closest<HTMLElement>('[data-editor-workbench-region]')?.dataset.editorWorkbenchRegion;\n if (region === 'scene-toolbar') return 'scene-header';\n if (region === 'top-bar'\n || region === 'left-dock'\n || region === 'right-dock'\n || region === 'bottom-dock'\n || region === 'scene-header'\n || region === 'modal') {\n return region;\n }\n if (element.closest('[data-editor-workbench]')) return 'scene-view';\n return 'unknown';\n}\n\nfunction isEditorOwnedRegion(target: EventTarget | null): boolean {\n const region = getRegion(target);\n return region === 'top-bar'\n || region === 'left-dock'\n || region === 'right-dock'\n || region === 'bottom-dock'\n || region === 'scene-header'\n || region === 'modal'\n || region === 'scene-view';\n}\n\nfunction isUiRegion(target: EventTarget | null): boolean {\n const region = getRegion(target);\n return region === 'top-bar'\n || region === 'left-dock'\n || region === 'right-dock'\n || region === 'bottom-dock'\n || region === 'scene-header'\n || region === 'modal';\n}\n\nfunction shouldPreventBrowserContextMenu(event: MouseEvent): boolean {\n return !isEditableEvent(event) && (isEditorOwnedEvent(event) || isEditorContextMenuEvent(event));\n}\n\nfunction isEditableTarget(target: EventTarget | null): boolean {\n const element = toElement(target);\n if (!element) return false;\n const editable = element.closest('input, textarea, select, [contenteditable]');\n if (!editable) return false;\n const tagName = editable.tagName.toLowerCase();\n return tagName === 'input'\n || tagName === 'textarea'\n || tagName === 'select'\n || editable.getAttribute('contenteditable') !== 'false';\n}\n\nfunction getEventTarget(event: Event): Element | null {\n for (const target of getEventPath(event)) {\n const element = toElement(target);\n if (element) return element;\n }\n return null;\n}\n\nfunction isEditableEvent(event: Event): boolean {\n return getEventPath(event).some(isEditableTarget);\n}\n\nfunction getEventRegion(event: Event): LocalEditorWorkbenchInputRegion {\n for (const target of getEventPath(event)) {\n const region = getRegion(target);\n if (region !== 'unknown') return region;\n }\n return 'unknown';\n}\n\nfunction isEditorOwnedEvent(event: Event): boolean {\n const region = getEventRegion(event);\n return region !== 'unknown' && region !== 'modal';\n}\n\nfunction isEditorContextMenuEvent(event: Event): boolean {\n return getEventPath(event).some(target => toElement(target)?.closest('[data-editor-context-menu]'));\n}\n\nfunction getEventPath(event: Event): readonly EventTarget[] {\n const path = typeof event.composedPath === 'function' ? event.composedPath() : [];\n if (path.length > 0) return path;\n return event.target ? [event.target] : [];\n}\n\nfunction toElement(target: EventTarget | null): Element | null {\n if (!target || typeof target !== 'object') return null;\n const candidate = target as Partial<Element>;\n return candidate.nodeType === 1 && typeof candidate.closest === 'function'\n ? target as Element\n : null;\n}\n"]}
@@ -8,6 +8,19 @@ export interface LocalEditorModalDialogInput {
8
8
  confirmLabel?: string;
9
9
  cancelLabel?: string;
10
10
  }
11
+ export interface LocalEditorModalDialogChoice {
12
+ id: string;
13
+ label: string;
14
+ tone?: LocalEditorModalDialogTone;
15
+ }
16
+ export interface LocalEditorModalDialogChoiceInput {
17
+ title: string;
18
+ message: string;
19
+ details?: string;
20
+ tone?: LocalEditorModalDialogTone;
21
+ choices: readonly LocalEditorModalDialogChoice[];
22
+ cancelLabel?: string;
23
+ }
11
24
  export interface LocalEditorModalDialogOptions {
12
25
  doc: Document;
13
26
  host?: HTMLElement;
@@ -18,6 +31,7 @@ export interface LocalEditorModalDialogController {
18
31
  isOpen(): boolean;
19
32
  alert(input: LocalEditorModalDialogInput): Promise<void>;
20
33
  confirm(input: LocalEditorModalDialogInput): Promise<boolean>;
34
+ choose(input: LocalEditorModalDialogChoiceInput): Promise<string | null>;
21
35
  close(): void;
22
36
  setTheme(theme: LocalEditorThemeName): void;
23
37
  dispose(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"local-editor-ui-modal-dialog.d.ts","sourceRoot":"","sources":["../src/local-editor-ui-modal-dialog.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,KAAK,oBAAoB,EAC1B,MAAM,yBAAyB,CAAC;AAEjC,MAAM,MAAM,0BAA0B,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,GAAG,OAAO,CAAC;AAEpF,MAAM,WAAW,2BAA2B;IAC1C,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,0BAA0B,CAAC;IAClC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,6BAA6B;IAC5C,GAAG,EAAE,QAAQ,CAAC;IACd,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,oBAAoB,GAAG,SAAS,CAAC;IAClD,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;CACxC;AAED,MAAM,WAAW,gCAAgC;IAC/C,MAAM,IAAI,OAAO,CAAC;IAClB,KAAK,CAAC,KAAK,EAAE,2BAA2B,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACzD,OAAO,CAAC,KAAK,EAAE,2BAA2B,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC9D,KAAK,IAAI,IAAI,CAAC;IACd,QAAQ,CAAC,KAAK,EAAE,oBAAoB,GAAG,IAAI,CAAC;IAC5C,OAAO,IAAI,IAAI,CAAC;CACjB;AAYD,wBAAgB,4BAA4B,CAC1C,OAAO,EAAE,6BAA6B,GACrC,gCAAgC,CA6LlC"}
1
+ {"version":3,"file":"local-editor-ui-modal-dialog.d.ts","sourceRoot":"","sources":["../src/local-editor-ui-modal-dialog.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,KAAK,oBAAoB,EAC1B,MAAM,yBAAyB,CAAC;AAEjC,MAAM,MAAM,0BAA0B,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,GAAG,OAAO,CAAC;AAEpF,MAAM,WAAW,2BAA2B;IAC1C,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,0BAA0B,CAAC;IAClC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,4BAA4B;IAC3C,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,0BAA0B,CAAC;CACnC;AAED,MAAM,WAAW,iCAAiC;IAChD,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,0BAA0B,CAAC;IAClC,OAAO,EAAE,SAAS,4BAA4B,EAAE,CAAC;IACjD,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,6BAA6B;IAC5C,GAAG,EAAE,QAAQ,CAAC;IACd,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,oBAAoB,GAAG,SAAS,CAAC;IAClD,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;CACxC;AAED,MAAM,WAAW,gCAAgC;IAC/C,MAAM,IAAI,OAAO,CAAC;IAClB,KAAK,CAAC,KAAK,EAAE,2BAA2B,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACzD,OAAO,CAAC,KAAK,EAAE,2BAA2B,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC9D,MAAM,CAAC,KAAK,EAAE,iCAAiC,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IACzE,KAAK,IAAI,IAAI,CAAC;IACd,QAAQ,CAAC,KAAK,EAAE,oBAAoB,GAAG,IAAI,CAAC;IAC5C,OAAO,IAAI,IAAI,CAAC;CACjB;AAgBD,wBAAgB,4BAA4B,CAC1C,OAAO,EAAE,6BAA6B,GACrC,gCAAgC,CAyKlC"}