@galacean/engine-core 1.3.0-alpha.2 → 1.3.0-alpha.3

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 (41) hide show
  1. package/dist/main.js +75 -10
  2. package/dist/main.js.map +1 -1
  3. package/dist/miniprogram.js +75 -10
  4. package/dist/module.js +75 -10
  5. package/dist/module.js.map +1 -1
  6. package/package.json +3 -3
  7. package/types/2d/assembler/IAssembler.d.ts +1 -0
  8. package/types/2d/data/VertexData2D.d.ts +1 -0
  9. package/types/2d/text/CharRenderData.d.ts +1 -0
  10. package/types/2d/text/CharRenderDataPool.d.ts +1 -0
  11. package/types/RenderPipeline/Basic2DBatcher.d.ts +19 -0
  12. package/types/RenderPipeline/ClassPool.d.ts +19 -0
  13. package/types/RenderPipeline/DynamicGeometryData.d.ts +1 -0
  14. package/types/RenderPipeline/DynamicGeometryDataManager.d.ts +1 -0
  15. package/types/RenderPipeline/IPoolElement.d.ts +3 -0
  16. package/types/RenderPipeline/RenderData.d.ts +14 -0
  17. package/types/RenderPipeline/RenderData2D.d.ts +14 -0
  18. package/types/RenderPipeline/RenderPass.d.ts +55 -0
  19. package/types/RenderPipeline/SpriteBatcher.d.ts +1 -0
  20. package/types/RenderPipeline/SpriteMaskBatcher.d.ts +11 -0
  21. package/types/RenderPipeline/SpriteMaskManager.d.ts +1 -0
  22. package/types/RenderPipeline/SpriteMaskRenderData.d.ts +12 -0
  23. package/types/RenderPipeline/SpriteRenderData.d.ts +14 -0
  24. package/types/RenderPipeline/TextRenderData.d.ts +8 -0
  25. package/types/RenderPipeline/enums/ForceUploadShaderDataFlag.d.ts +15 -0
  26. package/types/RenderPipeline/enums/RenderDataUsage.d.ts +13 -0
  27. package/types/animation/AnimatorTransition.d.ts +14 -0
  28. package/types/input/pointer/PointerEvent.d.ts +4 -0
  29. package/types/input/pointer/PointerEventType.d.ts +7 -0
  30. package/types/lighting/Light.d.ts +4 -2
  31. package/types/renderingHardwareInterface/IHardwareRenderer.d.ts +6 -0
  32. package/types/ui/Image.d.ts +38 -0
  33. package/types/ui/RedBlackTree.d.ts +2 -0
  34. package/types/ui/UICanvas.d.ts +55 -0
  35. package/types/ui/UIRenderer.d.ts +14 -0
  36. package/types/ui/UITransform.d.ts +20 -0
  37. package/types/ui/enums/BlockingObjects.d.ts +6 -0
  38. package/types/ui/enums/CanvasRenderMode.d.ts +8 -0
  39. package/types/ui/enums/ResolutionAdaptationStrategy.d.ts +10 -0
  40. package/types/ui/index.d.ts +6 -0
  41. package/types/utils/Pool.d.ts +12 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@galacean/engine-core",
3
- "version": "1.3.0-alpha.2",
3
+ "version": "1.3.0-alpha.3",
4
4
  "publishConfig": {
5
5
  "access": "public",
6
6
  "registry": "https://registry.npmjs.org"
@@ -15,10 +15,10 @@
15
15
  "types/**/*"
16
16
  ],
17
17
  "dependencies": {
18
- "@galacean/engine-math": "1.3.0-alpha.2"
18
+ "@galacean/engine-math": "1.3.0-alpha.3"
19
19
  },
20
20
  "devDependencies": {
21
- "@galacean/engine-design": "1.3.0-alpha.2"
21
+ "@galacean/engine-design": "1.3.0-alpha.3"
22
22
  },
23
23
  "scripts": {
24
24
  "b:types": "tsc"
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,19 @@
1
+ import { Camera } from "../Camera";
2
+ import { Engine } from "../Engine";
3
+ import { ShaderTagKey } from "../shader/ShaderTagKey";
4
+ import { RenderElement } from "./RenderElement";
5
+ export declare abstract class Basic2DBatcher {
6
+ protected static _disableBatchTag: ShaderTagKey;
7
+ /** The maximum number of vertex. */
8
+ static MAX_VERTEX_COUNT: number;
9
+ static _canUploadSameBuffer: boolean;
10
+ constructor(engine: Engine);
11
+ drawElement(element: RenderElement, camera: Camera): void;
12
+ flush(camera: Camera): void;
13
+ clear(): void;
14
+ destroy(): void;
15
+ private _drawSubElement;
16
+ private _createMesh;
17
+ private _updateData;
18
+ private _getSubMeshFromPool;
19
+ }
@@ -0,0 +1,19 @@
1
+ import { IPoolElement } from "./IPoolElement";
2
+ /**
3
+ * Class pool utils.
4
+ */
5
+ export declare class ClassPool<T extends IPoolElement> {
6
+ private _elementPoolIndex;
7
+ private _elementPool;
8
+ private _type;
9
+ constructor(type: new () => T);
10
+ /**
11
+ * Get element from pool.
12
+ */
13
+ getFromPool(): T;
14
+ /**
15
+ * Reset pool.
16
+ */
17
+ resetPool(): void;
18
+ garbageCollection(): void;
19
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,3 @@
1
+ export interface IPoolElement {
2
+ dispose?(): void;
3
+ }
@@ -0,0 +1,14 @@
1
+ import { SubMesh } from "../graphic";
2
+ import { Primitive } from "../graphic/Primitive";
3
+ import { Material } from "../material";
4
+ import { Renderer } from "../Renderer";
5
+ import { IPoolElement } from "./IPoolElement";
6
+ export declare class RenderData implements IPoolElement {
7
+ component: Renderer;
8
+ material: Material;
9
+ primitive: Primitive;
10
+ subPrimitive: SubMesh;
11
+ multiRenderData: boolean;
12
+ setX(component: Renderer, material: Material, primitive: Primitive, subPrimitive: SubMesh): void;
13
+ dispose(): void;
14
+ }
@@ -0,0 +1,14 @@
1
+ import { Primitive, SubMesh } from "../graphic";
2
+ import { Material } from "../material/Material";
3
+ import { Renderer } from "../Renderer";
4
+ import { Texture2D } from "../texture";
5
+ import { IPoolElement } from "../utils/Pool";
6
+ import { Chunk } from "./DynamicGeometryData";
7
+ import { RenderData } from "./RenderData";
8
+ export declare class RenderData2D extends RenderData implements IPoolElement {
9
+ texture: Texture2D;
10
+ chunk: Chunk;
11
+ constructor();
12
+ set(component: Renderer, material: Material, primitive: Primitive, subPrimitive: SubMesh, texture?: Texture2D, chunk?: Chunk): void;
13
+ dispose(): void;
14
+ }
@@ -0,0 +1,55 @@
1
+ import { Color } from "@galacean/engine-math";
2
+ import { Camera } from "../Camera";
3
+ import { CameraClearFlags } from "../enums/CameraClearFlags";
4
+ import { Layer } from "../Layer";
5
+ import { Material } from "../material/Material";
6
+ import { RenderTarget } from "../texture/RenderTarget";
7
+ import { RenderQueue } from "./RenderQueue";
8
+ /**
9
+ * RenderPass.
10
+ */
11
+ declare class RenderPass {
12
+ name: string;
13
+ enabled: boolean;
14
+ priority: number;
15
+ renderTarget: RenderTarget;
16
+ replaceMaterial: Material;
17
+ mask: Layer;
18
+ renderOverride: boolean;
19
+ clearFlags: CameraClearFlags | undefined;
20
+ clearColor: Color | undefined;
21
+ /**
22
+ * Create a RenderPass.
23
+ * @param name - Pass name
24
+ * @param priority - Priority, less than 0 before the default pass, greater than 0 after the default pass
25
+ * @param renderTarget - The specified Render Target
26
+ * @param replaceMaterial - Replaced material
27
+ * @param mask - Perform bit and operations with Entity.Layer to filter the objects that this Pass needs to render
28
+ */
29
+ constructor(name?: string, priority?: number, renderTarget?: any, replaceMaterial?: any, mask?: any);
30
+ /**
31
+ * Rendering callback, will be executed if renderOverride is set to true.
32
+ * @param camera - Camera
33
+ * @param opaqueQueue - Opaque queue
34
+ * @param alphaTestQueue - Alpha test queue
35
+ * @param transparentQueue - Transparent queue
36
+ */
37
+ render(camera: Camera, opaqueQueue: RenderQueue, alphaTestQueue: RenderQueue, transparentQueue: RenderQueue): void;
38
+ /**
39
+ * Post rendering callback.
40
+ * @param camera - Camera
41
+ * @param opaqueQueue - Opaque queue
42
+ * @param alphaTestQueue - Alpha test queue
43
+ * @param transparentQueue - Transparent queue
44
+ */
45
+ preRender(camera: Camera, opaqueQueue: RenderQueue, alphaTestQueue: RenderQueue, transparentQueue: RenderQueue): void;
46
+ /**
47
+ * Post rendering callback.
48
+ * @param camera - Camera
49
+ * @param opaqueQueue - Opaque queue
50
+ * @param alphaTestQueue - Alpha test queue
51
+ * @param transparentQueue - Transparent queue
52
+ */
53
+ postRender(camera: Camera, opaqueQueue: RenderQueue, alphaTestQueue: RenderQueue, transparentQueue: RenderQueue): void;
54
+ }
55
+ export { RenderPass };
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,11 @@
1
+ import { Camera } from "../Camera";
2
+ import { VertexElement } from "../graphic/VertexElement";
3
+ import { Basic2DBatcher } from "./Basic2DBatcher";
4
+ import { RenderElement } from "./RenderElement";
5
+ import { SpriteMaskRenderData } from "./SpriteMaskRenderData";
6
+ export declare class SpriteMaskBatcher extends Basic2DBatcher {
7
+ createVertexElements(vertexElements: VertexElement[]): number;
8
+ canBatch(preElement: RenderElement, curElement: RenderElement): boolean;
9
+ updateVertices(element: SpriteMaskRenderData, vertices: Float32Array, vertexIndex: number): number;
10
+ drawBatches(camera: Camera): void;
11
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,12 @@
1
+ import { VertexData2D } from "../2d/data/VertexData2D";
2
+ import { Material } from "../material/Material";
3
+ import { Renderer } from "../Renderer";
4
+ import { IPoolElement } from "./IPoolElement";
5
+ import { RenderData } from "./RenderData";
6
+ export declare class SpriteMaskRenderData extends RenderData implements IPoolElement {
7
+ isAdd: boolean;
8
+ verticesData: VertexData2D;
9
+ constructor();
10
+ set(component: Renderer, material: Material, verticesData: VertexData2D): void;
11
+ dispose(): void;
12
+ }
@@ -0,0 +1,14 @@
1
+ import { VertexData2D } from "../2d/data/VertexData2D";
2
+ import { Material } from "../material/Material";
3
+ import { Renderer } from "../Renderer";
4
+ import { Texture2D } from "../texture";
5
+ import { IPoolElement } from "./IPoolElement";
6
+ import { RenderData } from "./RenderData";
7
+ export declare class SpriteRenderData extends RenderData implements IPoolElement {
8
+ verticesData: VertexData2D;
9
+ texture: Texture2D;
10
+ dataIndex: number;
11
+ constructor();
12
+ set(component: Renderer, material: Material, verticesData: VertexData2D, texture: Texture2D, dataIndex?: number): void;
13
+ dispose(): void;
14
+ }
@@ -0,0 +1,8 @@
1
+ import { IPoolElement } from "./IPoolElement";
2
+ import { RenderData } from "./RenderData";
3
+ import { SpriteRenderData } from "./SpriteRenderData";
4
+ export declare class TextRenderData extends RenderData implements IPoolElement {
5
+ charsData: SpriteRenderData[];
6
+ constructor();
7
+ dispose(): void;
8
+ }
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Force upload shader data flag.
3
+ */
4
+ export declare enum ForceUploadShaderDataFlag {
5
+ /** Upload nothing. */
6
+ None = 0,
7
+ /** Upload scene shader data. */
8
+ Scene = 1,
9
+ /** Upload camera shader data. */
10
+ Camera = 2,
11
+ /** Upload renderer shader data. */
12
+ Renderer = 4,
13
+ /** Upload material shader data. */
14
+ Material = 8
15
+ }
@@ -0,0 +1,13 @@
1
+ /**
2
+ * RenderData usage.
3
+ */
4
+ export declare enum RenderDataUsage {
5
+ /** Usage for mesh. */
6
+ Mesh = 0,
7
+ /** Usage for sprite. */
8
+ Sprite = 1,
9
+ /** Usage for sprite mask. */
10
+ SpriteMask = 2,
11
+ /** Usage for text. */
12
+ Text = 3
13
+ }
@@ -0,0 +1,14 @@
1
+ import { AnimatorState } from "./AnimatorState";
2
+ /**
3
+ * Transitions define when and how the state machine switch from on state to another. AnimatorTransition always originate from a StateMachine or a StateMachine entry.
4
+ */
5
+ export declare class AnimatorStateTransition {
6
+ /** The duration of the transition. This is represented in normalized time. */
7
+ duration: number;
8
+ /** The time at which the destination state will start. This is represented in normalized time. */
9
+ offset: number;
10
+ /** ExitTime represents the exact time at which the transition can take effect. This is represented in normalized time. */
11
+ exitTime: number;
12
+ /** The destination state of the transition. */
13
+ destinationState: AnimatorState;
14
+ }
@@ -0,0 +1,4 @@
1
+ import { Pointer } from "./Pointer";
2
+ export declare class PointerEvent {
3
+ pointer: Pointer;
4
+ }
@@ -0,0 +1,7 @@
1
+ export declare enum PointerEventType {
2
+ Down = 0,
3
+ Up = 1,
4
+ Click = 2,
5
+ Enter = 3,
6
+ Exit = 4
7
+ }
@@ -21,11 +21,13 @@ export declare abstract class Light extends Component {
21
21
  shadowNormalBias: number;
22
22
  /** Near plane value to use for shadow frustums. */
23
23
  shadowNearPlane: number;
24
- /** Shadow intensity, the larger the value, the clearer and darker the shadow. */
25
- shadowStrength: number;
24
+ private _shadowStrength;
26
25
  private _color;
27
26
  private _viewMat;
28
27
  private _inverseViewMat;
28
+ /** Shadow intensity, the larger the value, the clearer and darker the shadow, range [0,1]. */
29
+ get shadowStrength(): number;
30
+ set shadowStrength(value: number);
29
31
  /**
30
32
  * Light Color.
31
33
  */
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Hardware graphics API renderer.
3
+ */
4
+ export interface IHardwareRenderer {
5
+ [key: string]: any;
6
+ }
@@ -0,0 +1,38 @@
1
+ import { Color } from "@galacean/engine-math";
2
+ import { Sprite, SpriteDrawMode, SpriteTileMode } from "../2d";
3
+ import { UIRenderer } from "./UIRenderer";
4
+ export declare class Image extends UIRenderer {
5
+ private _color;
6
+ private _sprite;
7
+ private _drawMode;
8
+ private _assembler;
9
+ private _tileMode;
10
+ private _tiledAdaptiveThreshold;
11
+ /**
12
+ * The draw mode of the sprite renderer.
13
+ */
14
+ get drawMode(): SpriteDrawMode;
15
+ set drawMode(value: SpriteDrawMode);
16
+ /**
17
+ * The tiling mode of the sprite renderer. (Only works in tiled mode.)
18
+ */
19
+ get tileMode(): SpriteTileMode;
20
+ set tileMode(value: SpriteTileMode);
21
+ /**
22
+ * Stretch Threshold in Tile Adaptive Mode, specified in normalized. (Only works in tiled adaptive mode.)
23
+ */
24
+ get tiledAdaptiveThreshold(): number;
25
+ set tiledAdaptiveThreshold(value: number);
26
+ /**
27
+ * The Sprite to render.
28
+ */
29
+ get sprite(): Sprite;
30
+ set sprite(value: Sprite | null);
31
+ /**
32
+ * Rendering color for the Sprite graphic.
33
+ */
34
+ get color(): Color;
35
+ set color(value: Color);
36
+ protected _onDestroy(): void;
37
+ private _onSpriteChange;
38
+ }
@@ -0,0 +1,2 @@
1
+ export declare class RedBlackTree {
2
+ }
@@ -0,0 +1,55 @@
1
+ import { Vector2 } from "@galacean/engine-math";
2
+ import { Camera } from "../Camera";
3
+ import { Component } from "../Component";
4
+ import { Entity } from "../Entity";
5
+ import { RenderContext } from "../RenderPipeline/RenderContext";
6
+ import { CanvasRenderMode } from "./enums/CanvasRenderMode";
7
+ import { ResolutionAdaptationStrategy } from "./enums/ResolutionAdaptationStrategy";
8
+ export declare class UICanvas extends Component {
9
+ private _renderMode;
10
+ private _renderCamera;
11
+ private _resolutionAdaptationStrategy;
12
+ private _sortOrder;
13
+ private _distance;
14
+ private _renderers;
15
+ private _transform;
16
+ private _uiTransform;
17
+ private _referenceResolution;
18
+ private _isRootCanvas;
19
+ private _enableBlocked;
20
+ private _parents;
21
+ private _hierarchyDirty;
22
+ get enableBlocked(): boolean;
23
+ set enableBlocked(value: boolean);
24
+ get referenceResolution(): Vector2;
25
+ set referenceResolution(val: Vector2);
26
+ get renderMode(): CanvasRenderMode;
27
+ set renderMode(mode: CanvasRenderMode);
28
+ get renderCamera(): Camera;
29
+ set renderCamera(val: Camera);
30
+ get resolutionAdaptationStrategy(): ResolutionAdaptationStrategy;
31
+ set resolutionAdaptationStrategy(val: ResolutionAdaptationStrategy);
32
+ get sortOrder(): number;
33
+ set sortOrder(val: number);
34
+ get distance(): number;
35
+ set distance(val: number);
36
+ constructor(entity: Entity);
37
+ _prepareRender(context: RenderContext): void;
38
+ private _adapterPoseInScreenSpace;
39
+ private _adapterSizeInScreenSpace;
40
+ private _walk;
41
+ private _addCameraListener;
42
+ private _removeCameraListener;
43
+ private _onCameraPropertyListener;
44
+ private _onCameraTransformListener;
45
+ private _addCanvasListener;
46
+ private _removeCanvasListener;
47
+ private _onCanvasSizeListener;
48
+ private _addParentListener;
49
+ private _removeParentListener;
50
+ private _onEntityListener;
51
+ private _onParentListener;
52
+ private _onReferenceResolutionChanged;
53
+ private _checkIsRootCanvas;
54
+ private _setIsRootCanvas;
55
+ }
@@ -0,0 +1,14 @@
1
+ import { BoundingBox, Vector4 } from "@galacean/engine-math";
2
+ import { Renderer } from "../Renderer";
3
+ import { UITransform, UITransformModifyFlags } from "./UITransform";
4
+ export declare class UIRenderer extends Renderer {
5
+ protected _uiTransform: UITransform;
6
+ protected _localBounds: BoundingBox;
7
+ protected _rayCastTarget: boolean;
8
+ protected _rayCastPadding: Vector4;
9
+ get rayCastTarget(): boolean;
10
+ set rayCastTarget(value: boolean);
11
+ get rayCastPadding(): Vector4;
12
+ set rayCastPadding(value: Vector4);
13
+ protected _onUITransformChanged(flag: UITransformModifyFlags): void;
14
+ }
@@ -0,0 +1,20 @@
1
+ import { Vector2 } from "@galacean/engine-math";
2
+ import { Component } from "../Component";
3
+ import { Entity } from "../Entity";
4
+ export declare class UITransform extends Component {
5
+ private _rect;
6
+ private _pivot;
7
+ get rect(): Vector2;
8
+ set rect(val: Vector2);
9
+ get pivot(): Vector2;
10
+ set pivot(val: Vector2);
11
+ constructor(entity: Entity);
12
+ private _onRectChange;
13
+ private _onPivotChange;
14
+ }
15
+ export declare enum UITransformModifyFlags {
16
+ /** Rect. */
17
+ Rect = 1,
18
+ /** Pivot. */
19
+ Pivot = 2
20
+ }
@@ -0,0 +1,6 @@
1
+ export declare enum BlockingObjects {
2
+ None = 0,
3
+ TwoDimensional = 1,
4
+ ThreeDimensional = 2,
5
+ All = 3
6
+ }
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Render mode for ui canvas.
3
+ */
4
+ export declare enum CanvasRenderMode {
5
+ ScreenSpaceOverlay = 0,
6
+ ScreenSpaceCamera = 1,
7
+ WorldSpace = 2
8
+ }
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Resolution adaptation strategy.
3
+ */
4
+ export declare enum ResolutionAdaptationStrategy {
5
+ WidthAdaptation = 0,
6
+ HeightAdaptation = 1,
7
+ BothAdaptation = 2,
8
+ ExpandAdaptation = 3,
9
+ ShrinkAdaptation = 4
10
+ }
@@ -0,0 +1,6 @@
1
+ export { CanvasRenderMode } from "./enums/CanvasRenderMode";
2
+ export { ResolutionAdaptationStrategy } from "./enums/ResolutionAdaptationStrategy";
3
+ export { UICanvas } from "./UICanvas";
4
+ export { UIRenderer } from "./UIRenderer";
5
+ export { Image } from "./Image";
6
+ export { UITransform } from "./UITransform";
@@ -0,0 +1,12 @@
1
+ export interface IPoolElement {
2
+ dispose?(): void;
3
+ }
4
+ export declare class Pool<T extends IPoolElement> {
5
+ private _type;
6
+ private _elementPool;
7
+ private _elementPoolIndex;
8
+ constructor(type: new () => T, count?: number);
9
+ alloc(): T;
10
+ free(element: T): void;
11
+ dispose(): void;
12
+ }