@quick-threejs/reactive 0.1.20 → 0.1.22
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/common/constants/event.constants.d.ts +2 -0
- package/dist/common/constants/index.d.ts +1 -0
- package/dist/common/enums/camera.enum.d.ts +4 -0
- package/dist/common/enums/index.d.ts +2 -0
- package/dist/common/enums/lifecycle.enum.d.ts +10 -0
- package/dist/common/index.d.ts +5 -0
- package/dist/common/interfaces/canvas.interface.d.ts +6 -0
- package/dist/common/interfaces/core.interface.d.ts +11 -0
- package/dist/common/interfaces/event.interface.d.ts +10 -0
- package/dist/common/interfaces/index.d.ts +5 -0
- package/dist/common/interfaces/module.interface.d.ts +19 -0
- package/dist/common/interfaces/resource.interface.d.ts +14 -0
- package/dist/common/models/app-proxy-event-handler.model.d.ts +32 -0
- package/dist/common/models/index.d.ts +7 -0
- package/dist/common/models/launch-app-props.model.d.ts +8 -0
- package/dist/common/models/proxy-event-handler.model.d.ts +19 -0
- package/dist/common/models/proxy-event-observables.model.d.ts +20 -0
- package/dist/common/models/proxy-event-subjects.models.d.ts +19 -0
- package/dist/common/models/register-props.model.d.ts +75 -0
- package/dist/common/models/register-proxy-event-handler.model.d.ts +17 -0
- package/dist/common/types/index.d.ts +1 -0
- package/dist/common/types/object.type.d.ts +13 -0
- package/dist/core/app/app.component.d.ts +7 -0
- package/dist/core/app/app.controller.d.ts +10 -0
- package/dist/core/app/app.module-worker.d.ts +5 -0
- package/dist/core/app/app.module.d.ts +35 -0
- package/dist/core/app/camera/camera.component.d.ts +18 -0
- package/dist/core/app/camera/camera.controller.d.ts +12 -0
- package/dist/core/app/camera/camera.module.d.ts +20 -0
- package/dist/core/app/debug/debug.component.d.ts +28 -0
- package/dist/core/app/debug/debug.controller.d.ts +9 -0
- package/dist/core/app/debug/debug.module.d.ts +17 -0
- package/dist/core/app/renderer/renderer.component.d.ts +19 -0
- package/dist/core/app/renderer/renderer.controller.d.ts +15 -0
- package/dist/core/app/renderer/renderer.module.d.ts +17 -0
- package/dist/core/app/sizes/sizes.component.d.ts +10 -0
- package/dist/core/app/sizes/sizes.controller.d.ts +12 -0
- package/dist/core/app/sizes/sizes.module.d.ts +19 -0
- package/dist/core/app/timer/timer.component.d.ts +8 -0
- package/dist/core/app/timer/timer.controller.d.ts +14 -0
- package/dist/core/app/timer/timer.module.d.ts +19 -0
- package/dist/core/app/world/world.component.d.ts +5 -0
- package/dist/core/app/world/world.controller.d.ts +5 -0
- package/dist/core/app/world/world.module.d.ts +14 -0
- package/dist/core/index.d.ts +4 -0
- package/dist/core/loader/loader.component.d.ts +25 -0
- package/dist/core/loader/loader.controller.d.ts +9 -0
- package/dist/core/loader/loader.module-worker.d.ts +3 -0
- package/dist/core/loader/loader.module.d.ts +34 -0
- package/dist/core/register/register.component.d.ts +13 -0
- package/dist/core/register/register.controller.d.ts +77 -0
- package/dist/core/register/register.module.d.ts +46 -0
- package/dist/core/register/register.util.d.ts +10 -0
- package/dist/main.d.ts +2 -26
- package/dist/main.js +6537 -3792
- package/dist/main.umd.cjs +68 -0
- package/dist/main.worker.d.ts +1 -12
- package/package.json +16 -11
- package/dist/main.d.mts +0 -26
- package/dist/main.js.map +0 -1
- package/dist/main.mjs +0 -4245
- package/dist/main.mjs.map +0 -1
- package/dist/main.worker-DSzVtnTj.d.mts +0 -728
- package/dist/main.worker-DSzVtnTj.d.ts +0 -728
- package/dist/main.worker.d.mts +0 -12
- package/dist/main.worker.js +0 -3564
- package/dist/main.worker.js.map +0 -1
- package/dist/main.worker.mjs +0 -3550
- package/dist/main.worker.mjs.map +0 -1
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { TimerComponent } from './timer.component';
|
|
2
|
+
import { RendererComponent } from '../renderer/renderer.component';
|
|
3
|
+
import { TimerController } from './timer.controller';
|
|
4
|
+
import { Module } from '../../../common/interfaces/module.interface';
|
|
5
|
+
export declare class TimerModule implements Module {
|
|
6
|
+
private readonly component;
|
|
7
|
+
private readonly controller;
|
|
8
|
+
private readonly rendererComponent;
|
|
9
|
+
constructor(component: TimerComponent, controller: TimerController, rendererComponent: RendererComponent);
|
|
10
|
+
init(startTimer?: boolean): void;
|
|
11
|
+
clock(): import('three').Clock;
|
|
12
|
+
frame(): number;
|
|
13
|
+
delta(value?: number): number;
|
|
14
|
+
deltaRatio(value?: number): number;
|
|
15
|
+
enabled(value?: boolean): boolean;
|
|
16
|
+
dispose(): void;
|
|
17
|
+
enabled$(): import('rxjs').Observable<boolean>;
|
|
18
|
+
step$(): import('rxjs').Observable<import('../../../common').StepPayload>;
|
|
19
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { Scene } from 'three';
|
|
2
|
+
import { WorldComponent } from './world.component';
|
|
3
|
+
import { WorldController } from './world.controller';
|
|
4
|
+
import { Module } from '../../../common/interfaces/module.interface';
|
|
5
|
+
export declare class WorldModule implements Module {
|
|
6
|
+
private readonly component;
|
|
7
|
+
private readonly controller;
|
|
8
|
+
constructor(component: WorldComponent, controller: WorldController);
|
|
9
|
+
init(): void;
|
|
10
|
+
dispose(): void;
|
|
11
|
+
scene(value?: Scene): Scene;
|
|
12
|
+
enabled(value?: boolean): boolean;
|
|
13
|
+
get enable$(): import('rxjs').Observable<boolean>;
|
|
14
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { AudioLoader, CubeTextureLoader, ImageBitmapLoader, LoadingManager } from 'three';
|
|
2
|
+
import { GLTFLoader } from 'three/examples/jsm/loaders/GLTFLoader.js';
|
|
3
|
+
import { DRACOLoader } from 'three/examples/jsm/loaders/DRACOLoader.js';
|
|
4
|
+
import { LoadedResourceItem, Resource } from '../../common/interfaces/resource.interface';
|
|
5
|
+
export declare class LoaderComponent {
|
|
6
|
+
readonly loadingManager: LoadingManager;
|
|
7
|
+
readonly loaders: {
|
|
8
|
+
dracoLoader?: DRACOLoader;
|
|
9
|
+
gltfLoader?: GLTFLoader;
|
|
10
|
+
textureLoader?: ImageBitmapLoader;
|
|
11
|
+
cubeTextureLoader?: CubeTextureLoader;
|
|
12
|
+
audioLoader?: AudioLoader;
|
|
13
|
+
videoLoader?: LoaderComponent["videoLoader"];
|
|
14
|
+
};
|
|
15
|
+
resources: Resource[];
|
|
16
|
+
items: {
|
|
17
|
+
[name: Resource["name"]]: LoadedResourceItem;
|
|
18
|
+
};
|
|
19
|
+
toLoad: number;
|
|
20
|
+
loaded: number;
|
|
21
|
+
private get videoLoader();
|
|
22
|
+
private _setLoaders;
|
|
23
|
+
setResources(resources: Resource[]): void;
|
|
24
|
+
init(resources?: Resource[]): void;
|
|
25
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { Subject } from 'rxjs';
|
|
2
|
+
import { ProgressedResource } from '../../common/interfaces/resource.interface';
|
|
3
|
+
export declare class LoaderController {
|
|
4
|
+
readonly lifecycle$$: Subject<unknown>;
|
|
5
|
+
readonly progress$$: Subject<ProgressedResource>;
|
|
6
|
+
readonly progress$: import('rxjs').Observable<ProgressedResource>;
|
|
7
|
+
readonly lifecycle$: import('rxjs').Observable<unknown>;
|
|
8
|
+
readonly progressCompleted$: import('rxjs').Observable<ProgressedResource>;
|
|
9
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { DRACOLoader } from 'three/examples/jsm/loaders/DRACOLoader.js';
|
|
2
|
+
import { WorkerThreadModule } from '@quick-threejs/utils';
|
|
3
|
+
import { LoaderController } from './loader.controller';
|
|
4
|
+
import { LoaderComponent } from './loader.component';
|
|
5
|
+
import { Module } from '../../common/interfaces/module.interface';
|
|
6
|
+
import { LoadedResourceItem, Resource } from '../../common/interfaces/resource.interface';
|
|
7
|
+
export declare class LoaderModule implements Module, WorkerThreadModule {
|
|
8
|
+
private readonly controller;
|
|
9
|
+
private readonly component;
|
|
10
|
+
constructor(controller: LoaderController, component: LoaderComponent);
|
|
11
|
+
private _handleLoadedResource;
|
|
12
|
+
setDracoLoader(dracoDecoderPath: string, linkWithGltfLoader?: boolean): void;
|
|
13
|
+
load(): void;
|
|
14
|
+
items(): {
|
|
15
|
+
[name: string]: LoadedResourceItem;
|
|
16
|
+
};
|
|
17
|
+
loaders(): {
|
|
18
|
+
dracoLoader?: DRACOLoader;
|
|
19
|
+
gltfLoader?: import('three/examples/jsm/loaders/GLTFLoader').GLTFLoader;
|
|
20
|
+
textureLoader?: import('three').ImageBitmapLoader;
|
|
21
|
+
cubeTextureLoader?: import('three').CubeTextureLoader;
|
|
22
|
+
audioLoader?: import('three').AudioLoader;
|
|
23
|
+
videoLoader?: LoaderComponent["videoLoader"];
|
|
24
|
+
};
|
|
25
|
+
resources(): Resource[];
|
|
26
|
+
loaded(): number;
|
|
27
|
+
toLoad(): number;
|
|
28
|
+
init(resources?: Resource[]): void;
|
|
29
|
+
dispose(): void;
|
|
30
|
+
lifecycle$(): import('rxjs').Observable<unknown>;
|
|
31
|
+
progress$(): import('rxjs').Observable<import('../../common/interfaces/resource.interface').ProgressedResource>;
|
|
32
|
+
progressCompleted$(): import('rxjs').Observable<import('../../common/interfaces/resource.interface').ProgressedResource>;
|
|
33
|
+
}
|
|
34
|
+
export declare const loaderModule: LoaderModule;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { WorkerThreadResolution } from '@quick-threejs/utils';
|
|
2
|
+
import { default as GUI } from 'three/examples/jsm/libs/lil-gui.module.min.js';
|
|
3
|
+
import { default as Stats } from 'stats.js';
|
|
4
|
+
import { ExposedAppModule } from '../app/app.module-worker';
|
|
5
|
+
export declare class RegisterComponent {
|
|
6
|
+
readonly workerPool: import('@quick-threejs/utils').WorkerPool;
|
|
7
|
+
canvas: HTMLCanvasElement;
|
|
8
|
+
worker: WorkerThreadResolution<ExposedAppModule>["worker"];
|
|
9
|
+
thread: WorkerThreadResolution<ExposedAppModule>["thread"];
|
|
10
|
+
gui?: GUI;
|
|
11
|
+
stats?: Stats;
|
|
12
|
+
init(app: WorkerThreadResolution<ExposedAppModule>): void;
|
|
13
|
+
}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { Subject } from 'rxjs';
|
|
2
|
+
import { RegisterComponent } from './register.component';
|
|
3
|
+
import { RegisterLifecycleState } from '../../common/enums/lifecycle.enum';
|
|
4
|
+
import { ProxyEventHandlersModel } from '../../common/models/proxy-event-handler.model';
|
|
5
|
+
export declare class RegisterController extends ProxyEventHandlersModel {
|
|
6
|
+
private readonly component;
|
|
7
|
+
private canvas;
|
|
8
|
+
readonly lifecycle$$: Subject<RegisterLifecycleState>;
|
|
9
|
+
readonly lifecycle$: import('rxjs').Observable<RegisterLifecycleState>;
|
|
10
|
+
constructor(component: RegisterComponent);
|
|
11
|
+
init(canvas: HTMLCanvasElement): void;
|
|
12
|
+
preventDefaultHandler(e: Event): {
|
|
13
|
+
type: string;
|
|
14
|
+
};
|
|
15
|
+
getScreenSizes(): {
|
|
16
|
+
width: number;
|
|
17
|
+
height: number;
|
|
18
|
+
windowWidth: number;
|
|
19
|
+
windowHeight: number;
|
|
20
|
+
};
|
|
21
|
+
uiEventHandler(e: UIEvent): {
|
|
22
|
+
type: string;
|
|
23
|
+
top: number;
|
|
24
|
+
left: number;
|
|
25
|
+
width: number;
|
|
26
|
+
height: number;
|
|
27
|
+
windowWidth: number;
|
|
28
|
+
windowHeight: number;
|
|
29
|
+
};
|
|
30
|
+
mouseEventHandler(e: PointerEvent): {
|
|
31
|
+
button: number;
|
|
32
|
+
clientX: number;
|
|
33
|
+
clientY: number;
|
|
34
|
+
ctrlKey: boolean;
|
|
35
|
+
metaKey: boolean;
|
|
36
|
+
pageX: number;
|
|
37
|
+
pageY: number;
|
|
38
|
+
shiftKey: boolean;
|
|
39
|
+
pointerType: string;
|
|
40
|
+
type?: string;
|
|
41
|
+
width: number;
|
|
42
|
+
height: number;
|
|
43
|
+
windowWidth: number;
|
|
44
|
+
windowHeight: number;
|
|
45
|
+
};
|
|
46
|
+
touchEventHandler(e: TouchEvent): {
|
|
47
|
+
type: string;
|
|
48
|
+
touches: {
|
|
49
|
+
pageX: number;
|
|
50
|
+
pageY: number;
|
|
51
|
+
}[];
|
|
52
|
+
width: number;
|
|
53
|
+
height: number;
|
|
54
|
+
windowWidth: number;
|
|
55
|
+
windowHeight: number;
|
|
56
|
+
};
|
|
57
|
+
wheelEventHandler(e: WheelEvent): {
|
|
58
|
+
deltaX: number;
|
|
59
|
+
deltaY: number;
|
|
60
|
+
type?: string;
|
|
61
|
+
width: number;
|
|
62
|
+
height: number;
|
|
63
|
+
windowWidth: number;
|
|
64
|
+
windowHeight: number;
|
|
65
|
+
};
|
|
66
|
+
keyEventHandler(e: KeyboardEvent): {
|
|
67
|
+
ctrlKey: boolean;
|
|
68
|
+
metaKey: boolean;
|
|
69
|
+
shiftKey: boolean;
|
|
70
|
+
keyCode: number;
|
|
71
|
+
type?: string;
|
|
72
|
+
width: number;
|
|
73
|
+
height: number;
|
|
74
|
+
windowWidth: number;
|
|
75
|
+
windowHeight: number;
|
|
76
|
+
} | undefined;
|
|
77
|
+
}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { RegisterComponent } from './register.component';
|
|
2
|
+
import { RegisterController } from './register.controller';
|
|
3
|
+
import { LoaderModule } from '../loader/loader.module';
|
|
4
|
+
import { ExposedLoaderModule } from '../loader/loader.module-worker';
|
|
5
|
+
import { ExposedAppModule } from '../app/app.module-worker';
|
|
6
|
+
import { RegisterPropsModel } from '../../common/models/register-props.model';
|
|
7
|
+
import { RegisterLifecycleState } from '../../common/enums/lifecycle.enum';
|
|
8
|
+
import { RegisterProxyEventHandlersModel } from '../../common/models/register-proxy-event-handler.model';
|
|
9
|
+
import { ProgressedResource, Resource } from '../../common/interfaces/resource.interface';
|
|
10
|
+
import { Module } from '../../common/interfaces/module.interface';
|
|
11
|
+
export declare class RegisterModule extends RegisterProxyEventHandlersModel implements Module {
|
|
12
|
+
private readonly component;
|
|
13
|
+
private readonly controller;
|
|
14
|
+
private readonly registerProps;
|
|
15
|
+
constructor(component: RegisterComponent, controller: RegisterController, registerProps: RegisterPropsModel);
|
|
16
|
+
private _initCanvas;
|
|
17
|
+
private _initComponent;
|
|
18
|
+
private _initController;
|
|
19
|
+
private _initWorkerThread;
|
|
20
|
+
private _initProxyEvents;
|
|
21
|
+
init(): Promise<void>;
|
|
22
|
+
loadResources(props: {
|
|
23
|
+
resources: Resource[];
|
|
24
|
+
disposeOnComplete?: boolean;
|
|
25
|
+
onMainThread?: boolean;
|
|
26
|
+
immediateLoad?: boolean;
|
|
27
|
+
onProgress?: (resource: ProgressedResource) => unknown;
|
|
28
|
+
onProgressComplete?: (resource: ProgressedResource) => unknown;
|
|
29
|
+
}): Promise<{
|
|
30
|
+
load: LoaderModule["load"];
|
|
31
|
+
items: ReturnType<LoaderModule["items"]>;
|
|
32
|
+
loaders: ReturnType<LoaderModule["loaders"]>;
|
|
33
|
+
toLoad: ReturnType<LoaderModule["toLoad"]>;
|
|
34
|
+
loaded: ReturnType<LoaderModule["loaded"]>;
|
|
35
|
+
resources: ReturnType<LoaderModule["resources"]>;
|
|
36
|
+
worker?: import('threads').Worker;
|
|
37
|
+
thread?: import('threads').ModuleThread<ExposedLoaderModule> | undefined;
|
|
38
|
+
}>;
|
|
39
|
+
workerPool(): import('@quick-threejs/utils').WorkerPool;
|
|
40
|
+
canvas(): HTMLCanvasElement;
|
|
41
|
+
worker(): import('threads/dist/types/master').Worker | undefined;
|
|
42
|
+
thread(): import('threads').ModuleThread<ExposedAppModule> | undefined;
|
|
43
|
+
gui(): import('three/examples/jsm/libs/lil-gui.module.min').default | undefined;
|
|
44
|
+
dispose(): void;
|
|
45
|
+
lifecycle$(): import('rxjs').Observable<RegisterLifecycleState>;
|
|
46
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { RegisterPropsModel } from '../../common/models/register-props.model';
|
|
2
|
+
import { RegisterModule } from './register.module';
|
|
3
|
+
/**
|
|
4
|
+
* @description Register the main logic of the app.
|
|
5
|
+
*
|
|
6
|
+
* @remark __🏁 Should be called on your main thread. Separated from the worker thread implementation__
|
|
7
|
+
*
|
|
8
|
+
* @param props Quick-three register properties.
|
|
9
|
+
*/
|
|
10
|
+
export declare const register: (props: RegisterPropsModel) => RegisterModule;
|
package/dist/main.d.ts
CHANGED
|
@@ -1,26 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
export
|
|
3
|
-
import { SerializerImplementation } from 'threads';
|
|
4
|
-
import '@quick-threejs/utils';
|
|
5
|
-
import 'rxjs';
|
|
6
|
-
import 'three';
|
|
7
|
-
import 'three/examples/jsm/controls/OrbitControls';
|
|
8
|
-
import 'three/examples/jsm/libs/lil-gui.module.min';
|
|
9
|
-
import 'threads/dist/types/master';
|
|
10
|
-
import 'three/examples/jsm/libs/lil-gui.module.min.js';
|
|
11
|
-
import 'stats.js';
|
|
12
|
-
import 'three/examples/jsm/loaders/GLTFLoader';
|
|
13
|
-
import 'three/examples/jsm/loaders/DRACOLoader';
|
|
14
|
-
|
|
15
|
-
declare const object3DSerializer: SerializerImplementation;
|
|
16
|
-
|
|
17
|
-
/**
|
|
18
|
-
* @description Register the main logic of the app.
|
|
19
|
-
*
|
|
20
|
-
* @remark __🏁 Should be called on your main thread. Separated from the worker thread implementation__
|
|
21
|
-
*
|
|
22
|
-
* @param props Quick-three register properties.
|
|
23
|
-
*/
|
|
24
|
-
declare const register: (props: RegisterPropsModel) => RegisterModule;
|
|
25
|
-
|
|
26
|
-
export { RegisterModule, RegisterPropsModel, object3DSerializer, register };
|
|
1
|
+
export * from './core';
|
|
2
|
+
export * from './common';
|