@polarfront-lab/ionian 1.0.4 → 1.0.6

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.
package/dist/index.d.ts CHANGED
@@ -1,183 +1,166 @@
1
- import * as THREE from 'three';
2
-
3
- /**
4
- * Represents an entry for an asset, pairing an ID with the asset itself.
5
- * @template T The type of the asset.
6
- */
7
- export declare type AssetEntry<T> = {
8
- id: string;
9
- item: T;
10
- };
11
-
12
- /**
13
- * Represents a collection of assets, organized by asset ID and further
14
- * categorized by numerical keys (e.g., texture size).
15
- * @template T The type of the asset.
16
- */
17
- export declare type Assets<T> = Map<string, Map<number, T>>;
18
-
19
- export declare type Callback = () => void;
20
-
21
- export declare type DataTextureEntry = {
22
- textureSize: number;
23
- dataTexture: THREE.DataTexture;
24
- };
25
-
26
- declare type DataTextureEvents = {
27
- meshRegistered: {
28
- id: string;
29
- };
30
- };
31
-
32
- /**
33
- * Represents an easing function.
34
- */
35
- export declare interface EasingFunction {
36
- (n: number): number;
37
- }
38
-
39
- export declare type Events = GlobalEvents & SimulationEvents & DataTextureEvents & MatcapEvents & TransitionEvents;
40
-
41
- declare type GlobalEvents = {
42
- serviceStateUpdated: {
43
- type: ServiceType;
44
- state: ServiceState;
45
- };
46
- interactionPositionUpdated: {
47
- position: THREE.Vector4Like;
48
- };
49
- invalidRequest: {
50
- message: string;
51
- };
52
- };
53
-
54
- declare type MatcapEvents = {
55
- matcapRegistered: {
56
- id: string;
57
- };
58
- matcapReplaced: {
59
- id: string;
60
- };
61
- };
62
-
63
- /**
64
- * Represents the data of a mesh, including its position, normal, and scale.
65
- */
66
- export declare type MeshData = {
67
- position: ArrayLike<number>;
68
- normal?: ArrayLike<number>;
69
- scale: {
70
- x: number;
71
- y: number;
72
- z: number;
73
- };
74
- };
75
-
76
- /**
77
- * The main class for the particle engine.
78
- */
79
- export declare class ParticlesEngine {
80
- private simulationRendererService;
81
- private eventEmitter;
82
- private renderer;
83
- private scene;
84
- private serviceStates;
85
- private dataTextureManager;
86
- private matcapService;
87
- private instancedMeshManager;
88
- private transitionService;
89
- private engineState;
90
- private intersectionService;
91
- /**
92
- * Creates a new ParticlesEngine instance.
93
- * @param params The parameters for creating the instance.
94
- */
95
- constructor(params: ParticlesEngineParameters);
96
- /**
97
- * Renders the scene.
98
- * @param elapsedTime The elapsed time since the last frame.
99
- */
100
- render(elapsedTime: number): void;
101
- setOriginDataTexture(meshID: string, override?: boolean): void;
102
- setDestinationDataTexture(meshID: string, override?: boolean): void;
103
- setDataTextureTransitionProgress(progress: number, override?: boolean): void;
104
- setOriginMatcap(matcapID: string, override?: boolean): void;
105
- setDestinationMatcap(matcapID: string, override?: boolean): void;
106
- setMatcapProgress(progress: number, override?: boolean): void;
107
- setTextureSize(size: number): Promise<void>;
108
- setPointerPosition(position: THREE.Vector2Like): void;
109
- setGeometrySize(geometrySize: THREE.Vector3Like): void;
110
- setVelocityTractionForce(force: number): void;
111
- setPositionalTractionForce(force: number): void;
112
- setMaxRepelDistance(distance: number): void;
113
- scheduleMeshTransition(originMeshID: string, destinationMeshID: string, easing?: EasingFunction, duration?: number, override?: boolean): void;
114
- scheduleMatcapTransition(originMatcapID: string, destinationMatcapID: string, easing?: EasingFunction, duration?: number, override?: boolean): void;
115
- handleServiceStateUpdated({ type, state }: {
116
- type: ServiceType;
117
- state: ServiceState;
118
- }): void;
119
- /**
120
- * Disposes the resources used by the engine.
121
- */
122
- dispose(): void;
123
- private initialEngineState;
124
- private initialServiceStates;
125
- private handleTransitionProgress;
126
- private handleInteractionPositionUpdated;
127
- }
128
-
129
- /**
130
- * Parameters for creating a ParticlesEngine instance.
131
- */
132
- declare type ParticlesEngineParameters = {
133
- textureSize: number;
134
- scene: THREE.Scene;
135
- renderer: THREE.WebGLRenderer;
136
- meshes?: AssetEntry<THREE.Mesh>[];
137
- matcaps?: AssetEntry<THREE.Texture>[];
138
- camera?: THREE.Camera;
139
- };
140
-
141
- export declare type ServiceState = 'created' | 'initializing' | 'ready' | 'disposed' | 'error' | 'loading';
142
-
143
- export declare type ServiceType = 'data-texture' | 'matcap' | 'instanced-mesh' | 'simulation';
144
-
145
- declare type SimulationEvents = {};
146
-
147
- export declare type TransitionCallback = (progress: number) => void;
148
-
149
- export declare interface TransitionDetail {
150
- duration: number;
151
- easing: EasingFunction;
152
- }
153
-
154
- declare type TransitionEvents = {
155
- /** transition started */
156
- transitionStarted: {
157
- type: TransitionType;
158
- };
159
- /** transition progressed */
160
- transitionProgressed: {
161
- type: TransitionType;
162
- progress: number;
163
- };
164
- /** transition finished */
165
- transitionFinished: {
166
- type: TransitionType;
167
- };
168
- /** transition cancelled */
169
- transitionCancelled: {
170
- type: TransitionType;
171
- };
172
- };
173
-
174
- export declare type TransitionOptions = {
175
- onTransitionBegin?: Callback;
176
- onTransitionProgress?: TransitionCallback;
177
- onTransitionFinished?: Callback;
178
- onTransitionCancelled?: Callback;
179
- };
180
-
181
- export declare type TransitionType = 'data-texture' | 'matcap';
182
-
183
- export { }
1
+ // Generated by dts-bundle-generator v9.5.1
2
+
3
+ import * as THREE from 'three';
4
+
5
+ /**
6
+ * Represents an entry for an asset, pairing an ID with the asset itself.
7
+ * @template T The type of the asset.
8
+ */
9
+ export type AssetEntry<T> = {
10
+ id: string;
11
+ item: T;
12
+ };
13
+ /**
14
+ * Represents a collection of assets, organized by asset ID and further
15
+ * categorized by numerical keys (e.g., texture size).
16
+ * @template T The type of the asset.
17
+ */
18
+ export type Assets<T> = Map<string, Map<number, T>>;
19
+ /**
20
+ * Represents the data of a mesh, including its position, normal, and scale.
21
+ */
22
+ export type MeshData = {
23
+ position: ArrayLike<number>;
24
+ normal?: ArrayLike<number>;
25
+ scale: {
26
+ x: number;
27
+ y: number;
28
+ z: number;
29
+ };
30
+ };
31
+ /**
32
+ * Represents an easing function.
33
+ */
34
+ export interface EasingFunction {
35
+ (n: number): number;
36
+ }
37
+ export type DataTextureEntry = {
38
+ textureSize: number;
39
+ dataTexture: THREE.DataTexture;
40
+ };
41
+ export type ServiceType = "data-texture" | "matcap" | "instanced-mesh" | "simulation";
42
+ export type ServiceState = "created" | "initializing" | "ready" | "disposed" | "error" | "loading";
43
+ export type TransitionType = "data-texture" | "matcap";
44
+ export interface TransitionDetail {
45
+ duration: number;
46
+ easing: EasingFunction;
47
+ }
48
+ export type TransitionCallback = (progress: number) => void;
49
+ export type Callback = () => void;
50
+ export type TransitionOptions = {
51
+ onTransitionBegin?: Callback;
52
+ onTransitionProgress?: TransitionCallback;
53
+ onTransitionFinished?: Callback;
54
+ onTransitionCancelled?: Callback;
55
+ };
56
+ /**
57
+ * Parameters for creating a ParticlesEngine instance.
58
+ */
59
+ export type ParticlesEngineParameters = {
60
+ textureSize: number;
61
+ scene: THREE.Scene;
62
+ renderer: THREE.WebGLRenderer;
63
+ meshes?: AssetEntry<THREE.Mesh>[];
64
+ matcaps?: AssetEntry<THREE.Texture>[];
65
+ camera?: THREE.Camera;
66
+ };
67
+ /**
68
+ * The main class for the particle engine.
69
+ */
70
+ export declare class ParticlesEngine {
71
+ private simulationRendererService;
72
+ private eventEmitter;
73
+ private renderer;
74
+ private scene;
75
+ private serviceStates;
76
+ private dataTextureManager;
77
+ private matcapService;
78
+ private instancedMeshManager;
79
+ private transitionService;
80
+ private engineState;
81
+ private intersectionService;
82
+ /**
83
+ * Creates a new ParticlesEngine instance.
84
+ * @param params The parameters for creating the instance.
85
+ */
86
+ constructor(params: ParticlesEngineParameters);
87
+ /**
88
+ * Renders the scene.
89
+ * @param elapsedTime The elapsed time since the last frame.
90
+ */
91
+ render(elapsedTime: number): void;
92
+ setOriginDataTexture(meshID: string, override?: boolean): void;
93
+ setDestinationDataTexture(meshID: string, override?: boolean): void;
94
+ setDataTextureTransitionProgress(progress: number, override?: boolean): void;
95
+ setOriginMatcap(matcapID: string, override?: boolean): void;
96
+ setDestinationMatcap(matcapID: string, override?: boolean): void;
97
+ setMatcapProgress(progress: number, override?: boolean): void;
98
+ setTextureSize(size: number): Promise<void>;
99
+ setPointerPosition(position: THREE.Vector2Like): void;
100
+ setGeometrySize(geometrySize: THREE.Vector3Like): void;
101
+ setVelocityTractionForce(force: number): void;
102
+ setPositionalTractionForce(force: number): void;
103
+ setMaxRepelDistance(distance: number): void;
104
+ scheduleMeshTransition(originMeshID: string, destinationMeshID: string, easing?: EasingFunction, duration?: number, override?: boolean): void;
105
+ scheduleMatcapTransition(originMatcapID: string, destinationMatcapID: string, easing?: EasingFunction, duration?: number, override?: boolean): void;
106
+ handleServiceStateUpdated({ type, state }: {
107
+ type: ServiceType;
108
+ state: ServiceState;
109
+ }): void;
110
+ /**
111
+ * Disposes the resources used by the engine.
112
+ */
113
+ dispose(): void;
114
+ private initialEngineState;
115
+ private initialServiceStates;
116
+ private handleTransitionProgress;
117
+ private handleInteractionPositionUpdated;
118
+ }
119
+ export type TransitionEvents = {
120
+ /** transition started */
121
+ transitionStarted: {
122
+ type: TransitionType;
123
+ };
124
+ /** transition progressed */
125
+ transitionProgressed: {
126
+ type: TransitionType;
127
+ progress: number;
128
+ };
129
+ /** transition finished */
130
+ transitionFinished: {
131
+ type: TransitionType;
132
+ };
133
+ /** transition cancelled */
134
+ transitionCancelled: {
135
+ type: TransitionType;
136
+ };
137
+ };
138
+ export type DataTextureEvents = {
139
+ meshRegistered: {
140
+ id: string;
141
+ };
142
+ };
143
+ export type GlobalEvents = {
144
+ serviceStateUpdated: {
145
+ type: ServiceType;
146
+ state: ServiceState;
147
+ };
148
+ interactionPositionUpdated: {
149
+ position: THREE.Vector4Like;
150
+ };
151
+ invalidRequest: {
152
+ message: string;
153
+ };
154
+ };
155
+ export type MatcapEvents = {
156
+ matcapRegistered: {
157
+ id: string;
158
+ };
159
+ matcapReplaced: {
160
+ id: string;
161
+ };
162
+ };
163
+ export type SimulationEvents = {};
164
+ export type Events = GlobalEvents & SimulationEvents & DataTextureEvents & MatcapEvents & TransitionEvents;
165
+
166
+ export {};