@quick-threejs/reactive 0.1.42 → 0.1.44

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.
@@ -1,5 +1,5 @@
1
1
  import { DefaultCameraType } from '../enums';
2
- import { ContainerizedApp, Module, LoaderSource, OffscreenCanvasWithStyle } from '../interfaces';
2
+ import { ContainerizedApp, Module, LoaderSource, OffscreenCanvasStb } from '../interfaces';
3
3
  import { RegisterModule } from '../../core/register/register.module';
4
4
  /**
5
5
  * @description {@link RegisterModule} initialization properties.
@@ -125,7 +125,7 @@ export declare class RegisterPropsBlueprint {
125
125
  */
126
126
  export declare class LaunchAppProps<M extends Module> {
127
127
  /** @description App `canvas` element reference. */
128
- canvas?: OffscreenCanvasWithStyle | HTMLCanvasElement;
128
+ canvas?: OffscreenCanvasStb | HTMLCanvasElement;
129
129
  /** @description Handler triggered when the app is ready. */
130
130
  onReady?: (workerApp: ContainerizedApp<M>) => unknown;
131
131
  }
@@ -1,4 +1,4 @@
1
- export interface OffscreenCanvasWithStyle extends OffscreenCanvas {
1
+ export interface OffscreenCanvasStb extends OffscreenCanvas {
2
2
  style: Partial<CSSStyleDeclaration> & {
3
3
  width: CSSStyleDeclaration["width"];
4
4
  height: CSSStyleDeclaration["height"];
@@ -1,4 +1,4 @@
1
- import { OffscreenCanvasWithStyle } from 'main';
1
+ import { OffscreenCanvasStb } from 'main';
2
2
  import { RegisterPropsBlueprint } from '../blueprints/props.blueprint';
3
3
  export interface AppModulePropsMessageEvent extends MessageEvent<Omit<RegisterPropsBlueprint, "canvas" | "location" | "loaderDataSources"> & {
4
4
  /**
@@ -6,6 +6,6 @@ export interface AppModulePropsMessageEvent extends MessageEvent<Omit<RegisterPr
6
6
  *
7
7
  * @default `undefined`
8
8
  */
9
- canvas?: OffscreenCanvasWithStyle | HTMLCanvasElement;
9
+ canvas?: OffscreenCanvasStb | HTMLCanvasElement;
10
10
  }> {
11
11
  }
@@ -1,6 +1,6 @@
1
1
  import { WorkerThreadModule } from '@quick-threejs/worker';
2
2
  import { Observable } from 'rxjs';
3
- import { AppModulePropsMessageEvent, Module, AppProxyEventHandlersBlueprint, OffscreenCanvasWithStyle } from '../../common';
3
+ import { AppModulePropsMessageEvent, Module, AppProxyEventHandlersBlueprint, OffscreenCanvasStb } from '../../common';
4
4
  import { AppController } from './app.controller';
5
5
  import { AppService } from './app.service';
6
6
  import { TimerModule } from './timer/timer.module';
@@ -23,15 +23,17 @@ export declare class AppModule extends AppProxyEventHandlersBlueprint implements
23
23
  constructor(_controller: AppController, _service: AppService, timer: TimerModule, sizes: SizesModule, camera: CameraModule, world: WorldModule, renderer: RendererModule, loader: LoaderModule, debug: DebugModule);
24
24
  private _initProxyEvents;
25
25
  getProxyReceiver(): import('@quick-threejs/utils').ProxyReceiver<Record<string, unknown>>;
26
- getCanvas(): OffscreenCanvasWithStyle | HTMLCanvasElement | undefined;
26
+ getCanvas(): OffscreenCanvasStb | HTMLCanvasElement | undefined;
27
27
  getIsInitialized(): boolean;
28
28
  getBeforeStep$(): Observable<import('@quick-threejs/utils').NonNever<{
29
+ readonly fps: 60;
29
30
  readonly frame: number;
31
+ readonly clock: import('three').Clock;
30
32
  readonly initialTime: number;
31
- currentTime: number;
32
- deltaTime: number;
33
+ elapsed: number;
34
+ previousDelta: number;
35
+ delta: number;
33
36
  deltaRatio: number;
34
- elapsedTime: number;
35
37
  enabled: boolean;
36
38
  step: never;
37
39
  }>>;
@@ -1,9 +1,9 @@
1
1
  import { ProxyReceiver } from '@quick-threejs/utils';
2
- import { OffscreenCanvasWithStyle } from '../../common/interfaces';
2
+ import { OffscreenCanvasStb } from '../../common/interfaces';
3
3
  export declare class AppService {
4
4
  private _canvas?;
5
5
  readonly proxyReceiver: ProxyReceiver<Record<string, unknown>>;
6
6
  isInitialized: boolean;
7
- get canvas(): OffscreenCanvasWithStyle | HTMLCanvasElement | undefined;
8
- set canvas(canvas: HTMLCanvasElement | OffscreenCanvasWithStyle);
7
+ get canvas(): OffscreenCanvasStb | HTMLCanvasElement | undefined;
8
+ set canvas(canvas: HTMLCanvasElement | OffscreenCanvasStb);
9
9
  }
@@ -1,12 +1,12 @@
1
1
  import { Vector2Like } from 'three';
2
- import { Module, OffscreenCanvasWithStyle } from '../../../common/interfaces';
2
+ import { Module, OffscreenCanvasStb } from '../../../common/interfaces';
3
3
  import { RendererService } from './renderer.service';
4
4
  import { RendererController } from './renderer.controller';
5
5
  export declare class RendererModule implements Module {
6
6
  private readonly _controller;
7
7
  private readonly _service;
8
8
  constructor(_controller: RendererController, _service: RendererService);
9
- init(canvas: OffscreenCanvasWithStyle): void;
9
+ init(canvas: OffscreenCanvasStb): void;
10
10
  enabled(value?: boolean): boolean;
11
11
  instance(): import('three').WebGLRenderer | undefined;
12
12
  setSize(value: Vector2Like): void;
@@ -1,5 +1,5 @@
1
1
  import { WebGLRenderer } from 'three';
2
- import { OffscreenCanvasWithStyle } from '../../../common/interfaces';
2
+ import { OffscreenCanvasStb } from '../../../common/interfaces';
3
3
  import { WorldService } from '../world/world.service';
4
4
  import { CameraService } from '../camera/camera.service';
5
5
  import { SizesService } from '../sizes/sizes.service';
@@ -11,7 +11,7 @@ export declare class RendererService {
11
11
  enabled: boolean;
12
12
  instance?: WebGLRenderer;
13
13
  constructor(_worldService: WorldService, _cameraService: CameraService, _sizesService: SizesService);
14
- setWebGLRenderer(canvas: OffscreenCanvasWithStyle): void;
14
+ setWebGLRenderer(canvas: OffscreenCanvasStb | HTMLCanvasElement): void;
15
15
  setSize(width: number, height: number): void;
16
16
  render(): void;
17
17
  }
@@ -1,12 +1,12 @@
1
1
  import { SizesService } from './sizes.service';
2
2
  import { SizesController } from './sizes.controller';
3
3
  import { Module } from '../../../common/interfaces/module.interface';
4
- import { OffscreenCanvasWithStyle } from '../../../common/interfaces/canvas.interface';
4
+ import { OffscreenCanvasStb } from '../../../common/interfaces/canvas.interface';
5
5
  export declare class SizesModule implements Module {
6
6
  private readonly _controller;
7
7
  private readonly _service;
8
8
  constructor(_controller: SizesController, _service: SizesService);
9
- init(canvas: OffscreenCanvasWithStyle | HTMLCanvasElement): void;
9
+ init(canvas: OffscreenCanvasStb | HTMLCanvasElement): void;
10
10
  dispose(): void;
11
11
  aspect(value?: number): number;
12
12
  enabled(value?: boolean): boolean;
@@ -1,4 +1,4 @@
1
- import { OffscreenCanvasWithStyle } from '../../../common/interfaces/canvas.interface';
1
+ import { OffscreenCanvasStb } from '../../../common/interfaces/canvas.interface';
2
2
  export declare class SizesService {
3
3
  width: number;
4
4
  height: number;
@@ -6,5 +6,5 @@ export declare class SizesService {
6
6
  pixelRatio: number;
7
7
  frustrum: number;
8
8
  enabled: boolean;
9
- init(canvas: OffscreenCanvasWithStyle | HTMLCanvasElement, enabled?: boolean): void;
9
+ init(canvas: OffscreenCanvasStb | HTMLCanvasElement, enabled?: boolean): void;
10
10
  }
@@ -4,12 +4,14 @@ export declare class TimerController {
4
4
  private readonly _beforeStep$$;
5
5
  private _oldElapsed;
6
6
  readonly beforeStep$: import('rxjs').Observable<import('@quick-threejs/utils').NonNever<{
7
+ readonly fps: 60;
7
8
  readonly frame: number;
9
+ readonly clock: import('three').Clock;
8
10
  readonly initialTime: number;
9
- currentTime: number;
10
- deltaTime: number;
11
+ elapsed: number;
12
+ previousDelta: number;
13
+ delta: number;
11
14
  deltaRatio: number;
12
- elapsedTime: number;
13
15
  enabled: boolean;
14
16
  step: never;
15
17
  }>>;
@@ -14,12 +14,14 @@ export declare class TimerModule implements Module {
14
14
  enabled(value?: boolean): boolean;
15
15
  dispose(): void;
16
16
  beforeStep$(): import('rxjs').Observable<import('@quick-threejs/utils').NonNever<{
17
+ readonly fps: 60;
17
18
  readonly frame: number;
19
+ readonly clock: import('three').Clock;
18
20
  readonly initialTime: number;
19
- currentTime: number;
20
- deltaTime: number;
21
+ elapsed: number;
22
+ previousDelta: number;
23
+ delta: number;
21
24
  deltaRatio: number;
22
- elapsedTime: number;
23
25
  enabled: boolean;
24
26
  step: never;
25
27
  }>>;
@@ -1,10 +1,13 @@
1
+ import { Clock } from 'three';
1
2
  export declare class TimerService {
3
+ readonly fps = 60;
2
4
  readonly frame: number;
5
+ readonly clock: Clock;
3
6
  readonly initialTime: number;
4
- currentTime: number;
5
- deltaTime: number;
7
+ elapsed: number;
8
+ previousDelta: number;
9
+ delta: number;
6
10
  deltaRatio: number;
7
- elapsedTime: number;
8
11
  enabled: boolean;
9
12
  step(): void;
10
13
  }
@@ -1,5 +1,5 @@
1
1
  import { DependencyContainer } from 'tsyringe';
2
- import { Module, RegisterPropsBlueprint, RegisterProxyEventHandlersBlueprint, OffscreenCanvasWithStyle } from '../../common';
2
+ import { Module, RegisterPropsBlueprint, RegisterProxyEventHandlersBlueprint, OffscreenCanvasStb } from '../../common';
3
3
  import { ExposedAppModule } from '../app/app.worker';
4
4
  import { RegisterService } from './register.service';
5
5
  import { RegisterController } from './register.controller';
@@ -25,7 +25,7 @@ export declare class RegisterModule extends RegisterProxyEventHandlersBlueprint
25
25
  private _initLoader;
26
26
  init(): Promise<void>;
27
27
  getCanvas(): HTMLCanvasElement | undefined;
28
- getOffscreenCanvas(): OffscreenCanvasWithStyle | undefined;
28
+ getOffscreenCanvas(): OffscreenCanvasStb | undefined;
29
29
  getThread(): import('threads').ModuleThread<ExposedAppModule> | undefined;
30
30
  getWorker(): import('threads/dist/types/master').Worker | undefined;
31
31
  getWorkerPool(): import('@quick-threejs/worker').WorkerPool;
@@ -1,11 +1,11 @@
1
1
  import { WorkerPool, WorkerThreadResolution } from '@quick-threejs/worker';
2
- import { OffscreenCanvasWithStyle, RegisterPropsBlueprint } from '../../common';
2
+ import { OffscreenCanvasStb, RegisterPropsBlueprint } from '../../common';
3
3
  import { ExposedAppModule } from '../app/app.worker';
4
4
  export declare class RegisterService {
5
5
  private readonly _props;
6
6
  readonly workerPool: WorkerPool;
7
7
  canvas?: HTMLCanvasElement;
8
- offscreenCanvas?: OffscreenCanvasWithStyle;
8
+ offscreenCanvas?: OffscreenCanvasStb;
9
9
  worker?: WorkerThreadResolution<ExposedAppModule>["worker"];
10
10
  thread?: WorkerThreadResolution<ExposedAppModule>["thread"];
11
11
  constructor(_props: RegisterPropsBlueprint);
package/dist/worker.js CHANGED
@@ -1 +1 @@
1
- "use strict";var be=Object.defineProperty;var Pe=(t,e,i)=>e in t?be(t,e,{enumerable:!0,configurable:!0,writable:!0,value:i}):t[e]=i;var c=(t,e,i)=>Pe(t,typeof e!="symbol"?e+"":e,i);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("./FontLoader-DvGzwRip.js"),h=require("three");var ge={now:function(){return performance.now()},delegate:void 0},z={schedule:function(t){var e=requestAnimationFrame,i=cancelAnimationFrame,r=z.delegate;r&&(e=r.requestAnimationFrame,i=r.cancelAnimationFrame);var s=e(function(o){i=void 0,t(o)});return new n.Subscription(function(){return i==null?void 0:i(s)})},requestAnimationFrame:function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];return requestAnimationFrame.apply(void 0,n.__spreadArray([],n.__read(t)))},cancelAnimationFrame:function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];return cancelAnimationFrame.apply(void 0,n.__spreadArray([],n.__read(t)))},delegate:void 0};function Ce(t){return t?fe(t):Se}function fe(t){return new n.Observable(function(e){var i=t||ge,r=i.now(),s=0,o=function(){e.closed||(s=z.requestAnimationFrame(function(a){s=0;var l=i.now();e.next({timestamp:t?l:a,elapsed:l-r}),o()}))};return o(),function(){s&&z.cancelAnimationFrame(s)}})}var Se=fe();function ye(t,e){return e===void 0&&(e=!1),n.operate(function(i,r){var s=0;i.subscribe(n.createOperatorSubscriber(r,function(o){var a=t(o,s++);(a||e)&&r.next(o),!a&&r.complete()}))})}function we(t,e,i){var r=n.isFunction(t)||e||i?{next:t,error:e,complete:i}:t;return r?n.operate(function(s,o){var a;(a=r.subscribe)===null||a===void 0||a.call(r);var l=!0;s.subscribe(n.createOperatorSubscriber(o,function(_){var d;(d=r.next)===null||d===void 0||d.call(r,_),o.next(_)},function(){var _;l=!1,(_=r.complete)===null||_===void 0||_.call(r),o.complete()},function(_){var d;l=!1,(d=r.error)===null||d===void 0||d.call(r,_),o.error(_)},function(){var _,d;l&&((_=r.unsubscribe)===null||_===void 0||_.call(r)),(d=r.finalize)===null||d===void 0||d.call(r)}))}):n.identity}const se={type:"change"},G={type:"start"},me={type:"end"},D=new h.Ray,re=new h.Plane,Oe=Math.cos(70*h.MathUtils.DEG2RAD),u=new h.Vector3,f=2*Math.PI,p={NONE:-1,ROTATE:0,DOLLY:1,PAN:2,TOUCH_ROTATE:3,TOUCH_PAN:4,TOUCH_DOLLY_PAN:5,TOUCH_DOLLY_ROTATE:6},M=1e-6;class ne extends h.Controls{constructor(e,i=null){super(e,i),this.state=p.NONE,this.target=new h.Vector3,this.cursor=new h.Vector3,this.minDistance=0,this.maxDistance=1/0,this.minZoom=0,this.maxZoom=1/0,this.minTargetRadius=0,this.maxTargetRadius=1/0,this.minPolarAngle=0,this.maxPolarAngle=Math.PI,this.minAzimuthAngle=-1/0,this.maxAzimuthAngle=1/0,this.enableDamping=!1,this.dampingFactor=.05,this.enableZoom=!0,this.zoomSpeed=1,this.enableRotate=!0,this.rotateSpeed=1,this.keyRotateSpeed=1,this.enablePan=!0,this.panSpeed=1,this.screenSpacePanning=!0,this.keyPanSpeed=7,this.zoomToCursor=!1,this.autoRotate=!1,this.autoRotateSpeed=2,this.keys={LEFT:"ArrowLeft",UP:"ArrowUp",RIGHT:"ArrowRight",BOTTOM:"ArrowDown"},this.mouseButtons={LEFT:h.MOUSE.ROTATE,MIDDLE:h.MOUSE.DOLLY,RIGHT:h.MOUSE.PAN},this.touches={ONE:h.TOUCH.ROTATE,TWO:h.TOUCH.DOLLY_PAN},this.target0=this.target.clone(),this.position0=this.object.position.clone(),this.zoom0=this.object.zoom,this._domElementKeyEvents=null,this._lastPosition=new h.Vector3,this._lastQuaternion=new h.Quaternion,this._lastTargetPosition=new h.Vector3,this._quat=new h.Quaternion().setFromUnitVectors(e.up,new h.Vector3(0,1,0)),this._quatInverse=this._quat.clone().invert(),this._spherical=new h.Spherical,this._sphericalDelta=new h.Spherical,this._scale=1,this._panOffset=new h.Vector3,this._rotateStart=new h.Vector2,this._rotateEnd=new h.Vector2,this._rotateDelta=new h.Vector2,this._panStart=new h.Vector2,this._panEnd=new h.Vector2,this._panDelta=new h.Vector2,this._dollyStart=new h.Vector2,this._dollyEnd=new h.Vector2,this._dollyDelta=new h.Vector2,this._dollyDirection=new h.Vector3,this._mouse=new h.Vector2,this._performCursorZoom=!1,this._pointers=[],this._pointerPositions={},this._controlActive=!1,this._onPointerMove=De.bind(this),this._onPointerDown=Ee.bind(this),this._onPointerUp=$e.bind(this),this._onContextMenu=xe.bind(this),this._onMouseWheel=Re.bind(this),this._onKeyDown=Me.bind(this),this._onTouchStart=Le.bind(this),this._onTouchMove=Ae.bind(this),this._onMouseDown=je.bind(this),this._onMouseMove=Te.bind(this),this._interceptControlDown=ze.bind(this),this._interceptControlUp=Ie.bind(this),this.domElement!==null&&this.connect(this.domElement),this.update()}connect(e){super.connect(e),this.domElement.addEventListener("pointerdown",this._onPointerDown),this.domElement.addEventListener("pointercancel",this._onPointerUp),this.domElement.addEventListener("contextmenu",this._onContextMenu),this.domElement.addEventListener("wheel",this._onMouseWheel,{passive:!1}),this.domElement.getRootNode().addEventListener("keydown",this._interceptControlDown,{passive:!0,capture:!0}),this.domElement.style.touchAction="none"}disconnect(){this.domElement.removeEventListener("pointerdown",this._onPointerDown),this.domElement.removeEventListener("pointermove",this._onPointerMove),this.domElement.removeEventListener("pointerup",this._onPointerUp),this.domElement.removeEventListener("pointercancel",this._onPointerUp),this.domElement.removeEventListener("wheel",this._onMouseWheel),this.domElement.removeEventListener("contextmenu",this._onContextMenu),this.stopListenToKeyEvents(),this.domElement.getRootNode().removeEventListener("keydown",this._interceptControlDown,{capture:!0}),this.domElement.style.touchAction="auto"}dispose(){this.disconnect()}getPolarAngle(){return this._spherical.phi}getAzimuthalAngle(){return this._spherical.theta}getDistance(){return this.object.position.distanceTo(this.target)}listenToKeyEvents(e){e.addEventListener("keydown",this._onKeyDown),this._domElementKeyEvents=e}stopListenToKeyEvents(){this._domElementKeyEvents!==null&&(this._domElementKeyEvents.removeEventListener("keydown",this._onKeyDown),this._domElementKeyEvents=null)}saveState(){this.target0.copy(this.target),this.position0.copy(this.object.position),this.zoom0=this.object.zoom}reset(){this.target.copy(this.target0),this.object.position.copy(this.position0),this.object.zoom=this.zoom0,this.object.updateProjectionMatrix(),this.dispatchEvent(se),this.update(),this.state=p.NONE}update(e=null){const i=this.object.position;u.copy(i).sub(this.target),u.applyQuaternion(this._quat),this._spherical.setFromVector3(u),this.autoRotate&&this.state===p.NONE&&this._rotateLeft(this._getAutoRotationAngle(e)),this.enableDamping?(this._spherical.theta+=this._sphericalDelta.theta*this.dampingFactor,this._spherical.phi+=this._sphericalDelta.phi*this.dampingFactor):(this._spherical.theta+=this._sphericalDelta.theta,this._spherical.phi+=this._sphericalDelta.phi);let r=this.minAzimuthAngle,s=this.maxAzimuthAngle;isFinite(r)&&isFinite(s)&&(r<-Math.PI?r+=f:r>Math.PI&&(r-=f),s<-Math.PI?s+=f:s>Math.PI&&(s-=f),r<=s?this._spherical.theta=Math.max(r,Math.min(s,this._spherical.theta)):this._spherical.theta=this._spherical.theta>(r+s)/2?Math.max(r,this._spherical.theta):Math.min(s,this._spherical.theta)),this._spherical.phi=Math.max(this.minPolarAngle,Math.min(this.maxPolarAngle,this._spherical.phi)),this._spherical.makeSafe(),this.enableDamping===!0?this.target.addScaledVector(this._panOffset,this.dampingFactor):this.target.add(this._panOffset),this.target.sub(this.cursor),this.target.clampLength(this.minTargetRadius,this.maxTargetRadius),this.target.add(this.cursor);let o=!1;if(this.zoomToCursor&&this._performCursorZoom||this.object.isOrthographicCamera)this._spherical.radius=this._clampDistance(this._spherical.radius);else{const a=this._spherical.radius;this._spherical.radius=this._clampDistance(this._spherical.radius*this._scale),o=a!=this._spherical.radius}if(u.setFromSpherical(this._spherical),u.applyQuaternion(this._quatInverse),i.copy(this.target).add(u),this.object.lookAt(this.target),this.enableDamping===!0?(this._sphericalDelta.theta*=1-this.dampingFactor,this._sphericalDelta.phi*=1-this.dampingFactor,this._panOffset.multiplyScalar(1-this.dampingFactor)):(this._sphericalDelta.set(0,0,0),this._panOffset.set(0,0,0)),this.zoomToCursor&&this._performCursorZoom){let a=null;if(this.object.isPerspectiveCamera){const l=u.length();a=this._clampDistance(l*this._scale);const _=l-a;this.object.position.addScaledVector(this._dollyDirection,_),this.object.updateMatrixWorld(),o=!!_}else if(this.object.isOrthographicCamera){const l=new h.Vector3(this._mouse.x,this._mouse.y,0);l.unproject(this.object);const _=this.object.zoom;this.object.zoom=Math.max(this.minZoom,Math.min(this.maxZoom,this.object.zoom/this._scale)),this.object.updateProjectionMatrix(),o=_!==this.object.zoom;const d=new h.Vector3(this._mouse.x,this._mouse.y,0);d.unproject(this.object),this.object.position.sub(d).add(l),this.object.updateMatrixWorld(),a=u.length()}else console.warn("WARNING: OrbitControls.js encountered an unknown camera type - zoom to cursor disabled."),this.zoomToCursor=!1;a!==null&&(this.screenSpacePanning?this.target.set(0,0,-1).transformDirection(this.object.matrix).multiplyScalar(a).add(this.object.position):(D.origin.copy(this.object.position),D.direction.set(0,0,-1).transformDirection(this.object.matrix),Math.abs(this.object.up.dot(D.direction))<Oe?this.object.lookAt(this.target):(re.setFromNormalAndCoplanarPoint(this.object.up,this.target),D.intersectPlane(re,this.target))))}else if(this.object.isOrthographicCamera){const a=this.object.zoom;this.object.zoom=Math.max(this.minZoom,Math.min(this.maxZoom,this.object.zoom/this._scale)),a!==this.object.zoom&&(this.object.updateProjectionMatrix(),o=!0)}return this._scale=1,this._performCursorZoom=!1,o||this._lastPosition.distanceToSquared(this.object.position)>M||8*(1-this._lastQuaternion.dot(this.object.quaternion))>M||this._lastTargetPosition.distanceToSquared(this.target)>M?(this.dispatchEvent(se),this._lastPosition.copy(this.object.position),this._lastQuaternion.copy(this.object.quaternion),this._lastTargetPosition.copy(this.target),!0):!1}_getAutoRotationAngle(e){return e!==null?f/60*this.autoRotateSpeed*e:f/60/60*this.autoRotateSpeed}_getZoomScale(e){const i=Math.abs(e*.01);return Math.pow(.95,this.zoomSpeed*i)}_rotateLeft(e){this._sphericalDelta.theta-=e}_rotateUp(e){this._sphericalDelta.phi-=e}_panLeft(e,i){u.setFromMatrixColumn(i,0),u.multiplyScalar(-e),this._panOffset.add(u)}_panUp(e,i){this.screenSpacePanning===!0?u.setFromMatrixColumn(i,1):(u.setFromMatrixColumn(i,0),u.crossVectors(this.object.up,u)),u.multiplyScalar(e),this._panOffset.add(u)}_pan(e,i){const r=this.domElement;if(this.object.isPerspectiveCamera){const s=this.object.position;u.copy(s).sub(this.target);let o=u.length();o*=Math.tan(this.object.fov/2*Math.PI/180),this._panLeft(2*e*o/r.clientHeight,this.object.matrix),this._panUp(2*i*o/r.clientHeight,this.object.matrix)}else this.object.isOrthographicCamera?(this._panLeft(e*(this.object.right-this.object.left)/this.object.zoom/r.clientWidth,this.object.matrix),this._panUp(i*(this.object.top-this.object.bottom)/this.object.zoom/r.clientHeight,this.object.matrix)):(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - pan disabled."),this.enablePan=!1)}_dollyOut(e){this.object.isPerspectiveCamera||this.object.isOrthographicCamera?this._scale/=e:(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled."),this.enableZoom=!1)}_dollyIn(e){this.object.isPerspectiveCamera||this.object.isOrthographicCamera?this._scale*=e:(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled."),this.enableZoom=!1)}_updateZoomParameters(e,i){if(!this.zoomToCursor)return;this._performCursorZoom=!0;const r=this.domElement.getBoundingClientRect(),s=e-r.left,o=i-r.top,a=r.width,l=r.height;this._mouse.x=s/a*2-1,this._mouse.y=-(o/l)*2+1,this._dollyDirection.set(this._mouse.x,this._mouse.y,1).unproject(this.object).sub(this.object.position).normalize()}_clampDistance(e){return Math.max(this.minDistance,Math.min(this.maxDistance,e))}_handleMouseDownRotate(e){this._rotateStart.set(e.clientX,e.clientY)}_handleMouseDownDolly(e){this._updateZoomParameters(e.clientX,e.clientX),this._dollyStart.set(e.clientX,e.clientY)}_handleMouseDownPan(e){this._panStart.set(e.clientX,e.clientY)}_handleMouseMoveRotate(e){this._rotateEnd.set(e.clientX,e.clientY),this._rotateDelta.subVectors(this._rotateEnd,this._rotateStart).multiplyScalar(this.rotateSpeed);const i=this.domElement;this._rotateLeft(f*this._rotateDelta.x/i.clientHeight),this._rotateUp(f*this._rotateDelta.y/i.clientHeight),this._rotateStart.copy(this._rotateEnd),this.update()}_handleMouseMoveDolly(e){this._dollyEnd.set(e.clientX,e.clientY),this._dollyDelta.subVectors(this._dollyEnd,this._dollyStart),this._dollyDelta.y>0?this._dollyOut(this._getZoomScale(this._dollyDelta.y)):this._dollyDelta.y<0&&this._dollyIn(this._getZoomScale(this._dollyDelta.y)),this._dollyStart.copy(this._dollyEnd),this.update()}_handleMouseMovePan(e){this._panEnd.set(e.clientX,e.clientY),this._panDelta.subVectors(this._panEnd,this._panStart).multiplyScalar(this.panSpeed),this._pan(this._panDelta.x,this._panDelta.y),this._panStart.copy(this._panEnd),this.update()}_handleMouseWheel(e){this._updateZoomParameters(e.clientX,e.clientY),e.deltaY<0?this._dollyIn(this._getZoomScale(e.deltaY)):e.deltaY>0&&this._dollyOut(this._getZoomScale(e.deltaY)),this.update()}_handleKeyDown(e){let i=!1;switch(e.code){case this.keys.UP:e.ctrlKey||e.metaKey||e.shiftKey?this.enableRotate&&this._rotateUp(f*this.keyRotateSpeed/this.domElement.clientHeight):this.enablePan&&this._pan(0,this.keyPanSpeed),i=!0;break;case this.keys.BOTTOM:e.ctrlKey||e.metaKey||e.shiftKey?this.enableRotate&&this._rotateUp(-f*this.keyRotateSpeed/this.domElement.clientHeight):this.enablePan&&this._pan(0,-this.keyPanSpeed),i=!0;break;case this.keys.LEFT:e.ctrlKey||e.metaKey||e.shiftKey?this.enableRotate&&this._rotateLeft(f*this.keyRotateSpeed/this.domElement.clientHeight):this.enablePan&&this._pan(this.keyPanSpeed,0),i=!0;break;case this.keys.RIGHT:e.ctrlKey||e.metaKey||e.shiftKey?this.enableRotate&&this._rotateLeft(-f*this.keyRotateSpeed/this.domElement.clientHeight):this.enablePan&&this._pan(-this.keyPanSpeed,0),i=!0;break}i&&(e.preventDefault(),this.update())}_handleTouchStartRotate(e){if(this._pointers.length===1)this._rotateStart.set(e.pageX,e.pageY);else{const i=this._getSecondPointerPosition(e),r=.5*(e.pageX+i.x),s=.5*(e.pageY+i.y);this._rotateStart.set(r,s)}}_handleTouchStartPan(e){if(this._pointers.length===1)this._panStart.set(e.pageX,e.pageY);else{const i=this._getSecondPointerPosition(e),r=.5*(e.pageX+i.x),s=.5*(e.pageY+i.y);this._panStart.set(r,s)}}_handleTouchStartDolly(e){const i=this._getSecondPointerPosition(e),r=e.pageX-i.x,s=e.pageY-i.y,o=Math.sqrt(r*r+s*s);this._dollyStart.set(0,o)}_handleTouchStartDollyPan(e){this.enableZoom&&this._handleTouchStartDolly(e),this.enablePan&&this._handleTouchStartPan(e)}_handleTouchStartDollyRotate(e){this.enableZoom&&this._handleTouchStartDolly(e),this.enableRotate&&this._handleTouchStartRotate(e)}_handleTouchMoveRotate(e){if(this._pointers.length==1)this._rotateEnd.set(e.pageX,e.pageY);else{const r=this._getSecondPointerPosition(e),s=.5*(e.pageX+r.x),o=.5*(e.pageY+r.y);this._rotateEnd.set(s,o)}this._rotateDelta.subVectors(this._rotateEnd,this._rotateStart).multiplyScalar(this.rotateSpeed);const i=this.domElement;this._rotateLeft(f*this._rotateDelta.x/i.clientHeight),this._rotateUp(f*this._rotateDelta.y/i.clientHeight),this._rotateStart.copy(this._rotateEnd)}_handleTouchMovePan(e){if(this._pointers.length===1)this._panEnd.set(e.pageX,e.pageY);else{const i=this._getSecondPointerPosition(e),r=.5*(e.pageX+i.x),s=.5*(e.pageY+i.y);this._panEnd.set(r,s)}this._panDelta.subVectors(this._panEnd,this._panStart).multiplyScalar(this.panSpeed),this._pan(this._panDelta.x,this._panDelta.y),this._panStart.copy(this._panEnd)}_handleTouchMoveDolly(e){const i=this._getSecondPointerPosition(e),r=e.pageX-i.x,s=e.pageY-i.y,o=Math.sqrt(r*r+s*s);this._dollyEnd.set(0,o),this._dollyDelta.set(0,Math.pow(this._dollyEnd.y/this._dollyStart.y,this.zoomSpeed)),this._dollyOut(this._dollyDelta.y),this._dollyStart.copy(this._dollyEnd);const a=(e.pageX+i.x)*.5,l=(e.pageY+i.y)*.5;this._updateZoomParameters(a,l)}_handleTouchMoveDollyPan(e){this.enableZoom&&this._handleTouchMoveDolly(e),this.enablePan&&this._handleTouchMovePan(e)}_handleTouchMoveDollyRotate(e){this.enableZoom&&this._handleTouchMoveDolly(e),this.enableRotate&&this._handleTouchMoveRotate(e)}_addPointer(e){this._pointers.push(e.pointerId)}_removePointer(e){delete this._pointerPositions[e.pointerId];for(let i=0;i<this._pointers.length;i++)if(this._pointers[i]==e.pointerId){this._pointers.splice(i,1);return}}_isTrackingPointer(e){for(let i=0;i<this._pointers.length;i++)if(this._pointers[i]==e.pointerId)return!0;return!1}_trackPointer(e){let i=this._pointerPositions[e.pointerId];i===void 0&&(i=new h.Vector2,this._pointerPositions[e.pointerId]=i),i.set(e.pageX,e.pageY)}_getSecondPointerPosition(e){const i=e.pointerId===this._pointers[0]?this._pointers[1]:this._pointers[0];return this._pointerPositions[i]}_customWheelEvent(e){const i=e.deltaMode,r={clientX:e.clientX,clientY:e.clientY,deltaY:e.deltaY};switch(i){case 1:r.deltaY*=16;break;case 2:r.deltaY*=100;break}return e.ctrlKey&&!this._controlActive&&(r.deltaY*=10),r}}function Ee(t){this.enabled!==!1&&(this._pointers.length===0&&(this.domElement.setPointerCapture(t.pointerId),this.domElement.addEventListener("pointermove",this._onPointerMove),this.domElement.addEventListener("pointerup",this._onPointerUp)),!this._isTrackingPointer(t)&&(this._addPointer(t),t.pointerType==="touch"?this._onTouchStart(t):this._onMouseDown(t)))}function De(t){this.enabled!==!1&&(t.pointerType==="touch"?this._onTouchMove(t):this._onMouseMove(t))}function $e(t){switch(this._removePointer(t),this._pointers.length){case 0:this.domElement.releasePointerCapture(t.pointerId),this.domElement.removeEventListener("pointermove",this._onPointerMove),this.domElement.removeEventListener("pointerup",this._onPointerUp),this.dispatchEvent(me),this.state=p.NONE;break;case 1:const e=this._pointers[0],i=this._pointerPositions[e];this._onTouchStart({pointerId:e,pageX:i.x,pageY:i.y});break}}function je(t){let e;switch(t.button){case 0:e=this.mouseButtons.LEFT;break;case 1:e=this.mouseButtons.MIDDLE;break;case 2:e=this.mouseButtons.RIGHT;break;default:e=-1}switch(e){case h.MOUSE.DOLLY:if(this.enableZoom===!1)return;this._handleMouseDownDolly(t),this.state=p.DOLLY;break;case h.MOUSE.ROTATE:if(t.ctrlKey||t.metaKey||t.shiftKey){if(this.enablePan===!1)return;this._handleMouseDownPan(t),this.state=p.PAN}else{if(this.enableRotate===!1)return;this._handleMouseDownRotate(t),this.state=p.ROTATE}break;case h.MOUSE.PAN:if(t.ctrlKey||t.metaKey||t.shiftKey){if(this.enableRotate===!1)return;this._handleMouseDownRotate(t),this.state=p.ROTATE}else{if(this.enablePan===!1)return;this._handleMouseDownPan(t),this.state=p.PAN}break;default:this.state=p.NONE}this.state!==p.NONE&&this.dispatchEvent(G)}function Te(t){switch(this.state){case p.ROTATE:if(this.enableRotate===!1)return;this._handleMouseMoveRotate(t);break;case p.DOLLY:if(this.enableZoom===!1)return;this._handleMouseMoveDolly(t);break;case p.PAN:if(this.enablePan===!1)return;this._handleMouseMovePan(t);break}}function Re(t){this.enabled===!1||this.enableZoom===!1||this.state!==p.NONE||(t.preventDefault(),this.dispatchEvent(G),this._handleMouseWheel(this._customWheelEvent(t)),this.dispatchEvent(me))}function Me(t){this.enabled!==!1&&this._handleKeyDown(t)}function Le(t){switch(this._trackPointer(t),this._pointers.length){case 1:switch(this.touches.ONE){case h.TOUCH.ROTATE:if(this.enableRotate===!1)return;this._handleTouchStartRotate(t),this.state=p.TOUCH_ROTATE;break;case h.TOUCH.PAN:if(this.enablePan===!1)return;this._handleTouchStartPan(t),this.state=p.TOUCH_PAN;break;default:this.state=p.NONE}break;case 2:switch(this.touches.TWO){case h.TOUCH.DOLLY_PAN:if(this.enableZoom===!1&&this.enablePan===!1)return;this._handleTouchStartDollyPan(t),this.state=p.TOUCH_DOLLY_PAN;break;case h.TOUCH.DOLLY_ROTATE:if(this.enableZoom===!1&&this.enableRotate===!1)return;this._handleTouchStartDollyRotate(t),this.state=p.TOUCH_DOLLY_ROTATE;break;default:this.state=p.NONE}break;default:this.state=p.NONE}this.state!==p.NONE&&this.dispatchEvent(G)}function Ae(t){switch(this._trackPointer(t),this.state){case p.TOUCH_ROTATE:if(this.enableRotate===!1)return;this._handleTouchMoveRotate(t),this.update();break;case p.TOUCH_PAN:if(this.enablePan===!1)return;this._handleTouchMovePan(t),this.update();break;case p.TOUCH_DOLLY_PAN:if(this.enableZoom===!1&&this.enablePan===!1)return;this._handleTouchMoveDollyPan(t),this.update();break;case p.TOUCH_DOLLY_ROTATE:if(this.enableZoom===!1&&this.enableRotate===!1)return;this._handleTouchMoveDollyRotate(t),this.update();break;default:this.state=p.NONE}}function xe(t){this.enabled!==!1&&t.preventDefault()}function ze(t){t.key==="Control"&&(this._controlActive=!0,this.domElement.getRootNode().addEventListener("keyup",this._interceptControlUp,{passive:!0,capture:!0}))}function Ie(t){t.key==="Control"&&(this._controlActive=!1,this.domElement.getRootNode().removeEventListener("keyup",this._interceptControlUp,{passive:!0,capture:!0}))}var Ne=Object.defineProperty,He=Object.getOwnPropertyDescriptor,Ue=(t,e,i,r)=>{for(var s=r>1?void 0:r?He(e,i):e,o=t.length-1,a;o>=0;o--)(a=t[o])&&(s=(r?a(e,i,s):a(s))||s);return r&&s&&Ne(e,i,s),s};let O=class{constructor(){c(this,"_canvas");c(this,"proxyReceiver",new n.S);c(this,"isInitialized",!1)}get canvas(){return this._canvas}set canvas(t){t.style={width:t.width+"",height:t.height+""},this._canvas=t}};O=Ue([n.scoped(n.Lifecycle.ContainerScoped)],O);var Ye=Object.defineProperty,Fe=Object.getOwnPropertyDescriptor,Ve=(t,e,i,r)=>{for(var s=r>1?void 0:r?Fe(e,i):e,o=t.length-1,a;o>=0;o--)(a=t[o])&&(s=(r?a(e,i,s):a(s))||s);return r&&s&&Ye(e,i,s),s},Ze=(t,e)=>(i,r)=>e(i,r,t);let $=class extends n.ProxyEventHandlersBlueprint{constructor(t){super(),this._service=t;for(const e of n.PROXY_EVENT_LISTENERS)this[`${e}$$`]=new n.Subject,this[`${e}$`]=this[`${e}$$`].pipe(),this[e]=i=>{this._service.proxyReceiver.handleEvent({...i,type:i.type||e}),this[`${e}$$`].next(i)}}};$=Ve([n.scoped(n.Lifecycle.ContainerScoped),Ze(0,n.inject(O))],$);var Ke=Object.defineProperty,We=Object.getOwnPropertyDescriptor,Xe=(t,e,i,r)=>{for(var s=r>1?void 0:r?We(e,i):e,o=t.length-1,a;o>=0;o--)(a=t[o])&&(s=(r?a(e,i,s):a(s))||s);return r&&s&&Ke(e,i,s),s};let j=class{constructor(){c(this,"frame",1e3/60);c(this,"initialTime",Date.now());c(this,"currentTime",0);c(this,"deltaTime",0);c(this,"deltaRatio",0);c(this,"elapsedTime",0);c(this,"enabled",!1)}step(){const t=Date.now();this.deltaTime=t-this.currentTime,this.currentTime=t,this.elapsedTime=t-this.initialTime,this.deltaRatio=this.deltaTime/this.frame}};j=Xe([n.scoped(n.Lifecycle.ContainerScoped)],j);var qe=Object.defineProperty,Be=Object.getOwnPropertyDescriptor,Ge=(t,e,i,r)=>{for(var s=r>1?void 0:r?Be(e,i):e,o=t.length-1,a;o>=0;o--)(a=t[o])&&(s=(r?a(e,i,s):a(s))||s);return r&&s&&qe(e,i,s),s},Qe=(t,e)=>(i,r)=>e(i,r,t);let S=class{constructor(t){c(this,"_beforeStep$$",new n.Subject);c(this,"_oldElapsed",0);c(this,"beforeStep$",this._beforeStep$$.asObservable());c(this,"step$",Ce().pipe(we(({elapsed:t})=>{var e;this._oldElapsed!==t&&((e=this._beforeStep$$)==null||e.next(n.E(this._service,[])),this._oldElapsed=t)}),n.filter(()=>this._service.enabled),ye(()=>this._service.enabled),n.map(()=>n.E(this._service,[])),n.share()));this._service=t}};S=Ge([n.scoped(n.Lifecycle.ContainerScoped),Qe(0,n.inject(j))],S);var Je=Object.defineProperty,ke=Object.getOwnPropertyDescriptor,et=(t,e,i,r)=>{for(var s=r>1?void 0:r?ke(e,i):e,o=t.length-1,a;o>=0;o--)(a=t[o])&&(s=(r?a(e,i,s):a(s))||s);return r&&s&&Je(e,i,s),s},oe=(t,e)=>(i,r)=>e(i,r,t);let I=class{constructor(t,e){c(this,"_initialAnimationFrameId");c(this,"_subscriptions",[]);this._controller=t,this._service=e,this._subscriptions.push(this._controller.step$.subscribe(this._service.step.bind(this._service)))}init(t){this.enabled(t)}frame(){return this._service.frame}deltaTime(t){return typeof t=="number"&&(this._service.deltaTime=t),this._service.deltaTime}deltaRatio(t){return typeof t=="number"&&(this._service.deltaRatio=t),this._service.deltaRatio}enabled(t){return typeof t=="boolean"&&(this._service.enabled=t),this._service.enabled}dispose(){this._initialAnimationFrameId!==void 0&&cancelAnimationFrame(this._initialAnimationFrameId),this._service.enabled=!1}beforeStep$(){return this._controller.beforeStep$}step$(){return this._controller.step$}};I=et([n.scoped(n.Lifecycle.ContainerScoped),oe(0,n.inject(S)),oe(1,n.inject(j))],I);var tt=Object.defineProperty,it=Object.getOwnPropertyDescriptor,st=(t,e,i,r)=>{for(var s=r>1?void 0:r?it(e,i):e,o=t.length-1,a;o>=0;o--)(a=t[o])&&(s=(r?a(e,i,s):a(s))||s);return r&&s&&tt(e,i,s),s};let b=class{constructor(){c(this,"width",0);c(this,"height",0);c(this,"aspect",0);c(this,"pixelRatio",0);c(this,"frustrum",5);c(this,"enabled",!0)}init(t,e){this.height=Number(t.height??this.height),this.width=Number(t.width??this.width),this.aspect=this.width/this.height,this.enabled=e===void 0?!0:!!e}};b=st([n.scoped(n.Lifecycle.ContainerScoped)],b);var rt=Object.defineProperty,nt=Object.getOwnPropertyDescriptor,ot=(t,e,i,r)=>{for(var s=r>1?void 0:r?nt(e,i):e,o=t.length-1,a;o>=0;o--)(a=t[o])&&(s=(r?a(e,i,s):a(s))||s);return r&&s&&rt(e,i,s),s},at=(t,e)=>(i,r)=>e(i,r,t);let P=class{constructor(t){c(this,"instance");c(this,"enabled",!0);this._sizesService=t}set aspectRatio(t){var e;this.instance instanceof h.PerspectiveCamera&&(this.instance.aspect=t),(this.instance instanceof h.PerspectiveCamera||this.instance instanceof h.OrthographicCamera)&&((e=this.instance)==null||e.updateProjectionMatrix())}set quaternion(t){var e;(e=this.instance)==null||e.quaternion.copy(t)}set position(t){var e;(e=this.instance)==null||e.position.copy(t)}set rotation(t){var e;(e=this.instance)==null||e.rotation.copy(t)}init(t){if(this.dispose(),t===n.DefaultCameraType.PERSPECTIVE||t===void 0){this.instance=new h.PerspectiveCamera(70,this._sizesService.width/this._sizesService.height,1e-4,100),this.instance.position.z=8;return}t===n.DefaultCameraType.ORTHOGRAPHIC&&(this.instance=new h.OrthographicCamera(-this._sizesService.aspect*this._sizesService.frustrum/2,this._sizesService.aspect*this._sizesService.frustrum/2,this._sizesService.frustrum/2,-this._sizesService.frustrum/2,-50,50))}dispose(){this.instance instanceof h.Camera&&((this.instance instanceof h.PerspectiveCamera||this.instance instanceof h.OrthographicCamera)&&this.instance.clearViewOffset(),this.instance.clear(),this.instance=void 0)}};P=ot([n.scoped(n.Lifecycle.ContainerScoped),at(0,n.inject(b))],P);var ht=Object.defineProperty,ct=Object.getOwnPropertyDescriptor,lt=(t,e,i,r)=>{for(var s=r>1?void 0:r?ct(e,i):e,o=t.length-1,a;o>=0;o--)(a=t[o])&&(s=(r?a(e,i,s):a(s))||s);return r&&s&&ht(e,i,s),s},ae=(t,e)=>(i,r)=>e(i,r,t);let N=class{constructor(t,e){c(this,"step$");this.timerController=t,this._service=e,this.step$=this.timerController.step$.pipe(n.filter(()=>this._service.enabled))}};N=lt([n.scoped(n.Lifecycle.ContainerScoped),ae(0,n.inject(S)),ae(1,n.inject(P))],N);var _t=Object.defineProperty,pt=Object.getOwnPropertyDescriptor,dt=(t,e,i,r)=>{for(var s=r>1?void 0:r?pt(e,i):e,o=t.length-1,a;o>=0;o--)(a=t[o])&&(s=(r?a(e,i,s):a(s))||s);return r&&s&&_t(e,i,s),s},L=(t,e)=>(i,r)=>e(i,r,t);let H=class{constructor(t,e,i){c(this,"_subscriptions",[]);this._sizesService=t,this._controller=e,this._service=i}init(){this._service.init(),this._subscriptions.push(this._controller.step$.subscribe(()=>{var t;this._service.enabled&&(this._service.aspectRatio=this._sizesService.aspect,(this._service.instance instanceof h.PerspectiveCamera||this._service.instance instanceof h.OrthographicCamera)&&((t=this._service.instance)==null||t.updateProjectionMatrix()))}))}enabled(t){return typeof t=="boolean"&&(this._service.enabled=t),this._service.enabled}aspectRatio(t){return t&&(this._service.aspectRatio=t),this._service.aspectRatio}instance(t){return t&&(this._service.instance=t),this._service.instance}position(t){return t&&(this._service.position=t),this._service.position}quaternion(t){return t&&(this._service.quaternion=t),this._service.quaternion}dispose(){this._subscriptions.forEach(t=>t.unsubscribe()),this._service.dispose()}};H=dt([n.scoped(n.Lifecycle.ContainerScoped),L(0,n.inject(b)),L(1,n.inject(N)),L(2,n.inject(P))],H);var ut=Object.defineProperty,ft=Object.getOwnPropertyDescriptor,mt=(t,e,i,r)=>{for(var s=r>1?void 0:r?ft(e,i):e,o=t.length-1,a;o>=0;o--)(a=t[o])&&(s=(r?a(e,i,s):a(s))||s);return r&&s&&ut(e,i,s),s};let y=class{constructor(){c(this,"scene",new h.Scene);c(this,"enabled",!0)}};y=mt([n.scoped(n.Lifecycle.ContainerScoped)],y);var ve=Object.defineProperty,vt=Object.getOwnPropertyDescriptor,bt=(t,e,i)=>e in t?ve(t,e,{enumerable:!0,configurable:!0,writable:!0,value:i}):t[e]=i,Pt=(t,e,i,r)=>{for(var s=r>1?void 0:r?vt(e,i):e,o=t.length-1,a;o>=0;o--)(a=t[o])&&(s=(r?a(e,i,s):a(s))||s);return r&&s&&ve(e,i,s),s},A=(t,e)=>(i,r)=>e(i,r,t),gt=(t,e,i)=>bt(t,e+"",i);let g=class{constructor(t,e,i){c(this,"enabled",!0);c(this,"instance");this._worldService=t,this._cameraService=e,this._sizesService=i}setWebGLRenderer(t){this.instance=new h.WebGLRenderer({canvas:t,context:t.getContext("webgl2",{stencil:!0,powerPreference:"high-performance"}),powerPreference:"high-performance",depth:!0,antialias:!0}),this.instance.autoClear=!1,this.instance.setPixelRatio(g.RENDERER_PIXEL_RATIO),this.instance.setClearColor(0,0),this.instance.shadowMap.enabled=!0,this.instance.shadowMap.type=h.PCFSoftShadowMap,this.instance.outputColorSpace=h.SRGBColorSpace,this.instance.toneMapping=h.CineonToneMapping,this.instance.toneMappingExposure=1.75}setSize(t,e){var i;(i=this.instance)==null||i.setSize(t,e)}render(){this.enabled&&this._cameraService.instance instanceof h.Camera&&this.instance instanceof h.WebGLRenderer&&(this.instance.setViewport(0,0,this._sizesService.width,this._sizesService.height),this.instance.render(this._worldService.scene,this._cameraService.instance))}};gt(g,"RENDERER_PIXEL_RATIO",1);g=Pt([n.scoped(n.Lifecycle.ContainerScoped),A(0,n.inject(y)),A(1,n.inject(P)),A(2,n.inject(b))],g);var Ct=Object.defineProperty,St=Object.getOwnPropertyDescriptor,yt=(t,e,i,r)=>{for(var s=r>1?void 0:r?St(e,i):e,o=t.length-1,a;o>=0;o--)(a=t[o])&&(s=(r?a(e,i,s):a(s))||s);return r&&s&&Ct(e,i,s),s},he=(t,e)=>(i,r)=>e(i,r,t);let T=class{constructor(t,e){c(this,"resize$");this._appController=t,this._service=e,this.resize$=this._appController.resize$$.pipe(n.filter(()=>this._service.enabled))}};T=yt([n.scoped(n.Lifecycle.ContainerScoped),he(0,n.inject($)),he(1,n.inject(b))],T);var wt=Object.defineProperty,Ot=Object.getOwnPropertyDescriptor,Et=(t,e,i,r)=>{for(var s=r>1?void 0:r?Ot(e,i):e,o=t.length-1,a;o>=0;o--)(a=t[o])&&(s=(r?a(e,i,s):a(s))||s);return r&&s&&wt(e,i,s),s},x=(t,e)=>(i,r)=>e(i,r,t);let U=class{constructor(t,e,i){c(this,"step$");c(this,"resize$");this._service=t,this._timerController=e,this._sizesController=i,this.step$=this._timerController.step$.pipe(n.filter(()=>this._service.enabled)),this.resize$=this._sizesController.resize$.pipe(n.filter(()=>this._service.enabled))}};U=Et([n.scoped(n.Lifecycle.ContainerScoped),x(0,n.inject(g)),x(1,n.inject(S)),x(2,n.inject(T))],U);var Dt=Object.defineProperty,$t=Object.getOwnPropertyDescriptor,jt=(t,e,i,r)=>{for(var s=r>1?void 0:r?$t(e,i):e,o=t.length-1,a;o>=0;o--)(a=t[o])&&(s=(r?a(e,i,s):a(s))||s);return r&&s&&Dt(e,i,s),s},ce=(t,e)=>(i,r)=>e(i,r,t);let Y=class{constructor(t,e){this._controller=t,this._service=e}init(t){this._controller.step$.subscribe(()=>this._service.render()),this._controller.resize$.subscribe(e=>this._service.setSize(e.windowWidth,e.windowHeight)),this._service.setWebGLRenderer(t)}enabled(t){return typeof t=="boolean"&&(this._service.enabled=t),this._service.enabled}instance(){return this._service.instance}setSize(t){return this._service.setSize(t.x,t.y)}render(){return this._service.render()}dispose(){var t;(t=this._service.instance)==null||t.dispose(),this._service.instance=void 0}};Y=jt([n.scoped(n.Lifecycle.ContainerScoped),ce(0,n.inject(U)),ce(1,n.inject(g))],Y);var Tt=Object.defineProperty,Rt=Object.getOwnPropertyDescriptor,Mt=(t,e,i,r)=>{for(var s=r>1?void 0:r?Rt(e,i):e,o=t.length-1,a;o>=0;o--)(a=t[o])&&(s=(r?a(e,i,s):a(s))||s);return r&&s&&Tt(e,i,s),s},le=(t,e)=>(i,r)=>e(i,r,t);let F=class{constructor(t,e){this._controller=t,this._service=e}init(t){this._controller.resize$.subscribe(e=>{this._service.width=e.windowWidth,this._service.height=e.windowHeight,this._service.aspect=e.windowWidth/e.windowHeight}),this._service.init(t)}dispose(){}aspect(t){return typeof t=="number"&&(this._service.aspect=t),this._service.aspect}enabled(t){return typeof t=="boolean"&&(this._service.enabled=t),this._service.enabled}frustrum(t){return typeof t=="number"&&(this._service.frustrum=t),this._service.frustrum}height(t){return typeof t=="number"&&(this._service.height=t),this._service.height}pixelRatio(t){return typeof t=="number"&&(this._service.pixelRatio=t),this._service.pixelRatio}width(t){return typeof t=="number"&&(this._service.width=t),this._service.width}resize$(){return this._controller.resize$}};F=Mt([n.scoped(n.Lifecycle.ContainerScoped),le(0,n.inject(T)),le(1,n.inject(b))],F);var Lt=Object.defineProperty,At=Object.getOwnPropertyDescriptor,xt=(t,e,i,r)=>{for(var s=r>1?void 0:r?At(e,i):e,o=t.length-1,a;o>=0;o--)(a=t[o])&&(s=(r?a(e,i,s):a(s))||s);return r&&s&&Lt(e,i,s),s},zt=(t,e)=>(i,r)=>e(i,r,t);let V=class{constructor(t){c(this,"_beforeRender$$",new n.Subject);c(this,"_afterRender$$",new n.Subject);c(this,"beforeRender$",this._beforeRender$$.pipe(n.share()));c(this,"afterRender$",this._afterRender$$.pipe(n.share()));this._worldService=t,this._worldService.scene.onBeforeRender=()=>this._beforeRender$$.next({}),this._worldService.scene.onAfterRender=()=>this._afterRender$$.next({})}};V=xt([n.scoped(n.Lifecycle.ContainerScoped),zt(0,n.inject(y))],V);var It=Object.defineProperty,Nt=Object.getOwnPropertyDescriptor,Ht=(t,e,i,r)=>{for(var s=r>1?void 0:r?Nt(e,i):e,o=t.length-1,a;o>=0;o--)(a=t[o])&&(s=(r?a(e,i,s):a(s))||s);return r&&s&&It(e,i,s),s},_e=(t,e)=>(i,r)=>e(i,r,t);let Z=class{constructor(t,e){this._service=t,this._controller=e}init(){}dispose(){}scene(t){return t instanceof h.Scene&&(this._service.scene=t),this._service.scene}enabled(t){return typeof t=="boolean"&&(this._service.enabled=t),this._service.enabled}getBeforeRender$(){return this._controller.beforeRender$}getAfterRender$(){return this._controller.afterRender$}};Z=Ht([n.scoped(n.Lifecycle.ContainerScoped),_e(0,n.inject(y)),_e(1,n.inject(V))],Z);var Ut=Object.defineProperty,Yt=Object.getOwnPropertyDescriptor,Ft=(t,e,i,r)=>{for(var s=r>1?void 0:r?Yt(e,i):e,o=t.length-1,a;o>=0;o--)(a=t[o])&&(s=(r?a(e,i,s):a(s))||s);return r&&s&&Ut(e,i,s),s},w=(t,e)=>(i,r)=>e(i,r,t);let K=class{constructor(t,e,i,r,s){c(this,"enabled",!1);c(this,"cameraControls");c(this,"miniCamera");c(this,"miniCameraControls");c(this,"axesHelper");c(this,"gridHelper");this._appService=t,this._sizesService=e,this._rendererService=i,this._cameraService=r,this._worldService=s}_renderMiniCamera(){var t,e,i,r,s;!this.enabled||!this.miniCamera||((t=this._rendererService.instance)==null||t.setScissorTest(!0),(e=this._rendererService.instance)==null||e.setViewport(this._sizesService.width-this._sizesService.width/3,this._sizesService.height-this._sizesService.height/3,this._sizesService.width/3,this._sizesService.height/3),(i=this._rendererService.instance)==null||i.setScissor(this._sizesService.width-this._sizesService.width/3,this._sizesService.height-this._sizesService.height/3,this._sizesService.width/3,this._sizesService.height/3),(r=this._rendererService.instance)==null||r.render(this._worldService.scene,this.miniCamera),(s=this._rendererService.instance)==null||s.setScissorTest(!1))}initMiniCamera(){this.disposeMiniCamera(),this.enabled&&(this.miniCamera=new h.PerspectiveCamera(75,this._sizesService.width/this._sizesService.height,.1,500),this.miniCamera.position.z=10,this.miniCamera.position.x=-5)}initOrbitControl(){var t;this.cameraControls&&((t=this.cameraControls)==null||t.dispose()),!(!this.enabled||!(this._cameraService.instance instanceof h.Camera))&&this._cameraService.instance instanceof h.Camera&&(this.cameraControls=new ne(this._cameraService.instance,this._appService.proxyReceiver),this.cameraControls.rotateSpeed=.1,this.cameraControls.enableDamping=!0)}initMiniCameraOrbitControls(){this.miniCameraControls&&this.miniCameraControls.dispose(),!(!this.enabled||!this.miniCamera)&&(this.miniCameraControls=new ne(this.miniCamera,this._appService.proxyReceiver),this.miniCameraControls.rotateSpeed=.15,this.miniCameraControls.enableDamping=!0)}initAxesHelper(t){this.enabled&&(this.axesHelper=new h.AxesHelper(t),this._worldService.scene.add(this.axesHelper))}initGridHelper(t){this.gridHelper&&this._worldService.scene.remove(this.gridHelper),this.enabled&&(this.gridHelper=new h.GridHelper(t,t),this._worldService.scene.add(this.gridHelper))}disposeMiniCamera(){this.miniCamera instanceof h.Camera&&(this.miniCamera.clearViewOffset(),this.miniCamera.clear(),this.miniCamera=void 0)}update(){var t,e;(t=this.cameraControls)==null||t.update(),(e=this.miniCameraControls)==null||e.update(),this._renderMiniCamera()}dispose(){var t,e,i,r;this.disposeMiniCamera(),(t=this.cameraControls)==null||t.dispose(),this.cameraControls=void 0,(e=this.miniCameraControls)==null||e.dispose(),this.miniCameraControls=void 0,this.axesHelper&&this._worldService.scene.remove(this.axesHelper),(i=this.axesHelper)==null||i.dispose(),this.axesHelper=void 0,this.gridHelper&&this._worldService.scene.remove(this.gridHelper),(r=this.gridHelper)==null||r.dispose(),this.gridHelper=void 0}};K=Ft([n.scoped(n.Lifecycle.ContainerScoped),w(0,n.inject(O)),w(1,n.inject(b)),w(2,n.inject(g)),w(3,n.inject(P)),w(4,n.inject(y))],K);var Vt=Object.defineProperty,Zt=Object.getOwnPropertyDescriptor,Kt=(t,e,i,r)=>{for(var s=r>1?void 0:r?Zt(e,i):e,o=t.length-1,a;o>=0;o--)(a=t[o])&&(s=(r?a(e,i,s):a(s))||s);return r&&s&&Vt(e,i,s),s},pe=(t,e)=>(i,r)=>e(i,r,t);let W=class{constructor(t,e){c(this,"step$");this.timerController=t,this._service=e,this.step$=this.timerController.step$.pipe(n.filter(()=>this._service.enabled))}};W=Kt([n.scoped(n.Lifecycle.ContainerScoped),pe(0,n.inject(S)),pe(1,n.inject(P))],W);var Wt=Object.defineProperty,Xt=Object.getOwnPropertyDescriptor,qt=(t,e,i,r)=>{for(var s=r>1?void 0:r?Xt(e,i):e,o=t.length-1,a;o>=0;o--)(a=t[o])&&(s=(r?a(e,i,s):a(s))||s);return r&&s&&Wt(e,i,s),s},de=(t,e)=>(i,r)=>e(i,r,t);let X=class{constructor(t,e){c(this,"_subscriptions",[]);this._service=t,this._controller=e}init(t){this._service.enabled=!!t.enableDebug,this._service.enabled&&(t.withMiniCamera&&this._service.initMiniCamera(),t.enableControls&&(this._service.initOrbitControl(),this._service.initMiniCameraOrbitControls()),typeof(t==null?void 0:t.axesSizes)=="number"&&this._service.initAxesHelper(t.axesSizes),typeof(t==null?void 0:t.gridSizes)=="number"&&this._service.initGridHelper(t.gridSizes),this._subscriptions.push(this._controller.step$.subscribe(()=>{this._service.update()})))}enabled(t){return t&&(this._service.enabled=t),this._service.enabled}miniCamera(t){return t&&(this._service.miniCamera=t),this._service.miniCamera}getAxesHelper(){return this._service.axesHelper}getCameraControls(){return this._service.cameraControls}getGridHelper(){return this._service.gridHelper}getMiniCameraControls(){return this._service.miniCameraControls}getStep$(){return this._controller.step$}dispose(){this._service.dispose(),this._subscriptions.forEach(t=>t.unsubscribe())}};X=qt([n.scoped(n.Lifecycle.ContainerScoped),de(0,n.inject(K)),de(1,n.inject(W))],X);var Bt=Object.defineProperty,Gt=Object.getOwnPropertyDescriptor,Qt=(t,e,i,r)=>{for(var s=r>1?void 0:r?Gt(e,i):e,o=t.length-1,a;o>=0;o--)(a=t[o])&&(s=(r?a(e,i,s):a(s))||s);return r&&s&&Bt(e,i,s),s};let R=class{constructor(){c(this,"loadedResources",{});c(this,"toLoadCount",0);c(this,"loadedCount",0)}handleLoad(t){const{source:e,resource:i,loadedCount:r,toLoadCount:s}=t;i&&(this.loadedResources[e.name]=i,this.toLoadCount=r,this.loadedCount=s)}};R=Qt([n.scoped(n.Lifecycle.ResolutionScoped)],R);var Jt=Object.defineProperty,kt=Object.getOwnPropertyDescriptor,ei=(t,e,i,r)=>{for(var s=r>1?void 0:r?kt(e,i):e,o=t.length-1,a;o>=0;o--)(a=t[o])&&(s=(r?a(e,i,s):a(s))||s);return r&&s&&Jt(e,i,s),s},ti=(t,e)=>(i,r)=>e(i,r,t);let q=class{constructor(t){c(this,"load$",n.fromEvent(self,"message").pipe(n.filter(t=>{var e,i,r;return((e=t.data)==null?void 0:e.token)===n.LOADER_SERIALIZED_LOAD_TOKEN&&!!((r=(i=t.data)==null?void 0:i.payload)!=null&&r.resource)}),n.map(t=>{var i,r,s,o,a;const{payload:e}=t.data||{};if(((i=e==null?void 0:e.source)==null?void 0:i.type)==="gltf"){const l=e.resource,_=(r=l.animations)==null?void 0:r.map(v=>h.AnimationClip.parse(v)),d=(s=l.cameras)==null?void 0:s.map(v=>n.b(v)),C=(o=l.scenes)==null?void 0:o.map(v=>n.b(v)),E=C==null?void 0:C[0];return{...e,resource:{...l,animations:_,cameras:d,scene:E,scenes:C}}}return((a=e==null?void 0:e.source)==null?void 0:a.type)==="font"?{...e,resource:new n.Font(e.resource.data)}:e}),n.share()));c(this,"loadCompleted$",this.load$.pipe(n.filter(t=>!!t&&t.toLoadCount===t.loadedCount),n.map(()=>n.R(this._service,["loadedCount","loadedResources","toLoadCount"])),n.share()));this._service=t}};q=ei([n.scoped(n.Lifecycle.ContainerScoped),ti(0,n.inject(R))],q);var ii=Object.defineProperty,si=Object.getOwnPropertyDescriptor,ri=(t,e,i,r)=>{for(var s=r>1?void 0:r?si(e,i):e,o=t.length-1,a;o>=0;o--)(a=t[o])&&(s=(r?a(e,i,s):a(s))||s);return r&&s&&ii(e,i,s),s},ue=(t,e)=>(i,r)=>e(i,r,t);let B=class{constructor(t,e){c(this,"_subscriptions",[]);this._controller=t,this._service=e}init(){this._subscriptions.push(this._controller.load$.subscribe(this._service.handleLoad.bind(this._service)))}getLoadedResources(){return this._service.loadedResources}getLoadedCount(){return this._service.loadedCount}getToLoadCount(){return this._service.toLoadCount}getLoad$(){return this._controller.load$}getLoadCompleted$(){return this._controller.loadCompleted$}dispose(){this._subscriptions.forEach(t=>t.unsubscribe())}};B=ri([n.scoped(n.Lifecycle.ContainerScoped),ue(0,n.inject(q)),ue(1,n.inject(R))],B);var ni=Object.defineProperty,oi=Object.getOwnPropertyDescriptor,ai=(t,e,i,r)=>{for(var s=r>1?void 0:r?oi(e,i):e,o=t.length-1,a;o>=0;o--)(a=t[o])&&(s=(r?a(e,i,s):a(s))||s);return r&&s&&ni(e,i,s),s},m=(t,e)=>(i,r)=>e(i,r,t);exports.AppModule=class extends n.AppProxyEventHandlersBlueprint{constructor(e,i,r,s,o,a,l,_,d){super(),this._controller=e,this._service=i,this.timer=r,this.sizes=s,this.camera=o,this.world=a,this.renderer=l,this.loader=_,this.debug=d,this._initProxyEvents()}_initProxyEvents(){n.PROXY_EVENT_LISTENERS.forEach(e=>{this[`${e}$`]=()=>{var i;return(i=this._controller)==null?void 0:i[`${e}$`]},this[e]=i=>{var r,s;return(s=(r=this._controller)==null?void 0:r[e])==null?void 0:s.call(r,i)}})}getProxyReceiver(){return this._service.proxyReceiver}getCanvas(){return this._service.canvas}getIsInitialized(){return this._service.isInitialized}getBeforeStep$(){return this.timer.beforeStep$()}getStep$(){return this.timer.step$()}getBeforeRender$(){return this.world.getBeforeRender$()}getAfterRender$(){return this.world.getAfterRender$()}init(e){this._service.canvas=e.canvas,!(this._service.isInitialized||!this._service.canvas)&&(this._service.isInitialized=!0,this.sizes.init(this._service.canvas),this.camera.init(),this.world.init(),this.renderer.init(this._service.canvas),this.timer.init(e.startTimer),this.loader.init(),this.debug.init(e))}dispose(){this.sizes.dispose(),this.camera.dispose(),this.world.dispose(),this.renderer.dispose(),this.timer.dispose(),this.loader.dispose(),this.debug.dispose()}};exports.AppModule=ai([n.scoped(n.Lifecycle.ContainerScoped),m(0,n.inject($)),m(1,n.inject(O)),m(2,n.inject(I)),m(3,n.inject(F)),m(4,n.inject(H)),m(5,n.inject(Z)),m(6,n.inject(Y)),m(7,n.inject(B)),m(8,n.inject(X))],exports.AppModule);var hi=n.requireWorker();const Q=n.getDefaultExportFromCjs(hi),ci=Q.expose;Q.registerSerializer;Q.Transfer;const li=t=>{const e=n.instance.createChildContainer(),i=e.resolve(exports.AppModule),r={container:e,module:i},s={},o=l=>{var E,v,J,k,ee,te,ie;if(!((E=l.data)!=null&&E.canvas)&&!((v=l.data)!=null&&v.mainThread)||i.getIsInitialized())return;const _=!!((J=l.data)!=null&&J.startTimer),d=!!((k=l.data)!=null&&k.withMiniCamera),C=!!((ee=l.data)!=null&&ee.fullScreen);i.init({...l.data,canvas:(t==null?void 0:t.canvas)||l.data.canvas||(l.data.mainThread?(te=self==null?void 0:self.document)==null?void 0:te.getElementsByTagName("canvas")[0]:void 0),startTimer:_,withMiniCamera:d,fullScreen:C}),(ie=t==null?void 0:t.onReady)==null||ie.call(t,r),self==null||self.removeEventListener("message",o)};e.register(n.CONTAINER_TOKEN,{useValue:e}),n.PROXY_EVENT_LISTENERS.forEach(l=>{var _,d;s[l]=(d=(_=i[l])==null?void 0:_.bind)==null?void 0:d.call(_,i)}),self==null||self.addEventListener("message",o);const a={...s,getProxyReceiver:i.getProxyReceiver.bind(i),getIsInitialized:i.getIsInitialized.bind(i),getBeforeStep$:i.getBeforeStep$.bind(i),getBeforeRender$:i.getBeforeRender$.bind(i),getStep$:i.getStep$.bind(i),getAfterRender$:i.getAfterRender$.bind(i),dispose:i.dispose.bind(i)};n.instance.register("MAIN_THREAD_APP",{useValue:a});try{ci(a)}catch(l){console.warn("Failed to expose the app module.",l.message)}return r};exports.launchApp=li;
1
+ "use strict";var be=Object.defineProperty;var Pe=(t,e,i)=>e in t?be(t,e,{enumerable:!0,configurable:!0,writable:!0,value:i}):t[e]=i;var c=(t,e,i)=>Pe(t,typeof e!="symbol"?e+"":e,i);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("./FontLoader-DvGzwRip.js"),h=require("three");var ge={now:function(){return performance.now()},delegate:void 0},z={schedule:function(t){var e=requestAnimationFrame,i=cancelAnimationFrame,r=z.delegate;r&&(e=r.requestAnimationFrame,i=r.cancelAnimationFrame);var s=e(function(o){i=void 0,t(o)});return new n.Subscription(function(){return i==null?void 0:i(s)})},requestAnimationFrame:function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];return requestAnimationFrame.apply(void 0,n.__spreadArray([],n.__read(t)))},cancelAnimationFrame:function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];return cancelAnimationFrame.apply(void 0,n.__spreadArray([],n.__read(t)))},delegate:void 0};function Ce(t){return t?fe(t):Se}function fe(t){return new n.Observable(function(e){var i=t||ge,r=i.now(),s=0,o=function(){e.closed||(s=z.requestAnimationFrame(function(a){s=0;var l=i.now();e.next({timestamp:t?l:a,elapsed:l-r}),o()}))};return o(),function(){s&&z.cancelAnimationFrame(s)}})}var Se=fe();function ye(t,e){return e===void 0&&(e=!1),n.operate(function(i,r){var s=0;i.subscribe(n.createOperatorSubscriber(r,function(o){var a=t(o,s++);(a||e)&&r.next(o),!a&&r.complete()}))})}function we(t,e,i){var r=n.isFunction(t)||e||i?{next:t,error:e,complete:i}:t;return r?n.operate(function(s,o){var a;(a=r.subscribe)===null||a===void 0||a.call(r);var l=!0;s.subscribe(n.createOperatorSubscriber(o,function(p){var d;(d=r.next)===null||d===void 0||d.call(r,p),o.next(p)},function(){var p;l=!1,(p=r.complete)===null||p===void 0||p.call(r),o.complete()},function(p){var d;l=!1,(d=r.error)===null||d===void 0||d.call(r,p),o.error(p)},function(){var p,d;l&&((p=r.unsubscribe)===null||p===void 0||p.call(r)),(d=r.finalize)===null||d===void 0||d.call(r)}))}):n.identity}const se={type:"change"},G={type:"start"},me={type:"end"},D=new h.Ray,re=new h.Plane,Oe=Math.cos(70*h.MathUtils.DEG2RAD),u=new h.Vector3,f=2*Math.PI,_={NONE:-1,ROTATE:0,DOLLY:1,PAN:2,TOUCH_ROTATE:3,TOUCH_PAN:4,TOUCH_DOLLY_PAN:5,TOUCH_DOLLY_ROTATE:6},M=1e-6;class ne extends h.Controls{constructor(e,i=null){super(e,i),this.state=_.NONE,this.target=new h.Vector3,this.cursor=new h.Vector3,this.minDistance=0,this.maxDistance=1/0,this.minZoom=0,this.maxZoom=1/0,this.minTargetRadius=0,this.maxTargetRadius=1/0,this.minPolarAngle=0,this.maxPolarAngle=Math.PI,this.minAzimuthAngle=-1/0,this.maxAzimuthAngle=1/0,this.enableDamping=!1,this.dampingFactor=.05,this.enableZoom=!0,this.zoomSpeed=1,this.enableRotate=!0,this.rotateSpeed=1,this.keyRotateSpeed=1,this.enablePan=!0,this.panSpeed=1,this.screenSpacePanning=!0,this.keyPanSpeed=7,this.zoomToCursor=!1,this.autoRotate=!1,this.autoRotateSpeed=2,this.keys={LEFT:"ArrowLeft",UP:"ArrowUp",RIGHT:"ArrowRight",BOTTOM:"ArrowDown"},this.mouseButtons={LEFT:h.MOUSE.ROTATE,MIDDLE:h.MOUSE.DOLLY,RIGHT:h.MOUSE.PAN},this.touches={ONE:h.TOUCH.ROTATE,TWO:h.TOUCH.DOLLY_PAN},this.target0=this.target.clone(),this.position0=this.object.position.clone(),this.zoom0=this.object.zoom,this._domElementKeyEvents=null,this._lastPosition=new h.Vector3,this._lastQuaternion=new h.Quaternion,this._lastTargetPosition=new h.Vector3,this._quat=new h.Quaternion().setFromUnitVectors(e.up,new h.Vector3(0,1,0)),this._quatInverse=this._quat.clone().invert(),this._spherical=new h.Spherical,this._sphericalDelta=new h.Spherical,this._scale=1,this._panOffset=new h.Vector3,this._rotateStart=new h.Vector2,this._rotateEnd=new h.Vector2,this._rotateDelta=new h.Vector2,this._panStart=new h.Vector2,this._panEnd=new h.Vector2,this._panDelta=new h.Vector2,this._dollyStart=new h.Vector2,this._dollyEnd=new h.Vector2,this._dollyDelta=new h.Vector2,this._dollyDirection=new h.Vector3,this._mouse=new h.Vector2,this._performCursorZoom=!1,this._pointers=[],this._pointerPositions={},this._controlActive=!1,this._onPointerMove=De.bind(this),this._onPointerDown=Ee.bind(this),this._onPointerUp=$e.bind(this),this._onContextMenu=xe.bind(this),this._onMouseWheel=Te.bind(this),this._onKeyDown=Me.bind(this),this._onTouchStart=Le.bind(this),this._onTouchMove=Ae.bind(this),this._onMouseDown=je.bind(this),this._onMouseMove=Re.bind(this),this._interceptControlDown=ze.bind(this),this._interceptControlUp=Ie.bind(this),this.domElement!==null&&this.connect(this.domElement),this.update()}connect(e){super.connect(e),this.domElement.addEventListener("pointerdown",this._onPointerDown),this.domElement.addEventListener("pointercancel",this._onPointerUp),this.domElement.addEventListener("contextmenu",this._onContextMenu),this.domElement.addEventListener("wheel",this._onMouseWheel,{passive:!1}),this.domElement.getRootNode().addEventListener("keydown",this._interceptControlDown,{passive:!0,capture:!0}),this.domElement.style.touchAction="none"}disconnect(){this.domElement.removeEventListener("pointerdown",this._onPointerDown),this.domElement.removeEventListener("pointermove",this._onPointerMove),this.domElement.removeEventListener("pointerup",this._onPointerUp),this.domElement.removeEventListener("pointercancel",this._onPointerUp),this.domElement.removeEventListener("wheel",this._onMouseWheel),this.domElement.removeEventListener("contextmenu",this._onContextMenu),this.stopListenToKeyEvents(),this.domElement.getRootNode().removeEventListener("keydown",this._interceptControlDown,{capture:!0}),this.domElement.style.touchAction="auto"}dispose(){this.disconnect()}getPolarAngle(){return this._spherical.phi}getAzimuthalAngle(){return this._spherical.theta}getDistance(){return this.object.position.distanceTo(this.target)}listenToKeyEvents(e){e.addEventListener("keydown",this._onKeyDown),this._domElementKeyEvents=e}stopListenToKeyEvents(){this._domElementKeyEvents!==null&&(this._domElementKeyEvents.removeEventListener("keydown",this._onKeyDown),this._domElementKeyEvents=null)}saveState(){this.target0.copy(this.target),this.position0.copy(this.object.position),this.zoom0=this.object.zoom}reset(){this.target.copy(this.target0),this.object.position.copy(this.position0),this.object.zoom=this.zoom0,this.object.updateProjectionMatrix(),this.dispatchEvent(se),this.update(),this.state=_.NONE}update(e=null){const i=this.object.position;u.copy(i).sub(this.target),u.applyQuaternion(this._quat),this._spherical.setFromVector3(u),this.autoRotate&&this.state===_.NONE&&this._rotateLeft(this._getAutoRotationAngle(e)),this.enableDamping?(this._spherical.theta+=this._sphericalDelta.theta*this.dampingFactor,this._spherical.phi+=this._sphericalDelta.phi*this.dampingFactor):(this._spherical.theta+=this._sphericalDelta.theta,this._spherical.phi+=this._sphericalDelta.phi);let r=this.minAzimuthAngle,s=this.maxAzimuthAngle;isFinite(r)&&isFinite(s)&&(r<-Math.PI?r+=f:r>Math.PI&&(r-=f),s<-Math.PI?s+=f:s>Math.PI&&(s-=f),r<=s?this._spherical.theta=Math.max(r,Math.min(s,this._spherical.theta)):this._spherical.theta=this._spherical.theta>(r+s)/2?Math.max(r,this._spherical.theta):Math.min(s,this._spherical.theta)),this._spherical.phi=Math.max(this.minPolarAngle,Math.min(this.maxPolarAngle,this._spherical.phi)),this._spherical.makeSafe(),this.enableDamping===!0?this.target.addScaledVector(this._panOffset,this.dampingFactor):this.target.add(this._panOffset),this.target.sub(this.cursor),this.target.clampLength(this.minTargetRadius,this.maxTargetRadius),this.target.add(this.cursor);let o=!1;if(this.zoomToCursor&&this._performCursorZoom||this.object.isOrthographicCamera)this._spherical.radius=this._clampDistance(this._spherical.radius);else{const a=this._spherical.radius;this._spherical.radius=this._clampDistance(this._spherical.radius*this._scale),o=a!=this._spherical.radius}if(u.setFromSpherical(this._spherical),u.applyQuaternion(this._quatInverse),i.copy(this.target).add(u),this.object.lookAt(this.target),this.enableDamping===!0?(this._sphericalDelta.theta*=1-this.dampingFactor,this._sphericalDelta.phi*=1-this.dampingFactor,this._panOffset.multiplyScalar(1-this.dampingFactor)):(this._sphericalDelta.set(0,0,0),this._panOffset.set(0,0,0)),this.zoomToCursor&&this._performCursorZoom){let a=null;if(this.object.isPerspectiveCamera){const l=u.length();a=this._clampDistance(l*this._scale);const p=l-a;this.object.position.addScaledVector(this._dollyDirection,p),this.object.updateMatrixWorld(),o=!!p}else if(this.object.isOrthographicCamera){const l=new h.Vector3(this._mouse.x,this._mouse.y,0);l.unproject(this.object);const p=this.object.zoom;this.object.zoom=Math.max(this.minZoom,Math.min(this.maxZoom,this.object.zoom/this._scale)),this.object.updateProjectionMatrix(),o=p!==this.object.zoom;const d=new h.Vector3(this._mouse.x,this._mouse.y,0);d.unproject(this.object),this.object.position.sub(d).add(l),this.object.updateMatrixWorld(),a=u.length()}else console.warn("WARNING: OrbitControls.js encountered an unknown camera type - zoom to cursor disabled."),this.zoomToCursor=!1;a!==null&&(this.screenSpacePanning?this.target.set(0,0,-1).transformDirection(this.object.matrix).multiplyScalar(a).add(this.object.position):(D.origin.copy(this.object.position),D.direction.set(0,0,-1).transformDirection(this.object.matrix),Math.abs(this.object.up.dot(D.direction))<Oe?this.object.lookAt(this.target):(re.setFromNormalAndCoplanarPoint(this.object.up,this.target),D.intersectPlane(re,this.target))))}else if(this.object.isOrthographicCamera){const a=this.object.zoom;this.object.zoom=Math.max(this.minZoom,Math.min(this.maxZoom,this.object.zoom/this._scale)),a!==this.object.zoom&&(this.object.updateProjectionMatrix(),o=!0)}return this._scale=1,this._performCursorZoom=!1,o||this._lastPosition.distanceToSquared(this.object.position)>M||8*(1-this._lastQuaternion.dot(this.object.quaternion))>M||this._lastTargetPosition.distanceToSquared(this.target)>M?(this.dispatchEvent(se),this._lastPosition.copy(this.object.position),this._lastQuaternion.copy(this.object.quaternion),this._lastTargetPosition.copy(this.target),!0):!1}_getAutoRotationAngle(e){return e!==null?f/60*this.autoRotateSpeed*e:f/60/60*this.autoRotateSpeed}_getZoomScale(e){const i=Math.abs(e*.01);return Math.pow(.95,this.zoomSpeed*i)}_rotateLeft(e){this._sphericalDelta.theta-=e}_rotateUp(e){this._sphericalDelta.phi-=e}_panLeft(e,i){u.setFromMatrixColumn(i,0),u.multiplyScalar(-e),this._panOffset.add(u)}_panUp(e,i){this.screenSpacePanning===!0?u.setFromMatrixColumn(i,1):(u.setFromMatrixColumn(i,0),u.crossVectors(this.object.up,u)),u.multiplyScalar(e),this._panOffset.add(u)}_pan(e,i){const r=this.domElement;if(this.object.isPerspectiveCamera){const s=this.object.position;u.copy(s).sub(this.target);let o=u.length();o*=Math.tan(this.object.fov/2*Math.PI/180),this._panLeft(2*e*o/r.clientHeight,this.object.matrix),this._panUp(2*i*o/r.clientHeight,this.object.matrix)}else this.object.isOrthographicCamera?(this._panLeft(e*(this.object.right-this.object.left)/this.object.zoom/r.clientWidth,this.object.matrix),this._panUp(i*(this.object.top-this.object.bottom)/this.object.zoom/r.clientHeight,this.object.matrix)):(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - pan disabled."),this.enablePan=!1)}_dollyOut(e){this.object.isPerspectiveCamera||this.object.isOrthographicCamera?this._scale/=e:(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled."),this.enableZoom=!1)}_dollyIn(e){this.object.isPerspectiveCamera||this.object.isOrthographicCamera?this._scale*=e:(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled."),this.enableZoom=!1)}_updateZoomParameters(e,i){if(!this.zoomToCursor)return;this._performCursorZoom=!0;const r=this.domElement.getBoundingClientRect(),s=e-r.left,o=i-r.top,a=r.width,l=r.height;this._mouse.x=s/a*2-1,this._mouse.y=-(o/l)*2+1,this._dollyDirection.set(this._mouse.x,this._mouse.y,1).unproject(this.object).sub(this.object.position).normalize()}_clampDistance(e){return Math.max(this.minDistance,Math.min(this.maxDistance,e))}_handleMouseDownRotate(e){this._rotateStart.set(e.clientX,e.clientY)}_handleMouseDownDolly(e){this._updateZoomParameters(e.clientX,e.clientX),this._dollyStart.set(e.clientX,e.clientY)}_handleMouseDownPan(e){this._panStart.set(e.clientX,e.clientY)}_handleMouseMoveRotate(e){this._rotateEnd.set(e.clientX,e.clientY),this._rotateDelta.subVectors(this._rotateEnd,this._rotateStart).multiplyScalar(this.rotateSpeed);const i=this.domElement;this._rotateLeft(f*this._rotateDelta.x/i.clientHeight),this._rotateUp(f*this._rotateDelta.y/i.clientHeight),this._rotateStart.copy(this._rotateEnd),this.update()}_handleMouseMoveDolly(e){this._dollyEnd.set(e.clientX,e.clientY),this._dollyDelta.subVectors(this._dollyEnd,this._dollyStart),this._dollyDelta.y>0?this._dollyOut(this._getZoomScale(this._dollyDelta.y)):this._dollyDelta.y<0&&this._dollyIn(this._getZoomScale(this._dollyDelta.y)),this._dollyStart.copy(this._dollyEnd),this.update()}_handleMouseMovePan(e){this._panEnd.set(e.clientX,e.clientY),this._panDelta.subVectors(this._panEnd,this._panStart).multiplyScalar(this.panSpeed),this._pan(this._panDelta.x,this._panDelta.y),this._panStart.copy(this._panEnd),this.update()}_handleMouseWheel(e){this._updateZoomParameters(e.clientX,e.clientY),e.deltaY<0?this._dollyIn(this._getZoomScale(e.deltaY)):e.deltaY>0&&this._dollyOut(this._getZoomScale(e.deltaY)),this.update()}_handleKeyDown(e){let i=!1;switch(e.code){case this.keys.UP:e.ctrlKey||e.metaKey||e.shiftKey?this.enableRotate&&this._rotateUp(f*this.keyRotateSpeed/this.domElement.clientHeight):this.enablePan&&this._pan(0,this.keyPanSpeed),i=!0;break;case this.keys.BOTTOM:e.ctrlKey||e.metaKey||e.shiftKey?this.enableRotate&&this._rotateUp(-f*this.keyRotateSpeed/this.domElement.clientHeight):this.enablePan&&this._pan(0,-this.keyPanSpeed),i=!0;break;case this.keys.LEFT:e.ctrlKey||e.metaKey||e.shiftKey?this.enableRotate&&this._rotateLeft(f*this.keyRotateSpeed/this.domElement.clientHeight):this.enablePan&&this._pan(this.keyPanSpeed,0),i=!0;break;case this.keys.RIGHT:e.ctrlKey||e.metaKey||e.shiftKey?this.enableRotate&&this._rotateLeft(-f*this.keyRotateSpeed/this.domElement.clientHeight):this.enablePan&&this._pan(-this.keyPanSpeed,0),i=!0;break}i&&(e.preventDefault(),this.update())}_handleTouchStartRotate(e){if(this._pointers.length===1)this._rotateStart.set(e.pageX,e.pageY);else{const i=this._getSecondPointerPosition(e),r=.5*(e.pageX+i.x),s=.5*(e.pageY+i.y);this._rotateStart.set(r,s)}}_handleTouchStartPan(e){if(this._pointers.length===1)this._panStart.set(e.pageX,e.pageY);else{const i=this._getSecondPointerPosition(e),r=.5*(e.pageX+i.x),s=.5*(e.pageY+i.y);this._panStart.set(r,s)}}_handleTouchStartDolly(e){const i=this._getSecondPointerPosition(e),r=e.pageX-i.x,s=e.pageY-i.y,o=Math.sqrt(r*r+s*s);this._dollyStart.set(0,o)}_handleTouchStartDollyPan(e){this.enableZoom&&this._handleTouchStartDolly(e),this.enablePan&&this._handleTouchStartPan(e)}_handleTouchStartDollyRotate(e){this.enableZoom&&this._handleTouchStartDolly(e),this.enableRotate&&this._handleTouchStartRotate(e)}_handleTouchMoveRotate(e){if(this._pointers.length==1)this._rotateEnd.set(e.pageX,e.pageY);else{const r=this._getSecondPointerPosition(e),s=.5*(e.pageX+r.x),o=.5*(e.pageY+r.y);this._rotateEnd.set(s,o)}this._rotateDelta.subVectors(this._rotateEnd,this._rotateStart).multiplyScalar(this.rotateSpeed);const i=this.domElement;this._rotateLeft(f*this._rotateDelta.x/i.clientHeight),this._rotateUp(f*this._rotateDelta.y/i.clientHeight),this._rotateStart.copy(this._rotateEnd)}_handleTouchMovePan(e){if(this._pointers.length===1)this._panEnd.set(e.pageX,e.pageY);else{const i=this._getSecondPointerPosition(e),r=.5*(e.pageX+i.x),s=.5*(e.pageY+i.y);this._panEnd.set(r,s)}this._panDelta.subVectors(this._panEnd,this._panStart).multiplyScalar(this.panSpeed),this._pan(this._panDelta.x,this._panDelta.y),this._panStart.copy(this._panEnd)}_handleTouchMoveDolly(e){const i=this._getSecondPointerPosition(e),r=e.pageX-i.x,s=e.pageY-i.y,o=Math.sqrt(r*r+s*s);this._dollyEnd.set(0,o),this._dollyDelta.set(0,Math.pow(this._dollyEnd.y/this._dollyStart.y,this.zoomSpeed)),this._dollyOut(this._dollyDelta.y),this._dollyStart.copy(this._dollyEnd);const a=(e.pageX+i.x)*.5,l=(e.pageY+i.y)*.5;this._updateZoomParameters(a,l)}_handleTouchMoveDollyPan(e){this.enableZoom&&this._handleTouchMoveDolly(e),this.enablePan&&this._handleTouchMovePan(e)}_handleTouchMoveDollyRotate(e){this.enableZoom&&this._handleTouchMoveDolly(e),this.enableRotate&&this._handleTouchMoveRotate(e)}_addPointer(e){this._pointers.push(e.pointerId)}_removePointer(e){delete this._pointerPositions[e.pointerId];for(let i=0;i<this._pointers.length;i++)if(this._pointers[i]==e.pointerId){this._pointers.splice(i,1);return}}_isTrackingPointer(e){for(let i=0;i<this._pointers.length;i++)if(this._pointers[i]==e.pointerId)return!0;return!1}_trackPointer(e){let i=this._pointerPositions[e.pointerId];i===void 0&&(i=new h.Vector2,this._pointerPositions[e.pointerId]=i),i.set(e.pageX,e.pageY)}_getSecondPointerPosition(e){const i=e.pointerId===this._pointers[0]?this._pointers[1]:this._pointers[0];return this._pointerPositions[i]}_customWheelEvent(e){const i=e.deltaMode,r={clientX:e.clientX,clientY:e.clientY,deltaY:e.deltaY};switch(i){case 1:r.deltaY*=16;break;case 2:r.deltaY*=100;break}return e.ctrlKey&&!this._controlActive&&(r.deltaY*=10),r}}function Ee(t){this.enabled!==!1&&(this._pointers.length===0&&(this.domElement.setPointerCapture(t.pointerId),this.domElement.addEventListener("pointermove",this._onPointerMove),this.domElement.addEventListener("pointerup",this._onPointerUp)),!this._isTrackingPointer(t)&&(this._addPointer(t),t.pointerType==="touch"?this._onTouchStart(t):this._onMouseDown(t)))}function De(t){this.enabled!==!1&&(t.pointerType==="touch"?this._onTouchMove(t):this._onMouseMove(t))}function $e(t){switch(this._removePointer(t),this._pointers.length){case 0:this.domElement.releasePointerCapture(t.pointerId),this.domElement.removeEventListener("pointermove",this._onPointerMove),this.domElement.removeEventListener("pointerup",this._onPointerUp),this.dispatchEvent(me),this.state=_.NONE;break;case 1:const e=this._pointers[0],i=this._pointerPositions[e];this._onTouchStart({pointerId:e,pageX:i.x,pageY:i.y});break}}function je(t){let e;switch(t.button){case 0:e=this.mouseButtons.LEFT;break;case 1:e=this.mouseButtons.MIDDLE;break;case 2:e=this.mouseButtons.RIGHT;break;default:e=-1}switch(e){case h.MOUSE.DOLLY:if(this.enableZoom===!1)return;this._handleMouseDownDolly(t),this.state=_.DOLLY;break;case h.MOUSE.ROTATE:if(t.ctrlKey||t.metaKey||t.shiftKey){if(this.enablePan===!1)return;this._handleMouseDownPan(t),this.state=_.PAN}else{if(this.enableRotate===!1)return;this._handleMouseDownRotate(t),this.state=_.ROTATE}break;case h.MOUSE.PAN:if(t.ctrlKey||t.metaKey||t.shiftKey){if(this.enableRotate===!1)return;this._handleMouseDownRotate(t),this.state=_.ROTATE}else{if(this.enablePan===!1)return;this._handleMouseDownPan(t),this.state=_.PAN}break;default:this.state=_.NONE}this.state!==_.NONE&&this.dispatchEvent(G)}function Re(t){switch(this.state){case _.ROTATE:if(this.enableRotate===!1)return;this._handleMouseMoveRotate(t);break;case _.DOLLY:if(this.enableZoom===!1)return;this._handleMouseMoveDolly(t);break;case _.PAN:if(this.enablePan===!1)return;this._handleMouseMovePan(t);break}}function Te(t){this.enabled===!1||this.enableZoom===!1||this.state!==_.NONE||(t.preventDefault(),this.dispatchEvent(G),this._handleMouseWheel(this._customWheelEvent(t)),this.dispatchEvent(me))}function Me(t){this.enabled!==!1&&this._handleKeyDown(t)}function Le(t){switch(this._trackPointer(t),this._pointers.length){case 1:switch(this.touches.ONE){case h.TOUCH.ROTATE:if(this.enableRotate===!1)return;this._handleTouchStartRotate(t),this.state=_.TOUCH_ROTATE;break;case h.TOUCH.PAN:if(this.enablePan===!1)return;this._handleTouchStartPan(t),this.state=_.TOUCH_PAN;break;default:this.state=_.NONE}break;case 2:switch(this.touches.TWO){case h.TOUCH.DOLLY_PAN:if(this.enableZoom===!1&&this.enablePan===!1)return;this._handleTouchStartDollyPan(t),this.state=_.TOUCH_DOLLY_PAN;break;case h.TOUCH.DOLLY_ROTATE:if(this.enableZoom===!1&&this.enableRotate===!1)return;this._handleTouchStartDollyRotate(t),this.state=_.TOUCH_DOLLY_ROTATE;break;default:this.state=_.NONE}break;default:this.state=_.NONE}this.state!==_.NONE&&this.dispatchEvent(G)}function Ae(t){switch(this._trackPointer(t),this.state){case _.TOUCH_ROTATE:if(this.enableRotate===!1)return;this._handleTouchMoveRotate(t),this.update();break;case _.TOUCH_PAN:if(this.enablePan===!1)return;this._handleTouchMovePan(t),this.update();break;case _.TOUCH_DOLLY_PAN:if(this.enableZoom===!1&&this.enablePan===!1)return;this._handleTouchMoveDollyPan(t),this.update();break;case _.TOUCH_DOLLY_ROTATE:if(this.enableZoom===!1&&this.enableRotate===!1)return;this._handleTouchMoveDollyRotate(t),this.update();break;default:this.state=_.NONE}}function xe(t){this.enabled!==!1&&t.preventDefault()}function ze(t){t.key==="Control"&&(this._controlActive=!0,this.domElement.getRootNode().addEventListener("keyup",this._interceptControlUp,{passive:!0,capture:!0}))}function Ie(t){t.key==="Control"&&(this._controlActive=!1,this.domElement.getRootNode().removeEventListener("keyup",this._interceptControlUp,{passive:!0,capture:!0}))}var Ne=Object.defineProperty,He=Object.getOwnPropertyDescriptor,Ue=(t,e,i,r)=>{for(var s=r>1?void 0:r?He(e,i):e,o=t.length-1,a;o>=0;o--)(a=t[o])&&(s=(r?a(e,i,s):a(s))||s);return r&&s&&Ne(e,i,s),s};let O=class{constructor(){c(this,"_canvas");c(this,"proxyReceiver",new n.S);c(this,"isInitialized",!1)}get canvas(){return this._canvas}set canvas(t){t.style={width:t.width+"",height:t.height+""},this._canvas=t}};O=Ue([n.scoped(n.Lifecycle.ContainerScoped)],O);var Ye=Object.defineProperty,Fe=Object.getOwnPropertyDescriptor,Ve=(t,e,i,r)=>{for(var s=r>1?void 0:r?Fe(e,i):e,o=t.length-1,a;o>=0;o--)(a=t[o])&&(s=(r?a(e,i,s):a(s))||s);return r&&s&&Ye(e,i,s),s},Ze=(t,e)=>(i,r)=>e(i,r,t);let $=class extends n.ProxyEventHandlersBlueprint{constructor(t){super(),this._service=t;for(const e of n.PROXY_EVENT_LISTENERS)this[`${e}$$`]=new n.Subject,this[`${e}$`]=this[`${e}$$`].pipe(),this[e]=i=>{this._service.proxyReceiver.handleEvent({...i,type:i.type||e}),this[`${e}$$`].next(i)}}};$=Ve([n.scoped(n.Lifecycle.ContainerScoped),Ze(0,n.inject(O))],$);var Ke=Object.defineProperty,We=Object.getOwnPropertyDescriptor,Xe=(t,e,i,r)=>{for(var s=r>1?void 0:r?We(e,i):e,o=t.length-1,a;o>=0;o--)(a=t[o])&&(s=(r?a(e,i,s):a(s))||s);return r&&s&&Ke(e,i,s),s};let j=class{constructor(){c(this,"fps",60);c(this,"frame",1e3/this.fps);c(this,"clock",new h.Clock);c(this,"initialTime",Date.now());c(this,"elapsed",0);c(this,"previousDelta",0);c(this,"delta",0);c(this,"deltaRatio",0);c(this,"enabled",!1)}step(){this.elapsed=this.clock.getElapsedTime(),this.delta=this.elapsed-this.previousDelta,this.previousDelta=this.elapsed,this.deltaRatio=this.delta/this.frame}};j=Xe([n.scoped(n.Lifecycle.ContainerScoped)],j);var qe=Object.defineProperty,Be=Object.getOwnPropertyDescriptor,Ge=(t,e,i,r)=>{for(var s=r>1?void 0:r?Be(e,i):e,o=t.length-1,a;o>=0;o--)(a=t[o])&&(s=(r?a(e,i,s):a(s))||s);return r&&s&&qe(e,i,s),s},Qe=(t,e)=>(i,r)=>e(i,r,t);let S=class{constructor(t){c(this,"_beforeStep$$",new n.Subject);c(this,"_oldElapsed",0);c(this,"beforeStep$",this._beforeStep$$.asObservable());c(this,"step$",Ce().pipe(we(({elapsed:t})=>{var e;this._oldElapsed!==t&&((e=this._beforeStep$$)==null||e.next(n.E(this._service,[])),this._oldElapsed=t)}),n.filter(()=>this._service.enabled),ye(()=>this._service.enabled),n.map(()=>n.E(this._service,[])),n.share()));this._service=t}};S=Ge([n.scoped(n.Lifecycle.ContainerScoped),Qe(0,n.inject(j))],S);var Je=Object.defineProperty,ke=Object.getOwnPropertyDescriptor,et=(t,e,i,r)=>{for(var s=r>1?void 0:r?ke(e,i):e,o=t.length-1,a;o>=0;o--)(a=t[o])&&(s=(r?a(e,i,s):a(s))||s);return r&&s&&Je(e,i,s),s},oe=(t,e)=>(i,r)=>e(i,r,t);let I=class{constructor(t,e){c(this,"_initialAnimationFrameId");c(this,"_subscriptions",[]);this._controller=t,this._service=e,this._subscriptions.push(this._controller.step$.subscribe(this._service.step.bind(this._service)))}init(t){this.enabled(t)}frame(){return this._service.frame}deltaTime(t){return typeof t=="number"&&(this._service.delta=t),this._service.delta}deltaRatio(t){return typeof t=="number"&&(this._service.deltaRatio=t),this._service.deltaRatio}enabled(t){return typeof t=="boolean"&&(this._service.enabled=t),this._service.enabled}dispose(){this._initialAnimationFrameId!==void 0&&cancelAnimationFrame(this._initialAnimationFrameId),this._service.enabled=!1}beforeStep$(){return this._controller.beforeStep$}step$(){return this._controller.step$}};I=et([n.scoped(n.Lifecycle.ContainerScoped),oe(0,n.inject(S)),oe(1,n.inject(j))],I);var tt=Object.defineProperty,it=Object.getOwnPropertyDescriptor,st=(t,e,i,r)=>{for(var s=r>1?void 0:r?it(e,i):e,o=t.length-1,a;o>=0;o--)(a=t[o])&&(s=(r?a(e,i,s):a(s))||s);return r&&s&&tt(e,i,s),s};let b=class{constructor(){c(this,"width",0);c(this,"height",0);c(this,"aspect",0);c(this,"pixelRatio",0);c(this,"frustrum",5);c(this,"enabled",!0)}init(t,e){this.height=Number(t.height??this.height),this.width=Number(t.width??this.width),this.aspect=this.width/this.height,this.enabled=e===void 0?!0:!!e}};b=st([n.scoped(n.Lifecycle.ContainerScoped)],b);var rt=Object.defineProperty,nt=Object.getOwnPropertyDescriptor,ot=(t,e,i,r)=>{for(var s=r>1?void 0:r?nt(e,i):e,o=t.length-1,a;o>=0;o--)(a=t[o])&&(s=(r?a(e,i,s):a(s))||s);return r&&s&&rt(e,i,s),s},at=(t,e)=>(i,r)=>e(i,r,t);let P=class{constructor(t){c(this,"instance");c(this,"enabled",!0);this._sizesService=t}set aspectRatio(t){var e;this.instance instanceof h.PerspectiveCamera&&(this.instance.aspect=t),(this.instance instanceof h.PerspectiveCamera||this.instance instanceof h.OrthographicCamera)&&((e=this.instance)==null||e.updateProjectionMatrix())}set quaternion(t){var e;(e=this.instance)==null||e.quaternion.copy(t)}set position(t){var e;(e=this.instance)==null||e.position.copy(t)}set rotation(t){var e;(e=this.instance)==null||e.rotation.copy(t)}init(t){if(this.dispose(),t===n.DefaultCameraType.PERSPECTIVE||t===void 0){this.instance=new h.PerspectiveCamera(70,this._sizesService.width/this._sizesService.height,.1,100),this.instance.position.z=8;return}t===n.DefaultCameraType.ORTHOGRAPHIC&&(this.instance=new h.OrthographicCamera(-this._sizesService.aspect*this._sizesService.frustrum/2,this._sizesService.aspect*this._sizesService.frustrum/2,this._sizesService.frustrum/2,-this._sizesService.frustrum/2,-50,50))}dispose(){this.instance instanceof h.Camera&&((this.instance instanceof h.PerspectiveCamera||this.instance instanceof h.OrthographicCamera)&&this.instance.clearViewOffset(),this.instance.clear(),this.instance=void 0)}};P=ot([n.scoped(n.Lifecycle.ContainerScoped),at(0,n.inject(b))],P);var ht=Object.defineProperty,ct=Object.getOwnPropertyDescriptor,lt=(t,e,i,r)=>{for(var s=r>1?void 0:r?ct(e,i):e,o=t.length-1,a;o>=0;o--)(a=t[o])&&(s=(r?a(e,i,s):a(s))||s);return r&&s&&ht(e,i,s),s},ae=(t,e)=>(i,r)=>e(i,r,t);let N=class{constructor(t,e){c(this,"step$");this.timerController=t,this._service=e,this.step$=this.timerController.step$.pipe(n.filter(()=>this._service.enabled))}};N=lt([n.scoped(n.Lifecycle.ContainerScoped),ae(0,n.inject(S)),ae(1,n.inject(P))],N);var pt=Object.defineProperty,_t=Object.getOwnPropertyDescriptor,dt=(t,e,i,r)=>{for(var s=r>1?void 0:r?_t(e,i):e,o=t.length-1,a;o>=0;o--)(a=t[o])&&(s=(r?a(e,i,s):a(s))||s);return r&&s&&pt(e,i,s),s},L=(t,e)=>(i,r)=>e(i,r,t);let H=class{constructor(t,e,i){c(this,"_subscriptions",[]);this._sizesService=t,this._controller=e,this._service=i}init(){this._service.init(),this._subscriptions.push(this._controller.step$.subscribe(()=>{var t;this._service.enabled&&(this._service.aspectRatio=this._sizesService.aspect,(this._service.instance instanceof h.PerspectiveCamera||this._service.instance instanceof h.OrthographicCamera)&&((t=this._service.instance)==null||t.updateProjectionMatrix()))}))}enabled(t){return typeof t=="boolean"&&(this._service.enabled=t),this._service.enabled}aspectRatio(t){return t&&(this._service.aspectRatio=t),this._service.aspectRatio}instance(t){return t&&(this._service.instance=t),this._service.instance}position(t){return t&&(this._service.position=t),this._service.position}quaternion(t){return t&&(this._service.quaternion=t),this._service.quaternion}dispose(){this._subscriptions.forEach(t=>t.unsubscribe()),this._service.dispose()}};H=dt([n.scoped(n.Lifecycle.ContainerScoped),L(0,n.inject(b)),L(1,n.inject(N)),L(2,n.inject(P))],H);var ut=Object.defineProperty,ft=Object.getOwnPropertyDescriptor,mt=(t,e,i,r)=>{for(var s=r>1?void 0:r?ft(e,i):e,o=t.length-1,a;o>=0;o--)(a=t[o])&&(s=(r?a(e,i,s):a(s))||s);return r&&s&&ut(e,i,s),s};let y=class{constructor(){c(this,"scene",new h.Scene);c(this,"enabled",!0)}};y=mt([n.scoped(n.Lifecycle.ContainerScoped)],y);var ve=Object.defineProperty,vt=Object.getOwnPropertyDescriptor,bt=(t,e,i)=>e in t?ve(t,e,{enumerable:!0,configurable:!0,writable:!0,value:i}):t[e]=i,Pt=(t,e,i,r)=>{for(var s=r>1?void 0:r?vt(e,i):e,o=t.length-1,a;o>=0;o--)(a=t[o])&&(s=(r?a(e,i,s):a(s))||s);return r&&s&&ve(e,i,s),s},A=(t,e)=>(i,r)=>e(i,r,t),gt=(t,e,i)=>bt(t,e+"",i);let g=class{constructor(t,e,i){c(this,"enabled",!0);c(this,"instance");this._worldService=t,this._cameraService=e,this._sizesService=i}setWebGLRenderer(t){this.instance=new h.WebGLRenderer({canvas:t,context:t.getContext("webgl2",{stencil:!0,powerPreference:"high-performance"}),powerPreference:"high-performance",depth:!0,antialias:!0}),this.instance.autoClear=!1,this.instance.setPixelRatio(g.RENDERER_PIXEL_RATIO),this.instance.setClearColor(0,0),this.instance.shadowMap.enabled=!0,this.instance.shadowMap.type=h.PCFSoftShadowMap,this.instance.outputColorSpace=h.SRGBColorSpace,this.instance.toneMapping=h.CineonToneMapping,this.instance.toneMappingExposure=1.75}setSize(t,e){var i;(i=this.instance)==null||i.setSize(t,e)}render(){this.enabled&&this._cameraService.instance instanceof h.Camera&&this.instance instanceof h.WebGLRenderer&&(this.instance.setViewport(0,0,this._sizesService.width,this._sizesService.height),this.instance.render(this._worldService.scene,this._cameraService.instance))}};gt(g,"RENDERER_PIXEL_RATIO",1);g=Pt([n.scoped(n.Lifecycle.ContainerScoped),A(0,n.inject(y)),A(1,n.inject(P)),A(2,n.inject(b))],g);var Ct=Object.defineProperty,St=Object.getOwnPropertyDescriptor,yt=(t,e,i,r)=>{for(var s=r>1?void 0:r?St(e,i):e,o=t.length-1,a;o>=0;o--)(a=t[o])&&(s=(r?a(e,i,s):a(s))||s);return r&&s&&Ct(e,i,s),s},he=(t,e)=>(i,r)=>e(i,r,t);let R=class{constructor(t,e){c(this,"resize$");this._appController=t,this._service=e,this.resize$=this._appController.resize$$.pipe(n.filter(()=>this._service.enabled))}};R=yt([n.scoped(n.Lifecycle.ContainerScoped),he(0,n.inject($)),he(1,n.inject(b))],R);var wt=Object.defineProperty,Ot=Object.getOwnPropertyDescriptor,Et=(t,e,i,r)=>{for(var s=r>1?void 0:r?Ot(e,i):e,o=t.length-1,a;o>=0;o--)(a=t[o])&&(s=(r?a(e,i,s):a(s))||s);return r&&s&&wt(e,i,s),s},x=(t,e)=>(i,r)=>e(i,r,t);let U=class{constructor(t,e,i){c(this,"step$");c(this,"resize$");this._service=t,this._timerController=e,this._sizesController=i,this.step$=this._timerController.step$.pipe(n.filter(()=>this._service.enabled)),this.resize$=this._sizesController.resize$.pipe(n.filter(()=>this._service.enabled))}};U=Et([n.scoped(n.Lifecycle.ContainerScoped),x(0,n.inject(g)),x(1,n.inject(S)),x(2,n.inject(R))],U);var Dt=Object.defineProperty,$t=Object.getOwnPropertyDescriptor,jt=(t,e,i,r)=>{for(var s=r>1?void 0:r?$t(e,i):e,o=t.length-1,a;o>=0;o--)(a=t[o])&&(s=(r?a(e,i,s):a(s))||s);return r&&s&&Dt(e,i,s),s},ce=(t,e)=>(i,r)=>e(i,r,t);let Y=class{constructor(t,e){this._controller=t,this._service=e}init(t){this._controller.step$.subscribe(()=>this._service.render()),this._controller.resize$.subscribe(e=>this._service.setSize(e.windowWidth,e.windowHeight)),this._service.setWebGLRenderer(t)}enabled(t){return typeof t=="boolean"&&(this._service.enabled=t),this._service.enabled}instance(){return this._service.instance}setSize(t){return this._service.setSize(t.x,t.y)}render(){return this._service.render()}dispose(){var t;(t=this._service.instance)==null||t.dispose(),this._service.instance=void 0}};Y=jt([n.scoped(n.Lifecycle.ContainerScoped),ce(0,n.inject(U)),ce(1,n.inject(g))],Y);var Rt=Object.defineProperty,Tt=Object.getOwnPropertyDescriptor,Mt=(t,e,i,r)=>{for(var s=r>1?void 0:r?Tt(e,i):e,o=t.length-1,a;o>=0;o--)(a=t[o])&&(s=(r?a(e,i,s):a(s))||s);return r&&s&&Rt(e,i,s),s},le=(t,e)=>(i,r)=>e(i,r,t);let F=class{constructor(t,e){this._controller=t,this._service=e}init(t){this._controller.resize$.subscribe(e=>{this._service.width=e.windowWidth,this._service.height=e.windowHeight,this._service.aspect=e.windowWidth/e.windowHeight}),this._service.init(t)}dispose(){}aspect(t){return typeof t=="number"&&(this._service.aspect=t),this._service.aspect}enabled(t){return typeof t=="boolean"&&(this._service.enabled=t),this._service.enabled}frustrum(t){return typeof t=="number"&&(this._service.frustrum=t),this._service.frustrum}height(t){return typeof t=="number"&&(this._service.height=t),this._service.height}pixelRatio(t){return typeof t=="number"&&(this._service.pixelRatio=t),this._service.pixelRatio}width(t){return typeof t=="number"&&(this._service.width=t),this._service.width}resize$(){return this._controller.resize$}};F=Mt([n.scoped(n.Lifecycle.ContainerScoped),le(0,n.inject(R)),le(1,n.inject(b))],F);var Lt=Object.defineProperty,At=Object.getOwnPropertyDescriptor,xt=(t,e,i,r)=>{for(var s=r>1?void 0:r?At(e,i):e,o=t.length-1,a;o>=0;o--)(a=t[o])&&(s=(r?a(e,i,s):a(s))||s);return r&&s&&Lt(e,i,s),s},zt=(t,e)=>(i,r)=>e(i,r,t);let V=class{constructor(t){c(this,"_beforeRender$$",new n.Subject);c(this,"_afterRender$$",new n.Subject);c(this,"beforeRender$",this._beforeRender$$.pipe(n.share()));c(this,"afterRender$",this._afterRender$$.pipe(n.share()));this._worldService=t,this._worldService.scene.onBeforeRender=()=>this._beforeRender$$.next({}),this._worldService.scene.onAfterRender=()=>this._afterRender$$.next({})}};V=xt([n.scoped(n.Lifecycle.ContainerScoped),zt(0,n.inject(y))],V);var It=Object.defineProperty,Nt=Object.getOwnPropertyDescriptor,Ht=(t,e,i,r)=>{for(var s=r>1?void 0:r?Nt(e,i):e,o=t.length-1,a;o>=0;o--)(a=t[o])&&(s=(r?a(e,i,s):a(s))||s);return r&&s&&It(e,i,s),s},pe=(t,e)=>(i,r)=>e(i,r,t);let Z=class{constructor(t,e){this._service=t,this._controller=e}init(){}dispose(){}scene(t){return t instanceof h.Scene&&(this._service.scene=t),this._service.scene}enabled(t){return typeof t=="boolean"&&(this._service.enabled=t),this._service.enabled}getBeforeRender$(){return this._controller.beforeRender$}getAfterRender$(){return this._controller.afterRender$}};Z=Ht([n.scoped(n.Lifecycle.ContainerScoped),pe(0,n.inject(y)),pe(1,n.inject(V))],Z);var Ut=Object.defineProperty,Yt=Object.getOwnPropertyDescriptor,Ft=(t,e,i,r)=>{for(var s=r>1?void 0:r?Yt(e,i):e,o=t.length-1,a;o>=0;o--)(a=t[o])&&(s=(r?a(e,i,s):a(s))||s);return r&&s&&Ut(e,i,s),s},w=(t,e)=>(i,r)=>e(i,r,t);let K=class{constructor(t,e,i,r,s){c(this,"enabled",!1);c(this,"cameraControls");c(this,"miniCamera");c(this,"miniCameraControls");c(this,"axesHelper");c(this,"gridHelper");this._appService=t,this._sizesService=e,this._rendererService=i,this._cameraService=r,this._worldService=s}_renderMiniCamera(){var t,e,i,r,s;!this.enabled||!this.miniCamera||((t=this._rendererService.instance)==null||t.setScissorTest(!0),(e=this._rendererService.instance)==null||e.setViewport(this._sizesService.width-this._sizesService.width/3,this._sizesService.height-this._sizesService.height/3,this._sizesService.width/3,this._sizesService.height/3),(i=this._rendererService.instance)==null||i.setScissor(this._sizesService.width-this._sizesService.width/3,this._sizesService.height-this._sizesService.height/3,this._sizesService.width/3,this._sizesService.height/3),(r=this._rendererService.instance)==null||r.render(this._worldService.scene,this.miniCamera),(s=this._rendererService.instance)==null||s.setScissorTest(!1))}initMiniCamera(){this.disposeMiniCamera(),this.enabled&&(this.miniCamera=new h.PerspectiveCamera(75,this._sizesService.width/this._sizesService.height,.1,500),this.miniCamera.position.z=10,this.miniCamera.position.x=-5)}initOrbitControl(){var t;this.cameraControls&&((t=this.cameraControls)==null||t.dispose()),!(!this.enabled||!(this._cameraService.instance instanceof h.Camera))&&this._cameraService.instance instanceof h.Camera&&(this.cameraControls=new ne(this._cameraService.instance,this._appService.proxyReceiver),this.cameraControls.rotateSpeed=.1,this.cameraControls.enableDamping=!0)}initMiniCameraOrbitControls(){this.miniCameraControls&&this.miniCameraControls.dispose(),!(!this.enabled||!this.miniCamera)&&(this.miniCameraControls=new ne(this.miniCamera,this._appService.proxyReceiver),this.miniCameraControls.rotateSpeed=.15,this.miniCameraControls.enableDamping=!0)}initAxesHelper(t){this.enabled&&(this.axesHelper=new h.AxesHelper(t),this._worldService.scene.add(this.axesHelper))}initGridHelper(t){this.gridHelper&&this._worldService.scene.remove(this.gridHelper),this.enabled&&(this.gridHelper=new h.GridHelper(t,t),this._worldService.scene.add(this.gridHelper))}disposeMiniCamera(){this.miniCamera instanceof h.Camera&&(this.miniCamera.clearViewOffset(),this.miniCamera.clear(),this.miniCamera=void 0)}update(){var t,e;(t=this.cameraControls)==null||t.update(),(e=this.miniCameraControls)==null||e.update(),this._renderMiniCamera()}dispose(){var t,e,i,r;this.disposeMiniCamera(),(t=this.cameraControls)==null||t.dispose(),this.cameraControls=void 0,(e=this.miniCameraControls)==null||e.dispose(),this.miniCameraControls=void 0,this.axesHelper&&this._worldService.scene.remove(this.axesHelper),(i=this.axesHelper)==null||i.dispose(),this.axesHelper=void 0,this.gridHelper&&this._worldService.scene.remove(this.gridHelper),(r=this.gridHelper)==null||r.dispose(),this.gridHelper=void 0}};K=Ft([n.scoped(n.Lifecycle.ContainerScoped),w(0,n.inject(O)),w(1,n.inject(b)),w(2,n.inject(g)),w(3,n.inject(P)),w(4,n.inject(y))],K);var Vt=Object.defineProperty,Zt=Object.getOwnPropertyDescriptor,Kt=(t,e,i,r)=>{for(var s=r>1?void 0:r?Zt(e,i):e,o=t.length-1,a;o>=0;o--)(a=t[o])&&(s=(r?a(e,i,s):a(s))||s);return r&&s&&Vt(e,i,s),s},_e=(t,e)=>(i,r)=>e(i,r,t);let W=class{constructor(t,e){c(this,"step$");this.timerController=t,this._service=e,this.step$=this.timerController.step$.pipe(n.filter(()=>this._service.enabled))}};W=Kt([n.scoped(n.Lifecycle.ContainerScoped),_e(0,n.inject(S)),_e(1,n.inject(P))],W);var Wt=Object.defineProperty,Xt=Object.getOwnPropertyDescriptor,qt=(t,e,i,r)=>{for(var s=r>1?void 0:r?Xt(e,i):e,o=t.length-1,a;o>=0;o--)(a=t[o])&&(s=(r?a(e,i,s):a(s))||s);return r&&s&&Wt(e,i,s),s},de=(t,e)=>(i,r)=>e(i,r,t);let X=class{constructor(t,e){c(this,"_subscriptions",[]);this._service=t,this._controller=e}init(t){this._service.enabled=!!t.enableDebug,this._service.enabled&&(t.withMiniCamera&&this._service.initMiniCamera(),t.enableControls&&(this._service.initOrbitControl(),this._service.initMiniCameraOrbitControls()),typeof(t==null?void 0:t.axesSizes)=="number"&&this._service.initAxesHelper(t.axesSizes),typeof(t==null?void 0:t.gridSizes)=="number"&&this._service.initGridHelper(t.gridSizes),this._subscriptions.push(this._controller.step$.subscribe(()=>{this._service.update()})))}enabled(t){return t&&(this._service.enabled=t),this._service.enabled}miniCamera(t){return t&&(this._service.miniCamera=t),this._service.miniCamera}getAxesHelper(){return this._service.axesHelper}getCameraControls(){return this._service.cameraControls}getGridHelper(){return this._service.gridHelper}getMiniCameraControls(){return this._service.miniCameraControls}getStep$(){return this._controller.step$}dispose(){this._service.dispose(),this._subscriptions.forEach(t=>t.unsubscribe())}};X=qt([n.scoped(n.Lifecycle.ContainerScoped),de(0,n.inject(K)),de(1,n.inject(W))],X);var Bt=Object.defineProperty,Gt=Object.getOwnPropertyDescriptor,Qt=(t,e,i,r)=>{for(var s=r>1?void 0:r?Gt(e,i):e,o=t.length-1,a;o>=0;o--)(a=t[o])&&(s=(r?a(e,i,s):a(s))||s);return r&&s&&Bt(e,i,s),s};let T=class{constructor(){c(this,"loadedResources",{});c(this,"toLoadCount",0);c(this,"loadedCount",0)}handleLoad(t){const{source:e,resource:i,loadedCount:r,toLoadCount:s}=t;i&&(this.loadedResources[e.name]=i,this.toLoadCount=r,this.loadedCount=s)}};T=Qt([n.scoped(n.Lifecycle.ResolutionScoped)],T);var Jt=Object.defineProperty,kt=Object.getOwnPropertyDescriptor,ei=(t,e,i,r)=>{for(var s=r>1?void 0:r?kt(e,i):e,o=t.length-1,a;o>=0;o--)(a=t[o])&&(s=(r?a(e,i,s):a(s))||s);return r&&s&&Jt(e,i,s),s},ti=(t,e)=>(i,r)=>e(i,r,t);let q=class{constructor(t){c(this,"load$",n.fromEvent(self,"message").pipe(n.filter(t=>{var e,i,r;return((e=t.data)==null?void 0:e.token)===n.LOADER_SERIALIZED_LOAD_TOKEN&&!!((r=(i=t.data)==null?void 0:i.payload)!=null&&r.resource)}),n.map(t=>{var i,r,s,o,a;const{payload:e}=t.data||{};if(((i=e==null?void 0:e.source)==null?void 0:i.type)==="gltf"){const l=e.resource,p=(r=l.animations)==null?void 0:r.map(v=>h.AnimationClip.parse(v)),d=(s=l.cameras)==null?void 0:s.map(v=>n.b(v)),C=(o=l.scenes)==null?void 0:o.map(v=>n.b(v)),E=C==null?void 0:C[0];return{...e,resource:{...l,animations:p,cameras:d,scene:E,scenes:C}}}return((a=e==null?void 0:e.source)==null?void 0:a.type)==="font"?{...e,resource:new n.Font(e.resource.data)}:e}),n.share()));c(this,"loadCompleted$",this.load$.pipe(n.filter(t=>!!t&&t.toLoadCount===t.loadedCount),n.map(()=>n.R(this._service,["loadedCount","loadedResources","toLoadCount"])),n.share()));this._service=t}};q=ei([n.scoped(n.Lifecycle.ContainerScoped),ti(0,n.inject(T))],q);var ii=Object.defineProperty,si=Object.getOwnPropertyDescriptor,ri=(t,e,i,r)=>{for(var s=r>1?void 0:r?si(e,i):e,o=t.length-1,a;o>=0;o--)(a=t[o])&&(s=(r?a(e,i,s):a(s))||s);return r&&s&&ii(e,i,s),s},ue=(t,e)=>(i,r)=>e(i,r,t);let B=class{constructor(t,e){c(this,"_subscriptions",[]);this._controller=t,this._service=e}init(){this._subscriptions.push(this._controller.load$.subscribe(this._service.handleLoad.bind(this._service)))}getLoadedResources(){return this._service.loadedResources}getLoadedCount(){return this._service.loadedCount}getToLoadCount(){return this._service.toLoadCount}getLoad$(){return this._controller.load$}getLoadCompleted$(){return this._controller.loadCompleted$}dispose(){this._subscriptions.forEach(t=>t.unsubscribe())}};B=ri([n.scoped(n.Lifecycle.ContainerScoped),ue(0,n.inject(q)),ue(1,n.inject(T))],B);var ni=Object.defineProperty,oi=Object.getOwnPropertyDescriptor,ai=(t,e,i,r)=>{for(var s=r>1?void 0:r?oi(e,i):e,o=t.length-1,a;o>=0;o--)(a=t[o])&&(s=(r?a(e,i,s):a(s))||s);return r&&s&&ni(e,i,s),s},m=(t,e)=>(i,r)=>e(i,r,t);exports.AppModule=class extends n.AppProxyEventHandlersBlueprint{constructor(e,i,r,s,o,a,l,p,d){super(),this._controller=e,this._service=i,this.timer=r,this.sizes=s,this.camera=o,this.world=a,this.renderer=l,this.loader=p,this.debug=d,this._initProxyEvents()}_initProxyEvents(){n.PROXY_EVENT_LISTENERS.forEach(e=>{this[`${e}$`]=()=>{var i;return(i=this._controller)==null?void 0:i[`${e}$`]},this[e]=i=>{var r,s;return(s=(r=this._controller)==null?void 0:r[e])==null?void 0:s.call(r,i)}})}getProxyReceiver(){return this._service.proxyReceiver}getCanvas(){return this._service.canvas}getIsInitialized(){return this._service.isInitialized}getBeforeStep$(){return this.timer.beforeStep$()}getStep$(){return this.timer.step$()}getBeforeRender$(){return this.world.getBeforeRender$()}getAfterRender$(){return this.world.getAfterRender$()}init(e){this._service.canvas=e.canvas,!(this._service.isInitialized||!this._service.canvas)&&(this._service.isInitialized=!0,this.sizes.init(this._service.canvas),this.camera.init(),this.world.init(),this.renderer.init(this._service.canvas),this.timer.init(e.startTimer),this.loader.init(),this.debug.init(e))}dispose(){this.sizes.dispose(),this.camera.dispose(),this.world.dispose(),this.renderer.dispose(),this.timer.dispose(),this.loader.dispose(),this.debug.dispose()}};exports.AppModule=ai([n.scoped(n.Lifecycle.ContainerScoped),m(0,n.inject($)),m(1,n.inject(O)),m(2,n.inject(I)),m(3,n.inject(F)),m(4,n.inject(H)),m(5,n.inject(Z)),m(6,n.inject(Y)),m(7,n.inject(B)),m(8,n.inject(X))],exports.AppModule);var hi=n.requireWorker();const Q=n.getDefaultExportFromCjs(hi),ci=Q.expose;Q.registerSerializer;Q.Transfer;const li=t=>{const e=n.instance.createChildContainer(),i=e.resolve(exports.AppModule),r={container:e,module:i},s={},o=l=>{var E,v,J,k,ee,te,ie;if(!((E=l.data)!=null&&E.canvas)&&!((v=l.data)!=null&&v.mainThread)||i.getIsInitialized())return;const p=!!((J=l.data)!=null&&J.startTimer),d=!!((k=l.data)!=null&&k.withMiniCamera),C=!!((ee=l.data)!=null&&ee.fullScreen);i.init({...l.data,canvas:(t==null?void 0:t.canvas)||l.data.canvas||(l.data.mainThread?(te=self==null?void 0:self.document)==null?void 0:te.getElementsByTagName("canvas")[0]:void 0),startTimer:p,withMiniCamera:d,fullScreen:C}),(ie=t==null?void 0:t.onReady)==null||ie.call(t,r),self==null||self.removeEventListener("message",o)};e.register(n.CONTAINER_TOKEN,{useValue:e}),n.PROXY_EVENT_LISTENERS.forEach(l=>{var p,d;s[l]=(d=(p=i[l])==null?void 0:p.bind)==null?void 0:d.call(p,i)}),self==null||self.addEventListener("message",o);const a={...s,getProxyReceiver:i.getProxyReceiver.bind(i),getIsInitialized:i.getIsInitialized.bind(i),getBeforeStep$:i.getBeforeStep$.bind(i),getBeforeRender$:i.getBeforeRender$.bind(i),getStep$:i.getStep$.bind(i),getAfterRender$:i.getAfterRender$.bind(i),dispose:i.dispose.bind(i)};n.instance.register("MAIN_THREAD_APP",{useValue:a});try{ci(a)}catch(l){console.warn("Failed to expose the app module.",l.message)}return r};exports.launchApp=li;
package/dist/worker.mjs CHANGED
@@ -2,8 +2,8 @@ var Ke = Object.defineProperty;
2
2
  var We = (t, e, i) => e in t ? Ke(t, e, { enumerable: !0, configurable: !0, writable: !0, value: i }) : t[e] = i;
3
3
  var a = (t, e, i) => We(t, typeof e != "symbol" ? e + "" : e, i);
4
4
  import { w as Xe, _ as ve, y as be, O as qe, z as Ne, B as He, G as Be, H as Ve, s as p, L as d, I as Ge, i as h, P as Qe, j as ce, S as N, l as C, m as q, n as x, E as Pe, D as ge, k as Je, q as ke, J as Ce, M as et, R as tt, A as it, d as st, f as rt, h as Se, C as nt } from "./FontLoader-Dz0z8aMc.mjs";
5
- import { Ray as ot, Plane as at, MathUtils as ht, Vector3 as b, Controls as ct, MOUSE as $, TOUCH as D, Quaternion as we, Spherical as ye, Vector2 as v, PerspectiveCamera as E, OrthographicCamera as I, Camera as j, Scene as Fe, WebGLRenderer as Oe, PCFSoftShadowMap as lt, SRGBColorSpace as _t, CineonToneMapping as pt, AxesHelper as dt, GridHelper as ut, AnimationClip as mt } from "three";
6
- var ft = {
5
+ import { Ray as ot, Plane as at, MathUtils as ht, Vector3 as b, Controls as ct, MOUSE as $, TOUCH as D, Quaternion as we, Spherical as ye, Vector2 as v, Clock as lt, PerspectiveCamera as E, OrthographicCamera as I, Camera as j, Scene as Fe, WebGLRenderer as Oe, PCFSoftShadowMap as _t, SRGBColorSpace as pt, CineonToneMapping as dt, AxesHelper as ut, GridHelper as mt, AnimationClip as ft } from "three";
6
+ var vt = {
7
7
  now: function() {
8
8
  return performance.now();
9
9
  },
@@ -31,12 +31,12 @@ var ft = {
31
31
  },
32
32
  delegate: void 0
33
33
  };
34
- function vt(t) {
35
- return t ? Ye(t) : bt;
34
+ function bt(t) {
35
+ return t ? Ye(t) : Pt;
36
36
  }
37
37
  function Ye(t) {
38
38
  return new qe(function(e) {
39
- var i = t || ft, s = i.now(), r = 0, n = function() {
39
+ var i = t || vt, s = i.now(), r = 0, n = function() {
40
40
  e.closed || (r = B.requestAnimationFrame(function(o) {
41
41
  r = 0;
42
42
  var c = i.now();
@@ -51,8 +51,8 @@ function Ye(t) {
51
51
  };
52
52
  });
53
53
  }
54
- var bt = Ye();
55
- function Pt(t, e) {
54
+ var Pt = Ye();
55
+ function gt(t, e) {
56
56
  return e === void 0 && (e = !1), Ne(function(i, s) {
57
57
  var r = 0;
58
58
  i.subscribe(He(s, function(n) {
@@ -61,7 +61,7 @@ function Pt(t, e) {
61
61
  }));
62
62
  });
63
63
  }
64
- function gt(t, e, i) {
64
+ function Ct(t, e, i) {
65
65
  var s = Ve(t) || e || i ? { next: t, error: e, complete: i } : t;
66
66
  return s ? Ne(function(r, n) {
67
67
  var o;
@@ -82,7 +82,7 @@ function gt(t, e, i) {
82
82
  }));
83
83
  }) : Be;
84
84
  }
85
- const De = { type: "change" }, le = { type: "start" }, Ue = { type: "end" }, L = new ot(), Ee = new at(), Ct = Math.cos(70 * ht.DEG2RAD), m = new b(), f = 2 * Math.PI, _ = {
85
+ const De = { type: "change" }, le = { type: "start" }, Ue = { type: "end" }, L = new ot(), Ee = new at(), St = Math.cos(70 * ht.DEG2RAD), m = new b(), f = 2 * Math.PI, _ = {
86
86
  NONE: -1,
87
87
  ROTATE: 0,
88
88
  DOLLY: 1,
@@ -100,7 +100,7 @@ class $e extends ct {
100
100
  * @param {?HTMLDOMElement} domElement - The HTML element used for event listeners.
101
101
  */
102
102
  constructor(e, i = null) {
103
- super(e, i), this.state = _.NONE, this.target = new b(), this.cursor = new b(), this.minDistance = 0, this.maxDistance = 1 / 0, this.minZoom = 0, this.maxZoom = 1 / 0, this.minTargetRadius = 0, this.maxTargetRadius = 1 / 0, this.minPolarAngle = 0, this.maxPolarAngle = Math.PI, this.minAzimuthAngle = -1 / 0, this.maxAzimuthAngle = 1 / 0, this.enableDamping = !1, this.dampingFactor = 0.05, this.enableZoom = !0, this.zoomSpeed = 1, this.enableRotate = !0, this.rotateSpeed = 1, this.keyRotateSpeed = 1, this.enablePan = !0, this.panSpeed = 1, this.screenSpacePanning = !0, this.keyPanSpeed = 7, this.zoomToCursor = !1, this.autoRotate = !1, this.autoRotateSpeed = 2, this.keys = { LEFT: "ArrowLeft", UP: "ArrowUp", RIGHT: "ArrowRight", BOTTOM: "ArrowDown" }, this.mouseButtons = { LEFT: $.ROTATE, MIDDLE: $.DOLLY, RIGHT: $.PAN }, this.touches = { ONE: D.ROTATE, TWO: D.DOLLY_PAN }, this.target0 = this.target.clone(), this.position0 = this.object.position.clone(), this.zoom0 = this.object.zoom, this._domElementKeyEvents = null, this._lastPosition = new b(), this._lastQuaternion = new we(), this._lastTargetPosition = new b(), this._quat = new we().setFromUnitVectors(e.up, new b(0, 1, 0)), this._quatInverse = this._quat.clone().invert(), this._spherical = new ye(), this._sphericalDelta = new ye(), this._scale = 1, this._panOffset = new b(), this._rotateStart = new v(), this._rotateEnd = new v(), this._rotateDelta = new v(), this._panStart = new v(), this._panEnd = new v(), this._panDelta = new v(), this._dollyStart = new v(), this._dollyEnd = new v(), this._dollyDelta = new v(), this._dollyDirection = new b(), this._mouse = new v(), this._performCursorZoom = !1, this._pointers = [], this._pointerPositions = {}, this._controlActive = !1, this._onPointerMove = wt.bind(this), this._onPointerDown = St.bind(this), this._onPointerUp = yt.bind(this), this._onContextMenu = Mt.bind(this), this._onMouseWheel = Et.bind(this), this._onKeyDown = $t.bind(this), this._onTouchStart = Rt.bind(this), this._onTouchMove = Tt.bind(this), this._onMouseDown = Ot.bind(this), this._onMouseMove = Dt.bind(this), this._interceptControlDown = jt.bind(this), this._interceptControlUp = xt.bind(this), this.domElement !== null && this.connect(this.domElement), this.update();
103
+ super(e, i), this.state = _.NONE, this.target = new b(), this.cursor = new b(), this.minDistance = 0, this.maxDistance = 1 / 0, this.minZoom = 0, this.maxZoom = 1 / 0, this.minTargetRadius = 0, this.maxTargetRadius = 1 / 0, this.minPolarAngle = 0, this.maxPolarAngle = Math.PI, this.minAzimuthAngle = -1 / 0, this.maxAzimuthAngle = 1 / 0, this.enableDamping = !1, this.dampingFactor = 0.05, this.enableZoom = !0, this.zoomSpeed = 1, this.enableRotate = !0, this.rotateSpeed = 1, this.keyRotateSpeed = 1, this.enablePan = !0, this.panSpeed = 1, this.screenSpacePanning = !0, this.keyPanSpeed = 7, this.zoomToCursor = !1, this.autoRotate = !1, this.autoRotateSpeed = 2, this.keys = { LEFT: "ArrowLeft", UP: "ArrowUp", RIGHT: "ArrowRight", BOTTOM: "ArrowDown" }, this.mouseButtons = { LEFT: $.ROTATE, MIDDLE: $.DOLLY, RIGHT: $.PAN }, this.touches = { ONE: D.ROTATE, TWO: D.DOLLY_PAN }, this.target0 = this.target.clone(), this.position0 = this.object.position.clone(), this.zoom0 = this.object.zoom, this._domElementKeyEvents = null, this._lastPosition = new b(), this._lastQuaternion = new we(), this._lastTargetPosition = new b(), this._quat = new we().setFromUnitVectors(e.up, new b(0, 1, 0)), this._quatInverse = this._quat.clone().invert(), this._spherical = new ye(), this._sphericalDelta = new ye(), this._scale = 1, this._panOffset = new b(), this._rotateStart = new v(), this._rotateEnd = new v(), this._rotateDelta = new v(), this._panStart = new v(), this._panEnd = new v(), this._panDelta = new v(), this._dollyStart = new v(), this._dollyEnd = new v(), this._dollyDelta = new v(), this._dollyDirection = new b(), this._mouse = new v(), this._performCursorZoom = !1, this._pointers = [], this._pointerPositions = {}, this._controlActive = !1, this._onPointerMove = yt.bind(this), this._onPointerDown = wt.bind(this), this._onPointerUp = Ot.bind(this), this._onContextMenu = jt.bind(this), this._onMouseWheel = $t.bind(this), this._onKeyDown = Rt.bind(this), this._onTouchStart = Tt.bind(this), this._onTouchMove = Mt.bind(this), this._onMouseDown = Dt.bind(this), this._onMouseMove = Et.bind(this), this._interceptControlDown = xt.bind(this), this._interceptControlUp = At.bind(this), this.domElement !== null && this.connect(this.domElement), this.update();
104
104
  }
105
105
  connect(e) {
106
106
  super.connect(e), this.domElement.addEventListener("pointerdown", this._onPointerDown), this.domElement.addEventListener("pointercancel", this._onPointerUp), this.domElement.addEventListener("contextmenu", this._onContextMenu), this.domElement.addEventListener("wheel", this._onMouseWheel, { passive: !1 }), this.domElement.getRootNode().addEventListener("keydown", this._interceptControlDown, { passive: !0, capture: !0 }), this.domElement.style.touchAction = "none";
@@ -191,7 +191,7 @@ class $e extends ct {
191
191
  u.unproject(this.object), this.object.position.sub(u).add(c), this.object.updateMatrixWorld(), o = m.length();
192
192
  } else
193
193
  console.warn("WARNING: OrbitControls.js encountered an unknown camera type - zoom to cursor disabled."), this.zoomToCursor = !1;
194
- o !== null && (this.screenSpacePanning ? this.target.set(0, 0, -1).transformDirection(this.object.matrix).multiplyScalar(o).add(this.object.position) : (L.origin.copy(this.object.position), L.direction.set(0, 0, -1).transformDirection(this.object.matrix), Math.abs(this.object.up.dot(L.direction)) < Ct ? this.object.lookAt(this.target) : (Ee.setFromNormalAndCoplanarPoint(this.object.up, this.target), L.intersectPlane(Ee, this.target))));
194
+ o !== null && (this.screenSpacePanning ? this.target.set(0, 0, -1).transformDirection(this.object.matrix).multiplyScalar(o).add(this.object.position) : (L.origin.copy(this.object.position), L.direction.set(0, 0, -1).transformDirection(this.object.matrix), Math.abs(this.object.up.dot(L.direction)) < St ? this.object.lookAt(this.target) : (Ee.setFromNormalAndCoplanarPoint(this.object.up, this.target), L.intersectPlane(Ee, this.target))));
195
195
  } else if (this.object.isOrthographicCamera) {
196
196
  const o = this.object.zoom;
197
197
  this.object.zoom = Math.max(this.minZoom, Math.min(this.maxZoom, this.object.zoom / this._scale)), o !== this.object.zoom && (this.object.updateProjectionMatrix(), n = !0);
@@ -388,13 +388,13 @@ class $e extends ct {
388
388
  return e.ctrlKey && !this._controlActive && (s.deltaY *= 10), s;
389
389
  }
390
390
  }
391
- function St(t) {
391
+ function wt(t) {
392
392
  this.enabled !== !1 && (this._pointers.length === 0 && (this.domElement.setPointerCapture(t.pointerId), this.domElement.addEventListener("pointermove", this._onPointerMove), this.domElement.addEventListener("pointerup", this._onPointerUp)), !this._isTrackingPointer(t) && (this._addPointer(t), t.pointerType === "touch" ? this._onTouchStart(t) : this._onMouseDown(t)));
393
393
  }
394
- function wt(t) {
394
+ function yt(t) {
395
395
  this.enabled !== !1 && (t.pointerType === "touch" ? this._onTouchMove(t) : this._onMouseMove(t));
396
396
  }
397
- function yt(t) {
397
+ function Ot(t) {
398
398
  switch (this._removePointer(t), this._pointers.length) {
399
399
  case 0:
400
400
  this.domElement.releasePointerCapture(t.pointerId), this.domElement.removeEventListener("pointermove", this._onPointerMove), this.domElement.removeEventListener("pointerup", this._onPointerUp), this.dispatchEvent(Ue), this.state = _.NONE;
@@ -405,7 +405,7 @@ function yt(t) {
405
405
  break;
406
406
  }
407
407
  }
408
- function Ot(t) {
408
+ function Dt(t) {
409
409
  let e;
410
410
  switch (t.button) {
411
411
  case 0:
@@ -448,7 +448,7 @@ function Ot(t) {
448
448
  }
449
449
  this.state !== _.NONE && this.dispatchEvent(le);
450
450
  }
451
- function Dt(t) {
451
+ function Et(t) {
452
452
  switch (this.state) {
453
453
  case _.ROTATE:
454
454
  if (this.enableRotate === !1) return;
@@ -464,13 +464,13 @@ function Dt(t) {
464
464
  break;
465
465
  }
466
466
  }
467
- function Et(t) {
467
+ function $t(t) {
468
468
  this.enabled === !1 || this.enableZoom === !1 || this.state !== _.NONE || (t.preventDefault(), this.dispatchEvent(le), this._handleMouseWheel(this._customWheelEvent(t)), this.dispatchEvent(Ue));
469
469
  }
470
- function $t(t) {
470
+ function Rt(t) {
471
471
  this.enabled !== !1 && this._handleKeyDown(t);
472
472
  }
473
- function Rt(t) {
473
+ function Tt(t) {
474
474
  switch (this._trackPointer(t), this._pointers.length) {
475
475
  case 1:
476
476
  switch (this.touches.ONE) {
@@ -505,7 +505,7 @@ function Rt(t) {
505
505
  }
506
506
  this.state !== _.NONE && this.dispatchEvent(le);
507
507
  }
508
- function Tt(t) {
508
+ function Mt(t) {
509
509
  switch (this._trackPointer(t), this.state) {
510
510
  case _.TOUCH_ROTATE:
511
511
  if (this.enableRotate === !1) return;
@@ -527,19 +527,19 @@ function Tt(t) {
527
527
  this.state = _.NONE;
528
528
  }
529
529
  }
530
- function Mt(t) {
530
+ function jt(t) {
531
531
  this.enabled !== !1 && t.preventDefault();
532
532
  }
533
- function jt(t) {
533
+ function xt(t) {
534
534
  t.key === "Control" && (this._controlActive = !0, this.domElement.getRootNode().addEventListener("keyup", this._interceptControlUp, { passive: !0, capture: !0 }));
535
535
  }
536
- function xt(t) {
536
+ function At(t) {
537
537
  t.key === "Control" && (this._controlActive = !1, this.domElement.getRootNode().removeEventListener("keyup", this._interceptControlUp, { passive: !0, capture: !0 }));
538
538
  }
539
- var At = Object.defineProperty, zt = Object.getOwnPropertyDescriptor, Lt = (t, e, i, s) => {
540
- for (var r = s > 1 ? void 0 : s ? zt(e, i) : e, n = t.length - 1, o; n >= 0; n--)
539
+ var zt = Object.defineProperty, Lt = Object.getOwnPropertyDescriptor, It = (t, e, i, s) => {
540
+ for (var r = s > 1 ? void 0 : s ? Lt(e, i) : e, n = t.length - 1, o; n >= 0; n--)
541
541
  (o = t[n]) && (r = (s ? o(e, i, r) : o(r)) || r);
542
- return s && r && At(e, i, r), r;
542
+ return s && r && zt(e, i, r), r;
543
543
  };
544
544
  let A = class {
545
545
  constructor() {
@@ -557,14 +557,14 @@ let A = class {
557
557
  }, this._canvas = t;
558
558
  }
559
559
  };
560
- A = Lt([
560
+ A = It([
561
561
  p(d.ContainerScoped)
562
562
  ], A);
563
- var It = Object.defineProperty, Nt = Object.getOwnPropertyDescriptor, Ht = (t, e, i, s) => {
564
- for (var r = s > 1 ? void 0 : s ? Nt(e, i) : e, n = t.length - 1, o; n >= 0; n--)
563
+ var Nt = Object.defineProperty, Ht = Object.getOwnPropertyDescriptor, Ft = (t, e, i, s) => {
564
+ for (var r = s > 1 ? void 0 : s ? Ht(e, i) : e, n = t.length - 1, o; n >= 0; n--)
565
565
  (o = t[n]) && (r = (s ? o(e, i, r) : o(r)) || r);
566
- return s && r && It(e, i, r), r;
567
- }, Ft = (t, e) => (i, s) => e(i, s, t);
566
+ return s && r && Nt(e, i, r), r;
567
+ }, Yt = (t, e) => (i, s) => e(i, s, t);
568
568
  let H = class extends Qe {
569
569
  constructor(t) {
570
570
  super(), this._service = t;
@@ -577,64 +577,65 @@ let H = class extends Qe {
577
577
  };
578
578
  }
579
579
  };
580
- H = Ht([
580
+ H = Ft([
581
581
  p(d.ContainerScoped),
582
- Ft(0, h(A))
582
+ Yt(0, h(A))
583
583
  ], H);
584
- var Yt = Object.defineProperty, Ut = Object.getOwnPropertyDescriptor, Zt = (t, e, i, s) => {
585
- for (var r = s > 1 ? void 0 : s ? Ut(e, i) : e, n = t.length - 1, o; n >= 0; n--)
584
+ var Ut = Object.defineProperty, Zt = Object.getOwnPropertyDescriptor, Kt = (t, e, i, s) => {
585
+ for (var r = s > 1 ? void 0 : s ? Zt(e, i) : e, n = t.length - 1, o; n >= 0; n--)
586
586
  (o = t[n]) && (r = (s ? o(e, i, r) : o(r)) || r);
587
- return s && r && Yt(e, i, r), r;
587
+ return s && r && Ut(e, i, r), r;
588
588
  };
589
589
  let F = class {
590
590
  constructor() {
591
- a(this, "frame", 1e3 / 60);
591
+ a(this, "fps", 60);
592
+ a(this, "frame", 1e3 / this.fps);
593
+ a(this, "clock", new lt());
592
594
  a(this, "initialTime", Date.now());
593
- a(this, "currentTime", 0);
594
- a(this, "deltaTime", 0);
595
+ a(this, "elapsed", 0);
596
+ a(this, "previousDelta", 0);
597
+ a(this, "delta", 0);
595
598
  a(this, "deltaRatio", 0);
596
- a(this, "elapsedTime", 0);
597
599
  a(this, "enabled", !1);
598
600
  }
599
601
  step() {
600
- const t = Date.now();
601
- this.deltaTime = t - this.currentTime, this.currentTime = t, this.elapsedTime = t - this.initialTime, this.deltaRatio = this.deltaTime / this.frame;
602
+ this.elapsed = this.clock.getElapsedTime(), this.delta = this.elapsed - this.previousDelta, this.previousDelta = this.elapsed, this.deltaRatio = this.delta / this.frame;
602
603
  }
603
604
  };
604
- F = Zt([
605
+ F = Kt([
605
606
  p(d.ContainerScoped)
606
607
  ], F);
607
- var Kt = Object.defineProperty, Wt = Object.getOwnPropertyDescriptor, Xt = (t, e, i, s) => {
608
- for (var r = s > 1 ? void 0 : s ? Wt(e, i) : e, n = t.length - 1, o; n >= 0; n--)
608
+ var Wt = Object.defineProperty, Xt = Object.getOwnPropertyDescriptor, qt = (t, e, i, s) => {
609
+ for (var r = s > 1 ? void 0 : s ? Xt(e, i) : e, n = t.length - 1, o; n >= 0; n--)
609
610
  (o = t[n]) && (r = (s ? o(e, i, r) : o(r)) || r);
610
- return s && r && Kt(e, i, r), r;
611
- }, qt = (t, e) => (i, s) => e(i, s, t);
611
+ return s && r && Wt(e, i, r), r;
612
+ }, Bt = (t, e) => (i, s) => e(i, s, t);
612
613
  let R = class {
613
614
  constructor(t) {
614
615
  a(this, "_beforeStep$$", new N());
615
616
  a(this, "_oldElapsed", 0);
616
617
  a(this, "beforeStep$", this._beforeStep$$.asObservable());
617
- a(this, "step$", vt().pipe(
618
- gt(({ elapsed: t }) => {
618
+ a(this, "step$", bt().pipe(
619
+ Ct(({ elapsed: t }) => {
619
620
  var e;
620
621
  this._oldElapsed !== t && ((e = this._beforeStep$$) == null || e.next(Pe(this._service, [])), this._oldElapsed = t);
621
622
  }),
622
623
  C(() => this._service.enabled),
623
- Pt(() => this._service.enabled),
624
+ gt(() => this._service.enabled),
624
625
  q(() => Pe(this._service, [])),
625
626
  x()
626
627
  ));
627
628
  this._service = t;
628
629
  }
629
630
  };
630
- R = Xt([
631
+ R = qt([
631
632
  p(d.ContainerScoped),
632
- qt(0, h(F))
633
+ Bt(0, h(F))
633
634
  ], R);
634
- var Bt = Object.defineProperty, Vt = Object.getOwnPropertyDescriptor, Gt = (t, e, i, s) => {
635
- for (var r = s > 1 ? void 0 : s ? Vt(e, i) : e, n = t.length - 1, o; n >= 0; n--)
635
+ var Vt = Object.defineProperty, Gt = Object.getOwnPropertyDescriptor, Qt = (t, e, i, s) => {
636
+ for (var r = s > 1 ? void 0 : s ? Gt(e, i) : e, n = t.length - 1, o; n >= 0; n--)
636
637
  (o = t[n]) && (r = (s ? o(e, i, r) : o(r)) || r);
637
- return s && r && Bt(e, i, r), r;
638
+ return s && r && Vt(e, i, r), r;
638
639
  }, Re = (t, e) => (i, s) => e(i, s, t);
639
640
  let V = class {
640
641
  constructor(t, e) {
@@ -651,7 +652,7 @@ let V = class {
651
652
  return this._service.frame;
652
653
  }
653
654
  deltaTime(t) {
654
- return typeof t == "number" && (this._service.deltaTime = t), this._service.deltaTime;
655
+ return typeof t == "number" && (this._service.delta = t), this._service.delta;
655
656
  }
656
657
  deltaRatio(t) {
657
658
  return typeof t == "number" && (this._service.deltaRatio = t), this._service.deltaRatio;
@@ -669,15 +670,15 @@ let V = class {
669
670
  return this._controller.step$;
670
671
  }
671
672
  };
672
- V = Gt([
673
+ V = Qt([
673
674
  p(d.ContainerScoped),
674
675
  Re(0, h(R)),
675
676
  Re(1, h(F))
676
677
  ], V);
677
- var Qt = Object.defineProperty, Jt = Object.getOwnPropertyDescriptor, kt = (t, e, i, s) => {
678
- for (var r = s > 1 ? void 0 : s ? Jt(e, i) : e, n = t.length - 1, o; n >= 0; n--)
678
+ var Jt = Object.defineProperty, kt = Object.getOwnPropertyDescriptor, ei = (t, e, i, s) => {
679
+ for (var r = s > 1 ? void 0 : s ? kt(e, i) : e, n = t.length - 1, o; n >= 0; n--)
679
680
  (o = t[n]) && (r = (s ? o(e, i, r) : o(r)) || r);
680
- return s && r && Qt(e, i, r), r;
681
+ return s && r && Jt(e, i, r), r;
681
682
  };
682
683
  let S = class {
683
684
  constructor() {
@@ -689,21 +690,17 @@ let S = class {
689
690
  a(this, "enabled", !0);
690
691
  }
691
692
  init(t, e) {
692
- this.height = Number(
693
- t.height ?? this.height
694
- ), this.width = Number(
695
- t.width ?? this.width
696
- ), this.aspect = this.width / this.height, this.enabled = e === void 0 ? !0 : !!e;
693
+ this.height = Number(t.height ?? this.height), this.width = Number(t.width ?? this.width), this.aspect = this.width / this.height, this.enabled = e === void 0 ? !0 : !!e;
697
694
  }
698
695
  };
699
- S = kt([
696
+ S = ei([
700
697
  p(d.ContainerScoped)
701
698
  ], S);
702
- var ei = Object.defineProperty, ti = Object.getOwnPropertyDescriptor, ii = (t, e, i, s) => {
703
- for (var r = s > 1 ? void 0 : s ? ti(e, i) : e, n = t.length - 1, o; n >= 0; n--)
699
+ var ti = Object.defineProperty, ii = Object.getOwnPropertyDescriptor, si = (t, e, i, s) => {
700
+ for (var r = s > 1 ? void 0 : s ? ii(e, i) : e, n = t.length - 1, o; n >= 0; n--)
704
701
  (o = t[n]) && (r = (s ? o(e, i, r) : o(r)) || r);
705
- return s && r && ei(e, i, r), r;
706
- }, si = (t, e) => (i, s) => e(i, s, t);
702
+ return s && r && ti(e, i, r), r;
703
+ }, ri = (t, e) => (i, s) => e(i, s, t);
707
704
  let w = class {
708
705
  constructor(t) {
709
706
  a(this, "instance");
@@ -731,7 +728,7 @@ let w = class {
731
728
  this.instance = new E(
732
729
  70,
733
730
  this._sizesService.width / this._sizesService.height,
734
- 1e-4,
731
+ 0.1,
735
732
  100
736
733
  ), this.instance.position.z = 8;
737
734
  return;
@@ -749,14 +746,14 @@ let w = class {
749
746
  this.instance instanceof j && ((this.instance instanceof E || this.instance instanceof I) && this.instance.clearViewOffset(), this.instance.clear(), this.instance = void 0);
750
747
  }
751
748
  };
752
- w = ii([
749
+ w = si([
753
750
  p(d.ContainerScoped),
754
- si(0, h(S))
751
+ ri(0, h(S))
755
752
  ], w);
756
- var ri = Object.defineProperty, ni = Object.getOwnPropertyDescriptor, oi = (t, e, i, s) => {
757
- for (var r = s > 1 ? void 0 : s ? ni(e, i) : e, n = t.length - 1, o; n >= 0; n--)
753
+ var ni = Object.defineProperty, oi = Object.getOwnPropertyDescriptor, ai = (t, e, i, s) => {
754
+ for (var r = s > 1 ? void 0 : s ? oi(e, i) : e, n = t.length - 1, o; n >= 0; n--)
758
755
  (o = t[n]) && (r = (s ? o(e, i, r) : o(r)) || r);
759
- return s && r && ri(e, i, r), r;
756
+ return s && r && ni(e, i, r), r;
760
757
  }, Te = (t, e) => (i, s) => e(i, s, t);
761
758
  let G = class {
762
759
  constructor(t, e) {
@@ -766,15 +763,15 @@ let G = class {
766
763
  );
767
764
  }
768
765
  };
769
- G = oi([
766
+ G = ai([
770
767
  p(d.ContainerScoped),
771
768
  Te(0, h(R)),
772
769
  Te(1, h(w))
773
770
  ], G);
774
- var ai = Object.defineProperty, hi = Object.getOwnPropertyDescriptor, ci = (t, e, i, s) => {
775
- for (var r = s > 1 ? void 0 : s ? hi(e, i) : e, n = t.length - 1, o; n >= 0; n--)
771
+ var hi = Object.defineProperty, ci = Object.getOwnPropertyDescriptor, li = (t, e, i, s) => {
772
+ for (var r = s > 1 ? void 0 : s ? ci(e, i) : e, n = t.length - 1, o; n >= 0; n--)
776
773
  (o = t[n]) && (r = (s ? o(e, i, r) : o(r)) || r);
777
- return s && r && ai(e, i, r), r;
774
+ return s && r && hi(e, i, r), r;
778
775
  }, K = (t, e) => (i, s) => e(i, s, t);
779
776
  let Q = class {
780
777
  constructor(t, e, i) {
@@ -808,16 +805,16 @@ let Q = class {
808
805
  this._subscriptions.forEach((t) => t.unsubscribe()), this._service.dispose();
809
806
  }
810
807
  };
811
- Q = ci([
808
+ Q = li([
812
809
  p(d.ContainerScoped),
813
810
  K(0, h(S)),
814
811
  K(1, h(G)),
815
812
  K(2, h(w))
816
813
  ], Q);
817
- var li = Object.defineProperty, _i = Object.getOwnPropertyDescriptor, pi = (t, e, i, s) => {
818
- for (var r = s > 1 ? void 0 : s ? _i(e, i) : e, n = t.length - 1, o; n >= 0; n--)
814
+ var _i = Object.defineProperty, pi = Object.getOwnPropertyDescriptor, di = (t, e, i, s) => {
815
+ for (var r = s > 1 ? void 0 : s ? pi(e, i) : e, n = t.length - 1, o; n >= 0; n--)
819
816
  (o = t[n]) && (r = (s ? o(e, i, r) : o(r)) || r);
820
- return s && r && li(e, i, r), r;
817
+ return s && r && _i(e, i, r), r;
821
818
  };
822
819
  let T = class {
823
820
  constructor() {
@@ -825,14 +822,14 @@ let T = class {
825
822
  a(this, "enabled", !0);
826
823
  }
827
824
  };
828
- T = pi([
825
+ T = di([
829
826
  p(d.ContainerScoped)
830
827
  ], T);
831
- var Ze = Object.defineProperty, di = Object.getOwnPropertyDescriptor, ui = (t, e, i) => e in t ? Ze(t, e, { enumerable: !0, configurable: !0, writable: !0, value: i }) : t[e] = i, mi = (t, e, i, s) => {
832
- for (var r = s > 1 ? void 0 : s ? di(e, i) : e, n = t.length - 1, o; n >= 0; n--)
828
+ var Ze = Object.defineProperty, ui = Object.getOwnPropertyDescriptor, mi = (t, e, i) => e in t ? Ze(t, e, { enumerable: !0, configurable: !0, writable: !0, value: i }) : t[e] = i, fi = (t, e, i, s) => {
829
+ for (var r = s > 1 ? void 0 : s ? ui(e, i) : e, n = t.length - 1, o; n >= 0; n--)
833
830
  (o = t[n]) && (r = (s ? o(e, i, r) : o(r)) || r);
834
831
  return s && r && Ze(e, i, r), r;
835
- }, W = (t, e) => (i, s) => e(i, s, t), fi = (t, e, i) => ui(t, e + "", i);
832
+ }, W = (t, e) => (i, s) => e(i, s, t), vi = (t, e, i) => mi(t, e + "", i);
836
833
  let y = class {
837
834
  constructor(t, e, i) {
838
835
  a(this, "enabled", !0);
@@ -849,7 +846,7 @@ let y = class {
849
846
  powerPreference: "high-performance",
850
847
  depth: !0,
851
848
  antialias: !0
852
- }), this.instance.autoClear = !1, this.instance.setPixelRatio(y.RENDERER_PIXEL_RATIO), this.instance.setClearColor(0, 0), this.instance.shadowMap.enabled = !0, this.instance.shadowMap.type = lt, this.instance.outputColorSpace = _t, this.instance.toneMapping = pt, this.instance.toneMappingExposure = 1.75;
849
+ }), this.instance.autoClear = !1, this.instance.setPixelRatio(y.RENDERER_PIXEL_RATIO), this.instance.setClearColor(0, 0), this.instance.shadowMap.enabled = !0, this.instance.shadowMap.type = _t, this.instance.outputColorSpace = pt, this.instance.toneMapping = dt, this.instance.toneMappingExposure = 1.75;
853
850
  }
854
851
  setSize(t, e) {
855
852
  var i;
@@ -867,17 +864,17 @@ let y = class {
867
864
  ));
868
865
  }
869
866
  };
870
- fi(y, "RENDERER_PIXEL_RATIO", 1);
871
- y = mi([
867
+ vi(y, "RENDERER_PIXEL_RATIO", 1);
868
+ y = fi([
872
869
  p(d.ContainerScoped),
873
870
  W(0, h(T)),
874
871
  W(1, h(w)),
875
872
  W(2, h(S))
876
873
  ], y);
877
- var vi = Object.defineProperty, bi = Object.getOwnPropertyDescriptor, Pi = (t, e, i, s) => {
878
- for (var r = s > 1 ? void 0 : s ? bi(e, i) : e, n = t.length - 1, o; n >= 0; n--)
874
+ var bi = Object.defineProperty, Pi = Object.getOwnPropertyDescriptor, gi = (t, e, i, s) => {
875
+ for (var r = s > 1 ? void 0 : s ? Pi(e, i) : e, n = t.length - 1, o; n >= 0; n--)
879
876
  (o = t[n]) && (r = (s ? o(e, i, r) : o(r)) || r);
880
- return s && r && vi(e, i, r), r;
877
+ return s && r && bi(e, i, r), r;
881
878
  }, Me = (t, e) => (i, s) => e(i, s, t);
882
879
  let Y = class {
883
880
  constructor(t, e) {
@@ -887,15 +884,15 @@ let Y = class {
887
884
  );
888
885
  }
889
886
  };
890
- Y = Pi([
887
+ Y = gi([
891
888
  p(d.ContainerScoped),
892
889
  Me(0, h(H)),
893
890
  Me(1, h(S))
894
891
  ], Y);
895
- var gi = Object.defineProperty, Ci = Object.getOwnPropertyDescriptor, Si = (t, e, i, s) => {
896
- for (var r = s > 1 ? void 0 : s ? Ci(e, i) : e, n = t.length - 1, o; n >= 0; n--)
892
+ var Ci = Object.defineProperty, Si = Object.getOwnPropertyDescriptor, wi = (t, e, i, s) => {
893
+ for (var r = s > 1 ? void 0 : s ? Si(e, i) : e, n = t.length - 1, o; n >= 0; n--)
897
894
  (o = t[n]) && (r = (s ? o(e, i, r) : o(r)) || r);
898
- return s && r && gi(e, i, r), r;
895
+ return s && r && Ci(e, i, r), r;
899
896
  }, X = (t, e) => (i, s) => e(i, s, t);
900
897
  let J = class {
901
898
  constructor(t, e, i) {
@@ -908,16 +905,16 @@ let J = class {
908
905
  );
909
906
  }
910
907
  };
911
- J = Si([
908
+ J = wi([
912
909
  p(d.ContainerScoped),
913
910
  X(0, h(y)),
914
911
  X(1, h(R)),
915
912
  X(2, h(Y))
916
913
  ], J);
917
- var wi = Object.defineProperty, yi = Object.getOwnPropertyDescriptor, Oi = (t, e, i, s) => {
918
- for (var r = s > 1 ? void 0 : s ? yi(e, i) : e, n = t.length - 1, o; n >= 0; n--)
914
+ var yi = Object.defineProperty, Oi = Object.getOwnPropertyDescriptor, Di = (t, e, i, s) => {
915
+ for (var r = s > 1 ? void 0 : s ? Oi(e, i) : e, n = t.length - 1, o; n >= 0; n--)
919
916
  (o = t[n]) && (r = (s ? o(e, i, r) : o(r)) || r);
920
- return s && r && wi(e, i, r), r;
917
+ return s && r && yi(e, i, r), r;
921
918
  }, je = (t, e) => (i, s) => e(i, s, t);
922
919
  let k = class {
923
920
  constructor(t, e) {
@@ -945,15 +942,15 @@ let k = class {
945
942
  (t = this._service.instance) == null || t.dispose(), this._service.instance = void 0;
946
943
  }
947
944
  };
948
- k = Oi([
945
+ k = Di([
949
946
  p(d.ContainerScoped),
950
947
  je(0, h(J)),
951
948
  je(1, h(y))
952
949
  ], k);
953
- var Di = Object.defineProperty, Ei = Object.getOwnPropertyDescriptor, $i = (t, e, i, s) => {
954
- for (var r = s > 1 ? void 0 : s ? Ei(e, i) : e, n = t.length - 1, o; n >= 0; n--)
950
+ var Ei = Object.defineProperty, $i = Object.getOwnPropertyDescriptor, Ri = (t, e, i, s) => {
951
+ for (var r = s > 1 ? void 0 : s ? $i(e, i) : e, n = t.length - 1, o; n >= 0; n--)
955
952
  (o = t[n]) && (r = (s ? o(e, i, r) : o(r)) || r);
956
- return s && r && Di(e, i, r), r;
953
+ return s && r && Ei(e, i, r), r;
957
954
  }, xe = (t, e) => (i, s) => e(i, s, t);
958
955
  let ee = class {
959
956
  constructor(t, e) {
@@ -988,16 +985,16 @@ let ee = class {
988
985
  return this._controller.resize$;
989
986
  }
990
987
  };
991
- ee = $i([
988
+ ee = Ri([
992
989
  p(d.ContainerScoped),
993
990
  xe(0, h(Y)),
994
991
  xe(1, h(S))
995
992
  ], ee);
996
- var Ri = Object.defineProperty, Ti = Object.getOwnPropertyDescriptor, Mi = (t, e, i, s) => {
997
- for (var r = s > 1 ? void 0 : s ? Ti(e, i) : e, n = t.length - 1, o; n >= 0; n--)
993
+ var Ti = Object.defineProperty, Mi = Object.getOwnPropertyDescriptor, ji = (t, e, i, s) => {
994
+ for (var r = s > 1 ? void 0 : s ? Mi(e, i) : e, n = t.length - 1, o; n >= 0; n--)
998
995
  (o = t[n]) && (r = (s ? o(e, i, r) : o(r)) || r);
999
- return s && r && Ri(e, i, r), r;
1000
- }, ji = (t, e) => (i, s) => e(i, s, t);
996
+ return s && r && Ti(e, i, r), r;
997
+ }, xi = (t, e) => (i, s) => e(i, s, t);
1001
998
  let te = class {
1002
999
  constructor(t) {
1003
1000
  a(this, "_beforeRender$$", new N());
@@ -1007,14 +1004,14 @@ let te = class {
1007
1004
  this._worldService = t, this._worldService.scene.onBeforeRender = () => this._beforeRender$$.next({}), this._worldService.scene.onAfterRender = () => this._afterRender$$.next({});
1008
1005
  }
1009
1006
  };
1010
- te = Mi([
1007
+ te = ji([
1011
1008
  p(d.ContainerScoped),
1012
- ji(0, h(T))
1009
+ xi(0, h(T))
1013
1010
  ], te);
1014
- var xi = Object.defineProperty, Ai = Object.getOwnPropertyDescriptor, zi = (t, e, i, s) => {
1015
- for (var r = s > 1 ? void 0 : s ? Ai(e, i) : e, n = t.length - 1, o; n >= 0; n--)
1011
+ var Ai = Object.defineProperty, zi = Object.getOwnPropertyDescriptor, Li = (t, e, i, s) => {
1012
+ for (var r = s > 1 ? void 0 : s ? zi(e, i) : e, n = t.length - 1, o; n >= 0; n--)
1016
1013
  (o = t[n]) && (r = (s ? o(e, i, r) : o(r)) || r);
1017
- return s && r && xi(e, i, r), r;
1014
+ return s && r && Ai(e, i, r), r;
1018
1015
  }, Ae = (t, e) => (i, s) => e(i, s, t);
1019
1016
  let ie = class {
1020
1017
  constructor(t, e) {
@@ -1037,15 +1034,15 @@ let ie = class {
1037
1034
  return this._controller.afterRender$;
1038
1035
  }
1039
1036
  };
1040
- ie = zi([
1037
+ ie = Li([
1041
1038
  p(d.ContainerScoped),
1042
1039
  Ae(0, h(T)),
1043
1040
  Ae(1, h(te))
1044
1041
  ], ie);
1045
- var Li = Object.defineProperty, Ii = Object.getOwnPropertyDescriptor, Ni = (t, e, i, s) => {
1046
- for (var r = s > 1 ? void 0 : s ? Ii(e, i) : e, n = t.length - 1, o; n >= 0; n--)
1042
+ var Ii = Object.defineProperty, Ni = Object.getOwnPropertyDescriptor, Hi = (t, e, i, s) => {
1043
+ for (var r = s > 1 ? void 0 : s ? Ni(e, i) : e, n = t.length - 1, o; n >= 0; n--)
1047
1044
  (o = t[n]) && (r = (s ? o(e, i, r) : o(r)) || r);
1048
- return s && r && Li(e, i, r), r;
1045
+ return s && r && Ii(e, i, r), r;
1049
1046
  }, M = (t, e) => (i, s) => e(i, s, t);
1050
1047
  let se = class {
1051
1048
  constructor(t, e, i, s, r) {
@@ -1096,10 +1093,10 @@ let se = class {
1096
1093
  ), this.miniCameraControls.rotateSpeed = 0.15, this.miniCameraControls.enableDamping = !0);
1097
1094
  }
1098
1095
  initAxesHelper(t) {
1099
- this.enabled && (this.axesHelper = new dt(t), this._worldService.scene.add(this.axesHelper));
1096
+ this.enabled && (this.axesHelper = new ut(t), this._worldService.scene.add(this.axesHelper));
1100
1097
  }
1101
1098
  initGridHelper(t) {
1102
- this.gridHelper && this._worldService.scene.remove(this.gridHelper), this.enabled && (this.gridHelper = new ut(t, t), this._worldService.scene.add(this.gridHelper));
1099
+ this.gridHelper && this._worldService.scene.remove(this.gridHelper), this.enabled && (this.gridHelper = new mt(t, t), this._worldService.scene.add(this.gridHelper));
1103
1100
  }
1104
1101
  disposeMiniCamera() {
1105
1102
  this.miniCamera instanceof j && (this.miniCamera.clearViewOffset(), this.miniCamera.clear(), this.miniCamera = void 0);
@@ -1113,7 +1110,7 @@ let se = class {
1113
1110
  this.disposeMiniCamera(), (t = this.cameraControls) == null || t.dispose(), this.cameraControls = void 0, (e = this.miniCameraControls) == null || e.dispose(), this.miniCameraControls = void 0, this.axesHelper && this._worldService.scene.remove(this.axesHelper), (i = this.axesHelper) == null || i.dispose(), this.axesHelper = void 0, this.gridHelper && this._worldService.scene.remove(this.gridHelper), (s = this.gridHelper) == null || s.dispose(), this.gridHelper = void 0;
1114
1111
  }
1115
1112
  };
1116
- se = Ni([
1113
+ se = Hi([
1117
1114
  p(d.ContainerScoped),
1118
1115
  M(0, h(A)),
1119
1116
  M(1, h(S)),
@@ -1121,10 +1118,10 @@ se = Ni([
1121
1118
  M(3, h(w)),
1122
1119
  M(4, h(T))
1123
1120
  ], se);
1124
- var Hi = Object.defineProperty, Fi = Object.getOwnPropertyDescriptor, Yi = (t, e, i, s) => {
1125
- for (var r = s > 1 ? void 0 : s ? Fi(e, i) : e, n = t.length - 1, o; n >= 0; n--)
1121
+ var Fi = Object.defineProperty, Yi = Object.getOwnPropertyDescriptor, Ui = (t, e, i, s) => {
1122
+ for (var r = s > 1 ? void 0 : s ? Yi(e, i) : e, n = t.length - 1, o; n >= 0; n--)
1126
1123
  (o = t[n]) && (r = (s ? o(e, i, r) : o(r)) || r);
1127
- return s && r && Hi(e, i, r), r;
1124
+ return s && r && Fi(e, i, r), r;
1128
1125
  }, ze = (t, e) => (i, s) => e(i, s, t);
1129
1126
  let re = class {
1130
1127
  constructor(t, e) {
@@ -1134,15 +1131,15 @@ let re = class {
1134
1131
  );
1135
1132
  }
1136
1133
  };
1137
- re = Yi([
1134
+ re = Ui([
1138
1135
  p(d.ContainerScoped),
1139
1136
  ze(0, h(R)),
1140
1137
  ze(1, h(w))
1141
1138
  ], re);
1142
- var Ui = Object.defineProperty, Zi = Object.getOwnPropertyDescriptor, Ki = (t, e, i, s) => {
1143
- for (var r = s > 1 ? void 0 : s ? Zi(e, i) : e, n = t.length - 1, o; n >= 0; n--)
1139
+ var Zi = Object.defineProperty, Ki = Object.getOwnPropertyDescriptor, Wi = (t, e, i, s) => {
1140
+ for (var r = s > 1 ? void 0 : s ? Ki(e, i) : e, n = t.length - 1, o; n >= 0; n--)
1144
1141
  (o = t[n]) && (r = (s ? o(e, i, r) : o(r)) || r);
1145
- return s && r && Ui(e, i, r), r;
1142
+ return s && r && Zi(e, i, r), r;
1146
1143
  }, Le = (t, e) => (i, s) => e(i, s, t);
1147
1144
  let ne = class {
1148
1145
  constructor(t, e) {
@@ -1181,15 +1178,15 @@ let ne = class {
1181
1178
  this._service.dispose(), this._subscriptions.forEach((t) => t.unsubscribe());
1182
1179
  }
1183
1180
  };
1184
- ne = Ki([
1181
+ ne = Wi([
1185
1182
  p(d.ContainerScoped),
1186
1183
  Le(0, h(se)),
1187
1184
  Le(1, h(re))
1188
1185
  ], ne);
1189
- var Wi = Object.defineProperty, Xi = Object.getOwnPropertyDescriptor, qi = (t, e, i, s) => {
1190
- for (var r = s > 1 ? void 0 : s ? Xi(e, i) : e, n = t.length - 1, o; n >= 0; n--)
1186
+ var Xi = Object.defineProperty, qi = Object.getOwnPropertyDescriptor, Bi = (t, e, i, s) => {
1187
+ for (var r = s > 1 ? void 0 : s ? qi(e, i) : e, n = t.length - 1, o; n >= 0; n--)
1191
1188
  (o = t[n]) && (r = (s ? o(e, i, r) : o(r)) || r);
1192
- return s && r && Wi(e, i, r), r;
1189
+ return s && r && Xi(e, i, r), r;
1193
1190
  };
1194
1191
  let U = class {
1195
1192
  constructor() {
@@ -1202,14 +1199,14 @@ let U = class {
1202
1199
  i && (this.loadedResources[e.name] = i, this.toLoadCount = s, this.loadedCount = r);
1203
1200
  }
1204
1201
  };
1205
- U = qi([
1202
+ U = Bi([
1206
1203
  p(d.ResolutionScoped)
1207
1204
  ], U);
1208
- var Bi = Object.defineProperty, Vi = Object.getOwnPropertyDescriptor, Gi = (t, e, i, s) => {
1209
- for (var r = s > 1 ? void 0 : s ? Vi(e, i) : e, n = t.length - 1, o; n >= 0; n--)
1205
+ var Vi = Object.defineProperty, Gi = Object.getOwnPropertyDescriptor, Qi = (t, e, i, s) => {
1206
+ for (var r = s > 1 ? void 0 : s ? Gi(e, i) : e, n = t.length - 1, o; n >= 0; n--)
1210
1207
  (o = t[n]) && (r = (s ? o(e, i, r) : o(r)) || r);
1211
- return s && r && Bi(e, i, r), r;
1212
- }, Qi = (t, e) => (i, s) => e(i, s, t);
1208
+ return s && r && Vi(e, i, r), r;
1209
+ }, Ji = (t, e) => (i, s) => e(i, s, t);
1213
1210
  let oe = class {
1214
1211
  constructor(t) {
1215
1212
  a(this, "load$", Je(self, "message").pipe(
@@ -1224,7 +1221,7 @@ let oe = class {
1224
1221
  const { payload: e } = t.data || {};
1225
1222
  if (((i = e == null ? void 0 : e.source) == null ? void 0 : i.type) === "gltf") {
1226
1223
  const c = e.resource, l = (s = c.animations) == null ? void 0 : s.map(
1227
- (g) => mt.parse(g)
1224
+ (g) => ft.parse(g)
1228
1225
  ), u = (r = c.cameras) == null ? void 0 : r.map(
1229
1226
  (g) => Ce(g)
1230
1227
  ), O = (n = c.scenes) == null ? void 0 : n.map(
@@ -1258,14 +1255,14 @@ let oe = class {
1258
1255
  this._service = t;
1259
1256
  }
1260
1257
  };
1261
- oe = Gi([
1258
+ oe = Qi([
1262
1259
  p(d.ContainerScoped),
1263
- Qi(0, h(U))
1260
+ Ji(0, h(U))
1264
1261
  ], oe);
1265
- var Ji = Object.defineProperty, ki = Object.getOwnPropertyDescriptor, es = (t, e, i, s) => {
1266
- for (var r = s > 1 ? void 0 : s ? ki(e, i) : e, n = t.length - 1, o; n >= 0; n--)
1262
+ var ki = Object.defineProperty, es = Object.getOwnPropertyDescriptor, ts = (t, e, i, s) => {
1263
+ for (var r = s > 1 ? void 0 : s ? es(e, i) : e, n = t.length - 1, o; n >= 0; n--)
1267
1264
  (o = t[n]) && (r = (s ? o(e, i, r) : o(r)) || r);
1268
- return s && r && Ji(e, i, r), r;
1265
+ return s && r && ki(e, i, r), r;
1269
1266
  }, Ie = (t, e) => (i, s) => e(i, s, t);
1270
1267
  let ae = class {
1271
1268
  constructor(t, e) {
@@ -1298,15 +1295,15 @@ let ae = class {
1298
1295
  this._subscriptions.forEach((t) => t.unsubscribe());
1299
1296
  }
1300
1297
  };
1301
- ae = es([
1298
+ ae = ts([
1302
1299
  p(d.ContainerScoped),
1303
1300
  Ie(0, h(oe)),
1304
1301
  Ie(1, h(U))
1305
1302
  ], ae);
1306
- var ts = Object.defineProperty, is = Object.getOwnPropertyDescriptor, ss = (t, e, i, s) => {
1307
- for (var r = s > 1 ? void 0 : s ? is(e, i) : e, n = t.length - 1, o; n >= 0; n--)
1303
+ var is = Object.defineProperty, ss = Object.getOwnPropertyDescriptor, rs = (t, e, i, s) => {
1304
+ for (var r = s > 1 ? void 0 : s ? ss(e, i) : e, n = t.length - 1, o; n >= 0; n--)
1308
1305
  (o = t[n]) && (r = (s ? o(e, i, r) : o(r)) || r);
1309
- return s && r && ts(e, i, r), r;
1306
+ return s && r && is(e, i, r), r;
1310
1307
  }, P = (t, e) => (i, s) => e(i, s, t);
1311
1308
  let he = class extends it {
1312
1309
  constructor(t, e, i, s, r, n, o, c, l) {
@@ -1351,7 +1348,7 @@ let he = class extends it {
1351
1348
  this.sizes.dispose(), this.camera.dispose(), this.world.dispose(), this.renderer.dispose(), this.timer.dispose(), this.loader.dispose(), this.debug.dispose();
1352
1349
  }
1353
1350
  };
1354
- he = ss([
1351
+ he = rs([
1355
1352
  p(d.ContainerScoped),
1356
1353
  P(0, h(H)),
1357
1354
  P(1, h(A)),
@@ -1363,11 +1360,11 @@ he = ss([
1363
1360
  P(7, h(ae)),
1364
1361
  P(8, h(ne))
1365
1362
  ], he);
1366
- var rs = st();
1367
- const _e = /* @__PURE__ */ rt(rs), ns = _e.expose;
1363
+ var ns = st();
1364
+ const _e = /* @__PURE__ */ rt(ns), os = _e.expose;
1368
1365
  _e.registerSerializer;
1369
1366
  _e.Transfer;
1370
- const cs = (t) => {
1367
+ const ls = (t) => {
1371
1368
  const e = Se.createChildContainer(), i = e.resolve(he), s = { container: e, module: i }, r = {}, n = (c) => {
1372
1369
  var z, g, pe, de, ue, me, fe;
1373
1370
  if (!((z = c.data) != null && z.canvas) && !((g = c.data) != null && g.mainThread) || i.getIsInitialized())
@@ -1399,7 +1396,7 @@ const cs = (t) => {
1399
1396
  };
1400
1397
  Se.register("MAIN_THREAD_APP", { useValue: o });
1401
1398
  try {
1402
- ns(o);
1399
+ os(o);
1403
1400
  } catch (c) {
1404
1401
  console.warn("Failed to expose the app module.", c.message);
1405
1402
  }
@@ -1407,5 +1404,5 @@ const cs = (t) => {
1407
1404
  };
1408
1405
  export {
1409
1406
  he as AppModule,
1410
- cs as launchApp
1407
+ ls as launchApp
1411
1408
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@quick-threejs/reactive",
3
- "version": "0.1.42",
3
+ "version": "0.1.44",
4
4
  "description": "Reactively quick start a three.js app ⚡️",
5
5
  "repository": {
6
6
  "type": "git",