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