@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.
- package/LICENSE +9 -0
- package/README.md +49 -0
- package/dist/src/common/constants/event.constants.d.ts +2 -0
- package/dist/src/common/constants/event.constants.js +23 -0
- package/dist/src/common/constants/event.constants.js.map +1 -0
- package/dist/src/common/enums/camera.enum.d.ts +4 -0
- package/dist/src/common/enums/camera.enum.js +6 -0
- package/dist/src/common/enums/camera.enum.js.map +1 -0
- package/dist/src/common/enums/lifecycle.enum.d.ts +10 -0
- package/dist/src/common/enums/lifecycle.enum.js +13 -0
- package/dist/src/common/enums/lifecycle.enum.js.map +1 -0
- package/dist/src/common/interfaces/canvas.interface.d.ts +6 -0
- package/dist/src/common/interfaces/canvas.interface.js +2 -0
- package/dist/src/common/interfaces/canvas.interface.js.map +1 -0
- package/dist/src/common/interfaces/core.interface.d.ts +11 -0
- package/dist/src/common/interfaces/core.interface.js +2 -0
- package/dist/src/common/interfaces/core.interface.js.map +1 -0
- package/dist/src/common/interfaces/event.interface.d.ts +4 -0
- package/dist/src/common/interfaces/event.interface.js +2 -0
- package/dist/src/common/interfaces/event.interface.js.map +1 -0
- package/dist/src/common/interfaces/module.interface.d.ts +27 -0
- package/dist/src/common/interfaces/module.interface.js +2 -0
- package/dist/src/common/interfaces/module.interface.js.map +1 -0
- package/dist/src/common/interfaces/resource.interface.d.ts +14 -0
- package/dist/src/common/interfaces/resource.interface.js +2 -0
- package/dist/src/common/interfaces/resource.interface.js.map +1 -0
- package/dist/src/common/models/app-proxy-event-handler.model.d.ts +31 -0
- package/dist/src/common/models/app-proxy-event-handler.model.js +31 -0
- package/dist/src/common/models/app-proxy-event-handler.model.js.map +1 -0
- package/dist/src/common/models/proxy-event-handler.model.d.ts +18 -0
- package/dist/src/common/models/proxy-event-handler.model.js +18 -0
- package/dist/src/common/models/proxy-event-handler.model.js.map +1 -0
- package/dist/src/common/models/proxy-event-observables.model.d.ts +19 -0
- package/dist/src/common/models/proxy-event-observables.model.js +18 -0
- package/dist/src/common/models/proxy-event-observables.model.js.map +1 -0
- package/dist/src/common/models/proxy-event-subjects.models.d.ts +18 -0
- package/dist/src/common/models/proxy-event-subjects.models.js +17 -0
- package/dist/src/common/models/proxy-event-subjects.models.js.map +1 -0
- package/dist/src/common/models/register-props.model.d.ts +75 -0
- package/dist/src/common/models/register-props.model.js +74 -0
- package/dist/src/common/models/register-props.model.js.map +1 -0
- package/dist/src/common/models/register-proxy-event-handler.model.d.ts +17 -0
- package/dist/src/common/models/register-proxy-event-handler.model.js +17 -0
- package/dist/src/common/models/register-proxy-event-handler.model.js.map +1 -0
- package/dist/src/common/serializers/object3d.serializer.d.ts +2 -0
- package/dist/src/common/serializers/object3d.serializer.js +16 -0
- package/dist/src/common/serializers/object3d.serializer.js.map +1 -0
- package/dist/src/common/types/object.type.d.ts +25 -0
- package/dist/src/common/types/object.type.js +2 -0
- package/dist/src/common/types/object.type.js.map +1 -0
- package/dist/src/main.d.ts +1 -0
- package/dist/src/main.js +20 -0
- package/dist/src/main.js.map +1 -0
- package/dist/src/main.worker.d.ts +2 -0
- package/dist/src/main.worker.js +27 -0
- package/dist/src/main.worker.js.map +1 -0
- package/dist/src/modules/app/app.component.d.ts +7 -0
- package/dist/src/modules/app/app.component.js +18 -0
- package/dist/src/modules/app/app.component.js.map +1 -0
- package/dist/src/modules/app/app.controller.d.ts +10 -0
- package/dist/src/modules/app/app.controller.js +44 -0
- package/dist/src/modules/app/app.controller.js.map +1 -0
- package/dist/src/modules/app/app.module-worker.d.ts +6 -0
- package/dist/src/modules/app/app.module-worker.js +27 -0
- package/dist/src/modules/app/app.module-worker.js.map +1 -0
- package/dist/src/modules/app/app.module.d.ts +32 -0
- package/dist/src/modules/app/app.module.js +125 -0
- package/dist/src/modules/app/app.module.js.map +1 -0
- package/dist/src/modules/app/camera/camera.component.d.ts +18 -0
- package/dist/src/modules/app/camera/camera.component.js +81 -0
- package/dist/src/modules/app/camera/camera.component.js.map +1 -0
- package/dist/src/modules/app/camera/camera.controller.d.ts +10 -0
- package/dist/src/modules/app/camera/camera.controller.js +35 -0
- package/dist/src/modules/app/camera/camera.controller.js.map +1 -0
- package/dist/src/modules/app/camera/camera.module.d.ts +12 -0
- package/dist/src/modules/app/camera/camera.module.js +56 -0
- package/dist/src/modules/app/camera/camera.module.js.map +1 -0
- package/dist/src/modules/app/debug/debug.component.d.ts +28 -0
- package/dist/src/modules/app/debug/debug.component.js +119 -0
- package/dist/src/modules/app/debug/debug.component.js.map +1 -0
- package/dist/src/modules/app/debug/debug.controller.d.ts +6 -0
- package/dist/src/modules/app/debug/debug.controller.js +29 -0
- package/dist/src/modules/app/debug/debug.controller.js.map +1 -0
- package/dist/src/modules/app/debug/debug.module.d.ts +10 -0
- package/dist/src/modules/app/debug/debug.module.js +41 -0
- package/dist/src/modules/app/debug/debug.module.js.map +1 -0
- package/dist/src/modules/app/renderer/renderer.component.d.ts +19 -0
- package/dist/src/modules/app/renderer/renderer.component.js +83 -0
- package/dist/src/modules/app/renderer/renderer.component.js.map +1 -0
- package/dist/src/modules/app/renderer/renderer.controller.d.ts +13 -0
- package/dist/src/modules/app/renderer/renderer.controller.js +42 -0
- package/dist/src/modules/app/renderer/renderer.controller.js.map +1 -0
- package/dist/src/modules/app/renderer/renderer.module.d.ts +11 -0
- package/dist/src/modules/app/renderer/renderer.module.js +40 -0
- package/dist/src/modules/app/renderer/renderer.module.js.map +1 -0
- package/dist/src/modules/app/sizes/sizes.component.d.ts +10 -0
- package/dist/src/modules/app/sizes/sizes.component.js +26 -0
- package/dist/src/modules/app/sizes/sizes.component.js.map +1 -0
- package/dist/src/modules/app/sizes/sizes.controller.d.ts +9 -0
- package/dist/src/modules/app/sizes/sizes.controller.js +35 -0
- package/dist/src/modules/app/sizes/sizes.controller.js.map +1 -0
- package/dist/src/modules/app/sizes/sizes.module.d.ts +11 -0
- package/dist/src/modules/app/sizes/sizes.module.js +41 -0
- package/dist/src/modules/app/sizes/sizes.module.js.map +1 -0
- package/dist/src/modules/app/timer/timer.component.d.ts +8 -0
- package/dist/src/modules/app/timer/timer.component.js +20 -0
- package/dist/src/modules/app/timer/timer.component.js.map +1 -0
- package/dist/src/modules/app/timer/timer.controller.d.ts +15 -0
- package/dist/src/modules/app/timer/timer.controller.js +57 -0
- package/dist/src/modules/app/timer/timer.controller.js.map +1 -0
- package/dist/src/modules/app/timer/timer.module.d.ts +17 -0
- package/dist/src/modules/app/timer/timer.module.js +72 -0
- package/dist/src/modules/app/timer/timer.module.js.map +1 -0
- package/dist/src/modules/app/world/world.component.d.ts +4 -0
- package/dist/src/modules/app/world/world.component.js +16 -0
- package/dist/src/modules/app/world/world.component.js.map +1 -0
- package/dist/src/modules/app/world/world.controller.d.ts +2 -0
- package/dist/src/modules/app/world/world.controller.js +14 -0
- package/dist/src/modules/app/world/world.controller.js.map +1 -0
- package/dist/src/modules/app/world/world.module.d.ts +12 -0
- package/dist/src/modules/app/world/world.module.js +41 -0
- package/dist/src/modules/app/world/world.module.js.map +1 -0
- package/dist/src/modules/loader/loader.component.d.ts +25 -0
- package/dist/src/modules/loader/loader.component.js +68 -0
- package/dist/src/modules/loader/loader.component.js.map +1 -0
- package/dist/src/modules/loader/loader.controller.d.ts +9 -0
- package/dist/src/modules/loader/loader.controller.js +21 -0
- package/dist/src/modules/loader/loader.controller.js.map +1 -0
- package/dist/src/modules/loader/loader.module-worker.d.ts +3 -0
- package/dist/src/modules/loader/loader.module-worker.js +17 -0
- package/dist/src/modules/loader/loader.module-worker.js.map +1 -0
- package/dist/src/modules/loader/loader.module.d.ts +35 -0
- package/dist/src/modules/loader/loader.module.js +120 -0
- package/dist/src/modules/loader/loader.module.js.map +1 -0
- package/dist/src/modules/register/register.component.d.ts +13 -0
- package/dist/src/modules/register/register.component.js +35 -0
- package/dist/src/modules/register/register.component.js.map +1 -0
- package/dist/src/modules/register/register.controller.d.ts +40 -0
- package/dist/src/modules/register/register.controller.js +111 -0
- package/dist/src/modules/register/register.controller.js.map +1 -0
- package/dist/src/modules/register/register.module.d.ts +57 -0
- package/dist/src/modules/register/register.module.js +222 -0
- package/dist/src/modules/register/register.module.js.map +1 -0
- package/dist/vite.config.d.ts +2 -0
- package/dist/vite.config.js +53 -0
- package/dist/vite.config.js.map +1 -0
- 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,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,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,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,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;
|