@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,361 @@
1
+ import * as spec from '@galacean/effects-specification';
2
+ import { Vector3 } from '@galacean/effects-math/es/core/index';
3
+ import type { Disposable } from './utils';
4
+ import { Transform } from './transform';
5
+ import type { HitTestBoxParams, HitTestCustomParams, HitTestSphereParams, HitTestTriangleParams, ParticleSystem, SpriteItem, CalculateItem, CameraController, InteractItem, BoundingBoxData, SpriteRenderData, ParticleVFXItem, FilterSpriteVFXItem, SpriteVFXItem, CameraVFXItem } from './plugins';
6
+ import type { Composition } from './composition';
7
+ import type { CompVFXItem } from './comp-vfx-item';
8
+ export type VFXItemContent = ParticleSystem | SpriteItem | CalculateItem | CameraController | InteractItem | void;
9
+ export type VFXItemConstructor = new (props: VFXItemProps, composition: Composition) => VFXItem<VFXItemContent>;
10
+ export type VFXItemProps = spec.Item & {
11
+ items: any;
12
+ startTime: number;
13
+ relative?: boolean;
14
+ listIndex?: number;
15
+ refId?: string;
16
+ };
17
+ /**
18
+ * 所有元素的继承的抽象类
19
+ */
20
+ export declare abstract class VFXItem<T extends VFXItemContent> implements Disposable {
21
+ /**
22
+ * 元素绑定的父元素,
23
+ * 1. 当元素没有绑定任何父元素时,parent为空,transform.parentTransform 为 composition.transform
24
+ * 2. 当元素绑定 nullItem 时,parent 为 nullItem, transform.parentTransform 为 nullItem.transform
25
+ * 3. 当元素绑定 TreeItem 的node时,parent为treeItem, transform.parentTransform 为 tree.nodes[i].transform(绑定的node节点上的transform)
26
+ * 4. 当元素绑定 TreeItem 本身时,行为表现和绑定 nullItem 相同
27
+ */
28
+ parent?: VFXItem<VFXItemContent>;
29
+ /**
30
+ * 元素的变换包含位置、旋转、缩放。
31
+ */
32
+ transform: Transform;
33
+ /**
34
+ * 合成属性
35
+ */
36
+ composition: Composition | null;
37
+ /**
38
+ * 元素动画的持续时间
39
+ */
40
+ duration: number;
41
+ /**
42
+ * 元素当前更新归一化时间,开始时为 0,结束时为 1
43
+ */
44
+ lifetime: number;
45
+ /**
46
+ * 父元素的 id
47
+ */
48
+ parentId?: string;
49
+ /**
50
+ * 元素动画的开始时间
51
+ */
52
+ delay?: number;
53
+ /**
54
+ * 元素动画结束时行为(如何处理元素)
55
+ */
56
+ endBehavior: spec.ItemEndBehavior | spec.ParentItemEndBehavior;
57
+ /**
58
+ * 元素是否可用
59
+ */
60
+ ended: boolean;
61
+ /**
62
+ * 元素在合成中的索引
63
+ */
64
+ readonly listIndex: number;
65
+ /**
66
+ * 元素名称
67
+ */
68
+ readonly name: string;
69
+ /**
70
+ * 元素 id 唯一
71
+ */
72
+ readonly id: string;
73
+ /**
74
+ * 元素动画是否开始
75
+ */
76
+ started: boolean;
77
+ /**
78
+ * 元素优先级
79
+ */
80
+ _v_priority: number;
81
+ /**
82
+ * 元素创建的数据图层/粒子/模型等
83
+ */
84
+ protected _content?: T;
85
+ /**
86
+ * 元素可见性,该值的改变会触发 `handleVisibleChanged` 回调
87
+ * @protected
88
+ */
89
+ protected visible: boolean;
90
+ /**
91
+ * 是否允许渲染,元素生命周期开始后为 true,结束时为 false
92
+ * @protected
93
+ */
94
+ protected _contentVisible: boolean;
95
+ /**
96
+ * 合成元素当前的时间,单位毫秒
97
+ * @protected
98
+ */
99
+ protected timeInms: number;
100
+ /**
101
+ * 合成元素当前的时间,单位秒,兼容旧 player 使用秒的时间更新数据
102
+ * @protected
103
+ */
104
+ protected time: number;
105
+ /**
106
+ * 元素动画持续时间,单位毫秒
107
+ */
108
+ protected readonly durInms: number;
109
+ /**
110
+ * 元素动画延迟/开始播放时间,单位毫秒
111
+ */
112
+ protected readonly delayInms: number;
113
+ /**
114
+ * 元素动画是否延迟播放
115
+ */
116
+ protected delaying: boolean;
117
+ /**
118
+ * 元素冻结属性,冻结后停止计算/更新数据
119
+ */
120
+ private _frozen;
121
+ /**
122
+ * 元素动画结束回调是否被调用
123
+ */
124
+ private callEnd;
125
+ /**
126
+ * 元素动画的速度
127
+ */
128
+ private speed;
129
+ static isComposition(item: VFXItem<VFXItemContent>): item is CompVFXItem;
130
+ static isSprite(item: VFXItem<VFXItemContent>): item is SpriteVFXItem;
131
+ static isParticle(item: VFXItem<VFXItemContent>): item is ParticleVFXItem;
132
+ static isFilterSprite(item: VFXItem<VFXItemContent>): item is FilterSpriteVFXItem;
133
+ static isNull(item: VFXItem<VFXItemContent>): item is VFXItem<void>;
134
+ static isTree(item: VFXItem<VFXItemContent>): item is VFXItem<void>;
135
+ static isCamera(item: VFXItem<VFXItemContent>): item is VFXItem<void>;
136
+ static isExtraCamera(item: VFXItem<VFXItemContent>): item is CameraVFXItem;
137
+ constructor(props: VFXItemProps, composition: Composition);
138
+ /**
139
+ * 元素内容可见性
140
+ */
141
+ get contentVisible(): boolean;
142
+ /**
143
+ * 返回元素创建的数据
144
+ */
145
+ get content(): T;
146
+ /**
147
+ * 设置元素数据
148
+ */
149
+ set content(t: T);
150
+ /**
151
+ * 播放完成后是否需要再使用,是的话生命周期结束后不会 dispose
152
+ */
153
+ get reusable(): boolean;
154
+ /**
155
+ * 获取元素类型
156
+ */
157
+ get type(): spec.ItemType | string;
158
+ /**
159
+ * 获取元素冻结属性
160
+ */
161
+ get frozen(): boolean;
162
+ /**
163
+ * 设置元素冻结属性
164
+ */
165
+ set frozen(v: boolean);
166
+ /**
167
+ * 获取元素生命周期是否开始
168
+ */
169
+ get lifetimeStarted(): boolean;
170
+ /**
171
+ * 设置元素的动画速度
172
+ * @param speed - 速度
173
+ */
174
+ setSpeed(speed: number): void;
175
+ /**
176
+ * 获取元素的动画速度
177
+ * @returns
178
+ */
179
+ getSpeed(): number;
180
+ /**
181
+ * 重置元素状态属性
182
+ */
183
+ start(): void;
184
+ /**
185
+ * 停止播放元素动画
186
+ */
187
+ stop(): void;
188
+ doStop(): void;
189
+ /**
190
+ * 创建元素内容,此函数可以在任何时间被调用
191
+ * 第一帧渲染前会被调用
192
+ * @returns
193
+ */
194
+ createContent(): T;
195
+ /**
196
+ * 创建元素的内容
197
+ * @override
198
+ * @param composition
199
+ * @returns
200
+ */
201
+ protected doCreateContent(composition: Composition | null): T;
202
+ /**
203
+ * 元素构造函数调用时将调用该函数
204
+ * @param options
205
+ * @override
206
+ */
207
+ onConstructed(options: spec.Item): void;
208
+ /**
209
+ * 内部使用的更新回调,请不要重写此方法,重写 `onItemUpdate` 方法
210
+ * @param deltaTime
211
+ */
212
+ onUpdate(deltaTime: number): void;
213
+ /**
214
+ * 元素结束时的回调
215
+ * @override
216
+ * @param composition
217
+ * @param content
218
+ */
219
+ protected onItemRemoved(composition: Composition, content?: T): void;
220
+ /**
221
+ * 元素更新函数,在 Composition 对象的 tick 函数中被调用
222
+ * @override
223
+ * @param dt
224
+ * @param lifetime
225
+ */
226
+ onItemUpdate(dt: number, lifetime: number): void;
227
+ /**
228
+ * 元素 doCreateContent 函数调用后会立即调用该函数用于初始化数据
229
+ * @override
230
+ * @param composition
231
+ * @param content
232
+ */
233
+ onLifetimeBegin(composition: Composition, content: T): void;
234
+ /**
235
+ * 元素动画结束播放时回调函数
236
+ * @override
237
+ */
238
+ onEnd(): void;
239
+ /**
240
+ * 通过指定 r、g、b、a 值设置元素的颜色
241
+ * @param {number} r
242
+ * @param {number} g
243
+ * @param {number} b
244
+ * @param {number} a
245
+ * @internal
246
+ */
247
+ setColor(r: number, g: number, b: number, a: number): void;
248
+ /**
249
+ * 设置元素的透明度
250
+ * @param opacity - 透明度值,范围 [0,1]
251
+ */
252
+ setOpacity(opacity: number): void;
253
+ /**
254
+ * 获取元素显隐属性
255
+ */
256
+ getVisible(): boolean;
257
+ /**
258
+ * 设置元素显隐属性 会触发 `handleVisibleChanged` 回调
259
+ */
260
+ setVisible(visible: boolean): void;
261
+ /**
262
+ * 元素显隐属性改变时调用的函数,当 visible 为 true 时,务必显示元素
263
+ * @param visible
264
+ * @override
265
+ */
266
+ protected handleVisibleChanged(visible: boolean): void;
267
+ /**
268
+ * 元素冻结属性改变时调用的函数
269
+ * @param frozen
270
+ * @override
271
+ */
272
+ protected handleFrozenChanged(frozen: boolean): void;
273
+ /**
274
+ * 获取元素变换包括位置、旋转、缩放
275
+ * @param transform 将元素变换拷贝到该对象,并将其作为返回值
276
+ * @returns 元素变换的拷贝
277
+ */
278
+ getWorldTransform(transform?: Transform): Transform;
279
+ /**
280
+ * 获取元素内部节点的变换,目前只有场景树元素在使用
281
+ * @param itemId 元素id信息,如果带^就返回内部节点变换,否则返回自己的变换
282
+ * @returns 元素变换或内部节点变换
283
+ */
284
+ getNodeTransform(itemId: string): Transform;
285
+ /**
286
+ * 设置元素在 3D 坐标轴上相对移动
287
+ */
288
+ translate(x: number, y: number, z: number): void;
289
+ /**
290
+ * 设置元素在 3D 坐标轴上相对旋转(角度)
291
+ */
292
+ rotate(x: number, y: number, z: number): void;
293
+ /**
294
+ * 设置元素在 3D 坐标轴上相对缩放
295
+ */
296
+ scale(x: number, y: number, z: number): void;
297
+ /**
298
+ * 设置元素的在画布上的像素位置
299
+ */
300
+ setPositionByPixel(x: number, y: number): void;
301
+ /**
302
+ * 设置元素在 3D 坐标轴的位置
303
+ */
304
+ setPosition(x: number, y: number, z: number): void;
305
+ /**
306
+ * 设置元素在 3D 坐标轴的角度
307
+ */
308
+ setRotation(x: number, y: number, z: number): void;
309
+ /**
310
+ * 设置元素在 3D 坐标轴的缩放
311
+ */
312
+ setScale(x: number, y: number, z: number): void;
313
+ /**
314
+ * 获取元素包围盒
315
+ * @override
316
+ */
317
+ getBoundingBox(): void | BoundingBoxData;
318
+ /**
319
+ * 获取元素用于计算光线投射的面片类型和参数
320
+ * @override
321
+ * @param force 元素没有开启交互也返回参数
322
+ */
323
+ getHitTestParams(force?: boolean): void | HitTestBoxParams | HitTestTriangleParams | HitTestSphereParams | HitTestCustomParams;
324
+ /**
325
+ * 获取元素的 transform、当前生命周期、可见性,当子元素需要时可继承
326
+ * @override
327
+ */
328
+ getRenderData(): SpriteRenderData;
329
+ /**
330
+ * 获取元素当前世界坐标
331
+ */
332
+ getCurrentPosition(): Vector3;
333
+ /**
334
+ * 是否到达元素的结束时间
335
+ * @param now
336
+ * @returns
337
+ */
338
+ protected isEnded(now: number): boolean;
339
+ /**
340
+ * 重置元素,元素创建的内容将会被销毁
341
+ */
342
+ reset(): void;
343
+ translateByPixel(x: number, y: number): void;
344
+ /**
345
+ * 销毁元素
346
+ */
347
+ dispose(): void;
348
+ }
349
+ export declare namespace Item {
350
+ function is<T extends spec.Item>(item: spec.Item, type: spec.ItemType): item is T;
351
+ function isFilter(item: spec.Item): item is spec.FilterItem;
352
+ function isComposition(item: spec.Item): item is spec.CompositionItem;
353
+ function isParticle(item: spec.Item): item is spec.ParticleItem;
354
+ function isNull(item: spec.Item): item is spec.NullItem;
355
+ }
356
+ /**
357
+ * 根据元素的类型创建对应的 `VFXItem` 实例
358
+ * @param props
359
+ * @param composition
360
+ */
361
+ export declare function createVFXItem(props: VFXItemProps, composition: Composition): VFXItem<any>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@galacean/effects-core",
3
- "version": "1.1.2",
3
+ "version": "1.1.4",
4
4
  "description": "Galacean Effects runtime core for the web",
5
5
  "module": "./dist/index.mjs",
6
6
  "main": "./dist/index.js",
@@ -43,7 +43,7 @@
43
43
  },
44
44
  "dependencies": {
45
45
  "@galacean/effects-specification": "1.0.0",
46
- "@galacean/effects-math": "1.0.0"
46
+ "@galacean/effects-math": "1.0.1"
47
47
  },
48
48
  "scripts": {
49
49
  "prebuild": "pnpm clean",