@galacean/effects-specification 2.5.0 → 2.6.0-alpha.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.
@@ -1,5 +1,5 @@
1
1
  import type { EffectsObjectData } from './effects-object-data';
2
- import type { FixedNumberExpression, FixedVec3Expression, FixedQuatExpression, ColorCurveValue } from './number-expression';
2
+ import type { ColorCurveValue, Vector3CurveValue, BezierValue, BezierCurvePath, BezierCurveQuat } from './number-expression';
3
3
  export interface AnimationClipData extends EffectsObjectData {
4
4
  duration?: number;
5
5
  positionCurves?: PositionCurveData[];
@@ -11,25 +11,25 @@ export interface AnimationClipData extends EffectsObjectData {
11
11
  }
12
12
  export interface PositionCurveData {
13
13
  path: string;
14
- keyFrames: FixedVec3Expression;
14
+ keyFrames: BezierCurvePath;
15
15
  }
16
16
  export interface QuaternionRotationCurveData {
17
17
  path: string;
18
- keyFrames: FixedQuatExpression;
18
+ keyFrames: BezierCurveQuat;
19
19
  }
20
20
  export interface EulerRotationCurveData {
21
21
  path: string;
22
- keyFrames: FixedVec3Expression;
22
+ keyFrames: Vector3CurveValue;
23
23
  }
24
24
  export interface ScaleCurveData {
25
25
  path: string;
26
- keyFrames: FixedVec3Expression;
26
+ keyFrames: Vector3CurveValue;
27
27
  }
28
28
  export interface AnimationCurveFloatData {
29
29
  path: string;
30
30
  property: string;
31
31
  className: string;
32
- keyFrames: FixedNumberExpression;
32
+ keyFrames: BezierValue;
33
33
  }
34
34
  export interface AnimationCurveColorData {
35
35
  path: string;
@@ -96,6 +96,7 @@ export interface GreaterNodeData extends FloatComparisonNodeData {
96
96
  }
97
97
  export interface StateMachineNodeData extends GraphNodeData {
98
98
  type: NodeDataType.StateMachineNodeData;
99
+ machineName: string;
99
100
  stateDatas: StateData[];
100
101
  defaultStateIndex: number;
101
102
  }
@@ -110,6 +111,7 @@ export interface StateData {
110
111
  }
111
112
  export interface StateNodeData extends GraphNodeData {
112
113
  type: NodeDataType.StateNodeData;
114
+ stateName: string;
113
115
  childNodeIndex: number;
114
116
  }
115
117
  export interface TransitionNodeData extends GraphNodeData {
@@ -0,0 +1,9 @@
1
+ import type { Vector3Data } from 'src/math';
2
+ import type { ComponentData } from './component-data';
3
+ export interface FFDComponentData extends ComponentData {
4
+ controlPoints: Vector3Data[];
5
+ boundMin: Vector3Data;
6
+ boundMax: Vector3Data;
7
+ rowNum: number;
8
+ colNum: number;
9
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -1,2 +1,3 @@
1
1
  export * from './component-data';
2
2
  export * from './post-process-volume-data';
3
+ export * from './ffd-data';
@@ -1,2 +1,3 @@
1
1
  export * from './component-data';
2
2
  export * from './post-process-volume-data';
3
+ export * from './ffd-data';
package/es/data-type.d.ts CHANGED
@@ -47,6 +47,8 @@ export declare enum DataType {
47
47
  EffectComponent = "EffectComponent",
48
48
  TextComponent = "TextComponent",
49
49
  AnimationGraphAsset = "AnimationGraphAsset",
50
+ CompositionComponent = "CompositionComponent",
51
+ FFDComponent = "FFDComponent",
50
52
  Animator = "Animator",
51
53
  TimelineClip = "TimelineClip"
52
54
  }
package/es/data-type.js CHANGED
@@ -51,6 +51,8 @@ export var DataType;
51
51
  DataType["EffectComponent"] = "EffectComponent";
52
52
  DataType["TextComponent"] = "TextComponent";
53
53
  DataType["AnimationGraphAsset"] = "AnimationGraphAsset";
54
+ DataType["CompositionComponent"] = "CompositionComponent";
55
+ DataType["FFDComponent"] = "FFDComponent";
54
56
  DataType["Animator"] = "Animator";
55
57
  // Non-EffectObject
56
58
  DataType["TimelineClip"] = "TimelineClip";
package/es/index.d.ts CHANGED
@@ -41,4 +41,4 @@ export * from './material-data';
41
41
  export * from './geometry-data';
42
42
  export * from './shader-data';
43
43
  export * from './effects-package-data';
44
- export declare const LATEST_VERSION = JSONSceneVersion['3_4'];
44
+ export declare const LATEST_VERSION = JSONSceneVersion['3_5'];
@@ -45,6 +45,11 @@ export interface BaseTextContentOptions {
45
45
  * @default 0
46
46
  */
47
47
  letterSpace?: number;
48
+ /**
49
+ * 文本行间隔
50
+ * @default 0.571
51
+ */
52
+ lineGap?: number;
48
53
  /**
49
54
  * 文本内容
50
55
  */
package/es/scene.d.ts CHANGED
@@ -33,7 +33,8 @@ export declare enum JSONSceneVersion {
33
33
  '3_2' = "3.2",// 矢量动画、透明视频、增加富文本属性
34
34
  '3_3' = "3.3",// 指向型蒙版、图片/文字蒙版
35
35
  '3_4' = "3.4",// 动画状态机
36
- 'LATEST' = "3.4"
36
+ '3_5' = "3.5",// 网格形状变化动画、矢量图形填充/描边渐变色
37
+ 'LATEST' = "3.5"
37
38
  }
38
39
  /**
39
40
  * runtime 2.0 之前的场景信息
@@ -160,10 +161,6 @@ export interface JSONScene {
160
161
  * 根据合成 ID,每个合成用到的 bin 的数组索引
161
162
  */
162
163
  binUsage?: Record<string, number[]>;
163
- /**
164
- * 蒙版形状信息
165
- */
166
- shapes: ShapeGeometry[];
167
164
  /**
168
165
  * 插件类型信息
169
166
  * 'model@1.0'
package/es/scene.js CHANGED
@@ -19,5 +19,6 @@ export var JSONSceneVersion;
19
19
  JSONSceneVersion["3_2"] = "3.2";
20
20
  JSONSceneVersion["3_3"] = "3.3";
21
21
  JSONSceneVersion["3_4"] = "3.4";
22
- JSONSceneVersion["LATEST"] = "3.4";
22
+ JSONSceneVersion["3_5"] = "3.5";
23
+ JSONSceneVersion["LATEST"] = "3.5";
23
24
  })(JSONSceneVersion || (JSONSceneVersion = {}));
@@ -1,4 +1,5 @@
1
- import type { ComponentData } from '../components/component-data';
1
+ import type { RenderMode, SideMode, BlendingMode } from '../type';
2
+ import type { ComponentData, DataPath } from '../components/component-data';
2
3
  import type { MaskOptions } from '../item/base-item';
3
4
  import type { ShapeFillParam } from './shape-fill-param';
4
5
  import type { ShapePrimitiveType } from './shape-primitive-type';
@@ -23,4 +24,16 @@ export interface ShapeComponentData extends ComponentData {
23
24
  * 蒙版属性,传入表示需要作为蒙版/被遮挡/反向遮挡
24
25
  */
25
26
  mask?: MaskOptions;
27
+ /**
28
+ * 图形元素材质渲染属性
29
+ */
30
+ renderer?: ShapeRendererOptions;
31
+ }
32
+ export interface ShapeRendererOptions {
33
+ renderMode?: RenderMode;
34
+ side?: SideMode;
35
+ occlusion?: boolean;
36
+ transparentOcclusion?: boolean;
37
+ blending?: BlendingMode;
38
+ texture?: DataPath;
26
39
  }
@@ -1,4 +1,23 @@
1
+ import type { Vector2Data } from '../math/vector-data';
1
2
  import type { ColorData } from '../math/color-data';
3
+ import type { GradientColor } from '../number-expression';
4
+ /**
5
+ * 填充类型
6
+ */
7
+ export declare enum FillType {
8
+ /**
9
+ * 纯色
10
+ */
11
+ Solid = 0,
12
+ /**
13
+ * 线性渐变
14
+ */
15
+ LinearGradient = 1,
16
+ /**
17
+ * 径向渐变
18
+ */
19
+ RadialGradient = 2
20
+ }
2
21
  /**
3
22
  * 矢量填充参数
4
23
  */
@@ -7,4 +26,20 @@ export interface ShapeFillParam {
7
26
  * 填充颜色
8
27
  */
9
28
  color: ColorData;
29
+ /**
30
+ * 填充类型
31
+ */
32
+ fillType?: FillType;
33
+ /**
34
+ * 渐变颜色
35
+ */
36
+ gradient?: GradientColor;
37
+ /**
38
+ * 渐变起点
39
+ */
40
+ startPoint?: Vector2Data;
41
+ /**
42
+ * 渐变终点
43
+ */
44
+ endPoint?: Vector2Data;
10
45
  }
@@ -1 +1,18 @@
1
- export {};
1
+ /**
2
+ * 填充类型
3
+ */
4
+ export var FillType;
5
+ (function (FillType) {
6
+ /**
7
+ * 纯色
8
+ */
9
+ FillType[FillType["Solid"] = 0] = "Solid";
10
+ /**
11
+ * 线性渐变
12
+ */
13
+ FillType[FillType["LinearGradient"] = 1] = "LinearGradient";
14
+ /**
15
+ * 径向渐变
16
+ */
17
+ FillType[FillType["RadialGradient"] = 2] = "RadialGradient";
18
+ })(FillType || (FillType = {}));
@@ -3,3 +3,4 @@ export * from './playables/sprite-color-playable-asset-data';
3
3
  export * from './timeline-asset-data';
4
4
  export * from './timeline-clip-data';
5
5
  export * from './playables/transform-playable-asset-data';
6
+ export * from './playables/property-playable-asset-datas';
@@ -3,3 +3,4 @@ export * from './playables/sprite-color-playable-asset-data';
3
3
  export * from './timeline-asset-data';
4
4
  export * from './timeline-clip-data';
5
5
  export * from './playables/transform-playable-asset-data';
6
+ export * from './playables/property-playable-asset-datas';
@@ -0,0 +1,19 @@
1
+ import type { BezierValue, ColorCurveValue, Vector2CurveValue, Vector4CurveValue } from '../../number-expression';
2
+ import type { DataType } from '../../data-type';
3
+ import type { EffectsObjectData } from '../../effects-object-data';
4
+ export interface ColorPropertyPlayableAssetData extends EffectsObjectData {
5
+ dataType: DataType.ColorPropertyPlayableAsset;
6
+ curveData: ColorCurveValue;
7
+ }
8
+ export interface FloatPropertyPlayableAssetData extends EffectsObjectData {
9
+ dataType: DataType.FloatPropertyPlayableAsset;
10
+ curveData: BezierValue;
11
+ }
12
+ export interface Vector4PropertyPlayableAssetData extends EffectsObjectData {
13
+ dataType: DataType.Vector4PropertyPlayableAsset;
14
+ curveData: Vector4CurveValue;
15
+ }
16
+ export interface Vector2PropertyPlayableAssetData extends EffectsObjectData {
17
+ dataType: DataType.Vector2PropertyPlayableAsset;
18
+ curveData: Vector2CurveValue;
19
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@galacean/effects-specification",
3
- "version": "2.5.0",
3
+ "version": "2.6.0-alpha.0",
4
4
  "description": "Galacean Effects JSON Specification",
5
5
  "module": "./es/index.js",
6
6
  "main": "./es/index.js",