@galacean/effects-core 2.5.0-alpha.5 → 2.5.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/dist/index.js +343 -167
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +343 -168
- package/dist/index.mjs.map +1 -1
- package/dist/math/bezier.d.ts +11 -8
- package/dist/math/value-getters/bezier-curve.d.ts +50 -0
- package/dist/math/value-getters/index.d.ts +1 -0
- package/dist/math/value-getters/value-getter.d.ts +1 -25
- package/package.json +1 -1
package/dist/math/bezier.d.ts
CHANGED
|
@@ -57,17 +57,20 @@ export declare class BezierQuat {
|
|
|
57
57
|
getPointInPercent(percent: number): Quaternion;
|
|
58
58
|
}
|
|
59
59
|
export declare class BezierEasing {
|
|
60
|
-
mX1: number;
|
|
61
|
-
mY1: number;
|
|
62
|
-
mX2: number;
|
|
63
|
-
mY2: number;
|
|
64
60
|
private precomputed;
|
|
65
61
|
private mSampleValues;
|
|
66
|
-
|
|
67
|
-
|
|
62
|
+
private control1;
|
|
63
|
+
private control2;
|
|
64
|
+
private weighted;
|
|
65
|
+
private isConstant;
|
|
66
|
+
constructor();
|
|
67
|
+
constructor(control1: number, control2: number);
|
|
68
|
+
constructor(control1X: number, control1Y: number, control2X: number, control2Y: number);
|
|
68
69
|
getValue(x: number): number;
|
|
69
|
-
|
|
70
|
-
|
|
70
|
+
private bezierInterpolate;
|
|
71
|
+
private calcSampleValues;
|
|
72
|
+
private getTForX;
|
|
73
|
+
private precompute;
|
|
71
74
|
}
|
|
72
75
|
export declare function buildEasingCurve(leftKeyframe: spec.BezierKeyframeValue, rightKeyframe: spec.BezierKeyframeValue): {
|
|
73
76
|
points: Vector2[];
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import * as spec from '@galacean/effects-specification';
|
|
2
|
+
import { Vector2 } from '@galacean/effects-math/es/core/vector2';
|
|
3
|
+
import { BezierEasing } from '../bezier';
|
|
4
|
+
import type { KeyFrameMeta } from './value-getter';
|
|
5
|
+
import { ValueGetter } from './value-getter';
|
|
6
|
+
interface CurveInfo {
|
|
7
|
+
points: Vector2[];
|
|
8
|
+
timeInterval: number;
|
|
9
|
+
valueInterval: number;
|
|
10
|
+
curve: BezierEasing;
|
|
11
|
+
timeStart: number;
|
|
12
|
+
timeEnd: number;
|
|
13
|
+
}
|
|
14
|
+
export interface Keyframe {
|
|
15
|
+
time: number;
|
|
16
|
+
value: number;
|
|
17
|
+
inSlope: number;
|
|
18
|
+
outSlope: number;
|
|
19
|
+
inWeight: number;
|
|
20
|
+
outWeight: number;
|
|
21
|
+
weightedMode: WeightedMode;
|
|
22
|
+
tangentMode: TangentMode;
|
|
23
|
+
}
|
|
24
|
+
export declare enum TangentMode {
|
|
25
|
+
Cubic = 0,
|
|
26
|
+
Linear = 1,
|
|
27
|
+
Constant = 2
|
|
28
|
+
}
|
|
29
|
+
export declare enum WeightedMode {
|
|
30
|
+
None = 0,
|
|
31
|
+
In = 1,
|
|
32
|
+
Out = 2,
|
|
33
|
+
Both = 3
|
|
34
|
+
}
|
|
35
|
+
export declare class BezierCurve extends ValueGetter<number> {
|
|
36
|
+
curveMap: Record<string, CurveInfo>;
|
|
37
|
+
keys: number[][];
|
|
38
|
+
private keyFrames;
|
|
39
|
+
private curveInfos;
|
|
40
|
+
onCreate(props: Keyframe[]): void;
|
|
41
|
+
getValue(time: number): number;
|
|
42
|
+
getIntegrateValue(t0: number, t1: number, ts?: number): number;
|
|
43
|
+
getIntegrateByTime(t0: number, t1: number): number;
|
|
44
|
+
getCurveIntegrateValue(curveKey: string, time: number): number;
|
|
45
|
+
toUniform(meta: KeyFrameMeta): Float32Array;
|
|
46
|
+
toData(): Float32Array;
|
|
47
|
+
getMaxTime(): number;
|
|
48
|
+
}
|
|
49
|
+
export declare function oldBezierKeyFramesToNew(props: spec.BezierKeyframeValue[]): Keyframe[];
|
|
50
|
+
export {};
|
|
@@ -5,7 +5,7 @@ import * as spec from '@galacean/effects-specification';
|
|
|
5
5
|
import type { ColorStop } from '../../utils';
|
|
6
6
|
import type { BezierEasing } from '../bezier';
|
|
7
7
|
import { BezierPath, BezierQuat } from '../bezier';
|
|
8
|
-
interface KeyFrameMeta {
|
|
8
|
+
export interface KeyFrameMeta {
|
|
9
9
|
curves: ValueGetter<any>[];
|
|
10
10
|
index: number;
|
|
11
11
|
max: number;
|
|
@@ -91,29 +91,6 @@ export declare class LineSegments extends ValueGetter<number> {
|
|
|
91
91
|
map(func: (k: number) => number): this;
|
|
92
92
|
scaleXCoord(scale: number): this;
|
|
93
93
|
}
|
|
94
|
-
export declare class BezierCurve extends ValueGetter<number> {
|
|
95
|
-
curveMap: Record<string, {
|
|
96
|
-
points: Vector2[];
|
|
97
|
-
timeInterval: number;
|
|
98
|
-
valueInterval: number;
|
|
99
|
-
curve: BezierEasing;
|
|
100
|
-
timeStart: number;
|
|
101
|
-
timeEnd: number;
|
|
102
|
-
}>;
|
|
103
|
-
keys: number[][];
|
|
104
|
-
keyTimeData: string[];
|
|
105
|
-
startKeyframe: spec.BezierKeyframeValue;
|
|
106
|
-
endKeyframe: spec.BezierKeyframeValue;
|
|
107
|
-
onCreate(props: spec.BezierKeyframeValue[]): void;
|
|
108
|
-
getValue(time: number): number;
|
|
109
|
-
getIntegrateValue(t0: number, t1: number, ts?: number): number;
|
|
110
|
-
getIntegrateByTime(t0: number, t1: number): number;
|
|
111
|
-
getCurveIntegrateValue(curveKey: string, time: number): number;
|
|
112
|
-
getCurveValue(curveKey: string, time: number): number;
|
|
113
|
-
toUniform(meta: KeyFrameMeta): Float32Array;
|
|
114
|
-
toData(): Float32Array;
|
|
115
|
-
getMaxTime(): number;
|
|
116
|
-
}
|
|
117
94
|
export declare class PathSegments extends ValueGetter<number[]> {
|
|
118
95
|
keys: number[][];
|
|
119
96
|
values: number[][];
|
|
@@ -159,4 +136,3 @@ export declare function createKeyFrameMeta(): {
|
|
|
159
136
|
lineSegCount: number;
|
|
160
137
|
curveCount: number;
|
|
161
138
|
};
|
|
162
|
-
export {};
|