@galacean/effects-core 2.9.0-alpha.0 → 2.9.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.
@@ -4,6 +4,7 @@ import type { ImageLike, SceneLoadOptions } from './scene';
4
4
  import { Scene } from './scene';
5
5
  import type { Disposable } from './utils';
6
6
  import type { Renderer } from './render';
7
+ import { Precomposition } from './precompositions/precomposition';
7
8
  /**
8
9
  * 资源管理器
9
10
  * 用于加载和动效中所有的资源文件,包括图片、插件、图层粒子数据等
@@ -44,6 +45,7 @@ export declare class AssetManager implements Disposable {
44
45
  * @returns
45
46
  */
46
47
  static loadFontFamily(fonts: spec.FontDefine[], baseUrl?: string): Promise<void[] | undefined>;
48
+ static loadPrecomposition(jsonScene: spec.JSONScene | string, options?: SceneLoadOptions): Promise<Precomposition>;
47
49
  /**
48
50
  * 构造函数
49
51
  * @param options - 场景加载参数
@@ -29,7 +29,6 @@ export declare class AssetService implements Disposable {
29
29
  * @param options
30
30
  */
31
31
  updateTextVariables(scene: Scene, variables?: spec.TemplateVariables): void;
32
- initializeTexture(scene: Scene): void;
33
32
  prepareAssets(scene: Scene, assets: Record<string, ImageLike>): void;
34
33
  createShaderVariant(): void;
35
34
  private destroyBuiltinObjects;
package/dist/camera.d.ts CHANGED
@@ -62,8 +62,8 @@ export interface CameraOptionsEx extends CameraOptionsBase {
62
62
  * 合成的相机对象,采用透视投影
63
63
  */
64
64
  export declare class Camera {
65
- engine: Engine;
66
65
  name: string;
66
+ engine: Engine;
67
67
  /**
68
68
  * 编辑器用于缩放画布
69
69
  */
@@ -81,7 +81,7 @@ export declare class Camera {
81
81
  * @param name - 相机名称
82
82
  * @param options
83
83
  */
84
- constructor(engine: Engine, name: string, options?: Partial<CameraOptions>);
84
+ constructor(name: string, options?: Partial<CameraOptions>);
85
85
  /**
86
86
  * 设置相机近平面
87
87
  * @param near
@@ -12,26 +12,45 @@ export interface SceneBindingData {
12
12
  key: spec.DataPath;
13
13
  value: spec.DataPath;
14
14
  }
15
+ export declare enum UpdateModes {
16
+ EveryUpdate = 0,
17
+ Manual = 1
18
+ }
15
19
  /**
16
20
  * @since 2.0.0
17
21
  */
18
22
  export declare class CompositionComponent extends Component {
19
- time: number;
20
23
  items: VFXItem[];
21
- private reusable;
24
+ /**
25
+ * 更新模式,决定了组件更新时间的方式
26
+ * - EveryUpdate:每帧自动更新,适用于大多数情况
27
+ * - Manual:需要手动调用 tick 接口更新,适用于需要精确控制更新时间的情况
28
+ */
29
+ updateMode: UpdateModes;
30
+ playOnStart: boolean;
31
+ endBehavior: spec.EndBehavior;
32
+ private time;
33
+ private lastTime;
22
34
  private sceneBindings;
23
35
  private timelineAsset;
24
36
  private _timelineInstance;
37
+ private nestedCompositions;
25
38
  private get timelineInstance();
26
39
  onStart(): void;
27
- getReusable(): boolean;
28
40
  pause(): void;
29
- resume(): void;
41
+ play(): void;
42
+ stop(): void;
43
+ getTime(): number;
44
+ setTime(time: number): void;
30
45
  onUpdate(dt: number): void;
46
+ tick(deltaTime: number): void;
31
47
  onEnable(): void;
32
48
  onDisable(): void;
33
49
  onDestroy(): void;
34
50
  hitTest(ray: Ray, x: number, y: number, regions: Region[], force?: boolean, options?: CompositionHitTestOptions): boolean;
35
- private hitTestRecursive;
51
+ /**
52
+ * 递归收集场景树中的直接子元素(DFS 前序)
53
+ */
54
+ private collectChildren;
36
55
  fromData(data: any): void;
37
56
  }
@@ -7,10 +7,13 @@ export declare class FrameComponent extends RendererComponent implements Maskabl
7
7
  private clipGeometry;
8
8
  private worldMatrix;
9
9
  onAwake(): void;
10
+ onStart(): void;
10
11
  onPreRender(): void;
11
12
  render(renderer: Renderer): void;
12
13
  onDestroy(): void;
13
14
  drawStencilMask(maskRef: number): void;
15
+ fromData(data: any): void;
16
+ private getHitTestParams;
14
17
  private setClipRectangle;
15
18
  private setClipRectangleRecursive;
16
19
  }
@@ -1,4 +1,5 @@
1
1
  import type { Material } from '../material';
2
+ import { MaskProcessor } from '../material';
2
3
  import { BoundingBoxInfo } from '../plugins/interact/mesh-collider';
3
4
  import { Component } from './component';
4
5
  import type { Renderer } from '../render/renderer';
@@ -8,6 +9,12 @@ import type { Renderer } from '../render/renderer';
8
9
  */
9
10
  export declare class RendererComponent extends Component {
10
11
  materials: Material[];
12
+ /**
13
+ * @hidden
14
+ * Internal utility.
15
+ * Not part of the public API — do not rely on this in your code.
16
+ */
17
+ maskManager: MaskProcessor;
11
18
  protected _priority: number;
12
19
  /**
13
20
  * 用于点击测试的碰撞器
@@ -143,6 +143,7 @@ export declare class Composition extends EventEmitter<CompositionEvent<Compositi
143
143
  renderOrder: number;
144
144
  /**
145
145
  * 播放完成后是否需要再使用,是的话生命周期结束后不会自动 dispose
146
+ * @deprecated
146
147
  */
147
148
  reusable: boolean;
148
149
  /**
@@ -190,10 +191,6 @@ export declare class Composition extends EventEmitter<CompositionEvent<Compositi
190
191
  * 合成根元素
191
192
  */
192
193
  readonly rootItem: VFXItem;
193
- /**
194
- * 预合成数组
195
- */
196
- readonly refContent: VFXItem[];
197
194
  /**
198
195
  * 合成的相机对象
199
196
  */
@@ -202,6 +199,10 @@ export declare class Composition extends EventEmitter<CompositionEvent<Compositi
202
199
  * 合成开始渲染的时间
203
200
  */
204
201
  readonly startTime: number;
202
+ /**
203
+ * 场景中视频列表
204
+ */
205
+ videos: HTMLVideoElement[];
205
206
  /**
206
207
  * 后处理渲染配置
207
208
  */
@@ -225,13 +226,13 @@ export declare class Composition extends EventEmitter<CompositionEvent<Compositi
225
226
  private paused;
226
227
  private isEndCalled;
227
228
  private _textures;
228
- private videos;
229
229
  /**
230
230
  * Composition 构造函数
231
231
  * @param props - composition 的创建参数
232
232
  * @param scene
233
233
  */
234
234
  constructor(props: CompositionProps, scene: Scene);
235
+ get engine(): import("@galacean/effects-core").Engine;
235
236
  /**
236
237
  * 所有合成 Item 的根变换
237
238
  */
package/dist/index.d.ts CHANGED
@@ -39,4 +39,5 @@ export * from './effects-object';
39
39
  export * from './effects-package';
40
40
  export * from './events';
41
41
  export * from './pass-render-level';
42
+ export * from './precompositions';
42
43
  export declare const version: string;