@galacean/effects-core 2.10.0-alpha.1 → 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.
@@ -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 { Geometry, Renderer } from '../render';
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;
@@ -86,20 +86,16 @@ export interface CompositionProps {
86
86
  *
87
87
  */
88
88
  baseRenderOrder?: number;
89
- /**
90
- *
91
- * @param message
92
- * @returns
93
- */
94
- onItemMessage?: (message: MessageItem) => void;
95
89
  /**
96
90
  *
97
91
  */
98
- event?: EventSystem;
92
+ speed?: number;
99
93
  /**
100
94
  *
95
+ * @param message
96
+ * @returns
101
97
  */
102
- speed?: number;
98
+ onItemMessage?: (message: MessageItem) => void;
103
99
  }
104
100
  /**
105
101
  * 合成抽象类:核心对象,通常一个场景只包含一个合成,可能会有多个合成。
package/dist/engine.d.ts CHANGED
@@ -3,7 +3,7 @@ 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
7
  import type { Framebuffer, Renderbuffer } from './render';
8
8
  import { Graphics, RenderTargetPool } from './render';
9
9
  import type { Scene, SceneRenderLevel } from './scene';
@@ -15,6 +15,7 @@ import { AssetService } from './asset-service';
15
15
  import { Ticker } from './ticker';
16
16
  import type { PointerEventData, Region } from './plugins';
17
17
  import { EventSystem } from './plugins';
18
+ import type { ParticleSystem } from './plugins/particle/particle-system';
18
19
  import type { GLType } from './gl';
19
20
  import { EventEmitter } from './events';
20
21
  export interface EngineOptions extends WebGLContextAttributes {
@@ -52,6 +53,10 @@ type EngineEvent = {
52
53
  * Engine 基类,负责维护所有 GPU 资源的管理及销毁
53
54
  */
54
55
  export declare class Engine extends EventEmitter<EngineEvent> implements Disposable {
56
+ /**
57
+ * 创建 Engine 对象。
58
+ */
59
+ static create: (canvas: HTMLCanvasElement, options?: EngineOptions) => Engine;
55
60
  name: string;
56
61
  speed: number;
57
62
  displayAspect: number;
@@ -103,7 +108,6 @@ export declare class Engine extends EventEmitter<EngineEvent> implements Disposa
103
108
  * 存放渲染需要用到的数据
104
109
  */
105
110
  renderingData: RenderingData;
106
- graphics: Graphics;
107
111
  /**
108
112
  * 是否不处理上下文丢失恢复(构造期配置,默认 true)
109
113
  */
@@ -120,17 +124,16 @@ export declare class Engine extends EventEmitter<EngineEvent> implements Disposa
120
124
  protected renderPasses: RenderPass[];
121
125
  protected framebuffers: Framebuffer[];
122
126
  protected renderbuffers: Renderbuffer[];
127
+ protected particleSystems: ParticleSystem[];
128
+ private _graphics;
123
129
  private assetLoader;
124
130
  private clearAction;
125
- get disposed(): boolean;
126
131
  /**
127
132
  *
128
133
  */
129
134
  constructor(canvas: HTMLCanvasElement, options?: EngineOptions);
130
- /**
131
- * 创建 Engine 对象。
132
- */
133
- static create: (canvas: HTMLCanvasElement, options?: EngineOptions) => Engine;
135
+ get graphics(): Graphics;
136
+ get disposed(): boolean;
134
137
  clearResources(): void;
135
138
  addEffectsObjectData(data: spec.EffectsObjectData): void;
136
139
  findEffectsObjectData(uuid: string): spec.EffectsObjectData;
@@ -148,7 +151,15 @@ export declare class Engine extends EventEmitter<EngineEvent> implements Disposa
148
151
  */
149
152
  resize(): void;
150
153
  setSize(width: number, height: number): void;
151
- private getTargetSize;
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;
152
163
  addTexture(tex: Texture): void;
153
164
  removeTexture(tex: Texture): void;
154
165
  addMaterial(mat: Material): void;
@@ -205,5 +216,6 @@ export declare class Engine extends EventEmitter<EngineEvent> implements Disposa
205
216
  * 销毁所有缓存的资源
206
217
  */
207
218
  dispose(): void;
219
+ private getTargetSize;
208
220
  }
209
221
  export {};