@esengine/ecs-framework 2.2.21 → 2.3.0

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/bin/Core/DI/Decorators.d.ts +206 -0
  2. package/bin/Core/DI/Decorators.d.ts.map +1 -0
  3. package/bin/Core/DI/Decorators.js +253 -0
  4. package/bin/Core/DI/Decorators.js.map +1 -0
  5. package/bin/Core/DI/index.d.ts +8 -0
  6. package/bin/Core/DI/index.d.ts.map +1 -0
  7. package/bin/Core/DI/index.js +7 -0
  8. package/bin/Core/DI/index.js.map +1 -0
  9. package/bin/Core/Plugin.d.ts +112 -0
  10. package/bin/Core/Plugin.d.ts.map +1 -0
  11. package/bin/Core/Plugin.js +19 -0
  12. package/bin/Core/Plugin.js.map +1 -0
  13. package/bin/Core/PluginManager.d.ts +118 -0
  14. package/bin/Core/PluginManager.d.ts.map +1 -0
  15. package/bin/Core/PluginManager.js +229 -0
  16. package/bin/Core/PluginManager.js.map +1 -0
  17. package/bin/Core/ServiceContainer.d.ts +221 -0
  18. package/bin/Core/ServiceContainer.d.ts.map +1 -0
  19. package/bin/Core/ServiceContainer.js +352 -0
  20. package/bin/Core/ServiceContainer.js.map +1 -0
  21. package/bin/Core.d.ts +379 -0
  22. package/bin/Core.d.ts.map +1 -0
  23. package/bin/Core.js +553 -0
  24. package/bin/Core.js.map +1 -0
  25. package/bin/ECS/Component.d.ts +104 -0
  26. package/bin/ECS/Component.d.ts.map +1 -0
  27. package/bin/ECS/Component.js +105 -0
  28. package/bin/ECS/Component.js.map +1 -0
  29. package/bin/ECS/Components/HierarchyComponent.d.ts +46 -0
  30. package/bin/ECS/Components/HierarchyComponent.d.ts.map +1 -0
  31. package/bin/ECS/Components/HierarchyComponent.js +65 -0
  32. package/bin/ECS/Components/HierarchyComponent.js.map +1 -0
  33. package/bin/ECS/Components/index.d.ts +2 -0
  34. package/bin/ECS/Components/index.d.ts.map +1 -0
  35. package/bin/ECS/Components/index.js +2 -0
  36. package/bin/ECS/Components/index.js.map +1 -0
  37. package/bin/ECS/Core/ArchetypeSystem.d.ts +103 -0
  38. package/bin/ECS/Core/ArchetypeSystem.d.ts.map +1 -0
  39. package/bin/ECS/Core/ArchetypeSystem.js +244 -0
  40. package/bin/ECS/Core/ArchetypeSystem.js.map +1 -0
  41. package/bin/ECS/Core/CommandBuffer.d.ts +154 -0
  42. package/bin/ECS/Core/CommandBuffer.d.ts.map +1 -0
  43. package/bin/ECS/Core/CommandBuffer.js +244 -0
  44. package/bin/ECS/Core/CommandBuffer.js.map +1 -0
  45. package/bin/ECS/Core/ComponentPool.d.ts +139 -0
  46. package/bin/ECS/Core/ComponentPool.d.ts.map +1 -0
  47. package/bin/ECS/Core/ComponentPool.js +276 -0
  48. package/bin/ECS/Core/ComponentPool.js.map +1 -0
  49. package/bin/ECS/Core/ComponentStorage/ComponentRegistry.d.ts +127 -0
  50. package/bin/ECS/Core/ComponentStorage/ComponentRegistry.d.ts.map +1 -0
  51. package/bin/ECS/Core/ComponentStorage/ComponentRegistry.js +235 -0
  52. package/bin/ECS/Core/ComponentStorage/ComponentRegistry.js.map +1 -0
  53. package/bin/ECS/Core/ComponentStorage.d.ts +185 -0
  54. package/bin/ECS/Core/ComponentStorage.d.ts.map +1 -0
  55. package/bin/ECS/Core/ComponentStorage.js +321 -0
  56. package/bin/ECS/Core/ComponentStorage.js.map +1 -0
  57. package/bin/ECS/Core/EntityLifecyclePolicy.d.ts +26 -0
  58. package/bin/ECS/Core/EntityLifecyclePolicy.d.ts.map +1 -0
  59. package/bin/ECS/Core/EntityLifecyclePolicy.js +2 -0
  60. package/bin/ECS/Core/EntityLifecyclePolicy.js.map +1 -0
  61. package/bin/ECS/Core/EventBus.d.ts +210 -0
  62. package/bin/ECS/Core/EventBus.d.ts.map +1 -0
  63. package/bin/ECS/Core/EventBus.js +370 -0
  64. package/bin/ECS/Core/EventBus.js.map +1 -0
  65. package/bin/ECS/Core/EventSystem.d.ts +225 -0
  66. package/bin/ECS/Core/EventSystem.d.ts.map +1 -0
  67. package/bin/ECS/Core/EventSystem.js +448 -0
  68. package/bin/ECS/Core/EventSystem.js.map +1 -0
  69. package/bin/ECS/Core/Events/index.d.ts +3 -0
  70. package/bin/ECS/Core/Events/index.d.ts.map +1 -0
  71. package/bin/ECS/Core/Events/index.js +3 -0
  72. package/bin/ECS/Core/Events/index.js.map +1 -0
  73. package/bin/ECS/Core/FluentAPI/ComponentBuilder.d.ts +35 -0
  74. package/bin/ECS/Core/FluentAPI/ComponentBuilder.d.ts.map +1 -0
  75. package/bin/ECS/Core/FluentAPI/ComponentBuilder.js +48 -0
  76. package/bin/ECS/Core/FluentAPI/ComponentBuilder.js.map +1 -0
  77. package/bin/ECS/Core/FluentAPI/ECSFluentAPI.d.ts +135 -0
  78. package/bin/ECS/Core/FluentAPI/ECSFluentAPI.d.ts.map +1 -0
  79. package/bin/ECS/Core/FluentAPI/ECSFluentAPI.js +166 -0
  80. package/bin/ECS/Core/FluentAPI/ECSFluentAPI.js.map +1 -0
  81. package/bin/ECS/Core/FluentAPI/EntityBatchOperator.d.ts +58 -0
  82. package/bin/ECS/Core/FluentAPI/EntityBatchOperator.d.ts.map +1 -0
  83. package/bin/ECS/Core/FluentAPI/EntityBatchOperator.js +85 -0
  84. package/bin/ECS/Core/FluentAPI/EntityBatchOperator.js.map +1 -0
  85. package/bin/ECS/Core/FluentAPI/EntityBuilder.d.ts +110 -0
  86. package/bin/ECS/Core/FluentAPI/EntityBuilder.d.ts.map +1 -0
  87. package/bin/ECS/Core/FluentAPI/EntityBuilder.js +181 -0
  88. package/bin/ECS/Core/FluentAPI/EntityBuilder.js.map +1 -0
  89. package/bin/ECS/Core/FluentAPI/SceneBuilder.d.ts +53 -0
  90. package/bin/ECS/Core/FluentAPI/SceneBuilder.d.ts.map +1 -0
  91. package/bin/ECS/Core/FluentAPI/SceneBuilder.js +79 -0
  92. package/bin/ECS/Core/FluentAPI/SceneBuilder.js.map +1 -0
  93. package/bin/ECS/Core/FluentAPI/index.d.ts +6 -0
  94. package/bin/ECS/Core/FluentAPI/index.d.ts.map +1 -0
  95. package/bin/ECS/Core/FluentAPI/index.js +6 -0
  96. package/bin/ECS/Core/FluentAPI/index.js.map +1 -0
  97. package/bin/ECS/Core/FluentAPI.d.ts +2 -0
  98. package/bin/ECS/Core/FluentAPI.d.ts.map +1 -0
  99. package/bin/ECS/Core/FluentAPI.js +3 -0
  100. package/bin/ECS/Core/FluentAPI.js.map +1 -0
  101. package/bin/ECS/Core/Query/TypedQuery.d.ts +214 -0
  102. package/bin/ECS/Core/Query/TypedQuery.d.ts.map +1 -0
  103. package/bin/ECS/Core/Query/TypedQuery.js +294 -0
  104. package/bin/ECS/Core/Query/TypedQuery.js.map +1 -0
  105. package/bin/ECS/Core/Query/index.d.ts +3 -0
  106. package/bin/ECS/Core/Query/index.d.ts.map +1 -0
  107. package/bin/ECS/Core/Query/index.js +3 -0
  108. package/bin/ECS/Core/Query/index.js.map +1 -0
  109. package/bin/ECS/Core/QuerySystem.d.ts +458 -0
  110. package/bin/ECS/Core/QuerySystem.d.ts.map +1 -0
  111. package/bin/ECS/Core/QuerySystem.js +1069 -0
  112. package/bin/ECS/Core/QuerySystem.js.map +1 -0
  113. package/bin/ECS/Core/QueryTypes.d.ts +34 -0
  114. package/bin/ECS/Core/QueryTypes.d.ts.map +1 -0
  115. package/bin/ECS/Core/QueryTypes.js +13 -0
  116. package/bin/ECS/Core/QueryTypes.js.map +1 -0
  117. package/bin/ECS/Core/ReactiveQuery.d.ts +211 -0
  118. package/bin/ECS/Core/ReactiveQuery.d.ts.map +1 -0
  119. package/bin/ECS/Core/ReactiveQuery.js +401 -0
  120. package/bin/ECS/Core/ReactiveQuery.js.map +1 -0
  121. package/bin/ECS/Core/ReferenceTracker.d.ts +111 -0
  122. package/bin/ECS/Core/ReferenceTracker.d.ts.map +1 -0
  123. package/bin/ECS/Core/ReferenceTracker.js +254 -0
  124. package/bin/ECS/Core/ReferenceTracker.js.map +1 -0
  125. package/bin/ECS/Core/SoASerializer.d.ts +28 -0
  126. package/bin/ECS/Core/SoASerializer.d.ts.map +1 -0
  127. package/bin/ECS/Core/SoASerializer.js +85 -0
  128. package/bin/ECS/Core/SoASerializer.js.map +1 -0
  129. package/bin/ECS/Core/SoAStorage.d.ts +129 -0
  130. package/bin/ECS/Core/SoAStorage.d.ts.map +1 -0
  131. package/bin/ECS/Core/SoAStorage.js +685 -0
  132. package/bin/ECS/Core/SoAStorage.js.map +1 -0
  133. package/bin/ECS/Core/SoATypeRegistry.d.ts +50 -0
  134. package/bin/ECS/Core/SoATypeRegistry.d.ts.map +1 -0
  135. package/bin/ECS/Core/SoATypeRegistry.js +135 -0
  136. package/bin/ECS/Core/SoATypeRegistry.js.map +1 -0
  137. package/bin/ECS/Core/Storage/index.d.ts +4 -0
  138. package/bin/ECS/Core/Storage/index.d.ts.map +1 -0
  139. package/bin/ECS/Core/Storage/index.js +4 -0
  140. package/bin/ECS/Core/Storage/index.js.map +1 -0
  141. package/bin/ECS/Core/StorageDecorators.d.ts +20 -0
  142. package/bin/ECS/Core/StorageDecorators.d.ts.map +1 -0
  143. package/bin/ECS/Core/StorageDecorators.js +27 -0
  144. package/bin/ECS/Core/StorageDecorators.js.map +1 -0
  145. package/bin/ECS/CoreEvents.d.ts +131 -0
  146. package/bin/ECS/CoreEvents.d.ts.map +1 -0
  147. package/bin/ECS/CoreEvents.js +163 -0
  148. package/bin/ECS/CoreEvents.js.map +1 -0
  149. package/bin/ECS/Decorators/EntityRefDecorator.d.ts +46 -0
  150. package/bin/ECS/Decorators/EntityRefDecorator.d.ts.map +1 -0
  151. package/bin/ECS/Decorators/EntityRefDecorator.js +118 -0
  152. package/bin/ECS/Decorators/EntityRefDecorator.js.map +1 -0
  153. package/bin/ECS/Decorators/PropertyDecorator.d.ts +168 -0
  154. package/bin/ECS/Decorators/PropertyDecorator.d.ts.map +1 -0
  155. package/bin/ECS/Decorators/PropertyDecorator.js +40 -0
  156. package/bin/ECS/Decorators/PropertyDecorator.js.map +1 -0
  157. package/bin/ECS/Decorators/TypeDecorators.d.ts +124 -0
  158. package/bin/ECS/Decorators/TypeDecorators.d.ts.map +1 -0
  159. package/bin/ECS/Decorators/TypeDecorators.js +151 -0
  160. package/bin/ECS/Decorators/TypeDecorators.js.map +1 -0
  161. package/bin/ECS/Decorators/index.d.ts +7 -0
  162. package/bin/ECS/Decorators/index.d.ts.map +1 -0
  163. package/bin/ECS/Decorators/index.js +4 -0
  164. package/bin/ECS/Decorators/index.js.map +1 -0
  165. package/bin/ECS/Entity.d.ts +415 -0
  166. package/bin/ECS/Entity.d.ts.map +1 -0
  167. package/bin/ECS/Entity.js +683 -0
  168. package/bin/ECS/Entity.js.map +1 -0
  169. package/bin/ECS/EntityTags.d.ts +71 -0
  170. package/bin/ECS/EntityTags.d.ts.map +1 -0
  171. package/bin/ECS/EntityTags.js +82 -0
  172. package/bin/ECS/EntityTags.js.map +1 -0
  173. package/bin/ECS/IScene.d.ts +308 -0
  174. package/bin/ECS/IScene.d.ts.map +1 -0
  175. package/bin/ECS/IScene.js +2 -0
  176. package/bin/ECS/IScene.js.map +1 -0
  177. package/bin/ECS/Scene.d.ts +799 -0
  178. package/bin/ECS/Scene.d.ts.map +1 -0
  179. package/bin/ECS/Scene.js +1203 -0
  180. package/bin/ECS/Scene.js.map +1 -0
  181. package/bin/ECS/SceneManager.d.ts +197 -0
  182. package/bin/ECS/SceneManager.d.ts.map +1 -0
  183. package/bin/ECS/SceneManager.js +264 -0
  184. package/bin/ECS/SceneManager.js.map +1 -0
  185. package/bin/ECS/Serialization/ComponentSerializer.d.ts +106 -0
  186. package/bin/ECS/Serialization/ComponentSerializer.d.ts.map +1 -0
  187. package/bin/ECS/Serialization/ComponentSerializer.js +251 -0
  188. package/bin/ECS/Serialization/ComponentSerializer.js.map +1 -0
  189. package/bin/ECS/Serialization/EntitySerializer.d.ts +111 -0
  190. package/bin/ECS/Serialization/EntitySerializer.d.ts.map +1 -0
  191. package/bin/ECS/Serialization/EntitySerializer.js +155 -0
  192. package/bin/ECS/Serialization/EntitySerializer.js.map +1 -0
  193. package/bin/ECS/Serialization/IncrementalSerializer.d.ts +259 -0
  194. package/bin/ECS/Serialization/IncrementalSerializer.d.ts.map +1 -0
  195. package/bin/ECS/Serialization/IncrementalSerializer.js +500 -0
  196. package/bin/ECS/Serialization/IncrementalSerializer.js.map +1 -0
  197. package/bin/ECS/Serialization/SceneSerializer.d.ts +213 -0
  198. package/bin/ECS/Serialization/SceneSerializer.d.ts.map +1 -0
  199. package/bin/ECS/Serialization/SceneSerializer.js +387 -0
  200. package/bin/ECS/Serialization/SceneSerializer.js.map +1 -0
  201. package/bin/ECS/Serialization/SerializationDecorators.d.ts +136 -0
  202. package/bin/ECS/Serialization/SerializationDecorators.d.ts.map +1 -0
  203. package/bin/ECS/Serialization/SerializationDecorators.js +216 -0
  204. package/bin/ECS/Serialization/SerializationDecorators.js.map +1 -0
  205. package/bin/ECS/Serialization/VersionMigration.d.ts +156 -0
  206. package/bin/ECS/Serialization/VersionMigration.d.ts.map +1 -0
  207. package/bin/ECS/Serialization/VersionMigration.js +279 -0
  208. package/bin/ECS/Serialization/VersionMigration.js.map +1 -0
  209. package/bin/ECS/Serialization/index.d.ts +18 -0
  210. package/bin/ECS/Serialization/index.d.ts.map +1 -0
  211. package/bin/ECS/Serialization/index.js +18 -0
  212. package/bin/ECS/Serialization/index.js.map +1 -0
  213. package/bin/ECS/Systems/EntityCache.d.ts +114 -0
  214. package/bin/ECS/Systems/EntityCache.d.ts.map +1 -0
  215. package/bin/ECS/Systems/EntityCache.js +145 -0
  216. package/bin/ECS/Systems/EntityCache.js.map +1 -0
  217. package/bin/ECS/Systems/EntitySystem.d.ts +591 -0
  218. package/bin/ECS/Systems/EntitySystem.d.ts.map +1 -0
  219. package/bin/ECS/Systems/EntitySystem.js +1102 -0
  220. package/bin/ECS/Systems/EntitySystem.js.map +1 -0
  221. package/bin/ECS/Systems/HierarchySystem.d.ts +155 -0
  222. package/bin/ECS/Systems/HierarchySystem.d.ts.map +1 -0
  223. package/bin/ECS/Systems/HierarchySystem.js +498 -0
  224. package/bin/ECS/Systems/HierarchySystem.js.map +1 -0
  225. package/bin/ECS/Systems/IntervalSystem.d.ts +33 -0
  226. package/bin/ECS/Systems/IntervalSystem.d.ts.map +1 -0
  227. package/bin/ECS/Systems/IntervalSystem.js +50 -0
  228. package/bin/ECS/Systems/IntervalSystem.js.map +1 -0
  229. package/bin/ECS/Systems/PassiveSystem.d.ts +17 -0
  230. package/bin/ECS/Systems/PassiveSystem.d.ts.map +1 -0
  231. package/bin/ECS/Systems/PassiveSystem.js +19 -0
  232. package/bin/ECS/Systems/PassiveSystem.js.map +1 -0
  233. package/bin/ECS/Systems/ProcessingSystem.d.ts +21 -0
  234. package/bin/ECS/Systems/ProcessingSystem.d.ts.map +1 -0
  235. package/bin/ECS/Systems/ProcessingSystem.js +20 -0
  236. package/bin/ECS/Systems/ProcessingSystem.js.map +1 -0
  237. package/bin/ECS/Systems/WorkerEntitySystem.d.ts +313 -0
  238. package/bin/ECS/Systems/WorkerEntitySystem.d.ts.map +1 -0
  239. package/bin/ECS/Systems/WorkerEntitySystem.js +792 -0
  240. package/bin/ECS/Systems/WorkerEntitySystem.js.map +1 -0
  241. package/bin/ECS/Systems/index.d.ts +8 -0
  242. package/bin/ECS/Systems/index.d.ts.map +1 -0
  243. package/bin/ECS/Systems/index.js +8 -0
  244. package/bin/ECS/Systems/index.js.map +1 -0
  245. package/bin/ECS/TypedEntity.d.ts +192 -0
  246. package/bin/ECS/TypedEntity.d.ts.map +1 -0
  247. package/bin/ECS/TypedEntity.js +254 -0
  248. package/bin/ECS/TypedEntity.js.map +1 -0
  249. package/bin/ECS/Utils/BigIntCompatibility.d.ts +151 -0
  250. package/bin/ECS/Utils/BigIntCompatibility.d.ts.map +1 -0
  251. package/bin/ECS/Utils/BigIntCompatibility.js +476 -0
  252. package/bin/ECS/Utils/BigIntCompatibility.js.map +1 -0
  253. package/bin/ECS/Utils/BitMaskHashMap.d.ts +28 -0
  254. package/bin/ECS/Utils/BitMaskHashMap.d.ts.map +1 -0
  255. package/bin/ECS/Utils/BitMaskHashMap.js +127 -0
  256. package/bin/ECS/Utils/BitMaskHashMap.js.map +1 -0
  257. package/bin/ECS/Utils/Bits.d.ts +154 -0
  258. package/bin/ECS/Utils/Bits.d.ts.map +1 -0
  259. package/bin/ECS/Utils/Bits.js +331 -0
  260. package/bin/ECS/Utils/Bits.js.map +1 -0
  261. package/bin/ECS/Utils/ComponentSparseSet.d.ts +143 -0
  262. package/bin/ECS/Utils/ComponentSparseSet.d.ts.map +1 -0
  263. package/bin/ECS/Utils/ComponentSparseSet.js +347 -0
  264. package/bin/ECS/Utils/ComponentSparseSet.js.map +1 -0
  265. package/bin/ECS/Utils/EntityList.d.ts +115 -0
  266. package/bin/ECS/Utils/EntityList.d.ts.map +1 -0
  267. package/bin/ECS/Utils/EntityList.js +258 -0
  268. package/bin/ECS/Utils/EntityList.js.map +1 -0
  269. package/bin/ECS/Utils/EntityProcessorList.d.ts +56 -0
  270. package/bin/ECS/Utils/EntityProcessorList.d.ts.map +1 -0
  271. package/bin/ECS/Utils/EntityProcessorList.js +113 -0
  272. package/bin/ECS/Utils/EntityProcessorList.js.map +1 -0
  273. package/bin/ECS/Utils/IdentifierPool.d.ts +203 -0
  274. package/bin/ECS/Utils/IdentifierPool.d.ts.map +1 -0
  275. package/bin/ECS/Utils/IdentifierPool.js +325 -0
  276. package/bin/ECS/Utils/IdentifierPool.js.map +1 -0
  277. package/bin/ECS/Utils/Matcher.d.ts +171 -0
  278. package/bin/ECS/Utils/Matcher.d.ts.map +1 -0
  279. package/bin/ECS/Utils/Matcher.js +293 -0
  280. package/bin/ECS/Utils/Matcher.js.map +1 -0
  281. package/bin/ECS/Utils/SparseSet.d.ts +170 -0
  282. package/bin/ECS/Utils/SparseSet.d.ts.map +1 -0
  283. package/bin/ECS/Utils/SparseSet.js +280 -0
  284. package/bin/ECS/Utils/SparseSet.js.map +1 -0
  285. package/bin/ECS/Utils/index.d.ts +9 -0
  286. package/bin/ECS/Utils/index.d.ts.map +1 -0
  287. package/bin/ECS/Utils/index.js +10 -0
  288. package/bin/ECS/Utils/index.js.map +1 -0
  289. package/bin/ECS/World.d.ts +238 -0
  290. package/bin/ECS/World.d.ts.map +1 -0
  291. package/bin/ECS/World.js +416 -0
  292. package/bin/ECS/World.js.map +1 -0
  293. package/bin/ECS/WorldManager.d.ts +224 -0
  294. package/bin/ECS/WorldManager.d.ts.map +1 -0
  295. package/bin/ECS/WorldManager.js +365 -0
  296. package/bin/ECS/WorldManager.js.map +1 -0
  297. package/bin/ECS/index.d.ts +26 -0
  298. package/bin/ECS/index.d.ts.map +1 -0
  299. package/bin/ECS/index.js +21 -0
  300. package/bin/ECS/index.js.map +1 -0
  301. package/bin/Platform/IPlatformAdapter.d.ts +169 -0
  302. package/bin/Platform/IPlatformAdapter.d.ts.map +1 -0
  303. package/bin/Platform/IPlatformAdapter.js +2 -0
  304. package/bin/Platform/IPlatformAdapter.js.map +1 -0
  305. package/bin/Platform/PlatformDetector.d.ts +56 -0
  306. package/bin/Platform/PlatformDetector.d.ts.map +1 -0
  307. package/bin/Platform/PlatformDetector.js +247 -0
  308. package/bin/Platform/PlatformDetector.js.map +1 -0
  309. package/bin/Platform/PlatformManager.d.ts +50 -0
  310. package/bin/Platform/PlatformManager.d.ts.map +1 -0
  311. package/bin/Platform/PlatformManager.js +114 -0
  312. package/bin/Platform/PlatformManager.js.map +1 -0
  313. package/bin/Platform/index.d.ts +19 -0
  314. package/bin/Platform/index.d.ts.map +1 -0
  315. package/bin/Platform/index.js +29 -0
  316. package/bin/Platform/index.js.map +1 -0
  317. package/bin/Plugins/DebugPlugin.d.ts +156 -0
  318. package/bin/Plugins/DebugPlugin.d.ts.map +1 -0
  319. package/bin/Plugins/DebugPlugin.js +248 -0
  320. package/bin/Plugins/DebugPlugin.js.map +1 -0
  321. package/bin/Plugins/index.d.ts +2 -0
  322. package/bin/Plugins/index.d.ts.map +1 -0
  323. package/bin/Plugins/index.js +2 -0
  324. package/bin/Plugins/index.js.map +1 -0
  325. package/bin/Types/IUpdatable.d.ts +18 -0
  326. package/bin/Types/IUpdatable.d.ts.map +1 -0
  327. package/bin/Types/IUpdatable.js +7 -0
  328. package/bin/Types/IUpdatable.js.map +1 -0
  329. package/bin/Types/TypeHelpers.d.ts +238 -0
  330. package/bin/Types/TypeHelpers.d.ts.map +1 -0
  331. package/bin/Types/TypeHelpers.js +19 -0
  332. package/bin/Types/TypeHelpers.js.map +1 -0
  333. package/bin/Types/index.d.ts +466 -0
  334. package/bin/Types/index.d.ts.map +1 -0
  335. package/bin/Types/index.js +7 -0
  336. package/bin/Types/index.js.map +1 -0
  337. package/bin/Utils/BinarySerializer.d.ts +23 -0
  338. package/bin/Utils/BinarySerializer.d.ts.map +1 -0
  339. package/bin/Utils/BinarySerializer.js +100 -0
  340. package/bin/Utils/BinarySerializer.js.map +1 -0
  341. package/bin/Utils/Debug/AdvancedProfilerCollector.d.ts +153 -0
  342. package/bin/Utils/Debug/AdvancedProfilerCollector.d.ts.map +1 -0
  343. package/bin/Utils/Debug/AdvancedProfilerCollector.js +406 -0
  344. package/bin/Utils/Debug/AdvancedProfilerCollector.js.map +1 -0
  345. package/bin/Utils/Debug/ComponentDataCollector.d.ts +32 -0
  346. package/bin/Utils/Debug/ComponentDataCollector.d.ts.map +1 -0
  347. package/bin/Utils/Debug/ComponentDataCollector.js +250 -0
  348. package/bin/Utils/Debug/ComponentDataCollector.js.map +1 -0
  349. package/bin/Utils/Debug/DebugConfigService.d.ts +16 -0
  350. package/bin/Utils/Debug/DebugConfigService.d.ts.map +1 -0
  351. package/bin/Utils/Debug/DebugConfigService.js +42 -0
  352. package/bin/Utils/Debug/DebugConfigService.js.map +1 -0
  353. package/bin/Utils/Debug/DebugManager.d.ts +131 -0
  354. package/bin/Utils/Debug/DebugManager.d.ts.map +1 -0
  355. package/bin/Utils/Debug/DebugManager.js +848 -0
  356. package/bin/Utils/Debug/DebugManager.js.map +1 -0
  357. package/bin/Utils/Debug/EntityDataCollector.d.ts +115 -0
  358. package/bin/Utils/Debug/EntityDataCollector.d.ts.map +1 -0
  359. package/bin/Utils/Debug/EntityDataCollector.js +870 -0
  360. package/bin/Utils/Debug/EntityDataCollector.js.map +1 -0
  361. package/bin/Utils/Debug/PerformanceDataCollector.d.ts +31 -0
  362. package/bin/Utils/Debug/PerformanceDataCollector.d.ts.map +1 -0
  363. package/bin/Utils/Debug/PerformanceDataCollector.js +203 -0
  364. package/bin/Utils/Debug/PerformanceDataCollector.js.map +1 -0
  365. package/bin/Utils/Debug/SceneDataCollector.d.ts +18 -0
  366. package/bin/Utils/Debug/SceneDataCollector.d.ts.map +1 -0
  367. package/bin/Utils/Debug/SceneDataCollector.js +43 -0
  368. package/bin/Utils/Debug/SceneDataCollector.js.map +1 -0
  369. package/bin/Utils/Debug/SystemDataCollector.d.ts +14 -0
  370. package/bin/Utils/Debug/SystemDataCollector.d.ts.map +1 -0
  371. package/bin/Utils/Debug/SystemDataCollector.js +60 -0
  372. package/bin/Utils/Debug/SystemDataCollector.js.map +1 -0
  373. package/bin/Utils/Debug/WebSocketManager.d.ts +54 -0
  374. package/bin/Utils/Debug/WebSocketManager.d.ts.map +1 -0
  375. package/bin/Utils/Debug/WebSocketManager.js +141 -0
  376. package/bin/Utils/Debug/WebSocketManager.js.map +1 -0
  377. package/bin/Utils/Debug/index.d.ts +11 -0
  378. package/bin/Utils/Debug/index.d.ts.map +1 -0
  379. package/bin/Utils/Debug/index.js +10 -0
  380. package/bin/Utils/Debug/index.js.map +1 -0
  381. package/bin/Utils/Emitter.d.ts +61 -0
  382. package/bin/Utils/Emitter.d.ts.map +1 -0
  383. package/bin/Utils/Emitter.js +101 -0
  384. package/bin/Utils/Emitter.js.map +1 -0
  385. package/bin/Utils/Extensions/NumberExtension.d.ts +13 -0
  386. package/bin/Utils/Extensions/NumberExtension.d.ts.map +1 -0
  387. package/bin/Utils/Extensions/NumberExtension.js +17 -0
  388. package/bin/Utils/Extensions/NumberExtension.js.map +1 -0
  389. package/bin/Utils/Extensions/TypeUtils.d.ts +13 -0
  390. package/bin/Utils/Extensions/TypeUtils.d.ts.map +1 -0
  391. package/bin/Utils/Extensions/TypeUtils.js +15 -0
  392. package/bin/Utils/Extensions/TypeUtils.js.map +1 -0
  393. package/bin/Utils/Extensions/index.d.ts +3 -0
  394. package/bin/Utils/Extensions/index.d.ts.map +1 -0
  395. package/bin/Utils/Extensions/index.js +4 -0
  396. package/bin/Utils/Extensions/index.js.map +1 -0
  397. package/bin/Utils/GlobalManager.d.ts +29 -0
  398. package/bin/Utils/GlobalManager.d.ts.map +1 -0
  399. package/bin/Utils/GlobalManager.js +50 -0
  400. package/bin/Utils/GlobalManager.js.map +1 -0
  401. package/bin/Utils/Logger/ConsoleLogger.d.ts +74 -0
  402. package/bin/Utils/Logger/ConsoleLogger.d.ts.map +1 -0
  403. package/bin/Utils/Logger/ConsoleLogger.js +187 -0
  404. package/bin/Utils/Logger/ConsoleLogger.js.map +1 -0
  405. package/bin/Utils/Logger/Constants.d.ts +36 -0
  406. package/bin/Utils/Logger/Constants.d.ts.map +1 -0
  407. package/bin/Utils/Logger/Constants.js +40 -0
  408. package/bin/Utils/Logger/Constants.js.map +1 -0
  409. package/bin/Utils/Logger/LoggerManager.d.ts +91 -0
  410. package/bin/Utils/Logger/LoggerManager.d.ts.map +1 -0
  411. package/bin/Utils/Logger/LoggerManager.js +167 -0
  412. package/bin/Utils/Logger/LoggerManager.js.map +1 -0
  413. package/bin/Utils/Logger/Types.d.ts +40 -0
  414. package/bin/Utils/Logger/Types.d.ts.map +1 -0
  415. package/bin/Utils/Logger/Types.js +2 -0
  416. package/bin/Utils/Logger/Types.js.map +1 -0
  417. package/bin/Utils/Logger/index.d.ts +5 -0
  418. package/bin/Utils/Logger/index.d.ts.map +1 -0
  419. package/bin/Utils/Logger/index.js +5 -0
  420. package/bin/Utils/Logger/index.js.map +1 -0
  421. package/bin/Utils/PerformanceMonitor.d.ts +196 -0
  422. package/bin/Utils/PerformanceMonitor.d.ts.map +1 -0
  423. package/bin/Utils/PerformanceMonitor.js +244 -0
  424. package/bin/Utils/PerformanceMonitor.js.map +1 -0
  425. package/bin/Utils/Pool/IPoolable.d.ts +29 -0
  426. package/bin/Utils/Pool/IPoolable.d.ts.map +1 -0
  427. package/bin/Utils/Pool/IPoolable.js +2 -0
  428. package/bin/Utils/Pool/IPoolable.js.map +1 -0
  429. package/bin/Utils/Pool/Pool.d.ts +109 -0
  430. package/bin/Utils/Pool/Pool.d.ts.map +1 -0
  431. package/bin/Utils/Pool/Pool.js +238 -0
  432. package/bin/Utils/Pool/Pool.js.map +1 -0
  433. package/bin/Utils/Pool/PoolManager.d.ts +96 -0
  434. package/bin/Utils/Pool/PoolManager.d.ts.map +1 -0
  435. package/bin/Utils/Pool/PoolManager.js +199 -0
  436. package/bin/Utils/Pool/PoolManager.js.map +1 -0
  437. package/bin/Utils/Pool/index.d.ts +4 -0
  438. package/bin/Utils/Pool/index.d.ts.map +1 -0
  439. package/bin/Utils/Pool/index.js +4 -0
  440. package/bin/Utils/Pool/index.js.map +1 -0
  441. package/bin/Utils/Profiler/AutoProfiler.d.ts +160 -0
  442. package/bin/Utils/Profiler/AutoProfiler.d.ts.map +1 -0
  443. package/bin/Utils/Profiler/AutoProfiler.js +503 -0
  444. package/bin/Utils/Profiler/AutoProfiler.js.map +1 -0
  445. package/bin/Utils/Profiler/ProfilerSDK.d.ts +175 -0
  446. package/bin/Utils/Profiler/ProfilerSDK.d.ts.map +1 -0
  447. package/bin/Utils/Profiler/ProfilerSDK.js +727 -0
  448. package/bin/Utils/Profiler/ProfilerSDK.js.map +1 -0
  449. package/bin/Utils/Profiler/ProfilerTypes.d.ts +218 -0
  450. package/bin/Utils/Profiler/ProfilerTypes.d.ts.map +1 -0
  451. package/bin/Utils/Profiler/ProfilerTypes.js +47 -0
  452. package/bin/Utils/Profiler/ProfilerTypes.js.map +1 -0
  453. package/bin/Utils/Profiler/index.d.ts +8 -0
  454. package/bin/Utils/Profiler/index.d.ts.map +1 -0
  455. package/bin/Utils/Profiler/index.js +7 -0
  456. package/bin/Utils/Profiler/index.js.map +1 -0
  457. package/bin/Utils/Time.d.ts +47 -0
  458. package/bin/Utils/Time.d.ts.map +1 -0
  459. package/bin/Utils/Time.js +64 -0
  460. package/bin/Utils/Time.js.map +1 -0
  461. package/bin/Utils/Timers/ITimer.d.ts +16 -0
  462. package/bin/Utils/Timers/ITimer.d.ts.map +1 -0
  463. package/bin/Utils/Timers/ITimer.js +2 -0
  464. package/bin/Utils/Timers/ITimer.js.map +1 -0
  465. package/bin/Utils/Timers/Timer.d.ts +30 -0
  466. package/bin/Utils/Timers/Timer.d.ts.map +1 -0
  467. package/bin/Utils/Timers/Timer.js +58 -0
  468. package/bin/Utils/Timers/Timer.js.map +1 -0
  469. package/bin/Utils/Timers/TimerManager.d.ts +26 -0
  470. package/bin/Utils/Timers/TimerManager.d.ts.map +1 -0
  471. package/bin/Utils/Timers/TimerManager.js +48 -0
  472. package/bin/Utils/Timers/TimerManager.js.map +1 -0
  473. package/bin/Utils/index.d.ts +11 -0
  474. package/bin/Utils/index.d.ts.map +1 -0
  475. package/bin/Utils/index.js +11 -0
  476. package/bin/Utils/index.js.map +1 -0
  477. package/bin/index.d.ts +29 -0
  478. package/bin/index.d.ts.map +1 -0
  479. package/bin/index.js +36 -0
  480. package/bin/index.js.map +1 -0
  481. package/package.json +84 -47
  482. package/index.cjs +0 -2
  483. package/index.cjs.map +0 -1
  484. package/index.d.ts +0 -13129
  485. package/index.es5.js +0 -4
  486. package/index.es5.js.map +0 -1
  487. package/index.mjs +0 -2
  488. package/index.mjs.map +0 -1
  489. package/index.umd.js +0 -4
  490. package/index.umd.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SoAStorage.js","sourceRoot":"","sources":["../../../src/ECS/Core/SoAStorage.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,50 @@
1
+ /**
2
+ * SoA存储器支持的TypedArray类型
3
+ */
4
+ export type SupportedTypedArray = Float32Array | Float64Array | Int32Array | Uint32Array | Int16Array | Uint16Array | Int8Array | Uint8Array | Uint8ClampedArray;
5
+ export type TypedArrayConstructor = typeof Float32Array | typeof Float64Array | typeof Int32Array | typeof Uint32Array | typeof Int16Array | typeof Uint16Array | typeof Int8Array | typeof Uint8Array | typeof Uint8ClampedArray;
6
+ /**
7
+ * TypedArray 类型名称
8
+ */
9
+ export type TypedArrayTypeName = 'float32' | 'float64' | 'int32' | 'uint32' | 'int16' | 'uint16' | 'int8' | 'uint8' | 'uint8clamped';
10
+ /**
11
+ * 字段元数据
12
+ */
13
+ export interface FieldMetadata {
14
+ name: string;
15
+ type: 'number' | 'boolean' | 'string' | 'object';
16
+ arrayType?: TypedArrayTypeName;
17
+ isSerializedMap?: boolean;
18
+ isSerializedSet?: boolean;
19
+ isSerializedArray?: boolean;
20
+ isDeepCopy?: boolean;
21
+ }
22
+ /**
23
+ * SoA 类型注册器
24
+ * 负责类型推断、TypedArray 创建和元数据管理
25
+ */
26
+ export declare class SoATypeRegistry {
27
+ private static readonly TYPE_CONSTRUCTORS;
28
+ private static readonly TYPE_BYTES;
29
+ /**
30
+ * 获取 TypedArray 构造函数
31
+ */
32
+ static getConstructor(typeName: TypedArrayTypeName): TypedArrayConstructor;
33
+ /**
34
+ * 获取每个元素的字节数
35
+ */
36
+ static getBytesPerElement(typeName: TypedArrayTypeName): number;
37
+ /**
38
+ * 从 TypedArray 实例获取类型名称
39
+ */
40
+ static getTypeName(array: SupportedTypedArray): TypedArrayTypeName;
41
+ /**
42
+ * 创建新的 TypedArray(与原数组同类型)
43
+ */
44
+ static createSameType(source: SupportedTypedArray, capacity: number): SupportedTypedArray;
45
+ /**
46
+ * 从组件类型提取字段元数据
47
+ */
48
+ static extractFieldMetadata<T>(componentType: new () => T): Map<string, FieldMetadata>;
49
+ }
50
+ //# sourceMappingURL=SoATypeRegistry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SoATypeRegistry.d.ts","sourceRoot":"","sources":["../../../src/ECS/Core/SoATypeRegistry.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,MAAM,mBAAmB,GACzB,YAAY,GACZ,YAAY,GACZ,UAAU,GACV,WAAW,GACX,UAAU,GACV,WAAW,GACX,SAAS,GACT,UAAU,GACV,iBAAiB,CAAC;AAExB,MAAM,MAAM,qBAAqB,GAC3B,OAAO,YAAY,GACnB,OAAO,YAAY,GACnB,OAAO,UAAU,GACjB,OAAO,WAAW,GAClB,OAAO,UAAU,GACjB,OAAO,WAAW,GAClB,OAAO,SAAS,GAChB,OAAO,UAAU,GACjB,OAAO,iBAAiB,CAAC;AAE/B;;GAEG;AACH,MAAM,MAAM,kBAAkB,GACxB,SAAS,GACT,SAAS,GACT,OAAO,GACP,QAAQ,GACR,OAAO,GACP,QAAQ,GACR,MAAM,GACN,OAAO,GACP,cAAc,CAAC;AAErB;;GAEG;AACH,MAAM,WAAW,aAAa;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,QAAQ,GAAG,SAAS,GAAG,QAAQ,GAAG,QAAQ,CAAC;IACjD,SAAS,CAAC,EAAE,kBAAkB,CAAC;IAC/B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,UAAU,CAAC,EAAE,OAAO,CAAC;CACxB;AAED;;;GAGG;AACH,qBAAa,eAAe;IACxB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,iBAAiB,CAUvC;IAEF,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAUhC;IAEF;;OAEG;WACW,cAAc,CAAC,QAAQ,EAAE,kBAAkB,GAAG,qBAAqB;IAIjF;;OAEG;WACW,kBAAkB,CAAC,QAAQ,EAAE,kBAAkB,GAAG,MAAM;IAItE;;OAEG;WACW,WAAW,CAAC,KAAK,EAAE,mBAAmB,GAAG,kBAAkB;IAazE;;OAEG;WACW,cAAc,CAAC,MAAM,EAAE,mBAAmB,EAAE,QAAQ,EAAE,MAAM,GAAG,mBAAmB;IAMhG;;OAEG;WACW,oBAAoB,CAAC,CAAC,EAChC,aAAa,EAAE,UAAU,CAAC,GAC3B,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC;CAkFhC"}
@@ -0,0 +1,135 @@
1
+ /**
2
+ * SoA 类型注册器
3
+ * 负责类型推断、TypedArray 创建和元数据管理
4
+ */
5
+ export class SoATypeRegistry {
6
+ /**
7
+ * 获取 TypedArray 构造函数
8
+ */
9
+ static getConstructor(typeName) {
10
+ return this.TYPE_CONSTRUCTORS[typeName] || Float32Array;
11
+ }
12
+ /**
13
+ * 获取每个元素的字节数
14
+ */
15
+ static getBytesPerElement(typeName) {
16
+ return this.TYPE_BYTES[typeName] || 4;
17
+ }
18
+ /**
19
+ * 从 TypedArray 实例获取类型名称
20
+ */
21
+ static getTypeName(array) {
22
+ if (array instanceof Float32Array)
23
+ return 'float32';
24
+ if (array instanceof Float64Array)
25
+ return 'float64';
26
+ if (array instanceof Int32Array)
27
+ return 'int32';
28
+ if (array instanceof Uint32Array)
29
+ return 'uint32';
30
+ if (array instanceof Int16Array)
31
+ return 'int16';
32
+ if (array instanceof Uint16Array)
33
+ return 'uint16';
34
+ if (array instanceof Int8Array)
35
+ return 'int8';
36
+ if (array instanceof Uint8Array)
37
+ return 'uint8';
38
+ if (array instanceof Uint8ClampedArray)
39
+ return 'uint8clamped';
40
+ return 'float32';
41
+ }
42
+ /**
43
+ * 创建新的 TypedArray(与原数组同类型)
44
+ */
45
+ static createSameType(source, capacity) {
46
+ const typeName = this.getTypeName(source);
47
+ const Constructor = this.getConstructor(typeName);
48
+ return new Constructor(capacity);
49
+ }
50
+ /**
51
+ * 从组件类型提取字段元数据
52
+ */
53
+ static extractFieldMetadata(componentType) {
54
+ const instance = new componentType();
55
+ const metadata = new Map();
56
+ const typeWithMeta = componentType;
57
+ // 收集装饰器标记
58
+ const decoratorMap = new Map();
59
+ const addDecorators = (fields, type) => {
60
+ if (fields) {
61
+ for (const key of fields)
62
+ decoratorMap.set(key, type);
63
+ }
64
+ };
65
+ addDecorators(typeWithMeta.__float64Fields, 'float64');
66
+ addDecorators(typeWithMeta.__float32Fields, 'float32');
67
+ addDecorators(typeWithMeta.__int32Fields, 'int32');
68
+ addDecorators(typeWithMeta.__uint32Fields, 'uint32');
69
+ addDecorators(typeWithMeta.__int16Fields, 'int16');
70
+ addDecorators(typeWithMeta.__uint16Fields, 'uint16');
71
+ addDecorators(typeWithMeta.__int8Fields, 'int8');
72
+ addDecorators(typeWithMeta.__uint8Fields, 'uint8');
73
+ addDecorators(typeWithMeta.__uint8ClampedFields, 'uint8clamped');
74
+ // 遍历实例属性
75
+ const instanceKeys = Object.keys(instance).filter((key) => key !== 'id');
76
+ for (const key of instanceKeys) {
77
+ const value = instance[key];
78
+ const type = typeof value;
79
+ if (type === 'function')
80
+ continue;
81
+ const fieldMeta = {
82
+ name: key,
83
+ type: type
84
+ };
85
+ const decoratorType = decoratorMap.get(key);
86
+ if (decoratorType) {
87
+ fieldMeta.arrayType = decoratorType;
88
+ }
89
+ else if (type === 'number') {
90
+ fieldMeta.arrayType = 'float32';
91
+ }
92
+ else if (type === 'boolean') {
93
+ fieldMeta.arrayType = 'uint8';
94
+ }
95
+ // 序列化标记
96
+ if (typeWithMeta.__serializeMapFields?.has(key)) {
97
+ fieldMeta.isSerializedMap = true;
98
+ }
99
+ if (typeWithMeta.__serializeSetFields?.has(key)) {
100
+ fieldMeta.isSerializedSet = true;
101
+ }
102
+ if (typeWithMeta.__serializeArrayFields?.has(key)) {
103
+ fieldMeta.isSerializedArray = true;
104
+ }
105
+ if (typeWithMeta.__deepCopyFields?.has(key)) {
106
+ fieldMeta.isDeepCopy = true;
107
+ }
108
+ metadata.set(key, fieldMeta);
109
+ }
110
+ return metadata;
111
+ }
112
+ }
113
+ SoATypeRegistry.TYPE_CONSTRUCTORS = {
114
+ float32: Float32Array,
115
+ float64: Float64Array,
116
+ int32: Int32Array,
117
+ uint32: Uint32Array,
118
+ int16: Int16Array,
119
+ uint16: Uint16Array,
120
+ int8: Int8Array,
121
+ uint8: Uint8Array,
122
+ uint8clamped: Uint8ClampedArray
123
+ };
124
+ SoATypeRegistry.TYPE_BYTES = {
125
+ float32: 4,
126
+ float64: 8,
127
+ int32: 4,
128
+ uint32: 4,
129
+ int16: 2,
130
+ uint16: 2,
131
+ int8: 1,
132
+ uint8: 1,
133
+ uint8clamped: 1
134
+ };
135
+ //# sourceMappingURL=SoATypeRegistry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SoATypeRegistry.js","sourceRoot":"","sources":["../../../src/ECS/Core/SoATypeRegistry.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ export { ComponentPool, ComponentPoolManager } from '../ComponentPool';
2
+ export { ComponentStorage, ComponentRegistry } from '../ComponentStorage';
3
+ export { EnableSoA, Float64, Float32, Int32, SerializeMap, SoAStorage } from '../SoAStorage';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/ECS/Core/Storage/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACvE,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC1E,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC"}
@@ -0,0 +1,4 @@
1
+ export { ComponentPool, ComponentPoolManager } from '../ComponentPool';
2
+ export { ComponentStorage, ComponentRegistry } from '../ComponentStorage';
3
+ export { EnableSoA, Float64, Float32, Int32, SerializeMap, SoAStorage } from '../SoAStorage';
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/ECS/Core/Storage/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACvE,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC1E,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * 统一的存储装饰器导出文件
3
+ *
4
+ * 用户可以从这里导入所有的SoA存储装饰器,而不需要知道内部实现细节
5
+ *
6
+ * @example
7
+ * ```typescript
8
+ * import { EnableSoA, Float32, Int16, Uint8 } from './ECS/Core/StorageDecorators';
9
+ *
10
+ * @EnableSoA
11
+ * class TransformComponent extends Component {
12
+ * @Float32 x: number = 0;
13
+ * @Float32 y: number = 0;
14
+ * @Int16 layer: number = 0;
15
+ * @Uint8 visible: boolean = true;
16
+ * }
17
+ * ```
18
+ */
19
+ export { EnableSoA, Float64, Float32, Int32, Uint32, Int16, Uint16, Int8, Uint8, Uint8Clamped, SerializeMap, SerializeSet, SerializeArray, DeepCopy, SupportedTypedArray } from './SoAStorage';
20
+ //# sourceMappingURL=StorageDecorators.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StorageDecorators.d.ts","sourceRoot":"","sources":["../../../src/ECS/Core/StorageDecorators.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAGH,OAAO,EAEH,SAAS,EAGT,OAAO,EACP,OAAO,EACP,KAAK,EACL,MAAM,EACN,KAAK,EACL,MAAM,EACN,IAAI,EACJ,KAAK,EACL,YAAY,EAGZ,YAAY,EACZ,YAAY,EACZ,cAAc,EACd,QAAQ,EAGR,mBAAmB,EACtB,MAAM,cAAc,CAAC"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * 统一的存储装饰器导出文件
3
+ *
4
+ * 用户可以从这里导入所有的SoA存储装饰器,而不需要知道内部实现细节
5
+ *
6
+ * @example
7
+ * ```typescript
8
+ * import { EnableSoA, Float32, Int16, Uint8 } from './ECS/Core/StorageDecorators';
9
+ *
10
+ * @EnableSoA
11
+ * class TransformComponent extends Component {
12
+ * @Float32 x: number = 0;
13
+ * @Float32 y: number = 0;
14
+ * @Int16 layer: number = 0;
15
+ * @Uint8 visible: boolean = true;
16
+ * }
17
+ * ```
18
+ */
19
+ // 从SoAStorage导入所有装饰器和类型
20
+ export {
21
+ // 启用装饰器
22
+ EnableSoA,
23
+ // 数值类型装饰器
24
+ Float64, Float32, Int32, Uint32, Int16, Uint16, Int8, Uint8, Uint8Clamped,
25
+ // 序列化装饰器
26
+ SerializeMap, SerializeSet, SerializeArray, DeepCopy } from './SoAStorage';
27
+ //# sourceMappingURL=StorageDecorators.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StorageDecorators.js","sourceRoot":"","sources":["../../../src/ECS/Core/StorageDecorators.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,wBAAwB;AACxB,OAAO;AACH,QAAQ;AACR,SAAS;AAET,UAAU;AACV,OAAO,EACP,OAAO,EACP,KAAK,EACL,MAAM,EACN,KAAK,EACL,MAAM,EACN,IAAI,EACJ,KAAK,EACL,YAAY;AAEZ,SAAS;AACT,YAAY,EACZ,YAAY,EACZ,cAAc,EACd,QAAQ,EAIX,MAAM,cAAc,CAAC"}
@@ -0,0 +1,131 @@
1
+ /**
2
+ * ECS事件类型枚举
3
+ * 定义实体组件系统中的所有事件类型
4
+ */
5
+ export declare enum ECSEventType {
6
+ ENTITY_CREATED = "entity:created",
7
+ ENTITY_DESTROYED = "entity:destroyed",
8
+ ENTITY_ENABLED = "entity:enabled",
9
+ ENTITY_DISABLED = "entity:disabled",
10
+ ENTITY_TAG_ADDED = "entity:tag:added",
11
+ ENTITY_TAG_REMOVED = "entity:tag:removed",
12
+ ENTITY_NAME_CHANGED = "entity:name:changed",
13
+ COMPONENT_ADDED = "component:added",
14
+ COMPONENT_REMOVED = "component:removed",
15
+ COMPONENT_MODIFIED = "component:modified",
16
+ COMPONENT_ENABLED = "component:enabled",
17
+ COMPONENT_DISABLED = "component:disabled",
18
+ SYSTEM_ADDED = "system:added",
19
+ SYSTEM_REMOVED = "system:removed",
20
+ SYSTEM_ENABLED = "system:enabled",
21
+ SYSTEM_DISABLED = "system:disabled",
22
+ SYSTEM_PROCESSING_START = "system:processing:start",
23
+ SYSTEM_PROCESSING_END = "system:processing:end",
24
+ SYSTEM_ERROR = "system:error",
25
+ SCENE_CREATED = "scene:created",
26
+ SCENE_DESTROYED = "scene:destroyed",
27
+ SCENE_ACTIVATED = "scene:activated",
28
+ SCENE_DEACTIVATED = "scene:deactivated",
29
+ SCENE_PAUSED = "scene:paused",
30
+ SCENE_RESUMED = "scene:resumed",
31
+ QUERY_EXECUTED = "query:executed",
32
+ QUERY_CACHE_HIT = "query:cache:hit",
33
+ QUERY_CACHE_MISS = "query:cache:miss",
34
+ QUERY_OPTIMIZED = "query:optimized",
35
+ PERFORMANCE_WARNING = "performance:warning",
36
+ PERFORMANCE_CRITICAL = "performance:critical",
37
+ MEMORY_USAGE_HIGH = "memory:usage:high",
38
+ FRAME_RATE_DROP = "frame:rate:drop",
39
+ INDEX_CREATED = "index:created",
40
+ INDEX_UPDATED = "index:updated",
41
+ INDEX_OPTIMIZED = "index:optimized",
42
+ ARCHETYPE_CREATED = "archetype:created",
43
+ ARCHETYPE_ENTITY_ADDED = "archetype:entity:added",
44
+ ARCHETYPE_ENTITY_REMOVED = "archetype:entity:removed",
45
+ DIRTY_MARK_ADDED = "dirty:mark:added",
46
+ DIRTY_BATCH_PROCESSED = "dirty:batch:processed",
47
+ ERROR_OCCURRED = "error:occurred",
48
+ WARNING_ISSUED = "warning:issued",
49
+ FRAMEWORK_INITIALIZED = "framework:initialized",
50
+ FRAMEWORK_SHUTDOWN = "framework:shutdown",
51
+ DEBUG_INFO = "debug:info",
52
+ DEBUG_STATS_UPDATED = "debug:stats:updated"
53
+ }
54
+ /**
55
+ * 事件优先级枚举
56
+ * 定义事件处理的优先级级别
57
+ */
58
+ export declare enum EventPriority {
59
+ LOWEST = 0,
60
+ LOW = 25,
61
+ NORMAL = 50,
62
+ HIGH = 75,
63
+ HIGHEST = 100,
64
+ CRITICAL = 200
65
+ }
66
+ /**
67
+ * 预定义的事件类型常量
68
+ * 提供类型安全的事件类型字符串
69
+ */
70
+ export declare const EVENT_TYPES: {
71
+ readonly ENTITY: {
72
+ readonly CREATED: ECSEventType.ENTITY_CREATED;
73
+ readonly DESTROYED: ECSEventType.ENTITY_DESTROYED;
74
+ readonly ENABLED: ECSEventType.ENTITY_ENABLED;
75
+ readonly DISABLED: ECSEventType.ENTITY_DISABLED;
76
+ readonly TAG_ADDED: ECSEventType.ENTITY_TAG_ADDED;
77
+ readonly TAG_REMOVED: ECSEventType.ENTITY_TAG_REMOVED;
78
+ readonly NAME_CHANGED: ECSEventType.ENTITY_NAME_CHANGED;
79
+ };
80
+ readonly COMPONENT: {
81
+ readonly ADDED: ECSEventType.COMPONENT_ADDED;
82
+ readonly REMOVED: ECSEventType.COMPONENT_REMOVED;
83
+ readonly MODIFIED: ECSEventType.COMPONENT_MODIFIED;
84
+ readonly ENABLED: ECSEventType.COMPONENT_ENABLED;
85
+ readonly DISABLED: ECSEventType.COMPONENT_DISABLED;
86
+ };
87
+ readonly SYSTEM: {
88
+ readonly ADDED: ECSEventType.SYSTEM_ADDED;
89
+ readonly REMOVED: ECSEventType.SYSTEM_REMOVED;
90
+ readonly ENABLED: ECSEventType.SYSTEM_ENABLED;
91
+ readonly DISABLED: ECSEventType.SYSTEM_DISABLED;
92
+ readonly PROCESSING_START: ECSEventType.SYSTEM_PROCESSING_START;
93
+ readonly PROCESSING_END: ECSEventType.SYSTEM_PROCESSING_END;
94
+ readonly ERROR: ECSEventType.SYSTEM_ERROR;
95
+ };
96
+ readonly PERFORMANCE: {
97
+ readonly WARNING: ECSEventType.PERFORMANCE_WARNING;
98
+ readonly CRITICAL: ECSEventType.PERFORMANCE_CRITICAL;
99
+ readonly MEMORY_HIGH: ECSEventType.MEMORY_USAGE_HIGH;
100
+ readonly FRAME_DROP: ECSEventType.FRAME_RATE_DROP;
101
+ };
102
+ };
103
+ /**
104
+ * 事件类型验证器
105
+ * 验证事件类型是否有效
106
+ */
107
+ export declare class EventTypeValidator {
108
+ private static validTypes;
109
+ /**
110
+ * 验证事件类型是否有效
111
+ * @param eventType 事件类型
112
+ * @returns 是否有效
113
+ */
114
+ static isValid(eventType: string): boolean;
115
+ /**
116
+ * 获取所有有效的事件类型
117
+ * @returns 事件类型数组
118
+ */
119
+ static getAllValidTypes(): string[];
120
+ /**
121
+ * 添加自定义事件类型
122
+ * @param eventType 事件类型
123
+ */
124
+ static addCustomType(eventType: string): void;
125
+ /**
126
+ * 移除自定义事件类型
127
+ * @param eventType 事件类型
128
+ */
129
+ static removeCustomType(eventType: string): void;
130
+ }
131
+ //# sourceMappingURL=CoreEvents.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CoreEvents.d.ts","sourceRoot":"","sources":["../../src/ECS/CoreEvents.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,oBAAY,YAAY;IAEpB,cAAc,mBAAmB;IACjC,gBAAgB,qBAAqB;IACrC,cAAc,mBAAmB;IACjC,eAAe,oBAAoB;IACnC,gBAAgB,qBAAqB;IACrC,kBAAkB,uBAAuB;IACzC,mBAAmB,wBAAwB;IAG3C,eAAe,oBAAoB;IACnC,iBAAiB,sBAAsB;IACvC,kBAAkB,uBAAuB;IACzC,iBAAiB,sBAAsB;IACvC,kBAAkB,uBAAuB;IAGzC,YAAY,iBAAiB;IAC7B,cAAc,mBAAmB;IACjC,cAAc,mBAAmB;IACjC,eAAe,oBAAoB;IACnC,uBAAuB,4BAA4B;IACnD,qBAAqB,0BAA0B;IAC/C,YAAY,iBAAiB;IAG7B,aAAa,kBAAkB;IAC/B,eAAe,oBAAoB;IACnC,eAAe,oBAAoB;IACnC,iBAAiB,sBAAsB;IACvC,YAAY,iBAAiB;IAC7B,aAAa,kBAAkB;IAG/B,cAAc,mBAAmB;IACjC,eAAe,oBAAoB;IACnC,gBAAgB,qBAAqB;IACrC,eAAe,oBAAoB;IAGnC,mBAAmB,wBAAwB;IAC3C,oBAAoB,yBAAyB;IAC7C,iBAAiB,sBAAsB;IACvC,eAAe,oBAAoB;IAGnC,aAAa,kBAAkB;IAC/B,aAAa,kBAAkB;IAC/B,eAAe,oBAAoB;IAGnC,iBAAiB,sBAAsB;IACvC,sBAAsB,2BAA2B;IACjD,wBAAwB,6BAA6B;IAGrD,gBAAgB,qBAAqB;IACrC,qBAAqB,0BAA0B;IAG/C,cAAc,mBAAmB;IACjC,cAAc,mBAAmB;IAGjC,qBAAqB,0BAA0B;IAC/C,kBAAkB,uBAAuB;IAGzC,UAAU,eAAe;IACzB,mBAAmB,wBAAwB;CAC9C;AAED;;;GAGG;AACH,oBAAY,aAAa;IACrB,MAAM,IAAI;IACV,GAAG,KAAK;IACR,MAAM,KAAK;IACX,IAAI,KAAK;IACT,OAAO,MAAM;IACb,QAAQ,MAAM;CACjB;AAED;;;GAGG;AACH,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuCd,CAAC;AAEX;;;GAGG;AACH,qBAAa,kBAAkB;IAC3B,OAAO,CAAC,MAAM,CAAC,UAAU,CAMtB;IAEH;;;;OAIG;WACW,OAAO,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAIjD;;;OAGG;WACW,gBAAgB,IAAI,MAAM,EAAE;IAI1C;;;OAGG;WACW,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAIpD;;;OAGG;WACW,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;CAG1D"}
@@ -0,0 +1,163 @@
1
+ /**
2
+ * ECS事件类型枚举
3
+ * 定义实体组件系统中的所有事件类型
4
+ */
5
+ export var ECSEventType;
6
+ (function (ECSEventType) {
7
+ // 实体相关事件
8
+ ECSEventType["ENTITY_CREATED"] = "entity:created";
9
+ ECSEventType["ENTITY_DESTROYED"] = "entity:destroyed";
10
+ ECSEventType["ENTITY_ENABLED"] = "entity:enabled";
11
+ ECSEventType["ENTITY_DISABLED"] = "entity:disabled";
12
+ ECSEventType["ENTITY_TAG_ADDED"] = "entity:tag:added";
13
+ ECSEventType["ENTITY_TAG_REMOVED"] = "entity:tag:removed";
14
+ ECSEventType["ENTITY_NAME_CHANGED"] = "entity:name:changed";
15
+ // 组件相关事件
16
+ ECSEventType["COMPONENT_ADDED"] = "component:added";
17
+ ECSEventType["COMPONENT_REMOVED"] = "component:removed";
18
+ ECSEventType["COMPONENT_MODIFIED"] = "component:modified";
19
+ ECSEventType["COMPONENT_ENABLED"] = "component:enabled";
20
+ ECSEventType["COMPONENT_DISABLED"] = "component:disabled";
21
+ // 系统相关事件
22
+ ECSEventType["SYSTEM_ADDED"] = "system:added";
23
+ ECSEventType["SYSTEM_REMOVED"] = "system:removed";
24
+ ECSEventType["SYSTEM_ENABLED"] = "system:enabled";
25
+ ECSEventType["SYSTEM_DISABLED"] = "system:disabled";
26
+ ECSEventType["SYSTEM_PROCESSING_START"] = "system:processing:start";
27
+ ECSEventType["SYSTEM_PROCESSING_END"] = "system:processing:end";
28
+ ECSEventType["SYSTEM_ERROR"] = "system:error";
29
+ // 场景相关事件
30
+ ECSEventType["SCENE_CREATED"] = "scene:created";
31
+ ECSEventType["SCENE_DESTROYED"] = "scene:destroyed";
32
+ ECSEventType["SCENE_ACTIVATED"] = "scene:activated";
33
+ ECSEventType["SCENE_DEACTIVATED"] = "scene:deactivated";
34
+ ECSEventType["SCENE_PAUSED"] = "scene:paused";
35
+ ECSEventType["SCENE_RESUMED"] = "scene:resumed";
36
+ // 查询相关事件
37
+ ECSEventType["QUERY_EXECUTED"] = "query:executed";
38
+ ECSEventType["QUERY_CACHE_HIT"] = "query:cache:hit";
39
+ ECSEventType["QUERY_CACHE_MISS"] = "query:cache:miss";
40
+ ECSEventType["QUERY_OPTIMIZED"] = "query:optimized";
41
+ // 性能相关事件
42
+ ECSEventType["PERFORMANCE_WARNING"] = "performance:warning";
43
+ ECSEventType["PERFORMANCE_CRITICAL"] = "performance:critical";
44
+ ECSEventType["MEMORY_USAGE_HIGH"] = "memory:usage:high";
45
+ ECSEventType["FRAME_RATE_DROP"] = "frame:rate:drop";
46
+ // 索引相关事件
47
+ ECSEventType["INDEX_CREATED"] = "index:created";
48
+ ECSEventType["INDEX_UPDATED"] = "index:updated";
49
+ ECSEventType["INDEX_OPTIMIZED"] = "index:optimized";
50
+ // Archetype相关事件
51
+ ECSEventType["ARCHETYPE_CREATED"] = "archetype:created";
52
+ ECSEventType["ARCHETYPE_ENTITY_ADDED"] = "archetype:entity:added";
53
+ ECSEventType["ARCHETYPE_ENTITY_REMOVED"] = "archetype:entity:removed";
54
+ // 脏标记相关事件
55
+ ECSEventType["DIRTY_MARK_ADDED"] = "dirty:mark:added";
56
+ ECSEventType["DIRTY_BATCH_PROCESSED"] = "dirty:batch:processed";
57
+ // 错误和警告事件
58
+ ECSEventType["ERROR_OCCURRED"] = "error:occurred";
59
+ ECSEventType["WARNING_ISSUED"] = "warning:issued";
60
+ // 生命周期事件
61
+ ECSEventType["FRAMEWORK_INITIALIZED"] = "framework:initialized";
62
+ ECSEventType["FRAMEWORK_SHUTDOWN"] = "framework:shutdown";
63
+ // 调试相关事件
64
+ ECSEventType["DEBUG_INFO"] = "debug:info";
65
+ ECSEventType["DEBUG_STATS_UPDATED"] = "debug:stats:updated";
66
+ })(ECSEventType || (ECSEventType = {}));
67
+ /**
68
+ * 事件优先级枚举
69
+ * 定义事件处理的优先级级别
70
+ */
71
+ export var EventPriority;
72
+ (function (EventPriority) {
73
+ EventPriority[EventPriority["LOWEST"] = 0] = "LOWEST";
74
+ EventPriority[EventPriority["LOW"] = 25] = "LOW";
75
+ EventPriority[EventPriority["NORMAL"] = 50] = "NORMAL";
76
+ EventPriority[EventPriority["HIGH"] = 75] = "HIGH";
77
+ EventPriority[EventPriority["HIGHEST"] = 100] = "HIGHEST";
78
+ EventPriority[EventPriority["CRITICAL"] = 200] = "CRITICAL";
79
+ })(EventPriority || (EventPriority = {}));
80
+ /**
81
+ * 预定义的事件类型常量
82
+ * 提供类型安全的事件类型字符串
83
+ */
84
+ export const EVENT_TYPES = {
85
+ // 实体事件
86
+ ENTITY: {
87
+ CREATED: ECSEventType.ENTITY_CREATED,
88
+ DESTROYED: ECSEventType.ENTITY_DESTROYED,
89
+ ENABLED: ECSEventType.ENTITY_ENABLED,
90
+ DISABLED: ECSEventType.ENTITY_DISABLED,
91
+ TAG_ADDED: ECSEventType.ENTITY_TAG_ADDED,
92
+ TAG_REMOVED: ECSEventType.ENTITY_TAG_REMOVED,
93
+ NAME_CHANGED: ECSEventType.ENTITY_NAME_CHANGED
94
+ },
95
+ // 组件事件
96
+ COMPONENT: {
97
+ ADDED: ECSEventType.COMPONENT_ADDED,
98
+ REMOVED: ECSEventType.COMPONENT_REMOVED,
99
+ MODIFIED: ECSEventType.COMPONENT_MODIFIED,
100
+ ENABLED: ECSEventType.COMPONENT_ENABLED,
101
+ DISABLED: ECSEventType.COMPONENT_DISABLED
102
+ },
103
+ // 系统事件
104
+ SYSTEM: {
105
+ ADDED: ECSEventType.SYSTEM_ADDED,
106
+ REMOVED: ECSEventType.SYSTEM_REMOVED,
107
+ ENABLED: ECSEventType.SYSTEM_ENABLED,
108
+ DISABLED: ECSEventType.SYSTEM_DISABLED,
109
+ PROCESSING_START: ECSEventType.SYSTEM_PROCESSING_START,
110
+ PROCESSING_END: ECSEventType.SYSTEM_PROCESSING_END,
111
+ ERROR: ECSEventType.SYSTEM_ERROR
112
+ },
113
+ // 性能事件
114
+ PERFORMANCE: {
115
+ WARNING: ECSEventType.PERFORMANCE_WARNING,
116
+ CRITICAL: ECSEventType.PERFORMANCE_CRITICAL,
117
+ MEMORY_HIGH: ECSEventType.MEMORY_USAGE_HIGH,
118
+ FRAME_DROP: ECSEventType.FRAME_RATE_DROP
119
+ }
120
+ };
121
+ /**
122
+ * 事件类型验证器
123
+ * 验证事件类型是否有效
124
+ */
125
+ export class EventTypeValidator {
126
+ /**
127
+ * 验证事件类型是否有效
128
+ * @param eventType 事件类型
129
+ * @returns 是否有效
130
+ */
131
+ static isValid(eventType) {
132
+ return this.validTypes.has(eventType);
133
+ }
134
+ /**
135
+ * 获取所有有效的事件类型
136
+ * @returns 事件类型数组
137
+ */
138
+ static getAllValidTypes() {
139
+ return Array.from(this.validTypes);
140
+ }
141
+ /**
142
+ * 添加自定义事件类型
143
+ * @param eventType 事件类型
144
+ */
145
+ static addCustomType(eventType) {
146
+ this.validTypes.add(eventType);
147
+ }
148
+ /**
149
+ * 移除自定义事件类型
150
+ * @param eventType 事件类型
151
+ */
152
+ static removeCustomType(eventType) {
153
+ this.validTypes.delete(eventType);
154
+ }
155
+ }
156
+ EventTypeValidator.validTypes = new Set([
157
+ ...Object.values(ECSEventType),
158
+ ...Object.values(EVENT_TYPES.ENTITY),
159
+ ...Object.values(EVENT_TYPES.COMPONENT),
160
+ ...Object.values(EVENT_TYPES.SYSTEM),
161
+ ...Object.values(EVENT_TYPES.PERFORMANCE)
162
+ ]);
163
+ //# sourceMappingURL=CoreEvents.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CoreEvents.js","sourceRoot":"","sources":["../../src/ECS/CoreEvents.ts"],"names":[],"mappings":"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"}