@galacean/effects-core 2.10.0-alpha.0 → 2.10.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.
Files changed (36) hide show
  1. package/dist/components/base-render-component.d.ts +4 -0
  2. package/dist/composition.d.ts +5 -0
  3. package/dist/engine.d.ts +23 -0
  4. package/dist/fallback/migration.d.ts +13 -0
  5. package/dist/index.js +1112 -360
  6. package/dist/index.js.map +1 -1
  7. package/dist/index.mjs +1107 -361
  8. package/dist/index.mjs.map +1 -1
  9. package/dist/material/types.d.ts +4 -0
  10. package/dist/material/utils.d.ts +4 -0
  11. package/dist/math/value-getters/index.d.ts +1 -0
  12. package/dist/math/value-getters/reference-curve.d.ts +19 -0
  13. package/dist/math/value-getters/value-getter-map.d.ts +5 -0
  14. package/dist/plugin-system.d.ts +6 -4
  15. package/dist/plugins/index.d.ts +1 -0
  16. package/dist/plugins/particle/particle-mesh.d.ts +0 -2
  17. package/dist/plugins/particle/trail-mesh.d.ts +0 -2
  18. package/dist/plugins/plugin.d.ts +14 -0
  19. package/dist/plugins/sprite/sprite-item.d.ts +31 -5
  20. package/dist/plugins/sprite/sprite.d.ts +42 -0
  21. package/dist/plugins/text/index.d.ts +1 -0
  22. package/dist/plugins/text/line-break.d.ts +29 -0
  23. package/dist/plugins/timeline/playable-assets/index.d.ts +1 -0
  24. package/dist/plugins/timeline/playable-assets/sprite-property-playable-asset.d.ts +23 -0
  25. package/dist/plugins/timeline/playables/index.d.ts +1 -0
  26. package/dist/plugins/timeline/playables/sprite-property-mixer-playable.d.ts +11 -0
  27. package/dist/plugins/timeline/playables/transform-mixer-playable.d.ts +6 -0
  28. package/dist/plugins/timeline/playables/transform-playable.d.ts +17 -2
  29. package/dist/plugins/timeline/tracks/index.d.ts +1 -0
  30. package/dist/plugins/timeline/tracks/sprite-property-track.d.ts +11 -0
  31. package/dist/plugins/timeline/transform-clip-mixer.d.ts +33 -0
  32. package/dist/render/graphics.d.ts +2 -2
  33. package/dist/render/text-cache.d.ts +22 -14
  34. package/dist/scene.d.ts +7 -4
  35. package/dist/utils/index.d.ts +1 -1
  36. package/package.json +2 -2
@@ -12,6 +12,10 @@ import { RendererComponent } from './renderer-component';
12
12
  */
13
13
  export interface ItemRenderer extends Required<Omit<spec.RendererOptions, 'texture' | 'shape' | 'anchor' | 'particleOrigin' | 'mask'>> {
14
14
  texture: Texture;
15
+ /**
16
+ * @deprecated 2.10 起此字段无实际意义,仅为兼容老版本读取保留;
17
+ * 请使用 `MaskProcessor.getMaskReferences()` 获取当前蒙版引用列表
18
+ */
15
19
  mask: number;
16
20
  }
17
21
  interface MaskableGraphicData extends spec.ComponentData {
@@ -396,6 +396,11 @@ export declare class Composition extends EventEmitter<CompositionEvent<Compositi
396
396
  */
397
397
  removeInteractiveItem(item: VFXItem, type: spec.InteractType): void;
398
398
  lost(e: Event): void;
399
+ /**
400
+ * 上下文恢复后的空操作。
401
+ * GPU 资源已由引擎统一重建,视频纹理会在下次渲染时自然更新,不自动重新播放。
402
+ */
403
+ restore(): void;
399
404
  /**
400
405
  * 合成对象销毁
401
406
  */
package/dist/engine.d.ts CHANGED
@@ -4,6 +4,7 @@ import type { Database, SceneData } from './asset-loader';
4
4
  import type { EffectsObject } from './effects-object';
5
5
  import type { Material } from './material';
6
6
  import type { GPUCapability, Geometry, Mesh, RenderPass, RenderPassClearAction, Renderer, RenderingData, ShaderLibrary } from './render';
7
+ import type { Framebuffer, Renderbuffer } from './render';
7
8
  import { Graphics, RenderTargetPool } from './render';
8
9
  import type { Scene, SceneRenderLevel } from './scene';
9
10
  import type { Texture } from './texture';
@@ -25,6 +26,14 @@ export interface EngineOptions extends WebGLContextAttributes {
25
26
  pixelRatio?: number;
26
27
  notifyTouch?: boolean;
27
28
  interactive?: boolean;
29
+ /**
30
+ * 是否不处理 WebGL 上下文丢失恢复。
31
+ * - `true`(默认):上传 GPU 后释放 CPU 端源数据以节省内存;上下文丢失后不自动恢复,
32
+ * 渲染暂停,等待宿主重建资源后手动恢复播放。
33
+ * - `false`:保留 CPU 端源数据,上下文丢失后引擎自动按资源类型就地重建 GPU 资源并恢复渲染。
34
+ * 该配置为构造期选项,运行时从 `true` 改为 `false` 无法找回已经丢弃的源数据。
35
+ */
36
+ doNotHandleContextLost?: boolean;
28
37
  }
29
38
  type EngineEvent = {
30
39
  contextlost: [eventData: {
@@ -95,12 +104,22 @@ export declare class Engine extends EventEmitter<EngineEvent> implements Disposa
95
104
  */
96
105
  renderingData: RenderingData;
97
106
  graphics: Graphics;
107
+ /**
108
+ * 是否不处理上下文丢失恢复(构造期配置,默认 true)
109
+ */
110
+ doNotHandleContextLost: boolean;
111
+ /**
112
+ * WebGL 上下文是否处于丢失状态
113
+ */
114
+ protected contextWasLost: boolean;
98
115
  protected _disposed: boolean;
99
116
  protected textures: Texture[];
100
117
  protected materials: Material[];
101
118
  protected geometries: Geometry[];
102
119
  protected meshes: Mesh[];
103
120
  protected renderPasses: RenderPass[];
121
+ protected framebuffers: Framebuffer[];
122
+ protected renderbuffers: Renderbuffer[];
104
123
  private assetLoader;
105
124
  private clearAction;
106
125
  get disposed(): boolean;
@@ -140,6 +159,10 @@ export declare class Engine extends EventEmitter<EngineEvent> implements Disposa
140
159
  removeMesh(mesh: Mesh): void;
141
160
  addRenderPass(pass: RenderPass): void;
142
161
  removeRenderPass(pass: RenderPass): void;
162
+ addFramebuffer(framebuffer: Framebuffer): void;
163
+ removeFramebuffer(framebuffer: Framebuffer): void;
164
+ addRenderbuffer(renderbuffer: Renderbuffer): void;
165
+ removeRenderbuffer(renderbuffer: Renderbuffer): void;
143
166
  addComposition(composition: Composition): void;
144
167
  removeComposition(composition: Composition): void;
145
168
  getWidth(): number;
@@ -26,6 +26,19 @@ export declare function version33Migration(json: JSONScene): JSONScene;
26
26
  export declare function version34Migration(json: JSONScene): JSONScene;
27
27
  export declare function version35Migration(json: JSONScene): JSONScene;
28
28
  export declare function version36Migration(json: JSONScene): JSONScene;
29
+ /**
30
+ * 3.8 数据适配:SpriteComponent 的 renderer.texture + splits 迁移为独立 Sprite 资产。
31
+ *
32
+ * - 遍历所有未引用 sprite 的 SpriteComponentData,按 splits[0](无则整图 [0,0,1,1])生成
33
+ * Sprite 资产对象放入 miscs,并把组件的 sprite 指向它。
34
+ * - 删除组件的 splits 与 renderer.texture(纹理归属 sprite,renderer 仅保留渲染状态)。
35
+ * - 卫语句 `if (sc.sprite) continue` 处理混合数据(部分组件已用 sprite)。
36
+ * - 多 split(splits.length>1,2x2 纹理打包)保留原 splits 不迁移,仍走 updateGeometryFromMultiSplit 旧路径。
37
+ *
38
+ * 由 getStandardJSON 以 `minorVersion < 8` 守卫调用,数据生命周期内只跑一次。
39
+ * version 字段设为字符串 '3.8'(JSONSceneVersion 枚举无此值,运行时不依赖枚举)。
40
+ */
41
+ export declare function version37Migration(json: spec.JSONScene): spec.JSONScene;
29
42
  export declare function processContent(composition: spec.CompositionData): void;
30
43
  export declare function processMask(renderContent: any): void;
31
44
  export declare function convertParam(content?: BaseContent): void;