@galacean/engine-core 2.0.0-alpha.2 → 2.0.0-alpha.20

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 (55) hide show
  1. package/dist/main.js +11841 -10379
  2. package/dist/main.js.map +1 -1
  3. package/dist/module.js +11834 -10380
  4. package/dist/module.js.map +1 -1
  5. package/package.json +3 -3
  6. package/types/2d/text/TextRenderer.d.ts +7 -1
  7. package/types/ComponentsManager.d.ts +0 -4
  8. package/types/Engine.d.ts +6 -1
  9. package/types/RenderPipeline/RenderTargetPool.d.ts +1 -0
  10. package/types/Renderer.d.ts +1 -2
  11. package/types/Signal.d.ts +58 -0
  12. package/types/animation/Animator.d.ts +1 -5
  13. package/types/animation/AnimatorState.d.ts +4 -0
  14. package/types/animation/AnimatorStateMachine.d.ts +1 -0
  15. package/types/animation/StateMachineScript.d.ts +4 -5
  16. package/types/asset/AssetType.d.ts +7 -16
  17. package/types/asset/BufferAsset.d.ts +9 -0
  18. package/types/asset/JSONAsset.d.ts +9 -0
  19. package/types/asset/RenderingStatistics.d.ts +17 -0
  20. package/types/asset/ResourceManager.d.ts +14 -14
  21. package/types/asset/TextAsset.d.ts +9 -0
  22. package/types/base/EngineObject.d.ts +7 -3
  23. package/types/clone/CloneUtils.d.ts +1 -0
  24. package/types/clone/ComponentCloner.d.ts +0 -2
  25. package/types/graphic/Buffer.d.ts +8 -1
  26. package/types/graphic/TransformFeedback.d.ts +1 -0
  27. package/types/graphic/TransformFeedbackPrimitive.d.ts +1 -0
  28. package/types/graphic/TransformFeedbackShader.d.ts +1 -0
  29. package/types/graphic/TransformFeedbackSimulator.d.ts +1 -0
  30. package/types/graphic/enums/BufferBindFlag.d.ts +2 -2
  31. package/types/index.d.ts +6 -0
  32. package/types/lighting/AmbientLight.d.ts +0 -8
  33. package/types/mesh/Skin.d.ts +1 -2
  34. package/types/particle/ParticleGenerator.d.ts +7 -0
  35. package/types/particle/ParticleTransformFeedbackSimulator.d.ts +1 -0
  36. package/types/particle/enums/attributes/ParticleFeedbackVertexAttribute.d.ts +1 -0
  37. package/types/particle/index.d.ts +1 -0
  38. package/types/particle/modules/LimitVelocityOverLifetimeModule.d.ts +119 -0
  39. package/types/particle/modules/MainModule.d.ts +3 -3
  40. package/types/particle/modules/RotationOverLifetimeModule.d.ts +3 -3
  41. package/types/physics/DynamicCollider.d.ts +13 -7
  42. package/types/physics/PhysicsScene.d.ts +2 -6
  43. package/types/physics/enums/MeshColliderShapeCookingFlag.d.ts +9 -0
  44. package/types/physics/enums/index.d.ts +1 -0
  45. package/types/physics/shape/MeshColliderShape.d.ts +27 -41
  46. package/types/renderingHardwareInterface/IPlatformBuffer.d.ts +1 -0
  47. package/types/renderingHardwareInterface/IPlatformTransformFeedback.d.ts +1 -0
  48. package/types/renderingHardwareInterface/IPlatformTransformFeedbackPrimitive.d.ts +1 -0
  49. package/types/renderingHardwareInterface/index.d.ts +2 -0
  50. package/types/shader/ShaderPass.d.ts +1 -1
  51. package/types/shaderlib/ShaderLib.d.ts +2 -0
  52. package/types/shaderlib/particle/index.d.ts +2 -0
  53. package/types/sky/SkyBoxMaterial.d.ts +0 -7
  54. package/types/texture/RenderTarget.d.ts +5 -0
  55. package/types/trail/TrailRenderer.d.ts +7 -9
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@galacean/engine-core",
3
- "version": "2.0.0-alpha.2",
3
+ "version": "2.0.0-alpha.20",
4
4
  "publishConfig": {
5
5
  "access": "public",
6
6
  "registry": "https://registry.npmjs.org"
@@ -18,10 +18,10 @@
18
18
  "types/**/*"
19
19
  ],
20
20
  "dependencies": {
21
- "@galacean/engine-math": "2.0.0-alpha.2"
21
+ "@galacean/engine-math": "2.0.0-alpha.20"
22
22
  },
23
23
  "devDependencies": {
24
- "@galacean/engine-design": "2.0.0-alpha.2"
24
+ "@galacean/engine-design": "2.0.0-alpha.20"
25
25
  },
26
26
  "scripts": {
27
27
  "b:types": "tsc"
@@ -29,6 +29,7 @@ export declare class TextRenderer extends Renderer implements ITextRenderer {
29
29
  private _fontSize;
30
30
  private _fontStyle;
31
31
  private _lineSpacing;
32
+ private _characterSpacing;
32
33
  private _horizontalAlignment;
33
34
  private _verticalAlignment;
34
35
  private _enableWrapping;
@@ -69,10 +70,15 @@ export declare class TextRenderer extends Renderer implements ITextRenderer {
69
70
  get fontStyle(): FontStyle;
70
71
  set fontStyle(value: FontStyle);
71
72
  /**
72
- * The space between two lines (in pixels).
73
+ * The space between two lines, in em (ratio of fontSize).
73
74
  */
74
75
  get lineSpacing(): number;
75
76
  set lineSpacing(value: number);
77
+ /**
78
+ * The space between two characters, in em (ratio of fontSize).
79
+ */
80
+ get characterSpacing(): number;
81
+ set characterSpacing(value: number);
76
82
  /**
77
83
  * The horizontal alignment.
78
84
  */
@@ -12,8 +12,6 @@ export declare class ComponentsManager {
12
12
  private _onUpdateScripts;
13
13
  private _onLateUpdateScripts;
14
14
  private _onPhysicsUpdateScripts;
15
- private _pendingDestroyScripts;
16
- private _disposeDestroyScripts;
17
15
  private _onUpdateAnimations;
18
16
  private _onUpdateRenderers;
19
17
  private _componentsContainerPool;
@@ -37,14 +35,12 @@ export declare class ComponentsManager {
37
35
  removeOnUpdateAnimations(animation: Animator): void;
38
36
  addOnUpdateRenderers(renderer: Renderer): void;
39
37
  removeOnUpdateRenderers(renderer: Renderer): void;
40
- addPendingDestroyScript(component: Script): void;
41
38
  callScriptOnStart(): void;
42
39
  callScriptOnUpdate(deltaTime: number): void;
43
40
  callScriptOnLateUpdate(deltaTime: number): void;
44
41
  callScriptOnPhysicsUpdate(): void;
45
42
  callAnimationUpdate(deltaTime: number): void;
46
43
  callRendererOnUpdate(deltaTime: number): void;
47
- handlingInvalidScripts(): void;
48
44
  callCameraOnBeginRender(camera: Camera): void;
49
45
  callCameraOnEndRender(camera: Camera): void;
50
46
  getActiveChangedTempList(): Component[];
package/types/Engine.d.ts CHANGED
@@ -3,6 +3,7 @@ import { Canvas } from "./Canvas";
3
3
  import { EngineSettings } from "./EngineSettings";
4
4
  import { Entity } from "./Entity";
5
5
  import { SceneManager } from "./SceneManager";
6
+ import { RenderingStatistics } from "./asset/RenderingStatistics";
6
7
  import { ResourceManager } from "./asset/ResourceManager";
7
8
  import { EventDispatcher, Time } from "./base";
8
9
  import { InputManager } from "./input";
@@ -30,7 +31,6 @@ export declare class Engine extends EventDispatcher {
30
31
  private _vSyncCounter;
31
32
  private _targetFrameInterval;
32
33
  private _destroyed;
33
- private _frameInProcess;
34
34
  private _waitingDestroy;
35
35
  private _waitingGC;
36
36
  private _postProcessPasses;
@@ -56,6 +56,10 @@ export declare class Engine extends EventDispatcher {
56
56
  * The time information of the engine.
57
57
  */
58
58
  get time(): Time;
59
+ /**
60
+ * Rendering statistics.
61
+ */
62
+ get renderingStatistics(): RenderingStatistics;
59
63
  /**
60
64
  * Whether the engine is paused.
61
65
  */
@@ -120,6 +124,7 @@ export declare class Engine extends EventDispatcher {
120
124
  * @param pass - Post process pass to add
121
125
  */
122
126
  addPostProcessPass(pass: PostProcessPass): void;
127
+ private _processPendingDestroyObjects;
123
128
  private _destroy;
124
129
  /**
125
130
  * Destroy engine.
@@ -0,0 +1 @@
1
+ export {};
@@ -3,7 +3,6 @@ import { Component } from "./Component";
3
3
  import { Entity } from "./Entity";
4
4
  import { RenderContext } from "./RenderPipeline/RenderContext";
5
5
  import { TransformModifyFlags } from "./Transform";
6
- import { IComponentCustomClone } from "./clone/ComponentCloner";
7
6
  import { SpriteMaskLayer } from "./enums/SpriteMaskLayer";
8
7
  import { Material } from "./material";
9
8
  import { ShaderData } from "./shader/ShaderData";
@@ -11,7 +10,7 @@ import { ShaderData } from "./shader/ShaderData";
11
10
  * Basis for all renderers.
12
11
  * @decorator `@dependentComponents(Transform, DependentMode.CheckOnly)`
13
12
  */
14
- export declare class Renderer extends Component implements IComponentCustomClone {
13
+ export declare class Renderer extends Component {
15
14
  private static _tempVector0;
16
15
  private static _receiveShadowMacro;
17
16
  private static _localMatrixProperty;
@@ -0,0 +1,58 @@
1
+ import { Component } from "./Component";
2
+ /**
3
+ * Signal is a typed event mechanism for Galacean Engine.
4
+ * @typeParam T - Tuple type of the signal arguments
5
+ */
6
+ export declare class Signal<T extends any[] = []> {
7
+ private _listeners;
8
+ /**
9
+ * Add a listener for this signal.
10
+ * @param fn - The callback function
11
+ * @param target - The `this` context for the callback
12
+ */
13
+ on(fn: (...args: T) => void, target?: any): void;
14
+ /**
15
+ * Add a structured binding listener. Structured bindings support clone remapping.
16
+ * @param target - The target component
17
+ * @param methodName - The method name to invoke on the target
18
+ * @param args - Pre-resolved arguments
19
+ */
20
+ on(target: Component, methodName: string, ...args: any[]): void;
21
+ /**
22
+ * Add a one-time listener that is automatically removed after first invocation.
23
+ * @param fn - The callback function
24
+ * @param target - The `this` context for the callback
25
+ */
26
+ once(fn: (...args: T) => void, target?: any): void;
27
+ /**
28
+ * Add a one-time structured binding listener.
29
+ * @param target - The target component
30
+ * @param methodName - The method name to invoke on the target
31
+ * @param args - Pre-resolved arguments
32
+ */
33
+ once(target: Component, methodName: string, ...args: any[]): void;
34
+ /**
35
+ * Remove a listener. Both `fn` and `target` must match the values passed to `on`/`once`.
36
+ * @param fn - The callback function to remove
37
+ * @param target - The `this` context that was used when adding the listener
38
+ */
39
+ off(fn: (...args: T) => void, target?: any): void;
40
+ /**
41
+ * Remove a structured binding listener by target and method name.
42
+ * @param target - The target component
43
+ * @param methodName - The method name
44
+ */
45
+ off(target: Component, methodName: string): void;
46
+ /**
47
+ * Remove all listeners, or all listeners for a specific target.
48
+ * @param target - If provided, only remove listeners bound to this target
49
+ */
50
+ removeAll(target?: any): void;
51
+ /**
52
+ * Invoke the signal, calling all listeners in order.
53
+ * @param args - Arguments to pass to each listener
54
+ */
55
+ invoke(...args: T): void;
56
+ private _cloneArguments;
57
+ private _addListener;
58
+ }
@@ -133,8 +133,7 @@ export declare class Animator extends Component {
133
133
  private _updateCrossFadeData;
134
134
  private _preparePlayOwner;
135
135
  private _applyStateTransitions;
136
- private _checkNoExitTimeTransition;
137
- private _checkCrossFadeInterrupt;
136
+ private _tryCrossFadeInterrupt;
138
137
  private _checkNoExitTimeTransitions;
139
138
  private _checkSubTransition;
140
139
  private _checkBackwardsSubTransition;
@@ -146,9 +145,6 @@ export declare class Animator extends Component {
146
145
  private _fireAnimationEvents;
147
146
  private _fireSubAnimationEvents;
148
147
  private _fireBackwardSubAnimationEvents;
149
- private _callAnimatorScriptOnEnter;
150
- private _callAnimatorScriptOnUpdate;
151
- private _callAnimatorScriptOnExit;
152
148
  private _checkAnyAndEntryState;
153
149
  private _checkRevertOwner;
154
150
  private _fireAnimationEventsAndCallScripts;
@@ -11,6 +11,10 @@ export declare class AnimatorState {
11
11
  speed: number;
12
12
  /** The wrap mode used in the state. */
13
13
  wrapMode: WrapMode;
14
+ private _onStateEnterScripts;
15
+ private _onStateUpdateScripts;
16
+ private _onStateExitScripts;
17
+ private _engine;
14
18
  private _clipStartTime;
15
19
  private _clipEndTime;
16
20
  private _clip;
@@ -9,6 +9,7 @@ export interface AnimatorStateMap {
9
9
  export declare class AnimatorStateMachine {
10
10
  /** The list of states. */
11
11
  readonly states: AnimatorState[];
12
+ private _engine;
12
13
  /**
13
14
  * The state will be played automatically.
14
15
  * @remarks When the Animator's AnimatorController changed or the Animator's onEnable be triggered.
@@ -1,9 +1,11 @@
1
1
  import { Animator } from "../animation/Animator";
2
2
  import { AnimatorState } from "../animation/AnimatorState";
3
+ import { EngineObject } from "../base/EngineObject";
3
4
  /**
4
5
  * StateMachineScript is a component that can be added to a animator state. It's the base class every script on a state derives from.
5
6
  */
6
- export declare class StateMachineScript {
7
+ export declare class StateMachineScript extends EngineObject {
8
+ constructor();
7
9
  /**
8
10
  * onStateEnter is called when a transition starts and the state machine starts to evaluate this state.
9
11
  * @param animator - The animator
@@ -25,8 +27,5 @@ export declare class StateMachineScript {
25
27
  * @param layerIndex - The index of the layer where the state is located
26
28
  */
27
29
  onStateExit(animator: Animator, animatorState: AnimatorState, layerIndex: number): void;
28
- /**
29
- * Destroy this instance.
30
- */
31
- destroy(): void;
30
+ protected _onDestroy(): void;
32
31
  }
@@ -2,20 +2,11 @@
2
2
  * Asset Type.
3
3
  */
4
4
  export declare enum AssetType {
5
- /**
6
- * Plain text.
7
- * @remarks Will not be cached based on url in ResourceManager.
8
- */
5
+ /** Plain text. */
9
6
  Text = "Text",
10
- /**
11
- * JSON.
12
- * @remarks Will not be cached based on url in ResourceManager.
13
- */
7
+ /** JSON. */
14
8
  JSON = "JSON",
15
- /**
16
- * ArrayBuffer.
17
- * @remarks Will not be cached based on url in ResourceManager.
18
- */
9
+ /** ArrayBuffer. */
19
10
  Buffer = "Buffer",
20
11
  /** 2D Texture. */
21
12
  Texture2D = "Texture2D",
@@ -48,11 +39,9 @@ export declare enum AssetType {
48
39
  /** Sprite Atlas. */
49
40
  SpriteAtlas = "SpriteAtlas",
50
41
  /** Ambient light. */
51
- Env = "Environment",
42
+ AmbientLight = "AmbientLight",
52
43
  /** Scene. */
53
44
  Scene = "Scene",
54
- /** HDR to cube. */
55
- HDR = "HDR",
56
45
  /** Font. */
57
46
  Font = "Font",
58
47
  /** Source Font, include ttf, otf and woff. */
@@ -62,5 +51,7 @@ export declare enum AssetType {
62
51
  /** Project asset. */
63
52
  Project = "project",
64
53
  /** PhysicsMaterial. */
65
- PhysicsMaterial = "PhysicsMaterial"
54
+ PhysicsMaterial = "PhysicsMaterial",
55
+ /** RenderTarget. */
56
+ RenderTarget = "RenderTarget"
66
57
  }
@@ -0,0 +1,9 @@
1
+ import { EngineObject } from "../base/EngineObject";
2
+ /**
3
+ * Buffer asset for storing binary data.
4
+ */
5
+ export declare class BufferAsset extends EngineObject {
6
+ /** The binary buffer data. */
7
+ buffer: ArrayBuffer;
8
+ protected _onDestroy(): void;
9
+ }
@@ -0,0 +1,9 @@
1
+ import { EngineObject } from "../base/EngineObject";
2
+ /**
3
+ * JSON asset for storing parsed JSON data.
4
+ */
5
+ export declare class JSONAsset extends EngineObject {
6
+ /** The parsed JSON data. */
7
+ data: Object;
8
+ protected _onDestroy(): void;
9
+ }
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Rendering statistics.
3
+ */
4
+ export declare class RenderingStatistics {
5
+ /**
6
+ * Memory used by all textures, in bytes.
7
+ */
8
+ get textureMemory(): number;
9
+ /**
10
+ * Memory used by all buffers, in bytes.
11
+ */
12
+ get bufferMemory(): number;
13
+ /**
14
+ * Total memory used, in bytes.
15
+ */
16
+ get totalMemory(): number;
17
+ }
@@ -34,30 +34,30 @@ export declare class ResourceManager {
34
34
  * @param engine - Engine to which the current ResourceManager belongs
35
35
  */
36
36
  constructor(engine: Engine);
37
- /**
38
- * Load asset asynchronously through the path.
39
- * @param path - Path
40
- * @returns Asset promise
41
- */
42
- load<T>(path: string): AssetPromise<T>;
43
- /**
44
- * Load asset collection asynchronously through urls.
45
- * @param paths - Path collections
46
- * @returns Asset Promise
47
- */
48
- load(paths: string[]): AssetPromise<Object[]>;
49
37
  /**
50
38
  * Load the asset asynchronously by asset item information.
51
39
  * @param assetItem - AssetItem
52
40
  * @returns AssetPromise
53
41
  */
54
- load<T>(assetItem: LoadItem): AssetPromise<T>;
42
+ load<T extends EngineObject>(assetItem: LoadItem): AssetPromise<T>;
55
43
  /**
56
44
  * Load the asset collection asynchronously by loading the information collection.
57
45
  * @param assetItems - Asset collection
58
46
  * @returns AssetPromise
59
47
  */
60
- load(assetItems: LoadItem[]): AssetPromise<Object[]>;
48
+ load<T extends EngineObject[]>(assetItems: LoadItem[]): AssetPromise<T>;
49
+ /**
50
+ * Load asset collection asynchronously through urls.
51
+ * @param paths - Path collections
52
+ * @returns Asset Promise
53
+ */
54
+ load<T extends EngineObject[]>(paths: string[]): AssetPromise<T>;
55
+ /**
56
+ * Load asset asynchronously through the path.
57
+ * @param path - Path
58
+ * @returns Asset promise
59
+ */
60
+ load<T extends EngineObject>(path: string): AssetPromise<T>;
61
61
  /**
62
62
  * Get the resource from cache by asset url, return the resource object if it loaded, otherwise return null.
63
63
  * @param url - Resource url
@@ -0,0 +1,9 @@
1
+ import { EngineObject } from "../base/EngineObject";
2
+ /**
3
+ * Text asset for storing plain text data.
4
+ */
5
+ export declare class TextAsset extends EngineObject {
6
+ /** The text content. */
7
+ text: string;
8
+ protected _onDestroy(): void;
9
+ }
@@ -2,16 +2,20 @@ import { Engine } from "../Engine";
2
2
  /**
3
3
  * EngineObject.
4
4
  */
5
- export declare abstract class EngineObject {
5
+ export declare class EngineObject {
6
6
  private static _instanceIdCounter;
7
- /** Engine unique id. */
8
7
  readonly instanceId: number;
9
- protected _engine: Engine;
10
8
  protected _destroyed: boolean;
11
9
  /**
12
10
  * Get the engine which the object belongs.
13
11
  */
14
12
  get engine(): Engine;
13
+ /**
14
+ * Whether this object is pending destruction.
15
+ * @remarks `destroy()` has been called but the actual destruction is deferred until end of frame,
16
+ * during this period all properties are still accessible.
17
+ */
18
+ get pendingDestroy(): boolean;
15
19
  /**
16
20
  * Whether it has been destroyed.
17
21
  */
@@ -0,0 +1 @@
1
+ export {};
@@ -5,8 +5,6 @@ import { Entity } from "../Entity";
5
5
  */
6
6
  export interface ICustomClone {
7
7
  }
8
- export interface IComponentCustomClone {
9
- }
10
8
  export declare class ComponentCloner {
11
9
  /**
12
10
  * Clone component.
@@ -10,7 +10,6 @@ export declare class Buffer extends GraphicsResource {
10
10
  private _type;
11
11
  private _byteLength;
12
12
  private _bufferUsage;
13
- private _platformBuffer;
14
13
  private _readable;
15
14
  private _data;
16
15
  /**
@@ -106,6 +105,14 @@ export declare class Buffer extends GraphicsResource {
106
105
  * @param dataLength - Output data length
107
106
  */
108
107
  getData(data: ArrayBufferView, bufferByteOffset: number, dataOffset: number, dataLength: number): void;
108
+ /**
109
+ * Copy data from another buffer on the GPU.
110
+ * @param srcBuffer - Source buffer
111
+ * @param srcByteOffset - Byte offset in the source buffer
112
+ * @param dstByteOffset - Byte offset in this buffer
113
+ * @param byteLength - Number of bytes to copy
114
+ */
115
+ copyFromBuffer(srcBuffer: Buffer, srcByteOffset: number, dstByteOffset: number, byteLength: number): void;
109
116
  /**
110
117
  * Mark buffer as readable, the `data` property will be not accessible anymore.
111
118
  */
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -2,8 +2,8 @@
2
2
  * Buffer binding flag.
3
3
  */
4
4
  export declare enum BufferBindFlag {
5
- /** Vertex buffer binding flag */
5
+ /** Vertex buffer binding flag. */
6
6
  VertexBuffer = 0,
7
- /** Index buffer binding flag */
7
+ /** Index buffer binding flag. */
8
8
  IndexBuffer = 1
9
9
  }
package/types/index.d.ts CHANGED
@@ -8,6 +8,7 @@ export { SceneManager } from "./SceneManager";
8
8
  export { Entity } from "./Entity";
9
9
  export { Component } from "./Component";
10
10
  export { Script } from "./Script";
11
+ export { Signal } from "./Signal";
11
12
  export { Renderer, RendererUpdateFlags } from "./Renderer";
12
13
  export { dependentComponents, DependentMode } from "./ComponentsDependencies";
13
14
  export { Camera } from "./Camera";
@@ -20,11 +21,15 @@ export { request } from "./asset/request";
20
21
  export type { RequestConfig } from "./asset/request";
21
22
  export { Loader } from "./asset/Loader";
22
23
  export { ContentRestorer } from "./asset/ContentRestorer";
24
+ export { RenderingStatistics } from "./asset/RenderingStatistics";
23
25
  export { ResourceManager, resourceLoader } from "./asset/ResourceManager";
24
26
  export { AssetPromise } from "./asset/AssetPromise";
25
27
  export type { LoadItem } from "./asset/LoadItem";
26
28
  export { AssetType } from "./asset/AssetType";
27
29
  export { ReferResource } from "./asset/ReferResource";
30
+ export { TextAsset } from "./asset/TextAsset";
31
+ export { JSONAsset } from "./asset/JSONAsset";
32
+ export { BufferAsset } from "./asset/BufferAsset";
28
33
  export * from "./RenderPipeline/index";
29
34
  export * from "./base";
30
35
  export { Background } from "./Background";
@@ -59,6 +64,7 @@ export * from "./env-probe/index";
59
64
  export * from "./shader/index";
60
65
  export * from "./Layer";
61
66
  export * from "./clone/CloneManager";
67
+ export { CloneUtils } from "./clone/CloneUtils";
62
68
  export * from "./renderingHardwareInterface/index";
63
69
  export * from "./physics/index";
64
70
  export * from "./Utils";
@@ -9,7 +9,6 @@ import { DiffuseMode } from "./enums/DiffuseMode";
9
9
  export declare class AmbientLight extends ReferResource {
10
10
  private static _shMacro;
11
11
  private static _specularMacro;
12
- private static _decodeRGBMMacro;
13
12
  private static _diffuseColorProperty;
14
13
  private static _diffuseSHProperty;
15
14
  private static _diffuseIntensityProperty;
@@ -24,12 +23,6 @@ export declare class AmbientLight extends ReferResource {
24
23
  private _diffuseMode;
25
24
  private _shArray;
26
25
  private _scenes;
27
- private _specularTextureDecodeRGBM;
28
- /**
29
- * Whether to decode from specularTexture with RGBM format.
30
- */
31
- get specularTextureDecodeRGBM(): boolean;
32
- set specularTextureDecodeRGBM(value: boolean);
33
26
  /**
34
27
  * Diffuse mode of ambient light.
35
28
  */
@@ -65,6 +58,5 @@ export declare class AmbientLight extends ReferResource {
65
58
  constructor(engine: Engine);
66
59
  private _setDiffuseMode;
67
60
  private _setSpecularTexture;
68
- private _setSpecularTextureDecodeRGBM;
69
61
  private _preComputeSH;
70
62
  }
@@ -1,11 +1,10 @@
1
1
  import { Matrix } from "@galacean/engine-math";
2
2
  import { Entity } from "../Entity";
3
3
  import { EngineObject } from "../base/EngineObject";
4
- import { IComponentCustomClone } from "../clone/ComponentCloner";
5
4
  /**
6
5
  * Skin used for skinned mesh renderer.
7
6
  */
8
- export declare class Skin extends EngineObject implements IComponentCustomClone {
7
+ export declare class Skin extends EngineObject {
9
8
  name: string;
10
9
  /** Inverse bind matrices. */
11
10
  inverseBindMatrices: Matrix[];
@@ -2,6 +2,7 @@ import { ParticleStopMode } from "./enums/ParticleStopMode";
2
2
  import { ColorOverLifetimeModule } from "./modules/ColorOverLifetimeModule";
3
3
  import { EmissionModule } from "./modules/EmissionModule";
4
4
  import { ForceOverLifetimeModule } from "./modules/ForceOverLifetimeModule";
5
+ import { LimitVelocityOverLifetimeModule } from "./modules/LimitVelocityOverLifetimeModule";
5
6
  import { MainModule } from "./modules/MainModule";
6
7
  import { RotationOverLifetimeModule } from "./modules/RotationOverLifetimeModule";
7
8
  import { SizeOverLifetimeModule } from "./modules/SizeOverLifetimeModule";
@@ -16,11 +17,13 @@ export declare class ParticleGenerator {
16
17
  private static _tempVector22;
17
18
  private static _tempVector30;
18
19
  private static _tempVector31;
20
+ private static _tempVector32;
19
21
  private static _tempMat;
20
22
  private static _tempColor0;
21
23
  private static _tempParticleRenderers;
22
24
  private static readonly _particleIncreaseCount;
23
25
  private static readonly _transformedBoundsIncreaseCount;
26
+ private static readonly _transformFeedbackMacro;
24
27
  /** Use auto random seed. */
25
28
  useAutoRandomSeed: boolean;
26
29
  /** Main module. */
@@ -31,6 +34,8 @@ export declare class ParticleGenerator {
31
34
  readonly velocityOverLifetime: VelocityOverLifetimeModule;
32
35
  /** Force over lifetime module. */
33
36
  readonly forceOverLifetime: ForceOverLifetimeModule;
37
+ /** Limit velocity over lifetime module. */
38
+ readonly limitVelocityOverLifetime: LimitVelocityOverLifetimeModule;
34
39
  /** Size over lifetime module. */
35
40
  readonly sizeOverLifetime: SizeOverLifetimeModule;
36
41
  /** Rotation over lifetime module. */
@@ -80,6 +85,8 @@ export declare class ParticleGenerator {
80
85
  */
81
86
  emit(count: number): void;
82
87
  private _addNewParticle;
88
+ private _addFeedbackParticle;
89
+ private _clearActiveParticles;
83
90
  private _retireActiveParticles;
84
91
  private _freeRetiredParticles;
85
92
  private _addActiveParticlesToVertexBuffer;
@@ -19,4 +19,5 @@ export { RotationOverLifetimeModule } from "./modules/RotationOverLifetimeModule
19
19
  export { SizeOverLifetimeModule } from "./modules/SizeOverLifetimeModule";
20
20
  export { TextureSheetAnimationModule } from "./modules/TextureSheetAnimationModule";
21
21
  export { VelocityOverLifetimeModule } from "./modules/VelocityOverLifetimeModule";
22
+ export { LimitVelocityOverLifetimeModule } from "./modules/LimitVelocityOverLifetimeModule";
22
23
  export * from "./modules/shape/index";