@esengine/ecs-framework 2.2.20 → 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 (491) 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/LICENSE +0 -21
  483. package/index.cjs +0 -2
  484. package/index.cjs.map +0 -1
  485. package/index.d.ts +0 -13021
  486. package/index.es5.js +0 -4
  487. package/index.es5.js.map +0 -1
  488. package/index.mjs +0 -2
  489. package/index.mjs.map +0 -1
  490. package/index.umd.js +0 -4
  491. package/index.umd.js.map +0 -1
@@ -0,0 +1,247 @@
1
+ /**
2
+ * 平台检测器
3
+ * 自动检测当前运行环境并返回对应的平台信息
4
+ */
5
+ export class PlatformDetector {
6
+ /**
7
+ * 检测当前平台
8
+ */
9
+ static detect() {
10
+ const features = [];
11
+ let platform = 'unknown';
12
+ let confident = false;
13
+ let adapterClass;
14
+ // 检查全局对象和API
15
+ if (typeof globalThis !== 'undefined') {
16
+ features.push('globalThis');
17
+ }
18
+ if (typeof window !== 'undefined') {
19
+ features.push('window');
20
+ }
21
+ if (typeof self !== 'undefined') {
22
+ features.push('self');
23
+ }
24
+ // 检测Node.js环境(优先级最高,因为Node.js可能包含全局对象模拟)
25
+ if (this.isNodeJS()) {
26
+ platform = 'nodejs';
27
+ confident = true;
28
+ adapterClass = 'NodeAdapter';
29
+ features.push('nodejs', 'process', 'require');
30
+ }
31
+ // 检测微信小游戏环境
32
+ else if (this.isWeChatMiniGame()) {
33
+ platform = 'wechat-minigame';
34
+ confident = true;
35
+ adapterClass = 'WeChatMiniGameAdapter';
36
+ features.push('wx', 'wechat-minigame');
37
+ }
38
+ // 检测字节跳动小游戏环境
39
+ else if (this.isByteDanceMiniGame()) {
40
+ platform = 'bytedance-minigame';
41
+ confident = true;
42
+ adapterClass = 'ByteDanceMiniGameAdapter';
43
+ features.push('tt', 'bytedance-minigame');
44
+ }
45
+ // 检测支付宝小游戏环境
46
+ else if (this.isAlipayMiniGame()) {
47
+ platform = 'alipay-minigame';
48
+ confident = true;
49
+ adapterClass = 'AlipayMiniGameAdapter';
50
+ features.push('my', 'alipay-minigame');
51
+ }
52
+ // 检测百度小游戏环境
53
+ else if (this.isBaiduMiniGame()) {
54
+ platform = 'baidu-minigame';
55
+ confident = true;
56
+ adapterClass = 'BaiduMiniGameAdapter';
57
+ features.push('swan', 'baidu-minigame');
58
+ }
59
+ // 检测浏览器环境
60
+ else if (this.isBrowser()) {
61
+ platform = 'browser';
62
+ confident = true;
63
+ adapterClass = 'BrowserAdapter';
64
+ features.push('browser');
65
+ }
66
+ // 添加功能检测特征
67
+ if (typeof Worker !== 'undefined') {
68
+ features.push('Worker');
69
+ }
70
+ if (typeof SharedArrayBuffer !== 'undefined') {
71
+ features.push('SharedArrayBuffer');
72
+ }
73
+ if (typeof navigator !== 'undefined' && navigator.hardwareConcurrency) {
74
+ features.push('hardwareConcurrency');
75
+ }
76
+ if (typeof performance !== 'undefined' && typeof performance.now === 'function') {
77
+ features.push('performance.now');
78
+ }
79
+ if (typeof Blob !== 'undefined') {
80
+ features.push('Blob');
81
+ }
82
+ if (typeof URL !== 'undefined' && typeof URL.createObjectURL === 'function') {
83
+ features.push('URL.createObjectURL');
84
+ }
85
+ return {
86
+ platform,
87
+ confident,
88
+ features,
89
+ ...(adapterClass && { adapterClass })
90
+ };
91
+ }
92
+ /**
93
+ * 检测是否为微信小游戏环境
94
+ */
95
+ static isWeChatMiniGame() {
96
+ // 检查wx全局对象
97
+ if (typeof globalThis.wx !== 'undefined') {
98
+ const wx = globalThis.wx;
99
+ // 检查微信小游戏特有的API
100
+ return !!(wx.getSystemInfo && wx.createCanvas && wx.createImage);
101
+ }
102
+ return false;
103
+ }
104
+ /**
105
+ * 检测是否为字节跳动小游戏环境
106
+ */
107
+ static isByteDanceMiniGame() {
108
+ // 检查tt全局对象
109
+ if (typeof globalThis.tt !== 'undefined') {
110
+ const tt = globalThis.tt;
111
+ // 检查字节跳动小游戏特有的API
112
+ return !!(tt.getSystemInfo && tt.createCanvas && tt.createImage);
113
+ }
114
+ return false;
115
+ }
116
+ /**
117
+ * 检测是否为Node.js环境
118
+ */
119
+ static isNodeJS() {
120
+ try {
121
+ // 检查Node.js特有的全局对象和模块
122
+ return !!(typeof process !== 'undefined' &&
123
+ process.versions &&
124
+ process.versions.node &&
125
+ typeof require !== 'undefined' &&
126
+ typeof module !== 'undefined' &&
127
+ typeof exports !== 'undefined' &&
128
+ // 确保不是在浏览器环境中的Node.js模拟
129
+ typeof window === 'undefined' &&
130
+ typeof document === 'undefined');
131
+ }
132
+ catch {
133
+ return false;
134
+ }
135
+ }
136
+ /**
137
+ * 检测是否为支付宝小游戏环境
138
+ */
139
+ static isAlipayMiniGame() {
140
+ // 检查my全局对象
141
+ if (typeof globalThis.my !== 'undefined') {
142
+ const my = globalThis.my;
143
+ // 检查支付宝小游戏特有的API
144
+ return !!(my.getSystemInfo && my.createCanvas);
145
+ }
146
+ return false;
147
+ }
148
+ /**
149
+ * 检测是否为百度小游戏环境
150
+ */
151
+ static isBaiduMiniGame() {
152
+ // 检查swan全局对象
153
+ if (typeof globalThis.swan !== 'undefined') {
154
+ const swan = globalThis.swan;
155
+ // 检查百度小游戏特有的API
156
+ return !!(swan.getSystemInfo && swan.createCanvas);
157
+ }
158
+ return false;
159
+ }
160
+ /**
161
+ * 检测是否为浏览器环境
162
+ */
163
+ static isBrowser() {
164
+ // 检查浏览器特有的对象和API
165
+ return typeof window !== 'undefined' &&
166
+ typeof document !== 'undefined' &&
167
+ typeof navigator !== 'undefined' &&
168
+ window.location !== undefined;
169
+ }
170
+ /**
171
+ * 检测是否在 Tauri 桌面环境中运行
172
+ * Check if running in Tauri desktop environment
173
+ *
174
+ * 同时支持 Tauri v1 (__TAURI__) 和 v2 (__TAURI_INTERNALS__)
175
+ * Supports both Tauri v1 (__TAURI__) and v2 (__TAURI_INTERNALS__)
176
+ */
177
+ static isTauriEnvironment() {
178
+ if (typeof window === 'undefined') {
179
+ return false;
180
+ }
181
+ // Tauri v1 uses __TAURI__, Tauri v2 uses __TAURI_INTERNALS__
182
+ return '__TAURI__' in window || '__TAURI_INTERNALS__' in window;
183
+ }
184
+ /**
185
+ * 检测是否在编辑器环境中运行
186
+ * Check if running in editor environment
187
+ *
188
+ * 包括 Tauri 桌面应用或带 __ESENGINE_EDITOR__ 标记的环境
189
+ * Includes Tauri desktop app or environments marked with __ESENGINE_EDITOR__
190
+ */
191
+ static isEditorEnvironment() {
192
+ if (typeof window === 'undefined') {
193
+ return false;
194
+ }
195
+ // Tauri desktop app | Tauri 桌面应用
196
+ if (this.isTauriEnvironment()) {
197
+ return true;
198
+ }
199
+ // Editor marker | 编辑器标记
200
+ if ('__ESENGINE_EDITOR__' in window) {
201
+ return true;
202
+ }
203
+ return false;
204
+ }
205
+ /**
206
+ * 获取详细的环境信息(用于调试)
207
+ */
208
+ static getDetailedInfo() {
209
+ const info = {};
210
+ // 基础检测
211
+ info['userAgent'] = typeof navigator !== 'undefined' ? navigator.userAgent : 'unknown';
212
+ info['platform'] = typeof navigator !== 'undefined' ? navigator.platform : 'unknown';
213
+ // 全局对象检测
214
+ info['globalObjects'] = {
215
+ window: typeof window !== 'undefined',
216
+ document: typeof document !== 'undefined',
217
+ navigator: typeof navigator !== 'undefined',
218
+ wx: typeof globalThis.wx !== 'undefined',
219
+ tt: typeof globalThis.tt !== 'undefined',
220
+ my: typeof globalThis.my !== 'undefined',
221
+ swan: typeof globalThis.swan !== 'undefined'
222
+ };
223
+ // Worker相关检测
224
+ info['workerSupport'] = {
225
+ Worker: typeof Worker !== 'undefined',
226
+ SharedWorker: typeof SharedWorker !== 'undefined',
227
+ ServiceWorker: typeof navigator !== 'undefined' && 'serviceWorker' in navigator,
228
+ SharedArrayBuffer: typeof SharedArrayBuffer !== 'undefined',
229
+ crossOriginIsolated: typeof self !== 'undefined' ? self.crossOriginIsolated : false
230
+ };
231
+ // 性能相关检测
232
+ info['performance'] = {
233
+ performanceNow: typeof performance !== 'undefined' && typeof performance.now === 'function',
234
+ hardwareConcurrency: typeof navigator !== 'undefined' ? navigator.hardwareConcurrency : undefined
235
+ };
236
+ // 其他API检测
237
+ info['apiSupport'] = {
238
+ Blob: typeof Blob !== 'undefined',
239
+ URL: typeof URL !== 'undefined',
240
+ createObjectURL: typeof URL !== 'undefined' && typeof URL.createObjectURL === 'function',
241
+ ArrayBuffer: typeof ArrayBuffer !== 'undefined',
242
+ TypedArrays: typeof Float32Array !== 'undefined'
243
+ };
244
+ return info;
245
+ }
246
+ }
247
+ //# sourceMappingURL=PlatformDetector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PlatformDetector.js","sourceRoot":"","sources":["../../src/Platform/PlatformDetector.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,50 @@
1
+ import type { IPlatformAdapter } from './IPlatformAdapter';
2
+ /**
3
+ * 平台管理器
4
+ * 用户需要手动注册平台适配器
5
+ */
6
+ export declare class PlatformManager {
7
+ private static instance;
8
+ private adapter;
9
+ private readonly logger;
10
+ private constructor();
11
+ /**
12
+ * 获取单例实例
13
+ */
14
+ static getInstance(): PlatformManager;
15
+ /**
16
+ * 获取当前平台适配器
17
+ */
18
+ getAdapter(): IPlatformAdapter;
19
+ /**
20
+ * 注册平台适配器
21
+ */
22
+ registerAdapter(adapter: IPlatformAdapter): void;
23
+ /**
24
+ * 检查是否已注册适配器
25
+ */
26
+ hasAdapter(): boolean;
27
+ /**
28
+ * 获取平台适配器信息(用于调试)
29
+ */
30
+ getAdapterInfo(): any;
31
+ /**
32
+ * 检查当前平台是否支持特定功能
33
+ */
34
+ supportsFeature(feature: 'worker' | 'shared-array-buffer' | 'transferable-objects' | 'module-worker'): boolean;
35
+ /**
36
+ * 获取基础的Worker配置信息(不做自动决策)
37
+ * 用户应该根据自己的业务需求来配置Worker参数
38
+ */
39
+ getBasicWorkerConfig(): {
40
+ platformSupportsWorker: boolean;
41
+ platformSupportsSharedArrayBuffer: boolean;
42
+ platformMaxWorkerCount: number;
43
+ platformLimitations: any;
44
+ };
45
+ /**
46
+ * 异步获取完整的平台配置信息(包含性能信息)
47
+ */
48
+ getFullPlatformConfig(): Promise<any>;
49
+ }
50
+ //# sourceMappingURL=PlatformManager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PlatformManager.d.ts","sourceRoot":"","sources":["../../src/Platform/PlatformManager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAG3D;;;GAGG;AACH,qBAAa,eAAe;IACxB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAkB;IACzC,OAAO,CAAC,OAAO,CAAiC;IAChD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAU;IAEjC,OAAO;IAIP;;OAEG;WACW,WAAW,IAAI,eAAe;IAO5C;;OAEG;IACI,UAAU,IAAI,gBAAgB;IAOrC;;OAEG;IACI,eAAe,CAAC,OAAO,EAAE,gBAAgB,GAAG,IAAI;IAWvD;;OAEG;IACI,UAAU,IAAI,OAAO;IAK5B;;OAEG;IACI,cAAc,IAAI,GAAG;IAQ5B;;OAEG;IACI,eAAe,CAAC,OAAO,EAAE,QAAQ,GAAG,qBAAqB,GAAG,sBAAsB,GAAG,eAAe,GAAG,OAAO;IAmBrH;;;OAGG;IACI,oBAAoB,IAAI;QAC3B,sBAAsB,EAAE,OAAO,CAAC;QAChC,iCAAiC,EAAE,OAAO,CAAC;QAC3C,sBAAsB,EAAE,MAAM,CAAC;QAC/B,mBAAmB,EAAE,GAAG,CAAC;KACxB;IAoBL;;OAEG;IACU,qBAAqB,IAAI,OAAO,CAAC,GAAG,CAAC;CAarD"}
@@ -0,0 +1,114 @@
1
+ import { createLogger } from '../Utils/Logger';
2
+ /**
3
+ * 平台管理器
4
+ * 用户需要手动注册平台适配器
5
+ */
6
+ export class PlatformManager {
7
+ constructor() {
8
+ this.adapter = null;
9
+ this.logger = createLogger('PlatformManager');
10
+ }
11
+ /**
12
+ * 获取单例实例
13
+ */
14
+ static getInstance() {
15
+ if (!PlatformManager.instance) {
16
+ PlatformManager.instance = new PlatformManager();
17
+ }
18
+ return PlatformManager.instance;
19
+ }
20
+ /**
21
+ * 获取当前平台适配器
22
+ */
23
+ getAdapter() {
24
+ if (!this.adapter) {
25
+ throw new Error('平台适配器未注册,请调用 registerAdapter() 注册适配器');
26
+ }
27
+ return this.adapter;
28
+ }
29
+ /**
30
+ * 注册平台适配器
31
+ */
32
+ registerAdapter(adapter) {
33
+ this.adapter = adapter;
34
+ this.logger.info(`平台适配器已注册: ${adapter.name}`, {
35
+ name: adapter.name,
36
+ version: adapter.version,
37
+ supportsWorker: adapter.isWorkerSupported(),
38
+ supportsSharedArrayBuffer: adapter.isSharedArrayBufferSupported(),
39
+ hardwareConcurrency: adapter.getHardwareConcurrency()
40
+ });
41
+ }
42
+ /**
43
+ * 检查是否已注册适配器
44
+ */
45
+ hasAdapter() {
46
+ return this.adapter !== null;
47
+ }
48
+ /**
49
+ * 获取平台适配器信息(用于调试)
50
+ */
51
+ getAdapterInfo() {
52
+ return this.adapter ? {
53
+ name: this.adapter.name,
54
+ version: this.adapter.version,
55
+ config: this.adapter.getPlatformConfig()
56
+ } : null;
57
+ }
58
+ /**
59
+ * 检查当前平台是否支持特定功能
60
+ */
61
+ supportsFeature(feature) {
62
+ if (!this.adapter)
63
+ return false;
64
+ const config = this.adapter.getPlatformConfig();
65
+ switch (feature) {
66
+ case 'worker':
67
+ return this.adapter.isWorkerSupported();
68
+ case 'shared-array-buffer':
69
+ return this.adapter.isSharedArrayBufferSupported();
70
+ case 'transferable-objects':
71
+ return config.supportsTransferableObjects;
72
+ case 'module-worker':
73
+ return config.supportsModuleWorker;
74
+ default:
75
+ return false;
76
+ }
77
+ }
78
+ /**
79
+ * 获取基础的Worker配置信息(不做自动决策)
80
+ * 用户应该根据自己的业务需求来配置Worker参数
81
+ */
82
+ getBasicWorkerConfig() {
83
+ if (!this.adapter) {
84
+ return {
85
+ platformSupportsWorker: false,
86
+ platformSupportsSharedArrayBuffer: false,
87
+ platformMaxWorkerCount: 1,
88
+ platformLimitations: {}
89
+ };
90
+ }
91
+ const config = this.adapter.getPlatformConfig();
92
+ return {
93
+ platformSupportsWorker: this.adapter.isWorkerSupported(),
94
+ platformSupportsSharedArrayBuffer: this.adapter.isSharedArrayBufferSupported(),
95
+ platformMaxWorkerCount: config.maxWorkerCount,
96
+ platformLimitations: config.limitations || {}
97
+ };
98
+ }
99
+ /**
100
+ * 异步获取完整的平台配置信息(包含性能信息)
101
+ */
102
+ async getFullPlatformConfig() {
103
+ if (!this.adapter) {
104
+ throw new Error('平台适配器未注册');
105
+ }
106
+ // 如果适配器支持异步获取配置,使用异步方法
107
+ if (typeof this.adapter.getPlatformConfigAsync === 'function') {
108
+ return await this.adapter.getPlatformConfigAsync();
109
+ }
110
+ // 否则返回同步配置
111
+ return this.adapter.getPlatformConfig();
112
+ }
113
+ }
114
+ //# sourceMappingURL=PlatformManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PlatformManager.js","sourceRoot":"","sources":["../../src/Platform/PlatformManager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * 平台适配模块导出
3
+ */
4
+ export type { IPlatformAdapter, PlatformWorker, WorkerCreationOptions, PlatformConfig, PlatformDetectionResult } from './IPlatformAdapter';
5
+ export { PlatformDetector } from './PlatformDetector';
6
+ export { PlatformManager } from './PlatformManager';
7
+ import type { IPlatformAdapter } from './IPlatformAdapter';
8
+ export declare function registerPlatformAdapter(adapter: IPlatformAdapter): void;
9
+ export declare function getCurrentAdapter(): IPlatformAdapter;
10
+ export declare function getBasicWorkerConfig(): {
11
+ platformSupportsWorker: boolean;
12
+ platformSupportsSharedArrayBuffer: boolean;
13
+ platformMaxWorkerCount: number;
14
+ platformLimitations: any;
15
+ };
16
+ export declare function getFullPlatformConfig(): Promise<any>;
17
+ export declare function supportsFeature(feature: 'worker' | 'shared-array-buffer' | 'transferable-objects' | 'module-worker'): boolean;
18
+ export declare function hasAdapter(): boolean;
19
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/Platform/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,YAAY,EACR,gBAAgB,EAChB,cAAc,EACd,qBAAqB,EACrB,cAAc,EACd,uBAAuB,EAC1B,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAGtD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAIpD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAG3D,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,gBAAgB,QAEhE;AAED,wBAAgB,iBAAiB,qBAEhC;AAED,wBAAgB,oBAAoB;;;;;EAEnC;AAED,wBAAgB,qBAAqB,iBAEpC;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE,QAAQ,GAAG,qBAAqB,GAAG,sBAAsB,GAAG,eAAe,WAEnH;AAED,wBAAgB,UAAU,YAEzB"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * 平台适配模块导出
3
+ */
4
+ // 平台检测器
5
+ export { PlatformDetector } from './PlatformDetector';
6
+ // 平台管理器
7
+ export { PlatformManager } from './PlatformManager';
8
+ // 内部导入用于便利函数
9
+ import { PlatformManager } from './PlatformManager';
10
+ // 便利函数
11
+ export function registerPlatformAdapter(adapter) {
12
+ return PlatformManager.getInstance().registerAdapter(adapter);
13
+ }
14
+ export function getCurrentAdapter() {
15
+ return PlatformManager.getInstance().getAdapter();
16
+ }
17
+ export function getBasicWorkerConfig() {
18
+ return PlatformManager.getInstance().getBasicWorkerConfig();
19
+ }
20
+ export function getFullPlatformConfig() {
21
+ return PlatformManager.getInstance().getFullPlatformConfig();
22
+ }
23
+ export function supportsFeature(feature) {
24
+ return PlatformManager.getInstance().supportsFeature(feature);
25
+ }
26
+ export function hasAdapter() {
27
+ return PlatformManager.getInstance().hasAdapter();
28
+ }
29
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/Platform/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAWH,QAAQ;AACR,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,QAAQ;AACR,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,aAAa;AACb,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAGpD,OAAO;AACP,MAAM,UAAU,uBAAuB,CAAC,OAAyB;IAC7D,OAAO,eAAe,CAAC,WAAW,EAAE,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;AAClE,CAAC;AAED,MAAM,UAAU,iBAAiB;IAC7B,OAAO,eAAe,CAAC,WAAW,EAAE,CAAC,UAAU,EAAE,CAAC;AACtD,CAAC;AAED,MAAM,UAAU,oBAAoB;IAChC,OAAO,eAAe,CAAC,WAAW,EAAE,CAAC,oBAAoB,EAAE,CAAC;AAChE,CAAC;AAED,MAAM,UAAU,qBAAqB;IACjC,OAAO,eAAe,CAAC,WAAW,EAAE,CAAC,qBAAqB,EAAE,CAAC;AACjE,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,OAAoF;IAChH,OAAO,eAAe,CAAC,WAAW,EAAE,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;AAClE,CAAC;AAED,MAAM,UAAU,UAAU;IACtB,OAAO,eAAe,CAAC,WAAW,EAAE,CAAC,UAAU,EAAE,CAAC;AACtD,CAAC"}
@@ -0,0 +1,156 @@
1
+ import type { Core } from '../Core';
2
+ import type { ServiceContainer } from '../Core/ServiceContainer';
3
+ import { IPlugin } from '../Core/Plugin';
4
+ import type { IScene } from '../ECS/IScene';
5
+ import type { Entity } from '../ECS/Entity';
6
+ import type { IService } from '../Core/ServiceContainer';
7
+ /**
8
+ * ECS 调试插件统计信息
9
+ */
10
+ export interface ECSDebugStats {
11
+ scenes: SceneDebugInfo[];
12
+ totalEntities: number;
13
+ totalSystems: number;
14
+ timestamp: number;
15
+ }
16
+ /**
17
+ * 场景调试信息
18
+ */
19
+ export interface SceneDebugInfo {
20
+ name: string;
21
+ entityCount: number;
22
+ systems: SystemDebugInfo[];
23
+ entities: EntityDebugInfo[];
24
+ }
25
+ /**
26
+ * 系统调试信息
27
+ */
28
+ export interface SystemDebugInfo {
29
+ name: string;
30
+ enabled: boolean;
31
+ updateOrder: number;
32
+ entityCount: number;
33
+ performance?: {
34
+ avgExecutionTime: number;
35
+ maxExecutionTime: number;
36
+ totalCalls: number;
37
+ };
38
+ }
39
+ /**
40
+ * 实体调试信息
41
+ */
42
+ export interface EntityDebugInfo {
43
+ id: number;
44
+ name: string;
45
+ enabled: boolean;
46
+ tag: number;
47
+ componentCount: number;
48
+ components: ComponentDebugInfo[];
49
+ }
50
+ /**
51
+ * 组件调试信息
52
+ */
53
+ export interface ComponentDebugInfo {
54
+ type: string;
55
+ data: any;
56
+ }
57
+ /**
58
+ * ECS 调试插件
59
+ *
60
+ * 提供运行时调试功能:
61
+ * - 实时查看实体和组件信息
62
+ * - System 执行统计
63
+ * - 性能监控
64
+ * - 实体查询
65
+ *
66
+ * @example
67
+ * ```typescript
68
+ * const core = Core.create();
69
+ * const debugPlugin = new DebugPlugin({ autoStart: true, updateInterval: 1000 });
70
+ * await core.pluginManager.install(debugPlugin);
71
+ *
72
+ * // 获取调试信息
73
+ * const stats = debugPlugin.getStats();
74
+ * console.log('Total entities:', stats.totalEntities);
75
+ *
76
+ * // 查询实体
77
+ * const entities = debugPlugin.queryEntities({ tag: 1 });
78
+ * ```
79
+ */
80
+ export declare class DebugPlugin implements IPlugin, IService {
81
+ readonly name = "@esengine/debug-plugin";
82
+ readonly version = "1.0.0";
83
+ private worldManager;
84
+ private updateInterval;
85
+ private updateTimer;
86
+ private autoStart;
87
+ /**
88
+ * 创建调试插件实例
89
+ *
90
+ * @param options - 配置选项
91
+ */
92
+ constructor(options?: {
93
+ autoStart?: boolean;
94
+ updateInterval?: number;
95
+ });
96
+ /**
97
+ * 安装插件
98
+ */
99
+ install(_core: Core, services: ServiceContainer): Promise<void>;
100
+ /**
101
+ * 卸载插件
102
+ */
103
+ uninstall(): Promise<void>;
104
+ /**
105
+ * 实现 IService 接口
106
+ */
107
+ dispose(): void;
108
+ /**
109
+ * 启动调试监控
110
+ */
111
+ start(): void;
112
+ /**
113
+ * 停止调试监控
114
+ */
115
+ stop(): void;
116
+ /**
117
+ * 获取当前 ECS 统计信息
118
+ */
119
+ getStats(): ECSDebugStats;
120
+ /**
121
+ * 获取场景调试信息
122
+ */
123
+ getSceneInfo(scene: IScene): SceneDebugInfo;
124
+ /**
125
+ * 获取系统调试信息
126
+ */
127
+ private getSystemInfo;
128
+ /**
129
+ * 获取实体调试信息
130
+ */
131
+ getEntityInfo(entity: Entity): EntityDebugInfo;
132
+ /**
133
+ * 获取组件调试信息
134
+ */
135
+ private getComponentInfo;
136
+ /**
137
+ * 查询实体
138
+ *
139
+ * @param filter - 查询过滤器
140
+ */
141
+ queryEntities(filter: {
142
+ sceneName?: string;
143
+ tag?: number;
144
+ name?: string;
145
+ hasComponent?: string;
146
+ }): EntityDebugInfo[];
147
+ /**
148
+ * 打印统计信息到日志
149
+ */
150
+ private logStats;
151
+ /**
152
+ * 导出调试数据为 JSON
153
+ */
154
+ exportJSON(): string;
155
+ }
156
+ //# sourceMappingURL=DebugPlugin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DebugPlugin.d.ts","sourceRoot":"","sources":["../../src/Plugins/DebugPlugin.ts"],"names":[],"mappings":"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"}