@esengine/ecs-framework-math 1.0.2 → 1.0.5
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/index.cjs +2 -0
- package/index.cjs.map +1 -0
- package/index.d.ts +1968 -0
- package/index.mjs +2 -0
- package/index.mjs.map +1 -0
- package/index.umd.js +2 -0
- package/index.umd.js.map +1 -0
- package/package.json +27 -43
- package/bin/Animation/Easing.d.ts +0 -244
- package/bin/Animation/Easing.d.ts.map +0 -1
- package/bin/Animation/Easing.js +0 -407
- package/bin/Animation/Easing.js.map +0 -1
- package/bin/Animation/Interpolation.d.ts +0 -172
- package/bin/Animation/Interpolation.d.ts.map +0 -1
- package/bin/Animation/Interpolation.js +0 -327
- package/bin/Animation/Interpolation.js.map +0 -1
- package/bin/Animation/index.d.ts +0 -8
- package/bin/Animation/index.d.ts.map +0 -1
- package/bin/Animation/index.js +0 -8
- package/bin/Animation/index.js.map +0 -1
- package/bin/Circle.d.ts +0 -277
- package/bin/Circle.d.ts.map +0 -1
- package/bin/Circle.js +0 -496
- package/bin/Circle.js.map +0 -1
- package/bin/Collision/CollisionDetector.d.ts +0 -114
- package/bin/Collision/CollisionDetector.d.ts.map +0 -1
- package/bin/Collision/CollisionDetector.js +0 -353
- package/bin/Collision/CollisionDetector.js.map +0 -1
- package/bin/Collision/index.d.ts +0 -7
- package/bin/Collision/index.d.ts.map +0 -1
- package/bin/Collision/index.js +0 -7
- package/bin/Collision/index.js.map +0 -1
- package/bin/MathUtils.d.ts +0 -312
- package/bin/MathUtils.d.ts.map +0 -1
- package/bin/MathUtils.js +0 -500
- package/bin/MathUtils.js.map +0 -1
- package/bin/Matrix3.d.ts +0 -269
- package/bin/Matrix3.d.ts.map +0 -1
- package/bin/Matrix3.js +0 -514
- package/bin/Matrix3.js.map +0 -1
- package/bin/Rectangle.d.ts +0 -266
- package/bin/Rectangle.d.ts.map +0 -1
- package/bin/Rectangle.js +0 -437
- package/bin/Rectangle.js.map +0 -1
- package/bin/Vector2.d.ts +0 -317
- package/bin/Vector2.d.ts.map +0 -1
- package/bin/Vector2.js +0 -474
- package/bin/Vector2.js.map +0 -1
- package/bin/index.d.ts +0 -17
- package/bin/index.d.ts.map +0 -1
- package/bin/index.js +0 -21
- package/bin/index.js.map +0 -1
|
@@ -1,172 +0,0 @@
|
|
|
1
|
-
import { Vector2 } from '../Vector2';
|
|
2
|
-
/**
|
|
3
|
-
* 插值器类型定义
|
|
4
|
-
*/
|
|
5
|
-
export type InterpolatorFunction<T> = (from: T, to: T, t: number) => T;
|
|
6
|
-
/**
|
|
7
|
-
* 关键帧数据结构
|
|
8
|
-
*/
|
|
9
|
-
export interface Keyframe<T> {
|
|
10
|
-
time: number;
|
|
11
|
-
value: T;
|
|
12
|
-
easing?: (t: number) => number;
|
|
13
|
-
}
|
|
14
|
-
/**
|
|
15
|
-
* 带缓存的插值器类
|
|
16
|
-
* 用于需要重复插值相同起始和目标值的情况
|
|
17
|
-
*/
|
|
18
|
-
export declare class CachedInterpolator<T> {
|
|
19
|
-
private from?;
|
|
20
|
-
private to?;
|
|
21
|
-
private interpolator;
|
|
22
|
-
private cache;
|
|
23
|
-
constructor(interpolator: InterpolatorFunction<T>);
|
|
24
|
-
/**
|
|
25
|
-
* 设置插值范围
|
|
26
|
-
* @param from 起始值
|
|
27
|
-
* @param to 目标值
|
|
28
|
-
*/
|
|
29
|
-
setRange(from: T, to: T): void;
|
|
30
|
-
/**
|
|
31
|
-
* 获取插值结果
|
|
32
|
-
* @param t 插值参数
|
|
33
|
-
* @returns 插值结果
|
|
34
|
-
*/
|
|
35
|
-
get(t: number): T;
|
|
36
|
-
/**
|
|
37
|
-
* 清空缓存
|
|
38
|
-
*/
|
|
39
|
-
clearCache(): void;
|
|
40
|
-
}
|
|
41
|
-
/**
|
|
42
|
-
* 插值工具类
|
|
43
|
-
*
|
|
44
|
-
* 提供各种类型的插值功能,用于创建平滑的数值变化
|
|
45
|
-
*/
|
|
46
|
-
export declare class Interpolation {
|
|
47
|
-
/**
|
|
48
|
-
* 数值线性插值
|
|
49
|
-
* @param from 起始值
|
|
50
|
-
* @param to 目标值
|
|
51
|
-
* @param t 插值参数 (0-1)
|
|
52
|
-
* @returns 插值结果
|
|
53
|
-
*/
|
|
54
|
-
static number(from: number, to: number, t: number): number;
|
|
55
|
-
/**
|
|
56
|
-
* 向量线性插值
|
|
57
|
-
* @param from 起始向量
|
|
58
|
-
* @param to 目标向量
|
|
59
|
-
* @param t 插值参数 (0-1)
|
|
60
|
-
* @returns 插值结果向量
|
|
61
|
-
*/
|
|
62
|
-
static vector2(from: Vector2, to: Vector2, t: number): Vector2;
|
|
63
|
-
/**
|
|
64
|
-
* 角度插值(处理角度环绕)
|
|
65
|
-
* @param from 起始角度(弧度)
|
|
66
|
-
* @param to 目标角度(弧度)
|
|
67
|
-
* @param t 插值参数 (0-1)
|
|
68
|
-
* @returns 插值结果角度
|
|
69
|
-
*/
|
|
70
|
-
static angle(from: number, to: number, t: number): number;
|
|
71
|
-
/**
|
|
72
|
-
* 颜色插值(RGB)
|
|
73
|
-
* @param from 起始颜色 [r, g, b, a?]
|
|
74
|
-
* @param to 目标颜色 [r, g, b, a?]
|
|
75
|
-
* @param t 插值参数 (0-1)
|
|
76
|
-
* @returns 插值结果颜色
|
|
77
|
-
*/
|
|
78
|
-
static color(from: number[], to: number[], t: number): number[];
|
|
79
|
-
/**
|
|
80
|
-
* 三次样条插值
|
|
81
|
-
* @param p0 控制点0
|
|
82
|
-
* @param p1 控制点1(起点)
|
|
83
|
-
* @param p2 控制点2(终点)
|
|
84
|
-
* @param p3 控制点3
|
|
85
|
-
* @param t 插值参数 (0-1)
|
|
86
|
-
* @returns 插值结果
|
|
87
|
-
*/
|
|
88
|
-
static cubicSpline(p0: number, p1: number, p2: number, p3: number, t: number): number;
|
|
89
|
-
/**
|
|
90
|
-
* Hermite插值
|
|
91
|
-
* @param p0 起始点
|
|
92
|
-
* @param m0 起始切线
|
|
93
|
-
* @param p1 结束点
|
|
94
|
-
* @param m1 结束切线
|
|
95
|
-
* @param t 插值参数 (0-1)
|
|
96
|
-
* @returns 插值结果
|
|
97
|
-
*/
|
|
98
|
-
static hermite(p0: number, m0: number, p1: number, m1: number, t: number): number;
|
|
99
|
-
/**
|
|
100
|
-
* 球面线性插值(适用于方向向量)
|
|
101
|
-
* @param from 起始单位向量
|
|
102
|
-
* @param to 目标单位向量
|
|
103
|
-
* @param t 插值参数 (0-1)
|
|
104
|
-
* @returns 插值结果向量
|
|
105
|
-
*/
|
|
106
|
-
static slerp(from: Vector2, to: Vector2, t: number): Vector2;
|
|
107
|
-
/**
|
|
108
|
-
* 创建带缓存的插值器
|
|
109
|
-
* 用于需要重复插值相同起始和目标值的情况
|
|
110
|
-
* @param interpolator 插值函数
|
|
111
|
-
* @returns 缓存插值器实例
|
|
112
|
-
*/
|
|
113
|
-
static createCachedInterpolator<T>(interpolator: InterpolatorFunction<T>): CachedInterpolator<T>;
|
|
114
|
-
/**
|
|
115
|
-
* 样条曲线插值(通过多个控制点)
|
|
116
|
-
* @param points 控制点数组
|
|
117
|
-
* @param t 插值参数 (0-1)
|
|
118
|
-
* @returns 插值结果
|
|
119
|
-
*/
|
|
120
|
-
static spline(points: number[], t: number): number;
|
|
121
|
-
/**
|
|
122
|
-
* 向量样条曲线插值
|
|
123
|
-
* @param points 控制点数组
|
|
124
|
-
* @param t 插值参数 (0-1)
|
|
125
|
-
* @returns 插值结果向量
|
|
126
|
-
*/
|
|
127
|
-
static vectorSpline(points: Vector2[], t: number): Vector2;
|
|
128
|
-
/**
|
|
129
|
-
* 关键帧动画插值
|
|
130
|
-
* @param keyframes 关键帧数组(按时间排序)
|
|
131
|
-
* @param time 当前时间
|
|
132
|
-
* @param interpolator 插值函数
|
|
133
|
-
* @returns 插值结果
|
|
134
|
-
*/
|
|
135
|
-
static keyframe<T>(keyframes: Keyframe<T>[], time: number, interpolator: InterpolatorFunction<T>): T;
|
|
136
|
-
/**
|
|
137
|
-
* 路径插值(沿着由点组成的路径)
|
|
138
|
-
* @param path 路径点数组
|
|
139
|
-
* @param t 插值参数 (0-1)
|
|
140
|
-
* @param closed 是否为闭合路径
|
|
141
|
-
* @returns 路径上的点
|
|
142
|
-
*/
|
|
143
|
-
static pathInterpolation(path: Vector2[], t: number, closed?: boolean): Vector2;
|
|
144
|
-
/**
|
|
145
|
-
* 计算路径总长度
|
|
146
|
-
* @param path 路径点数组
|
|
147
|
-
* @param closed 是否为闭合路径
|
|
148
|
-
* @returns 路径总长度
|
|
149
|
-
*/
|
|
150
|
-
static getPathLength(path: Vector2[], closed?: boolean): number;
|
|
151
|
-
/**
|
|
152
|
-
* 创建数值插值器
|
|
153
|
-
* @param from 起始值
|
|
154
|
-
* @param to 目标值
|
|
155
|
-
* @returns 插值器函数
|
|
156
|
-
*/
|
|
157
|
-
static createNumberInterpolator(from: number, to: number): (t: number) => number;
|
|
158
|
-
/**
|
|
159
|
-
* 创建向量插值器
|
|
160
|
-
* @param from 起始向量
|
|
161
|
-
* @param to 目标向量
|
|
162
|
-
* @returns 插值器函数
|
|
163
|
-
*/
|
|
164
|
-
static createVectorInterpolator(from: Vector2, to: Vector2): (t: number) => Vector2;
|
|
165
|
-
/**
|
|
166
|
-
* 创建组合插值器(插值多个值)
|
|
167
|
-
* @param interpolators 插值器数组
|
|
168
|
-
* @returns 组合插值器函数
|
|
169
|
-
*/
|
|
170
|
-
static createCompositeInterpolator<T>(interpolators: InterpolatorFunction<T>[]): (from: T[], to: T[], t: number) => T[];
|
|
171
|
-
}
|
|
172
|
-
//# sourceMappingURL=Interpolation.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Interpolation.d.ts","sourceRoot":"","sources":["../../src/Animation/Interpolation.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,327 +0,0 @@
|
|
|
1
|
-
import { Vector2 } from '../Vector2';
|
|
2
|
-
import { MathUtils } from '../MathUtils';
|
|
3
|
-
/**
|
|
4
|
-
* 带缓存的插值器类
|
|
5
|
-
* 用于需要重复插值相同起始和目标值的情况
|
|
6
|
-
*/
|
|
7
|
-
export class CachedInterpolator {
|
|
8
|
-
constructor(interpolator) {
|
|
9
|
-
this.cache = new Map();
|
|
10
|
-
this.interpolator = interpolator;
|
|
11
|
-
}
|
|
12
|
-
/**
|
|
13
|
-
* 设置插值范围
|
|
14
|
-
* @param from 起始值
|
|
15
|
-
* @param to 目标值
|
|
16
|
-
*/
|
|
17
|
-
setRange(from, to) {
|
|
18
|
-
if (this.from !== from || this.to !== to) {
|
|
19
|
-
this.from = from;
|
|
20
|
-
this.to = to;
|
|
21
|
-
this.cache.clear();
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
/**
|
|
25
|
-
* 获取插值结果
|
|
26
|
-
* @param t 插值参数
|
|
27
|
-
* @returns 插值结果
|
|
28
|
-
*/
|
|
29
|
-
get(t) {
|
|
30
|
-
if (!this.from || !this.to) {
|
|
31
|
-
throw new Error('插值范围未设置');
|
|
32
|
-
}
|
|
33
|
-
if (!this.cache.has(t)) {
|
|
34
|
-
const result = this.interpolator(this.from, this.to, t);
|
|
35
|
-
this.cache.set(t, result);
|
|
36
|
-
}
|
|
37
|
-
return this.cache.get(t);
|
|
38
|
-
}
|
|
39
|
-
/**
|
|
40
|
-
* 清空缓存
|
|
41
|
-
*/
|
|
42
|
-
clearCache() {
|
|
43
|
-
this.cache.clear();
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
/**
|
|
47
|
-
* 插值工具类
|
|
48
|
-
*
|
|
49
|
-
* 提供各种类型的插值功能,用于创建平滑的数值变化
|
|
50
|
-
*/
|
|
51
|
-
export class Interpolation {
|
|
52
|
-
// 基础插值
|
|
53
|
-
/**
|
|
54
|
-
* 数值线性插值
|
|
55
|
-
* @param from 起始值
|
|
56
|
-
* @param to 目标值
|
|
57
|
-
* @param t 插值参数 (0-1)
|
|
58
|
-
* @returns 插值结果
|
|
59
|
-
*/
|
|
60
|
-
static number(from, to, t) {
|
|
61
|
-
return MathUtils.lerp(from, to, t);
|
|
62
|
-
}
|
|
63
|
-
/**
|
|
64
|
-
* 向量线性插值
|
|
65
|
-
* @param from 起始向量
|
|
66
|
-
* @param to 目标向量
|
|
67
|
-
* @param t 插值参数 (0-1)
|
|
68
|
-
* @returns 插值结果向量
|
|
69
|
-
*/
|
|
70
|
-
static vector2(from, to, t) {
|
|
71
|
-
return Vector2.lerp(from, to, t);
|
|
72
|
-
}
|
|
73
|
-
/**
|
|
74
|
-
* 角度插值(处理角度环绕)
|
|
75
|
-
* @param from 起始角度(弧度)
|
|
76
|
-
* @param to 目标角度(弧度)
|
|
77
|
-
* @param t 插值参数 (0-1)
|
|
78
|
-
* @returns 插值结果角度
|
|
79
|
-
*/
|
|
80
|
-
static angle(from, to, t) {
|
|
81
|
-
return MathUtils.lerpAngle(from, to, t);
|
|
82
|
-
}
|
|
83
|
-
/**
|
|
84
|
-
* 颜色插值(RGB)
|
|
85
|
-
* @param from 起始颜色 [r, g, b, a?]
|
|
86
|
-
* @param to 目标颜色 [r, g, b, a?]
|
|
87
|
-
* @param t 插值参数 (0-1)
|
|
88
|
-
* @returns 插值结果颜色
|
|
89
|
-
*/
|
|
90
|
-
static color(from, to, t) {
|
|
91
|
-
const result = [];
|
|
92
|
-
const length = Math.max(from.length, to.length);
|
|
93
|
-
for (let i = 0; i < length; i++) {
|
|
94
|
-
const fromVal = from[i] ?? (i === 3 ? 1 : 0); // alpha默认为1
|
|
95
|
-
const toVal = to[i] ?? (i === 3 ? 1 : 0);
|
|
96
|
-
result[i] = MathUtils.lerp(fromVal, toVal, t);
|
|
97
|
-
}
|
|
98
|
-
return result;
|
|
99
|
-
}
|
|
100
|
-
// 高级插值
|
|
101
|
-
/**
|
|
102
|
-
* 三次样条插值
|
|
103
|
-
* @param p0 控制点0
|
|
104
|
-
* @param p1 控制点1(起点)
|
|
105
|
-
* @param p2 控制点2(终点)
|
|
106
|
-
* @param p3 控制点3
|
|
107
|
-
* @param t 插值参数 (0-1)
|
|
108
|
-
* @returns 插值结果
|
|
109
|
-
*/
|
|
110
|
-
static cubicSpline(p0, p1, p2, p3, t) {
|
|
111
|
-
const t2 = t * t;
|
|
112
|
-
const t3 = t2 * t;
|
|
113
|
-
return 0.5 * ((2 * p1) +
|
|
114
|
-
(-p0 + p2) * t +
|
|
115
|
-
(2 * p0 - 5 * p1 + 4 * p2 - p3) * t2 +
|
|
116
|
-
(-p0 + 3 * p1 - 3 * p2 + p3) * t3);
|
|
117
|
-
}
|
|
118
|
-
/**
|
|
119
|
-
* Hermite插值
|
|
120
|
-
* @param p0 起始点
|
|
121
|
-
* @param m0 起始切线
|
|
122
|
-
* @param p1 结束点
|
|
123
|
-
* @param m1 结束切线
|
|
124
|
-
* @param t 插值参数 (0-1)
|
|
125
|
-
* @returns 插值结果
|
|
126
|
-
*/
|
|
127
|
-
static hermite(p0, m0, p1, m1, t) {
|
|
128
|
-
const t2 = t * t;
|
|
129
|
-
const t3 = t2 * t;
|
|
130
|
-
const h00 = 2 * t3 - 3 * t2 + 1;
|
|
131
|
-
const h10 = t3 - 2 * t2 + t;
|
|
132
|
-
const h01 = -2 * t3 + 3 * t2;
|
|
133
|
-
const h11 = t3 - t2;
|
|
134
|
-
return h00 * p0 + h10 * m0 + h01 * p1 + h11 * m1;
|
|
135
|
-
}
|
|
136
|
-
/**
|
|
137
|
-
* 球面线性插值(适用于方向向量)
|
|
138
|
-
* @param from 起始单位向量
|
|
139
|
-
* @param to 目标单位向量
|
|
140
|
-
* @param t 插值参数 (0-1)
|
|
141
|
-
* @returns 插值结果向量
|
|
142
|
-
*/
|
|
143
|
-
static slerp(from, to, t) {
|
|
144
|
-
let dot = Vector2.dot(from, to);
|
|
145
|
-
// 如果点积为负,取反一个向量确保走最短路径
|
|
146
|
-
let toVec = to;
|
|
147
|
-
if (dot < 0) {
|
|
148
|
-
dot = -dot;
|
|
149
|
-
toVec = to.clone().negate();
|
|
150
|
-
}
|
|
151
|
-
// 如果向量几乎平行,使用线性插值
|
|
152
|
-
if (dot > 0.9995) {
|
|
153
|
-
return Vector2.lerp(from, toVec, t).normalize();
|
|
154
|
-
}
|
|
155
|
-
// 球面插值
|
|
156
|
-
const theta = Math.acos(Math.abs(dot));
|
|
157
|
-
const sinTheta = Math.sin(theta);
|
|
158
|
-
const a = Math.sin((1 - t) * theta) / sinTheta;
|
|
159
|
-
const b = Math.sin(t * theta) / sinTheta;
|
|
160
|
-
return new Vector2(from.x * a + toVec.x * b, from.y * a + toVec.y * b);
|
|
161
|
-
}
|
|
162
|
-
// 缓存插值
|
|
163
|
-
/**
|
|
164
|
-
* 创建带缓存的插值器
|
|
165
|
-
* 用于需要重复插值相同起始和目标值的情况
|
|
166
|
-
* @param interpolator 插值函数
|
|
167
|
-
* @returns 缓存插值器实例
|
|
168
|
-
*/
|
|
169
|
-
static createCachedInterpolator(interpolator) {
|
|
170
|
-
return new CachedInterpolator(interpolator);
|
|
171
|
-
}
|
|
172
|
-
// 多点插值
|
|
173
|
-
/**
|
|
174
|
-
* 样条曲线插值(通过多个控制点)
|
|
175
|
-
* @param points 控制点数组
|
|
176
|
-
* @param t 插值参数 (0-1)
|
|
177
|
-
* @returns 插值结果
|
|
178
|
-
*/
|
|
179
|
-
static spline(points, t) {
|
|
180
|
-
if (points.length === 0)
|
|
181
|
-
return 0;
|
|
182
|
-
if (points.length === 1)
|
|
183
|
-
return points[0];
|
|
184
|
-
if (points.length === 2)
|
|
185
|
-
return MathUtils.lerp(points[0], points[1], t);
|
|
186
|
-
const n = points.length - 1;
|
|
187
|
-
const scaledT = t * n;
|
|
188
|
-
const segment = Math.floor(scaledT);
|
|
189
|
-
const localT = scaledT - segment;
|
|
190
|
-
const i = Math.max(0, Math.min(n - 1, segment));
|
|
191
|
-
const p0 = points[Math.max(0, i - 1)];
|
|
192
|
-
const p1 = points[i];
|
|
193
|
-
const p2 = points[Math.min(n, i + 1)];
|
|
194
|
-
const p3 = points[Math.min(n, i + 2)];
|
|
195
|
-
return Interpolation.cubicSpline(p0, p1, p2, p3, localT);
|
|
196
|
-
}
|
|
197
|
-
/**
|
|
198
|
-
* 向量样条曲线插值
|
|
199
|
-
* @param points 控制点数组
|
|
200
|
-
* @param t 插值参数 (0-1)
|
|
201
|
-
* @returns 插值结果向量
|
|
202
|
-
*/
|
|
203
|
-
static vectorSpline(points, t) {
|
|
204
|
-
if (points.length === 0)
|
|
205
|
-
return new Vector2();
|
|
206
|
-
if (points.length === 1)
|
|
207
|
-
return points[0].clone();
|
|
208
|
-
if (points.length === 2)
|
|
209
|
-
return Vector2.lerp(points[0], points[1], t);
|
|
210
|
-
const xPoints = points.map(p => p.x);
|
|
211
|
-
const yPoints = points.map(p => p.y);
|
|
212
|
-
return new Vector2(Interpolation.spline(xPoints, t), Interpolation.spline(yPoints, t));
|
|
213
|
-
}
|
|
214
|
-
// 时间轴插值
|
|
215
|
-
/**
|
|
216
|
-
* 关键帧动画插值
|
|
217
|
-
* @param keyframes 关键帧数组(按时间排序)
|
|
218
|
-
* @param time 当前时间
|
|
219
|
-
* @param interpolator 插值函数
|
|
220
|
-
* @returns 插值结果
|
|
221
|
-
*/
|
|
222
|
-
static keyframe(keyframes, time, interpolator) {
|
|
223
|
-
if (keyframes.length === 0) {
|
|
224
|
-
throw new Error('至少需要一个关键帧');
|
|
225
|
-
}
|
|
226
|
-
if (keyframes.length === 1 || time <= keyframes[0].time) {
|
|
227
|
-
return keyframes[0].value;
|
|
228
|
-
}
|
|
229
|
-
if (time >= keyframes[keyframes.length - 1].time) {
|
|
230
|
-
return keyframes[keyframes.length - 1].value;
|
|
231
|
-
}
|
|
232
|
-
// 找到当前时间所在的区间
|
|
233
|
-
for (let i = 0; i < keyframes.length - 1; i++) {
|
|
234
|
-
const current = keyframes[i];
|
|
235
|
-
const next = keyframes[i + 1];
|
|
236
|
-
if (time >= current.time && time <= next.time) {
|
|
237
|
-
const duration = next.time - current.time;
|
|
238
|
-
const progress = duration > 0 ? (time - current.time) / duration : 0;
|
|
239
|
-
// 应用缓动函数
|
|
240
|
-
const easedProgress = current.easing ? current.easing(progress) : progress;
|
|
241
|
-
return interpolator(current.value, next.value, easedProgress);
|
|
242
|
-
}
|
|
243
|
-
}
|
|
244
|
-
return keyframes[keyframes.length - 1].value;
|
|
245
|
-
}
|
|
246
|
-
// 路径插值
|
|
247
|
-
/**
|
|
248
|
-
* 路径插值(沿着由点组成的路径)
|
|
249
|
-
* @param path 路径点数组
|
|
250
|
-
* @param t 插值参数 (0-1)
|
|
251
|
-
* @param closed 是否为闭合路径
|
|
252
|
-
* @returns 路径上的点
|
|
253
|
-
*/
|
|
254
|
-
static pathInterpolation(path, t, closed = false) {
|
|
255
|
-
if (path.length === 0)
|
|
256
|
-
return new Vector2();
|
|
257
|
-
if (path.length === 1)
|
|
258
|
-
return path[0].clone();
|
|
259
|
-
const totalLength = Interpolation.getPathLength(path, closed);
|
|
260
|
-
const targetDistance = t * totalLength;
|
|
261
|
-
let accumulatedDistance = 0;
|
|
262
|
-
const segments = closed ? path.length : path.length - 1;
|
|
263
|
-
for (let i = 0; i < segments; i++) {
|
|
264
|
-
const start = path[i];
|
|
265
|
-
const end = path[(i + 1) % path.length];
|
|
266
|
-
const segmentLength = Vector2.distance(start, end);
|
|
267
|
-
if (accumulatedDistance + segmentLength >= targetDistance) {
|
|
268
|
-
const segmentT = (targetDistance - accumulatedDistance) / segmentLength;
|
|
269
|
-
return Vector2.lerp(start, end, segmentT);
|
|
270
|
-
}
|
|
271
|
-
accumulatedDistance += segmentLength;
|
|
272
|
-
}
|
|
273
|
-
return path[path.length - 1].clone();
|
|
274
|
-
}
|
|
275
|
-
/**
|
|
276
|
-
* 计算路径总长度
|
|
277
|
-
* @param path 路径点数组
|
|
278
|
-
* @param closed 是否为闭合路径
|
|
279
|
-
* @returns 路径总长度
|
|
280
|
-
*/
|
|
281
|
-
static getPathLength(path, closed = false) {
|
|
282
|
-
if (path.length < 2)
|
|
283
|
-
return 0;
|
|
284
|
-
let totalLength = 0;
|
|
285
|
-
const segments = closed ? path.length : path.length - 1;
|
|
286
|
-
for (let i = 0; i < segments; i++) {
|
|
287
|
-
const start = path[i];
|
|
288
|
-
const end = path[(i + 1) % path.length];
|
|
289
|
-
totalLength += Vector2.distance(start, end);
|
|
290
|
-
}
|
|
291
|
-
return totalLength;
|
|
292
|
-
}
|
|
293
|
-
// 实用工具
|
|
294
|
-
/**
|
|
295
|
-
* 创建数值插值器
|
|
296
|
-
* @param from 起始值
|
|
297
|
-
* @param to 目标值
|
|
298
|
-
* @returns 插值器函数
|
|
299
|
-
*/
|
|
300
|
-
static createNumberInterpolator(from, to) {
|
|
301
|
-
return (t) => Interpolation.number(from, to, t);
|
|
302
|
-
}
|
|
303
|
-
/**
|
|
304
|
-
* 创建向量插值器
|
|
305
|
-
* @param from 起始向量
|
|
306
|
-
* @param to 目标向量
|
|
307
|
-
* @returns 插值器函数
|
|
308
|
-
*/
|
|
309
|
-
static createVectorInterpolator(from, to) {
|
|
310
|
-
return (t) => Interpolation.vector2(from, to, t);
|
|
311
|
-
}
|
|
312
|
-
/**
|
|
313
|
-
* 创建组合插值器(插值多个值)
|
|
314
|
-
* @param interpolators 插值器数组
|
|
315
|
-
* @returns 组合插值器函数
|
|
316
|
-
*/
|
|
317
|
-
static createCompositeInterpolator(interpolators) {
|
|
318
|
-
return (from, to, t) => {
|
|
319
|
-
const result = [];
|
|
320
|
-
for (let i = 0; i < Math.min(interpolators.length, from.length, to.length); i++) {
|
|
321
|
-
result[i] = interpolators[i](from[i], to[i], t);
|
|
322
|
-
}
|
|
323
|
-
return result;
|
|
324
|
-
};
|
|
325
|
-
}
|
|
326
|
-
}
|
|
327
|
-
//# sourceMappingURL=Interpolation.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Interpolation.js","sourceRoot":"","sources":["../../src/Animation/Interpolation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAgBzC;;;GAGG;AACH,MAAM,OAAO,kBAAkB;IAM7B,YAAY,YAAqC;QAFzC,UAAK,GAAmB,IAAI,GAAG,EAAE,CAAC;QAGxC,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;IACnC,CAAC;IAED;;;;OAIG;IACH,QAAQ,CAAC,IAAO,EAAE,EAAK;QACrB,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,IAAI,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC;YACzC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACrB,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,GAAG,CAAC,CAAS;QACX,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CAAC,SAAS,CAAC,CAAC;QAC7B,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YACvB,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;YACxD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;QAC5B,CAAC;QAED,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAE,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,UAAU;QACR,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;IACrB,CAAC;CACF;AAED;;;;GAIG;AACH,MAAM,OAAO,aAAa;IAExB,OAAO;IAEP;;;;;;OAMG;IACH,MAAM,CAAC,MAAM,CAAC,IAAY,EAAE,EAAU,EAAE,CAAS;QAC/C,OAAO,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;IACrC,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,OAAO,CAAC,IAAa,EAAE,EAAW,EAAE,CAAS;QAClD,OAAO,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;IACnC,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,KAAK,CAAC,IAAY,EAAE,EAAU,EAAE,CAAS;QAC9C,OAAO,SAAS,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;IAC1C,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,KAAK,CAAC,IAAc,EAAE,EAAY,EAAE,CAAS;QAClD,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC;QAEhD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAChC,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY;YAC1D,MAAM,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACzC,MAAM,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;QAChD,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,OAAO;IAEP;;;;;;;;OAQG;IACH,MAAM,CAAC,WAAW,CAAC,EAAU,EAAE,EAAU,EAAE,EAAU,EAAE,EAAU,EAAE,CAAS;QAC1E,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;QACjB,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QAElB,OAAO,GAAG,GAAG,CACX,CAAC,CAAC,GAAG,EAAE,CAAC;YACR,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC;YACd,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE;YACpC,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,CAClC,CAAC;IACJ,CAAC;IAED;;;;;;;;OAQG;IACH,MAAM,CAAC,OAAO,CAAC,EAAU,EAAE,EAAU,EAAE,EAAU,EAAE,EAAU,EAAE,CAAS;QACtE,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;QACjB,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QAElB,MAAM,GAAG,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAChC,MAAM,GAAG,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAC5B,MAAM,GAAG,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC;QAC7B,MAAM,GAAG,GAAG,EAAE,GAAG,EAAE,CAAC;QAEpB,OAAO,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,CAAC;IACnD,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,KAAK,CAAC,IAAa,EAAE,EAAW,EAAE,CAAS;QAChD,IAAI,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAEhC,uBAAuB;QACvB,IAAI,KAAK,GAAG,EAAE,CAAC;QACf,IAAI,GAAG,GAAG,CAAC,EAAE,CAAC;YACZ,GAAG,GAAG,CAAC,GAAG,CAAC;YACX,KAAK,GAAG,EAAE,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,CAAC;QAC9B,CAAC;QAED,kBAAkB;QAClB,IAAI,GAAG,GAAG,MAAM,EAAE,CAAC;YACjB,OAAO,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;QAClD,CAAC;QAED,OAAO;QACP,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;QACvC,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAEjC,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,QAAQ,CAAC;QAC/C,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,QAAQ,CAAC;QAEzC,OAAO,IAAI,OAAO,CAChB,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,EACxB,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,CACzB,CAAC;IACJ,CAAC;IAED,OAAO;IAEP;;;;;OAKG;IACH,MAAM,CAAC,wBAAwB,CAAI,YAAqC;QACtE,OAAO,IAAI,kBAAkB,CAAC,YAAY,CAAC,CAAC;IAC9C,CAAC;IAED,OAAO;IAEP;;;;;OAKG;IACH,MAAM,CAAC,MAAM,CAAC,MAAgB,EAAE,CAAS;QACvC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,CAAC,CAAC;QAClC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC;QAC1C,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAExE,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;QAC5B,MAAM,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC;QACtB,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACpC,MAAM,MAAM,GAAG,OAAO,GAAG,OAAO,CAAC;QAEjC,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;QAEhD,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACtC,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QACrB,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACtC,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAEtC,OAAO,aAAa,CAAC,WAAW,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC;IAC3D,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,YAAY,CAAC,MAAiB,EAAE,CAAS;QAC9C,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,OAAO,EAAE,CAAC;QAC9C,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;QAClD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAEtE,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACrC,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAErC,OAAO,IAAI,OAAO,CAChB,aAAa,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,EAChC,aAAa,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CACjC,CAAC;IACJ,CAAC;IAED,QAAQ;IAER;;;;;;OAMG;IACH,MAAM,CAAC,QAAQ,CACb,SAAwB,EACxB,IAAY,EACZ,YAAqC;QAErC,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CAAC,WAAW,CAAC,CAAC;QAC/B,CAAC;QAED,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YACxD,OAAO,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QAC5B,CAAC;QAED,IAAI,IAAI,IAAI,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YACjD,OAAO,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC;QAC/C,CAAC;QAED,cAAc;QACd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAC9C,MAAM,OAAO,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;YAC7B,MAAM,IAAI,GAAG,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAE9B,IAAI,IAAI,IAAI,OAAO,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;gBAC9C,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;gBAC1C,MAAM,QAAQ,GAAG,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;gBAErE,SAAS;gBACT,MAAM,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;gBAE3E,OAAO,YAAY,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;YAChE,CAAC;QACH,CAAC;QAED,OAAO,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC;IAC/C,CAAC;IAED,OAAO;IAEP;;;;;;OAMG;IACH,MAAM,CAAC,iBAAiB,CAAC,IAAe,EAAE,CAAS,EAAE,SAAkB,KAAK;QAC1E,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,OAAO,EAAE,CAAC;QAC5C,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;QAE9C,MAAM,WAAW,GAAG,aAAa,CAAC,aAAa,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC9D,MAAM,cAAc,GAAG,CAAC,GAAG,WAAW,CAAC;QAEvC,IAAI,mBAAmB,GAAG,CAAC,CAAC;QAC5B,MAAM,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;QAExD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC;YAClC,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YACtB,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;YACxC,MAAM,aAAa,GAAG,OAAO,CAAC,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YAEnD,IAAI,mBAAmB,GAAG,aAAa,IAAI,cAAc,EAAE,CAAC;gBAC1D,MAAM,QAAQ,GAAG,CAAC,cAAc,GAAG,mBAAmB,CAAC,GAAG,aAAa,CAAC;gBACxE,OAAO,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;YAC5C,CAAC;YAED,mBAAmB,IAAI,aAAa,CAAC;QACvC,CAAC;QAED,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;IACvC,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,aAAa,CAAC,IAAe,EAAE,SAAkB,KAAK;QAC3D,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,CAAC,CAAC;QAE9B,IAAI,WAAW,GAAG,CAAC,CAAC;QACpB,MAAM,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;QAExD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC;YAClC,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YACtB,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;YACxC,WAAW,IAAI,OAAO,CAAC,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAC9C,CAAC;QAED,OAAO,WAAW,CAAC;IACrB,CAAC;IAED,OAAO;IAEP;;;;;OAKG;IACH,MAAM,CAAC,wBAAwB,CAAC,IAAY,EAAE,EAAU;QACtD,OAAO,CAAC,CAAS,EAAE,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;IAC1D,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,wBAAwB,CAAC,IAAa,EAAE,EAAW;QACxD,OAAO,CAAC,CAAS,EAAE,EAAE,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;IAC3D,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,2BAA2B,CAChC,aAAwC;QAExC,OAAO,CAAC,IAAS,EAAE,EAAO,EAAE,CAAS,EAAO,EAAE;YAC5C,MAAM,MAAM,GAAQ,EAAE,CAAC;YACvB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;gBAChF,MAAM,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAClD,CAAC;YACD,OAAO,MAAM,CAAC;QAChB,CAAC,CAAC;IACJ,CAAC;CACF"}
|
package/bin/Animation/index.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/Animation/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EACL,aAAa,EACb,kBAAkB,EAClB,KAAK,oBAAoB,EACzB,KAAK,QAAQ,EACd,MAAM,iBAAiB,CAAC"}
|
package/bin/Animation/index.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/Animation/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EACL,aAAa,EACb,kBAAkB,EAGnB,MAAM,iBAAiB,CAAC"}
|