@quick-threejs/reactive 0.1.24 → 0.1.26

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 (76) hide show
  1. package/dist/app.module-Xeth1BSd.js +34 -0
  2. package/dist/app.module-ZQDNY2JF.mjs +6121 -0
  3. package/dist/common/blueprints/index.d.ts +2 -0
  4. package/dist/common/blueprints/props.blueprint.d.ts +105 -0
  5. package/dist/common/blueprints/proxy.blueprint.d.ts +96 -0
  6. package/dist/common/enums/index.d.ts +0 -1
  7. package/dist/common/index.d.ts +2 -2
  8. package/dist/common/interfaces/core.interface.d.ts +4 -5
  9. package/dist/common/interfaces/index.d.ts +2 -2
  10. package/dist/common/interfaces/loader.interface.d.ts +23 -0
  11. package/dist/common/interfaces/module.interface.d.ts +10 -2
  12. package/dist/common/{types/object.type.d.ts → interfaces/proxy-event.interface.d.ts} +6 -0
  13. package/dist/common/tokens/index.d.ts +2 -0
  14. package/dist/common/tokens/ioc.token.d.ts +1 -0
  15. package/dist/common/tokens/loader.token.d.ts +1 -0
  16. package/dist/core/app/app.controller.d.ts +5 -9
  17. package/dist/core/app/app.module.d.ts +23 -17
  18. package/dist/core/app/{app.component.d.ts → app.service.d.ts} +5 -3
  19. package/dist/core/app/app.util.d.ts +6 -0
  20. package/dist/core/app/camera/camera.controller.d.ts +4 -8
  21. package/dist/core/app/camera/camera.module.d.ts +6 -7
  22. package/dist/core/app/camera/{camera.component.d.ts → camera.service.d.ts} +4 -4
  23. package/dist/core/app/debug/debug.controller.d.ts +3 -4
  24. package/dist/core/app/debug/debug.module.d.ts +10 -8
  25. package/dist/core/app/debug/{debug.component.d.ts → debug.service.d.ts} +10 -10
  26. package/dist/core/app/loader/loader.controller.d.ts +5 -0
  27. package/dist/core/app/loader/loader.module.d.ts +16 -0
  28. package/dist/core/app/loader/loader.service.d.ts +8 -0
  29. package/dist/core/app/renderer/renderer.controller.d.ts +6 -8
  30. package/dist/core/app/renderer/renderer.module.d.ts +6 -8
  31. package/dist/core/app/renderer/renderer.service.d.ts +19 -0
  32. package/dist/core/app/sizes/sizes.controller.d.ts +5 -7
  33. package/dist/core/app/sizes/sizes.module.d.ts +4 -5
  34. package/dist/core/app/sizes/{sizes.component.d.ts → sizes.service.d.ts} +1 -1
  35. package/dist/core/app/timer/timer.controller.d.ts +18 -12
  36. package/dist/core/app/timer/timer.module.d.ts +22 -12
  37. package/dist/core/app/timer/timer.service.d.ts +10 -0
  38. package/dist/core/app/world/world.controller.d.ts +0 -3
  39. package/dist/core/app/world/world.module.d.ts +3 -6
  40. package/dist/core/app/world/{world.component.d.ts → world.service.d.ts} +1 -1
  41. package/dist/core/index.d.ts +0 -1
  42. package/dist/core/register/loader/loader.controller.d.ts +11 -0
  43. package/dist/core/register/loader/loader.module.d.ts +31 -0
  44. package/dist/core/register/loader/loader.service.d.ts +26 -0
  45. package/dist/core/register/register.controller.d.ts +5 -9
  46. package/dist/core/register/register.module.d.ts +23 -39
  47. package/dist/core/register/register.service.d.ts +9 -0
  48. package/dist/core/register/register.util.d.ts +8 -5
  49. package/dist/main.js +3 -12
  50. package/dist/main.mjs +1516 -1942
  51. package/dist/main.worker.d.ts +1 -1
  52. package/dist/worker.js +1 -3
  53. package/dist/worker.mjs +32 -315
  54. package/package.json +8 -5
  55. package/dist/app.module-Da11YIUG.js +0 -29
  56. package/dist/app.module-Dg_0i25D.mjs +0 -2640
  57. package/dist/common/enums/lifecycle.enum.d.ts +0 -10
  58. package/dist/common/interfaces/event.interface.d.ts +0 -10
  59. package/dist/common/interfaces/resource.interface.d.ts +0 -14
  60. package/dist/common/models/app-proxy-event-handler.model.d.ts +0 -32
  61. package/dist/common/models/index.d.ts +0 -7
  62. package/dist/common/models/launch-app-props.model.d.ts +0 -8
  63. package/dist/common/models/proxy-event-handler.model.d.ts +0 -19
  64. package/dist/common/models/proxy-event-observables.model.d.ts +0 -20
  65. package/dist/common/models/proxy-event-subjects.models.d.ts +0 -19
  66. package/dist/common/models/register-props.model.d.ts +0 -75
  67. package/dist/common/models/register-proxy-event-handler.model.d.ts +0 -17
  68. package/dist/common/types/index.d.ts +0 -1
  69. package/dist/core/app/app.module-worker.d.ts +0 -5
  70. package/dist/core/app/renderer/renderer.component.d.ts +0 -19
  71. package/dist/core/app/timer/timer.component.d.ts +0 -8
  72. package/dist/core/loader/loader.component.d.ts +0 -25
  73. package/dist/core/loader/loader.controller.d.ts +0 -9
  74. package/dist/core/loader/loader.module-worker.d.ts +0 -3
  75. package/dist/core/loader/loader.module.d.ts +0 -34
  76. package/dist/core/register/register.component.d.ts +0 -13
@@ -1,10 +0,0 @@
1
- export declare enum RegisterLifecycleState {
2
- INITIALIZED = 0,
3
- DISPOSED = 1
4
- }
5
- export declare enum AppLifecycleState {
6
- INITIALIZED = 0,
7
- STEP_STARTED = 1,
8
- STEP_ENDED = 2,
9
- DISPOSED = 3
10
- }
@@ -1,10 +0,0 @@
1
- export interface StepPayload {
2
- delta: number;
3
- deltaRatio: number;
4
- }
5
- export interface ProxyEvent {
6
- width: number;
7
- height: number;
8
- windowWidth: number;
9
- windowHeight: number;
10
- }
@@ -1,14 +0,0 @@
1
- import { CubeTextureLoader, Texture, VideoTexture } from 'three';
2
- import { GLTF } from 'three/examples/jsm/loaders/GLTFLoader.js';
3
- export type LoadedResourceItem = GLTF | Texture | CubeTextureLoader | VideoTexture | AudioBuffer;
4
- export interface Resource {
5
- name: string;
6
- type: "cubeTexture" | "texture" | "gltfModel" | "video" | "audio";
7
- path: string | string[];
8
- }
9
- export interface ProgressedResource {
10
- file?: LoadedResourceItem;
11
- resource: Resource;
12
- loaded: number;
13
- toLoad: number;
14
- }
@@ -1,32 +0,0 @@
1
- import { Observable } from 'rxjs';
2
- import { ProxyEvent } from 'main';
3
- export declare class AppProxyEventHandlersModel {
4
- contextmenu$?: () => Observable<MouseEvent & ProxyEvent>;
5
- resize$?: () => Observable<UIEvent & ProxyEvent>;
6
- mousedown$?: () => Observable<PointerEvent & ProxyEvent>;
7
- mousemove$?: () => Observable<PointerEvent & ProxyEvent>;
8
- mouseup$?: () => Observable<PointerEvent & ProxyEvent>;
9
- pointerdown$?: () => Observable<PointerEvent & ProxyEvent>;
10
- pointermove$?: () => Observable<PointerEvent & ProxyEvent>;
11
- pointercancel$?: () => Observable<PointerEvent & ProxyEvent>;
12
- pointerup$?: () => Observable<PointerEvent & ProxyEvent>;
13
- touchstart$?: () => Observable<TouchEvent & ProxyEvent>;
14
- touchmove$?: () => Observable<TouchEvent & ProxyEvent>;
15
- touchend$?: () => Observable<TouchEvent & ProxyEvent>;
16
- wheel$?: () => Observable<WheelEvent & ProxyEvent>;
17
- keydown$?: () => Observable<KeyboardEvent & ProxyEvent>;
18
- contextmenu: (e: MouseEvent & ProxyEvent) => void;
19
- resize: (e: UIEvent & ProxyEvent) => void;
20
- mousedown: (e: PointerEvent & ProxyEvent) => void;
21
- mousemove: (e: PointerEvent & ProxyEvent) => void;
22
- mouseup: (e: PointerEvent & ProxyEvent) => void;
23
- pointerdown: (e: PointerEvent & ProxyEvent) => void;
24
- pointermove: (e: PointerEvent & ProxyEvent) => void;
25
- pointercancel: (e: PointerEvent & ProxyEvent) => void;
26
- pointerup: (e: PointerEvent & ProxyEvent) => void;
27
- touchstart: (e: TouchEvent & ProxyEvent) => void;
28
- touchmove: (e: TouchEvent & ProxyEvent) => void;
29
- touchend: (e: TouchEvent & ProxyEvent) => void;
30
- wheel: (e: WheelEvent & ProxyEvent) => void;
31
- keydown: (e: KeyboardEvent & ProxyEvent) => void;
32
- }
@@ -1,7 +0,0 @@
1
- export * from './app-proxy-event-handler.model';
2
- export * from './launch-app-props.model';
3
- export * from './proxy-event-handler.model';
4
- export * from './proxy-event-observables.model';
5
- export * from './proxy-event-subjects.models';
6
- export * from './register-props.model';
7
- export * from './register-proxy-event-handler.model';
@@ -1,8 +0,0 @@
1
- import { AppModule } from '../../main';
2
- /** @description `launchApp` initialization properties. */
3
- export declare class LaunchAppProps {
4
- /**
5
- * @description Handler triggered when the app is ready.
6
- */
7
- onReady?: (app: AppModule) => unknown;
8
- }
@@ -1,19 +0,0 @@
1
- import { ProxyEvent } from 'main';
2
- import { ProxyEventHandlersImplementation } from '../types/object.type';
3
- import { ProxyEventObservablesModel } from './proxy-event-observables.model';
4
- export declare class ProxyEventHandlersModel extends ProxyEventObservablesModel implements ProxyEventHandlersImplementation {
5
- contextmenu: (e: MouseEvent & ProxyEvent) => void;
6
- resize: (e: UIEvent & ProxyEvent) => void;
7
- mousedown: (e: PointerEvent & ProxyEvent) => void;
8
- mousemove: (e: PointerEvent & ProxyEvent) => void;
9
- mouseup: (e: PointerEvent & ProxyEvent) => void;
10
- pointerdown: (e: PointerEvent & ProxyEvent) => void;
11
- pointermove: (e: PointerEvent & ProxyEvent) => void;
12
- pointercancel: (e: PointerEvent & ProxyEvent) => void;
13
- pointerup: (e: PointerEvent & ProxyEvent) => void;
14
- touchstart: (e: TouchEvent & ProxyEvent) => void;
15
- touchmove: (e: TouchEvent & ProxyEvent) => void;
16
- touchend: (e: TouchEvent & ProxyEvent) => void;
17
- wheel: (e: WheelEvent & ProxyEvent) => void;
18
- keydown: (e: KeyboardEvent & ProxyEvent) => void;
19
- }
@@ -1,20 +0,0 @@
1
- import { Observable } from 'rxjs';
2
- import { ProxyEvent } from 'main';
3
- import { ProxyEventSubjectsModel } from './proxy-event-subjects.models';
4
- import { ProxyEventObservablesImplementation } from '../types/object.type';
5
- export declare class ProxyEventObservablesModel extends ProxyEventSubjectsModel implements ProxyEventObservablesImplementation {
6
- contextmenu$: Observable<MouseEvent & ProxyEvent>;
7
- resize$: Observable<UIEvent & ProxyEvent>;
8
- mousedown$: Observable<PointerEvent & ProxyEvent>;
9
- mousemove$: Observable<PointerEvent & ProxyEvent>;
10
- mouseup$: Observable<PointerEvent & ProxyEvent>;
11
- pointerdown$: Observable<PointerEvent & ProxyEvent>;
12
- pointermove$: Observable<PointerEvent & ProxyEvent>;
13
- pointercancel$: Observable<PointerEvent & ProxyEvent>;
14
- pointerup$: Observable<PointerEvent & ProxyEvent>;
15
- touchstart$: Observable<TouchEvent & ProxyEvent>;
16
- touchmove$: Observable<TouchEvent & ProxyEvent>;
17
- touchend$: Observable<TouchEvent & ProxyEvent>;
18
- wheel$: Observable<WheelEvent & ProxyEvent>;
19
- keydown$: Observable<KeyboardEvent & ProxyEvent>;
20
- }
@@ -1,19 +0,0 @@
1
- import { Subject } from 'rxjs';
2
- import { ProxyEvent } from 'main';
3
- import { ProxyEventSubjectsImplementation } from '../types/object.type';
4
- export declare class ProxyEventSubjectsModel implements ProxyEventSubjectsImplementation {
5
- contextmenu$$: Subject<MouseEvent & ProxyEvent>;
6
- resize$$: Subject<UIEvent & ProxyEvent>;
7
- mousedown$$: Subject<PointerEvent & ProxyEvent>;
8
- mousemove$$: Subject<PointerEvent & ProxyEvent>;
9
- mouseup$$: Subject<PointerEvent & ProxyEvent>;
10
- pointerdown$$: Subject<PointerEvent & ProxyEvent>;
11
- pointermove$$: Subject<PointerEvent & ProxyEvent>;
12
- pointercancel$$: Subject<PointerEvent & ProxyEvent>;
13
- pointerup$$: Subject<PointerEvent & ProxyEvent>;
14
- touchstart$$: Subject<TouchEvent & ProxyEvent>;
15
- touchmove$$: Subject<TouchEvent & ProxyEvent>;
16
- touchend$$: Subject<TouchEvent & ProxyEvent>;
17
- wheel$$: Subject<WheelEvent & ProxyEvent>;
18
- keydown$$: Subject<KeyboardEvent & ProxyEvent>;
19
- }
@@ -1,75 +0,0 @@
1
- import { RegisterModule } from '../../core/register/register.module';
2
- import { DefaultCameraType } from '../enums/camera.enum';
3
- /** @description Quick-three register properties. */
4
- export declare class RegisterPropsModel {
5
- /**
6
- * @description The app worker logic location.
7
- *
8
- * @required
9
- */
10
- location: string;
11
- /**
12
- * @description App `canvas` element reference.
13
- *
14
- * @default undefined
15
- */
16
- canvas?: HTMLCanvasElement;
17
- /**
18
- * @description Set the `canvas` view in fullscreen and auto-resize it.
19
- *
20
- * @default true
21
- */
22
- fullScreen?: boolean;
23
- /**
24
- * Default used camera.
25
- *
26
- * @see {@link DefaultCameraType}
27
- *
28
- * @default DefaultCameraType.PERSPECTIVE
29
- */
30
- defaultCamera?: DefaultCameraType;
31
- /**
32
- * @description Start timer update on launch.
33
- *
34
- * @default true
35
- */
36
- startTimer?: boolean;
37
- /**
38
- * Enable the debug mode
39
- *
40
- * @default undefined
41
- */
42
- enableDebug?: boolean;
43
- /**
44
- * Define the {@link THREE.AxesHelper} sizes.
45
- *
46
- * @remark __Deactivated if the value is `0` or `undefined`__
47
- * @remark __This property depends on {@link RegisterPropsModel.enableDebug}__
48
- *
49
- * @default undefined
50
- */
51
- axesSizes?: number;
52
- /**
53
- * Define the {@link THREE.GridHelper} sizes.
54
- *
55
- * @remark __Deactivated if the value is `0` or `undefined`__
56
- * @remark __This property depends on {@link RegisterPropsModel.enableDebug}__
57
- *
58
- * @default undefined
59
- */
60
- gridSizes?: number;
61
- /**
62
- * Display a mini perfective camera at the top right corner of the screen.
63
- *
64
- * @remark __This property depends on {@link RegisterPropsModel.enableDebug}__
65
- *
66
- * @default false
67
- */
68
- withMiniCamera?: boolean;
69
- /**
70
- * @description Handler called when the app is ready.
71
- *
72
- * @default undefined
73
- */
74
- onReady?: (register: RegisterModule) => unknown;
75
- }
@@ -1,17 +0,0 @@
1
- import { Observable } from 'rxjs';
2
- export declare class RegisterProxyEventHandlersModel {
3
- contextmenu$?: () => Observable<Event>;
4
- resize$?: () => Observable<Event>;
5
- mousedown$?: () => Observable<Event>;
6
- mousemove$?: () => Observable<Event>;
7
- mouseup$?: () => Observable<Event>;
8
- pointerdown$?: () => Observable<Event>;
9
- pointermove$?: () => Observable<Event>;
10
- pointercancel$?: () => Observable<Event>;
11
- pointerup$?: () => Observable<Event>;
12
- touchstart$?: () => Observable<Event>;
13
- touchmove$?: () => Observable<Event>;
14
- touchend$?: () => Observable<Event>;
15
- wheel$?: () => Observable<Event>;
16
- keydown$?: () => Observable<Event>;
17
- }
@@ -1 +0,0 @@
1
- export * from './object.type';
@@ -1,5 +0,0 @@
1
- import { ExposedWorkerThreadModule, Methods } from '@quick-threejs/utils';
2
- import { AppModule } from './app.module';
3
- import { LaunchAppProps } from '../../common/models/launch-app-props.model';
4
- export declare const launchApp: (props?: LaunchAppProps) => AppModule;
5
- export type ExposedAppModule = ExposedWorkerThreadModule<Methods<AppModule>>;
@@ -1,19 +0,0 @@
1
- import { WebGLRenderer } from 'three';
2
- import { WorldComponent } from '../world/world.component';
3
- import { CameraComponent } from '../camera/camera.component';
4
- import { OffscreenCanvasWithStyle } from '../../../common/interfaces/canvas.interface';
5
- import { SizesComponent } from '../sizes/sizes.component';
6
- import { DebugComponent } from '../debug/debug.component';
7
- export declare class RendererComponent {
8
- private readonly worldComponent;
9
- private readonly cameraComponent;
10
- private readonly sizesComponent;
11
- private readonly debugComponent;
12
- static readonly RENDERER_PIXEL_RATIO: number;
13
- enabled: boolean;
14
- instance?: WebGLRenderer;
15
- constructor(worldComponent: WorldComponent, cameraComponent: CameraComponent, sizesComponent: SizesComponent, debugComponent: DebugComponent);
16
- init(canvas: OffscreenCanvasWithStyle): void;
17
- setSize(width: number, height: number): void;
18
- render(): void;
19
- }
@@ -1,8 +0,0 @@
1
- import { Clock } from 'three';
2
- export declare class TimerComponent {
3
- readonly clock: Clock;
4
- readonly frame: number;
5
- delta: number;
6
- deltaRatio: number;
7
- enabled: boolean;
8
- }
@@ -1,25 +0,0 @@
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
- }
@@ -1,9 +0,0 @@
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
- }
@@ -1,3 +0,0 @@
1
- import { ExposedWorkerThreadModule } from '@quick-threejs/utils';
2
- import { LoaderModule } from './loader.module';
3
- export type ExposedLoaderModule = ExposedWorkerThreadModule<LoaderModule>;
@@ -1,34 +0,0 @@
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;
@@ -1,13 +0,0 @@
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
- }