@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.
- package/LICENSE +22 -0
- package/README.md +62 -0
- package/cli/add.mjs +197 -0
- package/cli/audio/cc.mjs +128 -0
- package/cli/audio/index.mjs +42 -0
- package/cli/audio/utils.mjs +56 -0
- package/cli/create-caper.mjs +8 -0
- package/cli/create.mjs +351 -0
- package/cli/install-peerdeps.mjs +57 -0
- package/cli/update.mjs +9 -0
- package/cli/utils.mjs +81 -0
- package/cli/vite.mjs +55 -0
- package/cli/voiceover/generateVoiceoverCSV.mjs +158 -0
- package/cli/voiceover/index.mjs +1 -0
- package/cli.mjs +157 -0
- package/client.d.ts +7 -0
- package/config/assetpack.mjs +212 -0
- package/config/tsconfig.base.json +28 -0
- package/config/vite.mjs +2464 -0
- package/extras/css/accessibility.css +9 -0
- package/extras/css/fullscreen.css +28 -0
- package/extras/css/loader.css +67 -0
- package/extras/llms.txt +1602 -0
- package/lib/CaptionsPlugin-Dc8fIrjy.js +277 -0
- package/lib/CaptionsPlugin-Dc8fIrjy.js.map +1 -0
- package/lib/DataAdapter-BY2114sp.js +84 -0
- package/lib/DataAdapter-BY2114sp.js.map +1 -0
- package/lib/DebugRenderer-BJMLILqI.js +1385 -0
- package/lib/DebugRenderer-BJMLILqI.js.map +1 -0
- package/lib/DevToolsPlugin-wQ5rOkn0.js +31 -0
- package/lib/DevToolsPlugin-wQ5rOkn0.js.map +1 -0
- package/lib/GSAPPlugin-DHhSZKv8.js +350 -0
- package/lib/GSAPPlugin-DHhSZKv8.js.map +1 -0
- package/lib/LayoutPlugin-B-DF9SYM.js +1271 -0
- package/lib/LayoutPlugin-B-DF9SYM.js.map +1 -0
- package/lib/SpinePlugin-Dz_3dljz.js +6077 -0
- package/lib/SpinePlugin-Dz_3dljz.js.map +1 -0
- package/lib/StatsPlugin-Cg82JMBD.js +70 -0
- package/lib/StatsPlugin-Cg82JMBD.js.map +1 -0
- package/lib/VoiceOverPlugin-BR3ImT8C.js +114 -0
- package/lib/VoiceOverPlugin-BR3ImT8C.js.map +1 -0
- package/lib/caper.mjs +1233 -0
- package/lib/caper.mjs.map +1 -0
- package/lib/core/Application.d.ts +268 -0
- package/lib/core/Application.d.ts.map +1 -0
- package/lib/core/config.d.ts +39 -0
- package/lib/core/config.d.ts.map +1 -0
- package/lib/core/create.d.ts +41 -0
- package/lib/core/create.d.ts.map +1 -0
- package/lib/core/globals.d.ts +51 -0
- package/lib/core/globals.d.ts.map +1 -0
- package/lib/core/index.d.ts +7 -0
- package/lib/core/index.d.ts.map +1 -0
- package/lib/core/interfaces/IApplication.d.ts +566 -0
- package/lib/core/interfaces/IApplication.d.ts.map +1 -0
- package/lib/core/interfaces/IApplicationOptions.d.ts +65 -0
- package/lib/core/interfaces/IApplicationOptions.d.ts.map +1 -0
- package/lib/core/interfaces/ICoreFunctions.d.ts +49 -0
- package/lib/core/interfaces/ICoreFunctions.d.ts.map +1 -0
- package/lib/core/interfaces/ICoreSignals.d.ts +57 -0
- package/lib/core/interfaces/ICoreSignals.d.ts.map +1 -0
- package/lib/core/interfaces/IStorageCapability.d.ts +20 -0
- package/lib/core/interfaces/IStorageCapability.d.ts.map +1 -0
- package/lib/core/interfaces/IStorageCapability.test.d.ts +2 -0
- package/lib/core/interfaces/IStorageCapability.test.d.ts.map +1 -0
- package/lib/core/interfaces/index.d.ts +7 -0
- package/lib/core/interfaces/index.d.ts.map +1 -0
- package/lib/core/registries.d.ts +8 -0
- package/lib/core/registries.d.ts.map +1 -0
- package/lib/core/types.d.ts +12 -0
- package/lib/core/types.d.ts.map +1 -0
- package/lib/display/AnimatedSprite.d.ts +40 -0
- package/lib/display/AnimatedSprite.d.ts.map +1 -0
- package/lib/display/Camera.d.ts +102 -0
- package/lib/display/Camera.d.ts.map +1 -0
- package/lib/display/Container.d.ts +115 -0
- package/lib/display/Container.d.ts.map +1 -0
- package/lib/display/Entity.d.ts +46 -0
- package/lib/display/Entity.d.ts.map +1 -0
- package/lib/display/ParticleContainer.d.ts +58 -0
- package/lib/display/ParticleContainer.d.ts.map +1 -0
- package/lib/display/Scene.d.ts +250 -0
- package/lib/display/Scene.d.ts.map +1 -0
- package/lib/display/SceneTransition.d.ts +41 -0
- package/lib/display/SceneTransition.d.ts.map +1 -0
- package/lib/display/SpineAnimation.d.ts +76 -0
- package/lib/display/SpineAnimation.d.ts.map +1 -0
- package/lib/display/Svg.d.ts +5 -0
- package/lib/display/Svg.d.ts.map +1 -0
- package/lib/display/index.d.ts +10 -0
- package/lib/display/index.d.ts.map +1 -0
- package/lib/env.d.ts +6 -0
- package/lib/hello.d.ts +2 -0
- package/lib/hello.d.ts.map +1 -0
- package/lib/index.d.ts +15 -0
- package/lib/index.d.ts.map +1 -0
- package/lib/mixins/animated.d.ts +53 -0
- package/lib/mixins/animated.d.ts.map +1 -0
- package/lib/mixins/factory/Factory.d.ts +8 -0
- package/lib/mixins/factory/Factory.d.ts.map +1 -0
- package/lib/mixins/factory/const.d.ts +67 -0
- package/lib/mixins/factory/const.d.ts.map +1 -0
- package/lib/mixins/factory/index.d.ts +8 -0
- package/lib/mixins/factory/index.d.ts.map +1 -0
- package/lib/mixins/factory/methods.d.ts +3 -0
- package/lib/mixins/factory/methods.d.ts.map +1 -0
- package/lib/mixins/factory/props.d.ts +160 -0
- package/lib/mixins/factory/props.d.ts.map +1 -0
- package/lib/mixins/factory/registry.d.ts +27 -0
- package/lib/mixins/factory/registry.d.ts.map +1 -0
- package/lib/mixins/factory/registry.test.d.ts +2 -0
- package/lib/mixins/factory/registry.test.d.ts.map +1 -0
- package/lib/mixins/factory/schema.d.ts +71 -0
- package/lib/mixins/factory/schema.d.ts.map +1 -0
- package/lib/mixins/factory/ui-registry.d.ts +20 -0
- package/lib/mixins/factory/ui-registry.d.ts.map +1 -0
- package/lib/mixins/factory/utils.d.ts +11 -0
- package/lib/mixins/factory/utils.d.ts.map +1 -0
- package/lib/mixins/focus.d.ts +15 -0
- package/lib/mixins/focus.d.ts.map +1 -0
- package/lib/mixins/index.d.ts +6 -0
- package/lib/mixins/index.d.ts.map +1 -0
- package/lib/mixins/interaction.d.ts +20 -0
- package/lib/mixins/interaction.d.ts.map +1 -0
- package/lib/mixins/signals.d.ts +15 -0
- package/lib/mixins/signals.d.ts.map +1 -0
- package/lib/plugins/AssetsPlugin.d.ts +79 -0
- package/lib/plugins/AssetsPlugin.d.ts.map +1 -0
- package/lib/plugins/DataAdapter.d.ts +95 -0
- package/lib/plugins/DataAdapter.d.ts.map +1 -0
- package/lib/plugins/DevToolsPlugin.d.ts +97 -0
- package/lib/plugins/DevToolsPlugin.d.ts.map +1 -0
- package/lib/plugins/FullScreenPlugin.d.ts +240 -0
- package/lib/plugins/FullScreenPlugin.d.ts.map +1 -0
- package/lib/plugins/GSAPPlugin.d.ts +634 -0
- package/lib/plugins/GSAPPlugin.d.ts.map +1 -0
- package/lib/plugins/KeyboardPlugin.d.ts +53 -0
- package/lib/plugins/KeyboardPlugin.d.ts.map +1 -0
- package/lib/plugins/LayoutPlugin.d.ts +100 -0
- package/lib/plugins/LayoutPlugin.d.ts.map +1 -0
- package/lib/plugins/LookupPlugin.d.ts +223 -0
- package/lib/plugins/LookupPlugin.d.ts.map +1 -0
- package/lib/plugins/Plugin.d.ts +132 -0
- package/lib/plugins/Plugin.d.ts.map +1 -0
- package/lib/plugins/Plugin.test.d.ts +2 -0
- package/lib/plugins/Plugin.test.d.ts.map +1 -0
- package/lib/plugins/PopupManagerPlugin.d.ts +108 -0
- package/lib/plugins/PopupManagerPlugin.d.ts.map +1 -0
- package/lib/plugins/ResizerPlugin.d.ts +62 -0
- package/lib/plugins/ResizerPlugin.d.ts.map +1 -0
- package/lib/plugins/SceneManagerPlugin.d.ts +122 -0
- package/lib/plugins/SceneManagerPlugin.d.ts.map +1 -0
- package/lib/plugins/StatsPlugin.d.ts +8 -0
- package/lib/plugins/StatsPlugin.d.ts.map +1 -0
- package/lib/plugins/TimerPlugin.d.ts +401 -0
- package/lib/plugins/TimerPlugin.d.ts.map +1 -0
- package/lib/plugins/WebEventsPlugin.d.ts +60 -0
- package/lib/plugins/WebEventsPlugin.d.ts.map +1 -0
- package/lib/plugins/actions/ActionsPlugin.d.ts +39 -0
- package/lib/plugins/actions/ActionsPlugin.d.ts.map +1 -0
- package/lib/plugins/actions/constants.d.ts +52 -0
- package/lib/plugins/actions/constants.d.ts.map +1 -0
- package/lib/plugins/actions/index.d.ts +5 -0
- package/lib/plugins/actions/index.d.ts.map +1 -0
- package/lib/plugins/actions/methods.d.ts +11 -0
- package/lib/plugins/actions/methods.d.ts.map +1 -0
- package/lib/plugins/actions/types.d.ts +25 -0
- package/lib/plugins/actions/types.d.ts.map +1 -0
- package/lib/plugins/audio/AudioChannel.d.ts +46 -0
- package/lib/plugins/audio/AudioChannel.d.ts.map +1 -0
- package/lib/plugins/audio/AudioChannel.test.d.ts +2 -0
- package/lib/plugins/audio/AudioChannel.test.d.ts.map +1 -0
- package/lib/plugins/audio/AudioInstance.d.ts +79 -0
- package/lib/plugins/audio/AudioInstance.d.ts.map +1 -0
- package/lib/plugins/audio/AudioManagerPlugin.d.ts +323 -0
- package/lib/plugins/audio/AudioManagerPlugin.d.ts.map +1 -0
- package/lib/plugins/audio/VoiceOverPlugin.d.ts +69 -0
- package/lib/plugins/audio/VoiceOverPlugin.d.ts.map +1 -0
- package/lib/plugins/audio/index.d.ts +4 -0
- package/lib/plugins/audio/index.d.ts.map +1 -0
- package/lib/plugins/breakpoints/BreakpointPlugin.d.ts +109 -0
- package/lib/plugins/breakpoints/BreakpointPlugin.d.ts.map +1 -0
- package/lib/plugins/breakpoints/BreakpointPlugin.test.d.ts +2 -0
- package/lib/plugins/breakpoints/BreakpointPlugin.test.d.ts.map +1 -0
- package/lib/plugins/breakpoints/evaluate.d.ts +53 -0
- package/lib/plugins/breakpoints/evaluate.d.ts.map +1 -0
- package/lib/plugins/breakpoints/evaluate.test.d.ts +2 -0
- package/lib/plugins/breakpoints/evaluate.test.d.ts.map +1 -0
- package/lib/plugins/breakpoints/index.d.ts +4 -0
- package/lib/plugins/breakpoints/index.d.ts.map +1 -0
- package/lib/plugins/breakpoints/methods.d.ts +23 -0
- package/lib/plugins/breakpoints/methods.d.ts.map +1 -0
- package/lib/plugins/breakpoints/types.d.ts +70 -0
- package/lib/plugins/breakpoints/types.d.ts.map +1 -0
- package/lib/plugins/captions/CaptionsPlugin.d.ts +150 -0
- package/lib/plugins/captions/CaptionsPlugin.d.ts.map +1 -0
- package/lib/plugins/captions/CaptionsRenderer.d.ts +37 -0
- package/lib/plugins/captions/CaptionsRenderer.d.ts.map +1 -0
- package/lib/plugins/captions/index.d.ts +3 -0
- package/lib/plugins/captions/index.d.ts.map +1 -0
- package/lib/plugins/defaults.d.ts +4 -0
- package/lib/plugins/defaults.d.ts.map +1 -0
- package/lib/plugins/focus/FocusManagerPlugin.d.ts +148 -0
- package/lib/plugins/focus/FocusManagerPlugin.d.ts.map +1 -0
- package/lib/plugins/focus/FocusOutliner.d.ts +32 -0
- package/lib/plugins/focus/FocusOutliner.d.ts.map +1 -0
- package/lib/plugins/focus/index.d.ts +3 -0
- package/lib/plugins/focus/index.d.ts.map +1 -0
- package/lib/plugins/i18nPlugin.d.ts +128 -0
- package/lib/plugins/i18nPlugin.d.ts.map +1 -0
- package/lib/plugins/index.d.ts +18 -0
- package/lib/plugins/index.d.ts.map +1 -0
- package/lib/plugins/input/AbstractControls.d.ts +8 -0
- package/lib/plugins/input/AbstractControls.d.ts.map +1 -0
- package/lib/plugins/input/Controls.d.ts +16 -0
- package/lib/plugins/input/Controls.d.ts.map +1 -0
- package/lib/plugins/input/InputPlugin.d.ts +52 -0
- package/lib/plugins/input/InputPlugin.d.ts.map +1 -0
- package/lib/plugins/input/constants.d.ts +8 -0
- package/lib/plugins/input/constants.d.ts.map +1 -0
- package/lib/plugins/input/index.d.ts +10 -0
- package/lib/plugins/input/index.d.ts.map +1 -0
- package/lib/plugins/input/interfaces.d.ts +30 -0
- package/lib/plugins/input/interfaces.d.ts.map +1 -0
- package/lib/plugins/input/keyboard/KeyboardContols.d.ts +28 -0
- package/lib/plugins/input/keyboard/KeyboardContols.d.ts.map +1 -0
- package/lib/plugins/input/keyboard/index.d.ts +3 -0
- package/lib/plugins/input/keyboard/index.d.ts.map +1 -0
- package/lib/plugins/input/keyboard/interfaces.d.ts +18 -0
- package/lib/plugins/input/keyboard/interfaces.d.ts.map +1 -0
- package/lib/plugins/input/methods.d.ts +4 -0
- package/lib/plugins/input/methods.d.ts.map +1 -0
- package/lib/plugins/input/touch/TouchControls.d.ts +35 -0
- package/lib/plugins/input/touch/TouchControls.d.ts.map +1 -0
- package/lib/plugins/input/touch/constants.d.ts +14 -0
- package/lib/plugins/input/touch/constants.d.ts.map +1 -0
- package/lib/plugins/input/touch/index.d.ts +4 -0
- package/lib/plugins/input/touch/index.d.ts.map +1 -0
- package/lib/plugins/input/touch/interfaces.d.ts +15 -0
- package/lib/plugins/input/touch/interfaces.d.ts.map +1 -0
- package/lib/plugins/input/types.d.ts +32 -0
- package/lib/plugins/input/types.d.ts.map +1 -0
- package/lib/plugins/input/utils.d.ts +23 -0
- package/lib/plugins/input/utils.d.ts.map +1 -0
- package/lib/plugins/spine/SpinePlugin.d.ts +6 -0
- package/lib/plugins/spine/SpinePlugin.d.ts.map +1 -0
- package/lib/plugins/spine/pixi-spine/BatchableSpineSlot.d.ts +31 -0
- package/lib/plugins/spine/pixi-spine/BatchableSpineSlot.d.ts.map +1 -0
- package/lib/plugins/spine/pixi-spine/Spine.d.ts +211 -0
- package/lib/plugins/spine/pixi-spine/Spine.d.ts.map +1 -0
- package/lib/plugins/spine/pixi-spine/SpineDebugRenderer.d.ts +81 -0
- package/lib/plugins/spine/pixi-spine/SpineDebugRenderer.d.ts.map +1 -0
- package/lib/plugins/spine/pixi-spine/SpinePipe.d.ts +21 -0
- package/lib/plugins/spine/pixi-spine/SpinePipe.d.ts.map +1 -0
- package/lib/plugins/spine/pixi-spine/SpineTexture.d.ts +16 -0
- package/lib/plugins/spine/pixi-spine/SpineTexture.d.ts.map +1 -0
- package/lib/plugins/spine/pixi-spine/assets/atlasLoader.d.ts +10 -0
- package/lib/plugins/spine/pixi-spine/assets/atlasLoader.d.ts.map +1 -0
- package/lib/plugins/spine/pixi-spine/assets/skeletonLoader.d.ts +6 -0
- package/lib/plugins/spine/pixi-spine/assets/skeletonLoader.d.ts.map +1 -0
- package/lib/plugins/spine/pixi-spine/darktint/DarkTintBatchGeometry.d.ts +5 -0
- package/lib/plugins/spine/pixi-spine/darktint/DarkTintBatchGeometry.d.ts.map +1 -0
- package/lib/plugins/spine/pixi-spine/darktint/DarkTintBatcher.d.ts +22 -0
- package/lib/plugins/spine/pixi-spine/darktint/DarkTintBatcher.d.ts.map +1 -0
- package/lib/plugins/spine/pixi-spine/darktint/DarkTintShader.d.ts +5 -0
- package/lib/plugins/spine/pixi-spine/darktint/DarkTintShader.d.ts.map +1 -0
- package/lib/plugins/spine/pixi-spine/darktint/darkTintBit.d.ts +51 -0
- package/lib/plugins/spine/pixi-spine/darktint/darkTintBit.d.ts.map +1 -0
- package/lib/plugins/spine/pixi-spine/index.d.ts +9 -0
- package/lib/plugins/spine/pixi-spine/index.d.ts.map +1 -0
- package/lib/plugins/spine/pixi-spine/require-shim.d.ts +34 -0
- package/lib/plugins/spine/pixi-spine/require-shim.d.ts.map +1 -0
- package/lib/registries-CYCaYKZI.js +6885 -0
- package/lib/registries-CYCaYKZI.js.map +1 -0
- package/lib/signals/Signal.d.ts +16 -0
- package/lib/signals/Signal.d.ts.map +1 -0
- package/lib/signals/Signal.test.d.ts +2 -0
- package/lib/signals/Signal.test.d.ts.map +1 -0
- package/lib/signals/index.d.ts +3 -0
- package/lib/signals/index.d.ts.map +1 -0
- package/lib/store/Store.d.ts +56 -0
- package/lib/store/Store.d.ts.map +1 -0
- package/lib/store/Store.test.d.ts +2 -0
- package/lib/store/Store.test.d.ts.map +1 -0
- package/lib/store/index.d.ts +2 -0
- package/lib/store/index.d.ts.map +1 -0
- package/lib/types/framework.d.ts +46 -0
- package/lib/types/gsap.d.ts +23 -0
- package/lib/ui/Button.d.ts +162 -0
- package/lib/ui/Button.d.ts.map +1 -0
- package/lib/ui/FlexContainer.d.ts +109 -0
- package/lib/ui/FlexContainer.d.ts.map +1 -0
- package/lib/ui/Input.d.ts +384 -0
- package/lib/ui/Input.d.ts.map +1 -0
- package/lib/ui/Joystick.d.ts +61 -0
- package/lib/ui/Joystick.d.ts.map +1 -0
- package/lib/ui/Popup.d.ts +109 -0
- package/lib/ui/Popup.d.ts.map +1 -0
- package/lib/ui/Toast.d.ts +131 -0
- package/lib/ui/Toast.d.ts.map +1 -0
- package/lib/ui/Toaster.d.ts +188 -0
- package/lib/ui/Toaster.d.ts.map +1 -0
- package/lib/ui/UICanvas.d.ts +155 -0
- package/lib/ui/UICanvas.d.ts.map +1 -0
- package/lib/ui/index.d.ts +9 -0
- package/lib/ui/index.d.ts.map +1 -0
- package/lib/utils/array.d.ts +11 -0
- package/lib/utils/array.d.ts.map +1 -0
- package/lib/utils/bind.d.ts +21 -0
- package/lib/utils/bind.d.ts.map +1 -0
- package/lib/utils/canvas.d.ts +2 -0
- package/lib/utils/canvas.d.ts.map +1 -0
- package/lib/utils/color.d.ts +66 -0
- package/lib/utils/color.d.ts.map +1 -0
- package/lib/utils/console/Logger.d.ts +15 -0
- package/lib/utils/console/Logger.d.ts.map +1 -0
- package/lib/utils/console/index.d.ts +2 -0
- package/lib/utils/console/index.d.ts.map +1 -0
- package/lib/utils/debug.d.ts +34 -0
- package/lib/utils/debug.d.ts.map +1 -0
- package/lib/utils/define.d.ts +100 -0
- package/lib/utils/define.d.ts.map +1 -0
- package/lib/utils/env.d.ts +4 -0
- package/lib/utils/env.d.ts.map +1 -0
- package/lib/utils/events.d.ts +12 -0
- package/lib/utils/events.d.ts.map +1 -0
- package/lib/utils/framework.d.ts +12 -0
- package/lib/utils/framework.d.ts.map +1 -0
- package/lib/utils/index.d.ts +28 -0
- package/lib/utils/index.d.ts.map +1 -0
- package/lib/utils/map.d.ts +31 -0
- package/lib/utils/map.d.ts.map +1 -0
- package/lib/utils/math.d.ts +15 -0
- package/lib/utils/math.d.ts.map +1 -0
- package/lib/utils/misc.d.ts +13 -0
- package/lib/utils/misc.d.ts.map +1 -0
- package/lib/utils/number.d.ts +2 -0
- package/lib/utils/number.d.ts.map +1 -0
- package/lib/utils/object.d.ts +21 -0
- package/lib/utils/object.d.ts.map +1 -0
- package/lib/utils/padding.d.ts +4 -0
- package/lib/utils/padding.d.ts.map +1 -0
- package/lib/utils/pixi.d.ts +42 -0
- package/lib/utils/pixi.d.ts.map +1 -0
- package/lib/utils/platform.d.ts +20 -0
- package/lib/utils/platform.d.ts.map +1 -0
- package/lib/utils/point.d.ts +66 -0
- package/lib/utils/point.d.ts.map +1 -0
- package/lib/utils/promise/Queue.d.ts +60 -0
- package/lib/utils/promise/Queue.d.ts.map +1 -0
- package/lib/utils/promise/functions.d.ts +14 -0
- package/lib/utils/promise/functions.d.ts.map +1 -0
- package/lib/utils/promise/index.d.ts +3 -0
- package/lib/utils/promise/index.d.ts.map +1 -0
- package/lib/utils/random.d.ts +42 -0
- package/lib/utils/random.d.ts.map +1 -0
- package/lib/utils/rect.d.ts +26 -0
- package/lib/utils/rect.d.ts.map +1 -0
- package/lib/utils/set.d.ts +15 -0
- package/lib/utils/set.d.ts.map +1 -0
- package/lib/utils/string.d.ts +3 -0
- package/lib/utils/string.d.ts.map +1 -0
- package/lib/utils/text.d.ts +3 -0
- package/lib/utils/text.d.ts.map +1 -0
- package/lib/utils/typefilters.d.ts +4 -0
- package/lib/utils/typefilters.d.ts.map +1 -0
- package/lib/utils/types.d.ts +209 -0
- package/lib/utils/types.d.ts.map +1 -0
- package/lib/utils/vite.d.ts +25 -0
- package/lib/utils/vite.d.ts.map +1 -0
- package/lib/utils/web.d.ts +3 -0
- package/lib/utils/web.d.ts.map +1 -0
- package/lib/version.d.ts +3 -0
- package/lib/version.d.ts.map +1 -0
- package/lib/webgl-check.d.ts +2 -0
- package/lib/webgl-check.d.ts.map +1 -0
- package/package.json +138 -0
- package/src/core/Application.ts +1091 -0
- package/src/core/config.ts +168 -0
- package/src/core/create.ts +186 -0
- package/src/core/globals.ts +299 -0
- package/src/core/index.ts +6 -0
- package/src/core/interfaces/IApplication.ts +628 -0
- package/src/core/interfaces/IApplicationOptions.ts +81 -0
- package/src/core/interfaces/ICoreFunctions.ts +86 -0
- package/src/core/interfaces/ICoreSignals.ts +77 -0
- package/src/core/interfaces/IStorageCapability.test.ts +27 -0
- package/src/core/interfaces/IStorageCapability.ts +26 -0
- package/src/core/interfaces/index.ts +6 -0
- package/src/core/registries.ts +7 -0
- package/src/core/types.ts +13 -0
- package/src/display/AnimatedSprite.ts +227 -0
- package/src/display/Camera.ts +371 -0
- package/src/display/Container.ts +240 -0
- package/src/display/Entity.ts +50 -0
- package/src/display/ParticleContainer.ts +107 -0
- package/src/display/Scene.ts +305 -0
- package/src/display/SceneTransition.ts +108 -0
- package/src/display/SpineAnimation.ts +170 -0
- package/src/display/Svg.ts +9 -0
- package/src/display/index.ts +11 -0
- package/src/env.d.ts +6 -0
- package/src/hello.ts +20 -0
- package/src/index.ts +17 -0
- package/src/mixins/animated.ts +340 -0
- package/src/mixins/factory/Factory.ts +24 -0
- package/src/mixins/factory/const.ts +363 -0
- package/src/mixins/factory/index.ts +7 -0
- package/src/mixins/factory/methods.ts +21 -0
- package/src/mixins/factory/props.ts +207 -0
- package/src/mixins/factory/registry.test.ts +83 -0
- package/src/mixins/factory/registry.ts +61 -0
- package/src/mixins/factory/schema.ts +153 -0
- package/src/mixins/factory/ui-registry.ts +54 -0
- package/src/mixins/factory/utils.ts +130 -0
- package/src/mixins/focus.ts +124 -0
- package/src/mixins/index.ts +5 -0
- package/src/mixins/interaction.ts +74 -0
- package/src/mixins/signals.ts +49 -0
- package/src/plugins/AssetsPlugin.ts +407 -0
- package/src/plugins/DataAdapter.ts +259 -0
- package/src/plugins/DevToolsPlugin.ts +103 -0
- package/src/plugins/FullScreenPlugin.ts +359 -0
- package/src/plugins/GSAPPlugin.ts +811 -0
- package/src/plugins/KeyboardPlugin.ts +160 -0
- package/src/plugins/LayoutPlugin.ts +127 -0
- package/src/plugins/LookupPlugin.ts +308 -0
- package/src/plugins/Plugin.test.ts +73 -0
- package/src/plugins/Plugin.ts +200 -0
- package/src/plugins/PopupManagerPlugin.ts +263 -0
- package/src/plugins/ResizerPlugin.ts +220 -0
- package/src/plugins/SceneManagerPlugin.ts +669 -0
- package/src/plugins/StatsPlugin.ts +24 -0
- package/src/plugins/TimerPlugin.ts +841 -0
- package/src/plugins/WebEventsPlugin.ts +132 -0
- package/src/plugins/actions/ActionsPlugin.ts +113 -0
- package/src/plugins/actions/constants.ts +45 -0
- package/src/plugins/actions/index.ts +4 -0
- package/src/plugins/actions/methods.ts +28 -0
- package/src/plugins/actions/types.ts +47 -0
- package/src/plugins/audio/AudioChannel.test.ts +101 -0
- package/src/plugins/audio/AudioChannel.ts +164 -0
- package/src/plugins/audio/AudioInstance.ts +228 -0
- package/src/plugins/audio/AudioManagerPlugin.ts +903 -0
- package/src/plugins/audio/VoiceOverPlugin.ts +354 -0
- package/src/plugins/audio/index.ts +3 -0
- package/src/plugins/breakpoints/BreakpointPlugin.test.ts +228 -0
- package/src/plugins/breakpoints/BreakpointPlugin.ts +293 -0
- package/src/plugins/breakpoints/evaluate.test.ts +239 -0
- package/src/plugins/breakpoints/evaluate.ts +201 -0
- package/src/plugins/breakpoints/index.ts +3 -0
- package/src/plugins/breakpoints/methods.ts +22 -0
- package/src/plugins/breakpoints/types.ts +86 -0
- package/src/plugins/captions/CaptionsPlugin.ts +468 -0
- package/src/plugins/captions/CaptionsRenderer.ts +184 -0
- package/src/plugins/captions/font/Sans.fnt +116 -0
- package/src/plugins/captions/font/Sans.png +0 -0
- package/src/plugins/captions/index.ts +2 -0
- package/src/plugins/defaults.ts +95 -0
- package/src/plugins/focus/FocusManagerPlugin.ts +773 -0
- package/src/plugins/focus/FocusOutliner.ts +111 -0
- package/src/plugins/focus/index.ts +2 -0
- package/src/plugins/i18nPlugin.ts +284 -0
- package/src/plugins/index.ts +17 -0
- package/src/plugins/input/AbstractControls.ts +15 -0
- package/src/plugins/input/Controls.ts +55 -0
- package/src/plugins/input/InputPlugin.ts +168 -0
- package/src/plugins/input/constants.ts +12 -0
- package/src/plugins/input/index.ts +9 -0
- package/src/plugins/input/interfaces.ts +37 -0
- package/src/plugins/input/keyboard/KeyboardContols.ts +182 -0
- package/src/plugins/input/keyboard/index.ts +2 -0
- package/src/plugins/input/keyboard/interfaces.ts +21 -0
- package/src/plugins/input/methods.ts +9 -0
- package/src/plugins/input/touch/TouchControls.ts +237 -0
- package/src/plugins/input/touch/constants.ts +34 -0
- package/src/plugins/input/touch/index.ts +3 -0
- package/src/plugins/input/touch/interfaces.ts +15 -0
- package/src/plugins/input/types.ts +41 -0
- package/src/plugins/input/utils.ts +10 -0
- package/src/plugins/spine/SpinePlugin.ts +14 -0
- package/src/plugins/spine/pixi-spine/BatchableSpineSlot.ts +138 -0
- package/src/plugins/spine/pixi-spine/Spine.ts +897 -0
- package/src/plugins/spine/pixi-spine/SpineDebugRenderer.ts +615 -0
- package/src/plugins/spine/pixi-spine/SpinePipe.ts +197 -0
- package/src/plugins/spine/pixi-spine/SpineTexture.ts +143 -0
- package/src/plugins/spine/pixi-spine/assets/atlasLoader.ts +156 -0
- package/src/plugins/spine/pixi-spine/assets/skeletonLoader.ts +80 -0
- package/src/plugins/spine/pixi-spine/darktint/DarkTintBatchGeometry.ts +92 -0
- package/src/plugins/spine/pixi-spine/darktint/DarkTintBatcher.ts +186 -0
- package/src/plugins/spine/pixi-spine/darktint/DarkTintShader.ts +74 -0
- package/src/plugins/spine/pixi-spine/darktint/darkTintBit.ts +77 -0
- package/src/plugins/spine/pixi-spine/index.ts +43 -0
- package/src/plugins/spine/pixi-spine/require-shim.ts +43 -0
- package/src/signals/Signal.test.ts +54 -0
- package/src/signals/Signal.ts +68 -0
- package/src/signals/index.ts +10 -0
- package/src/store/Store.test.ts +146 -0
- package/src/store/Store.ts +192 -0
- package/src/store/index.ts +1 -0
- package/src/types/framework.d.ts +47 -0
- package/src/types/gsap.d.ts +26 -0
- package/src/ui/Button.ts +454 -0
- package/src/ui/FlexContainer.ts +526 -0
- package/src/ui/Input.ts +1274 -0
- package/src/ui/Joystick.ts +288 -0
- package/src/ui/Popup.ts +242 -0
- package/src/ui/Toast.ts +399 -0
- package/src/ui/Toaster.ts +409 -0
- package/src/ui/UICanvas.ts +812 -0
- package/src/ui/index.ts +8 -0
- package/src/utils/array.ts +24 -0
- package/src/utils/bind.ts +79 -0
- package/src/utils/canvas.ts +26 -0
- package/src/utils/color.ts +126 -0
- package/src/utils/console/Logger.ts +86 -0
- package/src/utils/console/index.ts +1 -0
- package/src/utils/debug.ts +69 -0
- package/src/utils/define.ts +120 -0
- package/src/utils/env.ts +3 -0
- package/src/utils/events.ts +10 -0
- package/src/utils/framework.ts +45 -0
- package/src/utils/index.ts +27 -0
- package/src/utils/map.ts +59 -0
- package/src/utils/math.ts +19 -0
- package/src/utils/misc.ts +45 -0
- package/src/utils/number.ts +3 -0
- package/src/utils/object.ts +43 -0
- package/src/utils/padding.ts +43 -0
- package/src/utils/pixi.ts +116 -0
- package/src/utils/platform.ts +33 -0
- package/src/utils/point.ts +123 -0
- package/src/utils/promise/Queue.ts +125 -0
- package/src/utils/promise/functions.ts +16 -0
- package/src/utils/promise/index.ts +2 -0
- package/src/utils/random.ts +69 -0
- package/src/utils/rect.ts +50 -0
- package/src/utils/set.ts +32 -0
- package/src/utils/string.ts +9 -0
- package/src/utils/text.ts +30 -0
- package/src/utils/typefilters.ts +29 -0
- package/src/utils/types.ts +426 -0
- package/src/utils/vite.ts +41 -0
- package/src/utils/web.ts +7 -0
- package/src/version.ts +3 -0
- package/src/webgl-check.ts +12 -0
- package/templates/app/default/.eslintrc.json +21 -0
- package/templates/app/default/.meta.json +4 -0
- package/templates/app/default/.nvmrc +1 -0
- package/templates/app/default/.prettierrc.json +7 -0
- package/templates/app/default/README.md +8 -0
- package/templates/app/default/assets/audio{m}/music/Cheerful Annoyance.ogg +0 -0
- package/templates/app/default/assets/audio{m}/music/Drumming Sticks.ogg +0 -0
- package/templates/app/default/assets/audio{m}/music/Game Over.ogg +0 -0
- package/templates/app/default/assets/audio{m}/music/Mishief Stroll.ogg +0 -0
- package/templates/app/default/assets/audio{m}/music/Night at the Beach.ogg +0 -0
- package/templates/app/default/assets/audio{m}/sfx/click.ogg +0 -0
- package/templates/app/default/assets/audio{m}/sfx/hover.ogg +0 -0
- package/templates/app/default/assets/required{m}/caper.png +0 -0
- package/templates/app/default/assets/required{m}/fonts{fix}/SpaceGrotesk-Bold{family=Space Grotesk}{wf}.ttf +0 -0
- package/templates/app/default/assets/required{m}/fonts{fix}/SpaceGrotesk-Medium{family=Space Grotesk}{wf}.ttf +0 -0
- package/templates/app/default/assets/required{m}/fonts{fix}/SpaceGrotesk-Regular{family=Space Grotesk}{wf}.ttf +0 -0
- package/templates/app/default/assets/required{m}/fonts{fix}/Syncopate-Bold{family=Syncopate}{wf}.ttf +0 -0
- package/templates/app/default/assets/required{m}/ui{tps}/btn/blue.png +0 -0
- package/templates/app/default/assets/required{m}/ui{tps}/btn/green.png +0 -0
- package/templates/app/default/assets/required{m}/ui{tps}/btn/grey.png +0 -0
- package/templates/app/default/assets/required{m}/ui{tps}/btn/orange.png +0 -0
- package/templates/app/default/assets/required{m}/ui{tps}/btn/purple.png +0 -0
- package/templates/app/default/assets/required{m}/ui{tps}/btn/red.png +0 -0
- package/templates/app/default/assets/required{m}/ui{tps}/btn/yellow.png +0 -0
- package/templates/app/default/assets/required{m}/ui{tps}/btn_a/down.png +0 -0
- package/templates/app/default/assets/required{m}/ui{tps}/btn_a/over.png +0 -0
- package/templates/app/default/assets/required{m}/ui{tps}/btn_a/up.png +0 -0
- package/templates/app/default/assets/required{m}/ui{tps}/btn_b/down.png +0 -0
- package/templates/app/default/assets/required{m}/ui{tps}/btn_b/over.png +0 -0
- package/templates/app/default/assets/required{m}/ui{tps}/btn_b/up.png +0 -0
- package/templates/app/default/assets/required{m}/ui{tps}/joystick/base.png +0 -0
- package/templates/app/default/assets/required{m}/ui{tps}/joystick/handle.png +0 -0
- package/templates/app/default/assets/required{m}/wordmark.svg +1 -0
- package/templates/app/default/assets/spine{m}/spineboy-pro.png +0 -0
- package/templates/app/default/assets/spine{m}/spineboy-pro.skel +0 -0
- package/templates/app/default/assets/spine{m}/spineboy-pro{fix}.atlas +94 -0
- package/templates/app/default/caper.config.ts +60 -0
- package/templates/app/default/index.html +23 -0
- package/templates/app/default/package.template.json +17 -0
- package/templates/app/default/public/favicon.ico +0 -0
- package/templates/app/default/src/__APPLICATION_NAME__.ts +3 -0
- package/templates/app/default/src/main.ts +9 -0
- package/templates/app/default/src/scenes/Base.ts +39 -0
- package/templates/app/default/src/scenes/Game.ts +34 -0
- package/templates/app/default/src/scenes/Splash.ts +70 -0
- package/templates/app/default/src/scenes/Start.ts +90 -0
- package/templates/app/default/src/utils/Constants.ts +3 -0
- package/templates/app/default/tsconfig.json +1 -0
- package/templates/plugin/package.template.json +33 -0
- package/templates/plugin/src/Plugin.template.ts +24 -0
- package/templates/plugin/src/index.template.ts +3 -0
- package/templates/plugin/tsconfig.template.json +43 -0
- package/templates/plugin/vite-env.template.d.ts +16 -0
- package/templates/plugin/vite.config.template.ts +19 -0
|
@@ -0,0 +1,628 @@
|
|
|
1
|
+
import { AssetsManifest, Application as PIXIPApplication, Container as PIXIContainer, Point } from 'pixi.js';
|
|
2
|
+
import type {
|
|
3
|
+
ActionSignal,
|
|
4
|
+
IAssetsPlugin,
|
|
5
|
+
IAudioManagerPlugin,
|
|
6
|
+
IBreakpointPlugin,
|
|
7
|
+
IControls,
|
|
8
|
+
IFocusManagerPlugin,
|
|
9
|
+
Ii18nPlugin,
|
|
10
|
+
IInputPlugin,
|
|
11
|
+
IKeyboardPlugin,
|
|
12
|
+
IPlugin,
|
|
13
|
+
IPopupManagerPlugin,
|
|
14
|
+
IResizerPlugin,
|
|
15
|
+
ISceneManagerPlugin,
|
|
16
|
+
IWebEventsPlugin,
|
|
17
|
+
} from '../../plugins';
|
|
18
|
+
import { IGSAPPlugin } from '../../plugins/GSAPPlugin';
|
|
19
|
+
import { Signal } from '../../signals';
|
|
20
|
+
import type { IDataAdapter } from '../../plugins/DataAdapter';
|
|
21
|
+
import type { IStore } from '../../store';
|
|
22
|
+
import type { AppTypeOverrides, Eases, Size } from '../../utils';
|
|
23
|
+
import type { AppConfig, PauseConfig } from '../types';
|
|
24
|
+
import type { ICoreFunctions } from './ICoreFunctions';
|
|
25
|
+
import { ICoreSignals } from './ICoreSignals';
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* Represents the core application interface, extending PixiJS Application.
|
|
29
|
+
* It manages plugins, game state, actions, and provides access to various application subsystems.
|
|
30
|
+
*
|
|
31
|
+
* @template D - The type of the data schema used by the application's store.
|
|
32
|
+
* @template C - The type of the action context used for dispatching actions.
|
|
33
|
+
* @template A - The type of actions that can be dispatched in the application.
|
|
34
|
+
*
|
|
35
|
+
* @example
|
|
36
|
+
* ```typescript
|
|
37
|
+
* import { Application } from '@caperjs/framework';
|
|
38
|
+
*
|
|
39
|
+
* // Define your data schema, action context, and actions
|
|
40
|
+
* interface MyDataSchema {
|
|
41
|
+
* score: number;
|
|
42
|
+
* playerName: string;
|
|
43
|
+
* }
|
|
44
|
+
*
|
|
45
|
+
* interface MyActionContext {
|
|
46
|
+
* userId: string;
|
|
47
|
+
* }
|
|
48
|
+
*
|
|
49
|
+
* type MyActions = 'startGame' | 'endGame' | 'updateScore';
|
|
50
|
+
*
|
|
51
|
+
* // Create a new application instance
|
|
52
|
+
* const app = new Application<MyDataSchema, MyActionContext, MyActions>();
|
|
53
|
+
*
|
|
54
|
+
* async function main() {
|
|
55
|
+
* await app.initialize({
|
|
56
|
+
* // Application configuration
|
|
57
|
+
* appName: 'My Awesome Game',
|
|
58
|
+
* // ... other config options
|
|
59
|
+
* }, document.getElementById('game-container'));
|
|
60
|
+
*
|
|
61
|
+
* // Access application properties and methods
|
|
62
|
+
* console.log(app.appName); // 'My Awesome Game'
|
|
63
|
+
* app.scenes.load('mainMenu');
|
|
64
|
+
* app.action('startGame');
|
|
65
|
+
* }
|
|
66
|
+
*
|
|
67
|
+
* main();
|
|
68
|
+
* ```
|
|
69
|
+
*/
|
|
70
|
+
export interface IApplication extends PIXIPApplication {
|
|
71
|
+
/**
|
|
72
|
+
* The application configuration object.
|
|
73
|
+
* Contains settings for various aspects of the application, including plugins, assets, and scenes.
|
|
74
|
+
* @readonly
|
|
75
|
+
* @example
|
|
76
|
+
* ```typescript
|
|
77
|
+
* console.log(app.config.appName); // 'My Awesome Game'
|
|
78
|
+
* if (app.config.showStats) {
|
|
79
|
+
* // Show performance stats
|
|
80
|
+
* }
|
|
81
|
+
* ```
|
|
82
|
+
*/
|
|
83
|
+
readonly config: Partial<AppConfig>;
|
|
84
|
+
|
|
85
|
+
/**
|
|
86
|
+
* A top-level container for debug overlays, rendered above all other stage children.
|
|
87
|
+
* Lazily created on first access. Non-interactive and excluded from layout.
|
|
88
|
+
*
|
|
89
|
+
* Plugins and modules that draw screen-space debug (e.g. viewport bounds)
|
|
90
|
+
* should add their Graphics here rather than directly to the stage.
|
|
91
|
+
* Components drawing in local coordinates (FlexContainer, UICanvas) add
|
|
92
|
+
* debug Graphics to themselves instead — use the shared `createDebugGraphics()`
|
|
93
|
+
* and `DebugColors` utilities for consistent styling.
|
|
94
|
+
*/
|
|
95
|
+
readonly debugContainer: PIXIContainer;
|
|
96
|
+
|
|
97
|
+
/**
|
|
98
|
+
* Environment variables available to the application.
|
|
99
|
+
* Typically sourced from `import.meta.env`.
|
|
100
|
+
* @readonly
|
|
101
|
+
* @example
|
|
102
|
+
* ```typescript
|
|
103
|
+
* const apiKey = app.env.API_KEY;
|
|
104
|
+
* if (app.env.NODE_ENV === 'development') {
|
|
105
|
+
* // Enable debug features
|
|
106
|
+
* }
|
|
107
|
+
* ```
|
|
108
|
+
*/
|
|
109
|
+
readonly env: Record<string, string>;
|
|
110
|
+
|
|
111
|
+
/**
|
|
112
|
+
* The current size (width and height) of the application's view/canvas.
|
|
113
|
+
* Managed by the ResizerPlugin.
|
|
114
|
+
* @readonly
|
|
115
|
+
* @example
|
|
116
|
+
* ```typescript
|
|
117
|
+
* console.log(app.size.width, app.size.height);
|
|
118
|
+
* const aspectRatio = app.size.width / app.size.height;
|
|
119
|
+
* ```
|
|
120
|
+
*/
|
|
121
|
+
readonly size: Size;
|
|
122
|
+
|
|
123
|
+
/**
|
|
124
|
+
* The center point (x, y) of the application's view/canvas.
|
|
125
|
+
* Automatically updated when the application resizes.
|
|
126
|
+
* @readonly
|
|
127
|
+
* @example
|
|
128
|
+
* ```typescript
|
|
129
|
+
* // Center a sprite on the screen
|
|
130
|
+
* mySprite.position.copyFrom(app.center);
|
|
131
|
+
* ```
|
|
132
|
+
*/
|
|
133
|
+
readonly center: Point;
|
|
134
|
+
|
|
135
|
+
/**
|
|
136
|
+
* The asset manifest used by the application.
|
|
137
|
+
* Can be a URL to a manifest file, or an AssetsManifest object.
|
|
138
|
+
* @readonly
|
|
139
|
+
* @example
|
|
140
|
+
* ```typescript
|
|
141
|
+
* console.log(app.manifest); // Could be './assets.json' or an object
|
|
142
|
+
* ```
|
|
143
|
+
*/
|
|
144
|
+
readonly manifest: AssetsManifest | string | undefined;
|
|
145
|
+
|
|
146
|
+
/**
|
|
147
|
+
* The AssetsPlugin instance for managing game assets.
|
|
148
|
+
* Provides methods for loading and accessing textures, sounds, fonts, etc.
|
|
149
|
+
* @readonly
|
|
150
|
+
* @example
|
|
151
|
+
* ```typescript
|
|
152
|
+
* const playerTexture = await app.assets.load('playerSprite');
|
|
153
|
+
* const backgroundMusic = app.assets.getSound('bgm');
|
|
154
|
+
* ```
|
|
155
|
+
*/
|
|
156
|
+
readonly assets: IAssetsPlugin;
|
|
157
|
+
|
|
158
|
+
/**
|
|
159
|
+
* The SceneManagerPlugin instance for managing game scenes.
|
|
160
|
+
* Handles scene transitions, loading, and lifecycle.
|
|
161
|
+
* @readonly
|
|
162
|
+
* @example
|
|
163
|
+
* ```typescript
|
|
164
|
+
* app.scenes.load('level1');
|
|
165
|
+
* app.scenes.currentScene.pause();
|
|
166
|
+
* ```
|
|
167
|
+
*/
|
|
168
|
+
readonly scenes: ISceneManagerPlugin;
|
|
169
|
+
|
|
170
|
+
/**
|
|
171
|
+
* The WebEventsPlugin instance for managing browser-related events.
|
|
172
|
+
* Handles events like window resize, visibility change, etc.
|
|
173
|
+
* @readonly
|
|
174
|
+
* @example
|
|
175
|
+
* ```typescript
|
|
176
|
+
* app.webEvents.onResize.connect((newSize) => {
|
|
177
|
+
* console.log('Resized to:', newSize.width, newSize.height);
|
|
178
|
+
* });
|
|
179
|
+
* ```
|
|
180
|
+
*/
|
|
181
|
+
readonly webEvents: IWebEventsPlugin;
|
|
182
|
+
|
|
183
|
+
/**
|
|
184
|
+
* The KeyboardPlugin instance for managing keyboard input.
|
|
185
|
+
* @readonly
|
|
186
|
+
* @example
|
|
187
|
+
* ```typescript
|
|
188
|
+
* if (app.keyboard.isKeyDown('Space')) {
|
|
189
|
+
* // Player jumps
|
|
190
|
+
* }
|
|
191
|
+
* app.keyboard.onKeyDown.connect((keyEvent) => {
|
|
192
|
+
* if(keyEvent.key === 'Escape') app.scenes.load('pauseMenu');
|
|
193
|
+
* });
|
|
194
|
+
* ```
|
|
195
|
+
*/
|
|
196
|
+
readonly keyboard: IKeyboardPlugin;
|
|
197
|
+
|
|
198
|
+
/**
|
|
199
|
+
* The FocusManagerPlugin instance for managing UI focus.
|
|
200
|
+
* @readonly
|
|
201
|
+
*/
|
|
202
|
+
readonly focus: IFocusManagerPlugin;
|
|
203
|
+
|
|
204
|
+
/**
|
|
205
|
+
* The PopupManagerPlugin instance for managing pop-up dialogs or views.
|
|
206
|
+
* @readonly
|
|
207
|
+
* @example
|
|
208
|
+
* ```typescript
|
|
209
|
+
* app.popups.show('settingsPopup', { volume: 0.5 });
|
|
210
|
+
* ```
|
|
211
|
+
*/
|
|
212
|
+
readonly popups: IPopupManagerPlugin;
|
|
213
|
+
|
|
214
|
+
/**
|
|
215
|
+
* The AudioManagerPlugin instance for managing game audio.
|
|
216
|
+
* Handles sound effects and background music.
|
|
217
|
+
* @readonly
|
|
218
|
+
* @example
|
|
219
|
+
* ```typescript
|
|
220
|
+
* app.audio.playSound('explosion');
|
|
221
|
+
* app.audio.setMusicVolume(0.7);
|
|
222
|
+
* ```
|
|
223
|
+
*/
|
|
224
|
+
readonly audio: IAudioManagerPlugin;
|
|
225
|
+
|
|
226
|
+
/**
|
|
227
|
+
* The i18nPlugin instance for internationalization and localization.
|
|
228
|
+
* @readonly
|
|
229
|
+
* @example
|
|
230
|
+
* ```typescript
|
|
231
|
+
* const localizedGreeting = app.i18n.translate('GREETING_KEY');
|
|
232
|
+
* app.i18n.setLocale('fr-FR');
|
|
233
|
+
* ```
|
|
234
|
+
*/
|
|
235
|
+
readonly i18n: Ii18nPlugin;
|
|
236
|
+
|
|
237
|
+
/**
|
|
238
|
+
* The ResizerPlugin instance for managing application resizing.
|
|
239
|
+
* @readonly
|
|
240
|
+
*/
|
|
241
|
+
readonly resizer: IResizerPlugin;
|
|
242
|
+
|
|
243
|
+
/**
|
|
244
|
+
* The BreakpointPlugin instance for named responsive state derived from the
|
|
245
|
+
* renderer size.
|
|
246
|
+
* @readonly
|
|
247
|
+
*/
|
|
248
|
+
readonly breakpoints: IBreakpointPlugin;
|
|
249
|
+
|
|
250
|
+
/**
|
|
251
|
+
* The InputPlugin instance for managing various input sources.
|
|
252
|
+
* This often consolidates controls from keyboard, mouse, gamepad, etc.
|
|
253
|
+
* @readonly
|
|
254
|
+
*/
|
|
255
|
+
readonly input: IInputPlugin;
|
|
256
|
+
|
|
257
|
+
/**
|
|
258
|
+
* The Controls instance, typically accessed via the InputPlugin.
|
|
259
|
+
* Provides a higher-level abstraction for game controls and actions.
|
|
260
|
+
* @readonly
|
|
261
|
+
* @example
|
|
262
|
+
* ```typescript
|
|
263
|
+
* if (app.controls.isActionActive('jump')) {
|
|
264
|
+
* // Player jumps
|
|
265
|
+
* }
|
|
266
|
+
* ```
|
|
267
|
+
*/
|
|
268
|
+
readonly controls: IControls;
|
|
269
|
+
|
|
270
|
+
/**
|
|
271
|
+
* The Store instance for managing application state.
|
|
272
|
+
* Uses a data schema and adapters for persistence.
|
|
273
|
+
* @readonly
|
|
274
|
+
* @example
|
|
275
|
+
* ```typescript
|
|
276
|
+
* const currentScore = app.store.getState().score;
|
|
277
|
+
* app.store.updateState({ score: currentScore + 10 });
|
|
278
|
+
* ```
|
|
279
|
+
*/
|
|
280
|
+
readonly store: IStore;
|
|
281
|
+
|
|
282
|
+
/**
|
|
283
|
+
* The primary DataAdapter instance, usually for managing game data.
|
|
284
|
+
* @readonly
|
|
285
|
+
* @example
|
|
286
|
+
* ```typescript
|
|
287
|
+
* const playerData = await app.data.get('playerStats');
|
|
288
|
+
* await app.data.set('playerStats', { health: 100, mana: 50 });
|
|
289
|
+
* ```
|
|
290
|
+
*/
|
|
291
|
+
readonly data: IDataAdapter;
|
|
292
|
+
|
|
293
|
+
/**
|
|
294
|
+
* The current context for dispatching actions.
|
|
295
|
+
* Allows passing additional contextual information when actions are triggered.
|
|
296
|
+
* @example
|
|
297
|
+
* ```typescript
|
|
298
|
+
* app.actionContext = { userId: 'user123', source: 'uiButton' };
|
|
299
|
+
* app.action('submitScore', { score: 1000 }); // Context will be included
|
|
300
|
+
* ```
|
|
301
|
+
*/
|
|
302
|
+
actionContext: AppTypeOverrides['Contexts'];
|
|
303
|
+
|
|
304
|
+
/**
|
|
305
|
+
* A signal that emits when the application is paused.
|
|
306
|
+
* @example
|
|
307
|
+
* ```typescript
|
|
308
|
+
* app.onPause.connect(() => {
|
|
309
|
+
* console.log('Application paused');
|
|
310
|
+
* // Stop game-specific timers or animations not handled by app.pause()
|
|
311
|
+
* });
|
|
312
|
+
* ```
|
|
313
|
+
*/
|
|
314
|
+
onPause: Signal<() => void>;
|
|
315
|
+
|
|
316
|
+
/**
|
|
317
|
+
* A signal that emits when the application is resumed from a paused state.
|
|
318
|
+
* @example
|
|
319
|
+
* ```typescript
|
|
320
|
+
* app.onResume.connect(() => {
|
|
321
|
+
* console.log('Application resumed');
|
|
322
|
+
* // Restart game-specific timers or animations
|
|
323
|
+
* });
|
|
324
|
+
* ```
|
|
325
|
+
*/
|
|
326
|
+
onResume: Signal<() => void>;
|
|
327
|
+
|
|
328
|
+
/**
|
|
329
|
+
* Pauses the application.
|
|
330
|
+
* This can include pausing the ticker, animations, audio, and timers based on the `PauseConfig`.
|
|
331
|
+
* @param config - Optional configuration for what aspects of the application to pause.
|
|
332
|
+
* @example
|
|
333
|
+
* ```typescript
|
|
334
|
+
* // Pause everything
|
|
335
|
+
* app.pause();
|
|
336
|
+
*
|
|
337
|
+
* // Only pause audio and timers
|
|
338
|
+
* app.pause({ pauseAudio: true, pauseTimers: true });
|
|
339
|
+
* ```
|
|
340
|
+
*/
|
|
341
|
+
pause(config?: PauseConfig): void;
|
|
342
|
+
|
|
343
|
+
/**
|
|
344
|
+
* Resumes the application from a paused state.
|
|
345
|
+
* Restores the state of ticker, animations, audio, and timers that were paused.
|
|
346
|
+
* @example
|
|
347
|
+
* ```typescript
|
|
348
|
+
* app.resume();
|
|
349
|
+
* ```
|
|
350
|
+
*/
|
|
351
|
+
resume(): void;
|
|
352
|
+
|
|
353
|
+
/**
|
|
354
|
+
* Indicates whether the application is currently paused.
|
|
355
|
+
* @readonly
|
|
356
|
+
* @example
|
|
357
|
+
* ```typescript
|
|
358
|
+
* if (app.paused) {
|
|
359
|
+
* // Show pause menu
|
|
360
|
+
* }
|
|
361
|
+
* ```
|
|
362
|
+
*/
|
|
363
|
+
readonly paused: boolean;
|
|
364
|
+
|
|
365
|
+
/**
|
|
366
|
+
* The name of the application.
|
|
367
|
+
* Defined in the application configuration.
|
|
368
|
+
* @readonly
|
|
369
|
+
* @example
|
|
370
|
+
* ```typescript
|
|
371
|
+
* document.title = app.appName;
|
|
372
|
+
* ```
|
|
373
|
+
*/
|
|
374
|
+
readonly appName: string;
|
|
375
|
+
|
|
376
|
+
/**
|
|
377
|
+
* The version of the application.
|
|
378
|
+
* Typically injected at build time (e.g., via `__CAPER_APP_VERSION`).
|
|
379
|
+
* @readonly
|
|
380
|
+
* @example
|
|
381
|
+
* ```typescript
|
|
382
|
+
* console.log(`Running ${app.appName} v${app.appVersion}`);
|
|
383
|
+
* ```
|
|
384
|
+
*/
|
|
385
|
+
readonly appVersion: string | number;
|
|
386
|
+
|
|
387
|
+
/**
|
|
388
|
+
* Access to core application signals.
|
|
389
|
+
* These are global signals for important application events.
|
|
390
|
+
* @readonly
|
|
391
|
+
* @example
|
|
392
|
+
* ```typescript
|
|
393
|
+
* app.signal.onLoadRequiredComplete.connectOnce(() => {
|
|
394
|
+
* console.log('Core assets loaded!');
|
|
395
|
+
* });
|
|
396
|
+
* ```
|
|
397
|
+
*/
|
|
398
|
+
signal: ICoreSignals;
|
|
399
|
+
|
|
400
|
+
/**
|
|
401
|
+
* Access to core application functions.
|
|
402
|
+
* Provides a registry for globally accessible utility functions.
|
|
403
|
+
* @readonly
|
|
404
|
+
* @example
|
|
405
|
+
* ```typescript
|
|
406
|
+
* const utility = app.func.get('myUtility');
|
|
407
|
+
* if (utility) utility.doSomething();
|
|
408
|
+
* ```
|
|
409
|
+
*/
|
|
410
|
+
func: ICoreFunctions;
|
|
411
|
+
|
|
412
|
+
/**
|
|
413
|
+
* Alias for `func`. Access to core application functions.
|
|
414
|
+
* @readonly
|
|
415
|
+
*/
|
|
416
|
+
exec: ICoreFunctions;
|
|
417
|
+
|
|
418
|
+
/**
|
|
419
|
+
* Retrieves an ActionSignal for a specific action type.
|
|
420
|
+
* This allows subscribing to specific actions dispatched within the application.
|
|
421
|
+
* @param action - The action type to get the signal for.
|
|
422
|
+
* @returns An ActionSignal that can be connected to.
|
|
423
|
+
* @template TActionData - The type of data expected with the action.
|
|
424
|
+
* @example
|
|
425
|
+
* ```typescript
|
|
426
|
+
* // Assuming 'updateScore' is an action defined in 'MyActions'
|
|
427
|
+
* // And it carries a payload like { points: number }
|
|
428
|
+
* interface ScoreUpdateData { points: number; }
|
|
429
|
+
*
|
|
430
|
+
* app.actions<ScoreUpdateData>('updateScore').connect((data) => {
|
|
431
|
+
* console.log(`Score updated by ${data.points} points.`);
|
|
432
|
+
* // Update game state based on data.points
|
|
433
|
+
* });
|
|
434
|
+
* ```
|
|
435
|
+
*/
|
|
436
|
+
actions<TActionData = any>(action: AppTypeOverrides['Actions']): ActionSignal<TActionData>;
|
|
437
|
+
|
|
438
|
+
/**
|
|
439
|
+
* Dispatches an action with optional data.
|
|
440
|
+
* This is an alias for `sendAction`.
|
|
441
|
+
* @param action - The action type to dispatch.
|
|
442
|
+
* @param data - Optional data to accompany the action.
|
|
443
|
+
* @template TActionData - The type of data being sent.
|
|
444
|
+
* @example
|
|
445
|
+
* ```typescript
|
|
446
|
+
* // Dispatch 'startGame' action
|
|
447
|
+
* app.action('startGame');
|
|
448
|
+
*
|
|
449
|
+
* // Dispatch 'updateScore' action with data
|
|
450
|
+
* app.action('updateScore', { points: 100 });
|
|
451
|
+
* ```
|
|
452
|
+
*/
|
|
453
|
+
action<TActionData = any>(action: AppTypeOverrides['Actions'], data?: TActionData): void;
|
|
454
|
+
|
|
455
|
+
/**
|
|
456
|
+
* Dispatches an action with optional data.
|
|
457
|
+
* @param action - The action type to dispatch.
|
|
458
|
+
* @param data - Optional data to accompany the action.
|
|
459
|
+
* @template TActionData - The type of data being sent.
|
|
460
|
+
* @example
|
|
461
|
+
* ```typescript
|
|
462
|
+
* // Dispatch 'playerAction' with specific details
|
|
463
|
+
* app.sendAction('playerAction', { type: 'shoot', targetId: 'enemy123' });
|
|
464
|
+
* ```
|
|
465
|
+
*/
|
|
466
|
+
sendAction<TActionData = any>(action: AppTypeOverrides['Actions'], data?: TActionData): void;
|
|
467
|
+
|
|
468
|
+
/**
|
|
469
|
+
* Checks if a specific action is currently considered active, usually based on input controls.
|
|
470
|
+
* @param action - The action type to check.
|
|
471
|
+
* @returns True if the action is active, false otherwise.
|
|
472
|
+
* @example
|
|
473
|
+
* ```typescript
|
|
474
|
+
* if (app.isActionActive('moveForward')) {
|
|
475
|
+
* player.move(1);
|
|
476
|
+
* }
|
|
477
|
+
* ```
|
|
478
|
+
*/
|
|
479
|
+
isActionActive(action: AppTypeOverrides['Actions']): boolean;
|
|
480
|
+
|
|
481
|
+
// animation
|
|
482
|
+
/**
|
|
483
|
+
* The GSAPPlugin instance for managing animations.
|
|
484
|
+
* Provides access to GSAP functionality and animation contexts.
|
|
485
|
+
* @readonly
|
|
486
|
+
* @returns The GSAP plugin instance.
|
|
487
|
+
* @example
|
|
488
|
+
* ```typescript
|
|
489
|
+
* const timeline = app.animation.createTimeline();
|
|
490
|
+
* timeline.to(mySprite, { alpha: 0, duration: 1 });
|
|
491
|
+
* ```
|
|
492
|
+
*/
|
|
493
|
+
readonly animation: IGSAPPlugin;
|
|
494
|
+
/**
|
|
495
|
+
* The global GSAP instance.
|
|
496
|
+
* Direct access to the `gsap` object for creating tweens and timelines.
|
|
497
|
+
* @readonly
|
|
498
|
+
* @returns The GSAP instance.
|
|
499
|
+
* @example
|
|
500
|
+
* ```typescript
|
|
501
|
+
* app.anim.to(mySprite.scale, { x: 1.5, y: 1.5, duration: 0.5, ease: 'power2.inOut' });
|
|
502
|
+
* ```
|
|
503
|
+
*/
|
|
504
|
+
readonly anim: typeof gsap;
|
|
505
|
+
|
|
506
|
+
/**
|
|
507
|
+
* Adds one or more GSAP tweens or timelines to a specified animation context.
|
|
508
|
+
* This refers to the GSAPPlugin's custom animation context (a Set of tweens/timelines),
|
|
509
|
+
* NOT a `gsap.Context` instance. If no contextId is provided, animations are added
|
|
510
|
+
* to the plugin's global collection, allowing them to be managed (e.g., paused, resumed, killed) collectively.
|
|
511
|
+
* @param animation - A single GSAP tween/timeline or an array of them.
|
|
512
|
+
* @param contextId - Optional ID of the animation context. Defaults to the global context.
|
|
513
|
+
* @returns The animation(s) that were added.
|
|
514
|
+
* @example
|
|
515
|
+
* ```typescript
|
|
516
|
+
* const myTween = app.anim.to(myObject, { x: 100, duration: 1 });
|
|
517
|
+
* app.addAnimation(myTween, 'mySceneAnimationCollection');
|
|
518
|
+
*
|
|
519
|
+
* // Later, kill all animations in this context
|
|
520
|
+
* app.animation.killAll('mySceneAnimationCollection'); // Assuming killAll is the method to clear the custom context
|
|
521
|
+
* ```
|
|
522
|
+
*/
|
|
523
|
+
addAnimation(
|
|
524
|
+
animation: gsap.core.Tween | gsap.core.Timeline | (gsap.core.Tween | gsap.core.Timeline)[],
|
|
525
|
+
contextId?: string,
|
|
526
|
+
): gsap.core.Tween | gsap.core.Timeline | (gsap.core.Tween | gsap.core.Timeline)[];
|
|
527
|
+
|
|
528
|
+
/**
|
|
529
|
+
* Returns the registered GSAP eases or their names.
|
|
530
|
+
* Useful for dynamically applying easing functions or listing available eases.
|
|
531
|
+
* @param namesOnly - If true, returns only the ease names as an array of strings. Otherwise, returns an object mapping names to Ease functions.
|
|
532
|
+
* @returns An object of registered eases (name: Ease function) or an array of ease names.
|
|
533
|
+
* @example
|
|
534
|
+
* ```typescript
|
|
535
|
+
* const availableEaseNames = app.eases(true); // ['power1.inOut', 'back.out', ...]
|
|
536
|
+
* console.log(availableEaseNames);
|
|
537
|
+
*
|
|
538
|
+
* const easeFunctions = app.eases();
|
|
539
|
+
* if (easeFunctions['power2.in']) {
|
|
540
|
+
* app.anim.to(mySprite, { y: 200, ease: easeFunctions['power2.in'] });
|
|
541
|
+
* }
|
|
542
|
+
* ```
|
|
543
|
+
*/
|
|
544
|
+
eases(namesOnly?: boolean): Eases | string[];
|
|
545
|
+
|
|
546
|
+
// initialize
|
|
547
|
+
/**
|
|
548
|
+
* Initializes the application with the given configuration and attaches it to an HTML element.
|
|
549
|
+
* This is the main entry point for starting the application.
|
|
550
|
+
* @param config - The application configuration object.
|
|
551
|
+
* @param el - The HTML element to append the application's canvas to. If not provided, an error will be thrown.
|
|
552
|
+
* @returns A promise that resolves with the initialized application instance.
|
|
553
|
+
* @example
|
|
554
|
+
* ```typescript
|
|
555
|
+
* const gameContainer = document.getElementById('game');
|
|
556
|
+
* if (gameContainer) {
|
|
557
|
+
* app.initialize({ appName: 'My Game' }, gameContainer)
|
|
558
|
+
* .then(initializedApp => {
|
|
559
|
+
* console.log(`${initializedApp.appName} initialized successfully!`);
|
|
560
|
+
* initializedApp.scenes.load('mainMenu');
|
|
561
|
+
* })
|
|
562
|
+
* .catch(error => console.error('Initialization failed:', error));
|
|
563
|
+
* } else {
|
|
564
|
+
* console.error('Game container element not found!');
|
|
565
|
+
* }
|
|
566
|
+
* ```
|
|
567
|
+
*/
|
|
568
|
+
initialize(config: Partial<AppConfig>, el?: HTMLElement): Promise<AppTypeOverrides['App']>;
|
|
569
|
+
|
|
570
|
+
/**
|
|
571
|
+
* Runs any post-initialization setup tasks.
|
|
572
|
+
* This is called after the main `initialize` method has completed and core plugins are ready.
|
|
573
|
+
* It's a good place for plugins to finalize their setup or for the application to perform tasks
|
|
574
|
+
* that depend on a fully initialized environment.
|
|
575
|
+
* @returns A promise that resolves when post-initialization tasks are complete.
|
|
576
|
+
* User-overridable hook, run last by {@link _postInitialize} after all framework
|
|
577
|
+
* wiring. Safe to override WITHOUT calling `super` — framework post-init does not
|
|
578
|
+
* live here.
|
|
579
|
+
* @example
|
|
580
|
+
* ```typescript
|
|
581
|
+
* // Inside a custom Application class or after app.initialize resolves
|
|
582
|
+
* async function startMyGame() {
|
|
583
|
+
* await app.initialize(config, el);
|
|
584
|
+
* await app._postInitialize(); // Runs framework post-init + the user hook
|
|
585
|
+
* app.scenes.load('intro');
|
|
586
|
+
* }
|
|
587
|
+
* ```
|
|
588
|
+
*/
|
|
589
|
+
postInitialize(): Promise<void>;
|
|
590
|
+
|
|
591
|
+
/**
|
|
592
|
+
* Framework post-initialization: runs every plugin's `postInitialize` and core
|
|
593
|
+
* wiring, then invokes the user-overridable {@link postInitialize} hook. Called by
|
|
594
|
+
* the runtime (`create()`); apps normally don't call this directly.
|
|
595
|
+
*/
|
|
596
|
+
_postInitialize(): Promise<void>;
|
|
597
|
+
|
|
598
|
+
/**
|
|
599
|
+
* Retrieves a registered plugin by its name.
|
|
600
|
+
* @param name - The name/ID of the plugin to retrieve.
|
|
601
|
+
* @param debug - If true and the plugin is not found, an error will be logged. Defaults to false.
|
|
602
|
+
* @returns The plugin instance if found, otherwise undefined (or T if type assertion is used).
|
|
603
|
+
* @template T - The expected type of the plugin.
|
|
604
|
+
* @example
|
|
605
|
+
* ```typescript
|
|
606
|
+
* const myCustomPlugin = app.getPlugin<MyCustomPluginType>('myCustomPlugin');
|
|
607
|
+
* if (myCustomPlugin) {
|
|
608
|
+
* myCustomPlugin.doSomethingCool();
|
|
609
|
+
* }
|
|
610
|
+
*
|
|
611
|
+
* const nonExistentPlugin = app.getPlugin('nonExistent', true); // Will log an error
|
|
612
|
+
* ```
|
|
613
|
+
*/
|
|
614
|
+
getPlugin<T extends IPlugin>(name: string, debug?: boolean): T;
|
|
615
|
+
|
|
616
|
+
/**
|
|
617
|
+
* Sets the main HTML container element for the application.
|
|
618
|
+
* This is typically the element where the PixiJS canvas is appended.
|
|
619
|
+
* @param container - The HTMLElement to be used as the application container.
|
|
620
|
+
* @example
|
|
621
|
+
* ```typescript
|
|
622
|
+
* const newGameContainer = document.createElement('div');
|
|
623
|
+
* document.body.appendChild(newGameContainer);
|
|
624
|
+
* app.setContainer(newGameContainer); // If app needs to change its parent container
|
|
625
|
+
* ```
|
|
626
|
+
*/
|
|
627
|
+
setContainer(container: HTMLElement): void;
|
|
628
|
+
}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import type {
|
|
2
|
+
ActionMap,
|
|
3
|
+
BreakpointsConfig,
|
|
4
|
+
FocusManagerPluginOptions,
|
|
5
|
+
i18nOptions,
|
|
6
|
+
InputManagerOptions,
|
|
7
|
+
LoadSceneMethod,
|
|
8
|
+
ResizerPluginOptions,
|
|
9
|
+
SplashOptions,
|
|
10
|
+
} from '../../plugins';
|
|
11
|
+
import type {
|
|
12
|
+
AppTypeOverrides,
|
|
13
|
+
AssetLoadingOptions,
|
|
14
|
+
LoggerMode,
|
|
15
|
+
SceneImportList,
|
|
16
|
+
SceneImportListItem,
|
|
17
|
+
} from '../../utils';
|
|
18
|
+
|
|
19
|
+
import type { ApplicationOptions, TextDropShadow } from 'pixi.js';
|
|
20
|
+
import type { IScene, ISceneTransition, SceneTransition } from '../../display';
|
|
21
|
+
import { TextStyle } from '../../mixins';
|
|
22
|
+
import type { CaptionsOptions } from '../../plugins/captions';
|
|
23
|
+
import { GSAPPluginOptions } from '../../plugins/GSAPPlugin';
|
|
24
|
+
import type { IDataAdapterOptions } from '../../plugins/DataAdapter';
|
|
25
|
+
import type { PluginConfig } from '../config';
|
|
26
|
+
import { IApplication } from './IApplication';
|
|
27
|
+
|
|
28
|
+
export interface IApplicationOptions extends ApplicationOptions {
|
|
29
|
+
id: string;
|
|
30
|
+
application?: new (...args: any[]) => IApplication;
|
|
31
|
+
resizeToContainer: boolean;
|
|
32
|
+
container: HTMLElement;
|
|
33
|
+
logger: LoggerMode;
|
|
34
|
+
useStore: boolean;
|
|
35
|
+
useSpine: boolean;
|
|
36
|
+
useLayout: boolean;
|
|
37
|
+
useVoiceover: boolean;
|
|
38
|
+
/**
|
|
39
|
+
* Add `vite-plugin-wasm` to the Vite config. Only needed if your project
|
|
40
|
+
* imports a `.wasm` module directly (`import init from './foo.wasm'`) —
|
|
41
|
+
* runtime-fetched wasm (Rive's `locateFile`, pixi's KTX/basis transcoders)
|
|
42
|
+
* and Vite's native `?init` / `?url` imports work without it.
|
|
43
|
+
*
|
|
44
|
+
* Build-time only: read out of `caper.config.ts` by an AST parse before the
|
|
45
|
+
* Vite config is built, so it has no effect on the running Application and
|
|
46
|
+
* changing it requires a dev-server restart.
|
|
47
|
+
*
|
|
48
|
+
* @default false
|
|
49
|
+
*/
|
|
50
|
+
useWasm?: boolean;
|
|
51
|
+
/**
|
|
52
|
+
* Enable the `window.Caper.automation[id]` facade for this app regardless of
|
|
53
|
+
* environment. Automation is also auto-enabled in dev or when
|
|
54
|
+
* `VITE_CAPER_AUTOMATION === 'true'`.
|
|
55
|
+
*/
|
|
56
|
+
automation?: boolean;
|
|
57
|
+
defaultTextStyle: Partial<TextStyle>;
|
|
58
|
+
defaultDropShadow: TextDropShadow;
|
|
59
|
+
gsap: Partial<GSAPPluginOptions>;
|
|
60
|
+
data: Partial<IDataAdapterOptions>;
|
|
61
|
+
plugins: PluginConfig[];
|
|
62
|
+
assets: AssetLoadingOptions;
|
|
63
|
+
sceneImportList: SceneImportListItem<IScene>[];
|
|
64
|
+
scenes: SceneImportList<IScene>;
|
|
65
|
+
sceneGroupOrder: string[];
|
|
66
|
+
scenesLocation: string;
|
|
67
|
+
actions: Partial<ActionMap>;
|
|
68
|
+
input: Partial<InputManagerOptions>;
|
|
69
|
+
focus: Partial<FocusManagerPluginOptions>;
|
|
70
|
+
splash: Partial<SplashOptions>;
|
|
71
|
+
defaultScene: AppTypeOverrides['Scenes'];
|
|
72
|
+
sceneTransition: ISceneTransition | typeof SceneTransition;
|
|
73
|
+
defaultSceneLoadMethod: LoadSceneMethod;
|
|
74
|
+
showSceneDebugMenu: boolean;
|
|
75
|
+
useHash: boolean;
|
|
76
|
+
i18n: Partial<i18nOptions>;
|
|
77
|
+
resizer: Partial<ResizerPluginOptions>;
|
|
78
|
+
breakpoints: Partial<BreakpointsConfig>;
|
|
79
|
+
captions: Partial<CaptionsOptions>;
|
|
80
|
+
showStats: boolean;
|
|
81
|
+
}
|