@galacean/effects-core 2.9.0-alpha.2 → 2.9.0

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 (33) hide show
  1. package/dist/animation/animation-events.d.ts +3 -5
  2. package/dist/components/base-render-component.d.ts +6 -1
  3. package/dist/components/component.d.ts +2 -1
  4. package/dist/components/composition-component.d.ts +1 -1
  5. package/dist/components/frame-component.d.ts +6 -1
  6. package/dist/components/mesh-component.d.ts +6 -1
  7. package/dist/composition.d.ts +15 -25
  8. package/dist/engine.d.ts +49 -2
  9. package/dist/index.js +2729 -1603
  10. package/dist/index.js.map +1 -1
  11. package/dist/index.mjs +2719 -1603
  12. package/dist/index.mjs.map +1 -1
  13. package/dist/material/index.d.ts +1 -0
  14. package/dist/material/material-state.d.ts +50 -0
  15. package/dist/material/material.d.ts +109 -285
  16. package/dist/math/index.d.ts +1 -0
  17. package/dist/plugin-system.d.ts +1 -1
  18. package/dist/plugins/camera/camera-controller-node.d.ts +5 -2
  19. package/dist/plugins/interact/interact-item.d.ts +1 -1
  20. package/dist/plugins/particle/particle-mesh.d.ts +0 -1
  21. package/dist/plugins/particle/particle-system-renderer.d.ts +3 -3
  22. package/dist/plugins/particle/particle-system.d.ts +6 -23
  23. package/dist/plugins/particle/trail-mesh.d.ts +1 -2
  24. package/dist/plugins/plugin.d.ts +1 -1
  25. package/dist/plugins/text/text-component-base.d.ts +1 -1
  26. package/dist/plugins/text/text-layout.d.ts +7 -0
  27. package/dist/plugins/timeline/track.d.ts +1 -1
  28. package/dist/plugins/timeline/tracks/property-track.d.ts +2 -2
  29. package/dist/render/renderer.d.ts +15 -23
  30. package/dist/render/shader.d.ts +19 -0
  31. package/dist/scene-loader.d.ts +2 -0
  32. package/dist/texture/texture.d.ts +1 -1
  33. package/package.json +2 -2
@@ -89,7 +89,7 @@ export declare class TextComponentBase {
89
89
  */
90
90
  setOverflow(overflow: spec.TextOverflow): void;
91
91
  protected getFontDesc(size?: number): string;
92
- protected setupOutline(): void;
92
+ protected setupOutline(fontScale?: number): void;
93
93
  protected setupShadow(): void;
94
94
  protected disposeTextTexture(): void;
95
95
  /**
@@ -16,6 +16,13 @@ export declare class TextLayout implements BaseLayout {
16
16
  * 自动宽高模式
17
17
  */
18
18
  autoResize: spec.TextSizeMode;
19
+ /**
20
+ * 是否启用单词完整换行(不从单词中间断开)
21
+ * - true: 优先在空格处换行,保持单词完整性
22
+ * - false: 允许在任意字符处换行(逐字符换行)
23
+ * @default true
24
+ */
25
+ keepWordIntact: boolean;
19
26
  constructor(options: spec.TextContentOptions);
20
27
  update(options: spec.TextContentOptions): void;
21
28
  /**
@@ -45,7 +45,7 @@ export declare class TrackAsset extends PlayableAsset {
45
45
  findClip(name: string): TimelineClip | undefined;
46
46
  addClip(clip: TimelineClip): void;
47
47
  private createClipPlayable;
48
- fromData(data: spec.EffectsObjectData): void;
48
+ fromData(data: spec.TrackAssetData): void;
49
49
  }
50
50
  export declare enum TrackType {
51
51
  MasterTrack = 0,
@@ -1,7 +1,7 @@
1
- import type { EffectsObjectData } from '@galacean/effects-specification';
1
+ import type { TrackAssetData } from '@galacean/effects-specification';
2
2
  import { TrackAsset } from '../track';
3
3
  export declare abstract class PropertyTrack extends TrackAsset {
4
4
  protected propertyNames: string[];
5
5
  protected path: string;
6
- fromData(data: EffectsObjectData): void;
6
+ fromData(data: TrackAssetData): void;
7
7
  }
@@ -1,53 +1,44 @@
1
1
  import type { Matrix4, Vector3, Vector4 } from '@galacean/effects-math/es/core/index';
2
2
  import type { RendererComponent } from '../components';
3
3
  import type { Engine } from '../engine';
4
- import type { Material } from '../material';
5
- import type { LostHandler, RestoreHandler } from '../utils';
4
+ import { Material } from '../material';
6
5
  import type { FilterMode, Framebuffer, RenderTextureFormat } from './framebuffer';
7
- import type { Geometry } from './geometry';
8
- import type { RenderFrame, RenderingData } from './render-frame';
9
- import type { RenderPassClearAction } from './render-pass';
6
+ import { Geometry } from './geometry';
7
+ import type { RenderFrame } from './render-frame';
8
+ import type { RenderPass, RenderPassClearAction } from './render-pass';
10
9
  import type { ShaderLibrary } from './shader';
11
- import { RenderTargetPool } from './render-target-pool';
12
10
  import type { Texture } from '../texture';
13
- export declare class Renderer implements LostHandler, RestoreHandler {
11
+ export declare class Renderer {
14
12
  engine: Engine;
15
- static create: (engine: Engine) => Renderer;
13
+ static create(engine: Engine): Renderer;
16
14
  /**
17
15
  * 存放渲染需要用到的数据
18
16
  */
19
- renderingData: RenderingData;
20
- renderTargetPool: RenderTargetPool;
21
17
  protected currentFramebuffer: Framebuffer | null;
18
+ protected disposed: boolean;
19
+ private blitGeometry;
20
+ private blitMaterial;
22
21
  constructor(engine: Engine);
22
+ get renderingData(): import("./render-frame").RenderingData;
23
23
  setGlobalFloat(name: string, value: number): void;
24
- setGlobalInt(name: string, value: number): void;
25
24
  setGlobalVector4(name: string, value: Vector4): void;
26
- setGlobalVector3(name: string, value: Vector3): void;
25
+ setGlobalInt(name: string, value: number): void;
27
26
  setGlobalMatrix(name: string, value: Matrix4): void;
27
+ setGlobalVector3(name: string, value: Vector3): void;
28
28
  getFramebuffer(): Framebuffer;
29
29
  setFramebuffer(framebuffer: Framebuffer | null): void;
30
30
  setViewport(x: number, y: number, width: number, height: number): void;
31
- resize(canvasWidth: number, canvasHeight: number): void;
32
31
  clear(action: RenderPassClearAction): void;
33
32
  getWidth(): number;
34
33
  getHeight(): number;
35
- /**
36
- * @override
37
- * @param e
38
- */
39
- lost(e: Event): void;
40
- /**
41
- * @override
42
- */
43
- restore(): void;
44
34
  /**
45
35
  *
46
36
  * @override
47
37
  * @returns
48
38
  */
49
- getShaderLibrary(): ShaderLibrary | undefined;
39
+ getShaderLibrary(): ShaderLibrary | null;
50
40
  renderRenderFrame(renderFrame: RenderFrame): void;
41
+ renderRenderPass(pass: RenderPass): void;
51
42
  renderMeshes(meshes: RendererComponent[]): void;
52
43
  drawGeometry(geometry: Geometry, matrix: Matrix4, material: Material, subMeshIndex?: number): void;
53
44
  getTemporaryRT(name: string, width: number, height: number, depthBuffer: number, filter: FilterMode, format: RenderTextureFormat): Framebuffer;
@@ -60,4 +51,5 @@ export declare class Renderer implements LostHandler, RestoreHandler {
60
51
  */
61
52
  blit(source: Texture, destination: Framebuffer | null, material?: Material): void;
62
53
  dispose(): void;
54
+ private checkGlobalUniform;
63
55
  }
@@ -1,6 +1,8 @@
1
1
  import * as spec from '@galacean/effects-specification';
2
+ import type { Color, Matrix3, Matrix4, Quaternion, Vector2, Vector3, Vector4 } from '@galacean/effects-math/es/core/index';
2
3
  import { EffectsObject } from '../effects-object';
3
4
  import type { Engine } from '../engine';
5
+ import type { Texture } from '../texture';
4
6
  export type ShaderMacros = [key: string, value: string | number | boolean][];
5
7
  export declare enum ShaderCompileResultStatus {
6
8
  noShader = 0,
@@ -57,6 +59,23 @@ export declare abstract class ShaderVariant extends EffectsObject {
57
59
  readonly source: ShaderWithSource;
58
60
  shader: Shader;
59
61
  constructor(engine: Engine, source: ShaderWithSource);
62
+ initialize(): void;
63
+ abstract setFloat(name: string, value: number): void;
64
+ abstract setInt(name: string, value: number): void;
65
+ abstract setFloats(name: string, value: number[]): void;
66
+ abstract setTexture(name: string, texture: Texture): void;
67
+ abstract setVector2(name: string, value: Vector2): void;
68
+ abstract setVector3(name: string, value: Vector3): void;
69
+ abstract setVector4(name: string, value: Vector4): void;
70
+ abstract setColor(name: string, value: Color): void;
71
+ abstract setQuaternion(name: string, value: Quaternion): void;
72
+ abstract setMatrix(name: string, value: Matrix4): void;
73
+ abstract setMatrix3(name: string, value: Matrix3): void;
74
+ abstract setVector4Array(name: string, array: number[]): void;
75
+ abstract setMatrixArray(name: string, array: number[]): void;
76
+ abstract fillShaderInformation(uniformNames: string[], samplers: string[]): void;
77
+ abstract bind(): void;
78
+ abstract isReady(): boolean;
60
79
  }
61
80
  export declare class Shader extends EffectsObject {
62
81
  shaderData: spec.ShaderData;
@@ -3,6 +3,8 @@ import type { Engine } from './engine';
3
3
  import type { Scene, SceneLoadOptions } from './scene';
4
4
  /**
5
5
  * @hidden
6
+ * Internal utility.
7
+ * Not part of the public API — do not rely on this in your code.
6
8
  */
7
9
  export declare class SceneLoader {
8
10
  static load(scene: Scene.LoadType, engine: Engine, options?: SceneLoadOptions): Promise<Composition>;
@@ -88,4 +88,4 @@ export declare abstract class Texture extends EffectsObject {
88
88
  }
89
89
  export declare function generateHalfFloatTexture(engine: Engine, data: Uint16Array, width: number, height: number): Texture;
90
90
  export declare function generateWhiteTexture(engine: Engine): Texture;
91
- export declare function generateTransparentTexture(engine: Engine): Texture;
91
+ export declare function generateEmptyTexture(engine: Engine): Texture;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@galacean/effects-core",
3
- "version": "2.9.0-alpha.2",
3
+ "version": "2.9.0",
4
4
  "description": "Galacean Effects runtime core for the web",
5
5
  "module": "./dist/index.mjs",
6
6
  "main": "./dist/index.js",
@@ -42,7 +42,7 @@
42
42
  "registry": "https://registry.npmjs.org"
43
43
  },
44
44
  "dependencies": {
45
- "@galacean/effects-specification": "2.8.0-alpha.0",
45
+ "@galacean/effects-specification": "^2.8.1",
46
46
  "@galacean/effects-math": "1.1.0",
47
47
  "flatbuffers": "24.3.25",
48
48
  "uuid": "9.0.1",