@rb-games/core 0.1.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 (388) hide show
  1. package/README.md +488 -0
  2. package/dist/devtools/DraggableController.d.ts +10 -0
  3. package/dist/devtools/DraggableController.d.ts.map +1 -0
  4. package/dist/devtools/ResizableController.d.ts +19 -0
  5. package/dist/devtools/ResizableController.d.ts.map +1 -0
  6. package/dist/devtools/index.d.ts +7 -0
  7. package/dist/devtools/index.d.ts.map +1 -0
  8. package/dist/devtools/index.js +884 -0
  9. package/dist/devtools/index.js.map +1 -0
  10. package/dist/devtools/overlayPlugin.d.ts +3 -0
  11. package/dist/devtools/overlayPlugin.d.ts.map +1 -0
  12. package/dist/devtools/spinePropertiesPlugin.d.ts +3 -0
  13. package/dist/devtools/spinePropertiesPlugin.d.ts.map +1 -0
  14. package/dist/devtools/spriteTextPropertiesPlugin.d.ts +3 -0
  15. package/dist/devtools/spriteTextPropertiesPlugin.d.ts.map +1 -0
  16. package/dist/devtools/treePlugin.d.ts +7 -0
  17. package/dist/devtools/treePlugin.d.ts.map +1 -0
  18. package/dist/engine/PixiEngine.d.ts +404 -0
  19. package/dist/engine/PixiEngine.d.ts.map +1 -0
  20. package/dist/engine/index.d.ts +2 -0
  21. package/dist/engine/index.d.ts.map +1 -0
  22. package/dist/engine/index.js +1818 -0
  23. package/dist/engine/index.js.map +1 -0
  24. package/dist/filters/ChromaKeyFilter.d.ts +64 -0
  25. package/dist/filters/ChromaKeyFilter.d.ts.map +1 -0
  26. package/dist/filters/index.d.ts +2 -0
  27. package/dist/filters/index.d.ts.map +1 -0
  28. package/dist/filters/index.js +248 -0
  29. package/dist/filters/index.js.map +1 -0
  30. package/dist/helpers/AssetHelper.d.ts +117 -0
  31. package/dist/helpers/AssetHelper.d.ts.map +1 -0
  32. package/dist/helpers/SVGAssetHelper.d.ts +397 -0
  33. package/dist/helpers/SVGAssetHelper.d.ts.map +1 -0
  34. package/dist/helpers/SVGLoader.d.ts +46 -0
  35. package/dist/helpers/SVGLoader.d.ts.map +1 -0
  36. package/dist/helpers/SVGParser.d.ts +121 -0
  37. package/dist/helpers/SVGParser.d.ts.map +1 -0
  38. package/dist/helpers/eventBridge.d.ts +150 -0
  39. package/dist/helpers/eventBridge.d.ts.map +1 -0
  40. package/dist/helpers/index.d.ts +8 -0
  41. package/dist/helpers/index.d.ts.map +1 -0
  42. package/dist/helpers/index.js +702 -0
  43. package/dist/helpers/index.js.map +1 -0
  44. package/dist/helpers/mergeUtils.d.ts +21 -0
  45. package/dist/helpers/mergeUtils.d.ts.map +1 -0
  46. package/dist/helpers/resolvePublicPath.d.ts +6 -0
  47. package/dist/helpers/resolvePublicPath.d.ts.map +1 -0
  48. package/dist/i18n/index.d.ts +2 -0
  49. package/dist/i18n/index.d.ts.map +1 -0
  50. package/dist/i18n/index.js +527 -0
  51. package/dist/i18n/index.js.map +1 -0
  52. package/dist/i18n/sharedI18n.d.ts +11 -0
  53. package/dist/i18n/sharedI18n.d.ts.map +1 -0
  54. package/dist/layout/Align.d.ts +126 -0
  55. package/dist/layout/Align.d.ts.map +1 -0
  56. package/dist/layout/Bounds.d.ts +120 -0
  57. package/dist/layout/Bounds.d.ts.map +1 -0
  58. package/dist/layout/Distribute.d.ts +103 -0
  59. package/dist/layout/Distribute.d.ts.map +1 -0
  60. package/dist/layout/Flow.d.ts +213 -0
  61. package/dist/layout/Flow.d.ts.map +1 -0
  62. package/dist/layout/PositionUtils.d.ts +57 -0
  63. package/dist/layout/PositionUtils.d.ts.map +1 -0
  64. package/dist/layout/index.d.ts +6 -0
  65. package/dist/layout/index.d.ts.map +1 -0
  66. package/dist/layout/index.js +673 -0
  67. package/dist/layout/index.js.map +1 -0
  68. package/dist/particle/Emitter.d.ts +290 -0
  69. package/dist/particle/Emitter.d.ts.map +1 -0
  70. package/dist/particle/EmitterConfig.d.ts +228 -0
  71. package/dist/particle/EmitterConfig.d.ts.map +1 -0
  72. package/dist/particle/LinkedListContainer.d.ts +7 -0
  73. package/dist/particle/LinkedListContainer.d.ts.map +1 -0
  74. package/dist/particle/Particle.d.ts +63 -0
  75. package/dist/particle/Particle.d.ts.map +1 -0
  76. package/dist/particle/ParticleUtils.d.ts +97 -0
  77. package/dist/particle/ParticleUtils.d.ts.map +1 -0
  78. package/dist/particle/PropertyList.d.ts +40 -0
  79. package/dist/particle/PropertyList.d.ts.map +1 -0
  80. package/dist/particle/PropertyNode.d.ts +74 -0
  81. package/dist/particle/PropertyNode.d.ts.map +1 -0
  82. package/dist/particle/SpineEmitter.d.ts +55 -0
  83. package/dist/particle/SpineEmitter.d.ts.map +1 -0
  84. package/dist/particle/SpineParticle.d.ts +74 -0
  85. package/dist/particle/SpineParticle.d.ts.map +1 -0
  86. package/dist/particle/behaviors/AccelerationMovement.d.ts +62 -0
  87. package/dist/particle/behaviors/AccelerationMovement.d.ts.map +1 -0
  88. package/dist/particle/behaviors/Alpha.d.ts +60 -0
  89. package/dist/particle/behaviors/Alpha.d.ts.map +1 -0
  90. package/dist/particle/behaviors/AnimatedTexture.d.ts +111 -0
  91. package/dist/particle/behaviors/AnimatedTexture.d.ts.map +1 -0
  92. package/dist/particle/behaviors/Behaviors.d.ts +71 -0
  93. package/dist/particle/behaviors/Behaviors.d.ts.map +1 -0
  94. package/dist/particle/behaviors/BlendMode.d.ts +31 -0
  95. package/dist/particle/behaviors/BlendMode.d.ts.map +1 -0
  96. package/dist/particle/behaviors/BurstSpawn.d.ts +43 -0
  97. package/dist/particle/behaviors/BurstSpawn.d.ts.map +1 -0
  98. package/dist/particle/behaviors/Color.d.ts +60 -0
  99. package/dist/particle/behaviors/Color.d.ts.map +1 -0
  100. package/dist/particle/behaviors/MultiStateAnimatedTexture.d.ts +99 -0
  101. package/dist/particle/behaviors/MultiStateAnimatedTexture.d.ts.map +1 -0
  102. package/dist/particle/behaviors/OrderedTexture.d.ts +33 -0
  103. package/dist/particle/behaviors/OrderedTexture.d.ts.map +1 -0
  104. package/dist/particle/behaviors/PathMovement.d.ts +68 -0
  105. package/dist/particle/behaviors/PathMovement.d.ts.map +1 -0
  106. package/dist/particle/behaviors/PointSpawn.d.ts +21 -0
  107. package/dist/particle/behaviors/PointSpawn.d.ts.map +1 -0
  108. package/dist/particle/behaviors/RandomColor.d.ts +17 -0
  109. package/dist/particle/behaviors/RandomColor.d.ts.map +1 -0
  110. package/dist/particle/behaviors/RandomTexture.d.ts +32 -0
  111. package/dist/particle/behaviors/RandomTexture.d.ts.map +1 -0
  112. package/dist/particle/behaviors/Rotation.d.ts +114 -0
  113. package/dist/particle/behaviors/Rotation.d.ts.map +1 -0
  114. package/dist/particle/behaviors/Scale.d.ts +74 -0
  115. package/dist/particle/behaviors/Scale.d.ts.map +1 -0
  116. package/dist/particle/behaviors/ShapeSpawn.d.ts +58 -0
  117. package/dist/particle/behaviors/ShapeSpawn.d.ts.map +1 -0
  118. package/dist/particle/behaviors/SingleTexture.d.ts +32 -0
  119. package/dist/particle/behaviors/SingleTexture.d.ts.map +1 -0
  120. package/dist/particle/behaviors/SpeedMovement.d.ts +76 -0
  121. package/dist/particle/behaviors/SpeedMovement.d.ts.map +1 -0
  122. package/dist/particle/behaviors/SpineTexture.d.ts +173 -0
  123. package/dist/particle/behaviors/SpineTexture.d.ts.map +1 -0
  124. package/dist/particle/behaviors/ZindexBehavior.d.ts +16 -0
  125. package/dist/particle/behaviors/ZindexBehavior.d.ts.map +1 -0
  126. package/dist/particle/behaviors/editor/Types.d.ts +104 -0
  127. package/dist/particle/behaviors/editor/Types.d.ts.map +1 -0
  128. package/dist/particle/behaviors/editor/behaviors/AccelerationMovement.d.ts +2 -0
  129. package/dist/particle/behaviors/editor/behaviors/AccelerationMovement.d.ts.map +1 -0
  130. package/dist/particle/behaviors/editor/behaviors/Alpha.d.ts +2 -0
  131. package/dist/particle/behaviors/editor/behaviors/Alpha.d.ts.map +1 -0
  132. package/dist/particle/behaviors/editor/behaviors/AnimatedTexture.d.ts +2 -0
  133. package/dist/particle/behaviors/editor/behaviors/AnimatedTexture.d.ts.map +1 -0
  134. package/dist/particle/behaviors/editor/behaviors/BlendMode.d.ts +2 -0
  135. package/dist/particle/behaviors/editor/behaviors/BlendMode.d.ts.map +1 -0
  136. package/dist/particle/behaviors/editor/behaviors/BurstSpawn.d.ts +2 -0
  137. package/dist/particle/behaviors/editor/behaviors/BurstSpawn.d.ts.map +1 -0
  138. package/dist/particle/behaviors/editor/behaviors/Color.d.ts +2 -0
  139. package/dist/particle/behaviors/editor/behaviors/Color.d.ts.map +1 -0
  140. package/dist/particle/behaviors/editor/behaviors/OrderedTexture.d.ts +2 -0
  141. package/dist/particle/behaviors/editor/behaviors/OrderedTexture.d.ts.map +1 -0
  142. package/dist/particle/behaviors/editor/behaviors/PathMovement.d.ts +2 -0
  143. package/dist/particle/behaviors/editor/behaviors/PathMovement.d.ts.map +1 -0
  144. package/dist/particle/behaviors/editor/behaviors/PointSpawn.d.ts +2 -0
  145. package/dist/particle/behaviors/editor/behaviors/PointSpawn.d.ts.map +1 -0
  146. package/dist/particle/behaviors/editor/behaviors/RandomTexture.d.ts +2 -0
  147. package/dist/particle/behaviors/editor/behaviors/RandomTexture.d.ts.map +1 -0
  148. package/dist/particle/behaviors/editor/behaviors/Rotation.d.ts +2 -0
  149. package/dist/particle/behaviors/editor/behaviors/Rotation.d.ts.map +1 -0
  150. package/dist/particle/behaviors/editor/behaviors/Scale.d.ts +2 -0
  151. package/dist/particle/behaviors/editor/behaviors/Scale.d.ts.map +1 -0
  152. package/dist/particle/behaviors/editor/behaviors/ShapeSpawn.d.ts +2 -0
  153. package/dist/particle/behaviors/editor/behaviors/ShapeSpawn.d.ts.map +1 -0
  154. package/dist/particle/behaviors/editor/behaviors/SingleTexture.d.ts +2 -0
  155. package/dist/particle/behaviors/editor/behaviors/SingleTexture.d.ts.map +1 -0
  156. package/dist/particle/behaviors/editor/behaviors/SpeedMovement.d.ts +2 -0
  157. package/dist/particle/behaviors/editor/behaviors/SpeedMovement.d.ts.map +1 -0
  158. package/dist/particle/behaviors/editor/behaviors/index.d.ts +15 -0
  159. package/dist/particle/behaviors/editor/behaviors/index.d.ts.map +1 -0
  160. package/dist/particle/behaviors/editor/index.d.ts +5 -0
  161. package/dist/particle/behaviors/editor/index.d.ts.map +1 -0
  162. package/dist/particle/behaviors/editor/shapes/PolygonalChain.d.ts +2 -0
  163. package/dist/particle/behaviors/editor/shapes/PolygonalChain.d.ts.map +1 -0
  164. package/dist/particle/behaviors/editor/shapes/Rectangle.d.ts +2 -0
  165. package/dist/particle/behaviors/editor/shapes/Rectangle.d.ts.map +1 -0
  166. package/dist/particle/behaviors/editor/shapes/Torus.d.ts +2 -0
  167. package/dist/particle/behaviors/editor/shapes/Torus.d.ts.map +1 -0
  168. package/dist/particle/behaviors/index.d.ts +25 -0
  169. package/dist/particle/behaviors/index.d.ts.map +1 -0
  170. package/dist/particle/behaviors/shapes/PolygonalChain.d.ts +57 -0
  171. package/dist/particle/behaviors/shapes/PolygonalChain.d.ts.map +1 -0
  172. package/dist/particle/behaviors/shapes/Rectangle.d.ts +59 -0
  173. package/dist/particle/behaviors/shapes/Rectangle.d.ts.map +1 -0
  174. package/dist/particle/behaviors/shapes/SpawnShape.d.ts +32 -0
  175. package/dist/particle/behaviors/shapes/SpawnShape.d.ts.map +1 -0
  176. package/dist/particle/behaviors/shapes/Torus.d.ts +71 -0
  177. package/dist/particle/behaviors/shapes/Torus.d.ts.map +1 -0
  178. package/dist/particle/behaviors/shapes/index.d.ts +5 -0
  179. package/dist/particle/behaviors/shapes/index.d.ts.map +1 -0
  180. package/dist/particle/index.d.ts +11 -0
  181. package/dist/particle/index.d.ts.map +1 -0
  182. package/dist/particle/index.js +2845 -0
  183. package/dist/particle/index.js.map +1 -0
  184. package/dist/plugins/Plugin.types.d.ts +80 -0
  185. package/dist/plugins/Plugin.types.d.ts.map +1 -0
  186. package/dist/plugins/device/DeviceOptimizerPlugin.d.ts +187 -0
  187. package/dist/plugins/device/DeviceOptimizerPlugin.d.ts.map +1 -0
  188. package/dist/plugins/device/DeviceOptimizerPlugin.types.d.ts +134 -0
  189. package/dist/plugins/device/DeviceOptimizerPlugin.types.d.ts.map +1 -0
  190. package/dist/plugins/device/index.d.ts +3 -0
  191. package/dist/plugins/device/index.d.ts.map +1 -0
  192. package/dist/plugins/display/DisplayPlugin.d.ts +208 -0
  193. package/dist/plugins/display/DisplayPlugin.d.ts.map +1 -0
  194. package/dist/plugins/display/DisplayPlugin.types.d.ts +174 -0
  195. package/dist/plugins/display/DisplayPlugin.types.d.ts.map +1 -0
  196. package/dist/plugins/display/displayViewport.d.ts +10 -0
  197. package/dist/plugins/display/displayViewport.d.ts.map +1 -0
  198. package/dist/plugins/display/index.d.ts +4 -0
  199. package/dist/plugins/display/index.d.ts.map +1 -0
  200. package/dist/plugins/eventbus/EventBusPlugin.d.ts +21 -0
  201. package/dist/plugins/eventbus/EventBusPlugin.d.ts.map +1 -0
  202. package/dist/plugins/eventbus/EventBusPlugin.types.d.ts +24 -0
  203. package/dist/plugins/eventbus/EventBusPlugin.types.d.ts.map +1 -0
  204. package/dist/plugins/eventbus/index.d.ts +3 -0
  205. package/dist/plugins/eventbus/index.d.ts.map +1 -0
  206. package/dist/plugins/gsap/GsapPlugin.d.ts +307 -0
  207. package/dist/plugins/gsap/GsapPlugin.d.ts.map +1 -0
  208. package/dist/plugins/gsap/index.d.ts +2 -0
  209. package/dist/plugins/gsap/index.d.ts.map +1 -0
  210. package/dist/plugins/index.d.ts +13 -0
  211. package/dist/plugins/index.d.ts.map +1 -0
  212. package/dist/plugins/index.js +12806 -0
  213. package/dist/plugins/index.js.map +1 -0
  214. package/dist/plugins/input/InputPlugin.const.d.ts +80 -0
  215. package/dist/plugins/input/InputPlugin.const.d.ts.map +1 -0
  216. package/dist/plugins/input/InputPlugin.d.ts +141 -0
  217. package/dist/plugins/input/InputPlugin.d.ts.map +1 -0
  218. package/dist/plugins/input/InputPlugin.types.d.ts +41 -0
  219. package/dist/plugins/input/InputPlugin.types.d.ts.map +1 -0
  220. package/dist/plugins/input/KeyboardManager.d.ts +139 -0
  221. package/dist/plugins/input/KeyboardManager.d.ts.map +1 -0
  222. package/dist/plugins/input/KeyboardManager.types.d.ts +27 -0
  223. package/dist/plugins/input/KeyboardManager.types.d.ts.map +1 -0
  224. package/dist/plugins/input/index.d.ts +4 -0
  225. package/dist/plugins/input/index.d.ts.map +1 -0
  226. package/dist/plugins/language/I18NextPlugin.d.ts +30 -0
  227. package/dist/plugins/language/I18NextPlugin.d.ts.map +1 -0
  228. package/dist/plugins/language/I18NextPlugin.types.d.ts +29 -0
  229. package/dist/plugins/language/I18NextPlugin.types.d.ts.map +1 -0
  230. package/dist/plugins/language/index.d.ts +3 -0
  231. package/dist/plugins/language/index.d.ts.map +1 -0
  232. package/dist/plugins/resource/ResourcePlugin.d.ts +189 -0
  233. package/dist/plugins/resource/ResourcePlugin.d.ts.map +1 -0
  234. package/dist/plugins/resource/ResourcePlugin.types.d.ts +153 -0
  235. package/dist/plugins/resource/ResourcePlugin.types.d.ts.map +1 -0
  236. package/dist/plugins/resource/index.d.ts +3 -0
  237. package/dist/plugins/resource/index.d.ts.map +1 -0
  238. package/dist/plugins/scene/Scene.d.ts +203 -0
  239. package/dist/plugins/scene/Scene.d.ts.map +1 -0
  240. package/dist/plugins/scene/ScenePlugin.d.ts +162 -0
  241. package/dist/plugins/scene/ScenePlugin.d.ts.map +1 -0
  242. package/dist/plugins/scene/ScenePlugin.types.d.ts +35 -0
  243. package/dist/plugins/scene/ScenePlugin.types.d.ts.map +1 -0
  244. package/dist/plugins/scene/index.d.ts +4 -0
  245. package/dist/plugins/scene/index.d.ts.map +1 -0
  246. package/dist/plugins/sentry/SentryPlugin.d.ts +66 -0
  247. package/dist/plugins/sentry/SentryPlugin.d.ts.map +1 -0
  248. package/dist/plugins/sentry/SentryPlugin.types.d.ts +8 -0
  249. package/dist/plugins/sentry/SentryPlugin.types.d.ts.map +1 -0
  250. package/dist/plugins/sentry/index.d.ts +3 -0
  251. package/dist/plugins/sentry/index.d.ts.map +1 -0
  252. package/dist/plugins/service/ServiceAdapter.d.ts +88 -0
  253. package/dist/plugins/service/ServiceAdapter.d.ts.map +1 -0
  254. package/dist/plugins/service/ServiceEventHelper.d.ts +6 -0
  255. package/dist/plugins/service/ServiceEventHelper.d.ts.map +1 -0
  256. package/dist/plugins/service/ServicePlugin.d.ts +135 -0
  257. package/dist/plugins/service/ServicePlugin.d.ts.map +1 -0
  258. package/dist/plugins/service/ServicePlugin.types.d.ts +14 -0
  259. package/dist/plugins/service/ServicePlugin.types.d.ts.map +1 -0
  260. package/dist/plugins/service/adapters/DevAuthAdapter.d.ts +56 -0
  261. package/dist/plugins/service/adapters/DevAuthAdapter.d.ts.map +1 -0
  262. package/dist/plugins/service/adapters/RGSAdapter.d.ts +82 -0
  263. package/dist/plugins/service/adapters/RGSAdapter.d.ts.map +1 -0
  264. package/dist/plugins/service/adapters/index.d.ts +7 -0
  265. package/dist/plugins/service/adapters/index.d.ts.map +1 -0
  266. package/dist/plugins/service/adapters/resolvePublicIp.d.ts +10 -0
  267. package/dist/plugins/service/adapters/resolvePublicIp.d.ts.map +1 -0
  268. package/dist/plugins/service/index.d.ts +10 -0
  269. package/dist/plugins/service/index.d.ts.map +1 -0
  270. package/dist/plugins/service/types/api.types.d.ts +299 -0
  271. package/dist/plugins/service/types/api.types.d.ts.map +1 -0
  272. package/dist/plugins/service/types/index.d.ts +6 -0
  273. package/dist/plugins/service/types/index.d.ts.map +1 -0
  274. package/dist/plugins/skin/ISkin.d.ts +62 -0
  275. package/dist/plugins/skin/ISkin.d.ts.map +1 -0
  276. package/dist/plugins/skin/Skin.d.ts +155 -0
  277. package/dist/plugins/skin/Skin.d.ts.map +1 -0
  278. package/dist/plugins/skin/SkinPlugin.d.ts +285 -0
  279. package/dist/plugins/skin/SkinPlugin.d.ts.map +1 -0
  280. package/dist/plugins/skin/SkinPlugin.types.d.ts +56 -0
  281. package/dist/plugins/skin/SkinPlugin.types.d.ts.map +1 -0
  282. package/dist/plugins/skin/index.d.ts +5 -0
  283. package/dist/plugins/skin/index.d.ts.map +1 -0
  284. package/dist/plugins/sound/SoundPlugin.d.ts +319 -0
  285. package/dist/plugins/sound/SoundPlugin.d.ts.map +1 -0
  286. package/dist/plugins/sound/SoundPlugin.types.d.ts +102 -0
  287. package/dist/plugins/sound/SoundPlugin.types.d.ts.map +1 -0
  288. package/dist/plugins/sound/SoundTestGUI.d.ts +42 -0
  289. package/dist/plugins/sound/SoundTestGUI.d.ts.map +1 -0
  290. package/dist/plugins/sound/index.d.ts +4 -0
  291. package/dist/plugins/sound/index.d.ts.map +1 -0
  292. package/dist/state-machine/ConfigBuilder.d.ts +239 -0
  293. package/dist/state-machine/ConfigBuilder.d.ts.map +1 -0
  294. package/dist/state-machine/StateMachine.d.ts +251 -0
  295. package/dist/state-machine/StateMachine.d.ts.map +1 -0
  296. package/dist/state-machine/guards.d.ts +151 -0
  297. package/dist/state-machine/guards.d.ts.map +1 -0
  298. package/dist/state-machine/index.d.ts +5 -0
  299. package/dist/state-machine/index.d.ts.map +1 -0
  300. package/dist/state-machine/index.js +954 -0
  301. package/dist/state-machine/index.js.map +1 -0
  302. package/dist/state-machine/types.d.ts +65 -0
  303. package/dist/state-machine/types.d.ts.map +1 -0
  304. package/dist/store/DataStore.d.ts +167 -0
  305. package/dist/store/DataStore.d.ts.map +1 -0
  306. package/dist/store/index.d.ts +3 -0
  307. package/dist/store/index.d.ts.map +1 -0
  308. package/dist/store/index.js +197 -0
  309. package/dist/store/index.js.map +1 -0
  310. package/dist/ui/behaviors/ButtonBehavior.d.ts +245 -0
  311. package/dist/ui/behaviors/ButtonBehavior.d.ts.map +1 -0
  312. package/dist/ui/behaviors/InputBehavior.d.ts +169 -0
  313. package/dist/ui/behaviors/InputBehavior.d.ts.map +1 -0
  314. package/dist/ui/behaviors/ScrollbarBehavior.d.ts +371 -0
  315. package/dist/ui/behaviors/ScrollbarBehavior.d.ts.map +1 -0
  316. package/dist/ui/behaviors/index.d.ts +4 -0
  317. package/dist/ui/behaviors/index.d.ts.map +1 -0
  318. package/dist/ui/components/ButtonComp.d.ts +138 -0
  319. package/dist/ui/components/ButtonComp.d.ts.map +1 -0
  320. package/dist/ui/components/Comp.utils.d.ts +390 -0
  321. package/dist/ui/components/Comp.utils.d.ts.map +1 -0
  322. package/dist/ui/components/Component.types.d.ts +41 -0
  323. package/dist/ui/components/Component.types.d.ts.map +1 -0
  324. package/dist/ui/components/InputComp.d.ts +43 -0
  325. package/dist/ui/components/InputComp.d.ts.map +1 -0
  326. package/dist/ui/components/LabelBox.d.ts +49 -0
  327. package/dist/ui/components/LabelBox.d.ts.map +1 -0
  328. package/dist/ui/components/ListTableComp.d.ts +106 -0
  329. package/dist/ui/components/ListTableComp.d.ts.map +1 -0
  330. package/dist/ui/components/Skinable.d.ts +261 -0
  331. package/dist/ui/components/Skinable.d.ts.map +1 -0
  332. package/dist/ui/components/SliderComp.d.ts +60 -0
  333. package/dist/ui/components/SliderComp.d.ts.map +1 -0
  334. package/dist/ui/components/SpriteTextBBCode.d.ts +16 -0
  335. package/dist/ui/components/SpriteTextBBCode.d.ts.map +1 -0
  336. package/dist/ui/components/StepperComp.d.ts +89 -0
  337. package/dist/ui/components/StepperComp.d.ts.map +1 -0
  338. package/dist/ui/components/index.d.ts +12 -0
  339. package/dist/ui/components/index.d.ts.map +1 -0
  340. package/dist/ui/components/spriteText/SpriteText.d.ts +114 -0
  341. package/dist/ui/components/spriteText/SpriteText.d.ts.map +1 -0
  342. package/dist/ui/components/spriteText/SpriteText.types.d.ts +109 -0
  343. package/dist/ui/components/spriteText/SpriteText.types.d.ts.map +1 -0
  344. package/dist/ui/components/spriteText/SpriteTextAlignment.d.ts +25 -0
  345. package/dist/ui/components/spriteText/SpriteTextAlignment.d.ts.map +1 -0
  346. package/dist/ui/components/spriteText/SpriteTextBezier.d.ts +20 -0
  347. package/dist/ui/components/spriteText/SpriteTextBezier.d.ts.map +1 -0
  348. package/dist/ui/components/spriteText/SpriteTextCurve.d.ts +4 -0
  349. package/dist/ui/components/spriteText/SpriteTextCurve.d.ts.map +1 -0
  350. package/dist/ui/components/spriteText/SpriteTextKerning.d.ts +7 -0
  351. package/dist/ui/components/spriteText/SpriteTextKerning.d.ts.map +1 -0
  352. package/dist/ui/components/spriteText/SpriteTextTexture.d.ts +16 -0
  353. package/dist/ui/components/spriteText/SpriteTextTexture.d.ts.map +1 -0
  354. package/dist/ui/components/spriteText/SpriteTextWrap.d.ts +19 -0
  355. package/dist/ui/components/spriteText/SpriteTextWrap.d.ts.map +1 -0
  356. package/dist/ui/components/spriteText/index.d.ts +3 -0
  357. package/dist/ui/components/spriteText/index.d.ts.map +1 -0
  358. package/dist/ui/index.d.ts +3 -0
  359. package/dist/ui/index.d.ts.map +1 -0
  360. package/dist/ui/index.js +4778 -0
  361. package/dist/ui/index.js.map +1 -0
  362. package/dist/utils/ArrayUtils.d.ts +24 -0
  363. package/dist/utils/ArrayUtils.d.ts.map +1 -0
  364. package/dist/utils/ColorUtils.d.ts +34 -0
  365. package/dist/utils/ColorUtils.d.ts.map +1 -0
  366. package/dist/utils/DataInjector.d.ts +67 -0
  367. package/dist/utils/DataInjector.d.ts.map +1 -0
  368. package/dist/utils/Logger.d.ts +332 -0
  369. package/dist/utils/Logger.d.ts.map +1 -0
  370. package/dist/utils/NumberFormatter.d.ts +126 -0
  371. package/dist/utils/NumberFormatter.d.ts.map +1 -0
  372. package/dist/utils/ObjectUtils.d.ts +64 -0
  373. package/dist/utils/ObjectUtils.d.ts.map +1 -0
  374. package/dist/utils/PixiUtils.d.ts +118 -0
  375. package/dist/utils/PixiUtils.d.ts.map +1 -0
  376. package/dist/utils/Throttle.d.ts +103 -0
  377. package/dist/utils/Throttle.d.ts.map +1 -0
  378. package/dist/utils/index.d.ts +9 -0
  379. package/dist/utils/index.d.ts.map +1 -0
  380. package/dist/utils/index.js +899 -0
  381. package/dist/utils/index.js.map +1 -0
  382. package/dist/vite/index.d.ts +3 -0
  383. package/dist/vite/index.d.ts.map +1 -0
  384. package/dist/vite/index.js +126 -0
  385. package/dist/vite/index.js.map +1 -0
  386. package/dist/vite/mergeLocalesPlugin.d.ts +22 -0
  387. package/dist/vite/mergeLocalesPlugin.d.ts.map +1 -0
  388. package/package.json +143 -0
@@ -0,0 +1,80 @@
1
+ import type { PixiEngine } from '../engine/PixiEngine';
2
+ /**
3
+ * Internal symbols for engine-only hook access
4
+ * These symbols prevent external code from calling lifecycle hooks
5
+ */
6
+ export declare const ENGINE_HOOKS: {
7
+ readonly onEngineReady: symbol;
8
+ readonly onPause: symbol;
9
+ readonly onResume: symbol;
10
+ readonly onResize: symbol;
11
+ };
12
+ /**
13
+ * Plugin lifecycle states
14
+ */
15
+ export declare enum PluginState {
16
+ REGISTERED = "registered",
17
+ INITIALIZING = "initializing",
18
+ INITIALIZED = "initialized",
19
+ READY = "ready",
20
+ ERROR = "error"
21
+ }
22
+ /**
23
+ * Plugin interface
24
+ */
25
+ export interface EnginePlugin {
26
+ /**
27
+ * Plugin name. Must be unique.
28
+ */
29
+ name: string;
30
+ /**
31
+ * Plugin priority. Lower values represent higher priority.
32
+ */
33
+ priority: number;
34
+ /**
35
+ * Current plugin state
36
+ */
37
+ state?: PluginState;
38
+ /**
39
+ * Plugin dependencies - other plugins that must be ready before this one
40
+ */
41
+ dependencies?: string[];
42
+ /**
43
+ * Method that will be executed when the plugin is first loaded.
44
+ * @param engine PixiEngine instance
45
+ * @returns Promise that resolves when plugin is fully initialized
46
+ */
47
+ initialize(engine: PixiEngine): Promise<void> | void;
48
+ /**
49
+ * Called after initialization to mark plugin as ready
50
+ * This is where you can access other plugins safely
51
+ * @param engine PixiEngine instance
52
+ * @returns Promise that resolves when plugin is ready
53
+ */
54
+ onReady?(engine: PixiEngine): Promise<void> | void;
55
+ /**
56
+ * Method that will be executed when the plugin is cleaned up.
57
+ */
58
+ cleanup?(): void;
59
+ /**
60
+ * Called on every frame update.
61
+ * @param delta Frame duration (ms)
62
+ * @returns Boolean value
63
+ */
64
+ onUpdate?(delta: number): boolean;
65
+ /**
66
+ * Index signature to allow symbol-based properties for internal engine hooks
67
+ * @internal - These are accessed via ENGINE_HOOKS symbols by PixiEngine only
68
+ */
69
+ [key: symbol]: any;
70
+ }
71
+ /**
72
+ * Common configuration parameters for all plugins
73
+ */
74
+ export interface PluginConfig {
75
+ priority?: number;
76
+ enabled?: boolean;
77
+ name?: string;
78
+ dependencies?: string[];
79
+ }
80
+ //# sourceMappingURL=Plugin.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Plugin.types.d.ts","sourceRoot":"","sources":["../../plugins/Plugin.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAEvD;;;GAGG;AACH,eAAO,MAAM,YAAY;;;;;CAKf,CAAC;AAEX;;GAEG;AACH,oBAAY,WAAW;IACrB,UAAU,eAAe;IACzB,YAAY,iBAAiB;IAC7B,WAAW,gBAAgB;IAC3B,KAAK,UAAU;IACf,KAAK,UAAU;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,KAAK,CAAC,EAAE,WAAW,CAAC;IAEpB;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IAExB;;;;OAIG;IACH,UAAU,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAErD;;;;;OAKG;IACH,OAAO,CAAC,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAEnD;;OAEG;IACH,OAAO,CAAC,IAAI,IAAI,CAAC;IAEjB;;;;OAIG;IACH,QAAQ,CAAC,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;IAElC;;;OAGG;IACH,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB"}
@@ -0,0 +1,187 @@
1
+ import { PixiEngine } from '../../engine/PixiEngine';
2
+ import type { EnginePlugin } from '../Plugin.types';
3
+ import type { DeviceInfo, PerformanceMetrics, OptimizationSettings, DeviceOptimizerConfig } from './DeviceOptimizerPlugin.types';
4
+ /**
5
+ * Device detection and optimization plugin for PixiJS games.
6
+ *
7
+ * DeviceOptimizerPlugin automatically detects device capabilities and generates
8
+ * optimal performance settings. It analyzes platform, memory, network, battery,
9
+ * and GPU to calculate a performance tier (low/medium/high) and provides
10
+ * appropriate optimization settings.
11
+ *
12
+ * ## Features
13
+ *
14
+ * - **Device Detection**: Platform, browser, OS, screen properties
15
+ * - **Performance Metrics**: Memory, network, battery, GPU capabilities
16
+ * - **Automatic Tier Calculation**: Low, medium, or high performance tier
17
+ * - **Optimization Settings**: Asset resolution, particle limits, memory management
18
+ * - **ResourcePlugin Integration**: Provides settings for asset loading
19
+ *
20
+ * ## Performance Tiers
21
+ *
22
+ * - **Low Tier**: Mobile devices, low memory, slow network
23
+ * - Asset resolution: 0.25x
24
+ * - Max particles: 25
25
+ * - Target FPS: 30
26
+ * - Aggressive memory cleanup
27
+ *
28
+ * - **Medium Tier**: Tablets, mid-range devices
29
+ * - Asset resolution: 0.5x
30
+ * - Max particles: 100
31
+ * - Target FPS: 60
32
+ * - Moderate memory management
33
+ *
34
+ * - **High Tier**: Desktop, high-end devices
35
+ * - Asset resolution: 1.0x - 2.0x
36
+ * - Max particles: 500
37
+ * - Target FPS: 60
38
+ * - Advanced effects enabled
39
+ *
40
+ * ## Integration with ResourcePlugin
41
+ *
42
+ * DeviceOptimizerPlugin must initialize before ResourcePlugin. ResourcePlugin
43
+ * reads optimization settings to determine which asset resolutions to load.
44
+ *
45
+ * @example
46
+ * ```typescript
47
+ * const deviceOptimizer = new DeviceOptimizerPlugin({
48
+ * enableAdvancedMetrics: true,
49
+ * enableNetworkDetection: true,
50
+ * enableBatteryDetection: true,
51
+ * debug: true
52
+ * });
53
+ *
54
+ * engine.registerPlugin(deviceOptimizer);
55
+ * await engine.initialize();
56
+ *
57
+ * // Get optimization settings
58
+ * const settings = deviceOptimizer.getSettings();
59
+ * console.log('Asset resolution:', settings.assetResolution);
60
+ * console.log('Performance tier:', deviceOptimizer.getPerformanceTier());
61
+ * ```
62
+ *
63
+ * @example
64
+ * ```typescript
65
+ * // Force specific tier for testing
66
+ * const deviceOptimizer = new DeviceOptimizerPlugin({
67
+ * forceTier: 'low',
68
+ * forceResolution: 0.5
69
+ * });
70
+ * ```
71
+ *
72
+ * @category Plugins
73
+ * @public
74
+ */
75
+ export declare class DeviceOptimizerPlugin implements EnginePlugin {
76
+ name: string;
77
+ priority: number;
78
+ dependencies: string[];
79
+ private config;
80
+ private deviceInfo;
81
+ private metrics;
82
+ private settings;
83
+ private performanceTier;
84
+ private isInitialized;
85
+ /**
86
+ * Detect WebP support using PIXI's native method
87
+ */
88
+ private detectWebP;
89
+ private defaultTierSettings;
90
+ constructor(config?: DeviceOptimizerConfig);
91
+ initialize(engine: PixiEngine): Promise<void>;
92
+ onReady(engine: PixiEngine): void;
93
+ isReady(): boolean;
94
+ cleanup(): void;
95
+ /**
96
+ * Safe device detection
97
+ */
98
+ private detectDevice;
99
+ private detectPlatform;
100
+ private detectBrowser;
101
+ private detectOS;
102
+ private calculateDiagonal;
103
+ /**
104
+ * Gather performance metrics safely
105
+ */
106
+ private gatherMetrics;
107
+ private getMemoryInfo;
108
+ private getNetworkInfo;
109
+ private getBatteryInfo;
110
+ private getGPUInfo;
111
+ private assessGPUTier;
112
+ /**
113
+ * Calculate overall performance tier
114
+ */
115
+ private calculatePerformanceTier;
116
+ private generateOptimizationSettings;
117
+ private applyForceOverrides;
118
+ private useFallbackSettings;
119
+ private logDeviceInfo;
120
+ /**
121
+ * Gets detected device information.
122
+ *
123
+ * @returns Device info or null if not yet initialized
124
+ */
125
+ getDeviceInfo(): DeviceInfo | null;
126
+ /**
127
+ * Gets gathered performance metrics.
128
+ *
129
+ * @returns Performance metrics or null if not yet initialized
130
+ */
131
+ getMetrics(): PerformanceMetrics | null;
132
+ /**
133
+ * Gets calculated optimization settings.
134
+ *
135
+ * These settings are used by ResourcePlugin to determine asset loading strategy.
136
+ *
137
+ * @returns Optimization settings or null if not yet initialized
138
+ */
139
+ getSettings(): OptimizationSettings | null;
140
+ /**
141
+ * Gets the calculated performance tier.
142
+ *
143
+ * @returns Performance tier: 'low', 'medium', or 'high'
144
+ */
145
+ getPerformanceTier(): 'low' | 'medium' | 'high';
146
+ /**
147
+ * Gets the recommended asset resolution multiplier.
148
+ *
149
+ * @returns Resolution multiplier (e.g., 0.25, 0.5, 1.0, 2.0)
150
+ */
151
+ getAssetResolution(): number;
152
+ getAssetSuffix(): string;
153
+ /**
154
+ * Gets the optimal particle count for the current device.
155
+ *
156
+ * @param baseCount Base particle count
157
+ * @returns Adjusted particle count
158
+ */
159
+ getOptimalParticleCount(baseCount: number): number;
160
+ /**
161
+ * Checks if advanced particle effects are supported.
162
+ *
163
+ * @returns True if advanced effects are supported, false otherwise
164
+ */
165
+ supportsAdvancedEffects(): boolean;
166
+ /**
167
+ * Gets package loading preferences for ResourcePlugin.
168
+ *
169
+ * Returns a map of package names to preference values:
170
+ * - -1: Disable package
171
+ * - 0: Normal priority
172
+ * - 1: Prefer package
173
+ * - 2: High priority
174
+ *
175
+ * @returns Package preferences map
176
+ */
177
+ getPackagePreferences(): Record<string, number>;
178
+ /**
179
+ * Overrides optimization settings with custom values.
180
+ *
181
+ * @param overrides Custom optimization settings
182
+ */
183
+ overrideSettings(overrides: Partial<OptimizationSettings>): void;
184
+ forceTier(tier: 'low' | 'medium' | 'high'): void;
185
+ [key: symbol]: any;
186
+ }
187
+ //# sourceMappingURL=DeviceOptimizerPlugin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DeviceOptimizerPlugin.d.ts","sourceRoot":"","sources":["../../../plugins/device/DeviceOptimizerPlugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAGpD,OAAO,KAAK,EACV,UAAU,EACV,kBAAkB,EAClB,oBAAoB,EACpB,qBAAqB,EACtB,MAAM,+BAA+B,CAAC;AAEvC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsEG;AACH,qBAAa,qBAAsB,YAAW,YAAY;IACjD,IAAI,EAAE,MAAM,CAA2B;IACvC,QAAQ,EAAE,MAAM,CAAM;IACtB,YAAY,EAAE,MAAM,EAAE,CAAM;IAEnC,OAAO,CAAC,MAAM,CAAwB;IACtC,OAAO,CAAC,UAAU,CAA2B;IAC7C,OAAO,CAAC,OAAO,CAAmC;IAClD,OAAO,CAAC,QAAQ,CAAqC;IACrD,OAAO,CAAC,eAAe,CAAuC;IAC9D,OAAO,CAAC,aAAa,CAAS;IAE9B;;OAEG;YACW,UAAU;IASxB,OAAO,CAAC,mBAAmB,CAA0D;gBAEzE,MAAM,GAAE,qBAA0B;IAuHjC,UAAU,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAwCnD,OAAO,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI;IAKjC,OAAO,IAAI,OAAO;IAIlB,OAAO,IAAI,IAAI;IAKtB;;OAEG;IACH,OAAO,CAAC,YAAY;IAmBpB,OAAO,CAAC,cAAc;IAqBtB,OAAO,CAAC,aAAa;IAyBrB,OAAO,CAAC,QAAQ;IA8BhB,OAAO,CAAC,iBAAiB;IAIzB;;OAEG;YACW,aAAa;YAWb,aAAa;YA+Bb,cAAc;YAyCd,cAAc;YAmCd,UAAU;IA0CxB,OAAO,CAAC,aAAa;IA0BrB;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAoChC,OAAO,CAAC,4BAA4B;IA8FpC,OAAO,CAAC,mBAAmB;IAS3B,OAAO,CAAC,mBAAmB;IAgC3B,OAAO,CAAC,aAAa;IAoBrB;;;;OAIG;IACI,aAAa,IAAI,UAAU,GAAG,IAAI;IAIzC;;;;OAIG;IACI,UAAU,IAAI,kBAAkB,GAAG,IAAI;IAI9C;;;;;;OAMG;IACI,WAAW,IAAI,oBAAoB,GAAG,IAAI;IAIjD;;;;OAIG;IACI,kBAAkB,IAAI,KAAK,GAAG,QAAQ,GAAG,MAAM;IAItD;;;;OAIG;IACI,kBAAkB,IAAI,MAAM;IAI5B,cAAc,IAAI,MAAM;IAI/B;;;;;OAKG;IACI,uBAAuB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM;IAMzD;;;;OAIG;IACI,uBAAuB,IAAI,OAAO;IAIzC;;;;;;;;;;OAUG;IACI,qBAAqB,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAItD;;;;OAIG;IACI,gBAAgB,CAAC,SAAS,EAAE,OAAO,CAAC,oBAAoB,CAAC,GAAG,IAAI;IAOhE,SAAS,CAAC,IAAI,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,IAAI;IAMvD,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB"}
@@ -0,0 +1,134 @@
1
+ /**
2
+ * Device information detected from the user's system.
3
+ *
4
+ * Contains comprehensive details about the device platform, browser, OS, and screen properties.
5
+ * Used by DeviceOptimizerPlugin to determine optimal performance settings.
6
+ *
7
+ * @public
8
+ */
9
+ export interface DeviceInfo {
10
+ /** Device platform type */
11
+ platform: 'mobile' | 'tablet' | 'desktop';
12
+ /** Browser information */
13
+ browser: {
14
+ /** Browser name */
15
+ name: 'chrome' | 'firefox' | 'safari' | 'edge' | 'unknown';
16
+ /** Browser version string */
17
+ version: string;
18
+ };
19
+ /** Operating system information */
20
+ os: {
21
+ /** OS name */
22
+ name: 'ios' | 'android' | 'windows' | 'macos' | 'linux' | 'unknown';
23
+ /** OS version string */
24
+ version: string;
25
+ };
26
+ /** Screen properties */
27
+ screen: {
28
+ /** CSS viewport width in pixels */
29
+ width: number;
30
+ /** CSS viewport height in pixels */
31
+ height: number;
32
+ /** Device pixel ratio (e.g., 2 for Retina displays) */
33
+ pixelRatio: number;
34
+ /** Screen diagonal size in pixels */
35
+ diagonal: number;
36
+ /** Current screen orientation */
37
+ orientation: 'portrait' | 'landscape';
38
+ };
39
+ }
40
+ /**
41
+ * Performance metrics gathered from the device.
42
+ *
43
+ * Includes memory, network, battery, and GPU information used to calculate
44
+ * the optimal performance tier and optimization settings.
45
+ *
46
+ * @public
47
+ */
48
+ export interface PerformanceMetrics {
49
+ memory: {
50
+ totalMB: number;
51
+ usedMB: number;
52
+ tier: 'low' | 'medium' | 'high';
53
+ };
54
+ network: {
55
+ type: 'slow-2g' | '2g' | '3g' | '4g' | 'wifi' | 'unknown';
56
+ effectiveType: 'slow-2g' | '2g' | '3g' | '4g';
57
+ downlink: number;
58
+ rtt: number;
59
+ isSlow: boolean;
60
+ };
61
+ battery: {
62
+ level: number;
63
+ charging: boolean;
64
+ isLow: boolean;
65
+ savePower: boolean;
66
+ };
67
+ gpu: {
68
+ renderer: string;
69
+ vendor: string;
70
+ tier: 'low' | 'medium' | 'high';
71
+ maxTextureSize: number;
72
+ supportsWebGL2: boolean;
73
+ };
74
+ }
75
+ /**
76
+ * Optimization settings calculated based on device capabilities.
77
+ *
78
+ * These settings control asset quality, visual effects, performance targets,
79
+ * and memory management. Generated automatically by DeviceOptimizerPlugin
80
+ * based on the detected performance tier.
81
+ *
82
+ * @remarks
83
+ * Used by ResourcePlugin to determine which asset resolutions to load.
84
+ *
85
+ * @public
86
+ */
87
+ export interface OptimizationSettings {
88
+ assetResolution: number;
89
+ assetSuffix: string;
90
+ assetQuality: 'low' | 'medium' | 'high';
91
+ preloadStrategy: 'minimal' | 'moderate' | 'aggressive';
92
+ enableWebP: boolean;
93
+ particleSettings: {
94
+ maxParticles: number;
95
+ quality: 'low' | 'medium' | 'high';
96
+ enableAdvancedEffects: boolean;
97
+ enableBlur: boolean;
98
+ enableGlow: boolean;
99
+ };
100
+ targetFPS: 30 | 60;
101
+ enableAntialiasing: boolean;
102
+ enableMipmaps: boolean;
103
+ textureMaxSize: number;
104
+ memoryLimits: {
105
+ maxAssetMemoryMB: number;
106
+ maxTextureMemoryMB: number;
107
+ enableAggressiveCleanup: boolean;
108
+ gcInterval: number;
109
+ };
110
+ packagePreferences: Record<string, number>;
111
+ }
112
+ /**
113
+ * Configuration options for DeviceOptimizerPlugin.
114
+ *
115
+ * Controls which metrics to gather, allows forcing specific settings,
116
+ * and enables customization of tier-based optimization profiles.
117
+ *
118
+ * @public
119
+ */
120
+ export interface DeviceOptimizerConfig {
121
+ enableAdvancedMetrics?: boolean;
122
+ enableNetworkDetection?: boolean;
123
+ enableBatteryDetection?: boolean;
124
+ enableGPUDetection?: boolean;
125
+ forceResolution?: number;
126
+ forceTier?: 'low' | 'medium' | 'high';
127
+ forcePlatform?: 'mobile' | 'tablet' | 'desktop';
128
+ tierSettings?: {
129
+ low?: Partial<OptimizationSettings>;
130
+ medium?: Partial<OptimizationSettings>;
131
+ high?: Partial<OptimizationSettings>;
132
+ };
133
+ }
134
+ //# sourceMappingURL=DeviceOptimizerPlugin.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DeviceOptimizerPlugin.types.d.ts","sourceRoot":"","sources":["../../../plugins/device/DeviceOptimizerPlugin.types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export { DeviceOptimizerPlugin } from './DeviceOptimizerPlugin';
2
+ export type { DeviceInfo, PerformanceMetrics, OptimizationSettings, DeviceOptimizerConfig } from './DeviceOptimizerPlugin.types';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../plugins/device/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,YAAY,EACR,UAAU,EACV,kBAAkB,EAClB,oBAAoB,EACpB,qBAAqB,EACxB,MAAM,+BAA+B,CAAC"}
@@ -0,0 +1,208 @@
1
+ import { PixiEngine } from '../../engine/PixiEngine';
2
+ import type { DisplayPluginConfig, DisplayEvents, DisplayResizeData } from './DisplayPlugin.types';
3
+ import type { EnginePlugin } from '../Plugin.types';
4
+ import { EventEmitter } from 'pixi.js';
5
+ /**
6
+ * Display management plugin for PixiJS games.
7
+ *
8
+ * DisplayPlugin handles responsive canvas scaling and positioning, maintaining a fixed
9
+ * design resolution while adapting to different window sizes and aspect ratios.
10
+ *
11
+ * ## Features
12
+ *
13
+ * - **Fixed Design Resolution**: Work with consistent logical coordinates
14
+ * - **Responsive Scaling**: Automatically scales to fit any window size
15
+ * - **Aspect Ratio Preservation**: Maintains design proportions
16
+ * - **Flexible Alignment**: Position game canvas anywhere in the window
17
+ * - **Scale Modes**: Contain (letterbox) or cover (fill) options
18
+ * - **Automatic Resize Handling**: Responds to window size changes
19
+ *
20
+ * ## Scaling Behavior
21
+ *
22
+ * ### Contain Mode (default)
23
+ * Fits the entire game within the window, adding letterboxing or pillarboxing if needed.
24
+ * Ensures all content is visible but may leave empty space.
25
+ *
26
+ * ### Cover Mode
27
+ * Fills the entire window, potentially cropping content at the edges.
28
+ * No empty space but some content may be off-screen.
29
+ *
30
+ * ## Design Resolution
31
+ *
32
+ * The plugin uses a fixed design resolution (e.g., 1920x1080) that your game is built for.
33
+ * All game objects use these logical coordinates. The plugin handles scaling to physical pixels.
34
+ *
35
+ * @example
36
+ * ```typescript
37
+ * // Standard 1080p design resolution
38
+ * const displayPlugin = new DisplayPlugin({
39
+ * width: 1920,
40
+ * height: 1080,
41
+ * scaleMode: 'contain',
42
+ * alignment: 'center'
43
+ * });
44
+ *
45
+ * engine.registerPlugin(displayPlugin);
46
+ * await engine.initialize();
47
+ *
48
+ * // Your game objects use logical coordinates
49
+ * sprite.position.set(960, 540); // Center of 1920x1080
50
+ * ```
51
+ *
52
+ * @example
53
+ * ```typescript
54
+ * // Mobile-optimized vertical layout
55
+ * const displayPlugin = new DisplayPlugin({
56
+ * width: 720,
57
+ * height: 1280,
58
+ * scaleMode: 'contain',
59
+ * alignment: 'center'
60
+ * });
61
+ * ```
62
+ *
63
+ * @example
64
+ * ```typescript
65
+ * // Cover mode for full-screen games
66
+ * const displayPlugin = new DisplayPlugin({
67
+ * width: 1920,
68
+ * height: 1080,
69
+ * scaleMode: 'cover', // Fill entire window
70
+ * alignment: 'center'
71
+ * });
72
+ * ```
73
+ *
74
+ * @category Plugins
75
+ * @public
76
+ */
77
+ export declare class DisplayPlugin extends EventEmitter<DisplayEvents> implements EnginePlugin {
78
+ name: string;
79
+ priority: number;
80
+ /**
81
+ * No dependencies - this is a core display plugin
82
+ */
83
+ dependencies: string[];
84
+ private _designWidth;
85
+ private _designHeight;
86
+ private _engine;
87
+ private config;
88
+ private isInitialized;
89
+ private _currentOrientation;
90
+ private _activeConfig;
91
+ private _lastResizeData;
92
+ /**
93
+ * Creates a new DisplayPlugin instance.
94
+ *
95
+ * @param config - Display configuration options
96
+ *
97
+ * @example
98
+ * ```typescript
99
+ * const displayPlugin = new DisplayPlugin({
100
+ * width: 1920,
101
+ * height: 1080,
102
+ * scaleMode: 'contain',
103
+ * alignment: 'center',
104
+ * debug: true
105
+ * });
106
+ * ```
107
+ */
108
+ constructor(config: DisplayPluginConfig);
109
+ /**
110
+ * Detects orientation based on width/height ratio.
111
+ * @param width - Window width
112
+ * @param height - Window height
113
+ * @returns 'landscape' if width >= height, 'portrait' otherwise
114
+ */
115
+ private detectOrientation;
116
+ /**
117
+ * Gets the active configuration based on current orientation.
118
+ * Falls back to landscape config if portrait is not defined.
119
+ */
120
+ private getActiveConfig;
121
+ /**
122
+ * Gets the current orientation.
123
+ */
124
+ get orientation(): 'landscape' | 'portrait';
125
+ /**
126
+ * Initializes the DisplayPlugin.
127
+ *
128
+ * Sets up canvas styles and prepares for resize handling.
129
+ * Called automatically by PixiEngine during plugin initialization.
130
+ *
131
+ * @param engine - PixiEngine instance
132
+ */
133
+ initialize(engine: PixiEngine): void;
134
+ /**
135
+ * Plugin is ready immediately after initialization
136
+ */
137
+ onReady(engine: PixiEngine): void;
138
+ /**
139
+ * Check if plugin is ready for use
140
+ */
141
+ isReady(): boolean;
142
+ /**
143
+ * Gets the design width.
144
+ *
145
+ * @returns Design width in logical pixels
146
+ *
147
+ * @example
148
+ * ```typescript
149
+ * const centerX = displayPlugin.width / 2; // 960 for 1920x1080
150
+ * ```
151
+ */
152
+ get width(): number;
153
+ /**
154
+ * Gets the design height.
155
+ *
156
+ * @returns Design height in logical pixels
157
+ *
158
+ * @example
159
+ * ```typescript
160
+ * const centerY = displayPlugin.height / 2; // 540 for 1920x1080
161
+ * ```
162
+ */
163
+ get height(): number;
164
+ /**
165
+ * Gets the last resize data.
166
+ * Useful for getting current display state without waiting for resize event.
167
+ *
168
+ * @returns Last resize data or null if not yet resized
169
+ */
170
+ getLastResizeData(): DisplayResizeData | null;
171
+ /**
172
+ * Gets the current fullscreen state.
173
+ *
174
+ * @returns True if the document is in fullscreen mode
175
+ */
176
+ get isFullscreen(): boolean;
177
+ /**
178
+ * Toggles fullscreen mode using the Browser Fullscreen API.
179
+ *
180
+ * @param state - Optional. If true, enters fullscreen. If false, exits fullscreen.
181
+ * If not provided, toggles the current state.
182
+ * @returns Promise that resolves when the fullscreen state change is complete
183
+ *
184
+ * @example
185
+ * ```typescript
186
+ * // Toggle fullscreen
187
+ * await displayPlugin.toggleFullscreen();
188
+ *
189
+ * // Enter fullscreen
190
+ * await displayPlugin.toggleFullscreen(true);
191
+ *
192
+ * // Exit fullscreen
193
+ * await displayPlugin.toggleFullscreen(false);
194
+ * ```
195
+ */
196
+ toggleFullscreen(state?: boolean): Promise<void>;
197
+ /**
198
+ * Cleanup the plugin
199
+ */
200
+ cleanup(): void;
201
+ /**
202
+ * Plugin update process
203
+ */
204
+ onUpdate(_deltaTime: number): boolean;
205
+ [key: symbol]: any;
206
+ }
207
+ export type { DisplayPluginConfig, DisplayEvents, DisplayResizeData } from './DisplayPlugin.types';
208
+ //# sourceMappingURL=DisplayPlugin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DisplayPlugin.d.ts","sourceRoot":"","sources":["../../../plugins/display/DisplayPlugin.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,KAAK,EAAE,mBAAmB,EAAqB,aAAa,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AACtH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAEpD,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEvC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuEG;AACH,qBAAa,aAAc,SAAQ,YAAY,CAAC,aAAa,CAAE,YAAW,YAAY;IAC7E,IAAI,EAAE,MAAM,CAAmB;IAC/B,QAAQ,EAAE,MAAM,CAAO;IAE9B;;OAEG;IACI,YAAY,EAAE,MAAM,EAAE,CAAM;IAEnC,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,OAAO,CAA2B;IAC1C,OAAO,CAAC,MAAM,CAAsB;IACpC,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,mBAAmB,CAAyC;IACpE,OAAO,CAAC,aAAa,CAAoB;IACzC,OAAO,CAAC,eAAe,CAAkC;IAEzD;;;;;;;;;;;;;;;OAeG;gBACS,MAAM,EAAE,mBAAmB;IAqBvC;;;;;OAKG;IACH,OAAO,CAAC,iBAAiB;IAIzB;;;OAGG;IACH,OAAO,CAAC,eAAe;IAWvB;;OAEG;IACH,IAAW,WAAW,IAAI,WAAW,GAAG,UAAU,CAEjD;IAED;;;;;;;OAOG;IACI,UAAU,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI;IAwB3C;;OAEG;IACI,OAAO,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI;IAIxC;;OAEG;IACI,OAAO,IAAI,OAAO;IA4OzB;;;;;;;;;OASG;IACH,IAAW,KAAK,IAAI,MAAM,CAEzB;IAED;;;;;;;;;OASG;IACH,IAAW,MAAM,IAAI,MAAM,CAE1B;IAED;;;;;OAKG;IACI,iBAAiB;IAIxB;;;;OAIG;IACH,IAAW,YAAY,IAAI,OAAO,CAEjC;IAED;;;;;;;;;;;;;;;;;;OAkBG;IACU,gBAAgB,CAAC,KAAK,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAmB7D;;OAEG;IACI,OAAO,IAAI,IAAI;IAMtB;;OAEG;IAEI,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO;IAK5C,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAGD,YAAY,EAAE,mBAAmB,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC"}