@galacean/effects-core 1.1.1 → 1.1.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.
Files changed (125) hide show
  1. package/dist/index.js +29 -24
  2. package/dist/index.js.map +1 -1
  3. package/dist/index.mjs +29 -24
  4. package/dist/index.mjs.map +1 -1
  5. package/package.json +1 -1
  6. package/dist/asset-manager.d.ts +0 -135
  7. package/dist/camera.d.ts +0 -183
  8. package/dist/comp-vfx-item.d.ts +0 -71
  9. package/dist/composition-source-manager.d.ts +0 -41
  10. package/dist/composition.d.ts +0 -406
  11. package/dist/config.d.ts +0 -7
  12. package/dist/constants.d.ts +0 -11
  13. package/dist/downloader.d.ts +0 -83
  14. package/dist/engine.d.ts +0 -38
  15. package/dist/filter.d.ts +0 -63
  16. package/dist/filters/alpha-frame.d.ts +0 -5
  17. package/dist/filters/alpha-mask.d.ts +0 -5
  18. package/dist/filters/bloom.d.ts +0 -8
  19. package/dist/filters/camera-move.d.ts +0 -5
  20. package/dist/filters/delay.d.ts +0 -14
  21. package/dist/filters/distortion.d.ts +0 -5
  22. package/dist/filters/gaussian.d.ts +0 -27
  23. package/dist/filters/index.d.ts +0 -2
  24. package/dist/filters/lum.d.ts +0 -5
  25. package/dist/filters/utils.d.ts +0 -7
  26. package/dist/gl/create-gl-context.d.ts +0 -9
  27. package/dist/gl/gpu-time.d.ts +0 -5
  28. package/dist/gl/index.d.ts +0 -6
  29. package/dist/index.d.ts +0 -31
  30. package/dist/libs/earcut.d.ts +0 -37
  31. package/dist/material/index.d.ts +0 -4
  32. package/dist/material/material-data-block.d.ts +0 -27
  33. package/dist/material/material.d.ts +0 -347
  34. package/dist/material/types.d.ts +0 -66
  35. package/dist/material/utils.d.ts +0 -17
  36. package/dist/math/float16array-wrapper.d.ts +0 -5
  37. package/dist/math/index.d.ts +0 -4
  38. package/dist/math/translate.d.ts +0 -10
  39. package/dist/math/utils.d.ts +0 -19
  40. package/dist/math/value-getter.d.ts +0 -127
  41. package/dist/paas-texture-cache.d.ts +0 -24
  42. package/dist/pass-render-level.d.ts +0 -1
  43. package/dist/plugin-system.d.ts +0 -34
  44. package/dist/plugins/cal/calculate-item.d.ts +0 -84
  45. package/dist/plugins/cal/calculate-loader.d.ts +0 -3
  46. package/dist/plugins/cal/calculate-vfx-item.d.ts +0 -26
  47. package/dist/plugins/camera/camera-controller-node.d.ts +0 -17
  48. package/dist/plugins/camera/camera-vfx-item-loader.d.ts +0 -3
  49. package/dist/plugins/camera/camera-vfx-item.d.ts +0 -13
  50. package/dist/plugins/index.d.ts +0 -26
  51. package/dist/plugins/interact/click-handler.d.ts +0 -66
  52. package/dist/plugins/interact/event-system.d.ts +0 -37
  53. package/dist/plugins/interact/interact-item.d.ts +0 -2
  54. package/dist/plugins/interact/interact-loader.d.ts +0 -13
  55. package/dist/plugins/interact/interact-mesh.d.ts +0 -16
  56. package/dist/plugins/interact/interact-vfx-item.d.ts +0 -28
  57. package/dist/plugins/particle/burst.d.ts +0 -21
  58. package/dist/plugins/particle/link.d.ts +0 -21
  59. package/dist/plugins/particle/particle-loader.d.ts +0 -18
  60. package/dist/plugins/particle/particle-mesh.d.ts +0 -164
  61. package/dist/plugins/particle/particle-system.d.ts +0 -198
  62. package/dist/plugins/particle/particle-vfx-item.d.ts +0 -27
  63. package/dist/plugins/particle/trail-mesh.d.ts +0 -61
  64. package/dist/plugins/plugin.d.ts +0 -125
  65. package/dist/plugins/sprite/filter-sprite-vfx-item.d.ts +0 -13
  66. package/dist/plugins/sprite/sprite-group.d.ts +0 -95
  67. package/dist/plugins/sprite/sprite-item.d.ts +0 -106
  68. package/dist/plugins/sprite/sprite-loader.d.ts +0 -20
  69. package/dist/plugins/sprite/sprite-mesh.d.ts +0 -67
  70. package/dist/plugins/sprite/sprite-vfx-item.d.ts +0 -33
  71. package/dist/plugins/text/text-item.d.ts +0 -117
  72. package/dist/plugins/text/text-layout.d.ts +0 -28
  73. package/dist/plugins/text/text-loader.d.ts +0 -18
  74. package/dist/plugins/text/text-mesh.d.ts +0 -15
  75. package/dist/plugins/text/text-style.d.ts +0 -67
  76. package/dist/plugins/text/text-vfx-item.d.ts +0 -28
  77. package/dist/polyfill.d.ts +0 -4
  78. package/dist/render/create-copy-shader.d.ts +0 -6
  79. package/dist/render/frame-buffer.d.ts +0 -48
  80. package/dist/render/geometry.d.ts +0 -118
  81. package/dist/render/global-volume.d.ts +0 -15
  82. package/dist/render/gpu-capability.d.ts +0 -49
  83. package/dist/render/index.d.ts +0 -12
  84. package/dist/render/mesh.d.ts +0 -82
  85. package/dist/render/post-process-pass.d.ts +0 -37
  86. package/dist/render/render-buffer.d.ts +0 -20
  87. package/dist/render/render-frame.d.ts +0 -269
  88. package/dist/render/render-pass.d.ts +0 -309
  89. package/dist/render/renderer.d.ts +0 -62
  90. package/dist/render/shader.d.ts +0 -97
  91. package/dist/render/types.d.ts +0 -5
  92. package/dist/scene.d.ts +0 -29
  93. package/dist/semantic-map.d.ts +0 -14
  94. package/dist/shader/index.d.ts +0 -30
  95. package/dist/shape/2d-shape.d.ts +0 -32
  96. package/dist/shape/cone.d.ts +0 -11
  97. package/dist/shape/donut.d.ts +0 -9
  98. package/dist/shape/earcut.d.ts +0 -1
  99. package/dist/shape/geometry.d.ts +0 -30
  100. package/dist/shape/index.d.ts +0 -3
  101. package/dist/shape/shape.d.ts +0 -21
  102. package/dist/shape/sphere.d.ts +0 -15
  103. package/dist/shape/texture-shape.d.ts +0 -11
  104. package/dist/template-image/index.d.ts +0 -67
  105. package/dist/template-image/qcanvas-viewer.d.ts +0 -21
  106. package/dist/template-image/qtext.d.ts +0 -96
  107. package/dist/template-image/template-v1.d.ts +0 -27
  108. package/dist/template-image/text-metrics.d.ts +0 -18
  109. package/dist/texture/index.d.ts +0 -5
  110. package/dist/texture/ktx-texture.d.ts +0 -21
  111. package/dist/texture/texture-factory.d.ts +0 -13
  112. package/dist/texture/texture.d.ts +0 -78
  113. package/dist/texture/types.d.ts +0 -165
  114. package/dist/texture/utils.d.ts +0 -5
  115. package/dist/ticker.d.ts +0 -48
  116. package/dist/transform.d.ts +0 -221
  117. package/dist/utils/array.d.ts +0 -19
  118. package/dist/utils/asserts.d.ts +0 -2
  119. package/dist/utils/color.d.ts +0 -10
  120. package/dist/utils/device.d.ts +0 -4
  121. package/dist/utils/image-data.d.ts +0 -10
  122. package/dist/utils/index.d.ts +0 -67
  123. package/dist/utils/sortable.d.ts +0 -23
  124. package/dist/utils/timeline-component.d.ts +0 -39
  125. package/dist/vfx-item.d.ts +0 -360
@@ -1,127 +0,0 @@
1
- import * as spec from '@galacean/effects-specification';
2
- import type { ColorStop } from '../utils';
3
- interface KeyFrameMeta {
4
- curves: ValueGetter<any>[];
5
- index: number;
6
- max: number;
7
- lineSegCount: number;
8
- curveCount: number;
9
- }
10
- export declare class ValueGetter<T> {
11
- constructor(arg: any);
12
- onCreate(props: any): void;
13
- getIntegrateValue(t0: number, t1: number, timeScale?: number): T;
14
- getIntegrateByTime(t0: number, time: number): T;
15
- getValue(time?: number): T;
16
- toUniform(meta: KeyFrameMeta): Float32Array;
17
- map(func: (n: T) => T): void;
18
- scaleXCoord(scale: number): ValueGetter<T>;
19
- }
20
- export declare class StaticValue extends ValueGetter<number> {
21
- private value;
22
- onCreate(arg: number): void;
23
- getIntegrateValue(t0: number, t1: number, ts: number): number;
24
- getIntegrateByTime(t0: number, t1: number): number;
25
- getValue(time?: number): number;
26
- toUniform(): Float32Array;
27
- map(func: (n: number) => number): this;
28
- }
29
- export declare class RandomSetValue<T> extends ValueGetter<T> {
30
- private items;
31
- onCreate(arg: T[]): void;
32
- getValue(t: number): T;
33
- map(func: (v: T) => T): this;
34
- }
35
- export declare class RandomValue extends ValueGetter<number> {
36
- private min;
37
- private max;
38
- onCreate(props: [min: number, max: number]): void;
39
- getValue(time?: number): number;
40
- toUniform(): Float32Array;
41
- map(func: any): this;
42
- }
43
- export declare class RandomVectorValue extends ValueGetter<number[]> {
44
- private min;
45
- private max;
46
- onCreate(props: [min: number[], max: number[]]): void;
47
- getValue(time: number): number[];
48
- map(func: any): this;
49
- }
50
- export declare class LinearValue extends ValueGetter<number> {
51
- private min;
52
- private max;
53
- private xCoord;
54
- onCreate(props: [min: number, max: number]): void;
55
- getValue(t: number): number;
56
- toUniform(): Float32Array;
57
- getIntegrateValue(t0: number, t1: number, timeScale?: number): number;
58
- getIntegrateByTime(t0: number, t1: number): number;
59
- map(func: (num: number) => number): this;
60
- scaleXCoord(scale: number): LinearValue;
61
- }
62
- export declare class GradientValue extends ValueGetter<number[]> {
63
- stops: ColorStop[];
64
- onCreate(props: number[][] | Record<string, string>): void;
65
- getStops(): ColorStop[];
66
- getValue(time: number): number[];
67
- }
68
- export type KeyFrame = {
69
- inTangent: number;
70
- outTangent: number;
71
- time: number;
72
- value: number;
73
- };
74
- export declare class CurveValue extends ValueGetter<number> {
75
- keys: KeyFrame[] | number[][];
76
- min: number;
77
- dist: number;
78
- isCurveValue: boolean;
79
- static getAllData(meta: KeyFrameMeta, halfFloat?: boolean): Uint16Array | Float32Array;
80
- onCreate(props: number[] & number[][]): void;
81
- getValue(time: number): number;
82
- getIntegrateByTime(t0: number, t1: number): number;
83
- getIntegrateValue(t0: number, t1: number, ts: number): number;
84
- integrate(time: number, byTime: boolean): number;
85
- toData(): Float32Array;
86
- toUniform(meta: any): Float32Array;
87
- map(func: (num: number) => number): this;
88
- scaleXCoord(scale: number): this;
89
- }
90
- export declare class LineSegments extends ValueGetter<number> {
91
- isLineSeg: boolean;
92
- keys: number[][];
93
- onCreate(props: ({
94
- time: number;
95
- value: number;
96
- } & number[])[]): void;
97
- getValue(time: number): number;
98
- getIntegrateValue(t0: number, t1: number, ts?: number): number;
99
- getIntegrateByTime(t0: number, t1: number): number;
100
- private integrate;
101
- toData(): Float32Array;
102
- toUniform(meta: any): Float32Array;
103
- map(func: (k: number) => number): this;
104
- scaleXCoord(scale: number): this;
105
- }
106
- export declare class PathSegments extends ValueGetter<number[]> {
107
- keys: number[][];
108
- values: number[][];
109
- onCreate(props: number[][][]): void;
110
- getValue(time: number): number[];
111
- calculateVec(i: number, dt: number): number[];
112
- }
113
- export declare class BezierSegments extends PathSegments {
114
- cps: number[][];
115
- onCreate(props: number[][][]): void;
116
- calculateVec(i: number, t: number): number[];
117
- }
118
- export declare function createValueGetter(args: any): ValueGetter<any>;
119
- export declare function getKeyFrameMetaByRawValue(meta: KeyFrameMeta, value?: [type: spec.ValueType, value: any]): void;
120
- export declare function createKeyFrameMeta(): {
121
- curves: never[];
122
- index: number;
123
- max: number;
124
- lineSegCount: number;
125
- curveCount: number;
126
- };
127
- export {};
@@ -1,24 +0,0 @@
1
- import type { Engine } from './engine';
2
- import type { TextureConfigOptions } from './texture';
3
- import { Texture } from './texture';
4
- import { type Disposable } from './utils';
5
- export interface TextureCacheRequest extends TextureConfigOptions {
6
- width: number;
7
- height: number;
8
- name: string;
9
- format?: typeof WebGLRenderingContext.RGBA | typeof WebGL2RenderingContext.RGB | typeof WebGLRenderingContext.LUMINANCE;
10
- type?: typeof WebGLRenderingContext.UNSIGNED_BYTE | typeof WebGLRenderingContext.FLOAT | typeof WebGL2RenderingContext.HALF_FLOAT;
11
- minFilter?: GLenum;
12
- magFilter?: GLenum;
13
- wrapS?: GLenum;
14
- wrapT?: GLenum;
15
- }
16
- export declare class PassTextureCache implements Disposable {
17
- private textureCache;
18
- private textureRef;
19
- private engine?;
20
- constructor(engine: Engine);
21
- requestColorAttachmentTexture(request: TextureCacheRequest): Texture;
22
- removeTexture(id: string): void;
23
- dispose(): void;
24
- }
@@ -1 +0,0 @@
1
- export declare function passRenderLevel(l: string | undefined, renderLevel?: string): boolean;
@@ -1,34 +0,0 @@
1
- import type * as spec from '@galacean/effects-specification';
2
- import type { SceneLoadOptions } from './asset-manager';
3
- import type { Composition } from './composition';
4
- import type { Plugin, PluginConstructor } from './plugins';
5
- import type { RenderFrame, Renderer } from './render';
6
- import type { Scene } from './scene';
7
- import type { VFXItemConstructor, VFXItemProps } from './vfx-item';
8
- import { VFXItem } from './vfx-item';
9
- export declare const pluginLoaderMap: Record<string, PluginConstructor>;
10
- export declare const defaultPlugins: string[];
11
- export type PrecompileOptions = {
12
- [key: string]: any;
13
- };
14
- /**
15
- * 注册 plugin
16
- * @param name
17
- * @param pluginClass class of plugin
18
- * @param itemClass class of item
19
- * @param isDefault load
20
- */
21
- export declare function registerPlugin<T>(name: string, pluginClass: PluginConstructor, itemClass: VFXItemConstructor, isDefault?: boolean): void;
22
- export declare function unregisterPlugin(name: string): void;
23
- export declare class PluginSystem {
24
- readonly plugins: Plugin[];
25
- constructor(pluginNames: string[]);
26
- initializeComposition(composition: Composition, scene: Scene): void;
27
- destroyComposition(comp: Composition): void;
28
- resetComposition(comp: Composition, renderFrame: RenderFrame): void;
29
- createPluginItem(name: string, props: VFXItemProps, composition: Composition): VFXItem<any>;
30
- processRawJSON(json: spec.JSONScene, options: SceneLoadOptions): Promise<void[]>;
31
- private callStatic;
32
- precompile(compositions: spec.Composition[], renderer: Renderer, options?: PrecompileOptions): Promise<void[]>;
33
- loadResources(scene: Object, options: SceneLoadOptions): Promise<void[]>;
34
- }
@@ -1,84 +0,0 @@
1
- import * as spec from '@galacean/effects-specification';
2
- import { Euler, Vector3 } from '@galacean/effects-math/es/core/index';
3
- import type { ValueGetter } from '../../math';
4
- import type { Transform } from '../../transform';
5
- import type { VFXItem, VFXItemContent } from '../../vfx-item';
6
- import type { SpriteRenderData } from '../sprite/sprite-mesh';
7
- /**
8
- * 基础位移属性数据
9
- */
10
- export type ItemBasicTransform = {
11
- position: Vector3;
12
- rotation: Euler;
13
- scale: Vector3;
14
- path?: ValueGetter<spec.vec3>;
15
- };
16
- export type ItemLinearVelOverLifetime = {
17
- asMovement?: boolean;
18
- x?: ValueGetter<number>;
19
- y?: ValueGetter<number>;
20
- z?: ValueGetter<number>;
21
- enabled?: boolean;
22
- };
23
- export interface CalculateItemOptions {
24
- delay: number;
25
- startSpeed: number;
26
- direction: Vector3;
27
- startSize: number;
28
- sizeAspect: number;
29
- duration: number;
30
- looping: boolean;
31
- endBehavior: number;
32
- reusable?: boolean;
33
- gravity: Vector3;
34
- gravityModifier: ValueGetter<number>;
35
- startRotation?: number;
36
- start3DRotation?: number;
37
- }
38
- export declare class CalculateItem {
39
- protected vfxItem: VFXItem<VFXItemContent>;
40
- renderData: SpriteRenderData;
41
- id: string;
42
- active: boolean;
43
- name: string;
44
- visible: boolean;
45
- time: number;
46
- protected options: CalculateItemOptions;
47
- protected basicTransform: ItemBasicTransform;
48
- protected transform: Transform;
49
- protected sizeSeparateAxes: boolean;
50
- protected sizeXOverLifetime: ValueGetter<number>;
51
- protected sizeYOverLifetime: ValueGetter<number>;
52
- protected sizeZOverLifetime: ValueGetter<number>;
53
- protected rotationOverLifetime: {
54
- asRotation?: boolean;
55
- separateAxes?: boolean;
56
- enabled?: boolean;
57
- x?: ValueGetter<number>;
58
- y?: ValueGetter<number>;
59
- z?: ValueGetter<number>;
60
- };
61
- gravityModifier: ValueGetter<number>;
62
- orbitalVelOverLifetime: {
63
- x?: ValueGetter<number>;
64
- y?: ValueGetter<number>;
65
- z?: ValueGetter<number>;
66
- center: [x: number, y: number, z: number];
67
- asRotation?: boolean;
68
- enabled?: boolean;
69
- };
70
- speedOverLifetime?: ValueGetter<number>;
71
- positionOverLifetime: ValueGetter<number>;
72
- linearVelOverLifetime: ItemLinearVelOverLifetime;
73
- /*****************/
74
- private _velocity;
75
- constructor(props: spec.NullContent, vfxItem: VFXItem<VFXItemContent>);
76
- get ended(): boolean;
77
- get startSize(): Vector3;
78
- set startSize(scale: Vector3);
79
- get velocity(): Vector3;
80
- getWillTranslate(): boolean;
81
- updateTime(globalTime: number): void;
82
- getRenderData(_time: number, init?: boolean): SpriteRenderData;
83
- protected calculateScaling(sizeChanged: boolean, sizeInc: Vector3, init?: boolean): void;
84
- }
@@ -1,3 +0,0 @@
1
- import { AbstractPlugin } from '../index';
2
- export declare class CalculateLoader extends AbstractPlugin {
3
- }
@@ -1,26 +0,0 @@
1
- import * as spec from '@galacean/effects-specification';
2
- import type { VFXItemProps } from '../../vfx-item';
3
- import { VFXItem } from '../../vfx-item';
4
- import type { Composition } from '../../composition';
5
- import type { SpriteRenderData } from '../sprite/sprite-mesh';
6
- import { CalculateItem } from './calculate-item';
7
- export declare class CalculateVFXItem extends VFXItem<CalculateItem> {
8
- relative?: boolean;
9
- cal: any;
10
- _v_priority: number;
11
- childrenVisible: boolean;
12
- renderData: SpriteRenderData;
13
- get type(): spec.ItemType;
14
- onConstructed(props: VFXItemProps): void;
15
- onLifetimeBegin(composition: Composition, content: CalculateItem): void;
16
- onItemRemoved(composition: Composition, content: CalculateItem): void;
17
- onItemUpdate(dt: number, lifetime: number): void;
18
- setScale(x: number, y: number, z: number): void;
19
- scale(x: number, y: number, z: number): void;
20
- getHitTestParams(force?: boolean): void;
21
- getRenderData(): SpriteRenderData;
22
- getChildrenVisible(): boolean;
23
- setChildrenVisible(visible: boolean): void;
24
- protected doCreateContent(composition: Composition): CalculateItem;
25
- protected handleVisibleChanged(visible: boolean): void;
26
- }
@@ -1,17 +0,0 @@
1
- import type * as spec from '@galacean/effects-specification';
2
- import { Euler, Vector3 } from '@galacean/effects-math/es/core/index';
3
- import { Transform } from '../../transform';
4
- export declare class CameraController {
5
- private readonly transform;
6
- near: number;
7
- far: number;
8
- fov: number;
9
- clipMode?: spec.CameraClipMode;
10
- position: Vector3;
11
- rotation: Euler;
12
- private options;
13
- private readonly translateOverLifetime?;
14
- private readonly rotationOverLifetime?;
15
- constructor(transform: Transform, model: spec.CameraContent);
16
- update(lifetime: number): void;
17
- }
@@ -1,3 +0,0 @@
1
- import { AbstractPlugin } from '../index';
2
- export declare class CameraVFXItemLoader extends AbstractPlugin {
3
- }
@@ -1,13 +0,0 @@
1
- import * as spec from '@galacean/effects-specification';
2
- import { VFXItem } from '../../vfx-item';
3
- import { CameraController } from './camera-controller-node';
4
- export declare class CameraVFXItem extends VFXItem<CameraController> {
5
- private model;
6
- private controller;
7
- get type(): spec.ItemType;
8
- onConstructed(props: spec.CameraItem): void;
9
- onItemUpdate(dt: number, lifetime: number): void;
10
- private updateCamera;
11
- getCurrentPosition(): import("@galacean/effects-math/es").Vector3;
12
- protected doCreateContent(): CameraController;
13
- }
@@ -1,26 +0,0 @@
1
- export * from './plugin';
2
- export * from './camera/camera-controller-node';
3
- export * from './camera/camera-vfx-item-loader';
4
- export * from './camera/camera-vfx-item';
5
- export * from './interact/click-handler';
6
- export * from './interact/event-system';
7
- export * from './interact/interact-loader';
8
- export * from './interact/interact-mesh';
9
- export * from './interact/interact-vfx-item';
10
- export * from './interact/interact-item';
11
- export * from './sprite/sprite-loader';
12
- export * from './sprite/sprite-vfx-item';
13
- export * from './sprite/sprite-item';
14
- export * from './sprite/sprite-mesh';
15
- export * from './sprite/filter-sprite-vfx-item';
16
- export * from './particle/particle-loader';
17
- export * from './particle/particle-mesh';
18
- export * from './particle/particle-vfx-item';
19
- export * from './particle/particle-system';
20
- export * from './cal/calculate-loader';
21
- export * from './cal/calculate-vfx-item';
22
- export * from './cal/calculate-item';
23
- export * from './text/text-item';
24
- export * from './text/text-loader';
25
- export * from './text/text-mesh';
26
- export * from './text/text-vfx-item';
@@ -1,66 +0,0 @@
1
- import type * as spec from '@galacean/effects-specification';
2
- import type { Matrix4, Ray, TriangleLike, Vector2, Vector3 } from '@galacean/effects-math/es/core/index';
3
- import type { CompVFXItem } from '../../comp-vfx-item';
4
- export declare enum HitTestType {
5
- triangle = 1,
6
- box = 2,
7
- sphere = 3,
8
- custom = 4
9
- }
10
- export interface BoundingBoxData {
11
- type: HitTestType;
12
- area: (TriangleLike | Record<string, Vector3>)[];
13
- }
14
- export interface BoundingBoxTriangle extends BoundingBoxData {
15
- type: HitTestType.triangle;
16
- area: TriangleLike[];
17
- }
18
- export interface BoundingBoxSphere extends BoundingBoxData {
19
- type: HitTestType.sphere;
20
- area: {
21
- center: Vector3;
22
- size: Vector3;
23
- }[];
24
- }
25
- export interface HitTestTriangleParams {
26
- type: HitTestType.triangle;
27
- triangles: TriangleLike[];
28
- backfaceCulling?: boolean;
29
- behavior?: spec.InteractBehavior;
30
- }
31
- export interface HitTestBoxParams {
32
- type: HitTestType.box;
33
- center: Vector3;
34
- size: Vector3;
35
- behavior?: spec.InteractBehavior;
36
- }
37
- export interface HitTestSphereParams {
38
- type: HitTestType.sphere;
39
- center: Vector3;
40
- radius: number;
41
- behavior?: spec.InteractBehavior;
42
- }
43
- export interface HitTestCustomParams {
44
- type: HitTestType.custom;
45
- collect(ray: Ray, pointInCanvas: Vector2): Vector3[] | void;
46
- behavior?: spec.InteractBehavior;
47
- }
48
- export type Region = {
49
- compContent: CompVFXItem;
50
- name: string;
51
- id: string;
52
- position: Vector3;
53
- behavior?: spec.InteractBehavior;
54
- parentId?: string;
55
- hitPositions?: Vector3[];
56
- };
57
- export type HitTestParams = {
58
- camera: {
59
- position: Vector3;
60
- direction: Vector3;
61
- viewProjection: Matrix4;
62
- };
63
- x: number;
64
- y: number;
65
- inRect: (position: Vector3, width: number, height: number) => boolean;
66
- };
@@ -1,37 +0,0 @@
1
- import * as spec from '@galacean/effects-specification';
2
- import type { Disposable } from '../../utils';
3
- export declare const EVENT_TYPE_CLICK = "click";
4
- export declare const EVENT_TYPE_TOUCH_START = "touchstart";
5
- export declare const EVENT_TYPE_TOUCH_MOVE = "touchmove";
6
- export declare const EVENT_TYPE_TOUCH_END = "touchend";
7
- export declare const InteractBehavior: typeof spec.InteractBehavior;
8
- export type TouchEventType = {
9
- x: number;
10
- y: number;
11
- vx: number;
12
- vy: number;
13
- ts: number;
14
- dx: number;
15
- dy: number;
16
- width: number;
17
- height: number;
18
- origin: Event;
19
- };
20
- export type TouchParams = {
21
- clientX: number;
22
- clientY: number;
23
- target: EventTarget;
24
- };
25
- export declare class EventSystem implements Disposable {
26
- private target;
27
- allowPropagation: boolean;
28
- enabled: boolean;
29
- private handlers;
30
- private nativeHandlers;
31
- constructor(target: HTMLCanvasElement | null, allowPropagation?: boolean);
32
- bindListeners(): void;
33
- dispatchEvent(type: string, event: TouchEventType): void;
34
- addEventListener(type: string, callback: (event: TouchEventType) => void): () => void;
35
- removeEventListener(type: string, callback: (event: TouchEventType) => void): void;
36
- dispose(): void;
37
- }
@@ -1,2 +0,0 @@
1
- export declare class InteractItem {
2
- }
@@ -1,13 +0,0 @@
1
- import { AbstractPlugin } from '../index';
2
- import type { RenderFrame } from '../../render';
3
- import type { Composition } from '../../composition';
4
- import type { VFXItem } from '../../vfx-item';
5
- import type { InteractItem } from './interact-item';
6
- export declare class InteractLoader extends AbstractPlugin {
7
- private mesh;
8
- onCompositionItemLifeBegin(composition: Composition, item: VFXItem<InteractItem>): void;
9
- onCompositionItemRemoved(composition: Composition, item: VFXItem<InteractItem>): void;
10
- prepareRenderFrame(composition: Composition, renderFrame: RenderFrame): boolean;
11
- private addMesh;
12
- private removeMesh;
13
- }
@@ -1,16 +0,0 @@
1
- import type * as spec from '@galacean/effects-specification';
2
- import type { MeshRendererOptions } from '../../render';
3
- import { Mesh } from '../../render';
4
- import type { Transform } from '../../transform';
5
- import type { Engine } from '../../engine';
6
- export declare class InteractMesh {
7
- private readonly transform;
8
- private readonly engine;
9
- mesh: Mesh;
10
- private readonly color;
11
- constructor(props: spec.InteractContent, rendererOptions: MeshRendererOptions, transform: Transform, engine: Engine);
12
- updateMesh(): void;
13
- private createMaterial;
14
- private createGeometry;
15
- private createMesh;
16
- }
@@ -1,28 +0,0 @@
1
- import * as spec from '@galacean/effects-specification';
2
- import type { VFXItemProps } from '../../vfx-item';
3
- import { VFXItem } from '../../vfx-item';
4
- import type { HitTestTriangleParams, BoundingBoxTriangle } from './click-handler';
5
- import type { Composition } from '../../composition';
6
- import { InteractMesh } from './interact-mesh';
7
- import type { InteractItem } from './interact-item';
8
- import type { Engine } from '../../engine';
9
- export declare class InteractVFXItem extends VFXItem<InteractItem> {
10
- previewContent: InteractMesh | null;
11
- private ui;
12
- private clickable;
13
- private dragEvent;
14
- private bouncingArg;
15
- engine?: Engine;
16
- constructor(props: VFXItemProps, composition: Composition);
17
- get type(): spec.ItemType;
18
- onConstructed(options: spec.InteractItem): void;
19
- onLifetimeBegin(composition: Composition): void;
20
- onItemUpdate(): void;
21
- onItemRemoved(composition: Composition): void;
22
- getBoundingBox(): BoundingBoxTriangle | void;
23
- getHitTestParams(): HitTestTriangleParams | void;
24
- protected doCreateContent(composition: Composition): InteractItem;
25
- private beginDragTarget;
26
- private endDragTarget;
27
- private handleDragMove;
28
- }
@@ -1,21 +0,0 @@
1
- export declare class Burst {
2
- once: boolean;
3
- disabled: boolean;
4
- private now;
5
- private index;
6
- private internalCycles;
7
- private readonly time;
8
- private readonly interval;
9
- private readonly count;
10
- private readonly cycles;
11
- private readonly probability;
12
- constructor(opts: any);
13
- getGeneratorOptions(timePassed: number, lifetime: number): {
14
- index: number;
15
- total: number;
16
- count: number;
17
- cycleIndex: number;
18
- } | null | undefined;
19
- reset(): void;
20
- clone(): Burst;
21
- }
@@ -1,21 +0,0 @@
1
- declare class LinkNode<T> {
2
- content: T;
3
- next: LinkNode<T> | null;
4
- pre: LinkNode<T> | null;
5
- constructor(content: T);
6
- }
7
- export declare class Link<T> {
8
- private readonly sort;
9
- first: LinkNode<T>;
10
- last: LinkNode<T>;
11
- length: number;
12
- constructor(sort: (a: T, b: T) => number);
13
- findNodeByContent(filter: (d: T) => boolean): LinkNode<T> | undefined;
14
- private insertNode;
15
- shiftNode(content: T): LinkNode<T> | undefined;
16
- pushNode(content: T): LinkNode<T> | undefined;
17
- removeNode(node: LinkNode<T>): void;
18
- forEach(func: (content: T, index: number) => void, thisObj?: any): void;
19
- forEachReverse(func: (content: T, index: number) => void, thisObj?: any): void;
20
- }
21
- export {};
@@ -1,18 +0,0 @@
1
- import * as spec from '@galacean/effects-specification';
2
- import type { Composition } from '../../composition';
3
- import type { Renderer, RenderFrame } from '../../render';
4
- import { type VFXItem } from '../../vfx-item';
5
- import { AbstractPlugin } from '../index';
6
- import type { ParticleSystem } from './particle-system';
7
- import type { PrecompileOptions } from '../../plugin-system';
8
- import type { Engine } from '../../engine';
9
- export declare class ParticleLoader extends AbstractPlugin {
10
- private meshes;
11
- engine: Engine;
12
- static precompile(compositions: spec.Composition[], renderer: Renderer, options?: PrecompileOptions): Promise<any>;
13
- onCompositionItemLifeBegin(composition: Composition, item: VFXItem<ParticleSystem>): void;
14
- onCompositionItemRemoved(composition: Composition, item: VFXItem<ParticleSystem>): void;
15
- prepareRenderFrame(composition: Composition, pipeline: RenderFrame): boolean;
16
- private add;
17
- private remove;
18
- }