angular-three-soba 1.1.0 → 1.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (59) hide show
  1. package/cameras/README.md +3 -0
  2. package/cameras/index.d.ts +3 -0
  3. package/cameras/lib/camera/camera-content.d.ts +13 -0
  4. package/cameras/lib/camera/camera.d.ts +19 -0
  5. package/cameras/lib/orthographic-camera/orthographic-camera.d.ts +17 -0
  6. package/cameras/lib/perspective-camera/perspective-camera.d.ts +9 -0
  7. package/esm2020/cameras/angular-three-soba-cameras.mjs +5 -0
  8. package/esm2020/cameras/index.mjs +4 -0
  9. package/esm2020/cameras/lib/camera/camera-content.mjs +20 -0
  10. package/esm2020/cameras/lib/camera/camera.mjs +74 -0
  11. package/esm2020/cameras/lib/orthographic-camera/orthographic-camera.mjs +92 -0
  12. package/esm2020/cameras/lib/perspective-camera/perspective-camera.mjs +46 -0
  13. package/esm2020/controls/lib/orbit-controls/orbit-controls.mjs +3 -3
  14. package/esm2020/loaders/lib/loader/loader.mjs +3 -3
  15. package/esm2020/misc/index.mjs +2 -1
  16. package/esm2020/misc/lib/bake-shadows/bake-shadows.mjs +3 -3
  17. package/esm2020/misc/lib/fbo/fbo.mjs +38 -0
  18. package/esm2020/performance/lib/adaptive/adaptive-dpr.mjs +3 -3
  19. package/esm2020/performance/lib/adaptive/adaptive-events.mjs +3 -3
  20. package/esm2020/performance/lib/detailed/detailed.mjs +3 -3
  21. package/esm2020/performance/lib/stats/stats.mjs +3 -3
  22. package/esm2020/staging/lib/accumulative-shadows/accumulative-shadows.mjs +20 -18
  23. package/esm2020/staging/lib/accumulative-shadows/randomized-lights.mjs +12 -9
  24. package/esm2020/staging/lib/bounds/bounds.mjs +3 -3
  25. package/esm2020/staging/lib/center/center.mjs +3 -3
  26. package/esm2020/staging/lib/contact-shadows/contact-shadows.mjs +3 -3
  27. package/esm2020/staging/lib/environment/environment-cube.mjs +3 -3
  28. package/esm2020/staging/lib/environment/environment-ground.mjs +3 -3
  29. package/esm2020/staging/lib/environment/environment-inputs.mjs +3 -3
  30. package/esm2020/staging/lib/environment/environment-map.mjs +3 -3
  31. package/esm2020/staging/lib/environment/environment-portal.mjs +3 -3
  32. package/esm2020/staging/lib/environment/environment.mjs +6 -6
  33. package/esm2020/staging/lib/float/float.mjs +3 -3
  34. package/esm2020/staging/lib/sky/sky.mjs +3 -3
  35. package/esm2020/staging/lib/sparkles/sparkles.mjs +3 -3
  36. package/esm2020/staging/lib/stage/stage.mjs +6 -6
  37. package/esm2020/staging/lib/stars/stars.mjs +3 -3
  38. package/fesm2015/angular-three-soba-cameras.mjs +224 -0
  39. package/fesm2015/angular-three-soba-cameras.mjs.map +1 -0
  40. package/fesm2015/angular-three-soba-controls.mjs +3 -3
  41. package/fesm2015/angular-three-soba-loaders.mjs +3 -3
  42. package/fesm2015/angular-three-soba-misc.mjs +37 -5
  43. package/fesm2015/angular-three-soba-misc.mjs.map +1 -1
  44. package/fesm2015/angular-three-soba-performance.mjs +12 -12
  45. package/fesm2015/angular-three-soba-staging.mjs +77 -72
  46. package/fesm2015/angular-three-soba-staging.mjs.map +1 -1
  47. package/fesm2020/angular-three-soba-cameras.mjs +224 -0
  48. package/fesm2020/angular-three-soba-cameras.mjs.map +1 -0
  49. package/fesm2020/angular-three-soba-controls.mjs +3 -3
  50. package/fesm2020/angular-three-soba-loaders.mjs +3 -3
  51. package/fesm2020/angular-three-soba-misc.mjs +41 -5
  52. package/fesm2020/angular-three-soba-misc.mjs.map +1 -1
  53. package/fesm2020/angular-three-soba-performance.mjs +12 -12
  54. package/fesm2020/angular-three-soba-staging.mjs +77 -72
  55. package/fesm2020/angular-three-soba-staging.mjs.map +1 -1
  56. package/misc/index.d.ts +1 -0
  57. package/misc/lib/fbo/fbo.d.ts +13 -0
  58. package/package.json +10 -2
  59. package/plugin/package.json +1 -1
@@ -1,8 +1,8 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { InjectionToken, inject, Directive, Component, CUSTOM_ELEMENTS_SCHEMA, Input, EventEmitter, Output, TemplateRef, ContentChild, ChangeDetectorRef } from '@angular/core';
3
- import { extend, NgtStore, getLocalState, injectBeforeRender, NgtRxStore, injectNgtRef, is, NgtPush, NgtArgs, injectNgtDestroy, injectNgtLoader, startWithUndefined, prepare, NgtPortal, NgtPortalContent } from 'angular-three';
3
+ import { extend, NgtStore, getLocalState, NgtRxStore, injectNgtRef, NgtArgs, NgtRepeat, is, injectBeforeRender, NgtPush, injectNgtDestroy, injectNgtLoader, startWithUndefined, prepare, NgtPortal, NgtPortalContent } from 'angular-three';
4
4
  import { shaderMaterial } from 'angular-three-soba/shaders';
5
- import { combineLatest, switchMap, isObservable, of, debounceTime, map, takeUntil, startWith, withLatestFrom } from 'rxjs';
5
+ import { Subject, combineLatest, switchMap, isObservable, of, debounceTime, map, takeUntil, startWith, withLatestFrom } from 'rxjs';
6
6
  import * as THREE from 'three';
7
7
  import { Group, Mesh, PlaneGeometry, DirectionalLight, OrthographicCamera, Vector2, Box3, Vector3, Sphere, MeshBasicMaterial, CubeTextureLoader, CubeReflectionMapping, EquirectangularReflectionMapping, sRGBEncoding, LinearEncoding, CubeCamera, HalfFloatType, Points, BufferGeometry, BufferAttribute, Vector4, Color, MathUtils, AmbientLight, SpotLight, PointLight, Spherical, AdditiveBlending } from 'three';
8
8
  import { NgIf, NgTemplateOutlet } from '@angular/common';
@@ -126,7 +126,7 @@ const SoftShadowMaterial = shaderMaterial({
126
126
  `
127
127
  varying vec2 vUv;
128
128
  void main() {
129
- gl_Position = projectionMatrix * viewMatrix * modeLMatrix * vec4(position, 1.);
129
+ gl_Position = projectionMatrix * viewMatrix * modelMatrix * vec4(position, 1.);
130
130
  vUv = uv;
131
131
  }
132
132
  `,
@@ -139,7 +139,7 @@ uniform float blend;
139
139
  uniform float opacity;
140
140
  uniform float alphaTest;
141
141
  void main() {
142
- vec4 sampleDiffuseColor = texture2D(map, vUv):
142
+ vec4 sampledDiffuseColor = texture2D(map, vUv);
143
143
  gl_FragColor = vec4(color * sampledDiffuseColor.r * blend, max(0.0, (1.0 - (sampledDiffuseColor.r + sampledDiffuseColor.g + sampledDiffuseColor.b) / alphaTest)) * opacity);
144
144
  #include <tonemapping_fragment>
145
145
  #include <encodings_fragment>
@@ -199,6 +199,7 @@ function accumulativeShadowsApiFactory(accumulativeShadows) {
199
199
  : accumulativeShadows.get('frames')),
200
200
  },
201
201
  });
202
+ const subject = new Subject();
202
203
  accumulativeShadows.hold(accumulativeShadows.meshRef.$, (mesh) => {
203
204
  accumulativeShadows.pLM.configure(mesh);
204
205
  accumulativeShadows.hold(combineLatest([accumulativeShadows.select(), getLocalState(store.get('scene')).objects]), () => {
@@ -208,13 +209,14 @@ function accumulativeShadowsApiFactory(accumulativeShadows) {
208
209
  if (!api.temporal && api.frames !== Infinity)
209
210
  api.update(api.blend);
210
211
  });
211
- });
212
- injectBeforeRender(() => {
213
- const limit = accumulativeShadows.get('limit');
214
- if (api.getMesh() && (api.temporal || api.frames === Infinity) && api.count < api.frames && api.count < limit) {
215
- api.update();
216
- api.count++;
217
- }
212
+ accumulativeShadows.effect(subject, () => store.get('internal').subscribe(() => {
213
+ const limit = accumulativeShadows.get('limit');
214
+ if ((api.temporal || api.frames === Infinity) && api.count < api.frames && api.count < limit) {
215
+ api.update();
216
+ api.count++;
217
+ }
218
+ }));
219
+ subject.next();
218
220
  });
219
221
  return api;
220
222
  }
@@ -223,9 +225,9 @@ class AccumulativeShadowsConsumer {
223
225
  inject(NGTS_ACCUMULATIVE_SHADOWS_API);
224
226
  }
225
227
  }
226
- AccumulativeShadowsConsumer.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: AccumulativeShadowsConsumer, deps: [], target: i0.ɵɵFactoryTarget.Directive });
227
- AccumulativeShadowsConsumer.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.1.2", type: AccumulativeShadowsConsumer, isStandalone: true, selector: "ngts-accumulative-shadows-consumer", ngImport: i0 });
228
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: AccumulativeShadowsConsumer, decorators: [{
228
+ AccumulativeShadowsConsumer.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: AccumulativeShadowsConsumer, deps: [], target: i0.ɵɵFactoryTarget.Directive });
229
+ AccumulativeShadowsConsumer.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.1.3", type: AccumulativeShadowsConsumer, isStandalone: true, selector: "ngts-accumulative-shadows-consumer", ngImport: i0 });
230
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: AccumulativeShadowsConsumer, decorators: [{
229
231
  type: Directive,
230
232
  args: [{ selector: 'ngts-accumulative-shadows-consumer', standalone: true }]
231
233
  }], ctorParameters: function () { return []; } });
@@ -299,8 +301,8 @@ class NgtsAccumulativeShadows extends NgtRxStore {
299
301
  });
300
302
  }
301
303
  }
302
- NgtsAccumulativeShadows.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: NgtsAccumulativeShadows, deps: null, target: i0.ɵɵFactoryTarget.Component });
303
- NgtsAccumulativeShadows.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.2", type: NgtsAccumulativeShadows, isStandalone: true, selector: "ngts-accumulative-shadows", inputs: { frames: "frames", blend: "blend", limit: "limit", scale: "scale", temporal: "temporal", opacity: "opacity", alphaTest: "alphaTest", color: "color", colorBlend: "colorBlend", resolution: "resolution", toneMapped: "toneMapped" }, providers: [
304
+ NgtsAccumulativeShadows.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: NgtsAccumulativeShadows, deps: null, target: i0.ɵɵFactoryTarget.Component });
305
+ NgtsAccumulativeShadows.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.3", type: NgtsAccumulativeShadows, isStandalone: true, selector: "ngts-accumulative-shadows", inputs: { frames: "frames", blend: "blend", limit: "limit", scale: "scale", temporal: "temporal", opacity: "opacity", alphaTest: "alphaTest", color: "color", colorBlend: "colorBlend", resolution: "resolution", toneMapped: "toneMapped" }, providers: [
304
306
  {
305
307
  provide: NGTS_ACCUMULATIVE_SHADOWS_API,
306
308
  useFactory: accumulativeShadowsApiFactory,
@@ -325,7 +327,7 @@ NgtsAccumulativeShadows.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0"
325
327
  </ngt-mesh>
326
328
  </ngt-group>
327
329
  `, isInline: true, dependencies: [{ kind: "directive", type: AccumulativeShadowsConsumer, selector: "ngts-accumulative-shadows-consumer" }] });
328
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: NgtsAccumulativeShadows, decorators: [{
330
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: NgtsAccumulativeShadows, decorators: [{
329
331
  type: Component,
330
332
  args: [{
331
333
  selector: 'ngts-accumulative-shadows',
@@ -425,9 +427,9 @@ class RandomizedLightsConsumer {
425
427
  inject(NGTS_RANDOMIZED_LIGHTS_API);
426
428
  }
427
429
  }
428
- RandomizedLightsConsumer.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: RandomizedLightsConsumer, deps: [], target: i0.ɵɵFactoryTarget.Directive });
429
- RandomizedLightsConsumer.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.1.2", type: RandomizedLightsConsumer, isStandalone: true, selector: "ngts-randomized-lights-consumer", ngImport: i0 });
430
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: RandomizedLightsConsumer, decorators: [{
430
+ RandomizedLightsConsumer.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: RandomizedLightsConsumer, deps: [], target: i0.ɵɵFactoryTarget.Directive });
431
+ RandomizedLightsConsumer.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.1.3", type: RandomizedLightsConsumer, isStandalone: true, selector: "ngts-randomized-lights-consumer", ngImport: i0 });
432
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: RandomizedLightsConsumer, decorators: [{
431
433
  type: Directive,
432
434
  args: [{ selector: 'ngts-randomized-lights-consumer', standalone: true }]
433
435
  }], ctorParameters: function () { return []; } });
@@ -505,8 +507,8 @@ class NgtsRandomizedLights extends NgtRxStore {
505
507
  this.connect('length', this.select(['position'], ({ position }) => new THREE.Vector3(...position).length()));
506
508
  }
507
509
  }
508
- NgtsRandomizedLights.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: NgtsRandomizedLights, deps: null, target: i0.ɵɵFactoryTarget.Component });
509
- NgtsRandomizedLights.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.2", type: NgtsRandomizedLights, isStandalone: true, selector: "ngts-randomized-lights", inputs: { lightsRef: "lightsRef", frames: "frames", position: "position", radius: "radius", amount: "amount", intensity: "intensity", ambient: "ambient", castShadow: "castShadow", bias: "bias", mapSize: "mapSize", size: "size", near: "near", far: "far" }, providers: [
510
+ NgtsRandomizedLights.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: NgtsRandomizedLights, deps: null, target: i0.ɵɵFactoryTarget.Component });
511
+ NgtsRandomizedLights.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.3", type: NgtsRandomizedLights, isStandalone: true, selector: "ngts-randomized-lights", inputs: { lightsRef: "lightsRef", frames: "frames", position: "position", radius: "radius", amount: "amount", intensity: "intensity", ambient: "ambient", castShadow: "castShadow", bias: "bias", mapSize: "mapSize", size: "size", near: "near", far: "far" }, providers: [
510
512
  { provide: NGTS_RANDOMIZED_LIGHTS_API, useFactory: randomizedLightsApiFactory, deps: [NgtsRandomizedLights] },
511
513
  ], usesInheritance: true, ngImport: i0, template: `
512
514
  <ngt-group ngtCompound [ref]="lightsRef">
@@ -519,9 +521,10 @@ NgtsRandomizedLights.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", v
519
521
  <ngt-vector2 *args="[get('mapSize'), get('mapSize')]" attach="shadow.mapSize" />
520
522
  <ngt-orthographic-camera *args="get('cameraArgs')" attach="shadow.camera" />
521
523
  </ngt-directional-light>
524
+ <ngts-randomized-lights-consumer />
522
525
  </ngt-group>
523
- `, isInline: true });
524
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: NgtsRandomizedLights, decorators: [{
526
+ `, isInline: true, dependencies: [{ kind: "directive", type: RandomizedLightsConsumer, selector: "ngts-randomized-lights-consumer" }, { kind: "directive", type: NgtArgs, selector: "[args]", inputs: ["args"] }, { kind: "directive", type: NgtRepeat, selector: "[ngFor][ngForRepeat]", inputs: ["ngForRepeat"] }] });
527
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: NgtsRandomizedLights, decorators: [{
525
528
  type: Component,
526
529
  args: [{
527
530
  selector: 'ngts-randomized-lights',
@@ -537,8 +540,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImpor
537
540
  <ngt-vector2 *args="[get('mapSize'), get('mapSize')]" attach="shadow.mapSize" />
538
541
  <ngt-orthographic-camera *args="get('cameraArgs')" attach="shadow.camera" />
539
542
  </ngt-directional-light>
543
+ <ngts-randomized-lights-consumer />
540
544
  </ngt-group>
541
545
  `,
546
+ imports: [RandomizedLightsConsumer, NgtArgs, NgtRepeat],
542
547
  providers: [
543
548
  { provide: NGTS_RANDOMIZED_LIGHTS_API, useFactory: randomizedLightsApiFactory, deps: [NgtsRandomizedLights] },
544
549
  ],
@@ -812,13 +817,13 @@ class NgtsBounds extends NgtRxStore {
812
817
  });
813
818
  }
814
819
  }
815
- NgtsBounds.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: NgtsBounds, deps: null, target: i0.ɵɵFactoryTarget.Component });
816
- NgtsBounds.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.2", type: NgtsBounds, isStandalone: true, selector: "ngts-bounds", inputs: { boundsRef: "boundsRef", damping: "damping", fit: "fit", clip: "clip", observe: "observe", margin: "margin", eps: "eps" }, outputs: { fitted: "fitted" }, providers: [{ provide: NGTS_BOUNDS_API, useFactory: boundsApiFactory, deps: [NgtsBounds] }], usesInheritance: true, ngImport: i0, template: `
820
+ NgtsBounds.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: NgtsBounds, deps: null, target: i0.ɵɵFactoryTarget.Component });
821
+ NgtsBounds.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.3", type: NgtsBounds, isStandalone: true, selector: "ngts-bounds", inputs: { boundsRef: "boundsRef", damping: "damping", fit: "fit", clip: "clip", observe: "observe", margin: "margin", eps: "eps" }, outputs: { fitted: "fitted" }, providers: [{ provide: NGTS_BOUNDS_API, useFactory: boundsApiFactory, deps: [NgtsBounds] }], usesInheritance: true, ngImport: i0, template: `
817
822
  <ngt-group ngtCompound [ref]="boundsRef">
818
823
  <ng-content />
819
824
  </ngt-group>
820
825
  `, isInline: true });
821
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: NgtsBounds, decorators: [{
826
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: NgtsBounds, decorators: [{
822
827
  type: Component,
823
828
  args: [{
824
829
  selector: 'ngts-bounds',
@@ -932,8 +937,8 @@ class NgtsCenter extends NgtRxStore {
932
937
  });
933
938
  }
934
939
  }
935
- NgtsCenter.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: NgtsCenter, deps: null, target: i0.ɵɵFactoryTarget.Component });
936
- NgtsCenter.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.2", type: NgtsCenter, isStandalone: true, selector: "ngts-center", inputs: { centerRef: "centerRef", top: "top", right: "right", bottom: "bottom", left: "left", front: "front", back: "back", disableX: "disableX", disableY: "disableY", disableZ: "disableZ", disabled: "disabled", precise: "precise" }, outputs: { centered: "centered" }, usesInheritance: true, ngImport: i0, template: `
940
+ NgtsCenter.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: NgtsCenter, deps: null, target: i0.ɵɵFactoryTarget.Component });
941
+ NgtsCenter.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.3", type: NgtsCenter, isStandalone: true, selector: "ngts-center", inputs: { centerRef: "centerRef", top: "top", right: "right", bottom: "bottom", left: "left", front: "front", back: "back", disableX: "disableX", disableY: "disableY", disableZ: "disableZ", disabled: "disabled", precise: "precise" }, outputs: { centered: "centered" }, usesInheritance: true, ngImport: i0, template: `
937
942
  <ngt-group ngtCompound [ref]="centerRef">
938
943
  <ngt-group [ref]="outerRef">
939
944
  <ngt-group [ref]="innerRef">
@@ -942,7 +947,7 @@ NgtsCenter.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "1
942
947
  </ngt-group>
943
948
  </ngt-group>
944
949
  `, isInline: true });
945
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: NgtsCenter, decorators: [{
950
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: NgtsCenter, decorators: [{
946
951
  type: Component,
947
952
  args: [{
948
953
  selector: 'ngts-center',
@@ -1125,8 +1130,8 @@ class NgtsContactShadows extends NgtRxStore {
1125
1130
  blurPlane.visible = false;
1126
1131
  }
1127
1132
  }
1128
- NgtsContactShadows.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: NgtsContactShadows, deps: [], target: i0.ɵɵFactoryTarget.Component });
1129
- NgtsContactShadows.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.2", type: NgtsContactShadows, isStandalone: true, selector: "ngts-contact-shadows", inputs: { contactShadowsRef: "contactShadowsRef", opacity: "opacity", width: "width", height: "height", blur: "blur", far: "far", smooth: "smooth", resolution: "resolution", frames: "frames", scale: "scale", color: "color", depthWrite: "depthWrite", renderOrder: "renderOrder" }, usesInheritance: true, ngImport: i0, template: `
1133
+ NgtsContactShadows.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: NgtsContactShadows, deps: [], target: i0.ɵɵFactoryTarget.Component });
1134
+ NgtsContactShadows.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.3", type: NgtsContactShadows, isStandalone: true, selector: "ngts-contact-shadows", inputs: { contactShadowsRef: "contactShadowsRef", opacity: "opacity", width: "width", height: "height", blur: "blur", far: "far", smooth: "smooth", resolution: "resolution", frames: "frames", scale: "scale", color: "color", depthWrite: "depthWrite", renderOrder: "renderOrder" }, usesInheritance: true, ngImport: i0, template: `
1130
1135
  <ngt-group ngtCompound [ref]="contactShadowsRef" [rotation]="[Math.PI / 2, 0, 0]">
1131
1136
  <ng-container *ngIf="contactShadows$ | ngtPush : null as contactShadows">
1132
1137
  <ngt-mesh
@@ -1148,7 +1153,7 @@ NgtsContactShadows.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", ver
1148
1153
  </ng-container>
1149
1154
  </ngt-group>
1150
1155
  `, isInline: true, dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: NgtPush, name: "ngtPush" }, { kind: "directive", type: NgtArgs, selector: "[args]", inputs: ["args"] }] });
1151
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: NgtsContactShadows, decorators: [{
1156
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: NgtsContactShadows, decorators: [{
1152
1157
  type: Component,
1153
1158
  args: [{
1154
1159
  selector: 'ngts-contact-shadows',
@@ -1267,9 +1272,9 @@ class NgtsEnvironmentInputs extends NgtRxStore {
1267
1272
  this.set({ encoding });
1268
1273
  }
1269
1274
  }
1270
- NgtsEnvironmentInputs.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: NgtsEnvironmentInputs, deps: null, target: i0.ɵɵFactoryTarget.Directive });
1271
- NgtsEnvironmentInputs.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.1.2", type: NgtsEnvironmentInputs, inputs: { frames: "frames", near: "near", far: "far", resolution: "resolution", background: "background", blur: "blur", map: "map", files: "files", path: "path", preset: "preset", scene: "scene", extensions: "extensions", ground: "ground", encoding: "encoding" }, usesInheritance: true, ngImport: i0 });
1272
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: NgtsEnvironmentInputs, decorators: [{
1275
+ NgtsEnvironmentInputs.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: NgtsEnvironmentInputs, deps: null, target: i0.ɵɵFactoryTarget.Directive });
1276
+ NgtsEnvironmentInputs.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.1.3", type: NgtsEnvironmentInputs, inputs: { frames: "frames", near: "near", far: "far", resolution: "resolution", background: "background", blur: "blur", map: "map", files: "files", path: "path", preset: "preset", scene: "scene", extensions: "extensions", ground: "ground", encoding: "encoding" }, usesInheritance: true, ngImport: i0 });
1277
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: NgtsEnvironmentInputs, decorators: [{
1273
1278
  type: Directive
1274
1279
  }], propDecorators: { frames: [{
1275
1280
  type: Input
@@ -1390,9 +1395,9 @@ class NgtsEnvironmentCube extends NgtsEnvironmentInputs {
1390
1395
  });
1391
1396
  }
1392
1397
  }
1393
- NgtsEnvironmentCube.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: NgtsEnvironmentCube, deps: null, target: i0.ɵɵFactoryTarget.Directive });
1394
- NgtsEnvironmentCube.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.1.2", type: NgtsEnvironmentCube, isStandalone: true, selector: "ngts-environment-cube", usesInheritance: true, ngImport: i0 });
1395
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: NgtsEnvironmentCube, decorators: [{
1398
+ NgtsEnvironmentCube.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: NgtsEnvironmentCube, deps: null, target: i0.ɵɵFactoryTarget.Directive });
1399
+ NgtsEnvironmentCube.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.1.3", type: NgtsEnvironmentCube, isStandalone: true, selector: "ngts-environment-cube", usesInheritance: true, ngImport: i0 });
1400
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: NgtsEnvironmentCube, decorators: [{
1396
1401
  type: Directive,
1397
1402
  args: [{
1398
1403
  selector: 'ngts-environment-cube',
@@ -1422,9 +1427,9 @@ class NgtsEnvironmentMap extends NgtsEnvironmentInputs {
1422
1427
  });
1423
1428
  }
1424
1429
  }
1425
- NgtsEnvironmentMap.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: NgtsEnvironmentMap, deps: null, target: i0.ɵɵFactoryTarget.Directive });
1426
- NgtsEnvironmentMap.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.1.2", type: NgtsEnvironmentMap, isStandalone: true, selector: "ngts-environment-map", usesInheritance: true, ngImport: i0 });
1427
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: NgtsEnvironmentMap, decorators: [{
1430
+ NgtsEnvironmentMap.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: NgtsEnvironmentMap, deps: null, target: i0.ɵɵFactoryTarget.Directive });
1431
+ NgtsEnvironmentMap.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.1.3", type: NgtsEnvironmentMap, isStandalone: true, selector: "ngts-environment-map", usesInheritance: true, ngImport: i0 });
1432
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: NgtsEnvironmentMap, decorators: [{
1428
1433
  type: Directive,
1429
1434
  args: [{
1430
1435
  selector: 'ngts-environment-map',
@@ -1446,8 +1451,8 @@ class NgtsEnvironmentGround extends NgtsEnvironmentInputs {
1446
1451
  this.connect('groundScale', this.select(['ground'], ({ ground }) => ground?.scale ?? 1000));
1447
1452
  }
1448
1453
  }
1449
- NgtsEnvironmentGround.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: NgtsEnvironmentGround, deps: null, target: i0.ɵɵFactoryTarget.Component });
1450
- NgtsEnvironmentGround.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.2", type: NgtsEnvironmentGround, isStandalone: true, selector: "ngts-environment-ground", usesInheritance: true, ngImport: i0, template: `
1454
+ NgtsEnvironmentGround.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: NgtsEnvironmentGround, deps: null, target: i0.ɵɵFactoryTarget.Component });
1455
+ NgtsEnvironmentGround.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.3", type: NgtsEnvironmentGround, isStandalone: true, selector: "ngts-environment-ground", usesInheritance: true, ngImport: i0, template: `
1451
1456
  <ngts-environment-map
1452
1457
  [background]="get('background')"
1453
1458
  [blur]="get('blur')"
@@ -1463,7 +1468,7 @@ NgtsEnvironmentGround.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0",
1463
1468
  />
1464
1469
  </ng-container>
1465
1470
  `, isInline: true, dependencies: [{ kind: "directive", type: NgtsEnvironmentMap, selector: "ngts-environment-map" }, { kind: "directive", type: NgtArgs, selector: "[args]", inputs: ["args"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
1466
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: NgtsEnvironmentGround, decorators: [{
1471
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: NgtsEnvironmentGround, decorators: [{
1467
1472
  type: Component,
1468
1473
  args: [{
1469
1474
  selector: 'ngts-environment-ground',
@@ -1537,8 +1542,8 @@ class NgtsEnvironmentPortal extends NgtsEnvironmentInputs {
1537
1542
  }
1538
1543
  }
1539
1544
  }
1540
- NgtsEnvironmentPortal.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: NgtsEnvironmentPortal, deps: [], target: i0.ɵɵFactoryTarget.Component });
1541
- NgtsEnvironmentPortal.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.2", type: NgtsEnvironmentPortal, isStandalone: true, selector: "ngts-environment-portal", usesInheritance: true, ngImport: i0, template: `
1545
+ NgtsEnvironmentPortal.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: NgtsEnvironmentPortal, deps: [], target: i0.ɵɵFactoryTarget.Component });
1546
+ NgtsEnvironmentPortal.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.3", type: NgtsEnvironmentPortal, isStandalone: true, selector: "ngts-environment-portal", usesInheritance: true, ngImport: i0, template: `
1542
1547
  <ngt-portal [container]="virtualSceneRef">
1543
1548
  <ng-template ngtPortalContent>
1544
1549
  <ng-content />
@@ -1558,7 +1563,7 @@ NgtsEnvironmentPortal.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0",
1558
1563
  </ng-template>
1559
1564
  </ngt-portal>
1560
1565
  `, isInline: true, dependencies: [{ kind: "component", type: NgtPortal, selector: "ngt-portal", inputs: ["container", "state", "autoRender", "autoRenderPriority"], outputs: ["beforeRender"] }, { kind: "directive", type: NgtPortalContent, selector: "ng-template[ngtPortalContent]" }, { kind: "directive", type: NgtsEnvironmentMap, selector: "ngts-environment-map" }, { kind: "directive", type: NgtsEnvironmentCube, selector: "ngts-environment-cube" }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgtArgs, selector: "[args]", inputs: ["args"] }] });
1561
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: NgtsEnvironmentPortal, decorators: [{
1566
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: NgtsEnvironmentPortal, decorators: [{
1562
1567
  type: Component,
1563
1568
  args: [{
1564
1569
  selector: 'ngts-environment-portal',
@@ -1590,16 +1595,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImpor
1590
1595
 
1591
1596
  class NgtsEnvironmentContent {
1592
1597
  }
1593
- NgtsEnvironmentContent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: NgtsEnvironmentContent, deps: [], target: i0.ɵɵFactoryTarget.Directive });
1594
- NgtsEnvironmentContent.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.1.2", type: NgtsEnvironmentContent, isStandalone: true, selector: "ng-template[ngtsEnvironmentContent]", ngImport: i0 });
1595
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: NgtsEnvironmentContent, decorators: [{
1598
+ NgtsEnvironmentContent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: NgtsEnvironmentContent, deps: [], target: i0.ɵɵFactoryTarget.Directive });
1599
+ NgtsEnvironmentContent.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.1.3", type: NgtsEnvironmentContent, isStandalone: true, selector: "ng-template[ngtsEnvironmentContent]", ngImport: i0 });
1600
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: NgtsEnvironmentContent, decorators: [{
1596
1601
  type: Directive,
1597
1602
  args: [{ selector: 'ng-template[ngtsEnvironmentContent]', standalone: true }]
1598
1603
  }] });
1599
1604
  class NgtsEnvironment extends NgtsEnvironmentInputs {
1600
1605
  }
1601
- NgtsEnvironment.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: NgtsEnvironment, deps: null, target: i0.ɵɵFactoryTarget.Component });
1602
- NgtsEnvironment.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.2", type: NgtsEnvironment, isStandalone: true, selector: "ngts-environment", queries: [{ propertyName: "content", first: true, predicate: NgtsEnvironmentContent, descendants: true, read: TemplateRef }], usesInheritance: true, ngImport: i0, template: `
1606
+ NgtsEnvironment.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: NgtsEnvironment, deps: null, target: i0.ɵɵFactoryTarget.Component });
1607
+ NgtsEnvironment.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.3", type: NgtsEnvironment, isStandalone: true, selector: "ngts-environment", queries: [{ propertyName: "content", first: true, predicate: NgtsEnvironmentContent, descendants: true, read: TemplateRef }], usesInheritance: true, ngImport: i0, template: `
1603
1608
  <ngts-environment-ground
1604
1609
  *ngIf="get('ground'); else noGround"
1605
1610
  [ground]="get('ground')"
@@ -1661,7 +1666,7 @@ NgtsEnvironment.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", versio
1661
1666
  </ng-template>
1662
1667
  </ng-template>
1663
1668
  `, isInline: true, dependencies: [{ kind: "directive", type: NgtsEnvironmentMap, selector: "ngts-environment-map" }, { kind: "component", type: NgtsEnvironmentGround, selector: "ngts-environment-ground" }, { kind: "directive", type: NgtsEnvironmentCube, selector: "ngts-environment-cube" }, { kind: "component", type: NgtsEnvironmentPortal, selector: "ngts-environment-portal" }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] });
1664
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: NgtsEnvironment, decorators: [{
1669
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: NgtsEnvironment, decorators: [{
1665
1670
  type: Component,
1666
1671
  args: [{
1667
1672
  selector: 'ngts-environment',
@@ -1780,15 +1785,15 @@ class NgtsFloat extends NgtRxStore {
1780
1785
  this.floatRef.nativeElement.position.y = yPosition * floatIntensity;
1781
1786
  }
1782
1787
  }
1783
- NgtsFloat.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: NgtsFloat, deps: [], target: i0.ɵɵFactoryTarget.Component });
1784
- NgtsFloat.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.2", type: NgtsFloat, isStandalone: true, selector: "ngts-float", inputs: { floatRef: "floatRef", speed: "speed", rotationIntensity: "rotationIntensity", floatIntensity: "floatIntensity", floatingRange: "floatingRange" }, usesInheritance: true, ngImport: i0, template: `
1788
+ NgtsFloat.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: NgtsFloat, deps: [], target: i0.ɵɵFactoryTarget.Component });
1789
+ NgtsFloat.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.3", type: NgtsFloat, isStandalone: true, selector: "ngts-float", inputs: { floatRef: "floatRef", speed: "speed", rotationIntensity: "rotationIntensity", floatIntensity: "floatIntensity", floatingRange: "floatingRange" }, usesInheritance: true, ngImport: i0, template: `
1785
1790
  <ngt-group ngtCompound>
1786
1791
  <ngt-group [ref]="floatRef">
1787
1792
  <ng-content />
1788
1793
  </ngt-group>
1789
1794
  </ngt-group>
1790
1795
  `, isInline: true });
1791
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: NgtsFloat, decorators: [{
1796
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: NgtsFloat, decorators: [{
1792
1797
  type: Component,
1793
1798
  args: [{
1794
1799
  selector: 'ngts-float',
@@ -1873,8 +1878,8 @@ class NgtsSky extends NgtRxStore {
1873
1878
  this.skyRef.nativeElement = new Sky();
1874
1879
  }
1875
1880
  }
1876
- NgtsSky.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: NgtsSky, deps: null, target: i0.ɵɵFactoryTarget.Component });
1877
- NgtsSky.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.2", type: NgtsSky, isStandalone: true, selector: "ngts-sky", inputs: { skyRef: "skyRef", distance: "distance", sunPosition: "sunPosition", inclination: "inclination", azimuth: "azimuth", mieCoefficient: "mieCoefficient", mieDirectionalG: "mieDirectionalG", rayleigh: "rayleigh", turbidity: "turbidity" }, usesInheritance: true, ngImport: i0, template: `
1881
+ NgtsSky.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: NgtsSky, deps: null, target: i0.ɵɵFactoryTarget.Component });
1882
+ NgtsSky.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.3", type: NgtsSky, isStandalone: true, selector: "ngts-sky", inputs: { skyRef: "skyRef", distance: "distance", sunPosition: "sunPosition", inclination: "inclination", azimuth: "azimuth", mieCoefficient: "mieCoefficient", mieDirectionalG: "mieDirectionalG", rayleigh: "rayleigh", turbidity: "turbidity" }, usesInheritance: true, ngImport: i0, template: `
1878
1883
  <ngt-primitive *args="[skyRef.nativeElement]" ngtCompound [ref]="skyRef" [scale]="get('scale')">
1879
1884
  <ngt-value [rawValue]="get('mieCoefficient')" attach="material.uniforms.mieCoefficient.value" />
1880
1885
  <ngt-value [rawValue]="get('mieDirectionalG')" attach="material.uniforms.mieDirectionalG.value" />
@@ -1883,7 +1888,7 @@ NgtsSky.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1
1883
1888
  <ngt-value [rawValue]="get('turbidity')" attach="material.uniforms.turbidity.value" />
1884
1889
  </ngt-primitive>
1885
1890
  `, isInline: true, dependencies: [{ kind: "directive", type: NgtArgs, selector: "[args]", inputs: ["args"] }] });
1886
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: NgtsSky, decorators: [{
1891
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: NgtsSky, decorators: [{
1887
1892
  type: Component,
1888
1893
  args: [{
1889
1894
  selector: 'ngts-sky',
@@ -2070,8 +2075,8 @@ class NgtsSparkles extends NgtRxStore {
2070
2075
  return this.select(key).pipe(startWith(this.get(key) || undefined), withLatestFrom(this.select('count')), map(([value, count]) => usePropAsIsOrAsAttribute(options.countValue(value, count), options.keyValue(value, count), options?.setDefault)));
2071
2076
  }
2072
2077
  }
2073
- NgtsSparkles.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: NgtsSparkles, deps: [], target: i0.ɵɵFactoryTarget.Component });
2074
- NgtsSparkles.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.2", type: NgtsSparkles, isStandalone: true, selector: "ngts-sparkles", inputs: { pointsRef: "pointsRef", count: "count", speed: "speed", opacity: "opacity", color: "color", size: "size", scale: "scale", noise: "noise" }, usesInheritance: true, ngImport: i0, template: `
2078
+ NgtsSparkles.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: NgtsSparkles, deps: [], target: i0.ɵɵFactoryTarget.Component });
2079
+ NgtsSparkles.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.3", type: NgtsSparkles, isStandalone: true, selector: "ngts-sparkles", inputs: { pointsRef: "pointsRef", count: "count", speed: "speed", opacity: "opacity", color: "color", size: "size", scale: "scale", noise: "noise" }, usesInheritance: true, ngImport: i0, template: `
2075
2080
  <ngt-points ngtCompount [ref]="pointsRef">
2076
2081
  <ngt-buffer-geometry>
2077
2082
  <ngt-buffer-attribute *args="[get('positions'), 3]" attach="attributes.position" />
@@ -2084,7 +2089,7 @@ NgtsSparkles.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version:
2084
2089
  <ngt-sparkles-material [ref]="materialRef" [transparent]="true" [depthWrite]="false" [pixelRatio]="dpr" />
2085
2090
  </ngt-points>
2086
2091
  `, isInline: true, dependencies: [{ kind: "directive", type: NgtArgs, selector: "[args]", inputs: ["args"] }] });
2087
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: NgtsSparkles, decorators: [{
2092
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: NgtsSparkles, decorators: [{
2088
2093
  type: Component,
2089
2094
  args: [{
2090
2095
  selector: 'ngts-sparkles',
@@ -2153,9 +2158,9 @@ class NgtsStageRefit {
2153
2158
  }
2154
2159
  }
2155
2160
  }
2156
- NgtsStageRefit.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: NgtsStageRefit, deps: [], target: i0.ɵɵFactoryTarget.Directive });
2157
- NgtsStageRefit.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.1.2", type: NgtsStageRefit, isStandalone: true, selector: "ngts-stage-refit", inputs: { radius: "radius", adjustCamera: "adjustCamera" }, usesOnChanges: true, ngImport: i0 });
2158
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: NgtsStageRefit, decorators: [{
2161
+ NgtsStageRefit.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: NgtsStageRefit, deps: [], target: i0.ɵɵFactoryTarget.Directive });
2162
+ NgtsStageRefit.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.1.3", type: NgtsStageRefit, isStandalone: true, selector: "ngts-stage-refit", inputs: { radius: "radius", adjustCamera: "adjustCamera" }, usesOnChanges: true, ngImport: i0 });
2163
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: NgtsStageRefit, decorators: [{
2159
2164
  type: Directive,
2160
2165
  args: [{
2161
2166
  selector: 'ngts-stage-refit',
@@ -2243,8 +2248,8 @@ class NgtsStage extends NgtRxStore {
2243
2248
  this.centered.emit(props);
2244
2249
  }
2245
2250
  }
2246
- NgtsStage.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: NgtsStage, deps: null, target: i0.ɵɵFactoryTarget.Component });
2247
- NgtsStage.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.2", type: NgtsStage, isStandalone: true, selector: "ngts-stage", inputs: { preset: "preset", shadows: "shadows", adjustCamera: "adjustCamera", environment: "environment", intensity: "intensity", center: "center" }, outputs: { centered: "centered" }, usesInheritance: true, ngImport: i0, template: `
2251
+ NgtsStage.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: NgtsStage, deps: null, target: i0.ɵɵFactoryTarget.Component });
2252
+ NgtsStage.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.3", type: NgtsStage, isStandalone: true, selector: "ngts-stage", inputs: { preset: "preset", shadows: "shadows", adjustCamera: "adjustCamera", environment: "environment", intensity: "intensity", center: "center" }, outputs: { centered: "centered" }, usesInheritance: true, ngImport: i0, template: `
2248
2253
  <ngt-ambient-light [intensity]="get('intensity')! / 3" />
2249
2254
  <ngt-spot-light
2250
2255
  [penumbra]="1"
@@ -2345,7 +2350,7 @@ NgtsStage.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15
2345
2350
  [encoding]="get('environmentInfo').encoding"
2346
2351
  />
2347
2352
  `, isInline: true, dependencies: [{ kind: "directive", type: NgtArgs, selector: "[args]", inputs: ["args"] }, { kind: "component", type: NgtsBounds, selector: "ngts-bounds", inputs: ["boundsRef", "damping", "fit", "clip", "observe", "margin", "eps"], outputs: ["fitted"] }, { kind: "directive", type: NgtsStageRefit, selector: "ngts-stage-refit", inputs: ["radius", "adjustCamera"] }, { kind: "component", type: NgtsCenter, selector: "ngts-center", inputs: ["centerRef", "top", "right", "bottom", "left", "front", "back", "disableX", "disableY", "disableZ", "disabled", "precise"], outputs: ["centered"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: NgtsContactShadows, selector: "ngts-contact-shadows", inputs: ["contactShadowsRef", "opacity", "width", "height", "blur", "far", "smooth", "resolution", "frames", "scale", "color", "depthWrite", "renderOrder"] }, { kind: "component", type: NgtsAccumulativeShadows, selector: "ngts-accumulative-shadows", inputs: ["frames", "blend", "limit", "scale", "temporal", "opacity", "alphaTest", "color", "colorBlend", "resolution", "toneMapped"] }, { kind: "component", type: NgtsRandomizedLights, selector: "ngts-randomized-lights", inputs: ["lightsRef", "frames", "position", "radius", "amount", "intensity", "ambient", "castShadow", "bias", "mapSize", "size", "near", "far"] }, { kind: "component", type: NgtsEnvironment, selector: "ngts-environment" }] });
2348
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: NgtsStage, decorators: [{
2353
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: NgtsStage, decorators: [{
2349
2354
  type: Component,
2350
2355
  args: [{
2351
2356
  selector: 'ngts-stage',
@@ -2581,8 +2586,8 @@ class NgtsStars extends NgtRxStore {
2581
2586
  this.material.uniforms['time'].value = clock.getElapsedTime() * this.get('speed');
2582
2587
  }
2583
2588
  }
2584
- NgtsStars.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: NgtsStars, deps: [], target: i0.ɵɵFactoryTarget.Component });
2585
- NgtsStars.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.2", type: NgtsStars, isStandalone: true, selector: "ngts-stars", inputs: { starsRef: "starsRef", radius: "radius", depth: "depth", count: "count", factor: "factor", saturation: "saturation", fade: "fade", speed: "speed" }, usesInheritance: true, ngImport: i0, template: `
2589
+ NgtsStars.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: NgtsStars, deps: [], target: i0.ɵɵFactoryTarget.Component });
2590
+ NgtsStars.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.3", type: NgtsStars, isStandalone: true, selector: "ngts-stars", inputs: { starsRef: "starsRef", radius: "radius", depth: "depth", count: "count", factor: "factor", saturation: "saturation", fade: "fade", speed: "speed" }, usesInheritance: true, ngImport: i0, template: `
2586
2591
  <ngt-points [ref]="starsRef">
2587
2592
  <ngt-buffer-geometry>
2588
2593
  <ngt-buffer-attribute attach="attributes.position" *args="[get('bufferAttributes').positions, 3]" />
@@ -2601,7 +2606,7 @@ NgtsStars.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15
2601
2606
  </ngt-primitive>
2602
2607
  </ngt-points>
2603
2608
  `, isInline: true, dependencies: [{ kind: "directive", type: NgtArgs, selector: "[args]", inputs: ["args"] }] });
2604
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: NgtsStars, decorators: [{
2609
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: NgtsStars, decorators: [{
2605
2610
  type: Component,
2606
2611
  args: [{
2607
2612
  selector: 'ngts-stars',