@galacean/effects-core 1.1.2 → 1.1.4

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 (125) hide show
  1. package/dist/asset-manager.d.ts +130 -0
  2. package/dist/camera.d.ts +183 -0
  3. package/dist/comp-vfx-item.d.ts +71 -0
  4. package/dist/composition-source-manager.d.ts +45 -0
  5. package/dist/composition.d.ts +406 -0
  6. package/dist/config.d.ts +7 -0
  7. package/dist/constants.d.ts +11 -0
  8. package/dist/downloader.d.ts +83 -0
  9. package/dist/engine.d.ts +38 -0
  10. package/dist/filter.d.ts +63 -0
  11. package/dist/filters/alpha-frame.d.ts +5 -0
  12. package/dist/filters/alpha-mask.d.ts +5 -0
  13. package/dist/filters/bloom.d.ts +8 -0
  14. package/dist/filters/camera-move.d.ts +5 -0
  15. package/dist/filters/delay.d.ts +14 -0
  16. package/dist/filters/distortion.d.ts +5 -0
  17. package/dist/filters/gaussian.d.ts +27 -0
  18. package/dist/filters/index.d.ts +2 -0
  19. package/dist/filters/lum.d.ts +5 -0
  20. package/dist/filters/utils.d.ts +7 -0
  21. package/dist/gl/create-gl-context.d.ts +9 -0
  22. package/dist/gl/gpu-time.d.ts +5 -0
  23. package/dist/gl/index.d.ts +6 -0
  24. package/dist/index.d.ts +31 -0
  25. package/dist/index.js +110 -81
  26. package/dist/index.js.map +1 -1
  27. package/dist/index.mjs +110 -81
  28. package/dist/index.mjs.map +1 -1
  29. package/dist/libs/earcut.d.ts +37 -0
  30. package/dist/material/index.d.ts +4 -0
  31. package/dist/material/material-data-block.d.ts +27 -0
  32. package/dist/material/material.d.ts +347 -0
  33. package/dist/material/types.d.ts +66 -0
  34. package/dist/material/utils.d.ts +17 -0
  35. package/dist/math/float16array-wrapper.d.ts +5 -0
  36. package/dist/math/index.d.ts +4 -0
  37. package/dist/math/translate.d.ts +10 -0
  38. package/dist/math/utils.d.ts +19 -0
  39. package/dist/math/value-getter.d.ts +127 -0
  40. package/dist/paas-texture-cache.d.ts +24 -0
  41. package/dist/pass-render-level.d.ts +1 -0
  42. package/dist/plugin-system.d.ts +34 -0
  43. package/dist/plugins/cal/calculate-item.d.ts +84 -0
  44. package/dist/plugins/cal/calculate-loader.d.ts +3 -0
  45. package/dist/plugins/cal/calculate-vfx-item.d.ts +26 -0
  46. package/dist/plugins/camera/camera-controller-node.d.ts +17 -0
  47. package/dist/plugins/camera/camera-vfx-item-loader.d.ts +3 -0
  48. package/dist/plugins/camera/camera-vfx-item.d.ts +13 -0
  49. package/dist/plugins/index.d.ts +26 -0
  50. package/dist/plugins/interact/click-handler.d.ts +66 -0
  51. package/dist/plugins/interact/event-system.d.ts +37 -0
  52. package/dist/plugins/interact/interact-item.d.ts +2 -0
  53. package/dist/plugins/interact/interact-loader.d.ts +13 -0
  54. package/dist/plugins/interact/interact-mesh.d.ts +16 -0
  55. package/dist/plugins/interact/interact-vfx-item.d.ts +28 -0
  56. package/dist/plugins/particle/burst.d.ts +21 -0
  57. package/dist/plugins/particle/link.d.ts +21 -0
  58. package/dist/plugins/particle/particle-loader.d.ts +18 -0
  59. package/dist/plugins/particle/particle-mesh.d.ts +164 -0
  60. package/dist/plugins/particle/particle-system.d.ts +197 -0
  61. package/dist/plugins/particle/particle-vfx-item.d.ts +27 -0
  62. package/dist/plugins/particle/trail-mesh.d.ts +61 -0
  63. package/dist/plugins/plugin.d.ts +125 -0
  64. package/dist/plugins/sprite/filter-sprite-vfx-item.d.ts +13 -0
  65. package/dist/plugins/sprite/sprite-group.d.ts +95 -0
  66. package/dist/plugins/sprite/sprite-item.d.ts +106 -0
  67. package/dist/plugins/sprite/sprite-loader.d.ts +20 -0
  68. package/dist/plugins/sprite/sprite-mesh.d.ts +67 -0
  69. package/dist/plugins/sprite/sprite-vfx-item.d.ts +33 -0
  70. package/dist/plugins/text/text-item.d.ts +117 -0
  71. package/dist/plugins/text/text-layout.d.ts +28 -0
  72. package/dist/plugins/text/text-loader.d.ts +18 -0
  73. package/dist/plugins/text/text-mesh.d.ts +15 -0
  74. package/dist/plugins/text/text-style.d.ts +67 -0
  75. package/dist/plugins/text/text-vfx-item.d.ts +28 -0
  76. package/dist/polyfill.d.ts +4 -0
  77. package/dist/render/create-copy-shader.d.ts +6 -0
  78. package/dist/render/frame-buffer.d.ts +48 -0
  79. package/dist/render/geometry.d.ts +118 -0
  80. package/dist/render/global-volume.d.ts +15 -0
  81. package/dist/render/gpu-capability.d.ts +49 -0
  82. package/dist/render/index.d.ts +12 -0
  83. package/dist/render/mesh.d.ts +82 -0
  84. package/dist/render/post-process-pass.d.ts +37 -0
  85. package/dist/render/render-buffer.d.ts +20 -0
  86. package/dist/render/render-frame.d.ts +269 -0
  87. package/dist/render/render-pass.d.ts +309 -0
  88. package/dist/render/renderer.d.ts +62 -0
  89. package/dist/render/shader.d.ts +97 -0
  90. package/dist/render/types.d.ts +5 -0
  91. package/dist/scene.d.ts +30 -0
  92. package/dist/semantic-map.d.ts +14 -0
  93. package/dist/shader/index.d.ts +30 -0
  94. package/dist/shape/2d-shape.d.ts +32 -0
  95. package/dist/shape/cone.d.ts +11 -0
  96. package/dist/shape/donut.d.ts +9 -0
  97. package/dist/shape/earcut.d.ts +1 -0
  98. package/dist/shape/geometry.d.ts +30 -0
  99. package/dist/shape/index.d.ts +3 -0
  100. package/dist/shape/shape.d.ts +21 -0
  101. package/dist/shape/sphere.d.ts +15 -0
  102. package/dist/shape/texture-shape.d.ts +11 -0
  103. package/dist/template-image/index.d.ts +67 -0
  104. package/dist/template-image/qcanvas-viewer.d.ts +21 -0
  105. package/dist/template-image/qtext.d.ts +96 -0
  106. package/dist/template-image/template-v1.d.ts +27 -0
  107. package/dist/template-image/text-metrics.d.ts +18 -0
  108. package/dist/texture/index.d.ts +5 -0
  109. package/dist/texture/ktx-texture.d.ts +21 -0
  110. package/dist/texture/texture-factory.d.ts +13 -0
  111. package/dist/texture/texture.d.ts +78 -0
  112. package/dist/texture/types.d.ts +165 -0
  113. package/dist/texture/utils.d.ts +5 -0
  114. package/dist/ticker.d.ts +48 -0
  115. package/dist/transform.d.ts +221 -0
  116. package/dist/utils/array.d.ts +19 -0
  117. package/dist/utils/asserts.d.ts +2 -0
  118. package/dist/utils/color.d.ts +10 -0
  119. package/dist/utils/device.d.ts +4 -0
  120. package/dist/utils/image-data.d.ts +10 -0
  121. package/dist/utils/index.d.ts +67 -0
  122. package/dist/utils/sortable.d.ts +23 -0
  123. package/dist/utils/timeline-component.d.ts +39 -0
  124. package/dist/vfx-item.d.ts +361 -0
  125. package/package.json +2 -2
@@ -0,0 +1,221 @@
1
+ import type * as spec from '@galacean/effects-specification';
2
+ import { Vector3, Matrix4, Quaternion, Euler } from '@galacean/effects-math/es/core/index';
3
+ import type { Disposable } from './utils';
4
+ export interface TransformProps {
5
+ position?: spec.vec3 | Vector3;
6
+ rotation?: spec.vec3 | Euler;
7
+ quat?: spec.vec4 | Quaternion;
8
+ scale?: spec.vec3 | Vector3;
9
+ name?: string;
10
+ anchor?: spec.vec2 | spec.vec3 | Vector3;
11
+ valid?: boolean;
12
+ }
13
+ export declare class Transform implements Disposable {
14
+ /**
15
+ * 转换右手坐标系左手螺旋对应的四元数到对应的旋转角
16
+ * @param quat - 四元数
17
+ * @param out - 欧拉角
18
+ * @returns
19
+ */
20
+ static getRotation(quat: Quaternion, out: Euler): Euler;
21
+ name: string;
22
+ /**
23
+ * 自身位移
24
+ */
25
+ readonly position: Vector3;
26
+ /**
27
+ * 自身旋转对应的四元数,右手坐标系,旋转正方向左手螺旋(轴向的顺时针),旋转欧拉角的顺序为 ZYX
28
+ */
29
+ readonly quat: Quaternion;
30
+ /**
31
+ * 自身旋转角度
32
+ */
33
+ readonly rotation: Euler;
34
+ /**
35
+ * 自身缩放
36
+ */
37
+ readonly scale: Vector3;
38
+ /**
39
+ * 自身锚点
40
+ */
41
+ readonly anchor: Vector3;
42
+ /**
43
+ * 子变换,可以有多个
44
+ */
45
+ private children;
46
+ /**
47
+ * 父变换,只能有一个
48
+ */
49
+ private parent;
50
+ /**
51
+ * 所有父变换对应的联合矩阵
52
+ */
53
+ private parentMatrix;
54
+ /**
55
+ * 包含父变换的最终模型矩阵
56
+ */
57
+ private worldMatrix;
58
+ /**
59
+ * 仅包含自身变换的模型矩阵
60
+ */
61
+ private localMatrix;
62
+ /**
63
+ * 变换是否需要生效,不生效返回的模型矩阵为单位矩阵,需要随元素生命周期改变
64
+ */
65
+ private valid;
66
+ /**
67
+ * 数据变化标志位
68
+ */
69
+ private dirtyFlags;
70
+ /**
71
+ * 最终模型矩阵对应变换的缓存,当自身矩阵或父矩阵有修改时需要更新
72
+ */
73
+ private readonly worldTRSCache;
74
+ constructor(props?: TransformProps, parent?: Transform);
75
+ set parentTransform(transform: Transform | null);
76
+ get parentTransform(): Transform | null;
77
+ set parentMatrixDirty(val: boolean);
78
+ get parentMatrixDirty(): boolean;
79
+ /**
80
+ * 设置位置
81
+ * @param x
82
+ * @param y
83
+ * @param z
84
+ */
85
+ setPosition(x: number, y: number, z: number): void;
86
+ /**
87
+ * 在当前位置的基础上添加位置偏移
88
+ * @param x
89
+ * @param y
90
+ * @param z
91
+ */
92
+ translate(x: number, y: number, z: number): void;
93
+ /**
94
+ * 设置旋转
95
+ * @param x
96
+ * @param y
97
+ * @param z
98
+ */
99
+ setRotation(x: number, y: number, z: number): void;
100
+ /**
101
+ * 设置四元数
102
+ * @param x
103
+ * @param y
104
+ * @param z
105
+ * @param w
106
+ * @private
107
+ */
108
+ setQuaternion(x: number, y: number, z: number, w: number): void;
109
+ /**
110
+ * 设置缩放
111
+ * @param x
112
+ * @param y
113
+ * @param z
114
+ */
115
+ setScale(x: number, y: number, z: number): void;
116
+ /**
117
+ * 在当前旋转的基础上使用四元素添加旋转
118
+ * @param quat
119
+ */
120
+ rotateByQuat(quat: Quaternion): void;
121
+ /**
122
+ * 在当前缩放基础上设置缩放系数
123
+ * @param x
124
+ * @param y
125
+ * @param z
126
+ */
127
+ scaleBy(x: number, y: number, z: number): void;
128
+ /**
129
+ * 设置锚点
130
+ * @param x
131
+ * @param y
132
+ * @param z
133
+ */
134
+ setAnchor(x: number, y: number, z: number): void;
135
+ /**
136
+ * 批量设置 transform 属性
137
+ * @param props - 要设置的属性
138
+ * @param reverseEuler - 设置 rotation时,欧拉角是否需要取负值
139
+ */
140
+ setTransform(props: TransformProps, reverseEuler?: boolean): void;
141
+ /**
142
+ * 添加子变换
143
+ * @param child - 要添加的子变换
144
+ */
145
+ addChild(child: Transform): void;
146
+ /**
147
+ * 移除子变换
148
+ */
149
+ removeChild(child: Transform): void;
150
+ /**
151
+ * 获取当前的旋转量
152
+ * @returns
153
+ */
154
+ getRotation(): Euler;
155
+ /**
156
+ * 获取当前的四元数
157
+ * @returns
158
+ */
159
+ getQuaternion(): Quaternion;
160
+ /**
161
+ * 更新元素自身变换矩阵
162
+ */
163
+ updateLocalMatrix(): void;
164
+ /**
165
+ * 获取自身变换对应的模型矩阵
166
+ * 数据修改且需要生效时更新自身矩阵
167
+ * 当变换不需要生效时返回单位矩阵
168
+ * @returns
169
+ */
170
+ getMatrix(): Matrix4;
171
+ /**
172
+ * 获取父矩阵,如果有多级父节点,返回整体变换
173
+ * @returns
174
+ */
175
+ getParentMatrix(): Matrix4 | undefined;
176
+ /**
177
+ * 获取包含自身变换和父变换的模型变换矩阵
178
+ * @returns
179
+ */
180
+ getWorldMatrix(): Matrix4;
181
+ /**
182
+ * 获取联合变换后的最终缩放因子
183
+ * @returns
184
+ */
185
+ getWorldScale(): Vector3;
186
+ /**
187
+ * 获取联合变换后的最终位置
188
+ * @returns
189
+ */
190
+ getWorldPosition(): Vector3;
191
+ /**
192
+ * 获取联合变换后的最终旋转量
193
+ * @returns
194
+ */
195
+ getWorldRotation(): Euler;
196
+ /**
197
+ * 根据世界变换矩阵计算位移、旋转、缩放向量
198
+ * @param position
199
+ * @param quat
200
+ * @param scale
201
+ */
202
+ assignWorldTRS(position?: Vector3, quat?: Quaternion, scale?: Vector3): void;
203
+ /**
204
+ * 拆解并复制指定矩阵到自身变换
205
+ * @param m4
206
+ * @param scale
207
+ * @returns
208
+ */
209
+ cloneFromMatrix(m4: Matrix4, scale?: Vector3): void;
210
+ /**
211
+ * 设置 Transform 生效 / 失效, 默认元素生命周期开始后生效,结束后失效
212
+ */
213
+ setValid(val: boolean): void;
214
+ /**
215
+ * 获取 Transform 是否生效
216
+ */
217
+ getValid(): boolean;
218
+ dispose(): void;
219
+ private updateTRSCache;
220
+ private dispatchValueChange;
221
+ }
@@ -0,0 +1,19 @@
1
+ import type { TypedArray } from '@galacean/effects-specification';
2
+ export declare function addItem<T>(arr: T[], value: T): T[];
3
+ /**
4
+ * 性能测试:https://blog.mutoe.com/2019/compare-filter-vs-splice-in-javascript/
5
+ * @param arr
6
+ * @param value
7
+ * @returns
8
+ */
9
+ export declare function removeItem<T>(arr: T[], value: T): T[];
10
+ /**
11
+ * 原 arrAddWithOrder 根据property的大小在arr中插入item
12
+ * @param arr
13
+ * @param item
14
+ * @param property
15
+ * @param descending
16
+ * @returns
17
+ */
18
+ export declare function addItemWithOrder<T extends Record<string, any>>(arr: T[], item: T, property: string, descending?: boolean): void;
19
+ export declare function enlargeBuffer<T extends TypedArray>(typeArray: T, length: number, increase: number | undefined, maxSize: number): T;
@@ -0,0 +1,2 @@
1
+ export declare function assertExist<T>(item: T | void | undefined | null, msg?: string): asserts item is T;
2
+ export declare function asserts(condition: any, msg?: string): asserts condition;
@@ -0,0 +1,10 @@
1
+ export type color = [r: number, g: number, b: number, a: number];
2
+ export interface ColorStop {
3
+ stop: number;
4
+ color: color | number[];
5
+ }
6
+ export declare function colorToArr(hex: string | number[], normalized?: boolean): color;
7
+ export declare function getColorFromGradientStops(stops: ColorStop[], key: number, normalize?: boolean): color | number[];
8
+ export declare function colorStopsFromGradient(gradient: number[][] | Record<string, string | number[]>): ColorStop[];
9
+ export declare function interpolateColor(a: color | number[], b: color | number[], s: number, origin?: boolean): color;
10
+ export declare function parsePercent(c: string): number;
@@ -0,0 +1,4 @@
1
+ export declare function getPixelRatio(): number;
2
+ export declare function isIOS(): boolean;
3
+ export declare function isAndroid(): boolean;
4
+ export declare function isSimulatorCellPhone(): boolean;
@@ -0,0 +1,10 @@
1
+ export declare function imageDataFromColor(value: string | number[]): {
2
+ width: number;
3
+ height: number;
4
+ data: Uint8Array;
5
+ };
6
+ export declare function imageDataFromGradient(gradient: number[][] | Record<string, string | number[]>): {
7
+ width: number;
8
+ height: number;
9
+ data: Uint8Array;
10
+ };
@@ -0,0 +1,67 @@
1
+ export * from './array';
2
+ export * from './color';
3
+ export * from './device';
4
+ export * from './image-data';
5
+ export * from './sortable';
6
+ export * from './asserts';
7
+ export * from './timeline-component';
8
+ export type Immutable<O> = O extends Record<any, any> ? {
9
+ readonly [key in keyof O]: Immutable<O[key]>;
10
+ } : O extends Array<infer X> ? ReadonlyArray<X> : O;
11
+ export declare enum DestroyOptions {
12
+ destroy = 0,
13
+ keep = 1,
14
+ force = 0
15
+ }
16
+ /**
17
+ *
18
+ */
19
+ export interface Disposable {
20
+ dispose(): void;
21
+ }
22
+ export interface RestoreHandler {
23
+ restore(): void;
24
+ }
25
+ export interface LostHandler {
26
+ lost(e: Event): void;
27
+ }
28
+ export declare function noop(): void;
29
+ /**
30
+ * 判断对象是否是`String`类型
31
+ *
32
+ * @static
33
+ * @function isString
34
+ * @param {object} obj - 要判断的对象
35
+ * @return {boolean}
36
+ */
37
+ export declare function isString(obj: any): boolean;
38
+ /**
39
+ * 判断对象是否是`Array`类型
40
+ *
41
+ * @static
42
+ * @function isArray
43
+ * @param {object} obj - 要判断的对象
44
+ * @return {boolean}
45
+ */
46
+ export declare const isArray: (arg: any) => arg is any[];
47
+ /**
48
+ * 判断对象是否是函数类型
49
+ *
50
+ * @static
51
+ * @function isFunction
52
+ * @param {object} obj - 要判断的对象
53
+ * @return {boolean}
54
+ */
55
+ export declare function isFunction(obj: any): boolean;
56
+ /**
57
+ * 判断对象是否是`Object`类型
58
+ *
59
+ * @static
60
+ * @function isObject
61
+ * @param {object} obj - 要判断的对象
62
+ * @return {boolean}
63
+ */
64
+ export declare function isObject(obj: any): boolean;
65
+ export declare function deepClone(obj: any): any;
66
+ export declare function random(min: number, max: number): number;
67
+ export declare function throwDestroyedError(): void;
@@ -0,0 +1,23 @@
1
+ export interface Sortable {
2
+ readonly priority: number;
3
+ }
4
+ export declare enum OrderType {
5
+ none = 1,
6
+ ascending = 2,
7
+ descending = 3
8
+ }
9
+ /**
10
+ * 按照指定排序方式对数组排序
11
+ * @param arr - 要排序的数组
12
+ * @param order - 排序方式
13
+ * @returns
14
+ */
15
+ export declare function sortByOrder<T extends Sortable>(arr: T[], order?: OrderType): T[];
16
+ /**
17
+ * 按照指定排序方式往Sortable数组中添加成员
18
+ * @param arr - 被添加的数组
19
+ * @param item - 要添加的成员
20
+ * @param order - 排序方式
21
+ * @returns
22
+ */
23
+ export declare function addByOrder<T extends Sortable>(arr: T[], item: T, order?: OrderType): T[];
@@ -0,0 +1,39 @@
1
+ import * as spec from '@galacean/effects-specification';
2
+ import type { ValueGetter } from '../math';
3
+ import type { Transform } from '../transform';
4
+ import type { VFXItem } from '../vfx-item';
5
+ import type { SpriteItemOptions, ItemBasicTransform, ItemLinearVelOverLifetime, SpriteRenderData } from '../plugins';
6
+ export interface TimelineComponentOptions {
7
+ sizeOverLifetime?: spec.SizeOverLifetime;
8
+ rotationOverLifetime?: spec.RotationOverLifetime;
9
+ positionOverLifetime?: spec.PositionOverLifetime;
10
+ }
11
+ export declare class TimelineComponent {
12
+ options: Omit<SpriteItemOptions, 'delay'>;
13
+ sizeSeparateAxes: boolean;
14
+ speedOverLifetime?: ValueGetter<number>;
15
+ basicTransform: ItemBasicTransform;
16
+ gravityModifier: ValueGetter<number>;
17
+ readonly transform: Transform;
18
+ readonly linearVelOverLifetime: ItemLinearVelOverLifetime;
19
+ readonly orbitalVelOverLifetime: {
20
+ x?: ValueGetter<number>;
21
+ y?: ValueGetter<number>;
22
+ z?: ValueGetter<number>;
23
+ center: [x: number, y: number, z: number];
24
+ asRotation?: boolean;
25
+ enabled?: boolean;
26
+ };
27
+ private velocity;
28
+ private readonly rotationOverLifetime;
29
+ private readonly sizeXOverLifetime;
30
+ private readonly sizeYOverLifetime;
31
+ private readonly sizeZOverLifetime;
32
+ private readonly positionOverLifetime;
33
+ constructor(options: TimelineComponentOptions, ownerItem: VFXItem<any>);
34
+ private getVelocity;
35
+ private willTranslate;
36
+ updatePosition(x: number, y: number, z: number): void;
37
+ updateRotation(x: number, y: number, z: number): void;
38
+ getRenderData(_time: number, init?: boolean): SpriteRenderData;
39
+ }