@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,268 @@
1
+ import { gsap } from 'gsap';
2
+ import { AppConfig, IApplication, IApplicationOptions, ICaperAutomation, ICoreFunctions, ICoreSignals, PauseConfig } from '.';
3
+ import { ActionSignal, AppScenes, IAssetsPlugin, IAudioManagerPlugin, IBreakpointPlugin, IControls, IFocusManagerPlugin, Ii18nPlugin, IInputPlugin, IKeyboardPlugin, IPlugin, IPopupManagerPlugin, IResizerPlugin, ISceneManagerPlugin, IWebEventsPlugin, LoadSceneConfig } from '../plugins';
4
+ import { AssetsManifest, DestroyOptions, RendererDestroyOptions, Container as PIXIContainer, Application as PIXIPApplication, Point } from 'pixi.js';
5
+ import { IDataAdapter } from '../plugins/DataAdapter';
6
+ import { IStore } from '../store';
7
+ import { AppTypeOverrides, Eases, ImportList, ImportListItem, SceneId, SceneLoadArgs, Size } from '../utils';
8
+ import { defaultFactoryMethods } from '../mixins';
9
+ import { IActionsPlugin } from '../plugins/actions';
10
+ import { IVoiceOverPlugin } from '../plugins/audio/VoiceOverPlugin';
11
+ import { ICaptionsPlugin } from '../plugins/captions';
12
+ import { IFullScreenPlugin } from '../plugins/FullScreenPlugin';
13
+ import { IGSAPPlugin } from '../plugins/GSAPPlugin';
14
+ import { ILookupPlugin } from '../plugins/LookupPlugin';
15
+ import { ITimerPlugin } from '../plugins/TimerPlugin';
16
+ import { Signal } from '../signals';
17
+ type App = AppTypeOverrides['App'];
18
+ type AppContexts = AppTypeOverrides['Contexts'];
19
+ type AppActions = AppTypeOverrides['Actions'];
20
+ type AppPlugins = AppTypeOverrides['Plugins'];
21
+ export declare class Application extends PIXIPApplication implements IApplication {
22
+ static containerElement: HTMLElement;
23
+ static instance: IApplication;
24
+ private readonly __caper_method_binding_root;
25
+ private _debugContainer;
26
+ config: Partial<IApplicationOptions>;
27
+ /**
28
+ * Automation facade for Playwright / agent drivers. Only assigned when
29
+ * automation is enabled (dev env, `config.automation === true`, or
30
+ * `VITE_CAPER_AUTOMATION === 'true'`); otherwise undefined.
31
+ */
32
+ automation?: ICaperAutomation;
33
+ plugins: ImportList<IPlugin>;
34
+ manifest: string | AssetsManifest | undefined;
35
+ onPause: Signal<(config: PauseConfig) => void>;
36
+ onResume: Signal<(config: PauseConfig) => void>;
37
+ onResize: Signal<(size: Size) => void>;
38
+ /**
39
+ * Emitted when a plugin throws during initialize/postInitialize. Previously
40
+ * these failures bricked the app silently.
41
+ */
42
+ onPluginError: Signal<(detail: {
43
+ id: string;
44
+ phase: "initialize" | "postInitialize";
45
+ error: unknown;
46
+ }) => void>;
47
+ readonly _plugins: Map<string, IPlugin>;
48
+ protected _assetManager: IAssetsPlugin;
49
+ protected _lookup: ILookupPlugin;
50
+ protected _sceneManager: ISceneManagerPlugin;
51
+ protected _webEventsManager: IWebEventsPlugin;
52
+ protected _fullScreenPlugin: IFullScreenPlugin;
53
+ protected _keyboardManager: IKeyboardPlugin;
54
+ protected _focusManager: IFocusManagerPlugin;
55
+ protected _popupManager: IPopupManagerPlugin;
56
+ protected _timerPlugin: ITimerPlugin;
57
+ protected _audioManager: IAudioManagerPlugin;
58
+ protected _voiceoverPlugin: IVoiceOverPlugin;
59
+ protected _captionsPlugin: ICaptionsPlugin;
60
+ protected _actions: ActionSignal;
61
+ protected _isBooting: boolean;
62
+ protected _env: Record<string, string>;
63
+ protected _makeFactory: typeof defaultFactoryMethods;
64
+ protected _isFullScreen: boolean;
65
+ protected _fullScreenElement: HTMLElement | Window | null;
66
+ get make(): typeof defaultFactoryMethods;
67
+ get env(): Record<string, string>;
68
+ get debugContainer(): PIXIContainer;
69
+ protected _paused: boolean;
70
+ protected _pauseConfig: Partial<PauseConfig>;
71
+ get paused(): boolean;
72
+ pause(config?: Partial<PauseConfig>): void;
73
+ resume(): void;
74
+ togglePause(config?: Partial<PauseConfig>): void;
75
+ constructor();
76
+ protected _appVersion: string | number;
77
+ get appVersion(): string | number;
78
+ protected _appName: string;
79
+ get appName(): string;
80
+ protected _i18n: Ii18nPlugin;
81
+ get i18n(): Ii18nPlugin;
82
+ protected _resizer: IResizerPlugin;
83
+ get resizer(): IResizerPlugin;
84
+ protected _breakpoints: IBreakpointPlugin;
85
+ get breakpoints(): IBreakpointPlugin;
86
+ protected _actionsPlugin: IActionsPlugin<AppContexts>;
87
+ get actionsPlugin(): IActionsPlugin<AppContexts>;
88
+ protected _input: IInputPlugin;
89
+ get input(): IInputPlugin;
90
+ get controls(): IControls;
91
+ /**
92
+ * The GSAP plugin.
93
+ * @returns The GSAP plugin.
94
+ */
95
+ get animation(): IGSAPPlugin;
96
+ /**
97
+ * The GSAP instance.
98
+ * @returns The GSAP instance.
99
+ */
100
+ get anim(): typeof gsap;
101
+ /**
102
+ * Adds one or more GSAP tweens or timelines to a specified animation context.
103
+ * This uses the GSAPPlugin's custom animation context (a Set of tweens/timelines),
104
+ * not a `gsap.Context` instance. If no contextId is provided, animations are added
105
+ * to the plugin's global collection.
106
+ * @param animation - A single GSAP tween/timeline or an array of them.
107
+ * @param contextId - Optional ID of the animation context. Defaults to the global context.
108
+ * @returns The animation(s) that were added.
109
+ */
110
+ addAnimation(animation: gsap.core.Tween | gsap.core.Timeline | (gsap.core.Tween | gsap.core.Timeline)[], contextId?: string): gsap.core.Tween | gsap.core.Timeline | (gsap.core.Tween | gsap.core.Timeline)[];
111
+ /**
112
+ * Returns the registered eases or ease names.
113
+ * @param namesOnly - If true, returns only the ease names.
114
+ * @returns The registered eases or ease names.
115
+ */
116
+ eases(namesOnly?: boolean): Eases | string[];
117
+ protected _store: IStore;
118
+ get store(): IStore;
119
+ protected _center: Point;
120
+ get center(): Point;
121
+ get lookup(): ILookupPlugin;
122
+ getChildAtPath(path: string): PIXIContainer | undefined;
123
+ getPathForChild(container: PIXIContainer): string;
124
+ getChildrenAtPaths(...paths: string[]): PIXIContainer[];
125
+ getPathsForChildren(...containers: PIXIContainer[]): string[];
126
+ getAllPaths(): string[];
127
+ get assets(): IAssetsPlugin;
128
+ get scenes(): ISceneManagerPlugin;
129
+ loadScene<K extends SceneId>(id: K, ...args: SceneLoadArgs<K>): void;
130
+ loadScene(scene: LoadSceneConfig | AppScenes): void;
131
+ get webEvents(): IWebEventsPlugin;
132
+ get keyboard(): IKeyboardPlugin;
133
+ get focus(): IFocusManagerPlugin;
134
+ get size(): Size;
135
+ get popups(): IPopupManagerPlugin;
136
+ get timers(): ITimerPlugin;
137
+ get audio(): IAudioManagerPlugin;
138
+ get actionContext(): AppContexts;
139
+ set actionContext(context: AppContexts);
140
+ get voiceover(): IVoiceOverPlugin;
141
+ get captions(): ICaptionsPlugin;
142
+ /** Fullscreen plugin */
143
+ get fullScreen(): IFullScreenPlugin;
144
+ get fullScreenElement(): HTMLElement | Window | null;
145
+ get isFullScreen(): boolean;
146
+ get canFullscreen(): boolean;
147
+ setFullScreenElement(value: HTMLElement | Window | null): void;
148
+ setFullScreen(value: boolean): void;
149
+ toggleFullScreen(): void;
150
+ /** End Fullscreen plugin */
151
+ get isMobile(): boolean;
152
+ get isTouch(): boolean;
153
+ get signal(): ICoreSignals;
154
+ get signals(): ICoreSignals;
155
+ get func(): ICoreFunctions;
156
+ get exec(): ICoreFunctions;
157
+ protected _views: any[];
158
+ get views(): any[];
159
+ static getInstance<T extends App = App>(): T;
160
+ /**
161
+ * Destroy the application
162
+ * This will destroy all plugins and the store
163
+ * @param {RendererDestroyOptions} rendererDestroyOptions
164
+ * @param {DestroyOptions} options
165
+ */
166
+ destroy(rendererDestroyOptions?: RendererDestroyOptions, options?: DestroyOptions): void;
167
+ setContainer(container: HTMLElement): void;
168
+ initialize(config: Partial<AppConfig>, el?: HTMLElement): Promise<AppTypeOverrides['App']>;
169
+ getPlugin<T extends IPlugin>(pluginName: AppPlugins, debug?: boolean): T;
170
+ /**
171
+ * Framework post-initialization. Always runs the plugin `postInitialize` loop and
172
+ * core wiring, then invokes the user-overridable {@link postInitialize} hook last.
173
+ * The runtime (`create()`) calls this — apps should not call it directly, and must
174
+ * NOT need to call `super` from their own `postInitialize` override to get wired up.
175
+ */
176
+ _postInitialize(): Promise<void>;
177
+ /**
178
+ * User-overridable post-initialization hook, invoked after all framework wiring is
179
+ * complete. Override to perform app setup that depends on a fully initialized
180
+ * environment. Safe to override WITHOUT calling `super` — framework post-init lives
181
+ * in {@link _postInitialize}, which the runtime calls.
182
+ */
183
+ postInitialize(): Promise<void>;
184
+ getUnloadedPlugin(id: string): ImportListItem<IPlugin> | undefined;
185
+ loadPlugin(listItem: ImportListItem, isDefault?: boolean): Promise<void>;
186
+ /**
187
+ * Gets an ActionSignal for the specified action type
188
+ * @template TActionData - The type of data associated with the action
189
+ * @param {A} action - The action to get the signal for
190
+ * @returns {ActionSignal<TActionData>} A signal that can be used to listen for the action
191
+ * @example
192
+ * // Listen for a 'jump' action
193
+ * app.actions('jump').connect((data) => {
194
+ * player.jump(data.power);
195
+ * });
196
+ */
197
+ actions<TActionData = any>(action: AppActions): ActionSignal<TActionData>;
198
+ /**
199
+ * Dispatches an action with optional data
200
+ * @template TActionData - The type of data to send with the action
201
+ * @param {A} action - The action to dispatch
202
+ * @param {TActionData} [data] - Optional data to send with the action
203
+ * @example
204
+ * // Send a 'jump' action with power data
205
+ * app.sendAction('jump', { power: 100 });
206
+ */
207
+ sendAction<TActionData = any>(action: AppActions, data?: TActionData): void;
208
+ /**
209
+ * Dispatches an action with optional data
210
+ * alias for sendAction
211
+ * @template TActionData - The type of data to send with the action
212
+ * @param {A} action - The action to dispatch
213
+ * @param {TActionData} [data] - Optional data to send with the action
214
+ * @example
215
+ * // Send a 'jump' action with power data
216
+ * app.action('jump', { power: 100 });
217
+ */
218
+ action<TActionData = any>(action: AppActions, data?: TActionData): void;
219
+ /**
220
+ * Checks if an action is currently active
221
+ * @param {A} action - The action to check
222
+ * @returns {boolean} True if the action is active, false otherwise
223
+ * @example
224
+ * // Check if the 'run' action is active
225
+ * if (app.isActionActive('run')) {
226
+ * player.updateSpeed(runningSpeed);
227
+ * }
228
+ */
229
+ isActionActive(action: AppActions): boolean;
230
+ /**
231
+ * The built-in DataAdapter plugin (in-memory game data with optional
232
+ * localStorage backup). Routed through the plugin registry, not `store` —
233
+ * its API is richer than generic save/load.
234
+ */
235
+ get data(): IDataAdapter;
236
+ protected boot(config?: Partial<IApplicationOptions>): Promise<void>;
237
+ protected preInitialize(config: Partial<IApplicationOptions>): Promise<void>;
238
+ protected registerPlugin(plugin: IPlugin, options?: any): Promise<void>;
239
+ protected registerDefaultPlugins(): Promise<void>;
240
+ protected registerPlugins(): Promise<void>;
241
+ /**
242
+ * This is called after the required assets are loaded
243
+ * You can be sure that all the assets on the assets.preload from caper.config are loaded
244
+ * @protected
245
+ */
246
+ protected requiredAssetsLoaded(): Promise<void> | void;
247
+ /**
248
+ * This is called after the application is initialized
249
+ * You can be sure that
250
+ * - all plugins are registered
251
+ * - the store is created, with all storage adapters registered
252
+ * @protected
253
+ */
254
+ protected setup(): Promise<void> | void;
255
+ protected initAssets(): Promise<void>;
256
+ protected loadDefaultScene(): Promise<void>;
257
+ private _resize;
258
+ /**
259
+ * Called after the application is initialized
260
+ * Here we add application specific signal listeners, etc
261
+ * @returns {Promise<void>}
262
+ * @private
263
+ */
264
+ private _setup;
265
+ private _addSplash;
266
+ }
267
+ export {};
268
+ //# sourceMappingURL=Application.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Application.d.ts","sourceRoot":"","sources":["../../src/core/Application.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,39 @@
1
+ import { IPlugin } from '../plugins/Plugin';
2
+ import { AppTypeOverrides, ImportList } from '../utils';
3
+ import { AppConfig } from './types';
4
+ type PluginId = AppTypeOverrides['Plugins'];
5
+ export type PluginConfig = PluginId | [PluginId, {
6
+ autoLoad?: boolean;
7
+ options?: any;
8
+ }];
9
+ /**
10
+ * Resolves the config's plugin list (which may be a mix of IDs and `[id, opts]`
11
+ * tuples) against the discovered plugin registry injected by the Vite runtime
12
+ * plugin. Plugin discovery now includes everything formerly registered as a
13
+ * "storage adapter" — unified into a single list.
14
+ */
15
+ export declare function generatePluginList<T extends IPlugin = IPlugin>(plugins: PluginConfig[]): Promise<ImportList<T>>;
16
+ export declare function defineConfig(config: Partial<AppConfig>): Partial<AppConfig>;
17
+ /**
18
+ * Topologically sort the active plugin list by each item's `requires` field
19
+ * so dependencies initialize before dependents. Throws on missing required
20
+ * plugin or on cycle. Used by `Application.registerPlugins()` at bootstrap.
21
+ *
22
+ * Behavior:
23
+ * - If `B.requires = ['A']`, A is initialized before B regardless of the
24
+ * order they appear in `caper.config.ts plugins[]`.
25
+ * - If `B.requires = ['A']` but A is not in the active plugin list, this
26
+ * throws with an error message that names B, names A, and tells the
27
+ * user to add A to `caper.config.ts plugins[]`. We deliberately do NOT
28
+ * auto-register the missing dep — the config file is the single source
29
+ * of truth for what plugins run, and silently inserting transitive
30
+ * deps would make it stop being trustworthy.
31
+ * - If a cycle exists (A→B→A), throws with the cycle path printed.
32
+ *
33
+ * Stable order: items with no dependencies preserve their original
34
+ * relative order from `caper.config.ts`. Only items participating in a
35
+ * `requires` chain get reordered.
36
+ */
37
+ export declare function sortPluginsByRequires<T extends ImportList<IPlugin>[number]>(items: T[]): T[];
38
+ export {};
39
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/core/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAkB,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,KAAK,gBAAgB,EAAE,UAAU,EAAU,MAAM,UAAU,CAAC;AACrE,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEpC,KAAK,QAAQ,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAC;AAE5C,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG,CAAC,QAAQ,EAAE;IAAE,QAAQ,CAAC,EAAE,OAAO,CAAC;IAAC,OAAO,CAAC,EAAE,GAAG,CAAA;CAAE,CAAC,CAAC;AAExF;;;;;GAKG;AACH,wBAAsB,kBAAkB,CAAC,CAAC,SAAS,OAAO,GAAG,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAqBrH;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,SAAS,CAAC,sBAEtD;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,qBAAqB,CAAC,CAAC,SAAS,UAAU,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,CAyE5F"}
@@ -0,0 +1,41 @@
1
+ import { RegisterSWOptions } from 'vite-plugin-pwa/types';
2
+ import { PluginListItem } from '../plugins';
3
+ import { AppTypeOverrides, SceneImportListItem } from '../utils';
4
+ import { ICaperAutomation } from './globals';
5
+ import { IApplication } from './interfaces';
6
+ import { AppConfig } from './types';
7
+ type App = AppTypeOverrides['App'];
8
+ interface CaperPWA {
9
+ readonly info: any;
10
+ register: () => void;
11
+ onRegisteredSW: (swScriptUrl: string) => void;
12
+ offlineReady: () => void;
13
+ onNeedRefresh?: () => void;
14
+ onRegisterError?: (error: any) => void;
15
+ }
16
+ interface CaperGlobal {
17
+ APP_NAME: string;
18
+ APP_VERSION: string | number;
19
+ readonly sceneList: SceneImportListItem<any>[];
20
+ readonly pluginsList: PluginListItem[];
21
+ get: (key?: string) => any;
22
+ pwa: CaperPWA;
23
+ apps: Map<string, IApplication>;
24
+ app?: IApplication;
25
+ ready(id?: string): Promise<IApplication>;
26
+ automation: Record<string, ICaperAutomation>;
27
+ __runtimeManaged?: boolean;
28
+ }
29
+ declare global {
30
+ const Caper: CaperGlobal;
31
+ const registerSW: (options: RegisterSWOptions) => void;
32
+ interface Window {
33
+ Caper: CaperGlobal;
34
+ }
35
+ }
36
+ export declare const DEFAULT_GAME_CONTAINER_ID = "caper-game-container";
37
+ export declare function createContainer(id: string): HTMLDivElement;
38
+ export declare function documentReady(): Promise<unknown>;
39
+ export declare function create(config?: Partial<AppConfig>, domElement?: string | Window | HTMLElement, speak?: boolean): Promise<App>;
40
+ export {};
41
+ //# sourceMappingURL=create.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../src/core/create.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,KAAK,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAItE,OAAO,EAAsC,KAAK,gBAAgB,EAAE,MAAM,WAAW,CAAC;AACtF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEpC,KAAK,GAAG,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;AAEnC,UAAU,QAAQ;IAChB,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC;IACnB,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,cAAc,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9C,YAAY,EAAE,MAAM,IAAI,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,CAAC;CACxC;AACD,UAAU,WAAW;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC;IAE7B,QAAQ,CAAC,SAAS,EAAE,mBAAmB,CAAC,GAAG,CAAC,EAAE,CAAC;IAC/C,QAAQ,CAAC,WAAW,EAAE,cAAc,EAAE,CAAC;IAEvC,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,MAAM,KAAK,GAAG,CAAC;IAE3B,GAAG,EAAE,QAAQ,CAAC;IAGd,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IAChC,GAAG,CAAC,EAAE,YAAY,CAAC;IACnB,KAAK,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IAC1C,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IAC7C,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,OAAO,CAAC,MAAM,CAAC;IACb,MAAM,KAAK,EAAE,WAAW,CAAC;IACzB,MAAM,UAAU,EAAE,CAAC,OAAO,EAAE,iBAAiB,KAAK,IAAI,CAAC;IACvD,UAAU,MAAM;QACd,KAAK,EAAE,WAAW,CAAC;KACpB;CACF;AAED,eAAO,MAAM,yBAAyB,yBAAyB,CAAC;AAEhE,wBAAgB,eAAe,CAAC,EAAE,EAAE,MAAM,kBAKzC;AAED,wBAAsB,aAAa,qBAUlC;AAgDD,wBAAsB,MAAM,CAC1B,MAAM,GAAE,OAAO,CAAC,SAAS,CAA8B,EACvD,UAAU,GAAE,MAAM,GAAG,MAAM,GAAG,WAAuC,EACrE,KAAK,GAAE,OAAc,GACpB,OAAO,CAAC,GAAG,CAAC,CAkEd"}
@@ -0,0 +1,51 @@
1
+ import { IApplication } from './interfaces';
2
+ /**
3
+ * A single entry in an app's automation log ring buffer.
4
+ */
5
+ export interface AutomationLogEntry {
6
+ t: number;
7
+ kind: 'action' | 'state' | 'context';
8
+ name?: string;
9
+ data?: unknown;
10
+ }
11
+ /**
12
+ * The automation facade exposed on `window.Caper.automation[appId]` for
13
+ * Playwright / agent drivers. Only present when automation is enabled (see the
14
+ * gating rules in {@link registerCaperApp}).
15
+ */
16
+ export interface ICaperAutomation {
17
+ readonly appId: string;
18
+ readonly log: readonly AutomationLogEntry[];
19
+ action(name: string, data?: unknown): void;
20
+ getContext(): string;
21
+ getState(): unknown;
22
+ registerStateGetter(fn: () => unknown): void;
23
+ notifyStateChanged(state: unknown): void;
24
+ waitFor(predicate: (state: unknown) => boolean, opts?: {
25
+ timeoutMs?: number;
26
+ }): Promise<unknown>;
27
+ }
28
+ /**
29
+ * Install the `Caper` discovery surface (`apps`, `automation`, `ready()`) on
30
+ * `globalThis` immediately. The caper-runtime virtual module calls this before
31
+ * bootstrap so automation drivers (Playwright etc.) can `await Caper.ready()`
32
+ * from the very first moment the page scripts run, instead of polling for the
33
+ * function to appear at the end of boot.
34
+ */
35
+ export declare function installCaperGlobal(): void;
36
+ /**
37
+ * Register an app with the global `Caper` discovery surface. Adds it to
38
+ * `Caper.apps` under its config id, sets `Caper.app` to the most-recently
39
+ * created app, and — when automation is enabled — builds the automation facade
40
+ * and stores it at `Caper.automation[id]` (and on the app instance).
41
+ *
42
+ * Automation is enabled when any of: dev env, `config.automation === true`, or
43
+ * `VITE_CAPER_AUTOMATION === 'true'`.
44
+ */
45
+ export declare function registerCaperApp(app: IApplication): void;
46
+ /**
47
+ * Resolve any pending `Caper.ready()` promises for this app — both the
48
+ * id-keyed resolver and the first-app resolver.
49
+ */
50
+ export declare function signalCaperReady(app: IApplication): void;
51
+ //# sourceMappingURL=globals.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"globals.d.ts","sourceRoot":"","sources":["../../src/core/globals.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAEjD;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,CAAC,EAAE,MAAM,CAAC;IACV,IAAI,EAAE,QAAQ,GAAG,OAAO,GAAG,SAAS,CAAC;IACrC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED;;;;GAIG;AACH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,GAAG,EAAE,SAAS,kBAAkB,EAAE,CAAC;IAC5C,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IAC3C,UAAU,IAAI,MAAM,CAAC;IACrB,QAAQ,IAAI,OAAO,CAAC;IACpB,mBAAmB,CAAC,EAAE,EAAE,MAAM,OAAO,GAAG,IAAI,CAAC;IAC7C,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAAC;IACzC,OAAO,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,EAAE,IAAI,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CAClG;AA6GD;;;;;;GAMG;AACH,wBAAgB,kBAAkB,IAAI,IAAI,CAEzC;AA6GD;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,YAAY,GAAG,IAAI,CAYxD;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,YAAY,GAAG,IAAI,CAgBxD"}
@@ -0,0 +1,7 @@
1
+ export * from './config';
2
+ export { create, createContainer } from './create';
3
+ export * from './globals';
4
+ export * from './interfaces';
5
+ export * from './registries';
6
+ export * from './types';
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AACnD,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC"}