angular-three-soba 2.0.0-beta.3 → 2.0.0-beta.5

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 (98) hide show
  1. package/abstractions/edges/edges.d.ts +1 -1
  2. package/abstractions/grid/grid.d.ts +59 -0
  3. package/abstractions/index.d.ts +1 -0
  4. package/abstractions/text/text.d.ts +0 -1
  5. package/abstractions/text-3d/text-3d.d.ts +1 -1
  6. package/esm2022/abstractions/billboard/billboard.mjs +3 -3
  7. package/esm2022/abstractions/catmull-rom-line/catmull-rom-line.mjs +3 -3
  8. package/esm2022/abstractions/cubic-bezier-line/cubic-bezier-line.mjs +3 -3
  9. package/esm2022/abstractions/edges/edges.mjs +3 -3
  10. package/esm2022/abstractions/gizmo-helper/gizmo-helper.mjs +8 -8
  11. package/esm2022/abstractions/gizmo-helper/gizmo-viewcube/gizmo-viewcube-edge.mjs +3 -3
  12. package/esm2022/abstractions/gizmo-helper/gizmo-viewcube/gizmo-viewcube-face.mjs +6 -6
  13. package/esm2022/abstractions/gizmo-helper/gizmo-viewcube/gizmo-viewcube-inputs.mjs +3 -3
  14. package/esm2022/abstractions/gizmo-helper/gizmo-viewcube/gizmo-viewcube.mjs +3 -3
  15. package/esm2022/abstractions/gizmo-helper/gizmo-viewport/gizmo-viewport-axis.mjs +6 -6
  16. package/esm2022/abstractions/gizmo-helper/gizmo-viewport/gizmo-viewport.mjs +3 -3
  17. package/esm2022/abstractions/grid/grid.mjs +150 -0
  18. package/esm2022/abstractions/index.mjs +2 -1
  19. package/esm2022/abstractions/line/line-input.mjs +3 -3
  20. package/esm2022/abstractions/line/line.mjs +3 -3
  21. package/esm2022/abstractions/quadratic-bezier-line/quadratic-bezier-line.mjs +3 -3
  22. package/esm2022/abstractions/text/text.mjs +5 -7
  23. package/esm2022/abstractions/text-3d/text-3d.mjs +3 -3
  24. package/esm2022/cameras/camera/camera-content.mjs +3 -3
  25. package/esm2022/cameras/camera/camera.mjs +3 -3
  26. package/esm2022/cameras/cube-camera/cube-camera.mjs +3 -3
  27. package/esm2022/cameras/orthographic-camera/orthographic-camera.mjs +3 -3
  28. package/esm2022/cameras/perspective-camera/perspective-camera.mjs +3 -3
  29. package/esm2022/controls/orbit-controls/orbit-controls.mjs +3 -3
  30. package/esm2022/loaders/loader/loader.mjs +3 -3
  31. package/esm2022/materials/mesh-distort-material/mesh-distort-material.mjs +3 -3
  32. package/esm2022/materials/mesh-reflector-material/mesh-reflector-material.mjs +3 -3
  33. package/esm2022/materials/mesh-refraction-material/mesh-refraction-material.mjs +7 -6
  34. package/esm2022/materials/mesh-transmission-material/mesh-transmission-material.mjs +3 -3
  35. package/esm2022/materials/mesh-wobble-material/mesh-wobble-material.mjs +3 -3
  36. package/esm2022/misc/animations/animations.mjs +20 -20
  37. package/esm2022/misc/bake-shadows/bake-shadows.mjs +3 -3
  38. package/esm2022/performance/adaptive/adaptive-dpr.mjs +3 -3
  39. package/esm2022/performance/adaptive/adaptive-events.mjs +3 -3
  40. package/esm2022/performance/detailed/detailed.mjs +3 -3
  41. package/esm2022/performance/instances/instance.mjs +3 -3
  42. package/esm2022/performance/instances/instances.mjs +3 -3
  43. package/esm2022/performance/stats/stats.mjs +3 -3
  44. package/esm2022/shaders/grid-material/grid-material.mjs +62 -0
  45. package/esm2022/shaders/index.mjs +2 -1
  46. package/esm2022/staging/accumulative-shadows/accumulative-shadows.mjs +5 -5
  47. package/esm2022/staging/accumulative-shadows/randomized-lights.mjs +3 -3
  48. package/esm2022/staging/bounds/bounds.mjs +3 -3
  49. package/esm2022/staging/camera-shake/camera-shake.mjs +3 -3
  50. package/esm2022/staging/caustics/caustisc.mjs +5 -5
  51. package/esm2022/staging/center/center.mjs +3 -3
  52. package/esm2022/staging/cloud/cloud.mjs +3 -3
  53. package/esm2022/staging/contact-shadows/contact-shadows.mjs +3 -3
  54. package/esm2022/staging/environment/environment-cube.mjs +3 -3
  55. package/esm2022/staging/environment/environment-ground.mjs +3 -3
  56. package/esm2022/staging/environment/environment-input.mjs +3 -3
  57. package/esm2022/staging/environment/environment-map.mjs +3 -3
  58. package/esm2022/staging/environment/environment-portal.mjs +5 -5
  59. package/esm2022/staging/environment/environment.mjs +6 -6
  60. package/esm2022/staging/float/float.mjs +3 -3
  61. package/esm2022/staging/sky/sky.mjs +3 -3
  62. package/esm2022/staging/sparkles/sparkles.mjs +3 -3
  63. package/esm2022/staging/spot-light/spot-light-input.mjs +3 -3
  64. package/esm2022/staging/spot-light/spot-light-shadow-mesh-input.mjs +3 -3
  65. package/esm2022/staging/spot-light/spot-light-shadow-mesh.mjs +13 -11
  66. package/esm2022/staging/spot-light/spot-light.mjs +3 -3
  67. package/esm2022/staging/spot-light/volumetric-mesh.mjs +3 -3
  68. package/esm2022/staging/stage/stage.mjs +6 -6
  69. package/esm2022/staging/stars/stars.mjs +3 -3
  70. package/fesm2022/angular-three-soba-abstractions.mjs +205 -63
  71. package/fesm2022/angular-three-soba-abstractions.mjs.map +1 -1
  72. package/fesm2022/angular-three-soba-cameras.mjs +15 -15
  73. package/fesm2022/angular-three-soba-controls.mjs +3 -3
  74. package/fesm2022/angular-three-soba-loaders.mjs +3 -3
  75. package/fesm2022/angular-three-soba-materials.mjs +18 -17
  76. package/fesm2022/angular-three-soba-materials.mjs.map +1 -1
  77. package/fesm2022/angular-three-soba-misc.mjs +22 -22
  78. package/fesm2022/angular-three-soba-misc.mjs.map +1 -1
  79. package/fesm2022/angular-three-soba-performance.mjs +18 -18
  80. package/fesm2022/angular-three-soba-shaders.mjs +61 -1
  81. package/fesm2022/angular-three-soba-shaders.mjs.map +1 -1
  82. package/fesm2022/angular-three-soba-staging.mjs +90 -88
  83. package/fesm2022/angular-three-soba-staging.mjs.map +1 -1
  84. package/misc/animations/animations.d.ts +1 -1
  85. package/package.json +16 -16
  86. package/performance/instances/instances.d.ts +2 -2
  87. package/performance/instances/position-mesh.d.ts +1 -1
  88. package/plugin/package.json +2 -2
  89. package/plugin/src/generators/init/init.d.ts +3 -0
  90. package/plugin/src/generators/init/init.js +7 -1
  91. package/plugin/src/generators/init/init.js.map +1 -1
  92. package/shaders/grid-material/grid-material.d.ts +4 -0
  93. package/shaders/index.d.ts +1 -0
  94. package/staging/caustics/caustisc.d.ts +1 -1
  95. package/staging/sparkles/sparkles.d.ts +1 -1
  96. package/staging/spot-light/spot-light-shadow-mesh.d.ts +2 -2
  97. package/staging/spot-light/volumetric-mesh.d.ts +1 -1
  98. package/staging/stars/stars.d.ts +1 -1
@@ -2,10 +2,11 @@ import * as i0 from '@angular/core';
2
2
  import { Component, CUSTOM_ELEMENTS_SCHEMA, Input, computed, Directive, inject, effect, InjectionToken, EventEmitter, TemplateRef, Output, ContentChild, signal, DestroyRef } from '@angular/core';
3
3
  import { extend, NgtSignalStore, injectNgtRef, injectBeforeRender, NgtStore, requestAnimationInInjectionContext, NgtArgs, NgtPortal, NgtPortalContent, NgtRepeat } from 'angular-three';
4
4
  import * as THREE from 'three';
5
- import { Group, CatmullRomCurve3, LineSegments, LineBasicMaterial, Vector3, Quaternion, Object3D, Matrix4, Mesh, BoxGeometry, MeshBasicMaterial, MeshLambertMaterial, CanvasTexture, AmbientLight, PointLight, Sprite, SpriteMaterial } from 'three';
5
+ import { Group, CatmullRomCurve3, LineSegments, LineBasicMaterial, Vector3, Quaternion, Object3D, Matrix4, Mesh, BoxGeometry, MeshBasicMaterial, MeshLambertMaterial, CanvasTexture, AmbientLight, PointLight, Sprite, SpriteMaterial, PlaneGeometry } from 'three';
6
6
  import { LineSegmentsGeometry, LineGeometry, LineMaterial, LineSegments2, Line2, TextGeometry, FontLoader } from 'three-stdlib';
7
7
  import { NgIf, NgTemplateOutlet, DOCUMENT, NgFor } from '@angular/common';
8
8
  import { NgtsOrthographicCamera } from 'angular-three-soba/cameras';
9
+ import { GridMaterial } from 'angular-three-soba/shaders';
9
10
  import { toSignal, toObservable } from '@angular/core/rxjs-interop';
10
11
  import { switchMap, of, map } from 'rxjs';
11
12
  import { Text, preloadFont } from 'troika-three-text';
@@ -45,14 +46,14 @@ class NgtsBillboard extends NgtSignalStore {
45
46
  ref.rotation.z = prevRotation.z;
46
47
  });
47
48
  }
48
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgtsBillboard, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
49
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: NgtsBillboard, isStandalone: true, selector: "ngts-billboard", inputs: { billboardRef: "billboardRef", follow: "follow", lockX: "lockX", lockY: "lockY", lockZ: "lockZ" }, usesInheritance: true, ngImport: i0, template: `
49
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: NgtsBillboard, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
50
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.2", type: NgtsBillboard, isStandalone: true, selector: "ngts-billboard", inputs: { billboardRef: "billboardRef", follow: "follow", lockX: "lockX", lockY: "lockY", lockZ: "lockZ" }, usesInheritance: true, ngImport: i0, template: `
50
51
  <ngt-group ngtCompound [ref]="billboardRef">
51
52
  <ng-content />
52
53
  </ngt-group>
53
54
  `, isInline: true }); }
54
55
  }
55
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgtsBillboard, decorators: [{
56
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: NgtsBillboard, decorators: [{
56
57
  type: Component,
57
58
  args: [{
58
59
  selector: 'ngts-billboard',
@@ -154,10 +155,10 @@ class NgtsLineInputs extends NgtSignalStore {
154
155
  worldUnits: this.#worldUnits(),
155
156
  }));
156
157
  }
157
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgtsLineInputs, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
158
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.0", type: NgtsLineInputs, inputs: { vertexColors: "vertexColors", lineWidth: "lineWidth", alphaToCoverage: "alphaToCoverage", color: "color", dashed: "dashed", dashScale: "dashScale", dashSize: "dashSize", dashOffset: "dashOffset", gapSize: "gapSize", resolution: "resolution", wireframe: "wireframe", worldUnits: "worldUnits" }, usesInheritance: true, ngImport: i0 }); }
158
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: NgtsLineInputs, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
159
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.2", type: NgtsLineInputs, inputs: { vertexColors: "vertexColors", lineWidth: "lineWidth", alphaToCoverage: "alphaToCoverage", color: "color", dashed: "dashed", dashScale: "dashScale", dashSize: "dashSize", dashOffset: "dashOffset", gapSize: "gapSize", resolution: "resolution", wireframe: "wireframe", worldUnits: "worldUnits" }, usesInheritance: true, ngImport: i0 }); }
159
160
  }
160
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgtsLineInputs, decorators: [{
161
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: NgtsLineInputs, decorators: [{
161
162
  type: Directive
162
163
  }], ctorParameters: function () { return []; }, propDecorators: { vertexColors: [{
163
164
  type: Input
@@ -282,8 +283,8 @@ class NgtsLine extends NgtsLineInputs {
282
283
  onCleanup(() => lineGeometry.dispose());
283
284
  });
284
285
  }
285
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgtsLine, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
286
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: NgtsLine, isStandalone: true, selector: "ngts-line", inputs: { lineRef: "lineRef", points: "points", segments: "segments" }, usesInheritance: true, ngImport: i0, template: `
286
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: NgtsLine, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
287
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.2", type: NgtsLine, isStandalone: true, selector: "ngts-line", inputs: { lineRef: "lineRef", points: "points", segments: "segments" }, usesInheritance: true, ngImport: i0, template: `
287
288
  <ngt-primitive *args="[line()]" [ref]="lineRef" ngtCompound>
288
289
  <ngt-primitive *args="[lineGeometry()]" attach="geometry" />
289
290
  <ngt-primitive
@@ -305,7 +306,7 @@ class NgtsLine extends NgtsLineInputs {
305
306
  </ngt-primitive>
306
307
  `, isInline: true, dependencies: [{ kind: "directive", type: NgtArgs, selector: "[args]", inputs: ["args"] }] }); }
307
308
  }
308
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgtsLine, decorators: [{
309
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: NgtsLine, decorators: [{
309
310
  type: Component,
310
311
  args: [{
311
312
  selector: 'ngts-line',
@@ -405,8 +406,8 @@ class NgtsCatmullRomLine extends NgtsLineInputs {
405
406
  });
406
407
  this.set({ closed: false, curveType: 'centripetal', tension: 0.5, segments: 64 });
407
408
  }
408
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgtsCatmullRomLine, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
409
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: NgtsCatmullRomLine, isStandalone: true, selector: "ngts-catmull-rom-line", inputs: { lineRef: "lineRef", points: "points", closed: "closed", curveType: "curveType", tension: "tension", segments: "segments" }, usesInheritance: true, ngImport: i0, template: `
409
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: NgtsCatmullRomLine, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
410
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.2", type: NgtsCatmullRomLine, isStandalone: true, selector: "ngts-catmull-rom-line", inputs: { lineRef: "lineRef", points: "points", closed: "closed", curveType: "curveType", tension: "tension", segments: "segments" }, usesInheritance: true, ngImport: i0, template: `
410
411
  <ngts-line
411
412
  [lineRef]="lineRef"
412
413
  [points]="segmentedPoints()"
@@ -425,7 +426,7 @@ class NgtsCatmullRomLine extends NgtsLineInputs {
425
426
  />
426
427
  `, isInline: true, dependencies: [{ kind: "component", type: NgtsLine, selector: "ngts-line", inputs: ["lineRef", "points", "segments"] }] }); }
427
428
  }
428
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgtsCatmullRomLine, decorators: [{
429
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: NgtsCatmullRomLine, decorators: [{
429
430
  type: Component,
430
431
  args: [{
431
432
  selector: 'ngts-catmull-rom-line',
@@ -509,8 +510,8 @@ class NgtsCubicBezierLine extends NgtsLineInputs {
509
510
  });
510
511
  this.set({ segments: 10 });
511
512
  }
512
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgtsCubicBezierLine, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
513
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: NgtsCubicBezierLine, isStandalone: true, selector: "ngts-cubic-bezier-line", inputs: { lineRef: "lineRef", start: "start", end: "end", midA: "midA", midB: "midB", segments: "segments" }, usesInheritance: true, ngImport: i0, template: `
513
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: NgtsCubicBezierLine, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
514
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.2", type: NgtsCubicBezierLine, isStandalone: true, selector: "ngts-cubic-bezier-line", inputs: { lineRef: "lineRef", start: "start", end: "end", midA: "midA", midB: "midB", segments: "segments" }, usesInheritance: true, ngImport: i0, template: `
514
515
  <ngts-line
515
516
  [lineRef]="lineRef"
516
517
  [points]="points()"
@@ -529,7 +530,7 @@ class NgtsCubicBezierLine extends NgtsLineInputs {
529
530
  />
530
531
  `, isInline: true, dependencies: [{ kind: "component", type: NgtsLine, selector: "ngts-line", inputs: ["lineRef", "points", "segments"] }] }); }
531
532
  }
532
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgtsCubicBezierLine, decorators: [{
533
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: NgtsCubicBezierLine, decorators: [{
533
534
  type: Component,
534
535
  args: [{
535
536
  selector: 'ngts-cubic-bezier-line',
@@ -614,8 +615,8 @@ class NgtsEdges extends NgtSignalStore {
614
615
  }
615
616
  });
616
617
  }
617
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgtsEdges, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
618
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: NgtsEdges, isStandalone: true, selector: "ngts-edges", inputs: { edgesRef: "edgesRef", threshold: "threshold", color: "color", geometry: "geometry", userData: "userData", withChildren: "withChildren" }, usesInheritance: true, ngImport: i0, template: `
618
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: NgtsEdges, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
619
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.2", type: NgtsEdges, isStandalone: true, selector: "ngts-edges", inputs: { edgesRef: "edgesRef", threshold: "threshold", color: "color", geometry: "geometry", userData: "userData", withChildren: "withChildren" }, usesInheritance: true, ngImport: i0, template: `
619
620
  <ngt-line-segments [ref]="edgesRef" [raycast]="noop" ngtCompound>
620
621
  <ng-container *ngIf="withChildren; else noChildren">
621
622
  <ng-content />
@@ -626,7 +627,7 @@ class NgtsEdges extends NgtSignalStore {
626
627
  </ngt-line-segments>
627
628
  `, isInline: true, dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
628
629
  }
629
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgtsEdges, decorators: [{
630
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: NgtsEdges, decorators: [{
630
631
  type: Component,
631
632
  args: [{
632
633
  selector: 'ngts-edges',
@@ -662,10 +663,10 @@ const isOrbitControls = (controls) => 'minPolarAngle' in controls;
662
663
  const NGTS_GIZMO_HELPER_API = new InjectionToken('NgtsGizmoHelper API');
663
664
  extend({ Group });
664
665
  class NgtsGizmoHelperContent {
665
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgtsGizmoHelperContent, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
666
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.0", type: NgtsGizmoHelperContent, isStandalone: true, selector: "ng-template[ngtsGizmoHelperContent]", ngImport: i0 }); }
666
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: NgtsGizmoHelperContent, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
667
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.2", type: NgtsGizmoHelperContent, isStandalone: true, selector: "ng-template[ngtsGizmoHelperContent]", ngImport: i0 }); }
667
668
  }
668
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgtsGizmoHelperContent, decorators: [{
669
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: NgtsGizmoHelperContent, decorators: [{
669
670
  type: Directive,
670
671
  args: [{ selector: 'ng-template[ngtsGizmoHelperContent]', standalone: true }]
671
672
  }] });
@@ -802,8 +803,8 @@ class NgtsGizmoHelper extends NgtSignalStore {
802
803
  this.#defaultUp.copy(camera.up);
803
804
  });
804
805
  }
805
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgtsGizmoHelper, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
806
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: NgtsGizmoHelper, isStandalone: true, selector: "ngts-gizmo-helper", inputs: { alignment: "alignment", margin: "margin", renderPriority: "renderPriority", autoClear: "autoClear" }, outputs: { updated: "updated" }, providers: [
806
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: NgtsGizmoHelper, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
807
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.2", type: NgtsGizmoHelper, isStandalone: true, selector: "ngts-gizmo-helper", inputs: { alignment: "alignment", margin: "margin", renderPriority: "renderPriority", autoClear: "autoClear" }, outputs: { updated: "updated" }, providers: [
807
808
  { provide: NGTS_GIZMO_HELPER_API, useFactory: (gizmo) => gizmo.api, deps: [NgtsGizmoHelper] },
808
809
  ], queries: [{ propertyName: "gizmoHelperContent", first: true, predicate: NgtsGizmoHelperContent, descendants: true, read: TemplateRef, static: true }], usesInheritance: true, ngImport: i0, template: `
809
810
  <ngt-portal [renderPriority]="priority()">
@@ -818,9 +819,9 @@ class NgtsGizmoHelper extends NgtSignalStore {
818
819
  </ngt-group>
819
820
  </ng-template>
820
821
  </ngt-portal>
821
- `, 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: "component", type: NgtsOrthographicCamera, selector: "ngts-orthographic-camera", inputs: ["left", "right", "top", "bottom"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] }); }
822
+ `, isInline: true, dependencies: [{ kind: "component", type: NgtPortal, selector: "ngt-portal", inputs: ["container", "portalState", "autoRender", "autoRenderPriority"], outputs: ["beforeRender"] }, { kind: "directive", type: NgtPortalContent, selector: "ng-template[ngtPortalContent]" }, { kind: "component", type: NgtsOrthographicCamera, selector: "ngts-orthographic-camera", inputs: ["left", "right", "top", "bottom"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] }); }
822
823
  }
823
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgtsGizmoHelper, decorators: [{
824
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: NgtsGizmoHelper, decorators: [{
824
825
  type: Component,
825
826
  args: [{
826
827
  selector: 'ngts-gizmo-helper',
@@ -925,10 +926,10 @@ class NgtsGizmoViewcubeInputs extends NgtSignalStore {
925
926
  set clickEmitter(clickEmitter) {
926
927
  this.set({ clickEmitter });
927
928
  }
928
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgtsGizmoViewcubeInputs, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
929
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.0", type: NgtsGizmoViewcubeInputs, inputs: { opacity: "opacity", hoverColor: "hoverColor", textColor: "textColor", strokeColor: "strokeColor", faces: "faces", font: "font", color: "color", clickEmitter: "clickEmitter" }, usesInheritance: true, ngImport: i0 }); }
929
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: NgtsGizmoViewcubeInputs, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
930
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.2", type: NgtsGizmoViewcubeInputs, inputs: { opacity: "opacity", hoverColor: "hoverColor", textColor: "textColor", strokeColor: "strokeColor", faces: "faces", font: "font", color: "color", clickEmitter: "clickEmitter" }, usesInheritance: true, ngImport: i0 }); }
930
931
  }
931
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgtsGizmoViewcubeInputs, decorators: [{
932
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: NgtsGizmoViewcubeInputs, decorators: [{
932
933
  type: Directive
933
934
  }], propDecorators: { opacity: [{
934
935
  type: Input
@@ -983,8 +984,8 @@ class NgtsGizmoViewcubeEdgeCube extends NgtSignalStore {
983
984
  this.#gizmoHelperApi()(this.get('position'));
984
985
  }
985
986
  }
986
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgtsGizmoViewcubeEdgeCube, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
987
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: NgtsGizmoViewcubeEdgeCube, isStandalone: true, selector: "ngts-gizmo-viewcube-edge-cube", inputs: { dimensions: "dimensions", position: "position" }, usesInheritance: true, ngImport: i0, template: `
987
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: NgtsGizmoViewcubeEdgeCube, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
988
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.2", type: NgtsGizmoViewcubeEdgeCube, isStandalone: true, selector: "ngts-gizmo-viewcube-edge-cube", inputs: { dimensions: "dimensions", position: "position" }, usesInheritance: true, ngImport: i0, template: `
988
989
  <ngt-mesh
989
990
  [scale]="1.01"
990
991
  [position]="edgePosition()"
@@ -1002,7 +1003,7 @@ class NgtsGizmoViewcubeEdgeCube extends NgtSignalStore {
1002
1003
  </ngt-mesh>
1003
1004
  `, isInline: true, dependencies: [{ kind: "directive", type: NgtArgs, selector: "[args]", inputs: ["args"] }] }); }
1004
1005
  }
1005
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgtsGizmoViewcubeEdgeCube, decorators: [{
1006
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: NgtsGizmoViewcubeEdgeCube, decorators: [{
1006
1007
  type: Component,
1007
1008
  args: [{
1008
1009
  selector: 'ngts-gizmo-viewcube-edge-cube',
@@ -1084,8 +1085,8 @@ class NgtsGizmoViewcubeFaceMaterial extends NgtSignalStore {
1084
1085
  opacity: 1,
1085
1086
  });
1086
1087
  }
1087
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgtsGizmoViewcubeFaceMaterial, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1088
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: NgtsGizmoViewcubeFaceMaterial, isStandalone: true, selector: "ngts-gizmo-viewcube-face-material", inputs: { index: "index", hover: "hover" }, usesInheritance: true, ngImport: i0, template: `
1088
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: NgtsGizmoViewcubeFaceMaterial, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1089
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.2", type: NgtsGizmoViewcubeFaceMaterial, isStandalone: true, selector: "ngts-gizmo-viewcube-face-material", inputs: { index: "index", hover: "hover" }, usesInheritance: true, ngImport: i0, template: `
1089
1090
  <ngt-mesh-lambert-material
1090
1091
  [attach]="['material', faceIndex()]"
1091
1092
  [map]="texture()"
@@ -1098,7 +1099,7 @@ class NgtsGizmoViewcubeFaceMaterial extends NgtSignalStore {
1098
1099
  </ngt-mesh-lambert-material>
1099
1100
  `, isInline: true }); }
1100
1101
  }
1101
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgtsGizmoViewcubeFaceMaterial, decorators: [{
1102
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: NgtsGizmoViewcubeFaceMaterial, decorators: [{
1102
1103
  type: Component,
1103
1104
  args: [{
1104
1105
  selector: 'ngts-gizmo-viewcube-face-material',
@@ -1148,8 +1149,8 @@ class NgtsGizmoViewcubeFaceCube {
1148
1149
  this.#gizmoHelperApi()(event.face.normal);
1149
1150
  }
1150
1151
  }
1151
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgtsGizmoViewcubeFaceCube, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1152
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: NgtsGizmoViewcubeFaceCube, isStandalone: true, selector: "ngts-gizmo-viewcube-face-cube", ngImport: i0, template: `
1152
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: NgtsGizmoViewcubeFaceCube, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1153
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.2", type: NgtsGizmoViewcubeFaceCube, isStandalone: true, selector: "ngts-gizmo-viewcube-face-cube", ngImport: i0, template: `
1153
1154
  <ngt-mesh
1154
1155
  (pointermove)="onPointerMove($any($event))"
1155
1156
  (pointerout)="onPointerOut($any($event))"
@@ -1160,7 +1161,7 @@ class NgtsGizmoViewcubeFaceCube {
1160
1161
  </ngt-mesh>
1161
1162
  `, isInline: true, dependencies: [{ kind: "component", type: NgtsGizmoViewcubeFaceMaterial, selector: "ngts-gizmo-viewcube-face-material", inputs: ["index", "hover"] }, { kind: "directive", type: NgtRepeat, selector: "[ngFor][ngForRepeat]", inputs: ["ngForRepeat"] }] }); }
1162
1163
  }
1163
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgtsGizmoViewcubeFaceCube, decorators: [{
1164
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: NgtsGizmoViewcubeFaceCube, decorators: [{
1164
1165
  type: Component,
1165
1166
  args: [{
1166
1167
  selector: 'ngts-gizmo-viewcube-face-cube',
@@ -1195,8 +1196,8 @@ class NgtsGizmoViewcube extends NgtsGizmoViewcubeInputs {
1195
1196
  }
1196
1197
  });
1197
1198
  }
1198
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgtsGizmoViewcube, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1199
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: NgtsGizmoViewcube, isStandalone: true, selector: "ngts-gizmo-viewcube", outputs: { clicked: "clicked" }, providers: [{ provide: NgtsGizmoViewcubeInputs, useExisting: NgtsGizmoViewcube }], usesInheritance: true, ngImport: i0, template: `
1199
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: NgtsGizmoViewcube, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1200
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.2", type: NgtsGizmoViewcube, isStandalone: true, selector: "ngts-gizmo-viewcube", outputs: { clicked: "clicked" }, providers: [{ provide: NgtsGizmoViewcubeInputs, useExisting: NgtsGizmoViewcube }], usesInheritance: true, ngImport: i0, template: `
1200
1201
  <ngt-group [scale]="60">
1201
1202
  <ngts-gizmo-viewcube-face-cube />
1202
1203
 
@@ -1217,7 +1218,7 @@ class NgtsGizmoViewcube extends NgtsGizmoViewcubeInputs {
1217
1218
  </ngt-group>
1218
1219
  `, isInline: true, dependencies: [{ kind: "component", type: NgtsGizmoViewcubeEdgeCube, selector: "ngts-gizmo-viewcube-edge-cube", inputs: ["dimensions", "position"] }, { kind: "component", type: NgtsGizmoViewcubeFaceCube, selector: "ngts-gizmo-viewcube-face-cube" }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] }); }
1219
1220
  }
1220
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgtsGizmoViewcube, decorators: [{
1221
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: NgtsGizmoViewcube, decorators: [{
1221
1222
  type: Component,
1222
1223
  args: [{
1223
1224
  selector: 'ngts-gizmo-viewcube',
@@ -1267,8 +1268,8 @@ class NgtsGizmoViewportAxis extends NgtSignalStore {
1267
1268
  this.axisColor = this.select('color');
1268
1269
  this.axisScale = this.select('scale');
1269
1270
  }
1270
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgtsGizmoViewportAxis, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1271
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: NgtsGizmoViewportAxis, isStandalone: true, selector: "ngts-gizmo-viewport-axis", inputs: { color: "color", rotation: "rotation", scale: "scale" }, usesInheritance: true, ngImport: i0, template: `
1271
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: NgtsGizmoViewportAxis, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1272
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.2", type: NgtsGizmoViewportAxis, isStandalone: true, selector: "ngts-gizmo-viewport-axis", inputs: { color: "color", rotation: "rotation", scale: "scale" }, usesInheritance: true, ngImport: i0, template: `
1272
1273
  <ngt-group [rotation]="axisRotation()">
1273
1274
  <ngt-mesh [position]="[0.4, 0, 0]">
1274
1275
  <ngt-box-geometry *args="axisScale()" />
@@ -1277,7 +1278,7 @@ class NgtsGizmoViewportAxis extends NgtSignalStore {
1277
1278
  </ngt-group>
1278
1279
  `, isInline: true, dependencies: [{ kind: "directive", type: NgtArgs, selector: "[args]", inputs: ["args"] }] }); }
1279
1280
  }
1280
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgtsGizmoViewportAxis, decorators: [{
1281
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: NgtsGizmoViewportAxis, decorators: [{
1281
1282
  type: Component,
1282
1283
  args: [{
1283
1284
  selector: 'ngts-gizmo-viewport-axis',
@@ -1387,8 +1388,8 @@ class NgtsGizmoViewportAxisHead extends NgtSignalStore {
1387
1388
  }
1388
1389
  }
1389
1390
  }
1390
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgtsGizmoViewportAxisHead, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1391
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: NgtsGizmoViewportAxisHead, isStandalone: true, selector: "ngts-gizmo-viewport-axis-head", inputs: { arcStyle: "arcStyle", label: "label", labelColor: "labelColor", axisHeadScale: "axisHeadScale", disabled: "disabled", font: "font", clickEmitter: "clickEmitter" }, usesInheritance: true, ngImport: i0, template: `
1391
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: NgtsGizmoViewportAxisHead, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1392
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.2", type: NgtsGizmoViewportAxisHead, isStandalone: true, selector: "ngts-gizmo-viewport-axis-head", inputs: { arcStyle: "arcStyle", label: "label", labelColor: "labelColor", axisHeadScale: "axisHeadScale", disabled: "disabled", font: "font", clickEmitter: "clickEmitter" }, usesInheritance: true, ngImport: i0, template: `
1392
1393
  <ngt-sprite
1393
1394
  ngtCompound
1394
1395
  [scale]="scale()"
@@ -1407,7 +1408,7 @@ class NgtsGizmoViewportAxisHead extends NgtSignalStore {
1407
1408
  </ngt-sprite>
1408
1409
  `, isInline: true }); }
1409
1410
  }
1410
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgtsGizmoViewportAxisHead, decorators: [{
1411
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: NgtsGizmoViewportAxisHead, decorators: [{
1411
1412
  type: Component,
1412
1413
  args: [{
1413
1414
  selector: 'ngts-gizmo-viewport-axis-head',
@@ -1506,8 +1507,8 @@ class NgtsGizmoViewport extends NgtSignalStore {
1506
1507
  this.#gizmoHelperApi()(event.object.position);
1507
1508
  }
1508
1509
  }
1509
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgtsGizmoViewport, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1510
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: NgtsGizmoViewport, isStandalone: true, selector: "ngts-gizmo-viewport", inputs: { axisColors: "axisColors", axisScale: "axisScale", labels: "labels", axisHeadScale: "axisHeadScale", labelColor: "labelColor", hideNegativeAxes: "hideNegativeAxes", hideAxisHeads: "hideAxisHeads", disabled: "disabled", font: "font" }, outputs: { clicked: "clicked" }, usesInheritance: true, ngImport: i0, template: `
1510
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: NgtsGizmoViewport, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1511
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.2", type: NgtsGizmoViewport, isStandalone: true, selector: "ngts-gizmo-viewport", inputs: { axisColors: "axisColors", axisScale: "axisScale", labels: "labels", axisHeadScale: "axisHeadScale", labelColor: "labelColor", hideNegativeAxes: "hideNegativeAxes", hideAxisHeads: "hideAxisHeads", disabled: "disabled", font: "font" }, outputs: { clicked: "clicked" }, usesInheritance: true, ngImport: i0, template: `
1511
1512
  <ngt-group ngtCompound [scale]="40">
1512
1513
  <ngts-gizmo-viewport-axis
1513
1514
  [color]="viewportAxisColors()[0]"
@@ -1596,7 +1597,7 @@ class NgtsGizmoViewport extends NgtSignalStore {
1596
1597
  </ngt-group>
1597
1598
  `, isInline: true, dependencies: [{ kind: "component", type: NgtsGizmoViewportAxis, selector: "ngts-gizmo-viewport-axis", inputs: ["color", "rotation", "scale"] }, { kind: "component", type: NgtsGizmoViewportAxisHead, selector: "ngts-gizmo-viewport-axis-head", inputs: ["arcStyle", "label", "labelColor", "axisHeadScale", "disabled", "font", "clickEmitter"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
1598
1599
  }
1599
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgtsGizmoViewport, decorators: [{
1600
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: NgtsGizmoViewport, decorators: [{
1600
1601
  type: Component,
1601
1602
  args: [{
1602
1603
  selector: 'ngts-gizmo-viewport',
@@ -1714,6 +1715,149 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImpor
1714
1715
  type: Output
1715
1716
  }] } });
1716
1717
 
1718
+ extend({ Mesh, GridMaterial, PlaneGeometry });
1719
+ class NgtsGrid extends NgtSignalStore {
1720
+ set cellSize(cellSize) {
1721
+ this.set({ cellSize });
1722
+ }
1723
+ set cellThickness(cellThickness) {
1724
+ this.set({ cellThickness });
1725
+ }
1726
+ set cellColor(cellColor) {
1727
+ this.set({ cellColor });
1728
+ }
1729
+ set sectionSize(sectionSize) {
1730
+ this.set({ sectionSize });
1731
+ }
1732
+ set sectionThickness(sectionThickness) {
1733
+ this.set({ sectionThickness });
1734
+ }
1735
+ set sectionColor(sectionColor) {
1736
+ this.set({ sectionColor });
1737
+ }
1738
+ set followCamera(followCamera) {
1739
+ this.set({ followCamera });
1740
+ }
1741
+ set infiniteGrid(infiniteGrid) {
1742
+ this.set({ infiniteGrid });
1743
+ }
1744
+ set fadeDistance(fadeDistance) {
1745
+ this.set({ fadeDistance });
1746
+ }
1747
+ set fadeStrength(fadeStrength) {
1748
+ this.set({ fadeStrength });
1749
+ }
1750
+ set side(side) {
1751
+ this.set({ side });
1752
+ }
1753
+ set args(args) {
1754
+ this.set({ args });
1755
+ }
1756
+ constructor() {
1757
+ super({
1758
+ cellSize: 0.5,
1759
+ sectionSize: 1,
1760
+ fadeDistance: 100,
1761
+ fadeStrength: 1,
1762
+ cellThickness: 0.5,
1763
+ sectionThickness: 1,
1764
+ infiniteGrid: false,
1765
+ followCamera: false,
1766
+ cellColor: '#000000',
1767
+ sectionColor: '#2080ff',
1768
+ side: THREE.BackSide,
1769
+ args: [1, 1, 1],
1770
+ });
1771
+ this.gridRef = injectNgtRef();
1772
+ this.gridCellSize = this.select('cellSize');
1773
+ this.gridSectionSize = this.select('sectionSize');
1774
+ this.gridFadeDistance = this.select('fadeDistance');
1775
+ this.gridFadeStrength = this.select('fadeStrength');
1776
+ this.gridCellThickness = this.select('cellThickness');
1777
+ this.gridSectionThickness = this.select('sectionThickness');
1778
+ this.gridInfiniteGrid = this.select('infiniteGrid');
1779
+ this.gridFollowCamera = this.select('followCamera');
1780
+ this.gridCellColor = this.select('cellColor');
1781
+ this.gridSectionColor = this.select('sectionColor');
1782
+ this.gridSide = this.select('side');
1783
+ this.gridArgs = this.select('args');
1784
+ }
1785
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: NgtsGrid, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1786
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.2", type: NgtsGrid, isStandalone: true, selector: "ngts-grid", inputs: { gridRef: "gridRef", cellSize: "cellSize", cellThickness: "cellThickness", cellColor: "cellColor", sectionSize: "sectionSize", sectionThickness: "sectionThickness", sectionColor: "sectionColor", followCamera: "followCamera", infiniteGrid: "infiniteGrid", fadeDistance: "fadeDistance", fadeStrength: "fadeStrength", side: "side", args: "args" }, usesInheritance: true, ngImport: i0, template: `
1787
+ <ngt-mesh ngtCompound [ref]="gridRef" [frustumCulled]="false">
1788
+ <ngt-grid-material
1789
+ [transparent]="true"
1790
+ [side]="gridSide()"
1791
+ [cellSize]="gridCellSize()"
1792
+ [sectionSize]="gridSectionSize()"
1793
+ [cellColor]="gridCellColor()"
1794
+ [sectionColor]="gridSectionColor()"
1795
+ [cellThickness]="gridCellThickness()"
1796
+ [sectionThickness]="gridSectionThickness()"
1797
+ [fadeDistance]="gridFadeDistance()"
1798
+ [fadeStrength]="gridFadeStrength()"
1799
+ [infiniteGrid]="gridInfiniteGrid()"
1800
+ [followCamera]="gridFollowCamera()"
1801
+ />
1802
+ <ngt-plane-geometry *args="gridArgs()" />
1803
+ </ngt-mesh>
1804
+ `, isInline: true, dependencies: [{ kind: "directive", type: NgtArgs, selector: "[args]", inputs: ["args"] }] }); }
1805
+ }
1806
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: NgtsGrid, decorators: [{
1807
+ type: Component,
1808
+ args: [{
1809
+ selector: 'ngts-grid',
1810
+ standalone: true,
1811
+ template: `
1812
+ <ngt-mesh ngtCompound [ref]="gridRef" [frustumCulled]="false">
1813
+ <ngt-grid-material
1814
+ [transparent]="true"
1815
+ [side]="gridSide()"
1816
+ [cellSize]="gridCellSize()"
1817
+ [sectionSize]="gridSectionSize()"
1818
+ [cellColor]="gridCellColor()"
1819
+ [sectionColor]="gridSectionColor()"
1820
+ [cellThickness]="gridCellThickness()"
1821
+ [sectionThickness]="gridSectionThickness()"
1822
+ [fadeDistance]="gridFadeDistance()"
1823
+ [fadeStrength]="gridFadeStrength()"
1824
+ [infiniteGrid]="gridInfiniteGrid()"
1825
+ [followCamera]="gridFollowCamera()"
1826
+ />
1827
+ <ngt-plane-geometry *args="gridArgs()" />
1828
+ </ngt-mesh>
1829
+ `,
1830
+ imports: [NgtArgs],
1831
+ schemas: [CUSTOM_ELEMENTS_SCHEMA],
1832
+ }]
1833
+ }], ctorParameters: function () { return []; }, propDecorators: { gridRef: [{
1834
+ type: Input
1835
+ }], cellSize: [{
1836
+ type: Input
1837
+ }], cellThickness: [{
1838
+ type: Input
1839
+ }], cellColor: [{
1840
+ type: Input
1841
+ }], sectionSize: [{
1842
+ type: Input
1843
+ }], sectionThickness: [{
1844
+ type: Input
1845
+ }], sectionColor: [{
1846
+ type: Input
1847
+ }], followCamera: [{
1848
+ type: Input
1849
+ }], infiniteGrid: [{
1850
+ type: Input
1851
+ }], fadeDistance: [{
1852
+ type: Input
1853
+ }], fadeStrength: [{
1854
+ type: Input
1855
+ }], side: [{
1856
+ type: Input
1857
+ }], args: [{
1858
+ type: Input
1859
+ }] } });
1860
+
1717
1861
  const v = new THREE.Vector3();
1718
1862
  class NgtsQuadraticBezierLine extends NgtsLineInputs {
1719
1863
  set start(start) {
@@ -1778,8 +1922,8 @@ class NgtsQuadraticBezierLine extends NgtsLineInputs {
1778
1922
  }
1779
1923
  return this.#curve.getPoints(segments);
1780
1924
  }
1781
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgtsQuadraticBezierLine, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1782
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: NgtsQuadraticBezierLine, isStandalone: true, selector: "ngts-quadratic-bezier-line", inputs: { lineRef: "lineRef", start: "start", end: "end", mid: "mid", segments: "segments" }, usesInheritance: true, ngImport: i0, template: `
1925
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: NgtsQuadraticBezierLine, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1926
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.2", type: NgtsQuadraticBezierLine, isStandalone: true, selector: "ngts-quadratic-bezier-line", inputs: { lineRef: "lineRef", start: "start", end: "end", mid: "mid", segments: "segments" }, usesInheritance: true, ngImport: i0, template: `
1783
1927
  <ngts-line
1784
1928
  [lineRef]="lineRef"
1785
1929
  [points]="points()"
@@ -1798,7 +1942,7 @@ class NgtsQuadraticBezierLine extends NgtsLineInputs {
1798
1942
  />
1799
1943
  `, isInline: true, dependencies: [{ kind: "component", type: NgtsLine, selector: "ngts-line", inputs: ["lineRef", "points", "segments"] }] }); }
1800
1944
  }
1801
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgtsQuadraticBezierLine, decorators: [{
1945
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: NgtsQuadraticBezierLine, decorators: [{
1802
1946
  type: Component,
1803
1947
  args: [{
1804
1948
  selector: 'ngts-quadratic-bezier-line',
@@ -1940,15 +2084,15 @@ class NgtsText3D extends NgtSignalStore {
1940
2084
  #curveSegments;
1941
2085
  #letterSpacing;
1942
2086
  #lineHeight;
1943
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgtsText3D, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1944
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: NgtsText3D, isStandalone: true, selector: "ngts-text-3d", inputs: { textRef: "textRef", font: "font", text: "text", bevelEnabled: "bevelEnabled", bevelOffset: "bevelOffset", bevelSize: "bevelSize", bevelThickness: "bevelThickness", curveSegments: "curveSegments", bevelSegments: "bevelSegments", height: "height", size: "size", lineHeight: "lineHeight", letterSpacing: "letterSpacing", smooth: "smooth" }, usesInheritance: true, ngImport: i0, template: `
2087
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: NgtsText3D, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2088
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.2", type: NgtsText3D, isStandalone: true, selector: "ngts-text-3d", inputs: { textRef: "textRef", font: "font", text: "text", bevelEnabled: "bevelEnabled", bevelOffset: "bevelOffset", bevelSize: "bevelSize", bevelThickness: "bevelThickness", curveSegments: "curveSegments", bevelSegments: "bevelSegments", height: "height", size: "size", lineHeight: "lineHeight", letterSpacing: "letterSpacing", smooth: "smooth" }, usesInheritance: true, ngImport: i0, template: `
1945
2089
  <ngt-mesh ngtCompound [ref]="textRef">
1946
2090
  <ngt-text-geometry *args="geometryArgs()" />
1947
2091
  <ng-content />
1948
2092
  </ngt-mesh>
1949
2093
  `, isInline: true, dependencies: [{ kind: "directive", type: NgtArgs, selector: "[args]", inputs: ["args"] }] }); }
1950
2094
  }
1951
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgtsText3D, decorators: [{
2095
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: NgtsText3D, decorators: [{
1952
2096
  type: Component,
1953
2097
  args: [{
1954
2098
  selector: 'ngts-text-3d',
@@ -2086,7 +2230,6 @@ class NgtsText extends NgtSignalStore {
2086
2230
  this.sync = new EventEmitter();
2087
2231
  this.troikaText = new Text();
2088
2232
  this.#store = inject(NgtStore);
2089
- this.state = this.select();
2090
2233
  inject(DestroyRef).onDestroy(() => {
2091
2234
  this.troikaText.dispose();
2092
2235
  });
@@ -2104,9 +2247,8 @@ class NgtsText extends NgtSignalStore {
2104
2247
  });
2105
2248
  }
2106
2249
  #syncText() {
2107
- const state = this.select();
2108
2250
  effect(() => {
2109
- state();
2251
+ this.state();
2110
2252
  const invalidate = this.#store.get('invalidate');
2111
2253
  this.troikaText.sync(() => {
2112
2254
  invalidate();
@@ -2116,8 +2258,8 @@ class NgtsText extends NgtSignalStore {
2116
2258
  });
2117
2259
  });
2118
2260
  }
2119
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgtsText, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2120
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: NgtsText, isStandalone: true, selector: "ngts-text", inputs: { textRef: "textRef", text: "text", font: "font", fontSize: "fontSize", anchorX: "anchorX", anchorY: "anchorY", sdfGlyphSize: "sdfGlyphSize", characters: "characters", color: "color", maxWidth: "maxWidth", lineHeight: "lineHeight", letterSpacing: "letterSpacing", textAlign: "textAlign", clipRect: "clipRect", depthOffset: "depthOffset", direction: "direction", overflowWrap: "overflowWrap", whiteSpace: "whiteSpace", outlineWidth: "outlineWidth", outlineOffsetX: "outlineOffsetX", outlineOffsetY: "outlineOffsetY", outlineBlur: "outlineBlur", outlineColor: "outlineColor", outlineOpacity: "outlineOpacity", strokeWidth: "strokeWidth", strokeColor: "strokeColor", strokeOpacity: "strokeOpacity", fillOpacity: "fillOpacity", debugSDF: "debugSDF" }, outputs: { sync: "sync" }, usesInheritance: true, ngImport: i0, template: `
2261
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: NgtsText, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2262
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.2", type: NgtsText, isStandalone: true, selector: "ngts-text", inputs: { textRef: "textRef", text: "text", font: "font", fontSize: "fontSize", anchorX: "anchorX", anchorY: "anchorY", sdfGlyphSize: "sdfGlyphSize", characters: "characters", color: "color", maxWidth: "maxWidth", lineHeight: "lineHeight", letterSpacing: "letterSpacing", textAlign: "textAlign", clipRect: "clipRect", depthOffset: "depthOffset", direction: "direction", overflowWrap: "overflowWrap", whiteSpace: "whiteSpace", outlineWidth: "outlineWidth", outlineOffsetX: "outlineOffsetX", outlineOffsetY: "outlineOffsetY", outlineBlur: "outlineBlur", outlineColor: "outlineColor", outlineOpacity: "outlineOpacity", strokeWidth: "strokeWidth", strokeColor: "strokeColor", strokeOpacity: "strokeOpacity", fillOpacity: "fillOpacity", debugSDF: "debugSDF" }, outputs: { sync: "sync" }, usesInheritance: true, ngImport: i0, template: `
2121
2263
  <ngt-primitive
2122
2264
  ngtCompound
2123
2265
  *args="[troikaText]"
@@ -2155,7 +2297,7 @@ class NgtsText extends NgtSignalStore {
2155
2297
  </ngt-primitive>
2156
2298
  `, isInline: true, dependencies: [{ kind: "directive", type: NgtArgs, selector: "[args]", inputs: ["args"] }] }); }
2157
2299
  }
2158
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgtsText, decorators: [{
2300
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: NgtsText, decorators: [{
2159
2301
  type: Component,
2160
2302
  args: [{
2161
2303
  selector: 'ngts-text',
@@ -2267,5 +2409,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImpor
2267
2409
  * Generated bundle index. Do not edit.
2268
2410
  */
2269
2411
 
2270
- export { NGTS_GIZMO_HELPER_API, NgtsBillboard, NgtsCatmullRomLine, NgtsCubicBezierLine, NgtsEdges, NgtsGizmoHelper, NgtsGizmoHelperContent, NgtsGizmoViewcube, NgtsGizmoViewport, NgtsLine, NgtsQuadraticBezierLine, NgtsText, NgtsText3D };
2412
+ export { NGTS_GIZMO_HELPER_API, NgtsBillboard, NgtsCatmullRomLine, NgtsCubicBezierLine, NgtsEdges, NgtsGizmoHelper, NgtsGizmoHelperContent, NgtsGizmoViewcube, NgtsGizmoViewport, NgtsGrid, NgtsLine, NgtsQuadraticBezierLine, NgtsText, NgtsText3D };
2271
2413
  //# sourceMappingURL=angular-three-soba-abstractions.mjs.map