@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,120 @@
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 "reflect-metadata";
14
+ import { container, inject, Lifecycle, scoped } from "tsyringe";
15
+ import { CanvasTexture } from "three";
16
+ import { DRACOLoader } from "three/examples/jsm/loaders/DRACOLoader";
17
+ import { LoaderController } from "./loader.controller";
18
+ import { LoaderComponent } from "./loader.component";
19
+ let LoaderModule = class LoaderModule {
20
+ controller;
21
+ component;
22
+ constructor(controller, component) {
23
+ this.controller = controller;
24
+ this.component = component;
25
+ self.onmessage = (event) => {
26
+ const resources = event?.data?.resources;
27
+ if (resources)
28
+ this.init(resources);
29
+ };
30
+ }
31
+ _handleLoadedResource(resource, file) {
32
+ this.component.items[resource.name] = file;
33
+ this.component.loaded++;
34
+ this.controller.progress$$.next({
35
+ file,
36
+ resource,
37
+ loaded: this.component.loaded,
38
+ toLoad: this.component.toLoad
39
+ });
40
+ }
41
+ setDracoLoader(dracoDecoderPath, linkWithGltfLoader = true) {
42
+ this.component.loaders.dracoLoader = new DRACOLoader(this.component.loadingManager);
43
+ this.component.loaders.dracoLoader.setDecoderPath(dracoDecoderPath);
44
+ if (linkWithGltfLoader && this.component.loaders.gltfLoader)
45
+ this.component.loaders.gltfLoader.setDRACOLoader(this.component.loaders.dracoLoader);
46
+ }
47
+ load() {
48
+ const firstResource = this.component.resources[0];
49
+ if (!firstResource)
50
+ return;
51
+ this.controller.progress$$.next({
52
+ resource: firstResource,
53
+ loaded: this.component.loaded,
54
+ toLoad: this.component.toLoad
55
+ });
56
+ for (const source of this.component.resources)
57
+ if (!this.component.items[source.name]) {
58
+ if (source.type === "gltfModel" && typeof source.path === "string") {
59
+ this.component.loaders.gltfLoader?.load(source.path, (model) => this._handleLoadedResource(source, model));
60
+ }
61
+ if (source.type === "texture" && typeof source.path === "string") {
62
+ this.component.loaders.textureLoader?.load(source.path, (texture) => {
63
+ this._handleLoadedResource(source, new CanvasTexture(texture));
64
+ });
65
+ }
66
+ if (source.type === "cubeTexture" && typeof source.path === "object") {
67
+ this.component.loaders.cubeTextureLoader?.load(source.path, (texture) => this._handleLoadedResource(source, texture));
68
+ }
69
+ if (source.type === "video" && typeof source.path === "string") {
70
+ this.component.loaders.videoLoader?.load(source.path, (texture) => this._handleLoadedResource(source, texture));
71
+ }
72
+ if (source.type === "audio" && typeof source.path === "string") {
73
+ this.component.loaders.audioLoader?.load(source.path, (audioBuffer) => {
74
+ this._handleLoadedResource(source, audioBuffer);
75
+ });
76
+ }
77
+ }
78
+ }
79
+ items() {
80
+ return this.component.items;
81
+ }
82
+ loaders() {
83
+ return this.component.loaders;
84
+ }
85
+ resources() {
86
+ return this.component.resources;
87
+ }
88
+ loaded() {
89
+ return this.component.loaded;
90
+ }
91
+ toLoad() {
92
+ return this.component.toLoad;
93
+ }
94
+ init(resources = []) {
95
+ this.component.init(resources);
96
+ }
97
+ dispose() {
98
+ this.controller.lifecycle$$.complete();
99
+ this.controller.progress$$.complete();
100
+ }
101
+ lifecycle$() {
102
+ return this.controller.lifecycle$;
103
+ }
104
+ progress$() {
105
+ return this.controller.progress$;
106
+ }
107
+ progressCompleted$() {
108
+ return this.controller.progressCompleted$;
109
+ }
110
+ };
111
+ LoaderModule = __decorate([
112
+ scoped(Lifecycle.ResolutionScoped),
113
+ __param(0, inject(LoaderController)),
114
+ __param(1, inject(LoaderComponent)),
115
+ __metadata("design:paramtypes", [LoaderController,
116
+ LoaderComponent])
117
+ ], LoaderModule);
118
+ export { LoaderModule };
119
+ export const loaderModule = container.resolve(LoaderModule);
120
+ //# sourceMappingURL=loader.module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loader.module.js","sourceRoot":"","sources":["../../../../src/modules/loader/loader.module.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAO,kBAAkB,CAAC;AAE1B,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AACtC,OAAO,EAAE,WAAW,EAAE,MAAM,wCAAwC,CAAC;AAGrE,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAQ9C,IAAM,YAAY,GAAlB,MAAM,YAAY;IAEoB;IACD;IAF3C,YAC4C,UAA4B,EAC7B,SAA0B;QADzB,eAAU,GAAV,UAAU,CAAkB;QAC7B,cAAS,GAAT,SAAS,CAAiB;QAEpE,IAAI,CAAC,SAAS,GAAG,CAAC,KAA+C,EAAE,EAAE;YACpE,MAAM,SAAS,GAAG,KAAK,EAAE,IAAI,EAAE,SAAS,CAAC;YACzC,IAAI,SAAS;gBAAE,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACrC,CAAC,CAAC;IACH,CAAC;IAEO,qBAAqB,CAAC,QAAkB,EAAE,IAAwB;QACzE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;QAC3C,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;QACxB,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC;YAC/B,IAAI;YACJ,QAAQ;YACR,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM;YAC7B,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM;SAC7B,CAAC,CAAC;IACJ,CAAC;IAEM,cAAc,CAAC,gBAAwB,EAAE,kBAAkB,GAAG,IAAI;QACxE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,WAAW,GAAG,IAAI,WAAW,CACnD,IAAI,CAAC,SAAS,CAAC,cAAc,CAC7B,CAAC;QACF,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,WAAW,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC;QAEpE,IAAI,kBAAkB,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,UAAU;YAC1D,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC,cAAc,CAC/C,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,WAAW,CAClC,CAAC;IACJ,CAAC;IAEM,IAAI;QACV,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QAClD,IAAI,CAAC,aAAa;YAAE,OAAO;QAE3B,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC;YAC/B,QAAQ,EAAE,aAAa;YACvB,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM;YAC7B,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM;SAC7B,CAAC,CAAC;QAEH,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,SAAS,CAAC,SAAS;YAC5C,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;gBACxC,IAAI,MAAM,CAAC,IAAI,KAAK,WAAW,IAAI,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;oBACpE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,EAAE,CAC9D,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,KAAK,CAAC,CACzC,CAAC;gBACH,CAAC;gBACD,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,IAAI,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;oBAClE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,aAAa,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,OAAO,EAAE,EAAE;wBACnE,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,IAAI,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC;oBAChE,CAAC,CAAC,CAAC;gBACJ,CAAC;gBACD,IAAI,MAAM,CAAC,IAAI,KAAK,aAAa,IAAI,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;oBACtE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,iBAAiB,EAAE,IAAI,CAC7C,MAAM,CAAC,IAAI,EACX,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,OAAO,CAAC,CACxD,CAAC;gBACH,CAAC;gBACD,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,IAAI,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;oBAChE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,OAAO,EAAE,EAAE,CACjE,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,OAAO,CAAC,CAC3C,CAAC;gBACH,CAAC;gBACD,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,IAAI,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;oBAChE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,CACvC,MAAM,CAAC,IAAI,EACX,CAAC,WAAW,EAAE,EAAE;wBACf,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;oBACjD,CAAC,CACD,CAAC;gBACH,CAAC;YACF,CAAC;IACH,CAAC;IAEM,KAAK;QACX,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;IAC7B,CAAC;IAEM,OAAO;QACb,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;IAC/B,CAAC;IAEM,SAAS;QACf,OAAO,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC;IACjC,CAAC;IAEM,MAAM;QACZ,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;IAC9B,CAAC;IAEM,MAAM;QACZ,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;IAC9B,CAAC;IAEM,IAAI,CAAC,YAAwB,EAAE;QACrC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAChC,CAAC;IAEM,OAAO;QACb,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;QACvC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;IACvC,CAAC;IAEM,UAAU;QAChB,OAAO,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC;IACnC,CAAC;IAEM,SAAS;QACf,OAAO,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC;IAClC,CAAC;IAEM,kBAAkB;QACxB,OAAO,IAAI,CAAC,UAAU,CAAC,kBAAkB,CAAC;IAC3C,CAAC;CACD,CAAA;AAtHY,YAAY;IADxB,MAAM,CAAC,SAAS,CAAC,gBAAgB,CAAC;IAGhC,WAAA,MAAM,CAAC,gBAAgB,CAAC,CAAA;IACxB,WAAA,MAAM,CAAC,eAAe,CAAC,CAAA;qCAD+B,gBAAgB;QAClB,eAAe;GAHzD,YAAY,CAsHxB;;AAED,MAAM,CAAC,MAAM,YAAY,GAAG,SAAS,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC"}
@@ -0,0 +1,13 @@
1
+ import { GUI } from "three/examples/jsm/libs/lil-gui.module.min.js";
2
+ import { WorkerThreadResolution } from "@quick-threejs/utils/dist/types/worker.type";
3
+ import 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,35 @@
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 { GUI } from "three/examples/jsm/libs/lil-gui.module.min.js";
9
+ import { createWorkerPool } from "@quick-threejs/utils";
10
+ import Stats from "stats.js";
11
+ let RegisterComponent = class RegisterComponent {
12
+ workerPool = createWorkerPool();
13
+ canvas;
14
+ worker;
15
+ thread;
16
+ gui;
17
+ stats;
18
+ init(app) {
19
+ this.worker = app.worker;
20
+ this.thread = app.thread;
21
+ this.gui = new GUI();
22
+ this.stats = new Stats();
23
+ this.stats.showPanel(0);
24
+ if (!window)
25
+ return;
26
+ window.document.body.appendChild(this.stats.dom);
27
+ if (window.innerWidth <= 450)
28
+ this.gui.close();
29
+ }
30
+ };
31
+ RegisterComponent = __decorate([
32
+ singleton()
33
+ ], RegisterComponent);
34
+ export { RegisterComponent };
35
+ //# sourceMappingURL=register.component.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"register.component.js","sourceRoot":"","sources":["../../../../src/modules/register/register.component.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,EAAE,GAAG,EAAE,MAAM,+CAA+C,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAExD,OAAO,KAAK,MAAM,UAAU,CAAC;AAKtB,IAAM,iBAAiB,GAAvB,MAAM,iBAAiB;IACb,UAAU,GAAG,gBAAgB,EAAE,CAAC;IAEzC,MAAM,CAAqB;IAC3B,MAAM,CAAsD;IAC5D,MAAM,CAAsD;IAC5D,GAAG,CAAO;IACV,KAAK,CAAS;IAErB,IAAI,CAAC,GAA6C;QACjD,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;QACzB,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;QACzB,IAAI,CAAC,GAAG,GAAG,IAAI,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,KAAK,GAAG,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QAExB,IAAI,CAAC,MAAM;YAAE,OAAO;QAEpB,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACjD,IAAI,MAAM,CAAC,UAAU,IAAI,GAAG;YAAE,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;IAChD,CAAC;CACD,CAAA;AArBY,iBAAiB;IAD7B,SAAS,EAAE;GACC,iBAAiB,CAqB7B"}
@@ -0,0 +1,40 @@
1
+ import { Subject } from "rxjs";
2
+ import { RegisterComponent } from "./register.component";
3
+ import type { 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
+ uiEventHandler(e: UIEvent): {
16
+ type: string;
17
+ x: number;
18
+ y: number;
19
+ top: number;
20
+ left: number;
21
+ width: number;
22
+ height: number;
23
+ };
24
+ mouseEventHandler(e: PointerEvent): Pick<PointerEvent, "button" | "clientX" | "clientY" | "ctrlKey" | "metaKey" | "pageX" | "pageY" | "shiftKey" | "pointerType"> & {
25
+ type?: string | undefined;
26
+ };
27
+ touchEventHandler(e: TouchEvent): {
28
+ type: string;
29
+ touches: {
30
+ pageX: number;
31
+ pageY: number;
32
+ }[];
33
+ };
34
+ wheelEventHandler(e: WheelEvent): Pick<WheelEvent, "deltaX" | "deltaY"> & {
35
+ type?: string | undefined;
36
+ };
37
+ keyEventHandler(e: KeyboardEvent): (Pick<KeyboardEvent, "ctrlKey" | "metaKey" | "shiftKey" | "keyCode"> & {
38
+ type?: string | undefined;
39
+ }) | undefined;
40
+ }
@@ -0,0 +1,111 @@
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 { fromEvent, map, filter, Subject } from "rxjs";
15
+ import { copyProperties } from "@quick-threejs/utils";
16
+ import { RegisterComponent } from "./register.component";
17
+ import { KEYBOARD_EVENT_CODES, PROXY_EVENT_LISTENERS } from "../../common/constants/event.constants";
18
+ import { ProxyEventHandlersModel } from "../../common/models/proxy-event-handler.model";
19
+ let RegisterController = class RegisterController extends ProxyEventHandlersModel {
20
+ component;
21
+ canvas;
22
+ lifecycle$$ = new Subject();
23
+ lifecycle$ = this.lifecycle$$.pipe();
24
+ constructor(component) {
25
+ super();
26
+ this.component = component;
27
+ }
28
+ init(canvas) {
29
+ this.canvas = canvas;
30
+ for (const key of PROXY_EVENT_LISTENERS) {
31
+ const eventHandler = key.startsWith("mouse") ||
32
+ key.startsWith("pointer") ||
33
+ key.startsWith("touch")
34
+ ? this.mouseEventHandler
35
+ : key.startsWith("key")
36
+ ? this.keyEventHandler
37
+ : key === "resize"
38
+ ? this.uiEventHandler
39
+ : key === "wheel"
40
+ ? this.wheelEventHandler
41
+ : this.preventDefaultHandler;
42
+ // @ts-ignore
43
+ this[`${key}$`] = fromEvent(key === "resize" ? window : canvas, key).pipe(
44
+ // @ts-ignore
45
+ map(eventHandler.bind(this)), filter((e) => (key === "keydown" && !e ? false : true)));
46
+ this[`${key}$`].subscribe((event) => {
47
+ this.component.thread?.[key]?.(event);
48
+ });
49
+ }
50
+ }
51
+ preventDefaultHandler(e) {
52
+ e.preventDefault();
53
+ return {
54
+ type: e.type
55
+ };
56
+ }
57
+ uiEventHandler(e) {
58
+ const rect = this.canvas.getBoundingClientRect();
59
+ return {
60
+ type: e.type,
61
+ x: window?.innerWidth ?? 0,
62
+ y: window?.innerHeight ?? 0,
63
+ top: rect.top,
64
+ left: rect.left,
65
+ width: this.canvas.width,
66
+ height: this.canvas.height
67
+ };
68
+ }
69
+ mouseEventHandler(e) {
70
+ return copyProperties(e, [
71
+ "ctrlKey",
72
+ "metaKey",
73
+ "shiftKey",
74
+ "button",
75
+ "pointerType",
76
+ "clientX",
77
+ "clientY",
78
+ "pageX",
79
+ "pageY"
80
+ ]);
81
+ }
82
+ touchEventHandler(e) {
83
+ const touches = [];
84
+ const data = { type: e.type, touches };
85
+ for (let i = 0; i < e.touches.length; ++i) {
86
+ const touch = e.touches[i];
87
+ touches.push({
88
+ pageX: touch?.pageX ?? 0,
89
+ pageY: touch?.pageY ?? 0
90
+ });
91
+ }
92
+ return data;
93
+ }
94
+ wheelEventHandler(e) {
95
+ e.preventDefault();
96
+ return copyProperties(e, ["deltaX", "deltaY"]);
97
+ }
98
+ keyEventHandler(e) {
99
+ if (!KEYBOARD_EVENT_CODES.includes(e.code))
100
+ return undefined;
101
+ e.preventDefault();
102
+ return copyProperties(e, ["ctrlKey", "metaKey", "shiftKey", "keyCode"]);
103
+ }
104
+ };
105
+ RegisterController = __decorate([
106
+ singleton(),
107
+ __param(0, inject(RegisterComponent)),
108
+ __metadata("design:paramtypes", [RegisterComponent])
109
+ ], RegisterController);
110
+ export { RegisterController };
111
+ //# sourceMappingURL=register.controller.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"register.controller.js","sourceRoot":"","sources":["../../../../src/modules/register/register.controller.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,57 @@
1
+ import "reflect-metadata";
2
+ import { RegisterComponent } from "./register.component";
3
+ import { RegisterController } from "./register.controller";
4
+ import { LoaderModule } from "../loader/loader.module";
5
+ import { ExposedLoaderModule } from "../loader/loader.module-worker";
6
+ import { ExposedAppModule } from "../app/app.module-worker";
7
+ import { RegisterPropsModel } from "../../common/models/register-props.model";
8
+ import { RegisterLifecycleState } from "../../common/enums/lifecycle.enum";
9
+ import { RegisterProxyEventHandlersModel } from "../../common/models/register-proxy-event-handler.model";
10
+ import type { ProgressedResource, Resource } from "../../common/interfaces/resource.interface";
11
+ import type { Module } from "../../common/interfaces/module.interface";
12
+ export declare class RegisterModule extends RegisterProxyEventHandlersModel implements Module {
13
+ private readonly component;
14
+ private readonly controller;
15
+ private readonly registerProps;
16
+ constructor(component: RegisterComponent, controller: RegisterController, registerProps: RegisterPropsModel);
17
+ private _initCanvas;
18
+ private _initComponent;
19
+ private _initController;
20
+ private _initWorkerThread;
21
+ private _initProxyEvents;
22
+ init(): Promise<void>;
23
+ loadResources(props: {
24
+ resources: Resource[];
25
+ disposeOnComplete?: boolean;
26
+ onMainThread?: boolean;
27
+ immediateLoad?: boolean;
28
+ onProgress?: (resource: ProgressedResource) => unknown;
29
+ onProgressComplete?: (resource: ProgressedResource) => unknown;
30
+ }): Promise<{
31
+ load: LoaderModule["load"];
32
+ items: ReturnType<LoaderModule["items"]>;
33
+ loaders: ReturnType<LoaderModule["loaders"]>;
34
+ toLoad: ReturnType<LoaderModule["toLoad"]>;
35
+ loaded: ReturnType<LoaderModule["loaded"]>;
36
+ resources: ReturnType<LoaderModule["resources"]>;
37
+ worker?: import("threads").Worker;
38
+ thread?: import("threads").ModuleThread<ExposedLoaderModule> | undefined;
39
+ }>;
40
+ workerPool(): import("@quick-threejs/utils").WorkerPool;
41
+ canvas(): HTMLCanvasElement;
42
+ worker(): import("threads/dist/types/master").Worker | undefined;
43
+ thread(): import("threads").ModuleThread<ExposedAppModule> | undefined;
44
+ gui(): import("three/examples/jsm/libs/lil-gui.module.min").default | undefined;
45
+ dispose(): void;
46
+ lifecycle$(): import("rxjs").Observable<RegisterLifecycleState>;
47
+ }
48
+ /**
49
+ * @description Register the main logic of the app.
50
+ *
51
+ * @remark __🏁 Should be called on your main thread. Separated from the worker thread implementation__
52
+ *
53
+ * @param props Quick-three register properties.
54
+ */
55
+ export declare const register: (props: RegisterPropsModel) => RegisterModule & {
56
+ ƒ: "s";
57
+ };
@@ -0,0 +1,222 @@
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 "reflect-metadata";
14
+ import { container, inject, singleton } from "tsyringe";
15
+ import { registerSerializer } from "threads";
16
+ import { excludeProperties, isBoolean, isFunction, isUndefined } from "@quick-threejs/utils";
17
+ import { RegisterComponent } from "./register.component";
18
+ import { RegisterController } from "./register.controller";
19
+ import { object3DSerializer } from "../../common/serializers/object3d.serializer";
20
+ import { RegisterPropsModel } from "../../common/models/register-props.model";
21
+ import { RegisterLifecycleState, AppLifecycleState } from "../../common/enums/lifecycle.enum";
22
+ import { DefaultCameraType } from "../../common/enums/camera.enum";
23
+ import { RegisterProxyEventHandlersModel } from "../../common/models/register-proxy-event-handler.model";
24
+ import { PROXY_EVENT_LISTENERS } from "../../common/constants/event.constants";
25
+ let RegisterModule = class RegisterModule extends RegisterProxyEventHandlersModel {
26
+ component;
27
+ controller;
28
+ registerProps;
29
+ constructor(component, controller, registerProps) {
30
+ super();
31
+ this.component = component;
32
+ this.controller = controller;
33
+ this.registerProps = registerProps;
34
+ this.init();
35
+ }
36
+ async _initCanvas() {
37
+ try {
38
+ this.component.canvas = document.createElement("canvas");
39
+ if (this.registerProps.canvas instanceof HTMLCanvasElement)
40
+ this.component.canvas = this.registerProps.canvas;
41
+ if (typeof this.registerProps.canvas === "string") {
42
+ const canvas_ = document.querySelector(this.registerProps.canvas);
43
+ if (canvas_ instanceof HTMLCanvasElement)
44
+ this.component.canvas = canvas_;
45
+ }
46
+ if (!this.component.canvas.parentElement)
47
+ document.body.appendChild(this.component.canvas);
48
+ }
49
+ catch (err) {
50
+ console.error(`🛑 Unable to initialize the canvas:\n${err?.message ?? "Something went wrong"}`);
51
+ }
52
+ }
53
+ async _initComponent() {
54
+ this.component.init({
55
+ worker: this.component.worker,
56
+ thread: this.component.thread
57
+ });
58
+ }
59
+ async _initController() {
60
+ this.controller.init(this.component.canvas);
61
+ if (!this.component.thread || !this.component.worker)
62
+ return;
63
+ const rect = this.component.canvas.getBoundingClientRect();
64
+ this.component.thread?.resize?.({
65
+ type: "resize",
66
+ x: this.registerProps.fullScreen
67
+ ? window.innerWidth
68
+ : this.component.canvas.width,
69
+ y: this.registerProps.fullScreen
70
+ ? window.innerHeight
71
+ : this.component.canvas.height,
72
+ top: rect.top,
73
+ left: rect.left,
74
+ width: this.registerProps.fullScreen
75
+ ? window.innerWidth
76
+ : this.component.canvas.width,
77
+ height: this.registerProps.fullScreen
78
+ ? window.innerHeight
79
+ : this.component.canvas.height
80
+ });
81
+ this.component.thread
82
+ ?.lifecycle$()
83
+ .subscribe((state) => {
84
+ if (state === AppLifecycleState.UPDATE_STARTED)
85
+ this.component.stats?.begin();
86
+ if (state === AppLifecycleState.UPDATE_ENDED)
87
+ this.component.stats?.end();
88
+ });
89
+ }
90
+ async _initWorkerThread() {
91
+ const offscreenCanvas = this.component.canvas.transferControlToOffscreen();
92
+ offscreenCanvas.width = this.component.canvas.clientWidth;
93
+ offscreenCanvas.height = this.component.canvas.clientHeight;
94
+ const app = await this.component.workerPool.run({
95
+ payload: {
96
+ path: this.registerProps.location,
97
+ subject: {
98
+ ...excludeProperties(this.registerProps, [
99
+ "canvas",
100
+ "location",
101
+ "onReady"
102
+ ]),
103
+ canvas: offscreenCanvas
104
+ },
105
+ transferSubject: [offscreenCanvas]
106
+ }
107
+ });
108
+ if (!app.thread || !app.worker)
109
+ throw new Error("Unable to retrieve app worker info.");
110
+ this.component.worker = app.worker;
111
+ this.component.thread = app.thread;
112
+ }
113
+ async _initProxyEvents() {
114
+ PROXY_EVENT_LISTENERS.forEach((key) => (this[`${key}$`] = () => this.controller?.[`${key}$`]));
115
+ }
116
+ async init() {
117
+ registerSerializer(object3DSerializer);
118
+ await this._initCanvas();
119
+ await this._initWorkerThread();
120
+ await this._initComponent();
121
+ await this._initController();
122
+ await this._initProxyEvents();
123
+ this.controller.lifecycle$$.next(RegisterLifecycleState.INITIALIZED);
124
+ this.registerProps.onReady?.(this);
125
+ }
126
+ async loadResources(props) {
127
+ const loaderWorkerThread = await this.component.workerPool.run({
128
+ payload: {
129
+ path: new URL("../loader/loader.module-worker.ts", import.meta.url),
130
+ subject: {
131
+ resources: props.resources
132
+ }
133
+ }
134
+ });
135
+ loaderWorkerThread.thread
136
+ ?.progress$()
137
+ .subscribe((resource) => {
138
+ props.onProgress?.(resource);
139
+ });
140
+ loaderWorkerThread.thread
141
+ ?.progressCompleted$()
142
+ .subscribe((resource) => {
143
+ props.onProgressComplete?.(resource);
144
+ if (props.disposeOnComplete || props.disposeOnComplete === undefined)
145
+ loaderWorkerThread.thread?.dispose();
146
+ });
147
+ if (props.immediateLoad || props.immediateLoad === undefined)
148
+ await loaderWorkerThread.thread?.load();
149
+ return {
150
+ ...loaderWorkerThread,
151
+ load: (await loaderWorkerThread.thread?.load),
152
+ items: (await loaderWorkerThread.thread?.items()),
153
+ loaders: (await loaderWorkerThread.thread?.items()),
154
+ toLoad: (await loaderWorkerThread.thread?.toLoad()),
155
+ loaded: (await loaderWorkerThread.thread?.loaded()),
156
+ resources: (await loaderWorkerThread.thread?.resources())
157
+ };
158
+ }
159
+ workerPool() {
160
+ return this.component.workerPool;
161
+ }
162
+ canvas() {
163
+ return this.component.canvas;
164
+ }
165
+ worker() {
166
+ return this.component.worker;
167
+ }
168
+ thread() {
169
+ return this.component.thread;
170
+ }
171
+ gui() {
172
+ return this.component.gui;
173
+ }
174
+ dispose() {
175
+ this.component.workerPool.terminateAll();
176
+ this.controller.lifecycle$$.next(RegisterLifecycleState.DISPOSED);
177
+ }
178
+ lifecycle$() {
179
+ return this.controller.lifecycle$;
180
+ }
181
+ };
182
+ RegisterModule = __decorate([
183
+ singleton(),
184
+ __param(0, inject(RegisterComponent)),
185
+ __param(1, inject(RegisterController)),
186
+ __param(2, inject(RegisterPropsModel)),
187
+ __metadata("design:paramtypes", [RegisterComponent,
188
+ RegisterController,
189
+ RegisterPropsModel])
190
+ ], RegisterModule);
191
+ export { RegisterModule };
192
+ /**
193
+ * @description Register the main logic of the app.
194
+ *
195
+ * @remark __🏁 Should be called on your main thread. Separated from the worker thread implementation__
196
+ *
197
+ * @param props Quick-three register properties.
198
+ */
199
+ export const register = (props) => {
200
+ if (typeof props?.location !== "string" &&
201
+ !(props?.location instanceof URL))
202
+ throw new Error("Invalid register props detected. location path is required");
203
+ props.defaultCamera = !(props?.defaultCamera && props.defaultCamera in DefaultCameraType)
204
+ ? DefaultCameraType.PERSPECTIVE
205
+ : props.defaultCamera;
206
+ props.withMiniCamera =
207
+ isUndefined(props.withMiniCamera) || !isBoolean(props.withMiniCamera)
208
+ ? false
209
+ : props.withMiniCamera;
210
+ props.startTimer =
211
+ isUndefined(props.startTimer) || !isBoolean(props.startTimer)
212
+ ? true
213
+ : props.startTimer;
214
+ props.fullScreen =
215
+ isUndefined(props.fullScreen) || !isBoolean(props.fullScreen)
216
+ ? true
217
+ : props.fullScreen;
218
+ props.onReady = !isFunction(props.onReady) ? undefined : props.onReady;
219
+ container.register(RegisterPropsModel, { useValue: props });
220
+ return container.resolve(RegisterModule);
221
+ };
222
+ //# sourceMappingURL=register.module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"register.module.js","sourceRoot":"","sources":["../../../../src/modules/register/register.module.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ declare const _default: import("vite").UserConfig;
2
+ export default _default;