@galacean/effects-core 2.10.0-alpha.0 → 2.10.0-alpha.2
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.
- package/dist/components/base-render-component.d.ts +4 -0
- package/dist/components/frame-component.d.ts +10 -0
- package/dist/components/mesh-component.d.ts +1 -1
- package/dist/composition.d.ts +9 -8
- package/dist/engine.d.ts +43 -8
- package/dist/fallback/migration.d.ts +13 -0
- package/dist/index.js +3045 -1139
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +3032 -1140
- package/dist/index.mjs.map +1 -1
- package/dist/material/types.d.ts +4 -0
- package/dist/material/utils.d.ts +4 -0
- package/dist/math/value-getters/index.d.ts +1 -0
- package/dist/math/value-getters/reference-curve.d.ts +19 -0
- package/dist/math/value-getters/value-getter-map.d.ts +5 -0
- package/dist/plugin-system.d.ts +6 -4
- package/dist/plugins/index.d.ts +1 -0
- package/dist/plugins/particle/particle-mesh.d.ts +4 -3
- package/dist/plugins/particle/particle-system.d.ts +7 -0
- package/dist/plugins/particle/trail-mesh.d.ts +4 -2
- package/dist/plugins/plugin.d.ts +14 -0
- package/dist/plugins/shape/shape-component.d.ts +1 -0
- package/dist/plugins/sprite/sprite-item.d.ts +32 -5
- package/dist/plugins/sprite/sprite.d.ts +42 -0
- package/dist/plugins/text/index.d.ts +1 -0
- package/dist/plugins/text/line-break.d.ts +29 -0
- package/dist/plugins/timeline/playable-assets/index.d.ts +1 -0
- package/dist/plugins/timeline/playable-assets/sprite-property-playable-asset.d.ts +23 -0
- package/dist/plugins/timeline/playables/index.d.ts +1 -0
- package/dist/plugins/timeline/playables/sprite-property-mixer-playable.d.ts +11 -0
- package/dist/plugins/timeline/playables/transform-mixer-playable.d.ts +6 -0
- package/dist/plugins/timeline/playables/transform-playable.d.ts +17 -2
- package/dist/plugins/timeline/tracks/index.d.ts +1 -0
- package/dist/plugins/timeline/tracks/sprite-property-track.d.ts +11 -0
- package/dist/plugins/timeline/transform-clip-mixer.d.ts +33 -0
- package/dist/render/buffer.d.ts +33 -0
- package/dist/render/data-buffer.d.ts +39 -0
- package/dist/render/geometry.d.ts +72 -94
- package/dist/render/gpu-capability.d.ts +2 -0
- package/dist/render/graphics.d.ts +3 -2
- package/dist/render/index.d.ts +3 -0
- package/dist/render/shader.d.ts +2 -1
- package/dist/render/text-cache.d.ts +22 -14
- package/dist/render/vertex-buffer.d.ts +72 -0
- package/dist/scene.d.ts +7 -4
- package/dist/utils/index.d.ts +1 -1
- 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 {
|
|
@@ -18,6 +18,16 @@ export declare class FrameComponent extends RendererComponent implements Maskabl
|
|
|
18
18
|
drawStencilMask(maskRef: number): void;
|
|
19
19
|
fromData(data: FrameComponentData): void;
|
|
20
20
|
private getHitTestParams;
|
|
21
|
+
/**
|
|
22
|
+
* 由相机把命中带的屏幕像素厚度换算成世界厚度。对齐 Excalidraw frame 命中阈值:
|
|
23
|
+
* 描边两侧各 0.85 × DEFAULT_COLLISION_THRESHOLD(≈8px),整条带 ≈13.6px,不受 size/scale/zoom 影响。
|
|
24
|
+
*/
|
|
25
|
+
private getBorderWorldThickness;
|
|
26
|
+
/**
|
|
27
|
+
* 构造以 frame 边为中心、给定世界厚度的边框环带三角形(内部镂空)。
|
|
28
|
+
* 带中心落在 frame 边上:half 向外、half 向内;沿 frame 局部坐标轴偏移以兼容旋转。
|
|
29
|
+
*/
|
|
30
|
+
private getBorderTriangles;
|
|
21
31
|
private setClipRectangle;
|
|
22
32
|
private setClipRectangleRecursive;
|
|
23
33
|
}
|
|
@@ -2,7 +2,7 @@ import type * as spec from '@galacean/effects-specification';
|
|
|
2
2
|
import type { Engine } from '../engine';
|
|
3
3
|
import type { Maskable } from '../material';
|
|
4
4
|
import type { BoundingBoxTriangle, HitTestTriangleParams, BoundingBoxInfo } from '../plugins';
|
|
5
|
-
import type
|
|
5
|
+
import { type Geometry, type Renderer } from '../render';
|
|
6
6
|
import { RendererComponent } from './renderer-component';
|
|
7
7
|
interface MeshComponentData extends spec.ComponentData {
|
|
8
8
|
mask?: spec.MaskOptions;
|
package/dist/composition.d.ts
CHANGED
|
@@ -88,18 +88,14 @@ export interface CompositionProps {
|
|
|
88
88
|
baseRenderOrder?: number;
|
|
89
89
|
/**
|
|
90
90
|
*
|
|
91
|
-
* @param message
|
|
92
|
-
* @returns
|
|
93
91
|
*/
|
|
94
|
-
|
|
95
|
-
/**
|
|
96
|
-
*
|
|
97
|
-
*/
|
|
98
|
-
event?: EventSystem;
|
|
92
|
+
speed?: number;
|
|
99
93
|
/**
|
|
100
94
|
*
|
|
95
|
+
* @param message
|
|
96
|
+
* @returns
|
|
101
97
|
*/
|
|
102
|
-
|
|
98
|
+
onItemMessage?: (message: MessageItem) => void;
|
|
103
99
|
}
|
|
104
100
|
/**
|
|
105
101
|
* 合成抽象类:核心对象,通常一个场景只包含一个合成,可能会有多个合成。
|
|
@@ -396,6 +392,11 @@ export declare class Composition extends EventEmitter<CompositionEvent<Compositi
|
|
|
396
392
|
*/
|
|
397
393
|
removeInteractiveItem(item: VFXItem, type: spec.InteractType): void;
|
|
398
394
|
lost(e: Event): void;
|
|
395
|
+
/**
|
|
396
|
+
* 上下文恢复后的空操作。
|
|
397
|
+
* GPU 资源已由引擎统一重建,视频纹理会在下次渲染时自然更新,不自动重新播放。
|
|
398
|
+
*/
|
|
399
|
+
restore(): void;
|
|
399
400
|
/**
|
|
400
401
|
* 合成对象销毁
|
|
401
402
|
*/
|
package/dist/engine.d.ts
CHANGED
|
@@ -3,7 +3,8 @@ import type { Matrix4 } from '@galacean/effects-math/es/core/matrix4';
|
|
|
3
3
|
import type { Database, SceneData } from './asset-loader';
|
|
4
4
|
import type { EffectsObject } from './effects-object';
|
|
5
5
|
import type { Material } from './material';
|
|
6
|
-
import type { GPUCapability, Geometry, Mesh, RenderPass, RenderPassClearAction, Renderer, RenderingData, ShaderLibrary } from './render';
|
|
6
|
+
import type { DataArray, DataBuffer, DataBufferOptions, GPUCapability, Geometry, IndicesArray, Mesh, RenderPass, RenderPassClearAction, Renderer, RenderingData, ShaderLibrary, ShaderVariant, VertexBuffer } 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';
|
|
@@ -14,6 +15,7 @@ import { AssetService } from './asset-service';
|
|
|
14
15
|
import { Ticker } from './ticker';
|
|
15
16
|
import type { PointerEventData, Region } from './plugins';
|
|
16
17
|
import { EventSystem } from './plugins';
|
|
18
|
+
import type { ParticleSystem } from './plugins/particle/particle-system';
|
|
17
19
|
import type { GLType } from './gl';
|
|
18
20
|
import { EventEmitter } from './events';
|
|
19
21
|
export interface EngineOptions extends WebGLContextAttributes {
|
|
@@ -25,6 +27,14 @@ export interface EngineOptions extends WebGLContextAttributes {
|
|
|
25
27
|
pixelRatio?: number;
|
|
26
28
|
notifyTouch?: boolean;
|
|
27
29
|
interactive?: boolean;
|
|
30
|
+
/**
|
|
31
|
+
* 是否不处理 WebGL 上下文丢失恢复。
|
|
32
|
+
* - `true`(默认):上传 GPU 后释放 CPU 端源数据以节省内存;上下文丢失后不自动恢复,
|
|
33
|
+
* 渲染暂停,等待宿主重建资源后手动恢复播放。
|
|
34
|
+
* - `false`:保留 CPU 端源数据,上下文丢失后引擎自动按资源类型就地重建 GPU 资源并恢复渲染。
|
|
35
|
+
* 该配置为构造期选项,运行时从 `true` 改为 `false` 无法找回已经丢弃的源数据。
|
|
36
|
+
*/
|
|
37
|
+
doNotHandleContextLost?: boolean;
|
|
28
38
|
}
|
|
29
39
|
type EngineEvent = {
|
|
30
40
|
contextlost: [eventData: {
|
|
@@ -43,6 +53,10 @@ type EngineEvent = {
|
|
|
43
53
|
* Engine 基类,负责维护所有 GPU 资源的管理及销毁
|
|
44
54
|
*/
|
|
45
55
|
export declare class Engine extends EventEmitter<EngineEvent> implements Disposable {
|
|
56
|
+
/**
|
|
57
|
+
* 创建 Engine 对象。
|
|
58
|
+
*/
|
|
59
|
+
static create: (canvas: HTMLCanvasElement, options?: EngineOptions) => Engine;
|
|
46
60
|
name: string;
|
|
47
61
|
speed: number;
|
|
48
62
|
displayAspect: number;
|
|
@@ -94,24 +108,32 @@ export declare class Engine extends EventEmitter<EngineEvent> implements Disposa
|
|
|
94
108
|
* 存放渲染需要用到的数据
|
|
95
109
|
*/
|
|
96
110
|
renderingData: RenderingData;
|
|
97
|
-
|
|
111
|
+
/**
|
|
112
|
+
* 是否不处理上下文丢失恢复(构造期配置,默认 true)
|
|
113
|
+
*/
|
|
114
|
+
doNotHandleContextLost: boolean;
|
|
115
|
+
/**
|
|
116
|
+
* WebGL 上下文是否处于丢失状态
|
|
117
|
+
*/
|
|
118
|
+
protected contextWasLost: boolean;
|
|
98
119
|
protected _disposed: boolean;
|
|
99
120
|
protected textures: Texture[];
|
|
100
121
|
protected materials: Material[];
|
|
101
122
|
protected geometries: Geometry[];
|
|
102
123
|
protected meshes: Mesh[];
|
|
103
124
|
protected renderPasses: RenderPass[];
|
|
125
|
+
protected framebuffers: Framebuffer[];
|
|
126
|
+
protected renderbuffers: Renderbuffer[];
|
|
127
|
+
protected particleSystems: ParticleSystem[];
|
|
128
|
+
private _graphics;
|
|
104
129
|
private assetLoader;
|
|
105
130
|
private clearAction;
|
|
106
|
-
get disposed(): boolean;
|
|
107
131
|
/**
|
|
108
132
|
*
|
|
109
133
|
*/
|
|
110
134
|
constructor(canvas: HTMLCanvasElement, options?: EngineOptions);
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
*/
|
|
114
|
-
static create: (canvas: HTMLCanvasElement, options?: EngineOptions) => Engine;
|
|
135
|
+
get graphics(): Graphics;
|
|
136
|
+
get disposed(): boolean;
|
|
115
137
|
clearResources(): void;
|
|
116
138
|
addEffectsObjectData(data: spec.EffectsObjectData): void;
|
|
117
139
|
findEffectsObjectData(uuid: string): spec.EffectsObjectData;
|
|
@@ -129,7 +151,15 @@ export declare class Engine extends EventEmitter<EngineEvent> implements Disposa
|
|
|
129
151
|
*/
|
|
130
152
|
resize(): void;
|
|
131
153
|
setSize(width: number, height: number): void;
|
|
132
|
-
|
|
154
|
+
createVertexBuffer(data: DataArray | number, options: DataBufferOptions): DataBuffer;
|
|
155
|
+
createDynamicVertexBuffer(data: DataArray | number, options: DataBufferOptions): DataBuffer;
|
|
156
|
+
createIndexBuffer(indices: IndicesArray, options: DataBufferOptions): DataBuffer;
|
|
157
|
+
updateDynamicVertexBuffer(vertexBuffer: DataBuffer, data: DataArray, byteOffset?: number, byteLength?: number): void;
|
|
158
|
+
updateDynamicIndexBuffer(indexBuffer: DataBuffer, indices: IndicesArray, byteOffset?: number): void;
|
|
159
|
+
/** @hide */
|
|
160
|
+
releaseBuffer(buffer: DataBuffer): boolean;
|
|
161
|
+
/** @hide */
|
|
162
|
+
bindBuffers(vertexBuffers: Record<string, VertexBuffer>, indexBuffer: DataBuffer | undefined, effect: ShaderVariant): void;
|
|
133
163
|
addTexture(tex: Texture): void;
|
|
134
164
|
removeTexture(tex: Texture): void;
|
|
135
165
|
addMaterial(mat: Material): void;
|
|
@@ -140,6 +170,10 @@ export declare class Engine extends EventEmitter<EngineEvent> implements Disposa
|
|
|
140
170
|
removeMesh(mesh: Mesh): void;
|
|
141
171
|
addRenderPass(pass: RenderPass): void;
|
|
142
172
|
removeRenderPass(pass: RenderPass): void;
|
|
173
|
+
addFramebuffer(framebuffer: Framebuffer): void;
|
|
174
|
+
removeFramebuffer(framebuffer: Framebuffer): void;
|
|
175
|
+
addRenderbuffer(renderbuffer: Renderbuffer): void;
|
|
176
|
+
removeRenderbuffer(renderbuffer: Renderbuffer): void;
|
|
143
177
|
addComposition(composition: Composition): void;
|
|
144
178
|
removeComposition(composition: Composition): void;
|
|
145
179
|
getWidth(): number;
|
|
@@ -182,5 +216,6 @@ export declare class Engine extends EventEmitter<EngineEvent> implements Disposa
|
|
|
182
216
|
* 销毁所有缓存的资源
|
|
183
217
|
*/
|
|
184
218
|
dispose(): void;
|
|
219
|
+
private getTargetSize;
|
|
185
220
|
}
|
|
186
221
|
export {};
|
|
@@ -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;
|