@energy8platform/game-engine 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (80) hide show
  1. package/README.md +1134 -0
  2. package/dist/animation.cjs.js +505 -0
  3. package/dist/animation.cjs.js.map +1 -0
  4. package/dist/animation.d.ts +235 -0
  5. package/dist/animation.esm.js +500 -0
  6. package/dist/animation.esm.js.map +1 -0
  7. package/dist/assets.cjs.js +148 -0
  8. package/dist/assets.cjs.js.map +1 -0
  9. package/dist/assets.d.ts +97 -0
  10. package/dist/assets.esm.js +146 -0
  11. package/dist/assets.esm.js.map +1 -0
  12. package/dist/audio.cjs.js +345 -0
  13. package/dist/audio.cjs.js.map +1 -0
  14. package/dist/audio.d.ts +135 -0
  15. package/dist/audio.esm.js +343 -0
  16. package/dist/audio.esm.js.map +1 -0
  17. package/dist/core.cjs.js +1832 -0
  18. package/dist/core.cjs.js.map +1 -0
  19. package/dist/core.d.ts +633 -0
  20. package/dist/core.esm.js +1827 -0
  21. package/dist/core.esm.js.map +1 -0
  22. package/dist/debug.cjs.js +298 -0
  23. package/dist/debug.cjs.js.map +1 -0
  24. package/dist/debug.d.ts +114 -0
  25. package/dist/debug.esm.js +295 -0
  26. package/dist/debug.esm.js.map +1 -0
  27. package/dist/index.cjs.js +3623 -0
  28. package/dist/index.cjs.js.map +1 -0
  29. package/dist/index.d.ts +1607 -0
  30. package/dist/index.esm.js +3598 -0
  31. package/dist/index.esm.js.map +1 -0
  32. package/dist/ui.cjs.js +1081 -0
  33. package/dist/ui.cjs.js.map +1 -0
  34. package/dist/ui.d.ts +387 -0
  35. package/dist/ui.esm.js +1072 -0
  36. package/dist/ui.esm.js.map +1 -0
  37. package/dist/vite.cjs.js +125 -0
  38. package/dist/vite.cjs.js.map +1 -0
  39. package/dist/vite.d.ts +42 -0
  40. package/dist/vite.esm.js +122 -0
  41. package/dist/vite.esm.js.map +1 -0
  42. package/package.json +107 -0
  43. package/src/animation/Easing.ts +116 -0
  44. package/src/animation/SpineHelper.ts +162 -0
  45. package/src/animation/Timeline.ts +138 -0
  46. package/src/animation/Tween.ts +225 -0
  47. package/src/animation/index.ts +4 -0
  48. package/src/assets/AssetManager.ts +174 -0
  49. package/src/assets/index.ts +2 -0
  50. package/src/audio/AudioManager.ts +366 -0
  51. package/src/audio/index.ts +1 -0
  52. package/src/core/EventEmitter.ts +47 -0
  53. package/src/core/GameApplication.ts +306 -0
  54. package/src/core/Scene.ts +48 -0
  55. package/src/core/SceneManager.ts +258 -0
  56. package/src/core/index.ts +4 -0
  57. package/src/debug/DevBridge.ts +259 -0
  58. package/src/debug/FPSOverlay.ts +102 -0
  59. package/src/debug/index.ts +3 -0
  60. package/src/index.ts +71 -0
  61. package/src/input/InputManager.ts +171 -0
  62. package/src/input/index.ts +1 -0
  63. package/src/loading/CSSPreloader.ts +155 -0
  64. package/src/loading/LoadingScene.ts +356 -0
  65. package/src/loading/index.ts +2 -0
  66. package/src/state/StateMachine.ts +228 -0
  67. package/src/state/index.ts +1 -0
  68. package/src/types.ts +218 -0
  69. package/src/ui/BalanceDisplay.ts +155 -0
  70. package/src/ui/Button.ts +199 -0
  71. package/src/ui/Label.ts +111 -0
  72. package/src/ui/Modal.ts +134 -0
  73. package/src/ui/Panel.ts +125 -0
  74. package/src/ui/ProgressBar.ts +121 -0
  75. package/src/ui/Toast.ts +124 -0
  76. package/src/ui/WinDisplay.ts +133 -0
  77. package/src/ui/index.ts +16 -0
  78. package/src/viewport/ViewportManager.ts +241 -0
  79. package/src/viewport/index.ts +1 -0
  80. package/src/vite/index.ts +153 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ui.esm.js","sources":["../src/animation/Easing.ts","../src/animation/Tween.ts","../src/ui/Button.ts","../src/ui/ProgressBar.ts","../src/ui/Label.ts","../src/ui/Panel.ts","../src/ui/BalanceDisplay.ts","../src/ui/WinDisplay.ts","../src/ui/Modal.ts","../src/ui/Toast.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null],"names":[],"mappings":"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"}
@@ -0,0 +1,125 @@
1
+ 'use strict';
2
+
3
+ /**
4
+ * Vite plugin that injects the DevBridge mock host in development mode.
5
+ *
6
+ * In dev mode, wraps the game page to simulate the casino host environment,
7
+ * allowing SDK communication to work without a real backend.
8
+ */
9
+ const VIRTUAL_DEV_BRIDGE_ID = 'virtual:game-engine-dev-bridge';
10
+ const RESOLVED_VIRTUAL_ID = '\0' + VIRTUAL_DEV_BRIDGE_ID;
11
+ function gameEngineDevPlugin(options = {}) {
12
+ return {
13
+ name: 'game-engine-dev',
14
+ apply: 'serve',
15
+ resolveId(id) {
16
+ if (id === VIRTUAL_DEV_BRIDGE_ID)
17
+ return RESOLVED_VIRTUAL_ID;
18
+ },
19
+ load(id) {
20
+ if (id === RESOLVED_VIRTUAL_ID) {
21
+ // This module goes through Vite's transform pipeline,
22
+ // so bare specifiers like '@energy8platform/game-engine/debug' resolve correctly.
23
+ return `
24
+ import { DevBridge } from '@energy8platform/game-engine/debug';
25
+
26
+ async function initDevBridge() {
27
+ let config = {};
28
+ try {
29
+ const mod = await import('/dev.config.ts');
30
+ config = mod.default || mod.devBridgeConfig || {};
31
+ } catch {
32
+ // No dev config — use defaults
33
+ }
34
+
35
+ const bridge = new DevBridge(config);
36
+ bridge.start();
37
+ window.__devBridge = bridge;
38
+ console.log('[GameEngine] DevBridge started in development mode');
39
+ }
40
+
41
+ initDevBridge();
42
+ `;
43
+ }
44
+ },
45
+ transformIndexHtml(html) {
46
+ if (options.devBridge === false)
47
+ return html;
48
+ // Inject a script that imports the virtual module — Vite resolves it properly
49
+ const devScript = `<script type="module" src="/${VIRTUAL_DEV_BRIDGE_ID}"></script>`;
50
+ return html.replace('</head>', `${devScript}\n</head>`);
51
+ },
52
+ };
53
+ }
54
+ /**
55
+ * Create a pre-configured Vite config for game projects.
56
+ *
57
+ * Includes:
58
+ * - PixiJS optimization (exclude from dep optimization)
59
+ * - DevBridge injection in dev mode
60
+ * - HTML minification
61
+ * - Gzip-friendly output
62
+ * - Configurable base path for S3/CDN deploy
63
+ *
64
+ * @example
65
+ * ```ts
66
+ * // vite.config.ts
67
+ * import { defineGameConfig } from '@energy8platform/game-engine/vite';
68
+ *
69
+ * export default defineGameConfig({
70
+ * base: '/games/my-slot/',
71
+ * devBridge: true,
72
+ * });
73
+ * ```
74
+ */
75
+ function defineGameConfig(config = {}) {
76
+ const assetExtensions = config.assetExtensions ?? [
77
+ 'png', 'jpg', 'jpeg', 'gif', 'webp', 'avif', 'svg',
78
+ 'mp3', 'ogg', 'wav', 'webm',
79
+ 'json', 'atlas', 'skel',
80
+ 'fnt', 'ttf', 'otf', 'woff', 'woff2',
81
+ 'mp4', 'm4v',
82
+ ];
83
+ return {
84
+ base: config.base ?? '/',
85
+ plugins: [
86
+ gameEngineDevPlugin({ devBridge: config.devBridge ?? true }),
87
+ ...(config.vite?.plugins ?? []),
88
+ ],
89
+ build: {
90
+ outDir: config.outDir ?? 'dist',
91
+ target: 'es2022',
92
+ minify: 'terser',
93
+ sourcemap: false,
94
+ assetsInlineLimit: 4096,
95
+ rollupOptions: {
96
+ output: {
97
+ assetFileNames: 'assets/[name]-[hash][extname]',
98
+ chunkFileNames: 'js/[name]-[hash].js',
99
+ entryFileNames: 'js/[name]-[hash].js',
100
+ },
101
+ },
102
+ ...(config.vite?.build ?? {}),
103
+ },
104
+ optimizeDeps: {
105
+ // Pre-bundle libs for fast dev startup
106
+ include: ['pixi.js'],
107
+ exclude: ['@esotericsoftware/spine-pixi-v8'],
108
+ },
109
+ assetsInclude: assetExtensions.map((ext) => `**/*.${ext}`),
110
+ server: {
111
+ port: 3000,
112
+ open: true,
113
+ ...(config.vite?.server ?? {}),
114
+ },
115
+ resolve: {
116
+ ...(config.vite?.resolve ?? {}),
117
+ },
118
+ // Spread any additional user overrides
119
+ ...Object.fromEntries(Object.entries(config.vite ?? {}).filter(([key]) => !['plugins', 'build', 'server', 'resolve'].includes(key))),
120
+ };
121
+ }
122
+
123
+ exports.defineGameConfig = defineGameConfig;
124
+ exports.gameEngineDevPlugin = gameEngineDevPlugin;
125
+ //# sourceMappingURL=vite.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vite.cjs.js","sources":["../src/vite/index.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
package/dist/vite.d.ts ADDED
@@ -0,0 +1,42 @@
1
+ import { UserConfig, Plugin } from 'vite';
2
+
3
+ interface GameViteConfig {
4
+ /** Base path for production builds (e.g., '/games/my-slot/') */
5
+ base?: string;
6
+ /** Output directory (default: 'dist') */
7
+ outDir?: string;
8
+ /** Enable DevBridge auto-injection in dev mode */
9
+ devBridge?: boolean;
10
+ /** Asset file extensions to include */
11
+ assetExtensions?: string[];
12
+ /** Additional Vite config overrides */
13
+ vite?: UserConfig;
14
+ }
15
+ declare function gameEngineDevPlugin(options?: {
16
+ devBridge?: boolean;
17
+ }): Plugin;
18
+ /**
19
+ * Create a pre-configured Vite config for game projects.
20
+ *
21
+ * Includes:
22
+ * - PixiJS optimization (exclude from dep optimization)
23
+ * - DevBridge injection in dev mode
24
+ * - HTML minification
25
+ * - Gzip-friendly output
26
+ * - Configurable base path for S3/CDN deploy
27
+ *
28
+ * @example
29
+ * ```ts
30
+ * // vite.config.ts
31
+ * import { defineGameConfig } from '@energy8platform/game-engine/vite';
32
+ *
33
+ * export default defineGameConfig({
34
+ * base: '/games/my-slot/',
35
+ * devBridge: true,
36
+ * });
37
+ * ```
38
+ */
39
+ declare function defineGameConfig(config?: GameViteConfig): UserConfig;
40
+
41
+ export { defineGameConfig, gameEngineDevPlugin };
42
+ export type { GameViteConfig };
@@ -0,0 +1,122 @@
1
+ /**
2
+ * Vite plugin that injects the DevBridge mock host in development mode.
3
+ *
4
+ * In dev mode, wraps the game page to simulate the casino host environment,
5
+ * allowing SDK communication to work without a real backend.
6
+ */
7
+ const VIRTUAL_DEV_BRIDGE_ID = 'virtual:game-engine-dev-bridge';
8
+ const RESOLVED_VIRTUAL_ID = '\0' + VIRTUAL_DEV_BRIDGE_ID;
9
+ function gameEngineDevPlugin(options = {}) {
10
+ return {
11
+ name: 'game-engine-dev',
12
+ apply: 'serve',
13
+ resolveId(id) {
14
+ if (id === VIRTUAL_DEV_BRIDGE_ID)
15
+ return RESOLVED_VIRTUAL_ID;
16
+ },
17
+ load(id) {
18
+ if (id === RESOLVED_VIRTUAL_ID) {
19
+ // This module goes through Vite's transform pipeline,
20
+ // so bare specifiers like '@energy8platform/game-engine/debug' resolve correctly.
21
+ return `
22
+ import { DevBridge } from '@energy8platform/game-engine/debug';
23
+
24
+ async function initDevBridge() {
25
+ let config = {};
26
+ try {
27
+ const mod = await import('/dev.config.ts');
28
+ config = mod.default || mod.devBridgeConfig || {};
29
+ } catch {
30
+ // No dev config — use defaults
31
+ }
32
+
33
+ const bridge = new DevBridge(config);
34
+ bridge.start();
35
+ window.__devBridge = bridge;
36
+ console.log('[GameEngine] DevBridge started in development mode');
37
+ }
38
+
39
+ initDevBridge();
40
+ `;
41
+ }
42
+ },
43
+ transformIndexHtml(html) {
44
+ if (options.devBridge === false)
45
+ return html;
46
+ // Inject a script that imports the virtual module — Vite resolves it properly
47
+ const devScript = `<script type="module" src="/${VIRTUAL_DEV_BRIDGE_ID}"></script>`;
48
+ return html.replace('</head>', `${devScript}\n</head>`);
49
+ },
50
+ };
51
+ }
52
+ /**
53
+ * Create a pre-configured Vite config for game projects.
54
+ *
55
+ * Includes:
56
+ * - PixiJS optimization (exclude from dep optimization)
57
+ * - DevBridge injection in dev mode
58
+ * - HTML minification
59
+ * - Gzip-friendly output
60
+ * - Configurable base path for S3/CDN deploy
61
+ *
62
+ * @example
63
+ * ```ts
64
+ * // vite.config.ts
65
+ * import { defineGameConfig } from '@energy8platform/game-engine/vite';
66
+ *
67
+ * export default defineGameConfig({
68
+ * base: '/games/my-slot/',
69
+ * devBridge: true,
70
+ * });
71
+ * ```
72
+ */
73
+ function defineGameConfig(config = {}) {
74
+ const assetExtensions = config.assetExtensions ?? [
75
+ 'png', 'jpg', 'jpeg', 'gif', 'webp', 'avif', 'svg',
76
+ 'mp3', 'ogg', 'wav', 'webm',
77
+ 'json', 'atlas', 'skel',
78
+ 'fnt', 'ttf', 'otf', 'woff', 'woff2',
79
+ 'mp4', 'm4v',
80
+ ];
81
+ return {
82
+ base: config.base ?? '/',
83
+ plugins: [
84
+ gameEngineDevPlugin({ devBridge: config.devBridge ?? true }),
85
+ ...(config.vite?.plugins ?? []),
86
+ ],
87
+ build: {
88
+ outDir: config.outDir ?? 'dist',
89
+ target: 'es2022',
90
+ minify: 'terser',
91
+ sourcemap: false,
92
+ assetsInlineLimit: 4096,
93
+ rollupOptions: {
94
+ output: {
95
+ assetFileNames: 'assets/[name]-[hash][extname]',
96
+ chunkFileNames: 'js/[name]-[hash].js',
97
+ entryFileNames: 'js/[name]-[hash].js',
98
+ },
99
+ },
100
+ ...(config.vite?.build ?? {}),
101
+ },
102
+ optimizeDeps: {
103
+ // Pre-bundle libs for fast dev startup
104
+ include: ['pixi.js'],
105
+ exclude: ['@esotericsoftware/spine-pixi-v8'],
106
+ },
107
+ assetsInclude: assetExtensions.map((ext) => `**/*.${ext}`),
108
+ server: {
109
+ port: 3000,
110
+ open: true,
111
+ ...(config.vite?.server ?? {}),
112
+ },
113
+ resolve: {
114
+ ...(config.vite?.resolve ?? {}),
115
+ },
116
+ // Spread any additional user overrides
117
+ ...Object.fromEntries(Object.entries(config.vite ?? {}).filter(([key]) => !['plugins', 'build', 'server', 'resolve'].includes(key))),
118
+ };
119
+ }
120
+
121
+ export { defineGameConfig, gameEngineDevPlugin };
122
+ //# sourceMappingURL=vite.esm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vite.esm.js","sources":["../src/vite/index.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,107 @@
1
+ {
2
+ "name": "@energy8platform/game-engine",
3
+ "version": "0.1.0",
4
+ "description": "Universal casino game engine built on PixiJS v8 and @energy8platform/game-sdk",
5
+ "type": "module",
6
+ "main": "./dist/index.cjs.js",
7
+ "module": "./dist/index.esm.js",
8
+ "types": "./dist/index.d.ts",
9
+ "exports": {
10
+ ".": {
11
+ "import": "./dist/index.esm.js",
12
+ "require": "./dist/index.cjs.js",
13
+ "types": "./dist/index.d.ts"
14
+ },
15
+ "./core": {
16
+ "import": "./dist/core.esm.js",
17
+ "require": "./dist/core.cjs.js",
18
+ "types": "./dist/core.d.ts"
19
+ },
20
+ "./assets": {
21
+ "import": "./dist/assets.esm.js",
22
+ "require": "./dist/assets.cjs.js",
23
+ "types": "./dist/assets.d.ts"
24
+ },
25
+ "./audio": {
26
+ "import": "./dist/audio.esm.js",
27
+ "require": "./dist/audio.cjs.js",
28
+ "types": "./dist/audio.d.ts"
29
+ },
30
+ "./ui": {
31
+ "import": "./dist/ui.esm.js",
32
+ "require": "./dist/ui.cjs.js",
33
+ "types": "./dist/ui.d.ts"
34
+ },
35
+ "./animation": {
36
+ "import": "./dist/animation.esm.js",
37
+ "require": "./dist/animation.cjs.js",
38
+ "types": "./dist/animation.d.ts"
39
+ },
40
+ "./debug": {
41
+ "import": "./dist/debug.esm.js",
42
+ "require": "./dist/debug.cjs.js",
43
+ "types": "./dist/debug.d.ts"
44
+ },
45
+ "./vite": {
46
+ "import": "./dist/vite.esm.js",
47
+ "require": "./dist/vite.cjs.js",
48
+ "types": "./dist/vite.d.ts"
49
+ }
50
+ },
51
+ "files": [
52
+ "dist",
53
+ "src",
54
+ "loading.css"
55
+ ],
56
+ "scripts": {
57
+ "build": "rollup -c rollup.config.mjs",
58
+ "dev": "rollup -c rollup.config.mjs -w",
59
+ "lint": "eslint src/ --ext .ts",
60
+ "format": "prettier --write \"src/**/*.ts\"",
61
+ "typecheck": "tsc --noEmit",
62
+ "test": "vitest run",
63
+ "test:watch": "vitest",
64
+ "prepublishOnly": "npm run build"
65
+ },
66
+ "peerDependencies": {
67
+ "pixi.js": "^8.16.0",
68
+ "@energy8platform/game-sdk": "^2.5.0"
69
+ },
70
+ "peerDependenciesMeta": {
71
+ "@esotericsoftware/spine-pixi-v8": {
72
+ "optional": true
73
+ },
74
+ "@pixi/sound": {
75
+ "optional": true
76
+ }
77
+ },
78
+ "devDependencies": {
79
+ "@energy8platform/game-sdk": "file:../energy8-platform-game-sdk",
80
+ "@esotericsoftware/spine-pixi-v8": "~4.2.0",
81
+ "@pixi/sound": "^6.0.0",
82
+ "@rollup/plugin-typescript": "^12.1.0",
83
+ "@typescript-eslint/eslint-plugin": "^8.0.0",
84
+ "@typescript-eslint/parser": "^8.0.0",
85
+ "eslint": "^9.0.0",
86
+ "pixi.js": "^8.16.0",
87
+ "prettier": "^3.4.0",
88
+ "rollup": "^4.24.0",
89
+ "rollup-plugin-dts": "^6.1.0",
90
+ "tslib": "^2.8.0",
91
+ "typescript": "^5.6.0",
92
+ "vite": "^6.0.0",
93
+ "vitest": "^2.0.0"
94
+ },
95
+ "keywords": [
96
+ "casino",
97
+ "game-engine",
98
+ "pixijs",
99
+ "slot",
100
+ "igaming"
101
+ ],
102
+ "license": "MIT",
103
+ "repository": {
104
+ "type": "git",
105
+ "url": "https://github.com/energy8platform/game-engine.git"
106
+ }
107
+ }
@@ -0,0 +1,116 @@
1
+ import type { EasingFunction } from '../types';
2
+
3
+ /**
4
+ * Collection of easing functions for use with Tween and Timeline.
5
+ *
6
+ * All functions take a progress value t (0..1) and return the eased value.
7
+ */
8
+ export const Easing: Record<string, EasingFunction> & {
9
+ readonly linear: EasingFunction;
10
+ readonly easeInQuad: EasingFunction;
11
+ readonly easeOutQuad: EasingFunction;
12
+ readonly easeInOutQuad: EasingFunction;
13
+ readonly easeInCubic: EasingFunction;
14
+ readonly easeOutCubic: EasingFunction;
15
+ readonly easeInOutCubic: EasingFunction;
16
+ readonly easeInQuart: EasingFunction;
17
+ readonly easeOutQuart: EasingFunction;
18
+ readonly easeInOutQuart: EasingFunction;
19
+ readonly easeInSine: EasingFunction;
20
+ readonly easeOutSine: EasingFunction;
21
+ readonly easeInOutSine: EasingFunction;
22
+ readonly easeInExpo: EasingFunction;
23
+ readonly easeOutExpo: EasingFunction;
24
+ readonly easeInOutExpo: EasingFunction;
25
+ readonly easeInBack: EasingFunction;
26
+ readonly easeOutBack: EasingFunction;
27
+ readonly easeInOutBack: EasingFunction;
28
+ readonly easeOutBounce: EasingFunction;
29
+ readonly easeInBounce: EasingFunction;
30
+ readonly easeInOutBounce: EasingFunction;
31
+ readonly easeOutElastic: EasingFunction;
32
+ readonly easeInElastic: EasingFunction;
33
+ } = {
34
+ linear: (t: number) => t,
35
+
36
+ easeInQuad: (t: number) => t * t,
37
+ easeOutQuad: (t: number) => t * (2 - t),
38
+ easeInOutQuad: (t: number) => (t < 0.5 ? 2 * t * t : -1 + (4 - 2 * t) * t),
39
+
40
+ easeInCubic: (t: number) => t * t * t,
41
+ easeOutCubic: (t: number) => --t * t * t + 1,
42
+ easeInOutCubic: (t: number) =>
43
+ t < 0.5 ? 4 * t * t * t : (t - 1) * (2 * t - 2) * (2 * t - 2) + 1,
44
+
45
+ easeInQuart: (t: number) => t * t * t * t,
46
+ easeOutQuart: (t: number) => 1 - --t * t * t * t,
47
+ easeInOutQuart: (t: number) =>
48
+ t < 0.5 ? 8 * t * t * t * t : 1 - 8 * --t * t * t * t,
49
+
50
+ easeInSine: (t: number) => 1 - Math.cos((t * Math.PI) / 2),
51
+ easeOutSine: (t: number) => Math.sin((t * Math.PI) / 2),
52
+ easeInOutSine: (t: number) => -(Math.cos(Math.PI * t) - 1) / 2,
53
+
54
+ easeInExpo: (t: number) => (t === 0 ? 0 : Math.pow(2, 10 * t - 10)),
55
+ easeOutExpo: (t: number) => (t === 1 ? 1 : 1 - Math.pow(2, -10 * t)),
56
+ easeInOutExpo: (t: number) =>
57
+ t === 0
58
+ ? 0
59
+ : t === 1
60
+ ? 1
61
+ : t < 0.5
62
+ ? Math.pow(2, 20 * t - 10) / 2
63
+ : (2 - Math.pow(2, -20 * t + 10)) / 2,
64
+
65
+ easeInBack: (t: number) => {
66
+ const c1 = 1.70158;
67
+ const c3 = c1 + 1;
68
+ return c3 * t * t * t - c1 * t * t;
69
+ },
70
+ easeOutBack: (t: number) => {
71
+ const c1 = 1.70158;
72
+ const c3 = c1 + 1;
73
+ return 1 + c3 * Math.pow(t - 1, 3) + c1 * Math.pow(t - 1, 2);
74
+ },
75
+ easeInOutBack: (t: number) => {
76
+ const c1 = 1.70158;
77
+ const c2 = c1 * 1.525;
78
+ return t < 0.5
79
+ ? (Math.pow(2 * t, 2) * ((c2 + 1) * 2 * t - c2)) / 2
80
+ : (Math.pow(2 * t - 2, 2) * ((c2 + 1) * (t * 2 - 2) + c2) + 2) / 2;
81
+ },
82
+
83
+ easeOutBounce: (t: number) => {
84
+ const n1 = 7.5625;
85
+ const d1 = 2.75;
86
+ if (t < 1 / d1) return n1 * t * t;
87
+ if (t < 2 / d1) return n1 * (t -= 1.5 / d1) * t + 0.75;
88
+ if (t < 2.5 / d1) return n1 * (t -= 2.25 / d1) * t + 0.9375;
89
+ return n1 * (t -= 2.625 / d1) * t + 0.984375;
90
+ },
91
+
92
+ easeInBounce: (t: number) => 1 - Easing.easeOutBounce(1 - t),
93
+
94
+ easeInOutBounce: (t: number) =>
95
+ t < 0.5
96
+ ? (1 - Easing.easeOutBounce(1 - 2 * t)) / 2
97
+ : (1 + Easing.easeOutBounce(2 * t - 1)) / 2,
98
+
99
+ easeOutElastic: (t: number) => {
100
+ const c4 = (2 * Math.PI) / 3;
101
+ return t === 0
102
+ ? 0
103
+ : t === 1
104
+ ? 1
105
+ : Math.pow(2, -10 * t) * Math.sin((t * 10 - 0.75) * c4) + 1;
106
+ },
107
+
108
+ easeInElastic: (t: number) => {
109
+ const c4 = (2 * Math.PI) / 3;
110
+ return t === 0
111
+ ? 0
112
+ : t === 1
113
+ ? 1
114
+ : -Math.pow(2, 10 * t - 10) * Math.sin((t * 10 - 10.75) * c4);
115
+ },
116
+ };