@quick-threejs/reactive 0.1.23 → 0.1.25

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 (57) hide show
  1. package/dist/app.module-BeaCiPyy.mjs +5868 -0
  2. package/dist/app.module-jsu6itlh.js +34 -0
  3. package/dist/common/enums/index.d.ts +0 -1
  4. package/dist/common/index.d.ts +1 -1
  5. package/dist/common/interfaces/event.interface.d.ts +0 -4
  6. package/dist/common/interfaces/index.d.ts +1 -0
  7. package/dist/common/interfaces/module.interface.d.ts +10 -2
  8. package/dist/common/models/launch-app-props.model.d.ts +4 -6
  9. package/dist/common/models/proxy-event-handler.model.d.ts +1 -1
  10. package/dist/common/models/proxy-event-observables.model.d.ts +1 -1
  11. package/dist/common/models/proxy-event-subjects.models.d.ts +1 -1
  12. package/dist/common/models/register-props.model.d.ts +9 -2
  13. package/dist/common/tokens/index.d.ts +1 -0
  14. package/dist/common/tokens/ioc.token.d.ts +1 -0
  15. package/dist/core/app/app.controller.d.ts +3 -7
  16. package/dist/core/app/app.module-worker.d.ts +4 -3
  17. package/dist/core/app/app.module.d.ts +19 -15
  18. package/dist/core/app/{app.component.d.ts → app.service.d.ts} +5 -3
  19. package/dist/core/app/camera/camera.controller.d.ts +4 -8
  20. package/dist/core/app/camera/camera.module.d.ts +6 -7
  21. package/dist/core/app/camera/{camera.component.d.ts → camera.service.d.ts} +4 -4
  22. package/dist/core/app/debug/debug.controller.d.ts +3 -4
  23. package/dist/core/app/debug/debug.module.d.ts +10 -8
  24. package/dist/core/app/debug/{debug.component.d.ts → debug.service.d.ts} +10 -10
  25. package/dist/core/app/renderer/renderer.controller.d.ts +6 -8
  26. package/dist/core/app/renderer/renderer.module.d.ts +6 -8
  27. package/dist/core/app/renderer/renderer.service.d.ts +19 -0
  28. package/dist/core/app/sizes/sizes.controller.d.ts +5 -7
  29. package/dist/core/app/sizes/sizes.module.d.ts +4 -5
  30. package/dist/core/app/sizes/{sizes.component.d.ts → sizes.service.d.ts} +1 -1
  31. package/dist/core/app/timer/timer.controller.d.ts +18 -12
  32. package/dist/core/app/timer/timer.module.d.ts +22 -12
  33. package/dist/core/app/timer/timer.service.d.ts +10 -0
  34. package/dist/core/app/world/world.controller.d.ts +0 -3
  35. package/dist/core/app/world/world.module.d.ts +3 -6
  36. package/dist/core/app/world/{world.component.d.ts → world.service.d.ts} +1 -1
  37. package/dist/core/loader/loader.controller.d.ts +0 -2
  38. package/dist/core/loader/loader.module.d.ts +0 -1
  39. package/dist/core/register/register.controller.d.ts +3 -7
  40. package/dist/core/register/register.module.d.ts +14 -17
  41. package/dist/core/register/register.service.d.ts +9 -0
  42. package/dist/core/register/register.util.d.ts +8 -5
  43. package/dist/main.js +3 -2834
  44. package/dist/main.mjs +2485 -0
  45. package/dist/worker.js +1 -318
  46. package/dist/worker.mjs +35 -0
  47. package/package.json +14 -19
  48. package/dist/app.module-Da11YIUG.cjs +0 -29
  49. package/dist/app.module-Dg_0i25D.js +0 -2640
  50. package/dist/common/enums/lifecycle.enum.d.ts +0 -10
  51. package/dist/common/types/index.d.ts +0 -1
  52. package/dist/core/app/renderer/renderer.component.d.ts +0 -19
  53. package/dist/core/app/timer/timer.component.d.ts +0 -8
  54. package/dist/core/register/register.component.d.ts +0 -13
  55. package/dist/main.cjs +0 -12
  56. package/dist/worker.cjs +0 -3
  57. /package/dist/common/{types/object.type.d.ts → interfaces/object.interface.d.ts} +0 -0
@@ -1,13 +1,13 @@
1
1
  import { Camera, PerspectiveCamera, Quaternion, Vector3 } from 'three';
2
- import { CameraComponent } from './camera.component';
2
+ import { CameraService } from './camera.service';
3
3
  import { CameraController } from './camera.controller';
4
- import { SizesComponent } from '../sizes/sizes.component';
4
+ import { SizesService } from '../sizes/sizes.service';
5
5
  import { Module } from '../../../common/interfaces/module.interface';
6
6
  export declare class CameraModule implements Module {
7
- private readonly component;
8
- private readonly sizesComponent;
9
- private readonly controller;
10
- constructor(component: CameraComponent, sizesComponent: SizesComponent, controller: CameraController);
7
+ private readonly _sizesService;
8
+ private readonly _controller;
9
+ private readonly _service;
10
+ constructor(_sizesService: SizesService, _controller: CameraController, _service: CameraService);
11
11
  init(withMiniCamera?: boolean): void;
12
12
  dispose(): void;
13
13
  aspectRatio(value?: number): number;
@@ -16,5 +16,4 @@ export declare class CameraModule implements Module {
16
16
  miniCamera(value?: PerspectiveCamera): PerspectiveCamera | undefined;
17
17
  position(value?: Vector3): Vector3;
18
18
  quaternion(value?: Quaternion): Quaternion;
19
- enabled$(): import('rxjs').Observable<boolean>;
20
19
  }
@@ -1,12 +1,12 @@
1
1
  import { Camera, Euler, PerspectiveCamera, Quaternion, Vector3 } from 'three';
2
- import { SizesComponent } from '../sizes/sizes.component';
2
+ import { SizesService } from '../sizes/sizes.service';
3
3
  import { DefaultCameraType } from '../../../common/enums/camera.enum';
4
- export declare class CameraComponent {
5
- private readonly sizesComponent;
4
+ export declare class CameraService {
5
+ private readonly _sizesService;
6
6
  instance?: Camera;
7
7
  miniCamera?: PerspectiveCamera;
8
8
  enabled: boolean;
9
- constructor(sizesComponent: SizesComponent);
9
+ constructor(_sizesService: SizesService);
10
10
  set aspectRatio(ratio: number);
11
11
  set quaternion(quaternion: Quaternion);
12
12
  set position(position: Vector3);
@@ -1,9 +1,8 @@
1
- import { Subject } from 'rxjs';
2
1
  import { TimerController } from '../timer/timer.controller';
2
+ import { CameraService } from '../camera/camera.service';
3
3
  export declare class DebugController {
4
4
  private readonly timerController;
5
- readonly enable$$: Subject<boolean>;
6
- readonly enable$: import('rxjs').Observable<boolean>;
5
+ private readonly _service;
7
6
  readonly step$: TimerController["step$"];
8
- constructor(timerController: TimerController);
7
+ constructor(timerController: TimerController, _service: CameraService);
9
8
  }
@@ -1,17 +1,19 @@
1
- import { DebugComponent } from './debug.component';
2
- import { DebugController } from './debug.controller';
3
1
  import { Module } from '../../../common/interfaces/module.interface';
2
+ import { DebugService } from './debug.service';
3
+ import { DebugController } from './debug.controller';
4
4
  export declare class DebugModule implements Module {
5
- readonly component: DebugComponent;
6
- readonly controller: DebugController;
7
- constructor(component: DebugComponent, controller: DebugController);
8
- init(props?: Parameters<DebugComponent["init"]>[0]): void;
9
- dispose(): void;
5
+ readonly _service: DebugService;
6
+ readonly _controller: DebugController;
7
+ constructor(_service: DebugService, _controller: DebugController);
8
+ step$(): import('rxjs').Observable<Omit<import('../timer/timer.service').TimerService, never> & {
9
+ type?: string;
10
+ }>;
11
+ init(props?: Parameters<DebugService["activate"]>[0]): void;
10
12
  axesHelper(): import('three').AxesHelper | undefined;
11
13
  cameraControls(): import('three/examples/jsm/controls/OrbitControls').OrbitControls | undefined;
12
14
  cameraHelper(): import('three').CameraHelper | undefined;
13
15
  enabled(value?: boolean): boolean;
14
16
  gridHelper(): import('three').GridHelper | undefined;
15
17
  miniCameraControls(): import('three/examples/jsm/controls/OrbitControls').OrbitControls | undefined;
16
- enabled$(): import('rxjs').Observable<boolean>;
18
+ dispose(): void;
17
19
  }
@@ -1,28 +1,28 @@
1
1
  import { AxesHelper, CameraHelper, GridHelper } from 'three';
2
2
  import { OrbitControls } from 'three/examples/jsm/controls/OrbitControls.js';
3
- import { CameraComponent } from '../camera/camera.component';
4
- import { AppComponent } from '../app.component';
5
- import { WorldComponent } from '../world/world.component';
6
- export declare class DebugComponent {
7
- private readonly appComponent;
8
- private readonly cameraComponent;
9
- private readonly worldComponent;
3
+ import { CameraService } from '../camera/camera.service';
4
+ import { AppService } from '../app.service';
5
+ import { WorldService } from '../world/world.service';
6
+ export declare class DebugService {
7
+ private readonly _appService;
8
+ private readonly _cameraService;
9
+ private readonly _worldService;
10
10
  enabled: boolean;
11
11
  cameraControls?: OrbitControls;
12
12
  miniCameraControls?: OrbitControls;
13
13
  cameraHelper?: CameraHelper;
14
14
  axesHelper?: AxesHelper;
15
15
  gridHelper?: GridHelper;
16
- constructor(appComponent: AppComponent, cameraComponent: CameraComponent, worldComponent: WorldComponent);
16
+ constructor(_appService: AppService, _cameraService: CameraService, _worldService: WorldService);
17
17
  private _setCameraOrbitControl;
18
18
  private _setMiniCameraOrbitControls;
19
19
  private _setCameraHelper;
20
20
  private _setAxesHelper;
21
21
  private _setGridHelper;
22
- init(props?: {
22
+ activate(props?: {
23
23
  axesSizes?: number;
24
24
  gridSizes?: number;
25
25
  }): void;
26
26
  update(): void;
27
- dispose(): void;
27
+ deactivate(): void;
28
28
  }
@@ -1,15 +1,13 @@
1
- import { Observable, Subject } from 'rxjs';
2
- import { ProxyEvent, StepPayload } from 'common';
1
+ import { Observable } from 'rxjs';
2
+ import { ProxyEvent } from '../../../common/interfaces/event.interface';
3
3
  import { SizesController } from '../sizes/sizes.controller';
4
4
  import { TimerController } from '../timer/timer.controller';
5
- import { RendererComponent } from './renderer.component';
5
+ import { RendererService } from './renderer.service';
6
6
  export declare class RendererController {
7
- private readonly rendererComponent;
7
+ private readonly _service;
8
8
  private readonly timerController;
9
9
  private readonly sizesController;
10
- readonly enable$$: Subject<boolean>;
11
- readonly enable$: Observable<boolean>;
12
- readonly step$: Observable<StepPayload>;
10
+ readonly step$: TimerController["step$"];
13
11
  readonly resize$: Observable<UIEvent & ProxyEvent>;
14
- constructor(rendererComponent: RendererComponent, timerController: TimerController, sizesController: SizesController);
12
+ constructor(_service: RendererService, timerController: TimerController, sizesController: SizesController);
15
13
  }
@@ -1,17 +1,15 @@
1
1
  import { Vector2Like } from 'three';
2
- import { RendererComponent } from './renderer.component';
2
+ import { Module, OffscreenCanvasWithStyle } from '../../../common/interfaces';
3
+ import { RendererService } from './renderer.service';
3
4
  import { RendererController } from './renderer.controller';
4
- import { Module } from '../../../common/interfaces/module.interface';
5
- import { OffscreenCanvasWithStyle } from '../../../common/interfaces/canvas.interface';
6
5
  export declare class RendererModule implements Module {
7
- private readonly component;
8
- private readonly controller;
9
- constructor(component: RendererComponent, controller: RendererController);
6
+ private readonly _controller;
7
+ private readonly _service;
8
+ constructor(_controller: RendererController, _service: RendererService);
10
9
  init(canvas: OffscreenCanvasWithStyle): void;
11
- dispose(): void;
12
10
  enabled(value?: boolean): boolean;
13
11
  instance(): import('three').WebGLRenderer | undefined;
14
12
  setSize(value: Vector2Like): void;
15
13
  render(): void;
16
- enabled$(): import('rxjs').Observable<boolean>;
14
+ dispose(): void;
17
15
  }
@@ -0,0 +1,19 @@
1
+ import { WebGLRenderer } from 'three';
2
+ import { OffscreenCanvasWithStyle } from '../../../common/interfaces';
3
+ import { WorldService } from '../world/world.service';
4
+ import { CameraService } from '../camera/camera.service';
5
+ import { SizesService } from '../sizes/sizes.service';
6
+ import { DebugService } from '../debug/debug.service';
7
+ export declare class RendererService {
8
+ private readonly _worldService;
9
+ private readonly _cameraService;
10
+ private readonly _sizesService;
11
+ private readonly _debugComponent;
12
+ static readonly RENDERER_PIXEL_RATIO: number;
13
+ enabled: boolean;
14
+ instance?: WebGLRenderer;
15
+ constructor(_worldService: WorldService, _cameraService: CameraService, _sizesService: SizesService, _debugComponent: DebugService);
16
+ setWebGLRenderer(canvas: OffscreenCanvasWithStyle): void;
17
+ setSize(width: number, height: number): void;
18
+ render(): void;
19
+ }
@@ -1,12 +1,10 @@
1
- import { Observable, Subject } from 'rxjs';
1
+ import { Observable } from 'rxjs';
2
2
  import { ProxyEvent } from 'common';
3
3
  import { AppController } from '../app.controller';
4
- import { SizesComponent } from './sizes.component';
4
+ import { SizesService } from './sizes.service';
5
5
  export declare class SizesController {
6
- private readonly appController;
7
- private readonly component;
8
- readonly enable$$: Subject<boolean>;
9
- readonly enable$: Observable<boolean>;
6
+ private readonly _appController;
7
+ private readonly _service;
10
8
  readonly resize$: Observable<UIEvent & ProxyEvent>;
11
- constructor(appController: AppController, component: SizesComponent);
9
+ constructor(_appController: AppController, _service: SizesService);
12
10
  }
@@ -1,11 +1,11 @@
1
- import { SizesComponent } from './sizes.component';
1
+ import { SizesService } from './sizes.service';
2
2
  import { SizesController } from './sizes.controller';
3
3
  import { Module } from '../../../common/interfaces/module.interface';
4
4
  import { OffscreenCanvasWithStyle } from '../../../common/interfaces/canvas.interface';
5
5
  export declare class SizesModule implements Module {
6
- private readonly component;
7
- private readonly controller;
8
- constructor(component: SizesComponent, controller: SizesController);
6
+ private readonly _controller;
7
+ private readonly _service;
8
+ constructor(_controller: SizesController, _service: SizesService);
9
9
  init(canvas: OffscreenCanvasWithStyle): void;
10
10
  dispose(): void;
11
11
  aspect(value?: number): number;
@@ -14,6 +14,5 @@ export declare class SizesModule implements Module {
14
14
  height(value?: number): number;
15
15
  pixelRatio(value?: number): number;
16
16
  width(value?: number): number;
17
- enabled$(): import('rxjs').Observable<boolean>;
18
17
  resize$(): import('rxjs').Observable<UIEvent & import('../../../common').ProxyEvent>;
19
18
  }
@@ -1,5 +1,5 @@
1
1
  import { OffscreenCanvasWithStyle } from '../../../common/interfaces/canvas.interface';
2
- export declare class SizesComponent {
2
+ export declare class SizesService {
3
3
  width: number;
4
4
  height: number;
5
5
  aspect: number;
@@ -1,14 +1,20 @@
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';
1
+ import { TimerService } from './timer.service';
5
2
  export declare class TimerController {
6
- private readonly component;
7
- private readonly appController;
8
- readonly step$$: Subject<StepPayload>;
9
- readonly enable$$: Subject<boolean>;
10
- readonly step$: import('rxjs').Observable<StepPayload>;
11
- readonly enable$: import('rxjs').Observable<boolean>;
12
- constructor(component: TimerComponent, appController: AppController);
13
- step(): void;
3
+ private readonly _service;
4
+ private readonly beforeStep$$;
5
+ private _previousTime;
6
+ readonly beforeStep$: import('rxjs').Observable<import('@quick-threejs/utils').NonNever<{
7
+ readonly frame: number;
8
+ readonly initialTime: number;
9
+ currentTime: number;
10
+ deltaTime: number;
11
+ deltaRatio: number;
12
+ elapsedTime: number;
13
+ enabled: boolean;
14
+ step: never;
15
+ }>>;
16
+ readonly step$: import('rxjs').Observable<Omit<TimerService, never> & {
17
+ type?: string;
18
+ }>;
19
+ constructor(_service: TimerService);
14
20
  }
@@ -1,19 +1,29 @@
1
- import { TimerComponent } from './timer.component';
2
- import { RendererComponent } from '../renderer/renderer.component';
1
+ import { Module } from '../../../common/interfaces';
2
+ import { TimerService } from './timer.service';
3
3
  import { TimerController } from './timer.controller';
4
- import { Module } from '../../../common/interfaces/module.interface';
5
4
  export declare class TimerModule implements Module {
6
- private readonly component;
7
- private readonly controller;
8
- private readonly rendererComponent;
9
- constructor(component: TimerComponent, controller: TimerController, rendererComponent: RendererComponent);
10
- init(startTimer?: boolean): void;
11
- clock(): import('three').Clock;
5
+ private readonly _controller;
6
+ private readonly _service;
7
+ private _initialAnimationFrameId?;
8
+ private _subscriptions;
9
+ constructor(_controller: TimerController, _service: TimerService);
10
+ init(enabled?: boolean): void;
12
11
  frame(): number;
13
- delta(value?: number): number;
12
+ deltaTime(value?: number): number;
14
13
  deltaRatio(value?: number): number;
15
14
  enabled(value?: boolean): boolean;
16
15
  dispose(): void;
17
- enabled$(): import('rxjs').Observable<boolean>;
18
- step$(): import('rxjs').Observable<import('../../../common').StepPayload>;
16
+ beforeStep$(): import('rxjs').Observable<import('@quick-threejs/utils').NonNever<{
17
+ readonly frame: number;
18
+ readonly initialTime: number;
19
+ currentTime: number;
20
+ deltaTime: number;
21
+ deltaRatio: number;
22
+ elapsedTime: number;
23
+ enabled: boolean;
24
+ step: never;
25
+ }>>;
26
+ step$(): import('rxjs').Observable<Omit<TimerService, never> & {
27
+ type?: string;
28
+ }>;
19
29
  }
@@ -0,0 +1,10 @@
1
+ export declare class TimerService {
2
+ readonly frame: number;
3
+ readonly initialTime: number;
4
+ currentTime: number;
5
+ deltaTime: number;
6
+ deltaRatio: number;
7
+ elapsedTime: number;
8
+ enabled: boolean;
9
+ step(): void;
10
+ }
@@ -1,5 +1,2 @@
1
- import { Subject } from 'rxjs';
2
1
  export declare class WorldController {
3
- readonly enable$$: Subject<boolean>;
4
- readonly enable$: import('rxjs').Observable<boolean>;
5
2
  }
@@ -1,14 +1,11 @@
1
1
  import { Scene } from 'three';
2
- import { WorldComponent } from './world.component';
3
- import { WorldController } from './world.controller';
2
+ import { WorldService } from './world.service';
4
3
  import { Module } from '../../../common/interfaces/module.interface';
5
4
  export declare class WorldModule implements Module {
6
- private readonly component;
7
- private readonly controller;
8
- constructor(component: WorldComponent, controller: WorldController);
5
+ private readonly _service;
6
+ constructor(_service: WorldService);
9
7
  init(): void;
10
8
  dispose(): void;
11
9
  scene(value?: Scene): Scene;
12
10
  enabled(value?: boolean): boolean;
13
- get enable$(): import('rxjs').Observable<boolean>;
14
11
  }
@@ -1,5 +1,5 @@
1
1
  import { Scene } from 'three';
2
- export declare class WorldComponent {
2
+ export declare class WorldService {
3
3
  scene: Scene;
4
4
  enabled: boolean;
5
5
  }
@@ -1,9 +1,7 @@
1
1
  import { Subject } from 'rxjs';
2
2
  import { ProgressedResource } from '../../common/interfaces/resource.interface';
3
3
  export declare class LoaderController {
4
- readonly lifecycle$$: Subject<unknown>;
5
4
  readonly progress$$: Subject<ProgressedResource>;
6
5
  readonly progress$: import('rxjs').Observable<ProgressedResource>;
7
- readonly lifecycle$: import('rxjs').Observable<unknown>;
8
6
  readonly progressCompleted$: import('rxjs').Observable<ProgressedResource>;
9
7
  }
@@ -27,7 +27,6 @@ export declare class LoaderModule implements Module, WorkerThreadModule {
27
27
  toLoad(): number;
28
28
  init(resources?: Resource[]): void;
29
29
  dispose(): void;
30
- lifecycle$(): import('rxjs').Observable<unknown>;
31
30
  progress$(): import('rxjs').Observable<import('../../common/interfaces/resource.interface').ProgressedResource>;
32
31
  progressCompleted$(): import('rxjs').Observable<import('../../common/interfaces/resource.interface').ProgressedResource>;
33
32
  }
@@ -1,13 +1,9 @@
1
- import { Subject } from 'rxjs';
2
- import { RegisterComponent } from './register.component';
3
- import { RegisterLifecycleState } from '../../common/enums/lifecycle.enum';
1
+ import { RegisterService } from './register.service';
4
2
  import { ProxyEventHandlersModel } from '../../common/models/proxy-event-handler.model';
5
3
  export declare class RegisterController extends ProxyEventHandlersModel {
6
- private readonly component;
4
+ private readonly _service;
7
5
  private canvas;
8
- readonly lifecycle$$: Subject<RegisterLifecycleState>;
9
- readonly lifecycle$: import('rxjs').Observable<RegisterLifecycleState>;
10
- constructor(component: RegisterComponent);
6
+ constructor(_service: RegisterService);
11
7
  init(canvas: HTMLCanvasElement): void;
12
8
  preventDefaultHandler(e: Event): {
13
9
  type: string;
@@ -1,23 +1,22 @@
1
- import { RegisterComponent } from './register.component';
2
- import { RegisterController } from './register.controller';
1
+ import { DependencyContainer } from 'tsyringe';
2
+ import { Module, ProgressedResource, Resource, RegisterPropsModel, RegisterProxyEventHandlersModel } from '../../common';
3
+ import { ExposedAppModule } from '../app/app.module-worker';
3
4
  import { LoaderModule } from '../loader/loader.module';
4
5
  import { ExposedLoaderModule } from '../loader/loader.module-worker';
5
- import { ExposedAppModule } from '../app/app.module-worker';
6
- import { RegisterPropsModel } from '../../common/models/register-props.model';
7
- import { RegisterLifecycleState } from '../../common/enums/lifecycle.enum';
8
- import { RegisterProxyEventHandlersModel } from '../../common/models/register-proxy-event-handler.model';
9
- import { ProgressedResource, Resource } from '../../common/interfaces/resource.interface';
10
- import { Module } from '../../common/interfaces/module.interface';
6
+ import { RegisterService } from './register.service';
7
+ import { RegisterController } from './register.controller';
11
8
  export declare class RegisterModule extends RegisterProxyEventHandlersModel implements Module {
12
- private readonly component;
13
- private readonly controller;
14
- private readonly registerProps;
15
- constructor(component: RegisterComponent, controller: RegisterController, registerProps: RegisterPropsModel);
9
+ private readonly _container;
10
+ private readonly _service;
11
+ private readonly _controller;
12
+ readonly registerProps: RegisterPropsModel;
13
+ initialized: boolean;
14
+ constructor(_container: DependencyContainer, _service: RegisterService, _controller: RegisterController, registerProps: RegisterPropsModel);
16
15
  private _initCanvas;
17
16
  private _initComponent;
18
17
  private _initController;
19
18
  private _initWorkerThread;
20
- private _initProxyEvents;
19
+ private _initObservableProxyEvents;
21
20
  init(): Promise<void>;
22
21
  loadResources(props: {
23
22
  resources: Resource[];
@@ -37,10 +36,8 @@ export declare class RegisterModule extends RegisterProxyEventHandlersModel impl
37
36
  thread?: import('threads').ModuleThread<ExposedLoaderModule> | undefined;
38
37
  }>;
39
38
  workerPool(): import('@quick-threejs/utils').WorkerPool;
40
- canvas(): HTMLCanvasElement;
39
+ canvas(): HTMLCanvasElement | undefined;
41
40
  worker(): import('threads/dist/types/master').Worker | undefined;
42
41
  thread(): import('threads').ModuleThread<ExposedAppModule> | undefined;
43
- gui(): import('three/examples/jsm/libs/lil-gui.module.min').default | undefined;
44
- dispose(): void;
45
- lifecycle$(): import('rxjs').Observable<RegisterLifecycleState>;
42
+ dispose(): Promise<void>;
46
43
  }
@@ -0,0 +1,9 @@
1
+ import { WorkerThreadResolution } from '@quick-threejs/utils';
2
+ import { ExposedAppModule } from '../app/app.module-worker';
3
+ export declare class RegisterService {
4
+ readonly workerPool: import('@quick-threejs/utils').WorkerPool;
5
+ canvas?: HTMLCanvasElement;
6
+ worker?: WorkerThreadResolution<ExposedAppModule>["worker"];
7
+ thread?: WorkerThreadResolution<ExposedAppModule>["thread"];
8
+ init(app: WorkerThreadResolution<ExposedAppModule>): void;
9
+ }
@@ -1,10 +1,13 @@
1
- import { RegisterPropsModel } from '../../common/models/register-props.model';
1
+ import { ContainerizedApp } from '../../common/interfaces';
2
+ import { RegisterPropsModel } from '../../common/models';
2
3
  import { RegisterModule } from './register.module';
3
4
  /**
4
- * @description Register the main logic of the app.
5
+ * @description
5
6
  *
6
- * @remark __🏁 Should be called on your main thread. Separated from the worker thread implementation__
7
+ * Register the main logic of the app.
7
8
  *
8
- * @param props Quick-three register properties.
9
+ * **🏁 This helper should be called from the main thread**
10
+ *
11
+ * @param props {@link RegisterPropsModel}.
9
12
  */
10
- export declare const register: (props: RegisterPropsModel) => RegisterModule;
13
+ export declare const register: (props: RegisterPropsModel) => ContainerizedApp<RegisterModule>;