@caperjs/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 (600) hide show
  1. package/LICENSE +22 -0
  2. package/README.md +62 -0
  3. package/cli/add.mjs +197 -0
  4. package/cli/audio/cc.mjs +128 -0
  5. package/cli/audio/index.mjs +42 -0
  6. package/cli/audio/utils.mjs +56 -0
  7. package/cli/create-caper.mjs +8 -0
  8. package/cli/create.mjs +351 -0
  9. package/cli/install-peerdeps.mjs +57 -0
  10. package/cli/update.mjs +9 -0
  11. package/cli/utils.mjs +81 -0
  12. package/cli/vite.mjs +55 -0
  13. package/cli/voiceover/generateVoiceoverCSV.mjs +158 -0
  14. package/cli/voiceover/index.mjs +1 -0
  15. package/cli.mjs +157 -0
  16. package/client.d.ts +7 -0
  17. package/config/assetpack.mjs +212 -0
  18. package/config/tsconfig.base.json +28 -0
  19. package/config/vite.mjs +2464 -0
  20. package/extras/css/accessibility.css +9 -0
  21. package/extras/css/fullscreen.css +28 -0
  22. package/extras/css/loader.css +67 -0
  23. package/extras/llms.txt +1602 -0
  24. package/lib/CaptionsPlugin-Dc8fIrjy.js +277 -0
  25. package/lib/CaptionsPlugin-Dc8fIrjy.js.map +1 -0
  26. package/lib/DataAdapter-BY2114sp.js +84 -0
  27. package/lib/DataAdapter-BY2114sp.js.map +1 -0
  28. package/lib/DebugRenderer-BJMLILqI.js +1385 -0
  29. package/lib/DebugRenderer-BJMLILqI.js.map +1 -0
  30. package/lib/DevToolsPlugin-wQ5rOkn0.js +31 -0
  31. package/lib/DevToolsPlugin-wQ5rOkn0.js.map +1 -0
  32. package/lib/GSAPPlugin-DHhSZKv8.js +350 -0
  33. package/lib/GSAPPlugin-DHhSZKv8.js.map +1 -0
  34. package/lib/LayoutPlugin-B-DF9SYM.js +1271 -0
  35. package/lib/LayoutPlugin-B-DF9SYM.js.map +1 -0
  36. package/lib/SpinePlugin-Dz_3dljz.js +6077 -0
  37. package/lib/SpinePlugin-Dz_3dljz.js.map +1 -0
  38. package/lib/StatsPlugin-Cg82JMBD.js +70 -0
  39. package/lib/StatsPlugin-Cg82JMBD.js.map +1 -0
  40. package/lib/VoiceOverPlugin-BR3ImT8C.js +114 -0
  41. package/lib/VoiceOverPlugin-BR3ImT8C.js.map +1 -0
  42. package/lib/caper.mjs +1233 -0
  43. package/lib/caper.mjs.map +1 -0
  44. package/lib/core/Application.d.ts +268 -0
  45. package/lib/core/Application.d.ts.map +1 -0
  46. package/lib/core/config.d.ts +39 -0
  47. package/lib/core/config.d.ts.map +1 -0
  48. package/lib/core/create.d.ts +41 -0
  49. package/lib/core/create.d.ts.map +1 -0
  50. package/lib/core/globals.d.ts +51 -0
  51. package/lib/core/globals.d.ts.map +1 -0
  52. package/lib/core/index.d.ts +7 -0
  53. package/lib/core/index.d.ts.map +1 -0
  54. package/lib/core/interfaces/IApplication.d.ts +566 -0
  55. package/lib/core/interfaces/IApplication.d.ts.map +1 -0
  56. package/lib/core/interfaces/IApplicationOptions.d.ts +65 -0
  57. package/lib/core/interfaces/IApplicationOptions.d.ts.map +1 -0
  58. package/lib/core/interfaces/ICoreFunctions.d.ts +49 -0
  59. package/lib/core/interfaces/ICoreFunctions.d.ts.map +1 -0
  60. package/lib/core/interfaces/ICoreSignals.d.ts +57 -0
  61. package/lib/core/interfaces/ICoreSignals.d.ts.map +1 -0
  62. package/lib/core/interfaces/IStorageCapability.d.ts +20 -0
  63. package/lib/core/interfaces/IStorageCapability.d.ts.map +1 -0
  64. package/lib/core/interfaces/IStorageCapability.test.d.ts +2 -0
  65. package/lib/core/interfaces/IStorageCapability.test.d.ts.map +1 -0
  66. package/lib/core/interfaces/index.d.ts +7 -0
  67. package/lib/core/interfaces/index.d.ts.map +1 -0
  68. package/lib/core/registries.d.ts +8 -0
  69. package/lib/core/registries.d.ts.map +1 -0
  70. package/lib/core/types.d.ts +12 -0
  71. package/lib/core/types.d.ts.map +1 -0
  72. package/lib/display/AnimatedSprite.d.ts +40 -0
  73. package/lib/display/AnimatedSprite.d.ts.map +1 -0
  74. package/lib/display/Camera.d.ts +102 -0
  75. package/lib/display/Camera.d.ts.map +1 -0
  76. package/lib/display/Container.d.ts +115 -0
  77. package/lib/display/Container.d.ts.map +1 -0
  78. package/lib/display/Entity.d.ts +46 -0
  79. package/lib/display/Entity.d.ts.map +1 -0
  80. package/lib/display/ParticleContainer.d.ts +58 -0
  81. package/lib/display/ParticleContainer.d.ts.map +1 -0
  82. package/lib/display/Scene.d.ts +250 -0
  83. package/lib/display/Scene.d.ts.map +1 -0
  84. package/lib/display/SceneTransition.d.ts +41 -0
  85. package/lib/display/SceneTransition.d.ts.map +1 -0
  86. package/lib/display/SpineAnimation.d.ts +76 -0
  87. package/lib/display/SpineAnimation.d.ts.map +1 -0
  88. package/lib/display/Svg.d.ts +5 -0
  89. package/lib/display/Svg.d.ts.map +1 -0
  90. package/lib/display/index.d.ts +10 -0
  91. package/lib/display/index.d.ts.map +1 -0
  92. package/lib/env.d.ts +6 -0
  93. package/lib/hello.d.ts +2 -0
  94. package/lib/hello.d.ts.map +1 -0
  95. package/lib/index.d.ts +15 -0
  96. package/lib/index.d.ts.map +1 -0
  97. package/lib/mixins/animated.d.ts +53 -0
  98. package/lib/mixins/animated.d.ts.map +1 -0
  99. package/lib/mixins/factory/Factory.d.ts +8 -0
  100. package/lib/mixins/factory/Factory.d.ts.map +1 -0
  101. package/lib/mixins/factory/const.d.ts +67 -0
  102. package/lib/mixins/factory/const.d.ts.map +1 -0
  103. package/lib/mixins/factory/index.d.ts +8 -0
  104. package/lib/mixins/factory/index.d.ts.map +1 -0
  105. package/lib/mixins/factory/methods.d.ts +3 -0
  106. package/lib/mixins/factory/methods.d.ts.map +1 -0
  107. package/lib/mixins/factory/props.d.ts +160 -0
  108. package/lib/mixins/factory/props.d.ts.map +1 -0
  109. package/lib/mixins/factory/registry.d.ts +27 -0
  110. package/lib/mixins/factory/registry.d.ts.map +1 -0
  111. package/lib/mixins/factory/registry.test.d.ts +2 -0
  112. package/lib/mixins/factory/registry.test.d.ts.map +1 -0
  113. package/lib/mixins/factory/schema.d.ts +71 -0
  114. package/lib/mixins/factory/schema.d.ts.map +1 -0
  115. package/lib/mixins/factory/ui-registry.d.ts +20 -0
  116. package/lib/mixins/factory/ui-registry.d.ts.map +1 -0
  117. package/lib/mixins/factory/utils.d.ts +11 -0
  118. package/lib/mixins/factory/utils.d.ts.map +1 -0
  119. package/lib/mixins/focus.d.ts +15 -0
  120. package/lib/mixins/focus.d.ts.map +1 -0
  121. package/lib/mixins/index.d.ts +6 -0
  122. package/lib/mixins/index.d.ts.map +1 -0
  123. package/lib/mixins/interaction.d.ts +20 -0
  124. package/lib/mixins/interaction.d.ts.map +1 -0
  125. package/lib/mixins/signals.d.ts +15 -0
  126. package/lib/mixins/signals.d.ts.map +1 -0
  127. package/lib/plugins/AssetsPlugin.d.ts +79 -0
  128. package/lib/plugins/AssetsPlugin.d.ts.map +1 -0
  129. package/lib/plugins/DataAdapter.d.ts +95 -0
  130. package/lib/plugins/DataAdapter.d.ts.map +1 -0
  131. package/lib/plugins/DevToolsPlugin.d.ts +97 -0
  132. package/lib/plugins/DevToolsPlugin.d.ts.map +1 -0
  133. package/lib/plugins/FullScreenPlugin.d.ts +240 -0
  134. package/lib/plugins/FullScreenPlugin.d.ts.map +1 -0
  135. package/lib/plugins/GSAPPlugin.d.ts +634 -0
  136. package/lib/plugins/GSAPPlugin.d.ts.map +1 -0
  137. package/lib/plugins/KeyboardPlugin.d.ts +53 -0
  138. package/lib/plugins/KeyboardPlugin.d.ts.map +1 -0
  139. package/lib/plugins/LayoutPlugin.d.ts +100 -0
  140. package/lib/plugins/LayoutPlugin.d.ts.map +1 -0
  141. package/lib/plugins/LookupPlugin.d.ts +223 -0
  142. package/lib/plugins/LookupPlugin.d.ts.map +1 -0
  143. package/lib/plugins/Plugin.d.ts +132 -0
  144. package/lib/plugins/Plugin.d.ts.map +1 -0
  145. package/lib/plugins/Plugin.test.d.ts +2 -0
  146. package/lib/plugins/Plugin.test.d.ts.map +1 -0
  147. package/lib/plugins/PopupManagerPlugin.d.ts +108 -0
  148. package/lib/plugins/PopupManagerPlugin.d.ts.map +1 -0
  149. package/lib/plugins/ResizerPlugin.d.ts +62 -0
  150. package/lib/plugins/ResizerPlugin.d.ts.map +1 -0
  151. package/lib/plugins/SceneManagerPlugin.d.ts +122 -0
  152. package/lib/plugins/SceneManagerPlugin.d.ts.map +1 -0
  153. package/lib/plugins/StatsPlugin.d.ts +8 -0
  154. package/lib/plugins/StatsPlugin.d.ts.map +1 -0
  155. package/lib/plugins/TimerPlugin.d.ts +401 -0
  156. package/lib/plugins/TimerPlugin.d.ts.map +1 -0
  157. package/lib/plugins/WebEventsPlugin.d.ts +60 -0
  158. package/lib/plugins/WebEventsPlugin.d.ts.map +1 -0
  159. package/lib/plugins/actions/ActionsPlugin.d.ts +39 -0
  160. package/lib/plugins/actions/ActionsPlugin.d.ts.map +1 -0
  161. package/lib/plugins/actions/constants.d.ts +52 -0
  162. package/lib/plugins/actions/constants.d.ts.map +1 -0
  163. package/lib/plugins/actions/index.d.ts +5 -0
  164. package/lib/plugins/actions/index.d.ts.map +1 -0
  165. package/lib/plugins/actions/methods.d.ts +11 -0
  166. package/lib/plugins/actions/methods.d.ts.map +1 -0
  167. package/lib/plugins/actions/types.d.ts +25 -0
  168. package/lib/plugins/actions/types.d.ts.map +1 -0
  169. package/lib/plugins/audio/AudioChannel.d.ts +46 -0
  170. package/lib/plugins/audio/AudioChannel.d.ts.map +1 -0
  171. package/lib/plugins/audio/AudioChannel.test.d.ts +2 -0
  172. package/lib/plugins/audio/AudioChannel.test.d.ts.map +1 -0
  173. package/lib/plugins/audio/AudioInstance.d.ts +79 -0
  174. package/lib/plugins/audio/AudioInstance.d.ts.map +1 -0
  175. package/lib/plugins/audio/AudioManagerPlugin.d.ts +323 -0
  176. package/lib/plugins/audio/AudioManagerPlugin.d.ts.map +1 -0
  177. package/lib/plugins/audio/VoiceOverPlugin.d.ts +69 -0
  178. package/lib/plugins/audio/VoiceOverPlugin.d.ts.map +1 -0
  179. package/lib/plugins/audio/index.d.ts +4 -0
  180. package/lib/plugins/audio/index.d.ts.map +1 -0
  181. package/lib/plugins/breakpoints/BreakpointPlugin.d.ts +109 -0
  182. package/lib/plugins/breakpoints/BreakpointPlugin.d.ts.map +1 -0
  183. package/lib/plugins/breakpoints/BreakpointPlugin.test.d.ts +2 -0
  184. package/lib/plugins/breakpoints/BreakpointPlugin.test.d.ts.map +1 -0
  185. package/lib/plugins/breakpoints/evaluate.d.ts +53 -0
  186. package/lib/plugins/breakpoints/evaluate.d.ts.map +1 -0
  187. package/lib/plugins/breakpoints/evaluate.test.d.ts +2 -0
  188. package/lib/plugins/breakpoints/evaluate.test.d.ts.map +1 -0
  189. package/lib/plugins/breakpoints/index.d.ts +4 -0
  190. package/lib/plugins/breakpoints/index.d.ts.map +1 -0
  191. package/lib/plugins/breakpoints/methods.d.ts +23 -0
  192. package/lib/plugins/breakpoints/methods.d.ts.map +1 -0
  193. package/lib/plugins/breakpoints/types.d.ts +70 -0
  194. package/lib/plugins/breakpoints/types.d.ts.map +1 -0
  195. package/lib/plugins/captions/CaptionsPlugin.d.ts +150 -0
  196. package/lib/plugins/captions/CaptionsPlugin.d.ts.map +1 -0
  197. package/lib/plugins/captions/CaptionsRenderer.d.ts +37 -0
  198. package/lib/plugins/captions/CaptionsRenderer.d.ts.map +1 -0
  199. package/lib/plugins/captions/index.d.ts +3 -0
  200. package/lib/plugins/captions/index.d.ts.map +1 -0
  201. package/lib/plugins/defaults.d.ts +4 -0
  202. package/lib/plugins/defaults.d.ts.map +1 -0
  203. package/lib/plugins/focus/FocusManagerPlugin.d.ts +148 -0
  204. package/lib/plugins/focus/FocusManagerPlugin.d.ts.map +1 -0
  205. package/lib/plugins/focus/FocusOutliner.d.ts +32 -0
  206. package/lib/plugins/focus/FocusOutliner.d.ts.map +1 -0
  207. package/lib/plugins/focus/index.d.ts +3 -0
  208. package/lib/plugins/focus/index.d.ts.map +1 -0
  209. package/lib/plugins/i18nPlugin.d.ts +128 -0
  210. package/lib/plugins/i18nPlugin.d.ts.map +1 -0
  211. package/lib/plugins/index.d.ts +18 -0
  212. package/lib/plugins/index.d.ts.map +1 -0
  213. package/lib/plugins/input/AbstractControls.d.ts +8 -0
  214. package/lib/plugins/input/AbstractControls.d.ts.map +1 -0
  215. package/lib/plugins/input/Controls.d.ts +16 -0
  216. package/lib/plugins/input/Controls.d.ts.map +1 -0
  217. package/lib/plugins/input/InputPlugin.d.ts +52 -0
  218. package/lib/plugins/input/InputPlugin.d.ts.map +1 -0
  219. package/lib/plugins/input/constants.d.ts +8 -0
  220. package/lib/plugins/input/constants.d.ts.map +1 -0
  221. package/lib/plugins/input/index.d.ts +10 -0
  222. package/lib/plugins/input/index.d.ts.map +1 -0
  223. package/lib/plugins/input/interfaces.d.ts +30 -0
  224. package/lib/plugins/input/interfaces.d.ts.map +1 -0
  225. package/lib/plugins/input/keyboard/KeyboardContols.d.ts +28 -0
  226. package/lib/plugins/input/keyboard/KeyboardContols.d.ts.map +1 -0
  227. package/lib/plugins/input/keyboard/index.d.ts +3 -0
  228. package/lib/plugins/input/keyboard/index.d.ts.map +1 -0
  229. package/lib/plugins/input/keyboard/interfaces.d.ts +18 -0
  230. package/lib/plugins/input/keyboard/interfaces.d.ts.map +1 -0
  231. package/lib/plugins/input/methods.d.ts +4 -0
  232. package/lib/plugins/input/methods.d.ts.map +1 -0
  233. package/lib/plugins/input/touch/TouchControls.d.ts +35 -0
  234. package/lib/plugins/input/touch/TouchControls.d.ts.map +1 -0
  235. package/lib/plugins/input/touch/constants.d.ts +14 -0
  236. package/lib/plugins/input/touch/constants.d.ts.map +1 -0
  237. package/lib/plugins/input/touch/index.d.ts +4 -0
  238. package/lib/plugins/input/touch/index.d.ts.map +1 -0
  239. package/lib/plugins/input/touch/interfaces.d.ts +15 -0
  240. package/lib/plugins/input/touch/interfaces.d.ts.map +1 -0
  241. package/lib/plugins/input/types.d.ts +32 -0
  242. package/lib/plugins/input/types.d.ts.map +1 -0
  243. package/lib/plugins/input/utils.d.ts +23 -0
  244. package/lib/plugins/input/utils.d.ts.map +1 -0
  245. package/lib/plugins/spine/SpinePlugin.d.ts +6 -0
  246. package/lib/plugins/spine/SpinePlugin.d.ts.map +1 -0
  247. package/lib/plugins/spine/pixi-spine/BatchableSpineSlot.d.ts +31 -0
  248. package/lib/plugins/spine/pixi-spine/BatchableSpineSlot.d.ts.map +1 -0
  249. package/lib/plugins/spine/pixi-spine/Spine.d.ts +211 -0
  250. package/lib/plugins/spine/pixi-spine/Spine.d.ts.map +1 -0
  251. package/lib/plugins/spine/pixi-spine/SpineDebugRenderer.d.ts +81 -0
  252. package/lib/plugins/spine/pixi-spine/SpineDebugRenderer.d.ts.map +1 -0
  253. package/lib/plugins/spine/pixi-spine/SpinePipe.d.ts +21 -0
  254. package/lib/plugins/spine/pixi-spine/SpinePipe.d.ts.map +1 -0
  255. package/lib/plugins/spine/pixi-spine/SpineTexture.d.ts +16 -0
  256. package/lib/plugins/spine/pixi-spine/SpineTexture.d.ts.map +1 -0
  257. package/lib/plugins/spine/pixi-spine/assets/atlasLoader.d.ts +10 -0
  258. package/lib/plugins/spine/pixi-spine/assets/atlasLoader.d.ts.map +1 -0
  259. package/lib/plugins/spine/pixi-spine/assets/skeletonLoader.d.ts +6 -0
  260. package/lib/plugins/spine/pixi-spine/assets/skeletonLoader.d.ts.map +1 -0
  261. package/lib/plugins/spine/pixi-spine/darktint/DarkTintBatchGeometry.d.ts +5 -0
  262. package/lib/plugins/spine/pixi-spine/darktint/DarkTintBatchGeometry.d.ts.map +1 -0
  263. package/lib/plugins/spine/pixi-spine/darktint/DarkTintBatcher.d.ts +22 -0
  264. package/lib/plugins/spine/pixi-spine/darktint/DarkTintBatcher.d.ts.map +1 -0
  265. package/lib/plugins/spine/pixi-spine/darktint/DarkTintShader.d.ts +5 -0
  266. package/lib/plugins/spine/pixi-spine/darktint/DarkTintShader.d.ts.map +1 -0
  267. package/lib/plugins/spine/pixi-spine/darktint/darkTintBit.d.ts +51 -0
  268. package/lib/plugins/spine/pixi-spine/darktint/darkTintBit.d.ts.map +1 -0
  269. package/lib/plugins/spine/pixi-spine/index.d.ts +9 -0
  270. package/lib/plugins/spine/pixi-spine/index.d.ts.map +1 -0
  271. package/lib/plugins/spine/pixi-spine/require-shim.d.ts +34 -0
  272. package/lib/plugins/spine/pixi-spine/require-shim.d.ts.map +1 -0
  273. package/lib/registries-CYCaYKZI.js +6885 -0
  274. package/lib/registries-CYCaYKZI.js.map +1 -0
  275. package/lib/signals/Signal.d.ts +16 -0
  276. package/lib/signals/Signal.d.ts.map +1 -0
  277. package/lib/signals/Signal.test.d.ts +2 -0
  278. package/lib/signals/Signal.test.d.ts.map +1 -0
  279. package/lib/signals/index.d.ts +3 -0
  280. package/lib/signals/index.d.ts.map +1 -0
  281. package/lib/store/Store.d.ts +56 -0
  282. package/lib/store/Store.d.ts.map +1 -0
  283. package/lib/store/Store.test.d.ts +2 -0
  284. package/lib/store/Store.test.d.ts.map +1 -0
  285. package/lib/store/index.d.ts +2 -0
  286. package/lib/store/index.d.ts.map +1 -0
  287. package/lib/types/framework.d.ts +46 -0
  288. package/lib/types/gsap.d.ts +23 -0
  289. package/lib/ui/Button.d.ts +162 -0
  290. package/lib/ui/Button.d.ts.map +1 -0
  291. package/lib/ui/FlexContainer.d.ts +109 -0
  292. package/lib/ui/FlexContainer.d.ts.map +1 -0
  293. package/lib/ui/Input.d.ts +384 -0
  294. package/lib/ui/Input.d.ts.map +1 -0
  295. package/lib/ui/Joystick.d.ts +61 -0
  296. package/lib/ui/Joystick.d.ts.map +1 -0
  297. package/lib/ui/Popup.d.ts +109 -0
  298. package/lib/ui/Popup.d.ts.map +1 -0
  299. package/lib/ui/Toast.d.ts +131 -0
  300. package/lib/ui/Toast.d.ts.map +1 -0
  301. package/lib/ui/Toaster.d.ts +188 -0
  302. package/lib/ui/Toaster.d.ts.map +1 -0
  303. package/lib/ui/UICanvas.d.ts +155 -0
  304. package/lib/ui/UICanvas.d.ts.map +1 -0
  305. package/lib/ui/index.d.ts +9 -0
  306. package/lib/ui/index.d.ts.map +1 -0
  307. package/lib/utils/array.d.ts +11 -0
  308. package/lib/utils/array.d.ts.map +1 -0
  309. package/lib/utils/bind.d.ts +21 -0
  310. package/lib/utils/bind.d.ts.map +1 -0
  311. package/lib/utils/canvas.d.ts +2 -0
  312. package/lib/utils/canvas.d.ts.map +1 -0
  313. package/lib/utils/color.d.ts +66 -0
  314. package/lib/utils/color.d.ts.map +1 -0
  315. package/lib/utils/console/Logger.d.ts +15 -0
  316. package/lib/utils/console/Logger.d.ts.map +1 -0
  317. package/lib/utils/console/index.d.ts +2 -0
  318. package/lib/utils/console/index.d.ts.map +1 -0
  319. package/lib/utils/debug.d.ts +34 -0
  320. package/lib/utils/debug.d.ts.map +1 -0
  321. package/lib/utils/define.d.ts +100 -0
  322. package/lib/utils/define.d.ts.map +1 -0
  323. package/lib/utils/env.d.ts +4 -0
  324. package/lib/utils/env.d.ts.map +1 -0
  325. package/lib/utils/events.d.ts +12 -0
  326. package/lib/utils/events.d.ts.map +1 -0
  327. package/lib/utils/framework.d.ts +12 -0
  328. package/lib/utils/framework.d.ts.map +1 -0
  329. package/lib/utils/index.d.ts +28 -0
  330. package/lib/utils/index.d.ts.map +1 -0
  331. package/lib/utils/map.d.ts +31 -0
  332. package/lib/utils/map.d.ts.map +1 -0
  333. package/lib/utils/math.d.ts +15 -0
  334. package/lib/utils/math.d.ts.map +1 -0
  335. package/lib/utils/misc.d.ts +13 -0
  336. package/lib/utils/misc.d.ts.map +1 -0
  337. package/lib/utils/number.d.ts +2 -0
  338. package/lib/utils/number.d.ts.map +1 -0
  339. package/lib/utils/object.d.ts +21 -0
  340. package/lib/utils/object.d.ts.map +1 -0
  341. package/lib/utils/padding.d.ts +4 -0
  342. package/lib/utils/padding.d.ts.map +1 -0
  343. package/lib/utils/pixi.d.ts +42 -0
  344. package/lib/utils/pixi.d.ts.map +1 -0
  345. package/lib/utils/platform.d.ts +20 -0
  346. package/lib/utils/platform.d.ts.map +1 -0
  347. package/lib/utils/point.d.ts +66 -0
  348. package/lib/utils/point.d.ts.map +1 -0
  349. package/lib/utils/promise/Queue.d.ts +60 -0
  350. package/lib/utils/promise/Queue.d.ts.map +1 -0
  351. package/lib/utils/promise/functions.d.ts +14 -0
  352. package/lib/utils/promise/functions.d.ts.map +1 -0
  353. package/lib/utils/promise/index.d.ts +3 -0
  354. package/lib/utils/promise/index.d.ts.map +1 -0
  355. package/lib/utils/random.d.ts +42 -0
  356. package/lib/utils/random.d.ts.map +1 -0
  357. package/lib/utils/rect.d.ts +26 -0
  358. package/lib/utils/rect.d.ts.map +1 -0
  359. package/lib/utils/set.d.ts +15 -0
  360. package/lib/utils/set.d.ts.map +1 -0
  361. package/lib/utils/string.d.ts +3 -0
  362. package/lib/utils/string.d.ts.map +1 -0
  363. package/lib/utils/text.d.ts +3 -0
  364. package/lib/utils/text.d.ts.map +1 -0
  365. package/lib/utils/typefilters.d.ts +4 -0
  366. package/lib/utils/typefilters.d.ts.map +1 -0
  367. package/lib/utils/types.d.ts +209 -0
  368. package/lib/utils/types.d.ts.map +1 -0
  369. package/lib/utils/vite.d.ts +25 -0
  370. package/lib/utils/vite.d.ts.map +1 -0
  371. package/lib/utils/web.d.ts +3 -0
  372. package/lib/utils/web.d.ts.map +1 -0
  373. package/lib/version.d.ts +3 -0
  374. package/lib/version.d.ts.map +1 -0
  375. package/lib/webgl-check.d.ts +2 -0
  376. package/lib/webgl-check.d.ts.map +1 -0
  377. package/package.json +138 -0
  378. package/src/core/Application.ts +1091 -0
  379. package/src/core/config.ts +168 -0
  380. package/src/core/create.ts +186 -0
  381. package/src/core/globals.ts +299 -0
  382. package/src/core/index.ts +6 -0
  383. package/src/core/interfaces/IApplication.ts +628 -0
  384. package/src/core/interfaces/IApplicationOptions.ts +81 -0
  385. package/src/core/interfaces/ICoreFunctions.ts +86 -0
  386. package/src/core/interfaces/ICoreSignals.ts +77 -0
  387. package/src/core/interfaces/IStorageCapability.test.ts +27 -0
  388. package/src/core/interfaces/IStorageCapability.ts +26 -0
  389. package/src/core/interfaces/index.ts +6 -0
  390. package/src/core/registries.ts +7 -0
  391. package/src/core/types.ts +13 -0
  392. package/src/display/AnimatedSprite.ts +227 -0
  393. package/src/display/Camera.ts +371 -0
  394. package/src/display/Container.ts +240 -0
  395. package/src/display/Entity.ts +50 -0
  396. package/src/display/ParticleContainer.ts +107 -0
  397. package/src/display/Scene.ts +305 -0
  398. package/src/display/SceneTransition.ts +108 -0
  399. package/src/display/SpineAnimation.ts +170 -0
  400. package/src/display/Svg.ts +9 -0
  401. package/src/display/index.ts +11 -0
  402. package/src/env.d.ts +6 -0
  403. package/src/hello.ts +20 -0
  404. package/src/index.ts +17 -0
  405. package/src/mixins/animated.ts +340 -0
  406. package/src/mixins/factory/Factory.ts +24 -0
  407. package/src/mixins/factory/const.ts +363 -0
  408. package/src/mixins/factory/index.ts +7 -0
  409. package/src/mixins/factory/methods.ts +21 -0
  410. package/src/mixins/factory/props.ts +207 -0
  411. package/src/mixins/factory/registry.test.ts +83 -0
  412. package/src/mixins/factory/registry.ts +61 -0
  413. package/src/mixins/factory/schema.ts +153 -0
  414. package/src/mixins/factory/ui-registry.ts +54 -0
  415. package/src/mixins/factory/utils.ts +130 -0
  416. package/src/mixins/focus.ts +124 -0
  417. package/src/mixins/index.ts +5 -0
  418. package/src/mixins/interaction.ts +74 -0
  419. package/src/mixins/signals.ts +49 -0
  420. package/src/plugins/AssetsPlugin.ts +407 -0
  421. package/src/plugins/DataAdapter.ts +259 -0
  422. package/src/plugins/DevToolsPlugin.ts +103 -0
  423. package/src/plugins/FullScreenPlugin.ts +359 -0
  424. package/src/plugins/GSAPPlugin.ts +811 -0
  425. package/src/plugins/KeyboardPlugin.ts +160 -0
  426. package/src/plugins/LayoutPlugin.ts +127 -0
  427. package/src/plugins/LookupPlugin.ts +308 -0
  428. package/src/plugins/Plugin.test.ts +73 -0
  429. package/src/plugins/Plugin.ts +200 -0
  430. package/src/plugins/PopupManagerPlugin.ts +263 -0
  431. package/src/plugins/ResizerPlugin.ts +220 -0
  432. package/src/plugins/SceneManagerPlugin.ts +669 -0
  433. package/src/plugins/StatsPlugin.ts +24 -0
  434. package/src/plugins/TimerPlugin.ts +841 -0
  435. package/src/plugins/WebEventsPlugin.ts +132 -0
  436. package/src/plugins/actions/ActionsPlugin.ts +113 -0
  437. package/src/plugins/actions/constants.ts +45 -0
  438. package/src/plugins/actions/index.ts +4 -0
  439. package/src/plugins/actions/methods.ts +28 -0
  440. package/src/plugins/actions/types.ts +47 -0
  441. package/src/plugins/audio/AudioChannel.test.ts +101 -0
  442. package/src/plugins/audio/AudioChannel.ts +164 -0
  443. package/src/plugins/audio/AudioInstance.ts +228 -0
  444. package/src/plugins/audio/AudioManagerPlugin.ts +903 -0
  445. package/src/plugins/audio/VoiceOverPlugin.ts +354 -0
  446. package/src/plugins/audio/index.ts +3 -0
  447. package/src/plugins/breakpoints/BreakpointPlugin.test.ts +228 -0
  448. package/src/plugins/breakpoints/BreakpointPlugin.ts +293 -0
  449. package/src/plugins/breakpoints/evaluate.test.ts +239 -0
  450. package/src/plugins/breakpoints/evaluate.ts +201 -0
  451. package/src/plugins/breakpoints/index.ts +3 -0
  452. package/src/plugins/breakpoints/methods.ts +22 -0
  453. package/src/plugins/breakpoints/types.ts +86 -0
  454. package/src/plugins/captions/CaptionsPlugin.ts +468 -0
  455. package/src/plugins/captions/CaptionsRenderer.ts +184 -0
  456. package/src/plugins/captions/font/Sans.fnt +116 -0
  457. package/src/plugins/captions/font/Sans.png +0 -0
  458. package/src/plugins/captions/index.ts +2 -0
  459. package/src/plugins/defaults.ts +95 -0
  460. package/src/plugins/focus/FocusManagerPlugin.ts +773 -0
  461. package/src/plugins/focus/FocusOutliner.ts +111 -0
  462. package/src/plugins/focus/index.ts +2 -0
  463. package/src/plugins/i18nPlugin.ts +284 -0
  464. package/src/plugins/index.ts +17 -0
  465. package/src/plugins/input/AbstractControls.ts +15 -0
  466. package/src/plugins/input/Controls.ts +55 -0
  467. package/src/plugins/input/InputPlugin.ts +168 -0
  468. package/src/plugins/input/constants.ts +12 -0
  469. package/src/plugins/input/index.ts +9 -0
  470. package/src/plugins/input/interfaces.ts +37 -0
  471. package/src/plugins/input/keyboard/KeyboardContols.ts +182 -0
  472. package/src/plugins/input/keyboard/index.ts +2 -0
  473. package/src/plugins/input/keyboard/interfaces.ts +21 -0
  474. package/src/plugins/input/methods.ts +9 -0
  475. package/src/plugins/input/touch/TouchControls.ts +237 -0
  476. package/src/plugins/input/touch/constants.ts +34 -0
  477. package/src/plugins/input/touch/index.ts +3 -0
  478. package/src/plugins/input/touch/interfaces.ts +15 -0
  479. package/src/plugins/input/types.ts +41 -0
  480. package/src/plugins/input/utils.ts +10 -0
  481. package/src/plugins/spine/SpinePlugin.ts +14 -0
  482. package/src/plugins/spine/pixi-spine/BatchableSpineSlot.ts +138 -0
  483. package/src/plugins/spine/pixi-spine/Spine.ts +897 -0
  484. package/src/plugins/spine/pixi-spine/SpineDebugRenderer.ts +615 -0
  485. package/src/plugins/spine/pixi-spine/SpinePipe.ts +197 -0
  486. package/src/plugins/spine/pixi-spine/SpineTexture.ts +143 -0
  487. package/src/plugins/spine/pixi-spine/assets/atlasLoader.ts +156 -0
  488. package/src/plugins/spine/pixi-spine/assets/skeletonLoader.ts +80 -0
  489. package/src/plugins/spine/pixi-spine/darktint/DarkTintBatchGeometry.ts +92 -0
  490. package/src/plugins/spine/pixi-spine/darktint/DarkTintBatcher.ts +186 -0
  491. package/src/plugins/spine/pixi-spine/darktint/DarkTintShader.ts +74 -0
  492. package/src/plugins/spine/pixi-spine/darktint/darkTintBit.ts +77 -0
  493. package/src/plugins/spine/pixi-spine/index.ts +43 -0
  494. package/src/plugins/spine/pixi-spine/require-shim.ts +43 -0
  495. package/src/signals/Signal.test.ts +54 -0
  496. package/src/signals/Signal.ts +68 -0
  497. package/src/signals/index.ts +10 -0
  498. package/src/store/Store.test.ts +146 -0
  499. package/src/store/Store.ts +192 -0
  500. package/src/store/index.ts +1 -0
  501. package/src/types/framework.d.ts +47 -0
  502. package/src/types/gsap.d.ts +26 -0
  503. package/src/ui/Button.ts +454 -0
  504. package/src/ui/FlexContainer.ts +526 -0
  505. package/src/ui/Input.ts +1274 -0
  506. package/src/ui/Joystick.ts +288 -0
  507. package/src/ui/Popup.ts +242 -0
  508. package/src/ui/Toast.ts +399 -0
  509. package/src/ui/Toaster.ts +409 -0
  510. package/src/ui/UICanvas.ts +812 -0
  511. package/src/ui/index.ts +8 -0
  512. package/src/utils/array.ts +24 -0
  513. package/src/utils/bind.ts +79 -0
  514. package/src/utils/canvas.ts +26 -0
  515. package/src/utils/color.ts +126 -0
  516. package/src/utils/console/Logger.ts +86 -0
  517. package/src/utils/console/index.ts +1 -0
  518. package/src/utils/debug.ts +69 -0
  519. package/src/utils/define.ts +120 -0
  520. package/src/utils/env.ts +3 -0
  521. package/src/utils/events.ts +10 -0
  522. package/src/utils/framework.ts +45 -0
  523. package/src/utils/index.ts +27 -0
  524. package/src/utils/map.ts +59 -0
  525. package/src/utils/math.ts +19 -0
  526. package/src/utils/misc.ts +45 -0
  527. package/src/utils/number.ts +3 -0
  528. package/src/utils/object.ts +43 -0
  529. package/src/utils/padding.ts +43 -0
  530. package/src/utils/pixi.ts +116 -0
  531. package/src/utils/platform.ts +33 -0
  532. package/src/utils/point.ts +123 -0
  533. package/src/utils/promise/Queue.ts +125 -0
  534. package/src/utils/promise/functions.ts +16 -0
  535. package/src/utils/promise/index.ts +2 -0
  536. package/src/utils/random.ts +69 -0
  537. package/src/utils/rect.ts +50 -0
  538. package/src/utils/set.ts +32 -0
  539. package/src/utils/string.ts +9 -0
  540. package/src/utils/text.ts +30 -0
  541. package/src/utils/typefilters.ts +29 -0
  542. package/src/utils/types.ts +426 -0
  543. package/src/utils/vite.ts +41 -0
  544. package/src/utils/web.ts +7 -0
  545. package/src/version.ts +3 -0
  546. package/src/webgl-check.ts +12 -0
  547. package/templates/app/default/.eslintrc.json +21 -0
  548. package/templates/app/default/.meta.json +4 -0
  549. package/templates/app/default/.nvmrc +1 -0
  550. package/templates/app/default/.prettierrc.json +7 -0
  551. package/templates/app/default/README.md +8 -0
  552. package/templates/app/default/assets/audio{m}/music/Cheerful Annoyance.ogg +0 -0
  553. package/templates/app/default/assets/audio{m}/music/Drumming Sticks.ogg +0 -0
  554. package/templates/app/default/assets/audio{m}/music/Game Over.ogg +0 -0
  555. package/templates/app/default/assets/audio{m}/music/Mishief Stroll.ogg +0 -0
  556. package/templates/app/default/assets/audio{m}/music/Night at the Beach.ogg +0 -0
  557. package/templates/app/default/assets/audio{m}/sfx/click.ogg +0 -0
  558. package/templates/app/default/assets/audio{m}/sfx/hover.ogg +0 -0
  559. package/templates/app/default/assets/required{m}/caper.png +0 -0
  560. package/templates/app/default/assets/required{m}/fonts{fix}/SpaceGrotesk-Bold{family=Space Grotesk}{wf}.ttf +0 -0
  561. package/templates/app/default/assets/required{m}/fonts{fix}/SpaceGrotesk-Medium{family=Space Grotesk}{wf}.ttf +0 -0
  562. package/templates/app/default/assets/required{m}/fonts{fix}/SpaceGrotesk-Regular{family=Space Grotesk}{wf}.ttf +0 -0
  563. package/templates/app/default/assets/required{m}/fonts{fix}/Syncopate-Bold{family=Syncopate}{wf}.ttf +0 -0
  564. package/templates/app/default/assets/required{m}/ui{tps}/btn/blue.png +0 -0
  565. package/templates/app/default/assets/required{m}/ui{tps}/btn/green.png +0 -0
  566. package/templates/app/default/assets/required{m}/ui{tps}/btn/grey.png +0 -0
  567. package/templates/app/default/assets/required{m}/ui{tps}/btn/orange.png +0 -0
  568. package/templates/app/default/assets/required{m}/ui{tps}/btn/purple.png +0 -0
  569. package/templates/app/default/assets/required{m}/ui{tps}/btn/red.png +0 -0
  570. package/templates/app/default/assets/required{m}/ui{tps}/btn/yellow.png +0 -0
  571. package/templates/app/default/assets/required{m}/ui{tps}/btn_a/down.png +0 -0
  572. package/templates/app/default/assets/required{m}/ui{tps}/btn_a/over.png +0 -0
  573. package/templates/app/default/assets/required{m}/ui{tps}/btn_a/up.png +0 -0
  574. package/templates/app/default/assets/required{m}/ui{tps}/btn_b/down.png +0 -0
  575. package/templates/app/default/assets/required{m}/ui{tps}/btn_b/over.png +0 -0
  576. package/templates/app/default/assets/required{m}/ui{tps}/btn_b/up.png +0 -0
  577. package/templates/app/default/assets/required{m}/ui{tps}/joystick/base.png +0 -0
  578. package/templates/app/default/assets/required{m}/ui{tps}/joystick/handle.png +0 -0
  579. package/templates/app/default/assets/required{m}/wordmark.svg +1 -0
  580. package/templates/app/default/assets/spine{m}/spineboy-pro.png +0 -0
  581. package/templates/app/default/assets/spine{m}/spineboy-pro.skel +0 -0
  582. package/templates/app/default/assets/spine{m}/spineboy-pro{fix}.atlas +94 -0
  583. package/templates/app/default/caper.config.ts +60 -0
  584. package/templates/app/default/index.html +23 -0
  585. package/templates/app/default/package.template.json +17 -0
  586. package/templates/app/default/public/favicon.ico +0 -0
  587. package/templates/app/default/src/__APPLICATION_NAME__.ts +3 -0
  588. package/templates/app/default/src/main.ts +9 -0
  589. package/templates/app/default/src/scenes/Base.ts +39 -0
  590. package/templates/app/default/src/scenes/Game.ts +34 -0
  591. package/templates/app/default/src/scenes/Splash.ts +70 -0
  592. package/templates/app/default/src/scenes/Start.ts +90 -0
  593. package/templates/app/default/src/utils/Constants.ts +3 -0
  594. package/templates/app/default/tsconfig.json +1 -0
  595. package/templates/plugin/package.template.json +33 -0
  596. package/templates/plugin/src/Plugin.template.ts +24 -0
  597. package/templates/plugin/src/index.template.ts +3 -0
  598. package/templates/plugin/tsconfig.template.json +43 -0
  599. package/templates/plugin/vite-env.template.d.ts +16 -0
  600. package/templates/plugin/vite.config.template.ts +19 -0
@@ -0,0 +1,122 @@
1
+ import { Container } from 'pixi.js';
2
+ import { IApplication } from '../core';
3
+ import { IScene, ISceneTransition, SceneTransition } from '../display';
4
+ import { Signal } from '../signals';
5
+ import { AppTypeOverrides, AssetTypes, BundleTypes, SceneId, SceneImportList, SceneLoadArgs } from '../utils';
6
+ import { IPlugin, Plugin } from './Plugin';
7
+ export type AppScenes = AppTypeOverrides['Scenes'];
8
+ export interface ISceneManagerPlugin extends IPlugin {
9
+ isFirstScene: boolean;
10
+ onSceneChangeStart: Signal<(detail: {
11
+ exiting: string | null;
12
+ entering: string;
13
+ }) => void>;
14
+ onSceneChangeComplete: Signal<(detail: {
15
+ current: string;
16
+ }) => void>;
17
+ view: Container;
18
+ list: SceneImportList<IScene>;
19
+ splash: {
20
+ view: ISceneTransition | null;
21
+ hideWhen: SplashHideWhen;
22
+ zOrder: SplashZOrder;
23
+ };
24
+ transition?: ISceneTransition;
25
+ currentScene: IScene;
26
+ readonly ids: AppScenes[];
27
+ readonly defaultScene: string;
28
+ readonly debugGroupsList: any[];
29
+ setDefaultLoadMethod(method: LoadSceneMethod): void;
30
+ loadDefaultScene(): Promise<void>;
31
+ /** Typed overload — enforces `props` required when `Scene<Props>` declares a non-void generic. */
32
+ loadScene<K extends SceneId>(id: K, ...args: SceneLoadArgs<K>): Promise<void>;
33
+ loadScene(sceneIdOrLoadSceneConfig: LoadSceneConfig | AppScenes): Promise<void>;
34
+ getSceneFromHash(): string | null;
35
+ }
36
+ export type LoadSceneMethod = 'immediate' | 'exitEnter' | 'enterExit' | 'enterBehind' | 'transitionExitEnter' | 'exitTransitionEnter';
37
+ export type SplashHideWhen = 'firstSceneEnter' | 'requiredAssetsLoaded';
38
+ export type SplashZOrder = 'top' | 'bottom';
39
+ export type SplashOptions = {
40
+ view: ISceneTransition | typeof SceneTransition | null;
41
+ zOrder: SplashZOrder;
42
+ hideWhen: SplashHideWhen;
43
+ preload?: {
44
+ assets?: AssetTypes;
45
+ bundles?: BundleTypes;
46
+ };
47
+ };
48
+ export type LoadSceneConfig = {
49
+ id: AppScenes;
50
+ method?: LoadSceneMethod;
51
+ };
52
+ export declare class SceneManagerPlugin extends Plugin implements ISceneManagerPlugin {
53
+ readonly id: string;
54
+ onSceneChangeStart: Signal<(detail: {
55
+ exiting: string | null;
56
+ entering: string;
57
+ }) => void>;
58
+ onSceneChangeComplete: Signal<(detail: {
59
+ current: string;
60
+ }) => void>;
61
+ splash: {
62
+ view: ISceneTransition | null;
63
+ hideWhen: SplashHideWhen;
64
+ zOrder: SplashZOrder;
65
+ preload?: {
66
+ assets?: AssetTypes;
67
+ bundles?: BundleTypes;
68
+ };
69
+ };
70
+ transition?: ISceneTransition;
71
+ view: Container;
72
+ isFirstScene: boolean;
73
+ list: SceneImportList<IScene>;
74
+ groupOrder: string[];
75
+ currentScene: IScene;
76
+ defaultScene: string;
77
+ debugGroupsList: any[];
78
+ private _sceneModules;
79
+ /** Props for the pending `loadScene(id, props)` call, assigned onto the new scene before `initialize()` runs. */
80
+ private _pendingLoadProps;
81
+ private _lastScene;
82
+ private _queue;
83
+ private _defaultLoadMethod;
84
+ private _currentSceneId;
85
+ private _debugVisible;
86
+ private _debugMenu;
87
+ private _useHash;
88
+ private _sceneSelect;
89
+ constructor();
90
+ get ids(): string[];
91
+ setDefaultLoadMethod(method: LoadSceneMethod): void;
92
+ destroy(): void;
93
+ initialize(_options: any, app: IApplication): Promise<void>;
94
+ private _onPause;
95
+ private _onResume;
96
+ loadDefaultScene(): Promise<void>;
97
+ loadScene<K extends SceneId>(id: K, ...args: SceneLoadArgs<K>): Promise<void>;
98
+ loadScene(sceneIdOrLoadSceneConfig: LoadSceneConfig | string): Promise<void>;
99
+ getSceneFromHash(): string | null;
100
+ protected getCoreSignals(): string[];
101
+ protected getCoreFunctions(): string[];
102
+ private _listenForHashChange;
103
+ private _createCurrentScene;
104
+ private _queueComplete;
105
+ private _destroyLastScene;
106
+ private _exitLastScene;
107
+ private _loadCurrentScene;
108
+ private _unloadLastScene;
109
+ private _initializeCurrentScene;
110
+ private _addCurrentScene;
111
+ private _addCurrentSceneBehind;
112
+ private _enterCurrentScene;
113
+ private _startCurrentScene;
114
+ private _showTransition;
115
+ private _hideTransition;
116
+ private _showSplash;
117
+ private _hideSplash;
118
+ private _createDebugMenu;
119
+ private _enableDebugMenu;
120
+ private _disableDebugMenu;
121
+ }
122
+ //# sourceMappingURL=SceneManagerPlugin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SceneManagerPlugin.d.ts","sourceRoot":"","sources":["../../src/plugins/SceneManagerPlugin.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import { default as Stats } from 'stats.js';
2
+ import { Plugin } from './Plugin';
3
+ export declare class StatsPlugin extends Plugin {
4
+ readonly id = "StatsPlugin";
5
+ stats: Stats;
6
+ initialize(): Promise<void>;
7
+ }
8
+ //# sourceMappingURL=StatsPlugin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StatsPlugin.d.ts","sourceRoot":"","sources":["../../src/plugins/StatsPlugin.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,UAAU,CAAC;AAE7B,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,qBAAa,WAAY,SAAQ,MAAM;IACrC,SAAgB,EAAE,iBAAiB;IAC5B,KAAK,EAAE,KAAK,CAAC;IAEP,UAAU;CAcxB"}
@@ -0,0 +1,401 @@
1
+ import { Signal } from '../signals';
2
+ import { IPlugin, Plugin } from './Plugin';
3
+ /**
4
+ * Configuration options for creating a timer.
5
+ */
6
+ export interface TimerOptions {
7
+ /** Duration in milliseconds. If not provided, timer counts up indefinitely */
8
+ duration?: number;
9
+ /** Whether to start the timer immediately upon creation */
10
+ autoStart?: boolean;
11
+ /** Whether to restart the timer when it completes */
12
+ loop?: boolean;
13
+ /** Run timer in a web worker for better performance and independence from main thread */
14
+ useWorker?: boolean;
15
+ /** Update interval in milliseconds for worker-based timers. Default is 16ms (roughly 60fps) */
16
+ workerInterval?: number;
17
+ /** Callback fired when the timer completes. Not called in count-up mode */
18
+ onComplete?: () => void;
19
+ /** Callback fired on each timer tick with the remaining time (or elapsed time in count-up mode) */
20
+ onTick?: (remaining: number) => void;
21
+ }
22
+ export type TimeFormat = 'mm:ss' | 'hh:mm:ss' | 'ms';
23
+ export type TimerObject = {
24
+ h: number;
25
+ m: number;
26
+ s: number;
27
+ ms: number;
28
+ };
29
+ /**
30
+ * Formats a time duration in milliseconds into a human-readable string or object.
31
+ * Supports multiple time formats and return types for flexible time representation.
32
+ *
33
+ * @param ms - Time duration in milliseconds to format
34
+ * @param format - Output format for string representation
35
+ * - 'mm:ss' (default): Minutes and seconds (e.g., "02:30")
36
+ * - 'hh:mm:ss': Hours, minutes, and seconds (e.g., "01:30:45")
37
+ * - 'ms': Total seconds with milliseconds (e.g., "90.50")
38
+ * @param returnFormat - Determines the return type
39
+ * - 'string' (default): Returns formatted time string
40
+ * - 'object': Returns object with h, m, s, ms properties
41
+ *
42
+ * @returns Formatted time string or object containing time components
43
+ *
44
+ * @example
45
+ * ```typescript
46
+ * // Format as mm:ss string (default)
47
+ * formatTime(150000) // "02:30"
48
+ *
49
+ * // Format as hh:mm:ss string
50
+ * formatTime(5430000, 'hh:mm:ss') // "01:30:30"
51
+ *
52
+ * // Format as seconds with milliseconds
53
+ * formatTime(90500, 'ms') // "90.50"
54
+ *
55
+ * // Get time components as object
56
+ * formatTime(5430000, 'hh:mm:ss', 'object')
57
+ * // Returns: { h: 1, m: 30, s: 30, ms: 0 }
58
+ *
59
+ * // Use in a game timer display
60
+ * timer.onTick = (remaining) => {
61
+ * display.text = formatTime(remaining, 'mm:ss');
62
+ * };
63
+ * ```
64
+ */
65
+ export declare function formatTime(ms: number, format?: TimeFormat, returnFormat?: 'object'): TimerObject;
66
+ export declare function formatTime(ms: number, format?: TimeFormat, returnFormat?: 'string'): string;
67
+ /**
68
+ * A Timer instance that can count down or up, optionally running in a web worker.
69
+ *
70
+ * Features:
71
+ * - Count down from a duration or count up indefinitely
72
+ * - Run in main thread (synced with Pixi ticker) or web worker
73
+ * - Pause, resume, and reset functionality
74
+ * - Loop option for repeating timers
75
+ * - Tick and completion callbacks
76
+ *
77
+ * @example
78
+ * ```typescript
79
+ * // Create a 10-second countdown timer
80
+ * const timer = new Timer({
81
+ * duration: 10000,
82
+ * autoStart: true,
83
+ * loop: true,
84
+ * onTick: (remaining) => {
85
+ * console.log(`${remaining / 1000} seconds remaining`);
86
+ * },
87
+ * onComplete: () => {
88
+ * console.log('Timer completed!');
89
+ * }
90
+ * }, timerPlugin);
91
+ *
92
+ * // Pause the timer
93
+ * timer.pause();
94
+ *
95
+ * // Resume the timer
96
+ * timer.start();
97
+ *
98
+ * // Reset the timer
99
+ * timer.reset();
100
+ * ```
101
+ */
102
+ export declare class Timer {
103
+ private options;
104
+ private plugin;
105
+ private startTime;
106
+ private pausedTime;
107
+ private isPaused;
108
+ private isDestroyed;
109
+ private timerId;
110
+ private isWorkerTimer;
111
+ constructor(options: TimerOptions | undefined, plugin: TimerPlugin);
112
+ /**
113
+ * Starts or resumes the timer.
114
+ * If the timer was paused, it will continue from where it left off.
115
+ */
116
+ start(): void;
117
+ /**
118
+ * Pauses the timer, maintaining its current state.
119
+ * The timer can be resumed later from the same point.
120
+ */
121
+ pause(): void;
122
+ /**
123
+ * Resets the timer to its initial state.
124
+ * If the timer is not paused, it will start running immediately after reset.
125
+ */
126
+ reset(): void;
127
+ /**
128
+ * Destroys the timer, cleaning up all resources.
129
+ * A destroyed timer cannot be restarted.
130
+ */
131
+ destroy(): void;
132
+ private _destroy;
133
+ update(): void;
134
+ /**
135
+ * Gets the current time value (elapsed time for count-up, remaining time for countdown).
136
+ * @returns Time in milliseconds
137
+ */
138
+ getTime(): number;
139
+ /**
140
+ * Gets the remaining time for countdown timers.
141
+ * @returns Remaining time in milliseconds, or 0 for count-up timers
142
+ */
143
+ getRemainingTime(): number;
144
+ /**
145
+ * Gets the unique ID of this timer.
146
+ * @returns The timer's UUID
147
+ */
148
+ getId(): string;
149
+ /**
150
+ * Gets the timer's configuration options.
151
+ * @returns The TimerOptions object used to create this timer
152
+ */
153
+ getOptions(): TimerOptions;
154
+ /**
155
+ * Checks if this timer is running in a web worker.
156
+ * @returns true if the timer is worker-based, false if running on main thread
157
+ */
158
+ isWorker(): boolean;
159
+ /**
160
+ * Adds time to the timer. For countdown timers, this increases the duration.
161
+ * For count-up timers, this effectively adds time to the elapsed time.
162
+ *
163
+ * @param ms - Time to add in milliseconds
164
+ * @returns The new time value after adjustment
165
+ *
166
+ * @example
167
+ * ```typescript
168
+ * // Add 5 seconds to a countdown timer
169
+ * timer.addTime(5000);
170
+ *
171
+ * // Add 5 seconds to a count-up timer
172
+ * timer.addTime(5000);
173
+ * ```
174
+ */
175
+ addTime(ms: number): number;
176
+ /**
177
+ * Removes time from the timer. For countdown timers, this decreases the duration.
178
+ * For count-up timers, this effectively removes time from the elapsed time.
179
+ *
180
+ * @param ms - Time to remove in milliseconds
181
+ * @returns The new time value after adjustment
182
+ *
183
+ * @example
184
+ * ```typescript
185
+ * // Remove 5 seconds from a countdown timer
186
+ * timer.removeTime(5000);
187
+ *
188
+ * // Remove 5 seconds from a count-up timer
189
+ * timer.removeTime(5000);
190
+ * ```
191
+ */
192
+ removeTime(ms: number): number;
193
+ }
194
+ /**
195
+ * Interface for the Timer Plugin which manages both main-thread and web worker timers.
196
+ *
197
+ * The Timer Plugin provides functionality for:
198
+ * - Creating and managing countdown and count-up timers
199
+ * - Running timers in a web worker for better performance
200
+ * - Pausing and resuming all timers
201
+ * - Handling timer lifecycle events
202
+ *
203
+ * @example
204
+ * ```typescript
205
+ * // Create a 5-second countdown timer
206
+ * const countdown = this.app.timers.createTimer({
207
+ * duration: 5000,
208
+ * autoStart: true,
209
+ * onTick: (remaining) => {
210
+ * console.log(`Time remaining: ${formatTime(remaining, 'mm:ss')}`);
211
+ * },
212
+ * onComplete: () => {
213
+ * console.log('Timer completed!');
214
+ * }
215
+ * });
216
+ *
217
+ * // Create a count-up timer in a web worker
218
+ * const stopwatch = this.app.timers.createTimer({
219
+ * useWorker: true,
220
+ * workerInterval: 100, // Update every 100ms
221
+ * onTick: (elapsed) => {
222
+ * console.log(`Time elapsed: ${formatTime(elapsed, 'mm:ss')}`);
223
+ * }
224
+ * });
225
+ *
226
+ * // Pause all timers
227
+ * this.app.timers.pauseAllTimers();
228
+ *
229
+ * // Resume all timers
230
+ * this.app.timers.resumeAllTimers();
231
+ * ```
232
+ */
233
+ export interface ITimerPlugin extends IPlugin {
234
+ /**
235
+ * Signal emitted when a new timer is created.
236
+ * @example
237
+ * ```typescript
238
+ * this.app.timers.onTimerCreated.connect((timer) => {
239
+ * console.log(`New timer created with ID: ${timer.getId()}`);
240
+ * });
241
+ * ```
242
+ */
243
+ onTimerCreated: Signal<(timer: Timer) => void>;
244
+ /**
245
+ * Signal emitted when a timer is destroyed.
246
+ * @example
247
+ * ```typescript
248
+ * this.app.timers.onTimerDestroyed.connect((timer) => {
249
+ * console.log(`Timer destroyed: ${timer.getId()}`);
250
+ * });
251
+ * ```
252
+ */
253
+ onTimerDestroyed: Signal<(timer: Timer) => void>;
254
+ /**
255
+ * Signal emitted when all timers are paused.
256
+ * @example
257
+ * ```typescript
258
+ * this.app.timers.onAllTimersPaused.connect(() => {
259
+ * console.log('All timers paused');
260
+ * });
261
+ * ```
262
+ */
263
+ onAllTimersPaused: Signal<() => void>;
264
+ /**
265
+ * Signal emitted when all timers are resumed.
266
+ * @example
267
+ * ```typescript
268
+ * this.app.timers.onAllTimersResumed.connect(() => {
269
+ * console.log('All timers resumed');
270
+ * });
271
+ * ```
272
+ */
273
+ onAllTimersResumed: Signal<() => void>;
274
+ /**
275
+ * Creates a new timer with the specified options.
276
+ *
277
+ * @param options - Configuration options for the timer
278
+ * @returns A new Timer instance
279
+ *
280
+ * @example
281
+ * ```typescript
282
+ * // Create a looping timer that runs in a web worker
283
+ * const timer = this.app.timers.createTimer({
284
+ * duration: 1000,
285
+ * loop: true,
286
+ * useWorker: true,
287
+ * onTick: (remaining) => {
288
+ * console.log(`${remaining}ms remaining`);
289
+ * }
290
+ * });
291
+ * ```
292
+ */
293
+ createTimer(options?: TimerOptions): Timer;
294
+ /**
295
+ * Destroys a timer, cleaning up all resources and removing it from the plugin.
296
+ *
297
+ * @param timer - The timer instance to destroy
298
+ *
299
+ * @example
300
+ * ```typescript
301
+ * const timer = this.app.timers.createTimer({ duration: 5000 });
302
+ * // ... later ...
303
+ * this.app.timers.destroyTimer(timer);
304
+ * ```
305
+ */
306
+ destroyTimer(timer: Timer): void;
307
+ /**
308
+ * Pauses all active timers, both main thread and worker timers.
309
+ * Timers will maintain their current state and can be resumed later.
310
+ *
311
+ * @example
312
+ * ```typescript
313
+ * // Pause all timers when the game loses focus
314
+ * window.onblur = () => {
315
+ * this.app.timers.pauseAllTimers();
316
+ * };
317
+ * ```
318
+ */
319
+ pauseAllTimers(): void;
320
+ /**
321
+ * Resumes all paused timers, both main thread and worker timers.
322
+ * Timers will continue from their paused state.
323
+ *
324
+ * @example
325
+ * ```typescript
326
+ * // Resume all timers when the game regains focus
327
+ * window.onfocus = () => {
328
+ * this.app.timers.resumeAllTimers();
329
+ * };
330
+ * ```
331
+ */
332
+ resumeAllTimers(): void;
333
+ /**
334
+ * Destroys all active timers, both main thread and worker timers .
335
+ * This will remove all timers from the plugin and stop them.
336
+ *
337
+ * @example
338
+ * ```typescript
339
+ * this.app.timers.destroyAllTimers();
340
+ * ```
341
+ */
342
+ destroyAllTimers(): void;
343
+ /**
344
+ * Resets a worker timer to its initial state.
345
+ * This is primarily used internally by the Timer class.
346
+ *
347
+ * @param timerId - The ID of the worker timer to reset
348
+ *
349
+ * @example
350
+ * ```typescript
351
+ * // This is typically called internally by the Timer class
352
+ * this.app.timers.resetWorkerTimer(timer.getId());
353
+ * ```
354
+ */
355
+ resetWorkerTimer(timerId: string): void;
356
+ /**
357
+ * Adjusts the time of a worker timer.
358
+ * This is primarily used internally by the Timer class.
359
+ *
360
+ * @param timerId - The ID of the worker timer to adjust
361
+ * @param timeAdjustment - The amount of time to add (positive) or remove (negative) in milliseconds
362
+ *
363
+ * @example
364
+ * ```typescript
365
+ * // This is typically called internally by the Timer class
366
+ * this.app.timers.adjustWorkerTimer(timer.getId(), 5000); // Add 5 seconds
367
+ * ```
368
+ */
369
+ adjustWorkerTimer(timerId: string, timeAdjustment: number): void;
370
+ }
371
+ export declare class TimerPlugin extends Plugin implements ITimerPlugin {
372
+ private mainThreadTimers;
373
+ private workerTimers;
374
+ private isPageVisible;
375
+ private worker;
376
+ private timerCallbacks;
377
+ private _hasWorkerSupport;
378
+ get hasWorkerSupport(): boolean;
379
+ readonly onTimerCreated: Signal<(timer: Timer) => void>;
380
+ readonly onTimerDestroyed: Signal<(timer: Timer) => void>;
381
+ readonly onAllTimersPaused: Signal<() => void>;
382
+ readonly onAllTimersResumed: Signal<() => void>;
383
+ constructor();
384
+ protected getCoreFunctions(): string[];
385
+ protected getCoreSignals(): string[];
386
+ postInitialize(): void;
387
+ private initWorker;
388
+ private handleWorkerMessage;
389
+ startWorkerTimer(timerId: string, options: TimerOptions): void;
390
+ stopWorkerTimer(timerId: string): void;
391
+ resetWorkerTimer(timerId: string): void;
392
+ destroy(): void;
393
+ private update;
394
+ createTimer(options?: TimerOptions): Timer;
395
+ destroyTimer(timer: Timer): void;
396
+ pauseAllTimers(): void;
397
+ resumeAllTimers(): void;
398
+ destroyAllTimers(): void;
399
+ adjustWorkerTimer(timerId: string, timeAdjustment: number): void;
400
+ }
401
+ //# sourceMappingURL=TimerPlugin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TimerPlugin.d.ts","sourceRoot":"","sources":["../../src/plugins/TimerPlugin.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,60 @@
1
+ import { Application } from '../core/Application';
2
+ import { Signal } from '../signals';
3
+ import { Size, Orientation } from '../utils';
4
+ import { IPlugin, Plugin } from './Plugin';
5
+ export interface IWebEventsPlugin extends IPlugin {
6
+ onResize: Signal<(size: {
7
+ width: number;
8
+ height: number;
9
+ }) => void>;
10
+ onVisibilityChanged: Signal<(visible: boolean) => void>;
11
+ onOrientationChanged: Signal<({ orientation, screenOrientation }: {
12
+ orientation: Orientation;
13
+ screenOrientation: ScreenOrientation;
14
+ }) => void>;
15
+ }
16
+ /**
17
+ * Maintains a list of callbacks for specific web events and invokes callbacks when event occurs.
18
+ */
19
+ export declare class WebEventsPlugin extends Plugin implements IWebEventsPlugin {
20
+ readonly id = "webEvents";
21
+ onResize: Signal<(size: Size) => void>;
22
+ onVisibilityChanged: Signal<(visible: boolean) => void>;
23
+ onOrientationChanged: Signal<({ orientation, screenOrientation }: {
24
+ orientation: Orientation;
25
+ screenOrientation: ScreenOrientation;
26
+ }) => void>;
27
+ private _debouncedEmitVisibility;
28
+ /**
29
+ * Creates callback arrays and registers to web events.
30
+ */
31
+ constructor();
32
+ get app(): Application;
33
+ initialize(): void;
34
+ destroy(): void;
35
+ protected getCoreSignals(): string[];
36
+ /**
37
+ * Called when the browser visibility changes. Passes the `hidden` flag of the document to all callbacks.
38
+ */
39
+ private _onVisibilityChanged;
40
+ /**
41
+ * Called when the browser resizes.
42
+ */
43
+ private _onResize;
44
+ /**
45
+ * Called when the page is hidden.
46
+ * Some browsers (like Safari) don't support the `visibilitychange` event, so we also listen for `pagehide`.
47
+ * We're just mimicking the `visibilitychange` event here.
48
+ */
49
+ private _onPageHide;
50
+ /**
51
+ * Called when the page is shown.
52
+ * Some browsers (like Safari) don't support the `visibilitychange` event, so we also listen for `pageshow`.
53
+ * We're just mimicking the `visibilitychange` event here.
54
+ * @private
55
+ */
56
+ private _onPageShow;
57
+ private _emitVisibilityChanged;
58
+ private _onOrientationChanged;
59
+ }
60
+ //# sourceMappingURL=WebEventsPlugin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WebEventsPlugin.d.ts","sourceRoot":"","sources":["../../src/plugins/WebEventsPlugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AACpC,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,EAA4C,KAAK,WAAW,EAAE,MAAM,UAAU,CAAC;AACtF,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AACxC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,MAAM,WAAW,gBAAiB,SAAQ,OAAO;IAC/C,QAAQ,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC,CAAC;IACpE,mBAAmB,EAAE,MAAM,CAAC,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC,CAAC;IACxD,oBAAoB,EAAE,MAAM,CAC1B,CAAC,EAAE,WAAW,EAAE,iBAAiB,EAAE,EAAE;QAAE,WAAW,EAAE,WAAW,CAAC;QAAC,iBAAiB,EAAE,iBAAiB,CAAA;KAAE,KAAK,IAAI,CACjH,CAAC;CACH;AAED;;GAEG;AACH,qBAAa,eAAgB,SAAQ,MAAO,YAAW,gBAAgB;IACrE,SAAgB,EAAE,eAAe;IAG1B,QAAQ,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC,CAAsC;IAC5E,mBAAmB,EAAE,MAAM,CAAC,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC,CAA4C;IACnG,oBAAoB,EAAE,MAAM,CACjC,CAAC,EAAE,WAAW,EAAE,iBAAiB,EAAE,EAAE;QAAE,WAAW,EAAE,WAAW,CAAC;QAAC,iBAAiB,EAAE,iBAAiB,CAAA;KAAE,KAAK,IAAI,CACjH,CAEG;IACJ,OAAO,CAAC,wBAAwB,CAE1B;IAEN;;OAEG;;IAMH,IAAI,GAAG,IAAI,WAAW,CAErB;IAEM,UAAU,IAAI,IAAI;IASlB,OAAO;IAQd,SAAS,CAAC,cAAc,IAAI,MAAM,EAAE;IAIpC;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAI5B;;OAEG;IACH,OAAO,CAAC,SAAS;IAWjB;;;;OAIG;IACH,OAAO,CAAC,WAAW;IAInB;;;;;OAKG;IACH,OAAO,CAAC,WAAW;IAKnB,OAAO,CAAC,sBAAsB;IAI9B,OAAO,CAAC,qBAAqB;CAoB9B"}
@@ -0,0 +1,39 @@
1
+ import { Action, ActionContext, ActionDetail, ActionMap, ActionSignal } from '.';
2
+ import { IApplication } from '../../core';
3
+ import { Signal } from '../../signals';
4
+ import { IPlugin, Plugin } from '../Plugin';
5
+ export interface IActionsPlugin<C extends ActionContext = ActionContext> extends IPlugin {
6
+ context: C;
7
+ onActionContextChanged: Signal<(context: C) => void>;
8
+ onActionDispatched: Signal<(detail: ActionDetail) => void>;
9
+ initialize(options: Partial<IActionsPluginOptions>, app: IApplication): void;
10
+ getAction<TActionData = any>(action: Action | string): ActionSignal<TActionData>;
11
+ getActions(): ActionMap;
12
+ sendAction<TActionData = any>(actionId: Action | string, data?: TActionData): void;
13
+ setActionContext(context: C): string;
14
+ debug: boolean;
15
+ }
16
+ export interface IActionsPluginOptions {
17
+ actions: Partial<ActionMap>;
18
+ }
19
+ export declare class ActionsPlugin extends Plugin<IActionsPluginOptions> implements IActionsPlugin {
20
+ readonly id = "actions";
21
+ onActionContextChanged: Signal<(context: string | ActionContext) => void>;
22
+ onActionDispatched: Signal<(detail: ActionDetail) => void>;
23
+ private _context;
24
+ private _signals;
25
+ private _actions;
26
+ private _debug;
27
+ set debug(debug: boolean);
28
+ get debug(): boolean;
29
+ get context(): string | ActionContext;
30
+ set context(context: string | ActionContext);
31
+ initialize(_options: Partial<IActionsPluginOptions>, app: IApplication): void;
32
+ getAction<TActionData = any>(action: Action | string): ActionSignal<TActionData>;
33
+ getActions(): ActionMap;
34
+ sendAction<TActionData = any>(actionId: Action | string, data?: TActionData): void;
35
+ setActionContext(context: string | ActionContext): string;
36
+ protected getCoreFunctions(): string[];
37
+ protected getCoreSignals(): string[];
38
+ }
39
+ //# sourceMappingURL=ActionsPlugin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ActionsPlugin.d.ts","sourceRoot":"","sources":["../../../src/plugins/actions/ActionsPlugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,YAAY,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,GAAG,CAAC;AACjF,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAEvC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAE5C,MAAM,WAAW,cAAc,CAAC,CAAC,SAAS,aAAa,GAAG,aAAa,CAAE,SAAQ,OAAO;IACtF,OAAO,EAAE,CAAC,CAAC;IACX,sBAAsB,EAAE,MAAM,CAAC,CAAC,OAAO,EAAE,CAAC,KAAK,IAAI,CAAC,CAAC;IACrD,kBAAkB,EAAE,MAAM,CAAC,CAAC,MAAM,EAAE,YAAY,KAAK,IAAI,CAAC,CAAC;IAC3D,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,qBAAqB,CAAC,EAAE,GAAG,EAAE,YAAY,GAAG,IAAI,CAAC;IAC7E,SAAS,CAAC,WAAW,GAAG,GAAG,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,YAAY,CAAC,WAAW,CAAC,CAAC;IACjF,UAAU,IAAI,SAAS,CAAC;IACxB,UAAU,CAAC,WAAW,GAAG,GAAG,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,IAAI,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;IACnF,gBAAgB,CAAC,OAAO,EAAE,CAAC,GAAG,MAAM,CAAC;IACrC,KAAK,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;CAC7B;AAED,qBAAa,aAAc,SAAQ,MAAM,CAAC,qBAAqB,CAAE,YAAW,cAAc;IACxF,SAAgB,EAAE,aAAa;IAExB,sBAAsB,EAAE,MAAM,CAAC,CAAC,OAAO,EAAE,MAAM,GAAG,aAAa,KAAK,IAAI,CAAC,CAE5E;IAEG,kBAAkB,EAAE,MAAM,CAAC,CAAC,MAAM,EAAE,YAAY,KAAK,IAAI,CAAC,CAAgD;IAGjH,OAAO,CAAC,QAAQ,CAA4B;IAC5C,OAAO,CAAC,QAAQ,CAAiD;IACjE,OAAO,CAAC,QAAQ,CAA0B;IAC1C,OAAO,CAAC,MAAM,CAAkB;IAChC,IAAI,KAAK,CAAC,KAAK,EAAE,OAAO,EAEvB;IACD,IAAI,KAAK,IAAI,OAAO,CAEnB;IAGD,IAAI,OAAO,IAAI,MAAM,GAAG,aAAa,CAEpC;IAED,IAAI,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,aAAa,EAM1C;IAED,UAAU,CAAC,QAAQ,EAAE,OAAO,CAAC,qBAAqB,CAAC,EAAE,GAAG,EAAE,YAAY,GAAG,IAAI;IAI7E,SAAS,CAAC,WAAW,GAAG,GAAG,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,YAAY,CAAC,WAAW,CAAC;IAOhF,UAAU,IAAI,SAAS;IAIvB,UAAU,CAAC,WAAW,GAAG,GAAG,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,IAAI,CAAC,EAAE,WAAW,GAAG,IAAI;IA6BlF,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,aAAa,GAAG,MAAM;IAKzD,SAAS,CAAC,gBAAgB,IAAI,MAAM,EAAE;IAItC,SAAS,CAAC,cAAc,IAAI,MAAM,EAAE;CAGrC"}