@galacean/effects-core 2.5.0-alpha.6 → 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.
@@ -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
- constructor(mX1: number, mY1: number, mX2: number, mY2: number);
67
- precompute(): void;
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
- calcSampleValues(): void;
70
- getTForX(aX: number): number;
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 {};
@@ -1,4 +1,5 @@
1
1
  export * from './value-getter';
2
2
  export * from './color-curve';
3
3
  export * from './vector-curves';
4
+ export * from './bezier-curve';
4
5
  export * from './value-getter-map';
@@ -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 {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@galacean/effects-core",
3
- "version": "2.5.0-alpha.6",
3
+ "version": "2.5.0",
4
4
  "description": "Galacean Effects runtime core for the web",
5
5
  "module": "./dist/index.mjs",
6
6
  "main": "./dist/index.js",