@galacean/effects-specification 2.5.1 → 2.6.0-alpha.1

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.
@@ -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';
@@ -1,4 +1,5 @@
1
1
  import type { ComponentData, DataPath } from './components';
2
+ import type { DataType } from './data-type';
2
3
  import type { Item } from './item';
3
4
  import type { EndBehavior } from './item/base-item';
4
5
  export declare enum CameraClipMode {
@@ -86,26 +87,21 @@ export interface Composition extends CompositionBase {
86
87
  }
87
88
  /**
88
89
  * 合成数据
89
- * @deprecated Please use CompositionBase instead
90
90
  */
91
91
  export interface CompositionData extends CompositionBase {
92
92
  /**
93
- * 元素信息
94
- */
95
- items: DataPath[];
96
- /**
97
- * 时间轴资产(TimelineAssetData)
98
- */
99
- timelineAsset: DataPath;
100
- /**
101
- * 轨道的场景绑定
93
+ * @description 组件数据
102
94
  */
103
- sceneBindings: SceneBindingData[];
95
+ components: DataPath[];
104
96
  }
105
97
  /**
106
98
  * 合成组件数据
107
99
  */
108
100
  export interface CompositionComponentData extends ComponentData {
101
+ /**
102
+ * @description 合成组件类型 - 固定为 CompositionComponent
103
+ */
104
+ dataType: DataType.CompositionComponent;
109
105
  /**
110
106
  * 元素信息
111
107
  */
package/es/data-type.d.ts CHANGED
@@ -17,6 +17,7 @@ export declare enum DataType {
17
17
  FloatPropertyTrack = "FloatPropertyTrack",
18
18
  ColorPropertyTrack = "ColorPropertyTrack",
19
19
  Vector2PropertyTrack = "Vector2PropertyTrack",
20
+ Vector3PropertyTrack = "Vector3PropertyTrack",
20
21
  Vector4PropertyTrack = "Vector4PropertyTrack",
21
22
  TransformPlayableAsset = "TransformPlayableAsset",
22
23
  SpriteColorPlayableAsset = "SpriteColorPlayableAsset",
@@ -25,6 +26,7 @@ export declare enum DataType {
25
26
  FloatPropertyPlayableAsset = "FloatPropertyPlayableAsset",
26
27
  ColorPropertyPlayableAsset = "ColorPropertyPlayableAsset",
27
28
  Vector2PropertyPlayableAsset = "Vector2PropertyPlayableAsset",
29
+ Vector3PropertyPlayableAsset = "Vector3PropertyPlayableAsset",
28
30
  Vector4PropertyPlayableAsset = "Vector4PropertyPlayableAsset",
29
31
  MeshComponent = "MeshComponent",
30
32
  SkyboxComponent = "SkyboxComponent",
@@ -47,6 +49,8 @@ export declare enum DataType {
47
49
  EffectComponent = "EffectComponent",
48
50
  TextComponent = "TextComponent",
49
51
  AnimationGraphAsset = "AnimationGraphAsset",
52
+ CompositionComponent = "CompositionComponent",
53
+ FFDComponent = "FFDComponent",
50
54
  Animator = "Animator",
51
55
  TimelineClip = "TimelineClip"
52
56
  }
package/es/data-type.js CHANGED
@@ -20,6 +20,7 @@ export var DataType;
20
20
  DataType["FloatPropertyTrack"] = "FloatPropertyTrack";
21
21
  DataType["ColorPropertyTrack"] = "ColorPropertyTrack";
22
22
  DataType["Vector2PropertyTrack"] = "Vector2PropertyTrack";
23
+ DataType["Vector3PropertyTrack"] = "Vector3PropertyTrack";
23
24
  DataType["Vector4PropertyTrack"] = "Vector4PropertyTrack";
24
25
  DataType["TransformPlayableAsset"] = "TransformPlayableAsset";
25
26
  DataType["SpriteColorPlayableAsset"] = "SpriteColorPlayableAsset";
@@ -28,6 +29,7 @@ export var DataType;
28
29
  DataType["FloatPropertyPlayableAsset"] = "FloatPropertyPlayableAsset";
29
30
  DataType["ColorPropertyPlayableAsset"] = "ColorPropertyPlayableAsset";
30
31
  DataType["Vector2PropertyPlayableAsset"] = "Vector2PropertyPlayableAsset";
32
+ DataType["Vector3PropertyPlayableAsset"] = "Vector3PropertyPlayableAsset";
31
33
  DataType["Vector4PropertyPlayableAsset"] = "Vector4PropertyPlayableAsset";
32
34
  // Components
33
35
  DataType["MeshComponent"] = "MeshComponent";
@@ -51,6 +53,8 @@ export var DataType;
51
53
  DataType["EffectComponent"] = "EffectComponent";
52
54
  DataType["TextComponent"] = "TextComponent";
53
55
  DataType["AnimationGraphAsset"] = "AnimationGraphAsset";
56
+ DataType["CompositionComponent"] = "CompositionComponent";
57
+ DataType["FFDComponent"] = "FFDComponent";
54
58
  DataType["Animator"] = "Animator";
55
59
  // Non-EffectObject
56
60
  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 之前的场景信息
@@ -152,21 +153,9 @@ export interface JSONScene {
152
153
  * 贴图信息
153
154
  */
154
155
  images: ImageSource[];
155
- /**
156
- * 根据合成 ID,每个合成用到的 image 的数组索引
157
- */
158
- imgUsage?: Record<string, number[]>;
159
- /**
160
- * 根据合成 ID,每个合成用到的 bin 的数组索引
161
- */
162
- binUsage?: Record<string, number[]>;
163
- /**
164
- * 蒙版形状信息
165
- */
166
- shapes: ShapeGeometry[];
167
156
  /**
168
157
  * 插件类型信息
169
- * 'model@1.0'
158
+ * 'model'
170
159
  */
171
160
  plugins: string[];
172
161
  /**
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 = {}));
package/es/texture.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  import type { BinaryPointer } from './binary';
2
+ import type { DataPath } from './components';
2
3
  import type { DataType } from './data-type';
3
4
  export interface TextureFormatOptions {
4
5
  format?: GLenum;
@@ -30,7 +31,7 @@ export type SerializedTextureCubeMipmap = [
30
31
  export interface SerializedTexture2DImageSource extends TextureConfigOptionsBase, TextureFormatOptions {
31
32
  dataType: DataType.Texture;
32
33
  target?: WebGLRenderingContext['TEXTURE_2D'];
33
- source: number;
34
+ source: number | DataPath;
34
35
  }
35
36
  export interface SerializedTexture2DMipmapSource extends TextureConfigOptionsBase, TextureFormatOptions {
36
37
  dataType: DataType.Texture;
@@ -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
+ }
@@ -6,5 +6,5 @@ export interface TrackAssetData extends EffectsObjectData {
6
6
  * 子轨道数据(TrackAssetData)
7
7
  */
8
8
  children: DataPath[];
9
- clips: TimelineClipData;
9
+ clips: TimelineClipData[];
10
10
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@galacean/effects-specification",
3
- "version": "2.5.1",
3
+ "version": "2.6.0-alpha.1",
4
4
  "description": "Galacean Effects JSON Specification",
5
5
  "module": "./es/index.js",
6
6
  "main": "./es/index.js",