@galacean/effects-core 2.0.0-alpha.7 → 2.0.0-alpha.9

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.
Files changed (39) hide show
  1. package/dist/asset-loader.d.ts +11 -88
  2. package/dist/asset-manager.d.ts +1 -80
  3. package/dist/canvas-pool.d.ts +10 -0
  4. package/dist/composition.d.ts +7 -2
  5. package/dist/constants.d.ts +0 -1
  6. package/dist/downloader.d.ts +4 -0
  7. package/dist/effects-object.d.ts +2 -2
  8. package/dist/engine.d.ts +4 -3
  9. package/dist/index.d.ts +1 -1
  10. package/dist/index.js +12477 -13766
  11. package/dist/index.js.map +1 -1
  12. package/dist/index.mjs +10970 -12242
  13. package/dist/index.mjs.map +1 -1
  14. package/dist/material/material.d.ts +16 -3
  15. package/dist/material/types.d.ts +0 -5
  16. package/dist/material/utils.d.ts +1 -1
  17. package/dist/plugin-system.d.ts +1 -2
  18. package/dist/plugins/camera/camera-controller-node.d.ts +1 -1
  19. package/dist/plugins/particle/particle-mesh.d.ts +0 -1
  20. package/dist/plugins/plugin.d.ts +1 -2
  21. package/dist/plugins/sprite/sprite-item.d.ts +13 -3
  22. package/dist/plugins/text/text-item.d.ts +1 -0
  23. package/dist/render/create-copy-shader.d.ts +1 -1
  24. package/dist/render/index.d.ts +1 -0
  25. package/dist/render/render-frame.d.ts +2 -2
  26. package/dist/render/render-pass.d.ts +2 -2
  27. package/dist/{semantic-map.d.ts → render/semantic-map.d.ts} +4 -4
  28. package/dist/render/shader.d.ts +3 -3
  29. package/dist/scene.d.ts +79 -3
  30. package/dist/shader/index.d.ts +0 -10
  31. package/dist/template-image.d.ts +10 -0
  32. package/dist/texture/texture.d.ts +6 -0
  33. package/dist/vfx-item.d.ts +1 -2
  34. package/package.json +2 -2
  35. package/dist/template-image/index.d.ts +0 -68
  36. package/dist/template-image/qcanvas-viewer.d.ts +0 -21
  37. package/dist/template-image/qtext.d.ts +0 -96
  38. package/dist/template-image/template-v1.d.ts +0 -27
  39. package/dist/template-image/text-metrics.d.ts +0 -18
@@ -1,3 +1,4 @@
1
+ import * as spec from '@galacean/effects-specification';
1
2
  import type { EffectsObject } from './effects-object';
2
3
  import type { Engine } from './engine';
3
4
  import type { ShaderMarcos } from './render';
@@ -17,104 +18,26 @@ export declare class AssetLoader {
17
18
  export declare class Database {
18
19
  loadGUID(guid: string): Promise<EffectsObject | undefined>;
19
20
  }
20
- export declare enum DataType {
21
- VFXItemData = "VFXItemData",
22
- EffectComponent = "EffectComponent",
23
- Material = "Material",
24
- Shader = "Shader",
25
- SpriteComponent = "SpriteComponent",
26
- ParticleSystem = "ParticleSystem",
27
- InteractComponent = "InteractComponent",
28
- CameraController = "CameraController",
29
- Geometry = "Geometry",
30
- Texture = "Texture",
31
- TextComponent = "TextComponent",
32
- MeshComponent = "MeshComponent",
33
- SkyboxComponent = "SkyboxComponent",
34
- LightComponent = "LightComponent",
35
- CameraComponent = "CameraComponent",
36
- ModelPluginComponent = "ModelPluginComponent",
37
- TreeComponent = "TreeComponent"
38
- }
39
- export interface DataPath {
40
- id: string;
41
- }
42
- export interface EffectsObjectData {
43
- id: string;
44
- name?: string;
45
- dataType: string;
46
- }
47
- export interface ColorData {
48
- r: number;
49
- g: number;
50
- b: number;
51
- a: number;
52
- }
53
- export interface Vector4Data {
54
- x: number;
55
- y: number;
56
- z: number;
57
- w: number;
58
- }
59
- export interface Vector2Data {
60
- x: number;
61
- y: number;
62
- }
63
- export interface MaterialTextureProperty {
64
- texture: DataPath;
65
- offset: Vector2Data;
66
- scale: Vector2Data;
67
- }
68
- export interface MaterialData extends EffectsObjectData {
69
- shader: DataPath;
70
- blending?: boolean;
71
- zWrite?: boolean;
72
- zTest?: boolean;
73
- ints: Record<string, number>;
74
- floats: Record<string, number>;
75
- vector4s: Record<string, Vector4Data>;
76
- colors: Record<string, ColorData>;
77
- textures: Record<string, MaterialTextureProperty>;
21
+ export interface MaterialData extends spec.MaterialData {
78
22
  /**
79
23
  * shader的宏定义
80
24
  */
81
25
  marcos?: ShaderMarcos;
82
26
  }
83
- export interface GeometryData extends EffectsObjectData {
84
- vertexData: VertexData;
27
+ export interface GeometryData extends spec.EffectsObjectData {
28
+ vertexData: spec.VertexData;
85
29
  indexFormat: number;
86
30
  indexOffset: number;
87
31
  buffer: string;
88
32
  }
89
- export interface VertexData {
90
- vertexCount: number;
91
- channels: VertexChannel[];
92
- }
93
- export interface VertexChannel {
94
- offset: number;
95
- format: number;
96
- dimension: number;
97
- }
98
- export interface ShaderData extends EffectsObjectData {
99
- vertex: string;
100
- fragment: string;
101
- properties?: string;
102
- }
103
- export interface EffectComponentData extends EffectsObjectData {
33
+ export interface EffectComponentData extends spec.EffectsObjectData {
104
34
  _priority: number;
105
- item: DataPath;
106
- materials: DataPath[];
107
- geometry: DataPath;
35
+ item: spec.DataPath;
36
+ materials: spec.DataPath[];
37
+ geometry: spec.DataPath;
108
38
  }
109
39
  export type VFXItemData = VFXItemProps & {
110
- dataType: DataType;
111
- components: DataPath[];
40
+ dataType: spec.DataType;
41
+ components: spec.DataPath[];
112
42
  };
113
- export type SceneData = Record<string, EffectsObjectData>;
114
- export interface EffectsPackageData {
115
- fileSummary: {
116
- guid: string;
117
- assetType: string;
118
- };
119
- exportObjects: EffectsObjectData[];
120
- }
43
+ export type SceneData = Record<string, spec.EffectsObjectData>;
@@ -1,86 +1,7 @@
1
- import * as spec from '@galacean/effects-specification';
2
1
  import { Downloader } from './downloader';
3
- import type { Scene } from './scene';
2
+ import type { Scene, SceneLoadOptions, SceneType } from './scene';
4
3
  import type { Disposable } from './utils';
5
4
  import type { Renderer } from './render';
6
- /**
7
- * 场景加载参数
8
- */
9
- export interface SceneLoadOptions {
10
- /**
11
- * 动态数据的参数
12
- * key 是 JSON 中配置的字段名
13
- * value 是要使用的值,图片使用 url 链接
14
- * 图片链接可以使用数组传递,如果第一个加载失败,将尝试使用第二个地址
15
- *
16
- * @example
17
- * ``` ts
18
- * {
19
- * variables: {
20
- * bg: ['url','fallback_url'], // 如果两个图片都失败,将会触发加载失败
21
- * fg: 'url' // 如果图片加载失败,将会触发加载失败,
22
- * amount: 88.8,
23
- * name: 'abc'
24
- * }
25
- * }
26
- * ```
27
- */
28
- variables?: Record<string, number | string | string[]>;
29
- /**
30
- * 模板图片缩放倍数
31
- * @default 1 如果图片比较糊,可以用 2(但会增大图片内存)
32
- */
33
- templateScale?: number;
34
- /**
35
- * 是否使用压缩纹理
36
- */
37
- useCompressedTexture?: boolean;
38
- /**
39
- * 渲染分级。
40
- * 分级之后,只会加载当前渲染等级的资源。
41
- * 当渲染等级被设置为 B 后,player 的 fps 会降到 30 帧
42
- * @default 's'
43
- */
44
- renderLevel?: spec.RenderLevel;
45
- /**
46
- * 资源加载超时,时间单位秒
47
- * @default 10s
48
- */
49
- timeout?: number;
50
- /***
51
- * 用于给 plugin 的加载数据
52
- * key/value 的内容由 plugin 自己实现
53
- */
54
- pluginData?: Record<string, any>;
55
- /**
56
- * 场景加载时的环境(加载后把 env 结果写入 scene)
57
- * @default '' - 编辑器中为 'editor'
58
- */
59
- env?: string;
60
- /**
61
- * 加载后是否自动播放
62
- * @default true
63
- */
64
- autoplay?: boolean;
65
- /**
66
- * 合成播放完成后是否需要再使用,是的话生命周期结束后不会 `dispose`
67
- * @default false
68
- */
69
- reusable?: boolean;
70
- /**
71
- * 播放速度,当速度为负数时,合成倒播
72
- */
73
- speed?: number;
74
- }
75
- /**
76
- * 接受用于加载的数据类型
77
- */
78
- export type SceneType = string | Scene | Record<string, unknown>;
79
- export type SceneWithOptionsType = {
80
- scene: SceneType;
81
- options: SceneLoadOptions;
82
- };
83
- export type SceneLoadType = SceneType | SceneWithOptionsType;
84
5
  /**
85
6
  * 资源管理器
86
7
  * 用于加载和动效中所有的资源文件,包括图片、插件、图层粒子数据等
@@ -0,0 +1,10 @@
1
+ declare class CanvasPool {
2
+ readonly elements: HTMLCanvasElement[];
3
+ constructor();
4
+ dispose(): void;
5
+ getCanvas(): HTMLCanvasElement;
6
+ saveCanvas(canvas: HTMLCanvasElement): void;
7
+ }
8
+ export declare const canvasPool: CanvasPool;
9
+ export declare function getDefaultTemplateCanvasPool(): CanvasPool;
10
+ export {};
@@ -7,13 +7,12 @@ import type { PluginSystem } from './plugin-system';
7
7
  import type { EventSystem, Region } from './plugins';
8
8
  import type { MeshRendererOptions, Renderer } from './render';
9
9
  import { RenderFrame } from './render';
10
- import type { Scene } from './scene';
10
+ import type { Scene, SceneType } from './scene';
11
11
  import type { Texture } from './texture';
12
12
  import { Transform } from './transform';
13
13
  import type { Disposable, LostHandler } from './utils';
14
14
  import type { VFXItemContent, VFXItemProps } from './vfx-item';
15
15
  import { VFXItem } from './vfx-item';
16
- import type { SceneType } from './asset-manager';
17
16
  export interface CompositionStatistic {
18
17
  loadTime: number;
19
18
  loadStart: number;
@@ -239,6 +238,12 @@ export declare class Composition implements Disposable, LostHandler {
239
238
  * @param speed - 速度
240
239
  */
241
240
  setSpeed(speed: number): void;
241
+ /**
242
+ * 设置合成的可见性
243
+ * @since 2.0.0
244
+ * @param visible - 是否可见
245
+ */
246
+ setVisible(visible: boolean): void;
242
247
  /**
243
248
  * 获取合成的动画速度
244
249
  * @returns
@@ -4,7 +4,6 @@ export declare const SEMANTIC_PRE_COLOR_ATTACHMENT_SIZE_0 = "PRE_COLOR_SIZE_0";
4
4
  export declare const SEMANTIC_MAIN_PRE_COLOR_ATTACHMENT_0 = "PRE_MAIN_COLOR_0";
5
5
  export declare const SEMANTIC_MAIN_PRE_COLOR_ATTACHMENT_SIZE_0 = "PRE_MAIN_COLOR_SIZE_0";
6
6
  export declare const PLAYER_OPTIONS_ENV_EDITOR = "editor";
7
- export declare const FILTER_NAME_NONE = "none";
8
7
  export declare const HELP_LINK: {
9
8
  'Filter not imported': string;
10
9
  'Item duration can\'t be less than 0': string;
@@ -1,5 +1,8 @@
1
1
  type SuccessHandler<T> = (data: T) => void;
2
2
  type ErrorHandler = (status: number, responseText: string) => void;
3
+ /**
4
+ *
5
+ */
3
6
  /**
4
7
  * JSON 值,它可以是字符串、数字、布尔值、对象或者 JSON 值的数组。
5
8
  *
@@ -70,4 +73,5 @@ export declare function loadBlob(url: string): Promise<Blob>;
70
73
  * @param url - 视频文件的 URL 或 MediaProvider 对象
71
74
  */
72
75
  export declare function loadVideo(url: string | MediaProvider): Promise<HTMLVideoElement>;
76
+ export declare function loadMedia(url: string | string[], loadFn: (url: string) => Promise<HTMLImageElement | HTMLVideoElement>): Promise<HTMLImageElement | HTMLVideoElement>;
73
77
  export {};
@@ -1,4 +1,4 @@
1
- import type { EffectsObjectData } from './asset-loader';
1
+ import type * as spec from '@galacean/effects-specification';
2
2
  import type { Engine } from './engine';
3
3
  /**
4
4
  * @since 2.0.0
@@ -20,6 +20,6 @@ export declare abstract class EffectsObject {
20
20
  *
21
21
  * @param data - 对象的序列化的数据
22
22
  */
23
- fromData(data: EffectsObjectData): void;
23
+ fromData(data: spec.EffectsObjectData): void;
24
24
  dispose(): void;
25
25
  }
package/dist/engine.d.ts CHANGED
@@ -1,4 +1,5 @@
1
- import type { Database, EffectsObjectData, SceneData } from './asset-loader';
1
+ import * as spec from '@galacean/effects-specification';
2
+ import type { Database, SceneData } from './asset-loader';
2
3
  import { AssetLoader } from './asset-loader';
3
4
  import type { EffectsObject } from './effects-object';
4
5
  import type { Material } from './material';
@@ -30,8 +31,8 @@ export declare class Engine implements Disposable {
30
31
  */
31
32
  static create: (gl: WebGLRenderingContext | WebGL2RenderingContext) => Engine;
32
33
  clearResources(): void;
33
- addEffectsObjectData(data: EffectsObjectData): void;
34
- findEffectsObjectData(uuid: string): EffectsObjectData;
34
+ addEffectsObjectData(data: spec.EffectsObjectData): void;
35
+ findEffectsObjectData(uuid: string): spec.EffectsObjectData;
35
36
  addInstance(effectsObject: EffectsObject): void;
36
37
  getInstance(id: string): EffectsObject;
37
38
  removeInstance(id: string): void;
package/dist/index.d.ts CHANGED
@@ -22,7 +22,6 @@ export * from './plugin-system';
22
22
  export * from './plugins';
23
23
  export * from './render';
24
24
  export * from './scene';
25
- export * from './semantic-map';
26
25
  export * from './shader';
27
26
  export * from './shape';
28
27
  export * from './template-image';
@@ -32,3 +31,4 @@ export * from './ticker';
32
31
  export * from './transform';
33
32
  export * from './utils';
34
33
  export * from './vfx-item';
34
+ export * from './canvas-pool';