@esengine/ecs-framework 2.3.0 → 2.3.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (490) hide show
  1. package/index.cjs +2 -0
  2. package/index.cjs.map +1 -0
  3. package/index.d.ts +13466 -0
  4. package/index.es5.js +4 -0
  5. package/index.es5.js.map +1 -0
  6. package/index.mjs +2 -0
  7. package/index.mjs.map +1 -0
  8. package/index.umd.js +4 -0
  9. package/index.umd.js.map +1 -0
  10. package/package.json +47 -84
  11. package/bin/Core/DI/Decorators.d.ts +0 -206
  12. package/bin/Core/DI/Decorators.d.ts.map +0 -1
  13. package/bin/Core/DI/Decorators.js +0 -253
  14. package/bin/Core/DI/Decorators.js.map +0 -1
  15. package/bin/Core/DI/index.d.ts +0 -8
  16. package/bin/Core/DI/index.d.ts.map +0 -1
  17. package/bin/Core/DI/index.js +0 -7
  18. package/bin/Core/DI/index.js.map +0 -1
  19. package/bin/Core/Plugin.d.ts +0 -112
  20. package/bin/Core/Plugin.d.ts.map +0 -1
  21. package/bin/Core/Plugin.js +0 -19
  22. package/bin/Core/Plugin.js.map +0 -1
  23. package/bin/Core/PluginManager.d.ts +0 -118
  24. package/bin/Core/PluginManager.d.ts.map +0 -1
  25. package/bin/Core/PluginManager.js +0 -229
  26. package/bin/Core/PluginManager.js.map +0 -1
  27. package/bin/Core/ServiceContainer.d.ts +0 -221
  28. package/bin/Core/ServiceContainer.d.ts.map +0 -1
  29. package/bin/Core/ServiceContainer.js +0 -352
  30. package/bin/Core/ServiceContainer.js.map +0 -1
  31. package/bin/Core.d.ts +0 -379
  32. package/bin/Core.d.ts.map +0 -1
  33. package/bin/Core.js +0 -553
  34. package/bin/Core.js.map +0 -1
  35. package/bin/ECS/Component.d.ts +0 -104
  36. package/bin/ECS/Component.d.ts.map +0 -1
  37. package/bin/ECS/Component.js +0 -105
  38. package/bin/ECS/Component.js.map +0 -1
  39. package/bin/ECS/Components/HierarchyComponent.d.ts +0 -46
  40. package/bin/ECS/Components/HierarchyComponent.d.ts.map +0 -1
  41. package/bin/ECS/Components/HierarchyComponent.js +0 -65
  42. package/bin/ECS/Components/HierarchyComponent.js.map +0 -1
  43. package/bin/ECS/Components/index.d.ts +0 -2
  44. package/bin/ECS/Components/index.d.ts.map +0 -1
  45. package/bin/ECS/Components/index.js +0 -2
  46. package/bin/ECS/Components/index.js.map +0 -1
  47. package/bin/ECS/Core/ArchetypeSystem.d.ts +0 -103
  48. package/bin/ECS/Core/ArchetypeSystem.d.ts.map +0 -1
  49. package/bin/ECS/Core/ArchetypeSystem.js +0 -244
  50. package/bin/ECS/Core/ArchetypeSystem.js.map +0 -1
  51. package/bin/ECS/Core/CommandBuffer.d.ts +0 -154
  52. package/bin/ECS/Core/CommandBuffer.d.ts.map +0 -1
  53. package/bin/ECS/Core/CommandBuffer.js +0 -244
  54. package/bin/ECS/Core/CommandBuffer.js.map +0 -1
  55. package/bin/ECS/Core/ComponentPool.d.ts +0 -139
  56. package/bin/ECS/Core/ComponentPool.d.ts.map +0 -1
  57. package/bin/ECS/Core/ComponentPool.js +0 -276
  58. package/bin/ECS/Core/ComponentPool.js.map +0 -1
  59. package/bin/ECS/Core/ComponentStorage/ComponentRegistry.d.ts +0 -127
  60. package/bin/ECS/Core/ComponentStorage/ComponentRegistry.d.ts.map +0 -1
  61. package/bin/ECS/Core/ComponentStorage/ComponentRegistry.js +0 -235
  62. package/bin/ECS/Core/ComponentStorage/ComponentRegistry.js.map +0 -1
  63. package/bin/ECS/Core/ComponentStorage.d.ts +0 -185
  64. package/bin/ECS/Core/ComponentStorage.d.ts.map +0 -1
  65. package/bin/ECS/Core/ComponentStorage.js +0 -321
  66. package/bin/ECS/Core/ComponentStorage.js.map +0 -1
  67. package/bin/ECS/Core/EntityLifecyclePolicy.d.ts +0 -26
  68. package/bin/ECS/Core/EntityLifecyclePolicy.d.ts.map +0 -1
  69. package/bin/ECS/Core/EntityLifecyclePolicy.js +0 -2
  70. package/bin/ECS/Core/EntityLifecyclePolicy.js.map +0 -1
  71. package/bin/ECS/Core/EventBus.d.ts +0 -210
  72. package/bin/ECS/Core/EventBus.d.ts.map +0 -1
  73. package/bin/ECS/Core/EventBus.js +0 -370
  74. package/bin/ECS/Core/EventBus.js.map +0 -1
  75. package/bin/ECS/Core/EventSystem.d.ts +0 -225
  76. package/bin/ECS/Core/EventSystem.d.ts.map +0 -1
  77. package/bin/ECS/Core/EventSystem.js +0 -448
  78. package/bin/ECS/Core/EventSystem.js.map +0 -1
  79. package/bin/ECS/Core/Events/index.d.ts +0 -3
  80. package/bin/ECS/Core/Events/index.d.ts.map +0 -1
  81. package/bin/ECS/Core/Events/index.js +0 -3
  82. package/bin/ECS/Core/Events/index.js.map +0 -1
  83. package/bin/ECS/Core/FluentAPI/ComponentBuilder.d.ts +0 -35
  84. package/bin/ECS/Core/FluentAPI/ComponentBuilder.d.ts.map +0 -1
  85. package/bin/ECS/Core/FluentAPI/ComponentBuilder.js +0 -48
  86. package/bin/ECS/Core/FluentAPI/ComponentBuilder.js.map +0 -1
  87. package/bin/ECS/Core/FluentAPI/ECSFluentAPI.d.ts +0 -135
  88. package/bin/ECS/Core/FluentAPI/ECSFluentAPI.d.ts.map +0 -1
  89. package/bin/ECS/Core/FluentAPI/ECSFluentAPI.js +0 -166
  90. package/bin/ECS/Core/FluentAPI/ECSFluentAPI.js.map +0 -1
  91. package/bin/ECS/Core/FluentAPI/EntityBatchOperator.d.ts +0 -58
  92. package/bin/ECS/Core/FluentAPI/EntityBatchOperator.d.ts.map +0 -1
  93. package/bin/ECS/Core/FluentAPI/EntityBatchOperator.js +0 -85
  94. package/bin/ECS/Core/FluentAPI/EntityBatchOperator.js.map +0 -1
  95. package/bin/ECS/Core/FluentAPI/EntityBuilder.d.ts +0 -110
  96. package/bin/ECS/Core/FluentAPI/EntityBuilder.d.ts.map +0 -1
  97. package/bin/ECS/Core/FluentAPI/EntityBuilder.js +0 -181
  98. package/bin/ECS/Core/FluentAPI/EntityBuilder.js.map +0 -1
  99. package/bin/ECS/Core/FluentAPI/SceneBuilder.d.ts +0 -53
  100. package/bin/ECS/Core/FluentAPI/SceneBuilder.d.ts.map +0 -1
  101. package/bin/ECS/Core/FluentAPI/SceneBuilder.js +0 -79
  102. package/bin/ECS/Core/FluentAPI/SceneBuilder.js.map +0 -1
  103. package/bin/ECS/Core/FluentAPI/index.d.ts +0 -6
  104. package/bin/ECS/Core/FluentAPI/index.d.ts.map +0 -1
  105. package/bin/ECS/Core/FluentAPI/index.js +0 -6
  106. package/bin/ECS/Core/FluentAPI/index.js.map +0 -1
  107. package/bin/ECS/Core/FluentAPI.d.ts +0 -2
  108. package/bin/ECS/Core/FluentAPI.d.ts.map +0 -1
  109. package/bin/ECS/Core/FluentAPI.js +0 -3
  110. package/bin/ECS/Core/FluentAPI.js.map +0 -1
  111. package/bin/ECS/Core/Query/TypedQuery.d.ts +0 -214
  112. package/bin/ECS/Core/Query/TypedQuery.d.ts.map +0 -1
  113. package/bin/ECS/Core/Query/TypedQuery.js +0 -294
  114. package/bin/ECS/Core/Query/TypedQuery.js.map +0 -1
  115. package/bin/ECS/Core/Query/index.d.ts +0 -3
  116. package/bin/ECS/Core/Query/index.d.ts.map +0 -1
  117. package/bin/ECS/Core/Query/index.js +0 -3
  118. package/bin/ECS/Core/Query/index.js.map +0 -1
  119. package/bin/ECS/Core/QuerySystem.d.ts +0 -458
  120. package/bin/ECS/Core/QuerySystem.d.ts.map +0 -1
  121. package/bin/ECS/Core/QuerySystem.js +0 -1069
  122. package/bin/ECS/Core/QuerySystem.js.map +0 -1
  123. package/bin/ECS/Core/QueryTypes.d.ts +0 -34
  124. package/bin/ECS/Core/QueryTypes.d.ts.map +0 -1
  125. package/bin/ECS/Core/QueryTypes.js +0 -13
  126. package/bin/ECS/Core/QueryTypes.js.map +0 -1
  127. package/bin/ECS/Core/ReactiveQuery.d.ts +0 -211
  128. package/bin/ECS/Core/ReactiveQuery.d.ts.map +0 -1
  129. package/bin/ECS/Core/ReactiveQuery.js +0 -401
  130. package/bin/ECS/Core/ReactiveQuery.js.map +0 -1
  131. package/bin/ECS/Core/ReferenceTracker.d.ts +0 -111
  132. package/bin/ECS/Core/ReferenceTracker.d.ts.map +0 -1
  133. package/bin/ECS/Core/ReferenceTracker.js +0 -254
  134. package/bin/ECS/Core/ReferenceTracker.js.map +0 -1
  135. package/bin/ECS/Core/SoASerializer.d.ts +0 -28
  136. package/bin/ECS/Core/SoASerializer.d.ts.map +0 -1
  137. package/bin/ECS/Core/SoASerializer.js +0 -85
  138. package/bin/ECS/Core/SoASerializer.js.map +0 -1
  139. package/bin/ECS/Core/SoAStorage.d.ts +0 -129
  140. package/bin/ECS/Core/SoAStorage.d.ts.map +0 -1
  141. package/bin/ECS/Core/SoAStorage.js +0 -685
  142. package/bin/ECS/Core/SoAStorage.js.map +0 -1
  143. package/bin/ECS/Core/SoATypeRegistry.d.ts +0 -50
  144. package/bin/ECS/Core/SoATypeRegistry.d.ts.map +0 -1
  145. package/bin/ECS/Core/SoATypeRegistry.js +0 -135
  146. package/bin/ECS/Core/SoATypeRegistry.js.map +0 -1
  147. package/bin/ECS/Core/Storage/index.d.ts +0 -4
  148. package/bin/ECS/Core/Storage/index.d.ts.map +0 -1
  149. package/bin/ECS/Core/Storage/index.js +0 -4
  150. package/bin/ECS/Core/Storage/index.js.map +0 -1
  151. package/bin/ECS/Core/StorageDecorators.d.ts +0 -20
  152. package/bin/ECS/Core/StorageDecorators.d.ts.map +0 -1
  153. package/bin/ECS/Core/StorageDecorators.js +0 -27
  154. package/bin/ECS/Core/StorageDecorators.js.map +0 -1
  155. package/bin/ECS/CoreEvents.d.ts +0 -131
  156. package/bin/ECS/CoreEvents.d.ts.map +0 -1
  157. package/bin/ECS/CoreEvents.js +0 -163
  158. package/bin/ECS/CoreEvents.js.map +0 -1
  159. package/bin/ECS/Decorators/EntityRefDecorator.d.ts +0 -46
  160. package/bin/ECS/Decorators/EntityRefDecorator.d.ts.map +0 -1
  161. package/bin/ECS/Decorators/EntityRefDecorator.js +0 -118
  162. package/bin/ECS/Decorators/EntityRefDecorator.js.map +0 -1
  163. package/bin/ECS/Decorators/PropertyDecorator.d.ts +0 -168
  164. package/bin/ECS/Decorators/PropertyDecorator.d.ts.map +0 -1
  165. package/bin/ECS/Decorators/PropertyDecorator.js +0 -40
  166. package/bin/ECS/Decorators/PropertyDecorator.js.map +0 -1
  167. package/bin/ECS/Decorators/TypeDecorators.d.ts +0 -124
  168. package/bin/ECS/Decorators/TypeDecorators.d.ts.map +0 -1
  169. package/bin/ECS/Decorators/TypeDecorators.js +0 -151
  170. package/bin/ECS/Decorators/TypeDecorators.js.map +0 -1
  171. package/bin/ECS/Decorators/index.d.ts +0 -7
  172. package/bin/ECS/Decorators/index.d.ts.map +0 -1
  173. package/bin/ECS/Decorators/index.js +0 -4
  174. package/bin/ECS/Decorators/index.js.map +0 -1
  175. package/bin/ECS/Entity.d.ts +0 -415
  176. package/bin/ECS/Entity.d.ts.map +0 -1
  177. package/bin/ECS/Entity.js +0 -683
  178. package/bin/ECS/Entity.js.map +0 -1
  179. package/bin/ECS/EntityTags.d.ts +0 -71
  180. package/bin/ECS/EntityTags.d.ts.map +0 -1
  181. package/bin/ECS/EntityTags.js +0 -82
  182. package/bin/ECS/EntityTags.js.map +0 -1
  183. package/bin/ECS/IScene.d.ts +0 -308
  184. package/bin/ECS/IScene.d.ts.map +0 -1
  185. package/bin/ECS/IScene.js +0 -2
  186. package/bin/ECS/IScene.js.map +0 -1
  187. package/bin/ECS/Scene.d.ts +0 -799
  188. package/bin/ECS/Scene.d.ts.map +0 -1
  189. package/bin/ECS/Scene.js +0 -1203
  190. package/bin/ECS/Scene.js.map +0 -1
  191. package/bin/ECS/SceneManager.d.ts +0 -197
  192. package/bin/ECS/SceneManager.d.ts.map +0 -1
  193. package/bin/ECS/SceneManager.js +0 -264
  194. package/bin/ECS/SceneManager.js.map +0 -1
  195. package/bin/ECS/Serialization/ComponentSerializer.d.ts +0 -106
  196. package/bin/ECS/Serialization/ComponentSerializer.d.ts.map +0 -1
  197. package/bin/ECS/Serialization/ComponentSerializer.js +0 -251
  198. package/bin/ECS/Serialization/ComponentSerializer.js.map +0 -1
  199. package/bin/ECS/Serialization/EntitySerializer.d.ts +0 -111
  200. package/bin/ECS/Serialization/EntitySerializer.d.ts.map +0 -1
  201. package/bin/ECS/Serialization/EntitySerializer.js +0 -155
  202. package/bin/ECS/Serialization/EntitySerializer.js.map +0 -1
  203. package/bin/ECS/Serialization/IncrementalSerializer.d.ts +0 -259
  204. package/bin/ECS/Serialization/IncrementalSerializer.d.ts.map +0 -1
  205. package/bin/ECS/Serialization/IncrementalSerializer.js +0 -500
  206. package/bin/ECS/Serialization/IncrementalSerializer.js.map +0 -1
  207. package/bin/ECS/Serialization/SceneSerializer.d.ts +0 -213
  208. package/bin/ECS/Serialization/SceneSerializer.d.ts.map +0 -1
  209. package/bin/ECS/Serialization/SceneSerializer.js +0 -387
  210. package/bin/ECS/Serialization/SceneSerializer.js.map +0 -1
  211. package/bin/ECS/Serialization/SerializationDecorators.d.ts +0 -136
  212. package/bin/ECS/Serialization/SerializationDecorators.d.ts.map +0 -1
  213. package/bin/ECS/Serialization/SerializationDecorators.js +0 -216
  214. package/bin/ECS/Serialization/SerializationDecorators.js.map +0 -1
  215. package/bin/ECS/Serialization/VersionMigration.d.ts +0 -156
  216. package/bin/ECS/Serialization/VersionMigration.d.ts.map +0 -1
  217. package/bin/ECS/Serialization/VersionMigration.js +0 -279
  218. package/bin/ECS/Serialization/VersionMigration.js.map +0 -1
  219. package/bin/ECS/Serialization/index.d.ts +0 -18
  220. package/bin/ECS/Serialization/index.d.ts.map +0 -1
  221. package/bin/ECS/Serialization/index.js +0 -18
  222. package/bin/ECS/Serialization/index.js.map +0 -1
  223. package/bin/ECS/Systems/EntityCache.d.ts +0 -114
  224. package/bin/ECS/Systems/EntityCache.d.ts.map +0 -1
  225. package/bin/ECS/Systems/EntityCache.js +0 -145
  226. package/bin/ECS/Systems/EntityCache.js.map +0 -1
  227. package/bin/ECS/Systems/EntitySystem.d.ts +0 -591
  228. package/bin/ECS/Systems/EntitySystem.d.ts.map +0 -1
  229. package/bin/ECS/Systems/EntitySystem.js +0 -1102
  230. package/bin/ECS/Systems/EntitySystem.js.map +0 -1
  231. package/bin/ECS/Systems/HierarchySystem.d.ts +0 -155
  232. package/bin/ECS/Systems/HierarchySystem.d.ts.map +0 -1
  233. package/bin/ECS/Systems/HierarchySystem.js +0 -498
  234. package/bin/ECS/Systems/HierarchySystem.js.map +0 -1
  235. package/bin/ECS/Systems/IntervalSystem.d.ts +0 -33
  236. package/bin/ECS/Systems/IntervalSystem.d.ts.map +0 -1
  237. package/bin/ECS/Systems/IntervalSystem.js +0 -50
  238. package/bin/ECS/Systems/IntervalSystem.js.map +0 -1
  239. package/bin/ECS/Systems/PassiveSystem.d.ts +0 -17
  240. package/bin/ECS/Systems/PassiveSystem.d.ts.map +0 -1
  241. package/bin/ECS/Systems/PassiveSystem.js +0 -19
  242. package/bin/ECS/Systems/PassiveSystem.js.map +0 -1
  243. package/bin/ECS/Systems/ProcessingSystem.d.ts +0 -21
  244. package/bin/ECS/Systems/ProcessingSystem.d.ts.map +0 -1
  245. package/bin/ECS/Systems/ProcessingSystem.js +0 -20
  246. package/bin/ECS/Systems/ProcessingSystem.js.map +0 -1
  247. package/bin/ECS/Systems/WorkerEntitySystem.d.ts +0 -313
  248. package/bin/ECS/Systems/WorkerEntitySystem.d.ts.map +0 -1
  249. package/bin/ECS/Systems/WorkerEntitySystem.js +0 -792
  250. package/bin/ECS/Systems/WorkerEntitySystem.js.map +0 -1
  251. package/bin/ECS/Systems/index.d.ts +0 -8
  252. package/bin/ECS/Systems/index.d.ts.map +0 -1
  253. package/bin/ECS/Systems/index.js +0 -8
  254. package/bin/ECS/Systems/index.js.map +0 -1
  255. package/bin/ECS/TypedEntity.d.ts +0 -192
  256. package/bin/ECS/TypedEntity.d.ts.map +0 -1
  257. package/bin/ECS/TypedEntity.js +0 -254
  258. package/bin/ECS/TypedEntity.js.map +0 -1
  259. package/bin/ECS/Utils/BigIntCompatibility.d.ts +0 -151
  260. package/bin/ECS/Utils/BigIntCompatibility.d.ts.map +0 -1
  261. package/bin/ECS/Utils/BigIntCompatibility.js +0 -476
  262. package/bin/ECS/Utils/BigIntCompatibility.js.map +0 -1
  263. package/bin/ECS/Utils/BitMaskHashMap.d.ts +0 -28
  264. package/bin/ECS/Utils/BitMaskHashMap.d.ts.map +0 -1
  265. package/bin/ECS/Utils/BitMaskHashMap.js +0 -127
  266. package/bin/ECS/Utils/BitMaskHashMap.js.map +0 -1
  267. package/bin/ECS/Utils/Bits.d.ts +0 -154
  268. package/bin/ECS/Utils/Bits.d.ts.map +0 -1
  269. package/bin/ECS/Utils/Bits.js +0 -331
  270. package/bin/ECS/Utils/Bits.js.map +0 -1
  271. package/bin/ECS/Utils/ComponentSparseSet.d.ts +0 -143
  272. package/bin/ECS/Utils/ComponentSparseSet.d.ts.map +0 -1
  273. package/bin/ECS/Utils/ComponentSparseSet.js +0 -347
  274. package/bin/ECS/Utils/ComponentSparseSet.js.map +0 -1
  275. package/bin/ECS/Utils/EntityList.d.ts +0 -115
  276. package/bin/ECS/Utils/EntityList.d.ts.map +0 -1
  277. package/bin/ECS/Utils/EntityList.js +0 -258
  278. package/bin/ECS/Utils/EntityList.js.map +0 -1
  279. package/bin/ECS/Utils/EntityProcessorList.d.ts +0 -56
  280. package/bin/ECS/Utils/EntityProcessorList.d.ts.map +0 -1
  281. package/bin/ECS/Utils/EntityProcessorList.js +0 -113
  282. package/bin/ECS/Utils/EntityProcessorList.js.map +0 -1
  283. package/bin/ECS/Utils/IdentifierPool.d.ts +0 -203
  284. package/bin/ECS/Utils/IdentifierPool.d.ts.map +0 -1
  285. package/bin/ECS/Utils/IdentifierPool.js +0 -325
  286. package/bin/ECS/Utils/IdentifierPool.js.map +0 -1
  287. package/bin/ECS/Utils/Matcher.d.ts +0 -171
  288. package/bin/ECS/Utils/Matcher.d.ts.map +0 -1
  289. package/bin/ECS/Utils/Matcher.js +0 -293
  290. package/bin/ECS/Utils/Matcher.js.map +0 -1
  291. package/bin/ECS/Utils/SparseSet.d.ts +0 -170
  292. package/bin/ECS/Utils/SparseSet.d.ts.map +0 -1
  293. package/bin/ECS/Utils/SparseSet.js +0 -280
  294. package/bin/ECS/Utils/SparseSet.js.map +0 -1
  295. package/bin/ECS/Utils/index.d.ts +0 -9
  296. package/bin/ECS/Utils/index.d.ts.map +0 -1
  297. package/bin/ECS/Utils/index.js +0 -10
  298. package/bin/ECS/Utils/index.js.map +0 -1
  299. package/bin/ECS/World.d.ts +0 -238
  300. package/bin/ECS/World.d.ts.map +0 -1
  301. package/bin/ECS/World.js +0 -416
  302. package/bin/ECS/World.js.map +0 -1
  303. package/bin/ECS/WorldManager.d.ts +0 -224
  304. package/bin/ECS/WorldManager.d.ts.map +0 -1
  305. package/bin/ECS/WorldManager.js +0 -365
  306. package/bin/ECS/WorldManager.js.map +0 -1
  307. package/bin/ECS/index.d.ts +0 -26
  308. package/bin/ECS/index.d.ts.map +0 -1
  309. package/bin/ECS/index.js +0 -21
  310. package/bin/ECS/index.js.map +0 -1
  311. package/bin/Platform/IPlatformAdapter.d.ts +0 -169
  312. package/bin/Platform/IPlatformAdapter.d.ts.map +0 -1
  313. package/bin/Platform/IPlatformAdapter.js +0 -2
  314. package/bin/Platform/IPlatformAdapter.js.map +0 -1
  315. package/bin/Platform/PlatformDetector.d.ts +0 -56
  316. package/bin/Platform/PlatformDetector.d.ts.map +0 -1
  317. package/bin/Platform/PlatformDetector.js +0 -247
  318. package/bin/Platform/PlatformDetector.js.map +0 -1
  319. package/bin/Platform/PlatformManager.d.ts +0 -50
  320. package/bin/Platform/PlatformManager.d.ts.map +0 -1
  321. package/bin/Platform/PlatformManager.js +0 -114
  322. package/bin/Platform/PlatformManager.js.map +0 -1
  323. package/bin/Platform/index.d.ts +0 -19
  324. package/bin/Platform/index.d.ts.map +0 -1
  325. package/bin/Platform/index.js +0 -29
  326. package/bin/Platform/index.js.map +0 -1
  327. package/bin/Plugins/DebugPlugin.d.ts +0 -156
  328. package/bin/Plugins/DebugPlugin.d.ts.map +0 -1
  329. package/bin/Plugins/DebugPlugin.js +0 -248
  330. package/bin/Plugins/DebugPlugin.js.map +0 -1
  331. package/bin/Plugins/index.d.ts +0 -2
  332. package/bin/Plugins/index.d.ts.map +0 -1
  333. package/bin/Plugins/index.js +0 -2
  334. package/bin/Plugins/index.js.map +0 -1
  335. package/bin/Types/IUpdatable.d.ts +0 -18
  336. package/bin/Types/IUpdatable.d.ts.map +0 -1
  337. package/bin/Types/IUpdatable.js +0 -7
  338. package/bin/Types/IUpdatable.js.map +0 -1
  339. package/bin/Types/TypeHelpers.d.ts +0 -238
  340. package/bin/Types/TypeHelpers.d.ts.map +0 -1
  341. package/bin/Types/TypeHelpers.js +0 -19
  342. package/bin/Types/TypeHelpers.js.map +0 -1
  343. package/bin/Types/index.d.ts +0 -466
  344. package/bin/Types/index.d.ts.map +0 -1
  345. package/bin/Types/index.js +0 -7
  346. package/bin/Types/index.js.map +0 -1
  347. package/bin/Utils/BinarySerializer.d.ts +0 -23
  348. package/bin/Utils/BinarySerializer.d.ts.map +0 -1
  349. package/bin/Utils/BinarySerializer.js +0 -100
  350. package/bin/Utils/BinarySerializer.js.map +0 -1
  351. package/bin/Utils/Debug/AdvancedProfilerCollector.d.ts +0 -153
  352. package/bin/Utils/Debug/AdvancedProfilerCollector.d.ts.map +0 -1
  353. package/bin/Utils/Debug/AdvancedProfilerCollector.js +0 -406
  354. package/bin/Utils/Debug/AdvancedProfilerCollector.js.map +0 -1
  355. package/bin/Utils/Debug/ComponentDataCollector.d.ts +0 -32
  356. package/bin/Utils/Debug/ComponentDataCollector.d.ts.map +0 -1
  357. package/bin/Utils/Debug/ComponentDataCollector.js +0 -250
  358. package/bin/Utils/Debug/ComponentDataCollector.js.map +0 -1
  359. package/bin/Utils/Debug/DebugConfigService.d.ts +0 -16
  360. package/bin/Utils/Debug/DebugConfigService.d.ts.map +0 -1
  361. package/bin/Utils/Debug/DebugConfigService.js +0 -42
  362. package/bin/Utils/Debug/DebugConfigService.js.map +0 -1
  363. package/bin/Utils/Debug/DebugManager.d.ts +0 -131
  364. package/bin/Utils/Debug/DebugManager.d.ts.map +0 -1
  365. package/bin/Utils/Debug/DebugManager.js +0 -848
  366. package/bin/Utils/Debug/DebugManager.js.map +0 -1
  367. package/bin/Utils/Debug/EntityDataCollector.d.ts +0 -115
  368. package/bin/Utils/Debug/EntityDataCollector.d.ts.map +0 -1
  369. package/bin/Utils/Debug/EntityDataCollector.js +0 -870
  370. package/bin/Utils/Debug/EntityDataCollector.js.map +0 -1
  371. package/bin/Utils/Debug/PerformanceDataCollector.d.ts +0 -31
  372. package/bin/Utils/Debug/PerformanceDataCollector.d.ts.map +0 -1
  373. package/bin/Utils/Debug/PerformanceDataCollector.js +0 -203
  374. package/bin/Utils/Debug/PerformanceDataCollector.js.map +0 -1
  375. package/bin/Utils/Debug/SceneDataCollector.d.ts +0 -18
  376. package/bin/Utils/Debug/SceneDataCollector.d.ts.map +0 -1
  377. package/bin/Utils/Debug/SceneDataCollector.js +0 -43
  378. package/bin/Utils/Debug/SceneDataCollector.js.map +0 -1
  379. package/bin/Utils/Debug/SystemDataCollector.d.ts +0 -14
  380. package/bin/Utils/Debug/SystemDataCollector.d.ts.map +0 -1
  381. package/bin/Utils/Debug/SystemDataCollector.js +0 -60
  382. package/bin/Utils/Debug/SystemDataCollector.js.map +0 -1
  383. package/bin/Utils/Debug/WebSocketManager.d.ts +0 -54
  384. package/bin/Utils/Debug/WebSocketManager.d.ts.map +0 -1
  385. package/bin/Utils/Debug/WebSocketManager.js +0 -141
  386. package/bin/Utils/Debug/WebSocketManager.js.map +0 -1
  387. package/bin/Utils/Debug/index.d.ts +0 -11
  388. package/bin/Utils/Debug/index.d.ts.map +0 -1
  389. package/bin/Utils/Debug/index.js +0 -10
  390. package/bin/Utils/Debug/index.js.map +0 -1
  391. package/bin/Utils/Emitter.d.ts +0 -61
  392. package/bin/Utils/Emitter.d.ts.map +0 -1
  393. package/bin/Utils/Emitter.js +0 -101
  394. package/bin/Utils/Emitter.js.map +0 -1
  395. package/bin/Utils/Extensions/NumberExtension.d.ts +0 -13
  396. package/bin/Utils/Extensions/NumberExtension.d.ts.map +0 -1
  397. package/bin/Utils/Extensions/NumberExtension.js +0 -17
  398. package/bin/Utils/Extensions/NumberExtension.js.map +0 -1
  399. package/bin/Utils/Extensions/TypeUtils.d.ts +0 -13
  400. package/bin/Utils/Extensions/TypeUtils.d.ts.map +0 -1
  401. package/bin/Utils/Extensions/TypeUtils.js +0 -15
  402. package/bin/Utils/Extensions/TypeUtils.js.map +0 -1
  403. package/bin/Utils/Extensions/index.d.ts +0 -3
  404. package/bin/Utils/Extensions/index.d.ts.map +0 -1
  405. package/bin/Utils/Extensions/index.js +0 -4
  406. package/bin/Utils/Extensions/index.js.map +0 -1
  407. package/bin/Utils/GlobalManager.d.ts +0 -29
  408. package/bin/Utils/GlobalManager.d.ts.map +0 -1
  409. package/bin/Utils/GlobalManager.js +0 -50
  410. package/bin/Utils/GlobalManager.js.map +0 -1
  411. package/bin/Utils/Logger/ConsoleLogger.d.ts +0 -74
  412. package/bin/Utils/Logger/ConsoleLogger.d.ts.map +0 -1
  413. package/bin/Utils/Logger/ConsoleLogger.js +0 -187
  414. package/bin/Utils/Logger/ConsoleLogger.js.map +0 -1
  415. package/bin/Utils/Logger/Constants.d.ts +0 -36
  416. package/bin/Utils/Logger/Constants.d.ts.map +0 -1
  417. package/bin/Utils/Logger/Constants.js +0 -40
  418. package/bin/Utils/Logger/Constants.js.map +0 -1
  419. package/bin/Utils/Logger/LoggerManager.d.ts +0 -91
  420. package/bin/Utils/Logger/LoggerManager.d.ts.map +0 -1
  421. package/bin/Utils/Logger/LoggerManager.js +0 -167
  422. package/bin/Utils/Logger/LoggerManager.js.map +0 -1
  423. package/bin/Utils/Logger/Types.d.ts +0 -40
  424. package/bin/Utils/Logger/Types.d.ts.map +0 -1
  425. package/bin/Utils/Logger/Types.js +0 -2
  426. package/bin/Utils/Logger/Types.js.map +0 -1
  427. package/bin/Utils/Logger/index.d.ts +0 -5
  428. package/bin/Utils/Logger/index.d.ts.map +0 -1
  429. package/bin/Utils/Logger/index.js +0 -5
  430. package/bin/Utils/Logger/index.js.map +0 -1
  431. package/bin/Utils/PerformanceMonitor.d.ts +0 -196
  432. package/bin/Utils/PerformanceMonitor.d.ts.map +0 -1
  433. package/bin/Utils/PerformanceMonitor.js +0 -244
  434. package/bin/Utils/PerformanceMonitor.js.map +0 -1
  435. package/bin/Utils/Pool/IPoolable.d.ts +0 -29
  436. package/bin/Utils/Pool/IPoolable.d.ts.map +0 -1
  437. package/bin/Utils/Pool/IPoolable.js +0 -2
  438. package/bin/Utils/Pool/IPoolable.js.map +0 -1
  439. package/bin/Utils/Pool/Pool.d.ts +0 -109
  440. package/bin/Utils/Pool/Pool.d.ts.map +0 -1
  441. package/bin/Utils/Pool/Pool.js +0 -238
  442. package/bin/Utils/Pool/Pool.js.map +0 -1
  443. package/bin/Utils/Pool/PoolManager.d.ts +0 -96
  444. package/bin/Utils/Pool/PoolManager.d.ts.map +0 -1
  445. package/bin/Utils/Pool/PoolManager.js +0 -199
  446. package/bin/Utils/Pool/PoolManager.js.map +0 -1
  447. package/bin/Utils/Pool/index.d.ts +0 -4
  448. package/bin/Utils/Pool/index.d.ts.map +0 -1
  449. package/bin/Utils/Pool/index.js +0 -4
  450. package/bin/Utils/Pool/index.js.map +0 -1
  451. package/bin/Utils/Profiler/AutoProfiler.d.ts +0 -160
  452. package/bin/Utils/Profiler/AutoProfiler.d.ts.map +0 -1
  453. package/bin/Utils/Profiler/AutoProfiler.js +0 -503
  454. package/bin/Utils/Profiler/AutoProfiler.js.map +0 -1
  455. package/bin/Utils/Profiler/ProfilerSDK.d.ts +0 -175
  456. package/bin/Utils/Profiler/ProfilerSDK.d.ts.map +0 -1
  457. package/bin/Utils/Profiler/ProfilerSDK.js +0 -727
  458. package/bin/Utils/Profiler/ProfilerSDK.js.map +0 -1
  459. package/bin/Utils/Profiler/ProfilerTypes.d.ts +0 -218
  460. package/bin/Utils/Profiler/ProfilerTypes.d.ts.map +0 -1
  461. package/bin/Utils/Profiler/ProfilerTypes.js +0 -47
  462. package/bin/Utils/Profiler/ProfilerTypes.js.map +0 -1
  463. package/bin/Utils/Profiler/index.d.ts +0 -8
  464. package/bin/Utils/Profiler/index.d.ts.map +0 -1
  465. package/bin/Utils/Profiler/index.js +0 -7
  466. package/bin/Utils/Profiler/index.js.map +0 -1
  467. package/bin/Utils/Time.d.ts +0 -47
  468. package/bin/Utils/Time.d.ts.map +0 -1
  469. package/bin/Utils/Time.js +0 -64
  470. package/bin/Utils/Time.js.map +0 -1
  471. package/bin/Utils/Timers/ITimer.d.ts +0 -16
  472. package/bin/Utils/Timers/ITimer.d.ts.map +0 -1
  473. package/bin/Utils/Timers/ITimer.js +0 -2
  474. package/bin/Utils/Timers/ITimer.js.map +0 -1
  475. package/bin/Utils/Timers/Timer.d.ts +0 -30
  476. package/bin/Utils/Timers/Timer.d.ts.map +0 -1
  477. package/bin/Utils/Timers/Timer.js +0 -58
  478. package/bin/Utils/Timers/Timer.js.map +0 -1
  479. package/bin/Utils/Timers/TimerManager.d.ts +0 -26
  480. package/bin/Utils/Timers/TimerManager.d.ts.map +0 -1
  481. package/bin/Utils/Timers/TimerManager.js +0 -48
  482. package/bin/Utils/Timers/TimerManager.js.map +0 -1
  483. package/bin/Utils/index.d.ts +0 -11
  484. package/bin/Utils/index.d.ts.map +0 -1
  485. package/bin/Utils/index.js +0 -11
  486. package/bin/Utils/index.js.map +0 -1
  487. package/bin/index.d.ts +0 -29
  488. package/bin/index.d.ts.map +0 -1
  489. package/bin/index.js +0 -36
  490. package/bin/index.js.map +0 -1
@@ -1,276 +0,0 @@
1
- /**
2
- * 组件对象池,用于复用组件实例以减少内存分配
3
- */
4
- export class ComponentPool {
5
- constructor(createFn, resetFn, maxSize = 1000, minSize = 10) {
6
- this.pool = [];
7
- this.stats = {
8
- totalCreated: 0,
9
- totalAcquired: 0,
10
- totalReleased: 0
11
- };
12
- this.createFn = createFn;
13
- if (resetFn) {
14
- this.resetFn = resetFn;
15
- }
16
- this.maxSize = maxSize;
17
- this.minSize = Math.max(1, minSize);
18
- }
19
- /**
20
- * 获取一个组件实例
21
- */
22
- acquire() {
23
- this.stats.totalAcquired++;
24
- if (this.pool.length > 0) {
25
- return this.pool.pop();
26
- }
27
- this.stats.totalCreated++;
28
- return this.createFn();
29
- }
30
- /**
31
- * 释放一个组件实例回池中
32
- */
33
- release(component) {
34
- this.stats.totalReleased++;
35
- if (this.pool.length >= this.maxSize) {
36
- return;
37
- }
38
- if (this.resetFn) {
39
- this.resetFn(component);
40
- }
41
- this.pool.push(component);
42
- }
43
- /**
44
- * 预填充对象池
45
- */
46
- prewarm(count) {
47
- const targetCount = Math.min(count, this.maxSize);
48
- for (let i = this.pool.length; i < targetCount; i++) {
49
- const component = this.createFn();
50
- if (this.resetFn) {
51
- this.resetFn(component);
52
- }
53
- this.pool.push(component);
54
- this.stats.totalCreated++;
55
- }
56
- }
57
- /**
58
- * 自动收缩池大小
59
- */
60
- shrink() {
61
- while (this.pool.length > this.minSize) {
62
- this.pool.pop();
63
- }
64
- }
65
- /**
66
- * 清空对象池
67
- */
68
- clear() {
69
- this.pool.length = 0;
70
- }
71
- /**
72
- * 获取池中可用对象数量
73
- */
74
- getAvailableCount() {
75
- return this.pool.length;
76
- }
77
- /**
78
- * 获取池的最大容量
79
- */
80
- getMaxSize() {
81
- return this.maxSize;
82
- }
83
- /**
84
- * 获取统计信息
85
- */
86
- getStats() {
87
- const hitRate = this.stats.totalAcquired === 0
88
- ? 0
89
- : (this.stats.totalAcquired - this.stats.totalCreated) / this.stats.totalAcquired;
90
- return {
91
- totalCreated: this.stats.totalCreated,
92
- totalAcquired: this.stats.totalAcquired,
93
- totalReleased: this.stats.totalReleased,
94
- hitRate: hitRate,
95
- currentSize: this.pool.length,
96
- maxSize: this.maxSize,
97
- minSize: this.minSize,
98
- utilizationRate: this.pool.length / this.maxSize
99
- };
100
- }
101
- }
102
- /**
103
- * 全局组件池管理器
104
- */
105
- export class ComponentPoolManager {
106
- constructor() {
107
- this.pools = new Map();
108
- this.usageTracker = new Map();
109
- this.autoCleanupInterval = 60000;
110
- this.lastCleanupTime = 0;
111
- }
112
- static getInstance() {
113
- if (!ComponentPoolManager.instance) {
114
- ComponentPoolManager.instance = new ComponentPoolManager();
115
- }
116
- return ComponentPoolManager.instance;
117
- }
118
- /**
119
- * 注册组件池
120
- */
121
- registerPool(componentName, createFn, resetFn, maxSize, minSize) {
122
- this.pools.set(componentName, new ComponentPool(createFn, resetFn, maxSize, minSize));
123
- this.usageTracker.set(componentName, {
124
- createCount: 0,
125
- releaseCount: 0,
126
- lastAccessTime: Date.now()
127
- });
128
- }
129
- /**
130
- * 获取组件实例
131
- */
132
- acquireComponent(componentName) {
133
- const pool = this.pools.get(componentName);
134
- this.trackUsage(componentName, 'create');
135
- return pool ? pool.acquire() : null;
136
- }
137
- /**
138
- * 释放组件实例
139
- */
140
- releaseComponent(componentName, component) {
141
- const pool = this.pools.get(componentName);
142
- this.trackUsage(componentName, 'release');
143
- if (pool) {
144
- pool.release(component);
145
- }
146
- }
147
- /**
148
- * 追踪使用情况
149
- */
150
- trackUsage(componentName, action) {
151
- let tracker = this.usageTracker.get(componentName);
152
- if (!tracker) {
153
- tracker = {
154
- createCount: 0,
155
- releaseCount: 0,
156
- lastAccessTime: Date.now()
157
- };
158
- this.usageTracker.set(componentName, tracker);
159
- }
160
- if (action === 'create') {
161
- tracker.createCount++;
162
- }
163
- else {
164
- tracker.releaseCount++;
165
- }
166
- tracker.lastAccessTime = Date.now();
167
- }
168
- /**
169
- * 自动清理(定期调用)
170
- */
171
- update() {
172
- const now = Date.now();
173
- if (now - this.lastCleanupTime < this.autoCleanupInterval) {
174
- return;
175
- }
176
- for (const [name, tracker] of this.usageTracker.entries()) {
177
- const inactive = now - tracker.lastAccessTime > 120000;
178
- if (inactive) {
179
- const pool = this.pools.get(name);
180
- if (pool) {
181
- pool.shrink();
182
- }
183
- }
184
- }
185
- this.lastCleanupTime = now;
186
- }
187
- /**
188
- * 获取热点组件列表
189
- */
190
- getHotComponents(threshold = 100) {
191
- return Array.from(this.usageTracker.entries())
192
- .filter(([_, tracker]) => tracker.createCount > threshold)
193
- .map(([name]) => name);
194
- }
195
- /**
196
- * 预热所有池
197
- */
198
- prewarmAll(count = 100) {
199
- for (const pool of this.pools.values()) {
200
- pool.prewarm(count);
201
- }
202
- }
203
- /**
204
- * 清空所有池
205
- */
206
- clearAll() {
207
- for (const pool of this.pools.values()) {
208
- pool.clear();
209
- }
210
- }
211
- /**
212
- * 重置管理器
213
- */
214
- reset() {
215
- this.pools.clear();
216
- this.usageTracker.clear();
217
- }
218
- /**
219
- * 获取全局统计信息
220
- */
221
- getGlobalStats() {
222
- const stats = [];
223
- for (const [name, pool] of this.pools.entries()) {
224
- stats.push({
225
- componentName: name,
226
- poolStats: pool.getStats(),
227
- usage: this.usageTracker.get(name)
228
- });
229
- }
230
- return stats;
231
- }
232
- /**
233
- * 获取池统计信息
234
- */
235
- getPoolStats() {
236
- const stats = new Map();
237
- for (const [name, pool] of this.pools) {
238
- stats.set(name, {
239
- available: pool.getAvailableCount(),
240
- maxSize: pool.getMaxSize()
241
- });
242
- }
243
- return stats;
244
- }
245
- /**
246
- * 获取池利用率信息
247
- */
248
- getPoolUtilization() {
249
- const utilization = new Map();
250
- for (const [name, pool] of this.pools) {
251
- const available = pool.getAvailableCount();
252
- const maxSize = pool.getMaxSize();
253
- const used = maxSize - available;
254
- const utilRate = maxSize > 0 ? (used / maxSize * 100) : 0;
255
- utilization.set(name, {
256
- used: used,
257
- total: maxSize,
258
- utilization: utilRate
259
- });
260
- }
261
- return utilization;
262
- }
263
- /**
264
- * 获取指定组件的池利用率
265
- */
266
- getComponentUtilization(componentName) {
267
- const pool = this.pools.get(componentName);
268
- if (!pool)
269
- return 0;
270
- const available = pool.getAvailableCount();
271
- const maxSize = pool.getMaxSize();
272
- const used = maxSize - available;
273
- return maxSize > 0 ? (used / maxSize * 100) : 0;
274
- }
275
- }
276
- //# sourceMappingURL=ComponentPool.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ComponentPool.js","sourceRoot":"","sources":["../../../src/ECS/Core/ComponentPool.ts"],"names":[],"mappings":"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"}
@@ -1,127 +0,0 @@
1
- import { Component } from '../../Component';
2
- import { BitMask64Data } from '../../Utils/BigIntCompatibility';
3
- /**
4
- * 组件类型定义
5
- */
6
- export type ComponentType<T extends Component = Component> = new (...args: any[]) => T;
7
- /**
8
- * 组件注册表
9
- * 管理组件类型的位掩码分配
10
- */
11
- export declare class ComponentRegistry {
12
- protected static readonly _logger: import("../../../Utils/Logger").ILogger;
13
- private static componentTypes;
14
- private static bitIndexToType;
15
- private static componentNameToType;
16
- private static componentNameToId;
17
- private static maskCache;
18
- private static nextBitIndex;
19
- /**
20
- * 热更新模式标志,默认禁用
21
- * Hot reload mode flag, disabled by default
22
- * 编辑器环境应启用此选项以支持脚本热更新
23
- * Editor environment should enable this to support script hot reload
24
- */
25
- private static hotReloadEnabled;
26
- /**
27
- * 注册组件类型并分配位掩码
28
- * @param componentType 组件类型
29
- * @returns 分配的位索引
30
- */
31
- static register<T extends Component>(componentType: ComponentType<T>): number;
32
- /**
33
- * 获取组件类型的位掩码
34
- * @param componentType 组件类型
35
- * @returns 位掩码
36
- */
37
- static getBitMask<T extends Component>(componentType: ComponentType<T>): BitMask64Data;
38
- /**
39
- * 获取组件类型的位索引
40
- * @param componentType 组件类型
41
- * @returns 位索引
42
- */
43
- static getBitIndex<T extends Component>(componentType: ComponentType<T>): number;
44
- /**
45
- * 检查组件类型是否已注册
46
- * @param componentType 组件类型
47
- * @returns 是否已注册
48
- */
49
- static isRegistered<T extends Component>(componentType: ComponentType<T>): boolean;
50
- /**
51
- * 通过位索引获取组件类型
52
- * @param bitIndex 位索引
53
- * @returns 组件类型构造函数或null
54
- */
55
- static getTypeByBitIndex(bitIndex: number): ComponentType | null;
56
- /**
57
- * 获取当前已注册的组件类型数量
58
- * @returns 已注册数量
59
- */
60
- static getRegisteredCount(): number;
61
- /**
62
- * 通过名称获取组件类型
63
- * @param componentName 组件名称
64
- * @returns 组件类型构造函数
65
- */
66
- static getComponentType(componentName: string): Function | null;
67
- /**
68
- * 获取所有已注册的组件类型
69
- * @returns 组件类型映射
70
- */
71
- static getAllRegisteredTypes(): Map<Function, number>;
72
- /**
73
- * 获取所有组件名称到类型的映射
74
- * @returns 名称到类型的映射
75
- */
76
- static getAllComponentNames(): Map<string, Function>;
77
- /**
78
- * 通过名称获取组件类型ID
79
- * @param componentName 组件名称
80
- * @returns 组件类型ID
81
- */
82
- static getComponentId(componentName: string): number | undefined;
83
- /**
84
- * 注册组件类型(通过名称)
85
- * @param componentName 组件名称
86
- * @returns 分配的组件ID
87
- */
88
- static registerComponentByName(componentName: string): number;
89
- /**
90
- * 创建单个组件的掩码
91
- * @param componentName 组件名称
92
- * @returns 组件掩码
93
- */
94
- static createSingleComponentMask(componentName: string): BitMask64Data;
95
- /**
96
- * 创建多个组件的掩码
97
- * @param componentNames 组件名称数组
98
- * @returns 组合掩码
99
- */
100
- static createComponentMask(componentNames: string[]): BitMask64Data;
101
- /**
102
- * 清除掩码缓存
103
- */
104
- static clearMaskCache(): void;
105
- /**
106
- * 启用热更新模式
107
- * Enable hot reload mode
108
- * 在编辑器环境中调用以支持脚本热更新
109
- * Call in editor environment to support script hot reload
110
- */
111
- static enableHotReload(): void;
112
- /**
113
- * 禁用热更新模式
114
- * Disable hot reload mode
115
- */
116
- static disableHotReload(): void;
117
- /**
118
- * 检查热更新模式是否启用
119
- * Check if hot reload mode is enabled
120
- */
121
- static isHotReloadEnabled(): boolean;
122
- /**
123
- * 重置注册表(用于测试)
124
- */
125
- static reset(): void;
126
- }
127
- //# sourceMappingURL=ComponentRegistry.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ComponentRegistry.d.ts","sourceRoot":"","sources":["../../../../src/ECS/Core/ComponentStorage/ComponentRegistry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAkB,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAIhF;;GAEG;AACH,MAAM,MAAM,aAAa,CAAC,CAAC,SAAS,SAAS,GAAG,SAAS,IAAI,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;AAEvF;;;GAGG;AACH,qBAAa,iBAAiB;IAC1B,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,0CAAoC;IACrE,OAAO,CAAC,MAAM,CAAC,cAAc,CAA+B;IAC5D,OAAO,CAAC,MAAM,CAAC,cAAc,CAA+B;IAC5D,OAAO,CAAC,MAAM,CAAC,mBAAmB,CAA+B;IACjE,OAAO,CAAC,MAAM,CAAC,iBAAiB,CAA6B;IAC7D,OAAO,CAAC,MAAM,CAAC,SAAS,CAAoC;IAC5D,OAAO,CAAC,MAAM,CAAC,YAAY,CAAK;IAEhC;;;;;OAKG;IACH,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAS;IAExC;;;;OAIG;WACW,QAAQ,CAAC,CAAC,SAAS,SAAS,EAAE,aAAa,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,MAAM;IAyCpF;;;;OAIG;WACW,UAAU,CAAC,CAAC,SAAS,SAAS,EAAE,aAAa,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,aAAa;IAS7F;;;;OAIG;WACW,WAAW,CAAC,CAAC,SAAS,SAAS,EAAE,aAAa,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,MAAM;IASvF;;;;OAIG;WACW,YAAY,CAAC,CAAC,SAAS,SAAS,EAAE,aAAa,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,OAAO;IAIzF;;;;OAIG;WACW,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI;IAIvE;;;OAGG;WACW,kBAAkB,IAAI,MAAM;IAI1C;;;;OAIG;WACW,gBAAgB,CAAC,aAAa,EAAE,MAAM,GAAG,QAAQ,GAAG,IAAI;IAItE;;;OAGG;WACW,qBAAqB,IAAI,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC;IAI5D;;;OAGG;WACW,oBAAoB,IAAI,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC;IAI3D;;;;OAIG;WACW,cAAc,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAIvE;;;;OAIG;WACW,uBAAuB,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM;IAUpE;;;;OAIG;WACW,yBAAyB,CAAC,aAAa,EAAE,MAAM,GAAG,aAAa;IAiB7E;;;;OAIG;WACW,mBAAmB,CAAC,cAAc,EAAE,MAAM,EAAE,GAAG,aAAa;IAqB1E;;OAEG;WACW,cAAc,IAAI,IAAI;IAIpC;;;;;OAKG;WACW,eAAe,IAAI,IAAI;IAIrC;;;OAGG;WACW,gBAAgB,IAAI,IAAI;IAItC;;;OAGG;WACW,kBAAkB,IAAI,OAAO;IAI3C;;OAEG;WACW,KAAK,IAAI,IAAI;CAS9B"}
@@ -1,235 +0,0 @@
1
- import { BitMask64Utils } from '../../Utils/BigIntCompatibility';
2
- import { createLogger } from '../../../Utils/Logger';
3
- import { getComponentTypeName } from '../../Decorators';
4
- /**
5
- * 组件注册表
6
- * 管理组件类型的位掩码分配
7
- */
8
- export class ComponentRegistry {
9
- /**
10
- * 注册组件类型并分配位掩码
11
- * @param componentType 组件类型
12
- * @returns 分配的位索引
13
- */
14
- static register(componentType) {
15
- const typeName = getComponentTypeName(componentType);
16
- if (this.componentTypes.has(componentType)) {
17
- const existingIndex = this.componentTypes.get(componentType);
18
- return existingIndex;
19
- }
20
- // 检查是否有同名但不同类的组件已注册(热更新场景)
21
- // Check if a component with the same name but different class is registered (hot reload scenario)
22
- if (this.hotReloadEnabled && this.componentNameToType.has(typeName)) {
23
- const existingType = this.componentNameToType.get(typeName);
24
- if (existingType !== componentType) {
25
- // 热更新:替换旧的类为新的类,复用相同的 bitIndex
26
- // Hot reload: replace old class with new class, reuse the same bitIndex
27
- const existingIndex = this.componentTypes.get(existingType);
28
- // 移除旧类的映射
29
- // Remove old class mapping
30
- this.componentTypes.delete(existingType);
31
- // 用新类更新映射
32
- // Update mappings with new class
33
- this.componentTypes.set(componentType, existingIndex);
34
- this.bitIndexToType.set(existingIndex, componentType);
35
- this.componentNameToType.set(typeName, componentType);
36
- console.log(`[ComponentRegistry] Hot reload: replaced component "${typeName}"`);
37
- return existingIndex;
38
- }
39
- }
40
- const bitIndex = this.nextBitIndex++;
41
- this.componentTypes.set(componentType, bitIndex);
42
- this.bitIndexToType.set(bitIndex, componentType);
43
- this.componentNameToType.set(typeName, componentType);
44
- this.componentNameToId.set(typeName, bitIndex);
45
- return bitIndex;
46
- }
47
- /**
48
- * 获取组件类型的位掩码
49
- * @param componentType 组件类型
50
- * @returns 位掩码
51
- */
52
- static getBitMask(componentType) {
53
- const bitIndex = this.componentTypes.get(componentType);
54
- if (bitIndex === undefined) {
55
- const typeName = getComponentTypeName(componentType);
56
- throw new Error(`Component type ${typeName} is not registered`);
57
- }
58
- return BitMask64Utils.create(bitIndex);
59
- }
60
- /**
61
- * 获取组件类型的位索引
62
- * @param componentType 组件类型
63
- * @returns 位索引
64
- */
65
- static getBitIndex(componentType) {
66
- const bitIndex = this.componentTypes.get(componentType);
67
- if (bitIndex === undefined) {
68
- const typeName = getComponentTypeName(componentType);
69
- throw new Error(`Component type ${typeName} is not registered`);
70
- }
71
- return bitIndex;
72
- }
73
- /**
74
- * 检查组件类型是否已注册
75
- * @param componentType 组件类型
76
- * @returns 是否已注册
77
- */
78
- static isRegistered(componentType) {
79
- return this.componentTypes.has(componentType);
80
- }
81
- /**
82
- * 通过位索引获取组件类型
83
- * @param bitIndex 位索引
84
- * @returns 组件类型构造函数或null
85
- */
86
- static getTypeByBitIndex(bitIndex) {
87
- return this.bitIndexToType.get(bitIndex) || null;
88
- }
89
- /**
90
- * 获取当前已注册的组件类型数量
91
- * @returns 已注册数量
92
- */
93
- static getRegisteredCount() {
94
- return this.nextBitIndex;
95
- }
96
- /**
97
- * 通过名称获取组件类型
98
- * @param componentName 组件名称
99
- * @returns 组件类型构造函数
100
- */
101
- static getComponentType(componentName) {
102
- return this.componentNameToType.get(componentName) || null;
103
- }
104
- /**
105
- * 获取所有已注册的组件类型
106
- * @returns 组件类型映射
107
- */
108
- static getAllRegisteredTypes() {
109
- return new Map(this.componentTypes);
110
- }
111
- /**
112
- * 获取所有组件名称到类型的映射
113
- * @returns 名称到类型的映射
114
- */
115
- static getAllComponentNames() {
116
- return new Map(this.componentNameToType);
117
- }
118
- /**
119
- * 通过名称获取组件类型ID
120
- * @param componentName 组件名称
121
- * @returns 组件类型ID
122
- */
123
- static getComponentId(componentName) {
124
- return this.componentNameToId.get(componentName);
125
- }
126
- /**
127
- * 注册组件类型(通过名称)
128
- * @param componentName 组件名称
129
- * @returns 分配的组件ID
130
- */
131
- static registerComponentByName(componentName) {
132
- if (this.componentNameToId.has(componentName)) {
133
- return this.componentNameToId.get(componentName);
134
- }
135
- const bitIndex = this.nextBitIndex++;
136
- this.componentNameToId.set(componentName, bitIndex);
137
- return bitIndex;
138
- }
139
- /**
140
- * 创建单个组件的掩码
141
- * @param componentName 组件名称
142
- * @returns 组件掩码
143
- */
144
- static createSingleComponentMask(componentName) {
145
- const cacheKey = `single:${componentName}`;
146
- if (this.maskCache.has(cacheKey)) {
147
- return this.maskCache.get(cacheKey);
148
- }
149
- const componentId = this.getComponentId(componentName);
150
- if (componentId === undefined) {
151
- throw new Error(`Component type ${componentName} is not registered`);
152
- }
153
- const mask = BitMask64Utils.create(componentId);
154
- this.maskCache.set(cacheKey, mask);
155
- return mask;
156
- }
157
- /**
158
- * 创建多个组件的掩码
159
- * @param componentNames 组件名称数组
160
- * @returns 组合掩码
161
- */
162
- static createComponentMask(componentNames) {
163
- const sortedNames = [...componentNames].sort();
164
- const cacheKey = `multi:${sortedNames.join(',')}`;
165
- if (this.maskCache.has(cacheKey)) {
166
- return this.maskCache.get(cacheKey);
167
- }
168
- const mask = BitMask64Utils.clone(BitMask64Utils.ZERO);
169
- for (const name of componentNames) {
170
- const componentId = this.getComponentId(name);
171
- if (componentId !== undefined) {
172
- const componentMask = BitMask64Utils.create(componentId);
173
- BitMask64Utils.orInPlace(mask, componentMask);
174
- }
175
- }
176
- this.maskCache.set(cacheKey, mask);
177
- return mask;
178
- }
179
- /**
180
- * 清除掩码缓存
181
- */
182
- static clearMaskCache() {
183
- this.maskCache.clear();
184
- }
185
- /**
186
- * 启用热更新模式
187
- * Enable hot reload mode
188
- * 在编辑器环境中调用以支持脚本热更新
189
- * Call in editor environment to support script hot reload
190
- */
191
- static enableHotReload() {
192
- this.hotReloadEnabled = true;
193
- }
194
- /**
195
- * 禁用热更新模式
196
- * Disable hot reload mode
197
- */
198
- static disableHotReload() {
199
- this.hotReloadEnabled = false;
200
- }
201
- /**
202
- * 检查热更新模式是否启用
203
- * Check if hot reload mode is enabled
204
- */
205
- static isHotReloadEnabled() {
206
- return this.hotReloadEnabled;
207
- }
208
- /**
209
- * 重置注册表(用于测试)
210
- */
211
- static reset() {
212
- this.componentTypes.clear();
213
- this.bitIndexToType.clear();
214
- this.componentNameToType.clear();
215
- this.componentNameToId.clear();
216
- this.maskCache.clear();
217
- this.nextBitIndex = 0;
218
- this.hotReloadEnabled = false;
219
- }
220
- }
221
- ComponentRegistry._logger = createLogger('ComponentStorage');
222
- ComponentRegistry.componentTypes = new Map();
223
- ComponentRegistry.bitIndexToType = new Map();
224
- ComponentRegistry.componentNameToType = new Map();
225
- ComponentRegistry.componentNameToId = new Map();
226
- ComponentRegistry.maskCache = new Map();
227
- ComponentRegistry.nextBitIndex = 0;
228
- /**
229
- * 热更新模式标志,默认禁用
230
- * Hot reload mode flag, disabled by default
231
- * 编辑器环境应启用此选项以支持脚本热更新
232
- * Editor environment should enable this to support script hot reload
233
- */
234
- ComponentRegistry.hotReloadEnabled = false;
235
- //# sourceMappingURL=ComponentRegistry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ComponentRegistry.js","sourceRoot":"","sources":["../../../../src/ECS/Core/ComponentStorage/ComponentRegistry.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAiB,MAAM,iCAAiC,CAAC;AAChF,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAOxD;;;GAGG;AACH,MAAM,OAAO,iBAAiB;IAiB1B;;;;OAIG;IACI,MAAM,CAAC,QAAQ,CAAsB,aAA+B;QACvE,MAAM,QAAQ,GAAG,oBAAoB,CAAC,aAAa,CAAC,CAAC;QAErD,IAAI,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC;YACzC,MAAM,aAAa,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,aAAa,CAAE,CAAC;YAC9D,OAAO,aAAa,CAAC;QACzB,CAAC;QAED,2BAA2B;QAC3B,kGAAkG;QAClG,IAAI,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YAClE,MAAM,YAAY,GAAG,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAC5D,IAAI,YAAY,KAAK,aAAa,EAAE,CAAC;gBACjC,+BAA+B;gBAC/B,wEAAwE;gBACxE,MAAM,aAAa,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,YAAa,CAAE,CAAC;gBAE9D,UAAU;gBACV,2BAA2B;gBAC3B,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,YAAa,CAAC,CAAC;gBAE1C,UAAU;gBACV,iCAAiC;gBACjC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC;gBACtD,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC;gBACtD,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;gBAEtD,OAAO,CAAC,GAAG,CAAC,uDAAuD,QAAQ,GAAG,CAAC,CAAC;gBAChF,OAAO,aAAa,CAAC;YACzB,CAAC;QACL,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QACrC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;QACjD,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;QACjD,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;QACtD,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAE/C,OAAO,QAAQ,CAAC;IACpB,CAAC;IAED;;;;OAIG;IACI,MAAM,CAAC,UAAU,CAAsB,aAA+B;QACzE,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QACxD,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YACzB,MAAM,QAAQ,GAAG,oBAAoB,CAAC,aAAa,CAAC,CAAC;YACrD,MAAM,IAAI,KAAK,CAAC,kBAAkB,QAAQ,oBAAoB,CAAC,CAAC;QACpE,CAAC;QACD,OAAO,cAAc,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC3C,CAAC;IAED;;;;OAIG;IACI,MAAM,CAAC,WAAW,CAAsB,aAA+B;QAC1E,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QACxD,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YACzB,MAAM,QAAQ,GAAG,oBAAoB,CAAC,aAAa,CAAC,CAAC;YACrD,MAAM,IAAI,KAAK,CAAC,kBAAkB,QAAQ,oBAAoB,CAAC,CAAC;QACpE,CAAC;QACD,OAAO,QAAQ,CAAC;IACpB,CAAC;IAED;;;;OAIG;IACI,MAAM,CAAC,YAAY,CAAsB,aAA+B;QAC3E,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IAClD,CAAC;IAED;;;;OAIG;IACI,MAAM,CAAC,iBAAiB,CAAC,QAAgB;QAC5C,OAAQ,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAmB,IAAI,IAAI,CAAC;IACxE,CAAC;IAED;;;OAGG;IACI,MAAM,CAAC,kBAAkB;QAC5B,OAAO,IAAI,CAAC,YAAY,CAAC;IAC7B,CAAC;IAED;;;;OAIG;IACI,MAAM,CAAC,gBAAgB,CAAC,aAAqB;QAChD,OAAO,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,IAAI,CAAC;IAC/D,CAAC;IAED;;;OAGG;IACI,MAAM,CAAC,qBAAqB;QAC/B,OAAO,IAAI,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IACxC,CAAC;IAED;;;OAGG;IACI,MAAM,CAAC,oBAAoB;QAC9B,OAAO,IAAI,GAAG,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IAC7C,CAAC;IAED;;;;OAIG;IACI,MAAM,CAAC,cAAc,CAAC,aAAqB;QAC9C,OAAO,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IACrD,CAAC;IAED;;;;OAIG;IACI,MAAM,CAAC,uBAAuB,CAAC,aAAqB;QACvD,IAAI,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC;YAC5C,OAAO,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,aAAa,CAAE,CAAC;QACtD,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QACrC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;QACpD,OAAO,QAAQ,CAAC;IACpB,CAAC;IAED;;;;OAIG;IACI,MAAM,CAAC,yBAAyB,CAAC,aAAqB;QACzD,MAAM,QAAQ,GAAG,UAAU,aAAa,EAAE,CAAC;QAE3C,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC/B,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAE,CAAC;QACzC,CAAC;QAED,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC;QACvD,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC5B,MAAM,IAAI,KAAK,CAAC,kBAAkB,aAAa,oBAAoB,CAAC,CAAC;QACzE,CAAC;QAED,MAAM,IAAI,GAAG,cAAc,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QAChD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QACnC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;;;OAIG;IACI,MAAM,CAAC,mBAAmB,CAAC,cAAwB;QACtD,MAAM,WAAW,GAAG,CAAC,GAAG,cAAc,CAAC,CAAC,IAAI,EAAE,CAAC;QAC/C,MAAM,QAAQ,GAAG,SAAS,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QAElD,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC/B,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAE,CAAC;QACzC,CAAC;QAED,MAAM,IAAI,GAAG,cAAc,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QACvD,KAAK,MAAM,IAAI,IAAI,cAAc,EAAE,CAAC;YAChC,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;YAC9C,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;gBAC5B,MAAM,aAAa,GAAG,cAAc,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;gBACzD,cAAc,CAAC,SAAS,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;YAClD,CAAC;QACL,CAAC;QAED,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QACnC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,cAAc;QACxB,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;IAC3B,CAAC;IAED;;;;;OAKG;IACI,MAAM,CAAC,eAAe;QACzB,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;IACjC,CAAC;IAED;;;OAGG;IACI,MAAM,CAAC,gBAAgB;QAC1B,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;IAClC,CAAC;IAED;;;OAGG;IACI,MAAM,CAAC,kBAAkB;QAC5B,OAAO,IAAI,CAAC,gBAAgB,CAAC;IACjC,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,KAAK;QACf,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;QAC5B,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;QAC5B,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,CAAC;QACjC,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,CAAC;QAC/B,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;QACvB,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;QACtB,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;IAClC,CAAC;;AAjQyB,yBAAO,GAAG,YAAY,CAAC,kBAAkB,CAAC,CAAC;AACtD,gCAAc,GAAG,IAAI,GAAG,EAAoB,CAAC;AAC7C,gCAAc,GAAG,IAAI,GAAG,EAAoB,CAAC;AAC7C,qCAAmB,GAAG,IAAI,GAAG,EAAoB,CAAC;AAClD,mCAAiB,GAAG,IAAI,GAAG,EAAkB,CAAC;AAC9C,2BAAS,GAAG,IAAI,GAAG,EAAyB,CAAC;AAC7C,8BAAY,GAAG,CAAC,CAAC;AAEhC;;;;;GAKG;AACY,kCAAgB,GAAG,KAAK,CAAC"}