@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,250 @@
1
+ import { Ticker } from 'pixi.js';
2
+ import { PauseConfig } from '../core';
3
+ import { AppTypeOverrides, AssetTypeOverrides, Size } from '../utils';
4
+ import { IContainer, Container } from './Container';
5
+ type AppScenes = AppTypeOverrides['Scenes'];
6
+ type SceneAssetsToLoad = {
7
+ assets?: (string | {
8
+ alias: string;
9
+ src: string | string[];
10
+ })[];
11
+ bundles?: AssetTypeOverrides['Bundles'] | AssetTypeOverrides['Bundles'][];
12
+ };
13
+ export type SceneAssets = {
14
+ preload?: SceneAssetsToLoad;
15
+ background?: SceneAssetsToLoad;
16
+ autoUnload?: boolean;
17
+ };
18
+ export type ScenePlugins = AppTypeOverrides['Plugins'][];
19
+ export type SceneDebug = {
20
+ label?: string;
21
+ group?: string;
22
+ order?: number;
23
+ };
24
+ export type SceneConfig = {
25
+ id?: string;
26
+ dynamic?: boolean;
27
+ active?: boolean;
28
+ assets?: SceneAssets;
29
+ plugins?: ScenePlugins;
30
+ debug?: SceneDebug;
31
+ };
32
+ export interface IScene extends IContainer {
33
+ id: AppScenes;
34
+ label?: string;
35
+ assets?: SceneAssets;
36
+ autoUnloadAssets?: boolean;
37
+ enter(): Promise<any>;
38
+ exit(): Promise<any>;
39
+ initialize(): Promise<void> | void;
40
+ start(): Promise<void> | void;
41
+ onPause(config: PauseConfig): void;
42
+ onResume(config: PauseConfig): void;
43
+ }
44
+ export interface SceneListItem {
45
+ id: string;
46
+ path: string;
47
+ scene: () => Promise<new () => IScene> | IScene;
48
+ debug?: {
49
+ label?: string;
50
+ group?: string;
51
+ };
52
+ assets?: SceneAssets;
53
+ plugins?: ScenePlugins;
54
+ autoUnloadAssets: boolean;
55
+ }
56
+ /**
57
+ * Base class for all scenes in a Caper app. A scene is a self-contained
58
+ * unit of game state and display — start screen, level, menu, etc.
59
+ *
60
+ * **Lifecycle order** (per scene load):
61
+ *
62
+ * 1. `constructor` — instantiated by the SceneManager. Don't reference
63
+ * `this.app` here; it's not yet attached to the stage.
64
+ * 2. **Assets load** — anything declared in `assets.preload.bundles` is
65
+ * fetched before `initialize` runs. Background bundles are kicked
66
+ * off in parallel and may complete after.
67
+ * 3. `initialize()` — build the display tree. The scene is on the stage
68
+ * but not yet animated in. Safe to use `this.app`, `this.add.*`,
69
+ * and any preloaded asset.
70
+ * 4. `enter()` — animate the scene in. Override to return a promise /
71
+ * tween / timeline; the manager awaits it before calling `start`.
72
+ * 5. `start()` — fired after `enter` resolves. Begin per-frame work,
73
+ * timers, signal connections, gameplay loops.
74
+ * 6. `update(ticker)` — called every frame while the scene is active.
75
+ * Read `ticker.deltaMS` for frame timing.
76
+ * 7. `resize(size)` — called on viewport resize. Re-layout here.
77
+ * 8. `onPause(config)` / `onResume(config)` — called when the app pauses
78
+ * or resumes. Use to halt/restart non-display work (audio, network).
79
+ * 9. `exit()` — animate the scene out. Awaited before `destroy`.
80
+ * 10. `destroy()` — tear down. The base implementation removes the
81
+ * ticker callback and destroys all children — call `super.destroy()`.
82
+ *
83
+ * Scenes are **discovered automatically** by the Vite plugin walking
84
+ * `src/scenes/`. Annotate the file with `defineScene({ id, assets })`
85
+ * (or individual `export const id` / `export const assets`) to give the
86
+ * scene a stable id and declare its asset bundles.
87
+ *
88
+ * @example
89
+ * ```ts
90
+ * import { defineScene, Scene } from '@caperjs/core';
91
+ *
92
+ * export const scene = defineScene({
93
+ * id: 'menu',
94
+ * assets: { preload: { bundles: ['ui'] } },
95
+ * });
96
+ *
97
+ * export default class MenuScene extends Scene {
98
+ * initialize() {
99
+ * this.add.text({ text: 'Play', anchor: 0.5 });
100
+ * }
101
+ * start() {
102
+ * // begin gameplay loop
103
+ * }
104
+ * destroy() {
105
+ * super.destroy();
106
+ * }
107
+ * }
108
+ * ```
109
+ */
110
+ export declare class Scene<Props = void> extends Container implements IScene {
111
+ readonly id: string;
112
+ autoUnloadAssets: boolean;
113
+ /**
114
+ * Runtime props passed via `app.scenes.load(id, props)`. Populated by
115
+ * `SceneManagerPlugin._createCurrentScene` after construction and before
116
+ * `initialize()` runs, so scene authors can read them safely from any
117
+ * lifecycle hook.
118
+ *
119
+ * Subclasses declare the shape via the generic parameter:
120
+ *
121
+ * @example
122
+ * ```ts
123
+ * class LevelScene extends Scene<{ levelId: number; difficulty: 'easy' | 'hard' }> {
124
+ * async start() {
125
+ * const { levelId } = this.props;
126
+ * }
127
+ * }
128
+ * ```
129
+ *
130
+ * For scenes that don't need props, use the default `Scene<void>` (no
131
+ * generic parameter) — `app.scenes.load('menu')` takes no second arg.
132
+ */
133
+ props: Props;
134
+ protected _animationContext: string;
135
+ get animationContext(): string;
136
+ set animationContext(value: string);
137
+ constructor();
138
+ /**
139
+ * The assets to load for the scene
140
+ * @private
141
+ * @type {AssetLoadingOptions}
142
+ * @example
143
+ * ```ts
144
+ * assets: {
145
+ * preload: {
146
+ * assets: ['path/to/asset.png'],
147
+ * bundles: ['bundle1', 'bundle2'],
148
+ * },
149
+ * background: {
150
+ * assets: ['path/to/asset.png'],
151
+ * bundles: ['bundle1', 'bundle2'],
152
+ * },
153
+ * }
154
+ * ```
155
+ */
156
+ private _assets;
157
+ get assets(): SceneAssets;
158
+ set assets(value: SceneAssets);
159
+ /**
160
+ * Build the scene's display tree. Called once after preload assets
161
+ * have loaded and the scene has been added to the stage, but **before**
162
+ * `enter()` animates it in. Safe to use `this.app`, `this.add.*`, and
163
+ * any asset declared in `assets.preload`.
164
+ *
165
+ * Override to construct sprites, text, containers, layouts. Don't put
166
+ * gameplay loops here — that's `start()`.
167
+ *
168
+ * Can be sync or async; the manager awaits the return value before
169
+ * calling `enter`.
170
+ */
171
+ initialize(): Promise<void> | void;
172
+ /**
173
+ * Animate the scene in. Called after `initialize()` resolves. The
174
+ * manager awaits the returned promise before calling `start()`, so
175
+ * return a tween / timeline / promise to gate the entry on it.
176
+ *
177
+ * Default implementation resolves immediately (no animation).
178
+ *
179
+ * @returns A promise that resolves when the entry animation completes.
180
+ */
181
+ enter(): Promise<any>;
182
+ /**
183
+ * Animate the scene out. Called when the SceneManager is unloading
184
+ * this scene. Awaited before `destroy()` runs.
185
+ *
186
+ * Default implementation resolves immediately (no animation).
187
+ *
188
+ * @returns A promise that resolves when the exit animation completes.
189
+ */
190
+ exit(): Promise<any>;
191
+ /**
192
+ * Begin per-frame work. Called once after `enter()` resolves; this is
193
+ * where gameplay loops, timers, signal connections, and any work that
194
+ * shouldn't start until the scene is fully visible should live.
195
+ *
196
+ * Override to start tickers, subscribe to input, kick off gameplay.
197
+ * Don't build the display tree here — that's `initialize()`.
198
+ *
199
+ * Can be sync or async.
200
+ */
201
+ start(): Promise<void> | void;
202
+ /**
203
+ * Per-frame update hook. Called every tick while the scene is active,
204
+ * after `start()` has resolved. Use `ticker.deltaMS` for time-based
205
+ * motion that's framerate-independent.
206
+ *
207
+ * The base implementation is a no-op; override to drive game logic.
208
+ * The base `destroy()` removes this from the ticker — call
209
+ * `super.destroy()` if you override destroy.
210
+ *
211
+ * @param ticker The Pixi ticker; provides `deltaMS`, `deltaTime`, etc.
212
+ */
213
+ update(ticker?: Ticker): void;
214
+ /**
215
+ * Re-layout on viewport resize. Called whenever the host element /
216
+ * window size changes. Use to reposition or rescale display elements
217
+ * relative to the new viewport size.
218
+ *
219
+ * @param size New viewport dimensions.
220
+ * @override
221
+ */
222
+ resize(size?: Size): void;
223
+ /**
224
+ * Tear down the scene. The base implementation removes this scene
225
+ * from the ticker (so `update` stops firing) and destroys all child
226
+ * display objects. **Always call `super.destroy()`** if you override
227
+ * — otherwise the ticker callback leaks.
228
+ *
229
+ * Override to clean up listeners, signal connections, timers, network
230
+ * subscriptions, or anything else not handled by Pixi's destroy.
231
+ */
232
+ destroy(): void;
233
+ /**
234
+ * Called when the application is paused. Use to halt non-display
235
+ * work — audio, network polling, gameplay timers. Display state
236
+ * stays on screen; only logic should pause.
237
+ *
238
+ * @param config Pause options (e.g. which subsystems to pause).
239
+ */
240
+ onPause(config: PauseConfig): void;
241
+ /**
242
+ * Called when the application resumes from a pause. Use to restart
243
+ * whatever was halted in `onPause`.
244
+ *
245
+ * @param config Resume options.
246
+ */
247
+ onResume(config: PauseConfig): void;
248
+ }
249
+ export {};
250
+ //# sourceMappingURL=Scene.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Scene.d.ts","sourceRoot":"","sources":["../../src/display/Scene.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,41 @@
1
+ import { Sprite } from 'pixi.js';
2
+ import { Size } from '../utils';
3
+ import { Container } from './Container';
4
+ export interface ISceneTransition extends Container {
5
+ initialized: boolean;
6
+ progress: number;
7
+ active: boolean;
8
+ destroy(): void;
9
+ enter(): Promise<any> | void;
10
+ exit(): Promise<any> | void;
11
+ initialize(): void;
12
+ }
13
+ export declare class SceneTransition extends Container {
14
+ initialized: boolean;
15
+ protected __background: Sprite;
16
+ private _active;
17
+ get active(): boolean;
18
+ set active(value: boolean);
19
+ private _progress;
20
+ get progress(): number;
21
+ set progress(value: number);
22
+ constructor(autoUpdate?: boolean);
23
+ initialize(): void;
24
+ resize(size: Size): void;
25
+ destroy(): void;
26
+ /**
27
+ * Called to animate the scene in
28
+ * @returns {Promise<void>}
29
+ */
30
+ enter(): void;
31
+ /**
32
+ * Called to animate the scene out
33
+ * @returns {Promise<void>}
34
+ */
35
+ exit(): void;
36
+ protected handleLoadStart(): void;
37
+ protected handleLoadProgress(progress: number): void;
38
+ protected handleLoadComplete(): void;
39
+ private _update;
40
+ }
41
+ //# sourceMappingURL=SceneTransition.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SceneTransition.d.ts","sourceRoot":"","sources":["../../src/display/SceneTransition.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAU,MAAM,SAAS,CAAC;AACzC,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,MAAM,WAAW,gBAAiB,SAAQ,SAAS;IACjD,WAAW,EAAE,OAAO,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,IAAI,IAAI,CAAC;IAChB,KAAK,IAAI,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;IAC7B,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;IAC5B,UAAU,IAAI,IAAI,CAAC;CACpB;AAED,qBAAa,eAAgB,SAAQ,SAAS;IACrC,WAAW,EAAE,OAAO,CAAS;IACpC,SAAS,CAAC,YAAY,EAAE,MAAM,CAAC;IAE/B,OAAO,CAAC,OAAO,CAAkB;IAEjC,IAAI,MAAM,IAAI,OAAO,CAEpB;IAED,IAAI,MAAM,CAAC,KAAK,EAAE,OAAO,EAExB;IAED,OAAO,CAAC,SAAS,CAAS;IAE1B,IAAI,QAAQ,IAAI,MAAM,CAErB;IAED,IAAI,QAAQ,CAAC,KAAK,EAAE,MAAM,EAEzB;gBAEW,UAAU,GAAE,OAAe;IAchC,UAAU,IAAI,IAAI;IAKlB,MAAM,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI;IAIxB,OAAO,IAAI,IAAI;IAQtB;;;OAGG;IACI,KAAK,IAAI,IAAI;IAKpB;;;OAGG;IACI,IAAI,IAAI,IAAI;IAKnB,SAAS,CAAC,eAAe;IAIzB,SAAS,CAAC,kBAAkB,CAAC,QAAQ,EAAE,MAAM;IAK7C,SAAS,CAAC,kBAAkB;IAM5B,OAAO,CAAC,OAAO;CAKhB"}
@@ -0,0 +1,76 @@
1
+ import { AnimationStateListener, Event, TrackEntry } from '@esotericsoftware/spine-core';
2
+ import { SpineProps } from '../mixins';
3
+ import { Signal } from '../signals';
4
+ import { AppTypeOverrides, Spine } from '../utils';
5
+ declare const _SpineAnimation: (new () => import('..').IFactory<{
6
+ existing: <TEntity>(entity: TEntity, props?: Partial<import('..').ExistingProps>) => TEntity;
7
+ container: (props?: Partial<import('..').ContainerProps> | undefined) => import('./Container').Container;
8
+ particleContainer: (props?: Partial<import('..').ParticleContainerProps> | undefined) => import('./ParticleContainer').ParticleContainer;
9
+ texture: typeof import('..').resolveTexture;
10
+ sprite: (props?: Partial<import('..').SpriteProps> | undefined) => import('pixi.js').Sprite;
11
+ tilingSprite: (props?: Partial<import('..').TilingSpriteProps> | undefined) => import('pixi.js').TilingSprite;
12
+ animatedSprite: (props?: Partial<import('..').AnimatedSpriteProps> | undefined) => import('./AnimatedSprite').AnimatedSprite;
13
+ graphics: (props?: Partial<import('..').GraphicsProps> | undefined) => import('pixi.js').Graphics;
14
+ svg(props: import('..').WithRequiredProps<import('..').SvgProps, "ctx">): import('./Svg').Svg;
15
+ text: (props?: Partial<import('..').TextProps> | undefined) => import('pixi.js').Text;
16
+ htmlText: (props?: Partial<import('..').HTMLTextProps> | undefined) => import('pixi.js').HTMLText;
17
+ bitmapText: (props?: Partial<import('..').BitmapTextProps> | undefined) => import('pixi.js').BitmapText;
18
+ button: (props?: Partial<import('..').ButtonProps> | undefined) => import('..').Button;
19
+ flexContainer: (props?: Partial<import('..').FlexContainerProps> | undefined) => import('..').FlexContainer;
20
+ uiCanvas: (props?: Partial<import('..').UICanvasFactoryProps> | undefined) => import('..').UICanvas;
21
+ spine: (props?: Partial<SpineProps> | undefined) => Spine;
22
+ spineAnimation: <ANames extends string = string>(props?: Partial<SpineProps>) => SpineAnimation<ANames>;
23
+ toaster: (toasterConfig?: Partial<import('..').ToasterConfig>, defaultToastConfig?: Partial<import('..').ToastConfig>) => import('..').Toaster;
24
+ entity: <K extends import('..').EntityId>(id: K, props?: import('..').EntityProps<K> & import('..').EntityFactoryProps) => import('..').EntityInstance<K>;
25
+ ui: <K extends import('..').UIId>(id: K, props?: import('..').UIProps<K> & import('..').EntityFactoryProps) => import('..').UIInstance<K>;
26
+ }>) & import('..').Constructor<import('..').ISignalContainer>;
27
+ export interface ISpineAnimation<ANames extends string = string> extends InstanceType<typeof _SpineAnimation> {
28
+ readonly spine: Spine;
29
+ readonly animationNames: ANames[];
30
+ readonly app: AppTypeOverrides['App'];
31
+ readonly onAnimationComplete: Signal<(entry: TrackEntry) => void>;
32
+ readonly onAnimationStart: Signal<(entry: TrackEntry) => void>;
33
+ readonly onAnimationInterrupt: Signal<(entry: TrackEntry) => void>;
34
+ readonly onAnimationDispose: Signal<(entry: TrackEntry) => void>;
35
+ readonly onAnimationEnd: Signal<(entry: TrackEntry) => void>;
36
+ readonly onAnimationEvent: Signal<(entry: TrackEntry, event: Event) => void>;
37
+ readonly onPaused: Signal<(entry: TrackEntry | null) => void>;
38
+ readonly onResumed: Signal<(entry: TrackEntry | null) => void>;
39
+ setAnimation(name: ANames, loop?: boolean, tracklndex?: number): void;
40
+ getCurrentAnimation(tracklndex?: number): ANames;
41
+ pause(): void;
42
+ resume(): void;
43
+ togglePause(): void;
44
+ }
45
+ export declare class SpineAnimation<ANames extends string = string> extends _SpineAnimation {
46
+ spine: Spine;
47
+ paused: boolean;
48
+ onAnimationComplete: Signal<(entry: TrackEntry) => void>;
49
+ onAnimationStart: Signal<(entry: TrackEntry) => void>;
50
+ onAnimationInterrupt: Signal<(entry: TrackEntry) => void>;
51
+ onAnimationDispose: Signal<(entry: TrackEntry) => void>;
52
+ onAnimationEnd: Signal<(entry: TrackEntry) => void>;
53
+ onAnimationEvent: Signal<(entry: TrackEntry, event: Event) => void>;
54
+ onPaused: Signal<(entry: TrackEntry | null) => void>;
55
+ onResumed: Signal<(entry: TrackEntry | null) => void>;
56
+ protected _stateListener: AnimationStateListener;
57
+ get app(): AppTypeOverrides['App'];
58
+ get animationNames(): ANames[];
59
+ get currentEntry(): TrackEntry | null;
60
+ get elapsedAnimationTime(): number;
61
+ constructor(props?: Partial<SpineProps>);
62
+ destroy(): void;
63
+ getCurrentAnimation(trackIndex?: number): ANames;
64
+ setAnimation(name: ANames, loop?: boolean, tracklndex?: number): void;
65
+ pause(): void;
66
+ resume(): void;
67
+ togglePause(): void;
68
+ protected _handleAnimationComplete(entry: TrackEntry): void;
69
+ protected _handleAnimationStart(entry: TrackEntry): void;
70
+ protected _handleAnimationInterrupt(entry: TrackEntry): void;
71
+ protected _handleAnimationDispose(entry: TrackEntry): void;
72
+ protected _handleAnimationEnd(entry: TrackEntry): void;
73
+ protected _handleAnimationEvent(entry: TrackEntry, event: Event): void;
74
+ }
75
+ export {};
76
+ //# sourceMappingURL=SpineAnimation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SpineAnimation.d.ts","sourceRoot":"","sources":["../../src/display/SpineAnimation.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import { Graphics, GraphicsContext } from 'pixi.js';
2
+ export declare class Svg extends Graphics {
3
+ constructor(ctx: string | GraphicsContext);
4
+ }
5
+ //# sourceMappingURL=Svg.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Svg.d.ts","sourceRoot":"","sources":["../../src/display/Svg.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,QAAQ,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE5D,qBAAa,GAAI,SAAQ,QAAQ;gBACnB,GAAG,EAAE,MAAM,GAAG,eAAe;CAK1C"}
@@ -0,0 +1,10 @@
1
+ export * from './Container';
2
+ export * from './Entity';
3
+ export * from './ParticleContainer';
4
+ export * from './Scene';
5
+ export * from './SceneTransition';
6
+ export * from './Svg';
7
+ export * from './AnimatedSprite';
8
+ export * from './Camera';
9
+ export * from './SpineAnimation';
10
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/display/index.ts"],"names":[],"mappings":"AACA,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,qBAAqB,CAAC;AACpC,cAAc,SAAS,CAAC;AACxB,cAAc,mBAAmB,CAAC;AAClC,cAAc,OAAO,CAAC;AAEtB,cAAc,kBAAkB,CAAC;AACjC,cAAc,UAAU,CAAC;AACzB,cAAc,kBAAkB,CAAC"}
package/lib/env.d.ts ADDED
@@ -0,0 +1,6 @@
1
+ /// <reference types="vite/client" />
2
+
3
+ declare const __CAPER_APP_NAME: string;
4
+ declare const __CAPER_APP_VERSION: string;
5
+
6
+ declare module 'caper-runtime';
package/lib/hello.d.ts ADDED
@@ -0,0 +1,2 @@
1
+ export declare function sayHello(): void;
2
+ //# sourceMappingURL=hello.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hello.d.ts","sourceRoot":"","sources":["../src/hello.ts"],"names":[],"mappings":"AAWA,wBAAgB,QAAQ,SAQvB"}
package/lib/index.d.ts ADDED
@@ -0,0 +1,15 @@
1
+ /**
2
+ * This is the main entry point for the library. It exports all the necessary classes, types, and utilities.
3
+ */
4
+ export * from './core';
5
+ export * from './core/Application';
6
+ export * from './display';
7
+ export * from './mixins';
8
+ export * from './plugins';
9
+ export * from './signals';
10
+ export * from './store';
11
+ export * from './ui';
12
+ export * from './utils';
13
+ export * from './hello';
14
+ export * from './version';
15
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,cAAc,QAAQ,CAAC;AACvB,cAAc,oBAAoB,CAAC;AACnC,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,MAAM,CAAC;AACrB,cAAc,SAAS,CAAC;AAExB,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC"}
@@ -0,0 +1,53 @@
1
+ import { Signal } from '../signals';
2
+ import { Constructor } from '../utils';
3
+ /**
4
+ * Extended GSAP animation configuration interface.
5
+ */
6
+ export interface GSAPAnimationConfigExtended extends gsap.TweenVars {
7
+ }
8
+ /**
9
+ * Type for GSAP entity.
10
+ */
11
+ type GSAPEntity = gsap.core.Tween | gsap.core.Timeline;
12
+ interface ShakeConfig {
13
+ duration: number;
14
+ intensity: number;
15
+ times: number;
16
+ x: boolean;
17
+ y: boolean;
18
+ }
19
+ /**
20
+ * Interface for animated entities.
21
+ */
22
+ export interface IAnimated {
23
+ onAnimationStart: Signal<(entity: GSAPEntity) => void>;
24
+ onAnimationUpdate: Signal<(entity: GSAPEntity) => void>;
25
+ onAnimationComplete: Signal<(entity: GSAPEntity) => void>;
26
+ animate(animationProps: GSAPAnimationConfigExtended, instance?: any): gsap.core.Tween;
27
+ animateFrom(animationProps: GSAPAnimationConfigExtended, instance?: any): gsap.core.Tween;
28
+ animateFromTo(fromProps: GSAPAnimationConfigExtended, toProps: GSAPAnimationConfigExtended, instance?: any): gsap.core.Tween;
29
+ animateSequence(sequences: GSAPAnimationConfigExtended[], instance?: any): gsap.core.Timeline;
30
+ pauseAnimations(): void;
31
+ resumeAnimations(): void;
32
+ destroyAnimations(): void;
33
+ reverseAnimation(): void;
34
+ isAnimationPlaying(): boolean;
35
+ shake(config?: Partial<ShakeConfig>, instance?: any): gsap.core.Tween;
36
+ pulse(config?: {
37
+ duration?: number;
38
+ intensity?: number;
39
+ times?: number;
40
+ }, instance?: any): gsap.core.Tween;
41
+ bob(config?: {
42
+ duration?: number;
43
+ intensity?: number;
44
+ }, instance?: any): gsap.core.Tween;
45
+ }
46
+ /**
47
+ * Animated mixin function.
48
+ * @param Base - Base class to extend.
49
+ * @returns Class that extends the base class and implements IAnimated.
50
+ */
51
+ export declare function Animated<TBase extends Constructor>(Base: TBase): TBase & Constructor<IAnimated>;
52
+ export {};
53
+ //# sourceMappingURL=animated.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"animated.d.ts","sourceRoot":"","sources":["../../src/mixins/animated.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AACpC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAE5C;;GAEG;AACH,MAAM,WAAW,2BAA4B,SAAQ,IAAI,CAAC,SAAS;CAAG;AAEtE;;GAEG;AACH,KAAK,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;AAEvD,UAAU,WAAW;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,CAAC,EAAE,OAAO,CAAC;IACX,CAAC,EAAE,OAAO,CAAC;CACZ;AAUD;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,gBAAgB,EAAE,MAAM,CAAC,CAAC,MAAM,EAAE,UAAU,KAAK,IAAI,CAAC,CAAC;IACvD,iBAAiB,EAAE,MAAM,CAAC,CAAC,MAAM,EAAE,UAAU,KAAK,IAAI,CAAC,CAAC;IACxD,mBAAmB,EAAE,MAAM,CAAC,CAAC,MAAM,EAAE,UAAU,KAAK,IAAI,CAAC,CAAC;IAE1D,OAAO,CAAC,cAAc,EAAE,2BAA2B,EAAE,QAAQ,CAAC,EAAE,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;IAEtF,WAAW,CAAC,cAAc,EAAE,2BAA2B,EAAE,QAAQ,CAAC,EAAE,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;IAE1F,aAAa,CACX,SAAS,EAAE,2BAA2B,EACtC,OAAO,EAAE,2BAA2B,EACpC,QAAQ,CAAC,EAAE,GAAG,GACb,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;IAEnB,eAAe,CAAC,SAAS,EAAE,2BAA2B,EAAE,EAAE,QAAQ,CAAC,EAAE,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;IAE9F,eAAe,IAAI,IAAI,CAAC;IAExB,gBAAgB,IAAI,IAAI,CAAC;IAEzB,iBAAiB,IAAI,IAAI,CAAC;IAE1B,gBAAgB,IAAI,IAAI,CAAC;IAEzB,kBAAkB,IAAI,OAAO,CAAC;IAG9B,KAAK,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,EAAE,QAAQ,CAAC,EAAE,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;IAEtE,KAAK,CAAC,MAAM,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,QAAQ,CAAC,EAAE,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;IAE3G,GAAG,CAAC,MAAM,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,QAAQ,CAAC,EAAE,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;CAC1F;AAED;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,KAAK,SAAS,WAAW,EAAE,IAAI,EAAE,KAAK,GAAG,KAAK,GAAG,WAAW,CAAC,SAAS,CAAC,CA0Q/F"}
@@ -0,0 +1,8 @@
1
+ import { Container as PIXIContainer } from 'pixi.js';
2
+ import { defaultFactoryMethods } from './index';
3
+ export interface IFactory<T extends typeof defaultFactoryMethods = typeof defaultFactoryMethods> extends PIXIContainer {
4
+ add: T;
5
+ make: T;
6
+ }
7
+ export declare function Factory<T extends typeof defaultFactoryMethods = typeof defaultFactoryMethods>(extensions?: Partial<T>): new () => IFactory<T>;
8
+ //# sourceMappingURL=Factory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Factory.d.ts","sourceRoot":"","sources":["../../../src/mixins/factory/Factory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,IAAI,aAAa,EAAE,MAAM,SAAS,CAAC;AACrD,OAAO,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAGhD,MAAM,WAAW,QAAQ,CAAC,CAAC,SAAS,OAAO,qBAAqB,GAAG,OAAO,qBAAqB,CAAE,SAAQ,aAAa;IACpH,GAAG,EAAE,CAAC,CAAC;IACP,IAAI,EAAE,CAAC,CAAC;CACT;AAED,wBAAgB,OAAO,CAAC,CAAC,SAAS,OAAO,qBAAqB,GAAG,OAAO,qBAAqB,EAC3F,UAAU,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,GACtB,UAAU,QAAQ,CAAC,CAAC,CAAC,CAYvB"}
@@ -0,0 +1,67 @@
1
+ import { BitmapText, Graphics, HTMLText, Sprite, Text, TilingSprite } from 'pixi.js';
2
+ import { AnimatedSprite, Container, SpineAnimation, Svg } from '../../display';
3
+ import { ParticleContainer } from '../../display/ParticleContainer';
4
+ import { Button, FlexContainer, Toaster, UICanvas, ToastConfig, ToasterConfig } from '../../ui';
5
+ import { EntityId, EntityInstance, EntityProps, UIId, UIInstance, UIProps, Spine, WithRequiredProps } from '../../utils';
6
+ import { EntityFactoryProps, AnimatedSpriteProps, BitmapTextProps, ButtonProps, ContainerProps, ExistingProps, FlexContainerProps, GraphicsProps, HTMLTextProps, ParticleContainerProps, SpineProps, SpriteProps, SvgProps, TextProps, TilingSpriteProps, UICanvasFactoryProps } from './props';
7
+ import { resolveTexture } from './utils';
8
+ /**
9
+ * Factory method table consumed by the `Factory()` mixin. Almost every
10
+ * entry is built via `buildFactoryMethod({ build, applies, exclude })`:
11
+ * the `build` callback owns the bespoke constructor call (including any
12
+ * DX reshaping Caper applies — asset-name resolution, text style
13
+ * flattening, config-vs-extras splits), and the helper centralizes
14
+ * position/scale/pivot/anchor + unknown-keys passthrough.
15
+ *
16
+ * The five bespoke entries (`existing`, `texture`, `svg`, `toaster`,
17
+ * `entity`) don't fit the `(props?) → instance` shape — `existing` takes
18
+ * `(entity, props)`, `texture` is a plain resolver re-bind, `svg` takes
19
+ * a required `ctx` field, `toaster` takes two config objects, and
20
+ * `entity` takes `(id, props)` with a generic narrowed to discovered
21
+ * entity ids — so they stay hand-written.
22
+ */
23
+ export declare const defaultFactoryMethods: {
24
+ existing: <TEntity>(entity: TEntity, props?: Partial<ExistingProps>) => TEntity;
25
+ container: (props?: Partial<ContainerProps> | undefined) => Container;
26
+ particleContainer: (props?: Partial<ParticleContainerProps> | undefined) => ParticleContainer;
27
+ texture: typeof resolveTexture;
28
+ sprite: (props?: Partial<SpriteProps> | undefined) => Sprite;
29
+ tilingSprite: (props?: Partial<TilingSpriteProps> | undefined) => TilingSprite;
30
+ animatedSprite: (props?: Partial<AnimatedSpriteProps> | undefined) => AnimatedSprite;
31
+ graphics: (props?: Partial<GraphicsProps> | undefined) => Graphics;
32
+ svg(props: WithRequiredProps<SvgProps, "ctx">): Svg;
33
+ text: (props?: Partial<TextProps> | undefined) => Text;
34
+ htmlText: (props?: Partial<HTMLTextProps> | undefined) => HTMLText;
35
+ bitmapText: (props?: Partial<BitmapTextProps> | undefined) => BitmapText;
36
+ button: (props?: Partial<ButtonProps> | undefined) => Button;
37
+ flexContainer: (props?: Partial<FlexContainerProps> | undefined) => FlexContainer;
38
+ uiCanvas: (props?: Partial<UICanvasFactoryProps> | undefined) => UICanvas;
39
+ spine: (props?: Partial<SpineProps> | undefined) => Spine;
40
+ spineAnimation: <ANames extends string = string>(props?: Partial<SpineProps>) => SpineAnimation<ANames>;
41
+ toaster: (toasterConfig?: Partial<ToasterConfig>, defaultToastConfig?: Partial<ToastConfig>) => Toaster;
42
+ /**
43
+ * Construct an entity from the auto-discovered registry. `id` is narrowed
44
+ * to the union of entity ids declared under `src/entities/` (see the
45
+ * generated `caper-app.d.ts`), and `props` is typed from the entity's
46
+ * constructor signature via `ConstructorParameters<typeof Entity>[0]`.
47
+ *
48
+ * Throws if `id` isn't registered. Discovery runs at build time, so the
49
+ * only way to hit this at runtime is a stale virtual module — fail loud
50
+ * and list the known ids so the user can see what's wrong.
51
+ *
52
+ * @example
53
+ * this.add.entity('actor', { color: 0xff0000, x: 50, y: 100 });
54
+ */
55
+ entity: <K extends EntityId>(id: K, props?: EntityProps<K> & EntityFactoryProps) => EntityInstance<K>;
56
+ /**
57
+ * Construct a UI element from the auto-discovered registry. `id` is
58
+ * narrowed to the union of UI ids declared under `src/ui/` (see the
59
+ * generated `caper-app.d.ts`), and `props` is typed from the UI
60
+ * element's constructor signature via `ConstructorParameters<...>[0]`.
61
+ *
62
+ * @example
63
+ * this.add.ui('close-button', { x: 100, y: 50 });
64
+ */
65
+ ui: <K extends UIId>(id: K, props?: UIProps<K> & EntityFactoryProps) => UIInstance<K>;
66
+ };
67
+ //# sourceMappingURL=const.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"const.d.ts","sourceRoot":"","sources":["../../../src/mixins/factory/const.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAErF,OAAO,EAAE,cAAc,EAAE,SAAS,EAAuB,cAAc,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AACpG,OAAO,EAAE,iBAAiB,EAA+B,MAAM,iCAAiC,CAAC;AACjG,OAAO,EACL,MAAM,EAEN,aAAa,EAEb,OAAO,EACP,QAAQ,EAET,MAAM,UAAU,CAAC;AAClB,OAAO,KAAK,EAAqC,WAAW,EAAE,aAAa,EAAiB,MAAM,UAAU,CAAC;AAC7G,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,WAAW,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACpG,OAAO,EAA2B,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAEhF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAClD,OAAO,EACL,mBAAmB,EACnB,eAAe,EACf,WAAW,EACX,cAAc,EACd,aAAa,EACb,kBAAkB,EAClB,aAAa,EACb,aAAa,EACb,sBAAsB,EACtB,UAAU,EACV,WAAW,EACX,QAAQ,EACR,SAAS,EACT,iBAAiB,EACjB,oBAAoB,EACrB,MAAM,SAAS,CAAC;AAIjB,OAAO,EAKL,cAAc,EAEf,MAAM,SAAS,CAAC;AAWjB;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,qBAAqB;eACrB,OAAO,UAAU,OAAO,UAAU,OAAO,CAAC,aAAa,CAAC,KAAG,OAAO;;;;;;;;eAmElE,iBAAiB,CAAC,QAAQ,EAAE,KAAK,CAAC;;;;;;;;qBAmI5B,MAAM,SAAS,MAAM,mBAC5B,OAAO,CAAC,UAAU,CAAC,KAC1B,cAAc,CAAC,MAAM,CAAC;8BAiBC,OAAO,CAAC,aAAa,CAAC,uBAAsB,OAAO,CAAC,WAAW,CAAC,KAAQ,OAAO;IAIzG;;;;;;;;;;;;OAYG;aACM,CAAC,SAAS,QAAQ,MACrB,CAAC,UACG,WAAW,CAAC,CAAC,CAAC,GAAG,kBAAkB,KAC1C,cAAc,CAAC,CAAC,CAAC;IAqBpB;;;;;;;;OAQG;SACE,CAAC,SAAS,IAAI,MACb,CAAC,UACG,OAAO,CAAC,CAAC,CAAC,GAAG,kBAAkB,KACtC,UAAU,CAAC,CAAC,CAAC;CAoBjB,CAAC"}
@@ -0,0 +1,8 @@
1
+ export * from './methods';
2
+ export * from './const';
3
+ export * from './props';
4
+ export * from './utils';
5
+ export * from './Factory';
6
+ export { getRegisteredEntityIds } from './registry';
7
+ export { getRegisteredUIIds } from './ui-registry';
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/mixins/factory/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,OAAO,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { defaultFactoryMethods } from './index';
2
+ export declare function createFactoryMethods<T extends typeof defaultFactoryMethods = typeof defaultFactoryMethods>(methods: Partial<T>, instance: any, addToStage: boolean): T;
3
+ //# sourceMappingURL=methods.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"methods.d.ts","sourceRoot":"","sources":["../../../src/mixins/factory/methods.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAEhD,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,OAAO,qBAAqB,GAAG,OAAO,qBAAqB,EACxG,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,EACnB,QAAQ,EAAE,GAAG,EACb,UAAU,EAAE,OAAO,GAClB,CAAC,CAcH"}