@quick-threejs/reactive 0.1.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 (147) hide show
  1. package/LICENSE +9 -0
  2. package/README.md +49 -0
  3. package/dist/src/common/constants/event.constants.d.ts +2 -0
  4. package/dist/src/common/constants/event.constants.js +23 -0
  5. package/dist/src/common/constants/event.constants.js.map +1 -0
  6. package/dist/src/common/enums/camera.enum.d.ts +4 -0
  7. package/dist/src/common/enums/camera.enum.js +6 -0
  8. package/dist/src/common/enums/camera.enum.js.map +1 -0
  9. package/dist/src/common/enums/lifecycle.enum.d.ts +10 -0
  10. package/dist/src/common/enums/lifecycle.enum.js +13 -0
  11. package/dist/src/common/enums/lifecycle.enum.js.map +1 -0
  12. package/dist/src/common/interfaces/canvas.interface.d.ts +6 -0
  13. package/dist/src/common/interfaces/canvas.interface.js +2 -0
  14. package/dist/src/common/interfaces/canvas.interface.js.map +1 -0
  15. package/dist/src/common/interfaces/core.interface.d.ts +11 -0
  16. package/dist/src/common/interfaces/core.interface.js +2 -0
  17. package/dist/src/common/interfaces/core.interface.js.map +1 -0
  18. package/dist/src/common/interfaces/event.interface.d.ts +4 -0
  19. package/dist/src/common/interfaces/event.interface.js +2 -0
  20. package/dist/src/common/interfaces/event.interface.js.map +1 -0
  21. package/dist/src/common/interfaces/module.interface.d.ts +27 -0
  22. package/dist/src/common/interfaces/module.interface.js +2 -0
  23. package/dist/src/common/interfaces/module.interface.js.map +1 -0
  24. package/dist/src/common/interfaces/resource.interface.d.ts +14 -0
  25. package/dist/src/common/interfaces/resource.interface.js +2 -0
  26. package/dist/src/common/interfaces/resource.interface.js.map +1 -0
  27. package/dist/src/common/models/app-proxy-event-handler.model.d.ts +31 -0
  28. package/dist/src/common/models/app-proxy-event-handler.model.js +31 -0
  29. package/dist/src/common/models/app-proxy-event-handler.model.js.map +1 -0
  30. package/dist/src/common/models/proxy-event-handler.model.d.ts +18 -0
  31. package/dist/src/common/models/proxy-event-handler.model.js +18 -0
  32. package/dist/src/common/models/proxy-event-handler.model.js.map +1 -0
  33. package/dist/src/common/models/proxy-event-observables.model.d.ts +19 -0
  34. package/dist/src/common/models/proxy-event-observables.model.js +18 -0
  35. package/dist/src/common/models/proxy-event-observables.model.js.map +1 -0
  36. package/dist/src/common/models/proxy-event-subjects.models.d.ts +18 -0
  37. package/dist/src/common/models/proxy-event-subjects.models.js +17 -0
  38. package/dist/src/common/models/proxy-event-subjects.models.js.map +1 -0
  39. package/dist/src/common/models/register-props.model.d.ts +75 -0
  40. package/dist/src/common/models/register-props.model.js +74 -0
  41. package/dist/src/common/models/register-props.model.js.map +1 -0
  42. package/dist/src/common/models/register-proxy-event-handler.model.d.ts +17 -0
  43. package/dist/src/common/models/register-proxy-event-handler.model.js +17 -0
  44. package/dist/src/common/models/register-proxy-event-handler.model.js.map +1 -0
  45. package/dist/src/common/serializers/object3d.serializer.d.ts +2 -0
  46. package/dist/src/common/serializers/object3d.serializer.js +16 -0
  47. package/dist/src/common/serializers/object3d.serializer.js.map +1 -0
  48. package/dist/src/common/types/object.type.d.ts +25 -0
  49. package/dist/src/common/types/object.type.js +2 -0
  50. package/dist/src/common/types/object.type.js.map +1 -0
  51. package/dist/src/main.d.ts +1 -0
  52. package/dist/src/main.js +20 -0
  53. package/dist/src/main.js.map +1 -0
  54. package/dist/src/main.worker.d.ts +2 -0
  55. package/dist/src/main.worker.js +27 -0
  56. package/dist/src/main.worker.js.map +1 -0
  57. package/dist/src/modules/app/app.component.d.ts +7 -0
  58. package/dist/src/modules/app/app.component.js +18 -0
  59. package/dist/src/modules/app/app.component.js.map +1 -0
  60. package/dist/src/modules/app/app.controller.d.ts +10 -0
  61. package/dist/src/modules/app/app.controller.js +44 -0
  62. package/dist/src/modules/app/app.controller.js.map +1 -0
  63. package/dist/src/modules/app/app.module-worker.d.ts +6 -0
  64. package/dist/src/modules/app/app.module-worker.js +27 -0
  65. package/dist/src/modules/app/app.module-worker.js.map +1 -0
  66. package/dist/src/modules/app/app.module.d.ts +32 -0
  67. package/dist/src/modules/app/app.module.js +125 -0
  68. package/dist/src/modules/app/app.module.js.map +1 -0
  69. package/dist/src/modules/app/camera/camera.component.d.ts +18 -0
  70. package/dist/src/modules/app/camera/camera.component.js +81 -0
  71. package/dist/src/modules/app/camera/camera.component.js.map +1 -0
  72. package/dist/src/modules/app/camera/camera.controller.d.ts +10 -0
  73. package/dist/src/modules/app/camera/camera.controller.js +35 -0
  74. package/dist/src/modules/app/camera/camera.controller.js.map +1 -0
  75. package/dist/src/modules/app/camera/camera.module.d.ts +12 -0
  76. package/dist/src/modules/app/camera/camera.module.js +56 -0
  77. package/dist/src/modules/app/camera/camera.module.js.map +1 -0
  78. package/dist/src/modules/app/debug/debug.component.d.ts +28 -0
  79. package/dist/src/modules/app/debug/debug.component.js +119 -0
  80. package/dist/src/modules/app/debug/debug.component.js.map +1 -0
  81. package/dist/src/modules/app/debug/debug.controller.d.ts +6 -0
  82. package/dist/src/modules/app/debug/debug.controller.js +29 -0
  83. package/dist/src/modules/app/debug/debug.controller.js.map +1 -0
  84. package/dist/src/modules/app/debug/debug.module.d.ts +10 -0
  85. package/dist/src/modules/app/debug/debug.module.js +41 -0
  86. package/dist/src/modules/app/debug/debug.module.js.map +1 -0
  87. package/dist/src/modules/app/renderer/renderer.component.d.ts +19 -0
  88. package/dist/src/modules/app/renderer/renderer.component.js +83 -0
  89. package/dist/src/modules/app/renderer/renderer.component.js.map +1 -0
  90. package/dist/src/modules/app/renderer/renderer.controller.d.ts +13 -0
  91. package/dist/src/modules/app/renderer/renderer.controller.js +42 -0
  92. package/dist/src/modules/app/renderer/renderer.controller.js.map +1 -0
  93. package/dist/src/modules/app/renderer/renderer.module.d.ts +11 -0
  94. package/dist/src/modules/app/renderer/renderer.module.js +40 -0
  95. package/dist/src/modules/app/renderer/renderer.module.js.map +1 -0
  96. package/dist/src/modules/app/sizes/sizes.component.d.ts +10 -0
  97. package/dist/src/modules/app/sizes/sizes.component.js +26 -0
  98. package/dist/src/modules/app/sizes/sizes.component.js.map +1 -0
  99. package/dist/src/modules/app/sizes/sizes.controller.d.ts +9 -0
  100. package/dist/src/modules/app/sizes/sizes.controller.js +35 -0
  101. package/dist/src/modules/app/sizes/sizes.controller.js.map +1 -0
  102. package/dist/src/modules/app/sizes/sizes.module.d.ts +11 -0
  103. package/dist/src/modules/app/sizes/sizes.module.js +41 -0
  104. package/dist/src/modules/app/sizes/sizes.module.js.map +1 -0
  105. package/dist/src/modules/app/timer/timer.component.d.ts +8 -0
  106. package/dist/src/modules/app/timer/timer.component.js +20 -0
  107. package/dist/src/modules/app/timer/timer.component.js.map +1 -0
  108. package/dist/src/modules/app/timer/timer.controller.d.ts +15 -0
  109. package/dist/src/modules/app/timer/timer.controller.js +57 -0
  110. package/dist/src/modules/app/timer/timer.controller.js.map +1 -0
  111. package/dist/src/modules/app/timer/timer.module.d.ts +17 -0
  112. package/dist/src/modules/app/timer/timer.module.js +72 -0
  113. package/dist/src/modules/app/timer/timer.module.js.map +1 -0
  114. package/dist/src/modules/app/world/world.component.d.ts +4 -0
  115. package/dist/src/modules/app/world/world.component.js +16 -0
  116. package/dist/src/modules/app/world/world.component.js.map +1 -0
  117. package/dist/src/modules/app/world/world.controller.d.ts +2 -0
  118. package/dist/src/modules/app/world/world.controller.js +14 -0
  119. package/dist/src/modules/app/world/world.controller.js.map +1 -0
  120. package/dist/src/modules/app/world/world.module.d.ts +12 -0
  121. package/dist/src/modules/app/world/world.module.js +41 -0
  122. package/dist/src/modules/app/world/world.module.js.map +1 -0
  123. package/dist/src/modules/loader/loader.component.d.ts +25 -0
  124. package/dist/src/modules/loader/loader.component.js +68 -0
  125. package/dist/src/modules/loader/loader.component.js.map +1 -0
  126. package/dist/src/modules/loader/loader.controller.d.ts +9 -0
  127. package/dist/src/modules/loader/loader.controller.js +21 -0
  128. package/dist/src/modules/loader/loader.controller.js.map +1 -0
  129. package/dist/src/modules/loader/loader.module-worker.d.ts +3 -0
  130. package/dist/src/modules/loader/loader.module-worker.js +17 -0
  131. package/dist/src/modules/loader/loader.module-worker.js.map +1 -0
  132. package/dist/src/modules/loader/loader.module.d.ts +35 -0
  133. package/dist/src/modules/loader/loader.module.js +120 -0
  134. package/dist/src/modules/loader/loader.module.js.map +1 -0
  135. package/dist/src/modules/register/register.component.d.ts +13 -0
  136. package/dist/src/modules/register/register.component.js +35 -0
  137. package/dist/src/modules/register/register.component.js.map +1 -0
  138. package/dist/src/modules/register/register.controller.d.ts +40 -0
  139. package/dist/src/modules/register/register.controller.js +111 -0
  140. package/dist/src/modules/register/register.controller.js.map +1 -0
  141. package/dist/src/modules/register/register.module.d.ts +57 -0
  142. package/dist/src/modules/register/register.module.js +222 -0
  143. package/dist/src/modules/register/register.module.js.map +1 -0
  144. package/dist/vite.config.d.ts +2 -0
  145. package/dist/vite.config.js +53 -0
  146. package/dist/vite.config.js.map +1 -0
  147. package/package.json +68 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sizes.controller.js","sourceRoot":"","sources":["../../../../../src/modules/app/sizes/sizes.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,EAAE,MAAM,EAAc,MAAM,MAAM,CAAC;AAE1C,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAG5C,IAAM,eAAe,GAArB,MAAM,eAAe;IAIc;IACC;IAJ1B,OAAO,CAAoB;IAE3C,YACyC,aAA4B,EAC3B,SAAyB;QAD1B,kBAAa,GAAb,aAAa,CAAe;QAC3B,cAAS,GAAT,SAAS,CAAgB;QAElE,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAC9C,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CACpC,CAAC;IACH,CAAC;CACD,CAAA;AAXY,eAAe;IAD3B,SAAS,EAAE;IAKT,WAAA,MAAM,CAAC,aAAa,CAAC,CAAA;IACrB,WAAA,MAAM,CAAC,cAAc,CAAC,CAAA;qCADgC,aAAa;QAChB,cAAc;GALvD,eAAe,CAW3B"}
@@ -0,0 +1,11 @@
1
+ import { SizesComponent } from "./sizes.component";
2
+ import { SizesController } from "./sizes.controller";
3
+ import { Module } from "../../../common/interfaces/module.interface";
4
+ import { OffscreenCanvasWithStyle } from "../../../common/interfaces/canvas.interface";
5
+ export declare class SizesModule implements Module {
6
+ private readonly component;
7
+ private readonly controller;
8
+ constructor(component: SizesComponent, controller: SizesController);
9
+ init(canvas: OffscreenCanvasWithStyle): void;
10
+ dispose(): void;
11
+ }
@@ -0,0 +1,41 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __metadata = (this && this.__metadata) || function (k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
+ };
10
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
11
+ return function (target, key) { decorator(target, key, paramIndex); }
12
+ };
13
+ import { inject, singleton } from "tsyringe";
14
+ import { SizesComponent } from "./sizes.component";
15
+ import { SizesController } from "./sizes.controller";
16
+ let SizesModule = class SizesModule {
17
+ component;
18
+ controller;
19
+ constructor(component, controller) {
20
+ this.component = component;
21
+ this.controller = controller;
22
+ }
23
+ init(canvas) {
24
+ this.controller.resize$.subscribe((size) => {
25
+ this.component.width = size.x;
26
+ this.component.height = size.y;
27
+ this.component.aspect = size.x / size.y;
28
+ });
29
+ this.component.init(canvas);
30
+ }
31
+ dispose() { }
32
+ };
33
+ SizesModule = __decorate([
34
+ singleton(),
35
+ __param(0, inject(SizesComponent)),
36
+ __param(1, inject(SizesController)),
37
+ __metadata("design:paramtypes", [SizesComponent,
38
+ SizesController])
39
+ ], SizesModule);
40
+ export { SizesModule };
41
+ //# sourceMappingURL=sizes.module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sizes.module.js","sourceRoot":"","sources":["../../../../../src/modules/app/sizes/sizes.module.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAE7C,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAK9C,IAAM,WAAW,GAAjB,MAAM,WAAW;IAEmB;IACC;IAF3C,YAC0C,SAAyB,EACxB,UAA2B;QAD5B,cAAS,GAAT,SAAS,CAAgB;QACxB,eAAU,GAAV,UAAU,CAAiB;IACnE,CAAC;IAEG,IAAI,CAAC,MAAgC;QAC3C,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,IAAS,EAAE,EAAE;YAC/C,IAAI,CAAC,SAAS,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC;YAC9B,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC;YAC/B,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;QACzC,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC7B,CAAC;IAED,OAAO,KAAI,CAAC;CACZ,CAAA;AAjBY,WAAW;IADvB,SAAS,EAAE;IAGT,WAAA,MAAM,CAAC,cAAc,CAAC,CAAA;IACtB,WAAA,MAAM,CAAC,eAAe,CAAC,CAAA;qCAD4B,cAAc;QACZ,eAAe;GAH1D,WAAW,CAiBvB"}
@@ -0,0 +1,8 @@
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
+ }
@@ -0,0 +1,20 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ import { singleton } from "tsyringe";
8
+ import { Clock } from "three";
9
+ let TimerComponent = class TimerComponent {
10
+ clock = new Clock();
11
+ frame = 1000 / 60;
12
+ delta = 0;
13
+ deltaRatio = 0;
14
+ enabled = false;
15
+ };
16
+ TimerComponent = __decorate([
17
+ singleton()
18
+ ], TimerComponent);
19
+ export { TimerComponent };
20
+ //# sourceMappingURL=timer.component.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"timer.component.js","sourceRoot":"","sources":["../../../../../src/modules/app/timer/timer.component.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAGvB,IAAM,cAAc,GAApB,MAAM,cAAc;IACV,KAAK,GAAG,IAAI,KAAK,EAAE,CAAC;IACpB,KAAK,GAAG,IAAI,GAAG,EAAE,CAAC;IAE3B,KAAK,GAAG,CAAC,CAAC;IACV,UAAU,GAAG,CAAC,CAAC;IACf,OAAO,GAAG,KAAK,CAAC;CACvB,CAAA;AAPY,cAAc;IAD1B,SAAS,EAAE;GACC,cAAc,CAO1B"}
@@ -0,0 +1,15 @@
1
+ import { Subject } from "rxjs";
2
+ import { TimerComponent } from "./timer.component";
3
+ import { StepPayload } from "../../../common/interfaces/event.interface";
4
+ import { AppController } from "../app.controller";
5
+ export declare class TimerController {
6
+ private readonly component;
7
+ private readonly appController;
8
+ readonly step$$: Subject<StepPayload>;
9
+ readonly enable$$: Subject<boolean>;
10
+ readonly animationCallback: FrameRequestCallback;
11
+ readonly step$: import("rxjs").Observable<StepPayload>;
12
+ readonly enable$: import("rxjs").Observable<boolean>;
13
+ constructor(component: TimerComponent, appController: AppController);
14
+ animate(): void;
15
+ }
@@ -0,0 +1,57 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __metadata = (this && this.__metadata) || function (k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
+ };
10
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
11
+ return function (target, key) { decorator(target, key, paramIndex); }
12
+ };
13
+ import { inject, singleton } from "tsyringe";
14
+ import { Subject } from "rxjs";
15
+ import { TimerComponent } from "./timer.component";
16
+ import { AppController } from "../app.controller";
17
+ import { AppLifecycleState } from "../../../common/enums/lifecycle.enum";
18
+ let TimerController = class TimerController {
19
+ component;
20
+ appController;
21
+ step$$ = new Subject();
22
+ enable$$ = new Subject();
23
+ animationCallback;
24
+ step$ = this.step$$.pipe();
25
+ enable$ = this.enable$$.pipe();
26
+ constructor(component, appController) {
27
+ this.component = component;
28
+ this.appController = appController;
29
+ this.animationCallback = this.animate.bind(this);
30
+ }
31
+ animate() {
32
+ this.appController.lifecycle$$.next(AppLifecycleState.UPDATE_STARTED);
33
+ if (this.component.enabled) {
34
+ this.component.delta =
35
+ this.component.clock.getDelta() ?? this.component.frame;
36
+ this.component.deltaRatio =
37
+ (this.component.delta * 1000) / this.component.frame;
38
+ this.step$$.next({
39
+ delta: this.component.delta,
40
+ deltaRatio: this.component.deltaRatio
41
+ });
42
+ }
43
+ const animationFrameId = requestAnimationFrame(this.animationCallback);
44
+ if (!this.component.enabled)
45
+ cancelAnimationFrame(animationFrameId);
46
+ this.appController.lifecycle$$.next(AppLifecycleState.UPDATE_ENDED);
47
+ }
48
+ };
49
+ TimerController = __decorate([
50
+ singleton(),
51
+ __param(0, inject(TimerComponent)),
52
+ __param(1, inject(AppController)),
53
+ __metadata("design:paramtypes", [TimerComponent,
54
+ AppController])
55
+ ], TimerController);
56
+ export { TimerController };
57
+ //# sourceMappingURL=timer.controller.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"timer.controller.js","sourceRoot":"","sources":["../../../../../src/modules/app/timer/timer.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAE/B,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AAGlE,IAAM,eAAe,GAArB,MAAM,eAAe;IASe;IACD;IATzB,MAAM,GAAG,IAAI,OAAO,EAAe,CAAC;IACpC,QAAQ,GAAG,IAAI,OAAO,EAAW,CAAC;IAClC,iBAAiB,CAAuB;IAExC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;IAC3B,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;IAE/C,YAC0C,SAAyB,EAC1B,aAA4B;QAD3B,cAAS,GAAT,SAAS,CAAgB;QAC1B,kBAAa,GAAb,aAAa,CAAe;QAEpE,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAClD,CAAC;IAEM,OAAO;QACb,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC;QACtE,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;YAC5B,IAAI,CAAC,SAAS,CAAC,KAAK;gBACnB,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;YAEzD,IAAI,CAAC,SAAS,CAAC,UAAU;gBACxB,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;YAEtD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;gBAChB,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK;gBAC3B,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU;aACrC,CAAC,CAAC;QACJ,CAAC;QAED,MAAM,gBAAgB,GAAG,qBAAqB,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QACvE,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO;YAAE,oBAAoB,CAAC,gBAAgB,CAAC,CAAC;QACpE,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC;IACrE,CAAC;CACD,CAAA;AAlCY,eAAe;IAD3B,SAAS,EAAE;IAUT,WAAA,MAAM,CAAC,cAAc,CAAC,CAAA;IACtB,WAAA,MAAM,CAAC,aAAa,CAAC,CAAA;qCAD8B,cAAc;QACX,aAAa;GAVzD,eAAe,CAkC3B"}
@@ -0,0 +1,17 @@
1
+ import { TimerComponent } from "./timer.component";
2
+ import { TimerController } from "./timer.controller";
3
+ import type { Module } from "../../../common/interfaces/module.interface";
4
+ export declare class TimerModule implements Module {
5
+ private readonly component;
6
+ private readonly controller;
7
+ constructor(component: TimerComponent, controller: TimerController);
8
+ init(startTimer?: boolean): void;
9
+ clock(): import("three").Clock;
10
+ frame(): number;
11
+ delta(value?: number): number;
12
+ deltaRatio(value?: number): number;
13
+ enabled(value?: boolean): boolean;
14
+ dispose(): void;
15
+ step$(): import("rxjs").Observable<import("../../../common/interfaces/event.interface").StepPayload>;
16
+ enabled$(): import("rxjs").Observable<boolean>;
17
+ }
@@ -0,0 +1,72 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __metadata = (this && this.__metadata) || function (k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
+ };
10
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
11
+ return function (target, key) { decorator(target, key, paramIndex); }
12
+ };
13
+ import { inject, singleton } from "tsyringe";
14
+ import { TimerComponent } from "./timer.component";
15
+ import { TimerController } from "./timer.controller";
16
+ let TimerModule = class TimerModule {
17
+ component;
18
+ controller;
19
+ constructor(component, controller) {
20
+ this.component = component;
21
+ this.controller = controller;
22
+ }
23
+ init(startTimer) {
24
+ this.controller.enable$.subscribe((status) => {
25
+ this.component.enabled = !!status;
26
+ if (status)
27
+ this.controller.animate();
28
+ });
29
+ if (startTimer)
30
+ this.enabled(true);
31
+ }
32
+ clock() {
33
+ return this.component.clock;
34
+ }
35
+ frame() {
36
+ return this.component.frame;
37
+ }
38
+ delta(value) {
39
+ if (typeof value === "number")
40
+ this.component.delta = value;
41
+ return this.component.delta;
42
+ }
43
+ deltaRatio(value) {
44
+ if (typeof value === "number")
45
+ this.component.deltaRatio = value;
46
+ return this.component.deltaRatio;
47
+ }
48
+ enabled(value) {
49
+ if (typeof value === "boolean")
50
+ this.controller.enable$$.next(value);
51
+ return this.component.enabled;
52
+ }
53
+ dispose() {
54
+ this.controller.step$$.complete();
55
+ this.controller.enable$$.complete();
56
+ }
57
+ step$() {
58
+ return this.controller.step$;
59
+ }
60
+ enabled$() {
61
+ return this.controller.enable$;
62
+ }
63
+ };
64
+ TimerModule = __decorate([
65
+ singleton(),
66
+ __param(0, inject(TimerComponent)),
67
+ __param(1, inject(TimerController)),
68
+ __metadata("design:paramtypes", [TimerComponent,
69
+ TimerController])
70
+ ], TimerModule);
71
+ export { TimerModule };
72
+ //# sourceMappingURL=timer.module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"timer.module.js","sourceRoot":"","sources":["../../../../../src/modules/app/timer/timer.module.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAE7C,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAI9C,IAAM,WAAW,GAAjB,MAAM,WAAW;IAEmB;IACC;IAF3C,YAC0C,SAAyB,EACxB,UAA2B;QAD5B,cAAS,GAAT,SAAS,CAAgB;QACxB,eAAU,GAAV,UAAU,CAAiB;IACnE,CAAC;IAEG,IAAI,CAAC,UAAoB;QAC/B,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,MAAM,EAAE,EAAE;YAC5C,IAAI,CAAC,SAAS,CAAC,OAAO,GAAG,CAAC,CAAC,MAAM,CAAC;YAClC,IAAI,MAAM;gBAAE,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;QACvC,CAAC,CAAC,CAAC;QAEH,IAAI,UAAU;YAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACpC,CAAC;IAEM,KAAK;QACX,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;IAC7B,CAAC;IAEM,KAAK;QACX,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;IAC7B,CAAC;IAEM,KAAK,CAAC,KAAc;QAC1B,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,IAAI,CAAC,SAAS,CAAC,KAAK,GAAG,KAAK,CAAC;QAC5D,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;IAC7B,CAAC;IAEM,UAAU,CAAC,KAAc;QAC/B,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,IAAI,CAAC,SAAS,CAAC,UAAU,GAAG,KAAK,CAAC;QACjE,OAAO,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC;IAClC,CAAC;IAEM,OAAO,CAAC,KAAe;QAC7B,IAAI,OAAO,KAAK,KAAK,SAAS;YAAE,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACrE,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;IAC/B,CAAC;IAEM,OAAO;QACb,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QAClC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;IACrC,CAAC;IAEM,KAAK;QACX,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;IAC9B,CAAC;IAEM,QAAQ;QACd,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;IAChC,CAAC;CACD,CAAA;AAlDY,WAAW;IADvB,SAAS,EAAE;IAGT,WAAA,MAAM,CAAC,cAAc,CAAC,CAAA;IACtB,WAAA,MAAM,CAAC,eAAe,CAAC,CAAA;qCAD4B,cAAc;QACZ,eAAe;GAH1D,WAAW,CAkDvB"}
@@ -0,0 +1,4 @@
1
+ import { Scene } from "three";
2
+ export declare class WorldComponent {
3
+ scene: Scene;
4
+ }
@@ -0,0 +1,16 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ import { Scene } from "three";
8
+ import { singleton } from "tsyringe";
9
+ let WorldComponent = class WorldComponent {
10
+ scene = new Scene();
11
+ };
12
+ WorldComponent = __decorate([
13
+ singleton()
14
+ ], WorldComponent);
15
+ export { WorldComponent };
16
+ //# sourceMappingURL=world.component.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"world.component.js","sourceRoot":"","sources":["../../../../../src/modules/app/world/world.component.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAC9B,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAG9B,IAAM,cAAc,GAApB,MAAM,cAAc;IACnB,KAAK,GAAG,IAAI,KAAK,EAAE,CAAC;CAC3B,CAAA;AAFY,cAAc;IAD1B,SAAS,EAAE;GACC,cAAc,CAE1B"}
@@ -0,0 +1,2 @@
1
+ export declare class WorldController {
2
+ }
@@ -0,0 +1,14 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ import { singleton } from "tsyringe";
8
+ let WorldController = class WorldController {
9
+ };
10
+ WorldController = __decorate([
11
+ singleton()
12
+ ], WorldController);
13
+ export { WorldController };
14
+ //# sourceMappingURL=world.controller.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"world.controller.js","sourceRoot":"","sources":["../../../../../src/modules/app/world/world.controller.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAG9B,IAAM,eAAe,GAArB,MAAM,eAAe;CAAG,CAAA;AAAlB,eAAe;IAD3B,SAAS,EAAE;GACC,eAAe,CAAG"}
@@ -0,0 +1,12 @@
1
+ import { WorldComponent } from "./world.component";
2
+ import { WorldController } from "./world.controller";
3
+ import { Module } from "../../../common/interfaces/module.interface";
4
+ import { Scene } from "three";
5
+ export declare class WorldModule implements Module {
6
+ private readonly component;
7
+ private readonly controller;
8
+ constructor(component: WorldComponent, controller: WorldController);
9
+ scene(value?: Scene): Scene;
10
+ init(): void;
11
+ dispose(): void;
12
+ }
@@ -0,0 +1,41 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __metadata = (this && this.__metadata) || function (k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
+ };
10
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
11
+ return function (target, key) { decorator(target, key, paramIndex); }
12
+ };
13
+ import { inject, singleton } from "tsyringe";
14
+ import { WorldComponent } from "./world.component";
15
+ import { WorldController } from "./world.controller";
16
+ import { Scene } from "three";
17
+ let WorldModule = class WorldModule {
18
+ component;
19
+ controller;
20
+ constructor(component, controller) {
21
+ this.component = component;
22
+ this.controller = controller;
23
+ this.controller;
24
+ }
25
+ scene(value) {
26
+ if (value instanceof Scene)
27
+ this.component.scene = value;
28
+ return this.component.scene;
29
+ }
30
+ init() { }
31
+ dispose() { }
32
+ };
33
+ WorldModule = __decorate([
34
+ singleton(),
35
+ __param(0, inject(WorldComponent)),
36
+ __param(1, inject(WorldController)),
37
+ __metadata("design:paramtypes", [WorldComponent,
38
+ WorldController])
39
+ ], WorldModule);
40
+ export { WorldModule };
41
+ //# sourceMappingURL=world.module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"world.module.js","sourceRoot":"","sources":["../../../../../src/modules/app/world/world.module.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAE7C,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAGrD,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAGvB,IAAM,WAAW,GAAjB,MAAM,WAAW;IAEmB;IACC;IAF3C,YAC0C,SAAyB,EACxB,UAA2B;QAD5B,cAAS,GAAT,SAAS,CAAgB;QACxB,eAAU,GAAV,UAAU,CAAiB;QAErE,IAAI,CAAC,UAAU,CAAC;IACjB,CAAC;IAEM,KAAK,CAAC,KAAa;QACzB,IAAI,KAAK,YAAY,KAAK;YAAE,IAAI,CAAC,SAAS,CAAC,KAAK,GAAG,KAAK,CAAC;QACzD,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;IAC7B,CAAC;IAEM,IAAI,KAAI,CAAC;IAET,OAAO,KAAI,CAAC;CACnB,CAAA;AAhBY,WAAW;IADvB,SAAS,EAAE;IAGT,WAAA,MAAM,CAAC,cAAc,CAAC,CAAA;IACtB,WAAA,MAAM,CAAC,eAAe,CAAC,CAAA;qCAD4B,cAAc;QACZ,eAAe;GAH1D,WAAW,CAgBvB"}
@@ -0,0 +1,25 @@
1
+ import { AudioLoader, CubeTextureLoader, ImageBitmapLoader, LoadingManager } from "three";
2
+ import { DRACOLoader } from "three/examples/jsm/loaders/DRACOLoader";
3
+ import { GLTFLoader } from "three/examples/jsm/loaders/GLTFLoader";
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,68 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ import { Lifecycle, scoped } from "tsyringe";
8
+ import { AudioLoader, CubeTextureLoader, ImageBitmapLoader, LoadingManager, VideoTexture } from "three";
9
+ import { GLTFLoader } from "three/examples/jsm/loaders/GLTFLoader";
10
+ let LoaderComponent = class LoaderComponent {
11
+ loadingManager = new LoadingManager();
12
+ loaders = {};
13
+ resources = [];
14
+ items = {};
15
+ toLoad = 0;
16
+ loaded = 0;
17
+ get videoLoader() {
18
+ return {
19
+ load: (url, callback) => {
20
+ let element = document.createElement("video");
21
+ element.muted = true;
22
+ element.loop = true;
23
+ element.controls = false;
24
+ element.playsInline = true;
25
+ element.src = url;
26
+ element.autoplay = true;
27
+ const oncanplaythrough = () => {
28
+ if (!element)
29
+ return;
30
+ element.play();
31
+ const texture = new VideoTexture(element);
32
+ const textureDispose = texture.dispose.bind(texture);
33
+ texture.dispose = () => {
34
+ texture.userData.element = undefined;
35
+ element?.remove();
36
+ element = undefined;
37
+ textureDispose();
38
+ };
39
+ callback(texture);
40
+ texture.userData.element = element;
41
+ element.removeEventListener("canplaythrough", oncanplaythrough);
42
+ };
43
+ element.addEventListener("canplaythrough", oncanplaythrough);
44
+ }
45
+ };
46
+ }
47
+ _setLoaders() {
48
+ this.loaders.gltfLoader = new GLTFLoader(this.loadingManager);
49
+ this.loaders.textureLoader = new ImageBitmapLoader(this.loadingManager);
50
+ this.loaders.cubeTextureLoader = new CubeTextureLoader(this.loadingManager);
51
+ this.loaders.audioLoader = new AudioLoader(this.loadingManager);
52
+ this.loaders.videoLoader = this.videoLoader;
53
+ }
54
+ setResources(resources) {
55
+ this.resources = resources;
56
+ this.toLoad = this.resources.length;
57
+ this.loaded = 0;
58
+ }
59
+ init(resources = []) {
60
+ this.resources = resources;
61
+ this._setLoaders();
62
+ }
63
+ };
64
+ LoaderComponent = __decorate([
65
+ scoped(Lifecycle.ResolutionScoped)
66
+ ], LoaderComponent);
67
+ export { LoaderComponent };
68
+ //# sourceMappingURL=loader.component.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loader.component.js","sourceRoot":"","sources":["../../../../src/modules/loader/loader.component.ts"],"names":[],"mappings":"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"}
@@ -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,21 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ import { Subject } from "rxjs";
8
+ import { Lifecycle, scoped } from "tsyringe";
9
+ import { filter } from "rxjs";
10
+ let LoaderController = class LoaderController {
11
+ lifecycle$$ = new Subject();
12
+ progress$$ = new Subject();
13
+ progress$ = this.progress$$.pipe();
14
+ lifecycle$ = this.lifecycle$$.pipe();
15
+ progressCompleted$ = this.progress$.pipe(filter((resource) => resource.toLoad === resource.loaded));
16
+ };
17
+ LoaderController = __decorate([
18
+ scoped(Lifecycle.ResolutionScoped)
19
+ ], LoaderController);
20
+ export { LoaderController };
21
+ //# sourceMappingURL=loader.controller.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loader.controller.js","sourceRoot":"","sources":["../../../../src/modules/loader/loader.controller.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAC/B,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAKvB,IAAM,gBAAgB,GAAtB,MAAM,gBAAgB;IACZ,WAAW,GAAG,IAAI,OAAO,EAAE,CAAC;IAC5B,UAAU,GAAG,IAAI,OAAO,EAAsB,CAAC;IAC/C,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;IACnC,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;IACrC,kBAAkB,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CACvD,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,MAAM,KAAK,QAAQ,CAAC,MAAM,CAAC,CACzD,CAAC;CACF,CAAA;AARY,gBAAgB;IAD5B,MAAM,CAAC,SAAS,CAAC,gBAAgB,CAAC;GACtB,gBAAgB,CAQ5B"}
@@ -0,0 +1,3 @@
1
+ import { ExposedWorkerThreadModule } from "@quick-threejs/utils/dist/types/worker.type";
2
+ import { LoaderModule } from "./loader.module";
3
+ export type ExposedLoaderModule = ExposedWorkerThreadModule<LoaderModule>;
@@ -0,0 +1,17 @@
1
+ import { expose } from "threads/worker";
2
+ import { loaderModule } from "./loader.module";
3
+ expose({
4
+ lifecycle$: loaderModule.lifecycle$.bind(loaderModule),
5
+ progress$: loaderModule.progress$.bind(loaderModule),
6
+ progressCompleted$: loaderModule.progressCompleted$.bind(loaderModule),
7
+ setDracoLoader: loaderModule.setDracoLoader.bind(loaderModule),
8
+ load: loaderModule.load.bind(loaderModule),
9
+ dispose: loaderModule.dispose.bind(loaderModule),
10
+ items: loaderModule.items.bind(loaderModule),
11
+ loaders: loaderModule.loaders.bind(loaderModule),
12
+ toLoad: loaderModule.toLoad.bind(loaderModule),
13
+ loaded: loaderModule.loaded.bind(loaderModule),
14
+ resources: loaderModule.resources.bind(loaderModule),
15
+ init: () => { }
16
+ });
17
+ //# sourceMappingURL=loader.module-worker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loader.module-worker.js","sourceRoot":"","sources":["../../../../src/modules/loader/loader.module-worker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAGxC,OAAO,EAAE,YAAY,EAAgB,MAAM,iBAAiB,CAAC;AAI7D,MAAM,CAAC;IACN,UAAU,EAAE,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC;IACtD,SAAS,EAAE,YAAY,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC;IACpD,kBAAkB,EAAE,YAAY,CAAC,kBAAkB,CAAC,IAAI,CAAC,YAAY,CAAC;IACtE,cAAc,EAAE,YAAY,CAAC,cAAc,CAAC,IAAI,CAAC,YAAY,CAAC;IAC9D,IAAI,EAAE,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC;IAC1C,OAAO,EAAE,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC;IAChD,KAAK,EAAE,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC;IAC5C,OAAO,EAAE,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC;IAChD,MAAM,EAAE,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC;IAC9C,MAAM,EAAE,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC;IAC9C,SAAS,EAAE,YAAY,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC;IACpD,IAAI,EAAE,GAAG,EAAE,GAAE,CAAC;CACgB,CAAC,CAAC"}
@@ -0,0 +1,35 @@
1
+ import "reflect-metadata";
2
+ import { DRACOLoader } from "three/examples/jsm/loaders/DRACOLoader";
3
+ import { WorkerThreadModule } from "@quick-threejs/utils/dist/types/worker.type";
4
+ import { LoaderController } from "./loader.controller";
5
+ import { LoaderComponent } from "./loader.component";
6
+ import { Module } from "../../common/interfaces/module.interface";
7
+ import { LoadedResourceItem, Resource } from "../../common/interfaces/resource.interface";
8
+ export declare class LoaderModule implements Module, WorkerThreadModule {
9
+ private readonly controller;
10
+ private readonly component;
11
+ constructor(controller: LoaderController, component: LoaderComponent);
12
+ private _handleLoadedResource;
13
+ setDracoLoader(dracoDecoderPath: string, linkWithGltfLoader?: boolean): void;
14
+ load(): void;
15
+ items(): {
16
+ [name: string]: LoadedResourceItem;
17
+ };
18
+ loaders(): {
19
+ dracoLoader?: DRACOLoader;
20
+ gltfLoader?: import("three/examples/jsm/loaders/GLTFLoader").GLTFLoader;
21
+ textureLoader?: import("three").ImageBitmapLoader;
22
+ cubeTextureLoader?: import("three").CubeTextureLoader;
23
+ audioLoader?: import("three").AudioLoader;
24
+ videoLoader?: LoaderComponent["videoLoader"];
25
+ };
26
+ resources(): Resource[];
27
+ loaded(): number;
28
+ toLoad(): number;
29
+ init(resources?: Resource[]): void;
30
+ dispose(): void;
31
+ lifecycle$(): import("rxjs").Observable<unknown>;
32
+ progress$(): import("rxjs").Observable<import("../../common/interfaces/resource.interface").ProgressedResource>;
33
+ progressCompleted$(): import("rxjs").Observable<import("../../common/interfaces/resource.interface").ProgressedResource>;
34
+ }
35
+ export declare const loaderModule: LoaderModule;