angular-three-soba 2.0.0-beta.26 → 2.0.0-beta.28

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 (103) hide show
  1. package/controls/orbit-controls/orbit-controls.d.ts +1 -1
  2. package/esm2022/abstractions/billboard/billboard.mjs +3 -3
  3. package/esm2022/abstractions/detailed/detailed.mjs +3 -3
  4. package/esm2022/abstractions/edges/edges.mjs +3 -3
  5. package/esm2022/abstractions/grid/grid.mjs +3 -3
  6. package/esm2022/abstractions/text/text.mjs +3 -3
  7. package/esm2022/abstractions/text-3d/text-3d.mjs +3 -3
  8. package/esm2022/cameras/camera/camera-content.mjs +3 -3
  9. package/esm2022/cameras/camera/camera.mjs +3 -3
  10. package/esm2022/cameras/cube-camera/cube-camera.mjs +9 -9
  11. package/esm2022/cameras/orthographic-camera/orthographic-camera.mjs +3 -3
  12. package/esm2022/cameras/perspective-camera/perspective-camera.mjs +3 -3
  13. package/esm2022/controls/orbit-controls/orbit-controls.mjs +10 -6
  14. package/esm2022/gizmos/gizmo-helper/gizmo-helper.mjs +3 -3
  15. package/esm2022/gizmos/gizmo-helper/gizmo-viewcube/gizmo-viewcube-edge.mjs +3 -3
  16. package/esm2022/gizmos/gizmo-helper/gizmo-viewcube/gizmo-viewcube-face.mjs +6 -6
  17. package/esm2022/gizmos/gizmo-helper/gizmo-viewcube/gizmo-viewcube-input.mjs +3 -3
  18. package/esm2022/gizmos/gizmo-helper/gizmo-viewcube/gizmo-viewcube.mjs +3 -3
  19. package/esm2022/gizmos/gizmo-helper/gizmo-viewport/gizmo-viewport-axis.mjs +6 -6
  20. package/esm2022/gizmos/gizmo-helper/gizmo-viewport/gizmo-viewport.mjs +3 -3
  21. package/esm2022/loaders/gltf-loader/gltf-loader.mjs +6 -2
  22. package/esm2022/loaders/loader/loader.mjs +3 -3
  23. package/esm2022/loaders/progress/progress.mjs +3 -3
  24. package/esm2022/loaders/texture-loader/texture-loader.mjs +3 -3
  25. package/esm2022/materials/mesh-distort-material/mesh-distort-material.mjs +3 -3
  26. package/esm2022/materials/mesh-reflector-material/mesh-reflector-material.mjs +3 -3
  27. package/esm2022/materials/mesh-refraction-material/mesh-refraction-material.mjs +3 -3
  28. package/esm2022/materials/mesh-transmission-material/mesh-transmission-material.mjs +3 -3
  29. package/esm2022/materials/mesh-wobble-material/mesh-wobble-material.mjs +3 -3
  30. package/esm2022/materials/point-material/point-material.mjs +3 -3
  31. package/esm2022/misc/animations/animations.mjs +3 -3
  32. package/esm2022/misc/bake-shadows/bake-shadows.mjs +3 -3
  33. package/esm2022/misc/caustics/caustics.mjs +3 -3
  34. package/esm2022/misc/decal/decal.mjs +3 -3
  35. package/esm2022/misc/depth-buffer/depth-buffer.mjs +3 -3
  36. package/esm2022/misc/example/example.mjs +3 -3
  37. package/esm2022/misc/fbo/fbo.mjs +3 -3
  38. package/esm2022/misc/html/html-wrapper.mjs +3 -3
  39. package/esm2022/misc/html/html.mjs +3 -3
  40. package/esm2022/misc/sampler/sampler.mjs +6 -6
  41. package/esm2022/misc/shadow/shadow.mjs +3 -3
  42. package/esm2022/misc/stats-gl/stats-gl.mjs +3 -3
  43. package/esm2022/misc/trail/trail.mjs +6 -6
  44. package/esm2022/misc/trail-texture/inject-trail-texture.mjs +3 -3
  45. package/esm2022/modifiers/curve-modifier/curve-modifier.mjs +3 -3
  46. package/esm2022/performances/adaptive-dpr/adaptive-dpr.mjs +3 -3
  47. package/esm2022/performances/adaptive-events/adaptive-events.mjs +3 -3
  48. package/esm2022/performances/instances/instances.mjs +6 -6
  49. package/esm2022/performances/points/points-input.mjs +3 -3
  50. package/esm2022/performances/points/points.mjs +12 -12
  51. package/esm2022/performances/segments/segments.mjs +6 -6
  52. package/esm2022/shaders/wireframe-material/wireframe-material.mjs +3 -3
  53. package/esm2022/staging/accumulative-shadows/accumulative-shadows.mjs +3 -3
  54. package/esm2022/staging/accumulative-shadows/progressive-light-map.mjs +8 -8
  55. package/esm2022/staging/accumulative-shadows/randomized-lights.mjs +5 -5
  56. package/esm2022/staging/backdrop/backdrop.mjs +3 -3
  57. package/esm2022/staging/bb-anchor/bb-anchor.mjs +6 -6
  58. package/esm2022/staging/bounds/bounds.mjs +3 -3
  59. package/esm2022/staging/camera-shake/camera-shake.mjs +3 -3
  60. package/esm2022/staging/center/center.mjs +3 -3
  61. package/esm2022/staging/cloud/cloud.mjs +3 -3
  62. package/esm2022/staging/contact-shadows/contact-shadows.mjs +3 -3
  63. package/esm2022/staging/environment/environment-cube.mjs +3 -3
  64. package/esm2022/staging/environment/environment-ground.mjs +3 -3
  65. package/esm2022/staging/environment/environment-input.mjs +3 -3
  66. package/esm2022/staging/environment/environment-map.mjs +3 -3
  67. package/esm2022/staging/environment/environment-portal.mjs +3 -3
  68. package/esm2022/staging/environment/environment.mjs +3 -3
  69. package/esm2022/staging/environment/utils.mjs +3 -3
  70. package/esm2022/staging/float/float.mjs +3 -3
  71. package/esm2022/staging/matcap-texture/matcap-texture.mjs +3 -3
  72. package/esm2022/staging/normal-texture/normal-texture.mjs +3 -3
  73. package/esm2022/staging/sky/sky.mjs +3 -3
  74. package/esm2022/staging/sparkles/sparkles.mjs +3 -3
  75. package/esm2022/staging/spot-light/shadow-mesh-input.mjs +3 -3
  76. package/esm2022/staging/spot-light/shadow-mesh.mjs +12 -12
  77. package/esm2022/staging/spot-light/spot-light-input.mjs +3 -3
  78. package/esm2022/staging/spot-light/spot-light.mjs +3 -3
  79. package/esm2022/staging/spot-light/volumetric-mesh.mjs +3 -3
  80. package/esm2022/staging/stage/stage.mjs +6 -6
  81. package/esm2022/staging/stars/stars.mjs +3 -3
  82. package/esm2022/staging/wireframe/wireframe-input.mjs +3 -3
  83. package/esm2022/staging/wireframe/wireframe.mjs +9 -9
  84. package/esm2022/utils/content/content.mjs +3 -3
  85. package/fesm2022/angular-three-soba-abstractions.mjs +18 -18
  86. package/fesm2022/angular-three-soba-cameras.mjs +20 -20
  87. package/fesm2022/angular-three-soba-cameras.mjs.map +1 -1
  88. package/fesm2022/angular-three-soba-controls.mjs +9 -5
  89. package/fesm2022/angular-three-soba-controls.mjs.map +1 -1
  90. package/fesm2022/angular-three-soba-gizmos.mjs +27 -27
  91. package/fesm2022/angular-three-soba-loaders.mjs +11 -7
  92. package/fesm2022/angular-three-soba-loaders.mjs.map +1 -1
  93. package/fesm2022/angular-three-soba-materials.mjs +18 -18
  94. package/fesm2022/angular-three-soba-misc.mjs +37 -37
  95. package/fesm2022/angular-three-soba-misc.mjs.map +1 -1
  96. package/fesm2022/angular-three-soba-modifiers.mjs +3 -3
  97. package/fesm2022/angular-three-soba-performances.mjs +33 -33
  98. package/fesm2022/angular-three-soba-shaders.mjs +2 -2
  99. package/fesm2022/angular-three-soba-shaders.mjs.map +1 -1
  100. package/fesm2022/angular-three-soba-staging.mjs +111 -111
  101. package/fesm2022/angular-three-soba-staging.mjs.map +1 -1
  102. package/fesm2022/angular-three-soba-utils.mjs +3 -3
  103. package/package.json +7 -7
@@ -40,10 +40,10 @@ export class NgtsStageRefit {
40
40
  this.boundsApi().refresh().clip().fit();
41
41
  }
42
42
  }
43
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.2", ngImport: i0, type: NgtsStageRefit, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
44
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.2", type: NgtsStageRefit, isStandalone: true, selector: "ngts-stage-refit", inputs: { radius: "radius", adjustCamera: "adjustCamera" }, usesOnChanges: true, ngImport: i0 }); }
43
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsStageRefit, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
44
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.3", type: NgtsStageRefit, isStandalone: true, selector: "ngts-stage-refit", inputs: { radius: "radius", adjustCamera: "adjustCamera" }, usesOnChanges: true, ngImport: i0 }); }
45
45
  }
46
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.2", ngImport: i0, type: NgtsStageRefit, decorators: [{
46
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsStageRefit, decorators: [{
47
47
  type: Directive,
48
48
  args: [{ selector: 'ngts-stage-refit', standalone: true }]
49
49
  }], propDecorators: { radius: [{
@@ -115,8 +115,8 @@ export class NgtsStage {
115
115
  if (this.centered.observed)
116
116
  this.centered.emit($event);
117
117
  }
118
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.2", ngImport: i0, type: NgtsStage, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
119
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.2", type: NgtsStage, isStandalone: true, selector: "ngts-stage", inputs: { _preset: ["preset", "_preset"], _shadows: ["shadows", "_shadows"], _adjustCamera: ["adjustCamera", "_adjustCamera"], _environment: ["environment", "_environment"], _intensity: ["intensity", "_intensity"], _center: ["center", "_center"] }, outputs: { centered: "centered" }, ngImport: i0, template: `
118
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsStage, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
119
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.3", type: NgtsStage, isStandalone: true, selector: "ngts-stage", inputs: { _preset: ["preset", "_preset"], _shadows: ["shadows", "_shadows"], _adjustCamera: ["adjustCamera", "_adjustCamera"], _environment: ["environment", "_environment"], _intensity: ["intensity", "_intensity"], _center: ["center", "_center"] }, outputs: { centered: "centered" }, ngImport: i0, template: `
120
120
  <ngt-ambient-light [intensity]="intensity() / 3" />
121
121
  <ngt-spot-light
122
122
  [penumbra]="1"
@@ -232,7 +232,7 @@ export class NgtsStage {
232
232
  />
233
233
  `, isInline: true, dependencies: [{ kind: "directive", type: NgtArgs, selector: "ng-template[args]", inputs: ["args"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { 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", "disable", "precise", "cacheKey"], outputs: ["centered"] }, { 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: ["accumulativeShadowsRef", "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" }] }); }
234
234
  }
235
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.2", ngImport: i0, type: NgtsStage, decorators: [{
235
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsStage, decorators: [{
236
236
  type: Component,
237
237
  args: [{
238
238
  selector: 'ngts-stage',
@@ -70,8 +70,8 @@ export class NgtsStars {
70
70
  onBeforeRender({ object, state }) {
71
71
  object.uniforms['time'].value = state.clock.getElapsedTime() * this.inputs.get('speed');
72
72
  }
73
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.2", ngImport: i0, type: NgtsStars, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
74
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.2", type: NgtsStars, isStandalone: true, selector: "ngts-stars", inputs: { starsRef: "starsRef", _radius: ["radius", "_radius"], _depth: ["depth", "_depth"], _count: ["count", "_count"], _factor: ["factor", "_factor"], _saturation: ["saturation", "_saturation"], starsFade: ["fade", "starsFade"], _speed: ["speed", "_speed"] }, ngImport: i0, template: `
73
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsStars, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
74
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.3", type: NgtsStars, isStandalone: true, selector: "ngts-stars", inputs: { starsRef: "starsRef", _radius: ["radius", "_radius"], _depth: ["depth", "_depth"], _count: ["count", "_count"], _factor: ["factor", "_factor"], _saturation: ["saturation", "_saturation"], starsFade: ["fade", "starsFade"], _speed: ["speed", "_speed"] }, ngImport: i0, template: `
75
75
  <ngt-points [ref]="starsRef">
76
76
  <ngt-buffer-geometry>
77
77
  <ngt-buffer-attribute attach="attributes.position" *args="[attributes().positions, 3]" />
@@ -92,7 +92,7 @@ export class NgtsStars {
92
92
  </ngt-points>
93
93
  `, isInline: true, dependencies: [{ kind: "directive", type: NgtArgs, selector: "ng-template[args]", inputs: ["args"] }] }); }
94
94
  }
95
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.2", ngImport: i0, type: NgtsStars, decorators: [{
95
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsStars, decorators: [{
96
96
  type: Component,
97
97
  args: [{
98
98
  selector: 'ngts-stars',
@@ -131,10 +131,10 @@ export class NgtsWireframeInput {
131
131
  set _fill(fill) {
132
132
  this.inputs.set({ fill });
133
133
  }
134
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.2", ngImport: i0, type: NgtsWireframeInput, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
135
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.2", type: NgtsWireframeInput, inputs: { _geometry: ["geometry", "_geometry"], _simplify: ["simplify", "_simplify"], _fillOpacity: ["fillOpacity", "_fillOpacity"], _fillMix: ["fillMix", "_fillMix"], _strokeOpacity: ["strokeOpacity", "_strokeOpacity"], _thickness: ["thickness", "_thickness"], _colorBackfaces: ["colorBackfaces", "_colorBackfaces"], _dashInvert: ["dashInvert", "_dashInvert"], _dash: ["dash", "_dash"], _dashRepeats: ["dashRepeats", "_dashRepeats"], _dashLength: ["dashLength", "_dashLength"], _squeeze: ["squeeze", "_squeeze"], _squeezeMin: ["squeezeMin", "_squeezeMin"], _squeezeMax: ["squeezeMax", "_squeezeMax"], _stroke: ["stroke", "_stroke"], _backfaceStroke: ["backfaceStroke", "_backfaceStroke"], _fill: ["fill", "_fill"] }, ngImport: i0 }); }
134
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsWireframeInput, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
135
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.3", type: NgtsWireframeInput, inputs: { _geometry: ["geometry", "_geometry"], _simplify: ["simplify", "_simplify"], _fillOpacity: ["fillOpacity", "_fillOpacity"], _fillMix: ["fillMix", "_fillMix"], _strokeOpacity: ["strokeOpacity", "_strokeOpacity"], _thickness: ["thickness", "_thickness"], _colorBackfaces: ["colorBackfaces", "_colorBackfaces"], _dashInvert: ["dashInvert", "_dashInvert"], _dash: ["dash", "_dash"], _dashRepeats: ["dashRepeats", "_dashRepeats"], _dashLength: ["dashLength", "_dashLength"], _squeeze: ["squeeze", "_squeeze"], _squeezeMin: ["squeezeMin", "_squeezeMin"], _squeezeMax: ["squeezeMax", "_squeezeMax"], _stroke: ["stroke", "_stroke"], _backfaceStroke: ["backfaceStroke", "_backfaceStroke"], _fill: ["fill", "_fill"] }, ngImport: i0 }); }
136
136
  }
137
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.2", ngImport: i0, type: NgtsWireframeInput, decorators: [{
137
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsWireframeInput, decorators: [{
138
138
  type: Directive
139
139
  }], propDecorators: { _geometry: [{
140
140
  type: Input,
@@ -102,12 +102,12 @@ export class NgtsWireframeWithoutCustomGeometry {
102
102
  });
103
103
  });
104
104
  }
105
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.2", ngImport: i0, type: NgtsWireframeWithoutCustomGeometry, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
106
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.2", type: NgtsWireframeWithoutCustomGeometry, isStandalone: true, selector: "ngts-wireframe-without-custom-geometry", ngImport: i0, template: `
105
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsWireframeWithoutCustomGeometry, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
106
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.3", type: NgtsWireframeWithoutCustomGeometry, isStandalone: true, selector: "ngts-wireframe-without-custom-geometry", ngImport: i0, template: `
107
107
  <ngt-object3D [ref]="objectRef" />
108
108
  `, isInline: true }); }
109
109
  }
110
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.2", ngImport: i0, type: NgtsWireframeWithoutCustomGeometry, decorators: [{
110
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsWireframeWithoutCustomGeometry, decorators: [{
111
111
  type: Component,
112
112
  args: [{
113
113
  selector: 'ngts-wireframe-without-custom-geometry',
@@ -135,8 +135,8 @@ export class NgtsWireframeWithCustomGeometry {
135
135
  }
136
136
  });
137
137
  }
138
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.2", ngImport: i0, type: NgtsWireframeWithCustomGeometry, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
139
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.2", type: NgtsWireframeWithCustomGeometry, isStandalone: true, selector: "ngts-wireframe-with-custom-geometry", ngImport: i0, template: `
138
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsWireframeWithCustomGeometry, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
139
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.3", type: NgtsWireframeWithCustomGeometry, isStandalone: true, selector: "ngts-wireframe-with-custom-geometry", ngImport: i0, template: `
140
140
  <ngt-mesh *ngIf="drawnGeometry() as geometry" [geometry]="geometry">
141
141
  <ngt-wireframe-material
142
142
  attach="material"
@@ -164,7 +164,7 @@ export class NgtsWireframeWithCustomGeometry {
164
164
  </ngt-mesh>
165
165
  `, isInline: true, dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
166
166
  }
167
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.2", ngImport: i0, type: NgtsWireframeWithCustomGeometry, decorators: [{
167
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsWireframeWithCustomGeometry, decorators: [{
168
168
  type: Component,
169
169
  args: [{
170
170
  selector: 'ngts-wireframe-with-custom-geometry',
@@ -201,15 +201,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.2", ngImpor
201
201
  }]
202
202
  }], ctorParameters: function () { return []; } });
203
203
  export class NgtsWireframe extends NgtsWireframeInput {
204
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.2", ngImport: i0, type: NgtsWireframe, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
205
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.2", type: NgtsWireframe, isStandalone: true, selector: "ngts-wireframe", providers: [{ provide: NgtsWireframeInput, useExisting: NgtsWireframe }], usesInheritance: true, ngImport: i0, template: `
204
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsWireframe, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
205
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.3", type: NgtsWireframe, isStandalone: true, selector: "ngts-wireframe", providers: [{ provide: NgtsWireframeInput, useExisting: NgtsWireframe }], usesInheritance: true, ngImport: i0, template: `
206
206
  <ngts-wireframe-with-custom-geometry *ngIf="geometry(); else withoutCustomGeometry" />
207
207
  <ng-template #withoutCustomGeometry>
208
208
  <ngts-wireframe-without-custom-geometry />
209
209
  </ng-template>
210
210
  `, isInline: true, dependencies: [{ kind: "component", type: NgtsWireframeWithoutCustomGeometry, selector: "ngts-wireframe-without-custom-geometry" }, { kind: "component", type: NgtsWireframeWithCustomGeometry, selector: "ngts-wireframe-with-custom-geometry" }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
211
211
  }
212
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.2", ngImport: i0, type: NgtsWireframe, decorators: [{
212
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsWireframe, decorators: [{
213
213
  type: Component,
214
214
  args: [{
215
215
  selector: 'ngts-wireframe',
@@ -5,10 +5,10 @@ export class NgtsSobaContent {
5
5
  this.injector = inject(Injector);
6
6
  this.template = inject(TemplateRef);
7
7
  }
8
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.2", ngImport: i0, type: NgtsSobaContent, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
9
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.2", type: NgtsSobaContent, isStandalone: true, selector: "ng-template[ngtsSobaContent]", exportAs: ["sobaContent"], ngImport: i0 }); }
8
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsSobaContent, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
9
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.3", type: NgtsSobaContent, isStandalone: true, selector: "ng-template[ngtsSobaContent]", exportAs: ["sobaContent"], ngImport: i0 }); }
10
10
  }
11
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.2", ngImport: i0, type: NgtsSobaContent, decorators: [{
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsSobaContent, decorators: [{
12
12
  type: Directive,
13
13
  args: [{ selector: 'ng-template[ngtsSobaContent]', standalone: true, exportAs: 'sobaContent' }]
14
14
  }] });
@@ -44,14 +44,14 @@ class NgtsBillboard {
44
44
  ref.rotation.z = prevRotation.z;
45
45
  });
46
46
  }
47
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.2", ngImport: i0, type: NgtsBillboard, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
48
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.2", type: NgtsBillboard, isStandalone: true, selector: "ngts-billboard", inputs: { billboardRef: "billboardRef", _follow: ["follow", "_follow"], _lockX: ["lockX", "_lockX"], _lockY: ["lockY", "_lockY"], _lockZ: ["lockZ", "_lockZ"] }, ngImport: i0, template: `
47
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsBillboard, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
48
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.3", type: NgtsBillboard, isStandalone: true, selector: "ngts-billboard", inputs: { billboardRef: "billboardRef", _follow: ["follow", "_follow"], _lockX: ["lockX", "_lockX"], _lockY: ["lockY", "_lockY"], _lockZ: ["lockZ", "_lockZ"] }, ngImport: i0, template: `
49
49
  <ngt-group ngtCompound [ref]="billboardRef">
50
50
  <ng-content />
51
51
  </ngt-group>
52
52
  `, isInline: true }); }
53
53
  }
54
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.2", ngImport: i0, type: NgtsBillboard, decorators: [{
54
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsBillboard, decorators: [{
55
55
  type: Component,
56
56
  args: [{
57
57
  selector: 'ngts-billboard',
@@ -110,14 +110,14 @@ class NgtsDetailed {
110
110
  });
111
111
  });
112
112
  }
113
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.2", ngImport: i0, type: NgtsDetailed, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
114
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.2", type: NgtsDetailed, isStandalone: true, selector: "ngts-detailed", inputs: { lodRef: "lodRef", _distances: ["distances", "_distances"], _hysteresis: ["hysteresis", "_hysteresis"] }, ngImport: i0, template: `
113
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsDetailed, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
114
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.3", type: NgtsDetailed, isStandalone: true, selector: "ngts-detailed", inputs: { lodRef: "lodRef", _distances: ["distances", "_distances"], _hysteresis: ["hysteresis", "_hysteresis"] }, ngImport: i0, template: `
115
115
  <ngt-lOD ngtCompound [ref]="lodRef" (beforeRender)="onBeforeRender($event)">
116
116
  <ng-content />
117
117
  </ngt-lOD>
118
118
  `, isInline: true }); }
119
119
  }
120
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.2", ngImport: i0, type: NgtsDetailed, decorators: [{
120
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsDetailed, decorators: [{
121
121
  type: Component,
122
122
  args: [{
123
123
  selector: 'ngts-detailed',
@@ -175,8 +175,8 @@ class NgtsEdges {
175
175
  }
176
176
  });
177
177
  }
178
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.2", ngImport: i0, type: NgtsEdges, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
179
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.2", type: NgtsEdges, isStandalone: true, selector: "ngts-edges", inputs: { edgesRef: "edgesRef", _threshold: ["threshold", "_threshold"], _color: ["color", "_color"], _geometry: ["geometry", "_geometry"], _userData: ["userData", "_userData"] }, queries: [{ propertyName: "content", first: true, predicate: NgtsSobaContent, descendants: true, read: TemplateRef }], ngImport: i0, template: `
178
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsEdges, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
179
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.3", type: NgtsEdges, isStandalone: true, selector: "ngts-edges", inputs: { edgesRef: "edgesRef", _threshold: ["threshold", "_threshold"], _color: ["color", "_color"], _geometry: ["geometry", "_geometry"], _userData: ["userData", "_userData"] }, queries: [{ propertyName: "content", first: true, predicate: NgtsSobaContent, descendants: true, read: TemplateRef }], ngImport: i0, template: `
180
180
  <ngt-line-segments [ref]="edgesRef" [raycast]="nullRaycast" ngtCompound>
181
181
  <ng-container *ngIf="content; else defaultMaterial" [ngTemplateOutlet]="content" />
182
182
  <ng-template #defaultMaterial>
@@ -185,7 +185,7 @@ class NgtsEdges {
185
185
  </ngt-line-segments>
186
186
  `, isInline: true, dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] }); }
187
187
  }
188
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.2", ngImport: i0, type: NgtsEdges, decorators: [{
188
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsEdges, decorators: [{
189
189
  type: Component,
190
190
  args: [{
191
191
  selector: 'ngts-edges',
@@ -300,8 +300,8 @@ class NgtsGrid {
300
300
  worldPlanePosition.value.set(0, 0, 0).applyMatrix4(this.gridRef.nativeElement.matrixWorld);
301
301
  });
302
302
  }
303
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.2", ngImport: i0, type: NgtsGrid, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
304
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.2", type: NgtsGrid, isStandalone: true, selector: "ngts-grid", inputs: { gridRef: "gridRef", _cellSize: ["cellSize", "_cellSize"], _cellThickness: ["cellThickness", "_cellThickness"], _cellColor: ["cellColor", "_cellColor"], _sectionSize: ["sectionSize", "_sectionSize"], _sectionThickness: ["sectionThickness", "_sectionThickness"], _sectionColor: ["sectionColor", "_sectionColor"], _followCamera: ["followCamera", "_followCamera"], _infiniteGrid: ["infiniteGrid", "_infiniteGrid"], _fadeDistance: ["fadeDistance", "_fadeDistance"], _fadeStrength: ["fadeStrength", "_fadeStrength"], _side: ["side", "_side"], _args: ["args", "_args"] }, ngImport: i0, template: `
303
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsGrid, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
304
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.3", type: NgtsGrid, isStandalone: true, selector: "ngts-grid", inputs: { gridRef: "gridRef", _cellSize: ["cellSize", "_cellSize"], _cellThickness: ["cellThickness", "_cellThickness"], _cellColor: ["cellColor", "_cellColor"], _sectionSize: ["sectionSize", "_sectionSize"], _sectionThickness: ["sectionThickness", "_sectionThickness"], _sectionColor: ["sectionColor", "_sectionColor"], _followCamera: ["followCamera", "_followCamera"], _infiniteGrid: ["infiniteGrid", "_infiniteGrid"], _fadeDistance: ["fadeDistance", "_fadeDistance"], _fadeStrength: ["fadeStrength", "_fadeStrength"], _side: ["side", "_side"], _args: ["args", "_args"] }, ngImport: i0, template: `
305
305
  <ngt-mesh ngtCompound [ref]="gridRef" [frustumCulled]="false">
306
306
  <ngt-plane-geometry *args="args()" />
307
307
  <ngt-grid-material
@@ -324,7 +324,7 @@ class NgtsGrid {
324
324
  </ngt-mesh>
325
325
  `, isInline: true, dependencies: [{ kind: "directive", type: NgtArgs, selector: "ng-template[args]", inputs: ["args"] }] }); }
326
326
  }
327
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.2", ngImport: i0, type: NgtsGrid, decorators: [{
327
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsGrid, decorators: [{
328
328
  type: Component,
329
329
  args: [{
330
330
  selector: 'ngts-grid',
@@ -496,15 +496,15 @@ class NgtsText3D {
496
496
  }
497
497
  });
498
498
  }
499
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.2", ngImport: i0, type: NgtsText3D, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
500
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.2", type: NgtsText3D, isStandalone: true, selector: "ngts-text-3d", inputs: { textRef: "textRef", _font: ["font", "_font"], _text: ["text", "_text"], _bevelEnabled: ["bevelEnabled", "_bevelEnabled"], _bevelOffset: ["bevelOffset", "_bevelOffset"], _bevelSize: ["bevelSize", "_bevelSize"], _bevelThickness: ["bevelThickness", "_bevelThickness"], _curveSegments: ["curveSegments", "_curveSegments"], _bevelSegments: ["bevelSegments", "_bevelSegments"], _height: ["height", "_height"], _size: ["size", "_size"], _lineHeight: ["lineHeight", "_lineHeight"], _letterSpacing: ["letterSpacing", "_letterSpacing"], _smooth: ["smooth", "_smooth"] }, ngImport: i0, template: `
499
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsText3D, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
500
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.3", type: NgtsText3D, isStandalone: true, selector: "ngts-text-3d", inputs: { textRef: "textRef", _font: ["font", "_font"], _text: ["text", "_text"], _bevelEnabled: ["bevelEnabled", "_bevelEnabled"], _bevelOffset: ["bevelOffset", "_bevelOffset"], _bevelSize: ["bevelSize", "_bevelSize"], _bevelThickness: ["bevelThickness", "_bevelThickness"], _curveSegments: ["curveSegments", "_curveSegments"], _bevelSegments: ["bevelSegments", "_bevelSegments"], _height: ["height", "_height"], _size: ["size", "_size"], _lineHeight: ["lineHeight", "_lineHeight"], _letterSpacing: ["letterSpacing", "_letterSpacing"], _smooth: ["smooth", "_smooth"] }, ngImport: i0, template: `
501
501
  <ngt-mesh ngtCompound [ref]="textRef">
502
502
  <ngt-text-geometry *args="geometryArgs()" />
503
503
  <ng-content />
504
504
  </ngt-mesh>
505
505
  `, isInline: true, dependencies: [{ kind: "directive", type: NgtArgs, selector: "ng-template[args]", inputs: ["args"] }] }); }
506
506
  }
507
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.2", ngImport: i0, type: NgtsText3D, decorators: [{
507
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsText3D, decorators: [{
508
508
  type: Component,
509
509
  args: [{
510
510
  selector: 'ngts-text-3d',
@@ -683,8 +683,8 @@ class NgtsText {
683
683
  });
684
684
  });
685
685
  }
686
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.2", ngImport: i0, type: NgtsText, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
687
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.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" }, ngImport: i0, template: `
686
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsText, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
687
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.3", 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" }, ngImport: i0, template: `
688
688
  <ngt-primitive
689
689
  ngtCompound
690
690
  *args="[troikaText]"
@@ -722,7 +722,7 @@ class NgtsText {
722
722
  </ngt-primitive>
723
723
  `, isInline: true, dependencies: [{ kind: "directive", type: NgtArgs, selector: "ng-template[args]", inputs: ["args"] }] }); }
724
724
  }
725
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.2", ngImport: i0, type: NgtsText, decorators: [{
725
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsText, decorators: [{
726
726
  type: Component,
727
727
  args: [{
728
728
  selector: 'ngts-text',
@@ -3,7 +3,7 @@ import { inject, TemplateRef, Directive, Input, runInInjectionContext, computed,
3
3
  import * as THREE from 'three';
4
4
  import { Group, OrthographicCamera, PerspectiveCamera } from 'three';
5
5
  import { NgTemplateOutlet, NgIf } from '@angular/common';
6
- import { assertInjectionContext, injectNgtStore, extend, signalStore, injectNgtRef, injectBeforeRender, NgtArgs } from 'angular-three';
6
+ import { assertInjector, injectNgtStore, extend, signalStore, injectNgtRef, injectBeforeRender, NgtArgs } from 'angular-three';
7
7
  import { injectNgtsFBO } from 'angular-three-soba/misc';
8
8
 
9
9
  class NgtsCameraContent {
@@ -14,10 +14,10 @@ class NgtsCameraContent {
14
14
  static ngTemplateContextGuard(_, ctx) {
15
15
  return true;
16
16
  }
17
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.2", ngImport: i0, type: NgtsCameraContent, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
18
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.2", type: NgtsCameraContent, isStandalone: true, selector: "ng-template[ngtsCameraContent]", inputs: { ngtsCameraContent: "ngtsCameraContent" }, ngImport: i0 }); }
17
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsCameraContent, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
18
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.3", type: NgtsCameraContent, isStandalone: true, selector: "ng-template[ngtsCameraContent]", inputs: { ngtsCameraContent: "ngtsCameraContent" }, ngImport: i0 }); }
19
19
  }
20
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.2", ngImport: i0, type: NgtsCameraContent, decorators: [{
20
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsCameraContent, decorators: [{
21
21
  type: Directive,
22
22
  args: [{ selector: 'ng-template[ngtsCameraContent]', standalone: true }]
23
23
  }], propDecorators: { ngtsCameraContent: [{
@@ -30,7 +30,7 @@ const defaultCubeCameraState = {
30
30
  far: 1000,
31
31
  };
32
32
  function injectNgtsCubeCamera(cubeCameraState, { injector } = {}) {
33
- injector = assertInjectionContext(injectNgtsCubeCamera, injector);
33
+ injector = assertInjector(injectNgtsCubeCamera, injector);
34
34
  return runInInjectionContext(injector, () => {
35
35
  const state = computed(() => ({ ...defaultCubeCameraState, ...cubeCameraState() }));
36
36
  const resolution = computed(() => state().resolution);
@@ -71,10 +71,10 @@ class NgtsCubeCameraContent {
71
71
  static ngTemplateContextGuard(_, ctx) {
72
72
  return true;
73
73
  }
74
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.2", ngImport: i0, type: NgtsCubeCameraContent, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
75
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.2", type: NgtsCubeCameraContent, isStandalone: true, selector: "ng-template[ngtsCubeCameraContent]", ngImport: i0 }); }
74
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsCubeCameraContent, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
75
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.3", type: NgtsCubeCameraContent, isStandalone: true, selector: "ng-template[ngtsCubeCameraContent]", ngImport: i0 }); }
76
76
  }
77
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.2", ngImport: i0, type: NgtsCubeCameraContent, decorators: [{
77
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsCubeCameraContent, decorators: [{
78
78
  type: Directive,
79
79
  args: [{ selector: 'ng-template[ngtsCubeCameraContent]', standalone: true }]
80
80
  }] });
@@ -128,8 +128,8 @@ class NgtsCubeCamera {
128
128
  }
129
129
  });
130
130
  }
131
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.2", ngImport: i0, type: NgtsCubeCamera, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
132
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.2", type: NgtsCubeCamera, isStandalone: true, selector: "ngts-cube-camera", inputs: { cameraRef: "cameraRef", _resolution: ["resolution", "_resolution"], _near: ["near", "_near"], _far: ["far", "_far"], _envMap: ["envMap", "_envMap"], _fog: ["fog", "_fog"] }, queries: [{ propertyName: "cameraContent", first: true, predicate: NgtsCubeCameraContent, descendants: true, read: TemplateRef, static: true }], viewQueries: [{ propertyName: "anchor", first: true, predicate: ["anchor"], descendants: true, read: ViewContainerRef, static: true }], ngImport: i0, template: `
131
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsCubeCamera, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
132
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.3", type: NgtsCubeCamera, isStandalone: true, selector: "ngts-cube-camera", inputs: { cameraRef: "cameraRef", _resolution: ["resolution", "_resolution"], _near: ["near", "_near"], _far: ["far", "_far"], _envMap: ["envMap", "_envMap"], _fog: ["fog", "_fog"] }, queries: [{ propertyName: "cameraContent", first: true, predicate: NgtsCubeCameraContent, descendants: true, read: TemplateRef, static: true }], viewQueries: [{ propertyName: "anchor", first: true, predicate: ["anchor"], descendants: true, read: ViewContainerRef, static: true }], ngImport: i0, template: `
133
133
  <ngt-group ngtCompound>
134
134
  <ngt-primitive *args="[cubeCamera.camera()]" />
135
135
  <ngt-group [ref]="cameraRef">
@@ -138,7 +138,7 @@ class NgtsCubeCamera {
138
138
  </ngt-group>
139
139
  `, isInline: true, dependencies: [{ kind: "directive", type: NgtArgs, selector: "ng-template[args]", inputs: ["args"] }] }); }
140
140
  }
141
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.2", ngImport: i0, type: NgtsCubeCamera, decorators: [{
141
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsCubeCamera, decorators: [{
142
142
  type: Component,
143
143
  args: [{
144
144
  selector: 'ngts-cube-camera',
@@ -228,10 +228,10 @@ class NgtsCamera {
228
228
  camera.updateProjectionMatrix();
229
229
  });
230
230
  }
231
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.2", ngImport: i0, type: NgtsCamera, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
232
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.2", type: NgtsCamera, inputs: { _makeDefault: ["makeDefault", "_makeDefault"], _manual: ["manual", "_manual"], _frames: ["frames", "_frames"], _resolution: ["resolution", "_resolution"], _envMap: ["envMap", "_envMap"], cameraRef: "cameraRef" }, ngImport: i0 }); }
231
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsCamera, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
232
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.3", type: NgtsCamera, inputs: { _makeDefault: ["makeDefault", "_makeDefault"], _manual: ["manual", "_manual"], _frames: ["frames", "_frames"], _resolution: ["resolution", "_resolution"], _envMap: ["envMap", "_envMap"], cameraRef: "cameraRef" }, ngImport: i0 }); }
233
233
  }
234
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.2", ngImport: i0, type: NgtsCamera, decorators: [{
234
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsCamera, decorators: [{
235
235
  type: Directive
236
236
  }], ctorParameters: function () { return []; }, propDecorators: { _makeDefault: [{
237
237
  type: Input,
@@ -284,8 +284,8 @@ class NgtsOrthographicCamera extends NgtsCamera {
284
284
  set _bottom(bottom) {
285
285
  this.orthographicInputs.set({ bottom });
286
286
  }
287
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.2", ngImport: i0, type: NgtsOrthographicCamera, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
288
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.2", type: NgtsOrthographicCamera, isStandalone: true, selector: "ngts-orthographic-camera", inputs: { _left: ["left", "_left"], _right: ["right", "_right"], _top: ["top", "_top"], _bottom: ["bottom", "_bottom"] }, queries: [{ propertyName: "cameraContent", first: true, predicate: NgtsCameraContent, descendants: true }], usesInheritance: true, ngImport: i0, template: `
287
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsOrthographicCamera, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
288
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.3", type: NgtsOrthographicCamera, isStandalone: true, selector: "ngts-orthographic-camera", inputs: { _left: ["left", "_left"], _right: ["right", "_right"], _top: ["top", "_top"], _bottom: ["bottom", "_bottom"] }, queries: [{ propertyName: "cameraContent", first: true, predicate: NgtsCameraContent, descendants: true }], usesInheritance: true, ngImport: i0, template: `
289
289
  <ngt-orthographic-camera
290
290
  ngtCompound
291
291
  [ref]="cameraRef"
@@ -304,7 +304,7 @@ class NgtsOrthographicCamera extends NgtsCamera {
304
304
  </ngt-group>
305
305
  `, isInline: true, dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] }); }
306
306
  }
307
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.2", ngImport: i0, type: NgtsOrthographicCamera, decorators: [{
307
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsOrthographicCamera, decorators: [{
308
308
  type: Component,
309
309
  args: [{
310
310
  selector: 'ngts-orthographic-camera',
@@ -349,8 +349,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.2", ngImpor
349
349
 
350
350
  extend({ PerspectiveCamera, Group });
351
351
  class NgtsPerspectiveCamera extends NgtsCamera {
352
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.2", ngImport: i0, type: NgtsPerspectiveCamera, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
353
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.2", type: NgtsPerspectiveCamera, isStandalone: true, selector: "ngts-perspective-camera", queries: [{ propertyName: "cameraContent", first: true, predicate: NgtsCameraContent, descendants: true }], usesInheritance: true, ngImport: i0, template: `
352
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsPerspectiveCamera, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
353
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.3", type: NgtsPerspectiveCamera, isStandalone: true, selector: "ngts-perspective-camera", queries: [{ propertyName: "cameraContent", first: true, predicate: NgtsCameraContent, descendants: true }], usesInheritance: true, ngImport: i0, template: `
354
354
  <ngt-perspective-camera [ref]="cameraRef" ngtCompound>
355
355
  <ng-container
356
356
  *ngIf="cameraContent && !cameraContent.ngtsCameraContent"
@@ -362,7 +362,7 @@ class NgtsPerspectiveCamera extends NgtsCamera {
362
362
  </ngt-group>
363
363
  `, isInline: true, dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] }); }
364
364
  }
365
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.2", ngImport: i0, type: NgtsPerspectiveCamera, decorators: [{
365
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsPerspectiveCamera, decorators: [{
366
366
  type: Component,
367
367
  args: [{
368
368
  selector: 'ngts-perspective-camera',
@@ -1 +1 @@
1
- {"version":3,"file":"angular-three-soba-cameras.mjs","sources":["../../../../libs/soba/cameras/src/camera/camera-content.ts","../../../../libs/soba/cameras/src/cube-camera/cube-camera.ts","../../../../libs/soba/cameras/src/camera/camera.ts","../../../../libs/soba/cameras/src/orthographic-camera/orthographic-camera.ts","../../../../libs/soba/cameras/src/perspective-camera/perspective-camera.ts","../../../../libs/soba/cameras/src/angular-three-soba-cameras.ts"],"sourcesContent":["import { Directive, inject, Input, TemplateRef } from '@angular/core';\nimport * as THREE from 'three';\n\n@Directive({ selector: 'ng-template[ngtsCameraContent]', standalone: true })\nexport class NgtsCameraContent {\n\ttemplate = inject(TemplateRef);\n\t@Input() ngtsCameraContent: true | '' = '';\n\n\tstatic ngTemplateContextGuard(\n\t\t_: NgtsCameraContent,\n\t\tctx: unknown,\n\t): ctx is { fbo: THREE.WebGLRenderTarget; group?: THREE.Group } {\n\t\treturn true;\n\t}\n}\n","import { NgTemplateOutlet } from '@angular/common';\nimport {\n\tCUSTOM_ELEMENTS_SCHEMA,\n\tComponent,\n\tContentChild,\n\tDestroyRef,\n\tDirective,\n\tEmbeddedViewRef,\n\tInput,\n\tTemplateRef,\n\tViewChild,\n\tViewContainerRef,\n\tcomputed,\n\teffect,\n\tinject,\n\trunInInjectionContext,\n\tuntracked,\n\ttype Injector,\n\ttype OnInit,\n\ttype Signal,\n} from '@angular/core';\nimport {\n\tNgtArgs,\n\tassertInjectionContext,\n\textend,\n\tinjectBeforeRender,\n\tinjectNgtRef,\n\tinjectNgtStore,\n\tsignalStore,\n\ttype NgtGroup,\n} from 'angular-three';\nimport * as THREE from 'three';\nimport { Group } from 'three';\n\nexport type NgtsCubeCameraState = {\n\t/** Resolution of the FBO, 256 */\n\tresolution: number;\n\t/** Camera near, 0.1 */\n\tnear: number;\n\t/** Camera far, 1000 */\n\tfar: number;\n\t/** Custom environment map that is temporarily set as the scenes background */\n\tenvMap?: THREE.Texture;\n\t/** Custom fog that is temporarily set as the scenes fog */\n\tfog?: THREE.Fog | THREE.FogExp2;\n};\n\nconst defaultCubeCameraState = {\n\tresolution: 256,\n\tnear: 0.1,\n\tfar: 1000,\n} satisfies NgtsCubeCameraState;\n\nexport function injectNgtsCubeCamera(\n\tcubeCameraState: () => Partial<NgtsCubeCameraState>,\n\t{ injector }: { injector?: Injector } = {},\n) {\n\tinjector = assertInjectionContext(injectNgtsCubeCamera, injector);\n\treturn runInInjectionContext(injector, () => {\n\t\tconst state = computed(() => ({ ...defaultCubeCameraState, ...cubeCameraState() }));\n\t\tconst resolution = computed(() => state().resolution);\n\t\tconst near = computed(() => state().near);\n\t\tconst far = computed(() => state().far);\n\n\t\tconst store = injectNgtStore();\n\n\t\tconst _gl = store.select('gl');\n\t\tconst _scene = store.select('scene');\n\n\t\tconst _fbo = computed(() => {\n\t\t\tconst renderTarget = new THREE.WebGLCubeRenderTarget(resolution());\n\t\t\trenderTarget.texture.type = THREE.HalfFloatType;\n\t\t\treturn renderTarget;\n\t\t});\n\n\t\teffect((onCleanup) => {\n\t\t\tconst fbo = _fbo();\n\t\t\tonCleanup(() => fbo.dispose());\n\t\t});\n\n\t\tconst _camera = computed(() => new THREE.CubeCamera(near(), far(), _fbo()));\n\n\t\tlet originalFog: THREE.Scene['fog'];\n\t\tlet originalBackground: THREE.Scene['background'];\n\n\t\tconst update = computed(() => {\n\t\t\tconst [scene, gl, camera, { envMap, fog }] = [_scene(), _gl(), _camera(), untracked(state)];\n\n\t\t\treturn () => {\n\t\t\t\toriginalFog = scene.fog;\n\t\t\t\toriginalBackground = scene.background;\n\t\t\t\tscene.background = envMap || originalBackground;\n\t\t\t\tscene.fog = fog || originalFog;\n\t\t\t\tcamera.update(gl, scene);\n\t\t\t\tscene.fog = originalFog;\n\t\t\t\tscene.background = originalBackground;\n\t\t\t};\n\t\t});\n\n\t\treturn { fbo: _fbo, camera: _camera, update };\n\t});\n}\n\nextend({ Group });\n\nexport type NgtsCubeCameraComponentState = NgtsCubeCameraState & {\n\tframes: number;\n};\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t/**\n\t\t * @extends ngt-group\n\t\t */\n\t\t'ngts-cube-camera': NgtsCubeCameraComponentState & NgtGroup;\n\t}\n}\n\n@Directive({ selector: 'ng-template[ngtsCubeCameraContent]', standalone: true })\nexport class NgtsCubeCameraContent {\n\tstatic ngTemplateContextGuard(\n\t\t_: NgtsCubeCameraContent,\n\t\tctx: unknown,\n\t): ctx is { texture: Signal<THREE.WebGLRenderTarget['texture']> } {\n\t\treturn true;\n\t}\n}\n\n@Component({\n\tselector: 'ngts-cube-camera',\n\tstandalone: true,\n\ttemplate: `\n\t\t<ngt-group ngtCompound>\n\t\t\t<ngt-primitive *args=\"[cubeCamera.camera()]\" />\n\t\t\t<ngt-group [ref]=\"cameraRef\">\n\t\t\t\t<ng-container #anchor />\n\t\t\t</ngt-group>\n\t\t</ngt-group>\n\t`,\n\timports: [NgtArgs, NgTemplateOutlet],\n\tschemas: [CUSTOM_ELEMENTS_SCHEMA],\n})\nexport class NgtsCubeCamera implements OnInit {\n\tprivate inputs = signalStore<NgtsCubeCameraComponentState>({ frames: Infinity });\n\n\t@Input() cameraRef = injectNgtRef<Group>();\n\n\t@ContentChild(NgtsCubeCameraContent, { static: true, read: TemplateRef })\n\tprivate cameraContent!: TemplateRef<{ texture: Signal<THREE.WebGLRenderTarget['texture']> }>;\n\n\t@ViewChild('anchor', { static: true, read: ViewContainerRef })\n\tprivate anchor!: ViewContainerRef;\n\n\t/** Resolution of the FBO, 256 */\n\t@Input({ alias: 'resolution' }) set _resolution(resolution: number) {\n\t\tthis.inputs.set({ resolution });\n\t}\n\n\t/** Camera near, 0.1 */\n\t@Input({ alias: 'near' }) set _near(near: number) {\n\t\tthis.inputs.set({ near });\n\t}\n\n\t/** Camera far, 1000 */\n\t@Input({ alias: 'far' }) set _far(far: number) {\n\t\tthis.inputs.set({ far });\n\t}\n\n\t/** Custom environment map that is temporarily set as the scenes background */\n\t@Input({ alias: 'envMap' }) set _envMap(envMap: THREE.Texture) {\n\t\tthis.inputs.set({ envMap });\n\t}\n\n\t/** Custom fog that is temporarily set as the scenes fog */\n\t@Input({ alias: 'fog' }) set _fog(fog: THREE.Fog | THREE.FogExp2) {\n\t\tthis.inputs.set({ fog });\n\t}\n\n\tcubeCamera = injectNgtsCubeCamera(this.inputs.state);\n\tprivate texture = computed(() => this.cubeCamera.fbo().texture);\n\tprivate contentRef?: EmbeddedViewRef<unknown>;\n\n\tconstructor() {\n\t\tthis.beforeRender();\n\t\tinject(DestroyRef).onDestroy(() => {\n\t\t\tthis.contentRef?.destroy();\n\t\t});\n\t}\n\n\tngOnInit() {\n\t\tthis.contentRef = this.anchor.createEmbeddedView(this.cameraContent, { texture: this.texture });\n\t}\n\n\tprivate beforeRender() {\n\t\tlet count = 0;\n\t\tinjectBeforeRender(() => {\n\t\t\tconst camera = this.cameraRef.nativeElement;\n\t\t\tif (!camera) return;\n\t\t\tconst update = this.cubeCamera.update();\n\t\t\tconst frames = this.inputs.get('frames');\n\t\t\tif (frames === Infinity || count < frames) {\n\t\t\t\tcamera.visible = false;\n\t\t\t\tupdate();\n\t\t\t\tcamera.visible = true;\n\t\t\t\tcount++;\n\t\t\t}\n\t\t});\n\t}\n}\n","import { Directive, effect, Input } from '@angular/core';\nimport { injectNgtRef, injectNgtStore, signalStore, type NgtCamera } from 'angular-three';\nimport { injectNgtsFBO } from 'angular-three-soba/misc';\n\nexport type NgtsCameraState = {\n\tmakeDefault: boolean;\n\tmanual: boolean;\n\tframes: number;\n\tresolution: number;\n\tenvMap?: THREE.Texture;\n};\n\n@Directive()\nexport abstract class NgtsCamera<TCamera extends NgtCamera> {\n\tprotected inputs = signalStore<NgtsCameraState>({\n\t\tresolution: 256,\n\t\tframes: Infinity,\n\t\tmakeDefault: false,\n\t\tmanual: false,\n\t});\n\n\t@Input({ alias: 'makeDefault' }) set _makeDefault(makeDefault: boolean) {\n\t\tthis.inputs.set({ makeDefault });\n\t}\n\n\t@Input({ alias: 'manual' }) set _manual(manual: boolean) {\n\t\tthis.inputs.set({ manual });\n\t}\n\n\t@Input({ alias: 'frames' }) set _frames(frames: number) {\n\t\tthis.inputs.set({ frames });\n\t}\n\n\t@Input({ alias: 'resolution' }) set _resolution(resolution: number) {\n\t\tthis.inputs.set({ resolution });\n\t}\n\n\t@Input({ alias: 'envMap' }) set _envMap(envMap: THREE.Texture) {\n\t\tthis.inputs.set({ envMap });\n\t}\n\n\t@Input() cameraRef = injectNgtRef<TCamera>();\n\n\tprivate cameraResolution = this.inputs.select('resolution');\n\n\tprotected store = injectNgtStore();\n\tprotected fboRef = injectNgtsFBO(() => ({ width: this.cameraResolution() }));\n\n\tconstructor() {\n\t\tthis.setDefaultCamera();\n\t\tthis.updateProjectionMatrix();\n\t}\n\n\tprivate setDefaultCamera() {\n\t\tconst makeDefault = this.inputs.select('makeDefault');\n\t\teffect((onCleanup) => {\n\t\t\tconst camera = this.cameraRef.nativeElement;\n\t\t\tif (camera && makeDefault()) {\n\t\t\t\tconst { camera: oldCamera } = this.store.get();\n\t\t\t\tthis.store.set({ camera });\n\t\t\t\tonCleanup(() => this.store.set({ camera: oldCamera }));\n\t\t\t}\n\t\t});\n\t}\n\n\tprivate updateProjectionMatrix() {\n\t\tconst manual = this.inputs.select('manual');\n\t\teffect(() => {\n\t\t\tconst camera = this.cameraRef.nativeElement;\n\t\t\tif (!manual() && camera) camera.updateProjectionMatrix();\n\t\t});\n\t}\n}\n","import { NgIf, NgTemplateOutlet } from '@angular/common';\nimport { CUSTOM_ELEMENTS_SCHEMA, Component, ContentChild, Input, computed } from '@angular/core';\nimport { extend, signalStore, type NgtOrthographicCamera } from 'angular-three';\nimport { Group, OrthographicCamera } from 'three';\nimport { NgtsCamera, type NgtsCameraState } from '../camera/camera';\nimport { NgtsCameraContent } from '../camera/camera-content';\n\nextend({ OrthographicCamera, Group });\n\nexport type NgtsOrthographicCameraState = {\n\tleft: number;\n\ttop: number;\n\tright: number;\n\tbottom: number;\n};\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t/**\n\t\t * @extends ngt-orthographic-camera\n\t\t */\n\t\t'ngts-orthographic-camera': NgtsCameraState & NgtsOrthographicCameraState & NgtOrthographicCamera;\n\t}\n}\n\n@Component({\n\tselector: 'ngts-orthographic-camera',\n\tstandalone: true,\n\ttemplate: `\n\t\t<ngt-orthographic-camera\n\t\t\tngtCompound\n\t\t\t[ref]=\"cameraRef\"\n\t\t\t[left]=\"cameraLeft()\"\n\t\t\t[right]=\"cameraRight()\"\n\t\t\t[top]=\"cameraTop()\"\n\t\t\t[bottom]=\"cameraBottom()\"\n\t\t>\n\t\t\t<ng-container\n\t\t\t\t*ngIf=\"cameraContent && !cameraContent.ngtsCameraContent\"\n\t\t\t\t[ngTemplateOutlet]=\"cameraContent.template\"\n\t\t\t/>\n\t\t</ngt-orthographic-camera>\n\t\t<ngt-group #group *ngIf=\"cameraContent && cameraContent.ngtsCameraContent\">\n\t\t\t<ng-container *ngTemplateOutlet=\"cameraContent.template; context: { fbo: fboRef.nativeElement, group }\" />\n\t\t</ngt-group>\n\t`,\n\timports: [NgIf, NgTemplateOutlet],\n\tschemas: [CUSTOM_ELEMENTS_SCHEMA],\n})\nexport class NgtsOrthographicCamera extends NgtsCamera<THREE.OrthographicCamera> {\n\tprivate orthographicInputs = signalStore<NgtsOrthographicCameraState>({\n\t\tleft: 0,\n\t\tright: 0,\n\t\ttop: 0,\n\t\tbottom: 0,\n\t});\n\n\t@ContentChild(NgtsCameraContent) cameraContent?: NgtsCameraContent;\n\n\t@Input({ alias: 'left' }) set _left(left: number) {\n\t\tthis.orthographicInputs.set({ left });\n\t}\n\n\t@Input({ alias: 'right' }) set _right(right: number) {\n\t\tthis.orthographicInputs.set({ right });\n\t}\n\n\t@Input({ alias: 'top' }) set _top(top: number) {\n\t\tthis.orthographicInputs.set({ top });\n\t}\n\n\t@Input({ alias: 'bottom' }) set _bottom(bottom: number) {\n\t\tthis.orthographicInputs.set({ bottom });\n\t}\n\n\tprivate left = this.orthographicInputs.select('left');\n\tprivate right = this.orthographicInputs.select('right');\n\tprivate top = this.orthographicInputs.select('top');\n\tprivate bottom = this.orthographicInputs.select('bottom');\n\tprivate size = this.store.select('size');\n\n\tcameraLeft = computed(() => this.left() || this.size().width / -2);\n\tcameraRight = computed(() => this.right() || this.size().width / 2);\n\tcameraTop = computed(() => this.top() || this.size().height / 2);\n\tcameraBottom = computed(() => this.bottom() || this.size().height / -2);\n}\n","import { NgIf, NgTemplateOutlet } from '@angular/common';\nimport { CUSTOM_ELEMENTS_SCHEMA, Component, ContentChild } from '@angular/core';\nimport { extend, type NgtPerspectiveCamera } from 'angular-three';\nimport { Group, PerspectiveCamera } from 'three';\nimport { NgtsCamera, type NgtsCameraState } from '../camera/camera';\nimport { NgtsCameraContent } from '../camera/camera-content';\n\nextend({ PerspectiveCamera, Group });\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t/**\n\t\t * @extends ngt-perspective-camera\n\t\t */\n\t\t'ngts-perspective-camera': NgtsCameraState & NgtPerspectiveCamera;\n\t}\n}\n\n@Component({\n\tselector: 'ngts-perspective-camera',\n\tstandalone: true,\n\ttemplate: `\n\t\t<ngt-perspective-camera [ref]=\"cameraRef\" ngtCompound>\n\t\t\t<ng-container\n\t\t\t\t*ngIf=\"cameraContent && !cameraContent.ngtsCameraContent\"\n\t\t\t\t[ngTemplateOutlet]=\"cameraContent.template\"\n\t\t\t/>\n\t\t</ngt-perspective-camera>\n\t\t<ngt-group #group *ngIf=\"cameraContent && cameraContent.ngtsCameraContent\">\n\t\t\t<ng-container *ngTemplateOutlet=\"cameraContent.template; context: { fbo: fboRef.nativeElement, group }\" />\n\t\t</ngt-group>\n\t`,\n\timports: [NgIf, NgTemplateOutlet],\n\tschemas: [CUSTOM_ELEMENTS_SCHEMA],\n})\nexport class NgtsPerspectiveCamera extends NgtsCamera<PerspectiveCamera> {\n\t@ContentChild(NgtsCameraContent) cameraContent?: NgtsCameraContent;\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"angular-three-soba-cameras.mjs","sources":["../../../../libs/soba/cameras/src/camera/camera-content.ts","../../../../libs/soba/cameras/src/cube-camera/cube-camera.ts","../../../../libs/soba/cameras/src/camera/camera.ts","../../../../libs/soba/cameras/src/orthographic-camera/orthographic-camera.ts","../../../../libs/soba/cameras/src/perspective-camera/perspective-camera.ts","../../../../libs/soba/cameras/src/angular-three-soba-cameras.ts"],"sourcesContent":["import { Directive, inject, Input, TemplateRef } from '@angular/core';\nimport * as THREE from 'three';\n\n@Directive({ selector: 'ng-template[ngtsCameraContent]', standalone: true })\nexport class NgtsCameraContent {\n\ttemplate = inject(TemplateRef);\n\t@Input() ngtsCameraContent: true | '' = '';\n\n\tstatic ngTemplateContextGuard(\n\t\t_: NgtsCameraContent,\n\t\tctx: unknown,\n\t): ctx is { fbo: THREE.WebGLRenderTarget; group?: THREE.Group } {\n\t\treturn true;\n\t}\n}\n","import { NgTemplateOutlet } from '@angular/common';\nimport {\n\tCUSTOM_ELEMENTS_SCHEMA,\n\tComponent,\n\tContentChild,\n\tDestroyRef,\n\tDirective,\n\tEmbeddedViewRef,\n\tInput,\n\tTemplateRef,\n\tViewChild,\n\tViewContainerRef,\n\tcomputed,\n\teffect,\n\tinject,\n\trunInInjectionContext,\n\tuntracked,\n\ttype Injector,\n\ttype OnInit,\n\ttype Signal,\n} from '@angular/core';\nimport {\n\tNgtArgs,\n\tassertInjector,\n\textend,\n\tinjectBeforeRender,\n\tinjectNgtRef,\n\tinjectNgtStore,\n\tsignalStore,\n\ttype NgtGroup,\n} from 'angular-three';\nimport * as THREE from 'three';\nimport { Group } from 'three';\n\nexport type NgtsCubeCameraState = {\n\t/** Resolution of the FBO, 256 */\n\tresolution: number;\n\t/** Camera near, 0.1 */\n\tnear: number;\n\t/** Camera far, 1000 */\n\tfar: number;\n\t/** Custom environment map that is temporarily set as the scenes background */\n\tenvMap?: THREE.Texture;\n\t/** Custom fog that is temporarily set as the scenes fog */\n\tfog?: THREE.Fog | THREE.FogExp2;\n};\n\nconst defaultCubeCameraState = {\n\tresolution: 256,\n\tnear: 0.1,\n\tfar: 1000,\n} satisfies NgtsCubeCameraState;\n\nexport function injectNgtsCubeCamera(\n\tcubeCameraState: () => Partial<NgtsCubeCameraState>,\n\t{ injector }: { injector?: Injector } = {},\n) {\n\tinjector = assertInjector(injectNgtsCubeCamera, injector);\n\treturn runInInjectionContext(injector, () => {\n\t\tconst state = computed(() => ({ ...defaultCubeCameraState, ...cubeCameraState() }));\n\t\tconst resolution = computed(() => state().resolution);\n\t\tconst near = computed(() => state().near);\n\t\tconst far = computed(() => state().far);\n\n\t\tconst store = injectNgtStore();\n\n\t\tconst _gl = store.select('gl');\n\t\tconst _scene = store.select('scene');\n\n\t\tconst _fbo = computed(() => {\n\t\t\tconst renderTarget = new THREE.WebGLCubeRenderTarget(resolution());\n\t\t\trenderTarget.texture.type = THREE.HalfFloatType;\n\t\t\treturn renderTarget;\n\t\t});\n\n\t\teffect((onCleanup) => {\n\t\t\tconst fbo = _fbo();\n\t\t\tonCleanup(() => fbo.dispose());\n\t\t});\n\n\t\tconst _camera = computed(() => new THREE.CubeCamera(near(), far(), _fbo()));\n\n\t\tlet originalFog: THREE.Scene['fog'];\n\t\tlet originalBackground: THREE.Scene['background'];\n\n\t\tconst update = computed(() => {\n\t\t\tconst [scene, gl, camera, { envMap, fog }] = [_scene(), _gl(), _camera(), untracked(state)];\n\n\t\t\treturn () => {\n\t\t\t\toriginalFog = scene.fog;\n\t\t\t\toriginalBackground = scene.background;\n\t\t\t\tscene.background = envMap || originalBackground;\n\t\t\t\tscene.fog = fog || originalFog;\n\t\t\t\tcamera.update(gl, scene);\n\t\t\t\tscene.fog = originalFog;\n\t\t\t\tscene.background = originalBackground;\n\t\t\t};\n\t\t});\n\n\t\treturn { fbo: _fbo, camera: _camera, update };\n\t});\n}\n\nextend({ Group });\n\nexport type NgtsCubeCameraComponentState = NgtsCubeCameraState & {\n\tframes: number;\n};\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t/**\n\t\t * @extends ngt-group\n\t\t */\n\t\t'ngts-cube-camera': NgtsCubeCameraComponentState & NgtGroup;\n\t}\n}\n\n@Directive({ selector: 'ng-template[ngtsCubeCameraContent]', standalone: true })\nexport class NgtsCubeCameraContent {\n\tstatic ngTemplateContextGuard(\n\t\t_: NgtsCubeCameraContent,\n\t\tctx: unknown,\n\t): ctx is { texture: Signal<THREE.WebGLRenderTarget['texture']> } {\n\t\treturn true;\n\t}\n}\n\n@Component({\n\tselector: 'ngts-cube-camera',\n\tstandalone: true,\n\ttemplate: `\n\t\t<ngt-group ngtCompound>\n\t\t\t<ngt-primitive *args=\"[cubeCamera.camera()]\" />\n\t\t\t<ngt-group [ref]=\"cameraRef\">\n\t\t\t\t<ng-container #anchor />\n\t\t\t</ngt-group>\n\t\t</ngt-group>\n\t`,\n\timports: [NgtArgs, NgTemplateOutlet],\n\tschemas: [CUSTOM_ELEMENTS_SCHEMA],\n})\nexport class NgtsCubeCamera implements OnInit {\n\tprivate inputs = signalStore<NgtsCubeCameraComponentState>({ frames: Infinity });\n\n\t@Input() cameraRef = injectNgtRef<Group>();\n\n\t@ContentChild(NgtsCubeCameraContent, { static: true, read: TemplateRef })\n\tprivate cameraContent!: TemplateRef<{ texture: Signal<THREE.WebGLRenderTarget['texture']> }>;\n\n\t@ViewChild('anchor', { static: true, read: ViewContainerRef })\n\tprivate anchor!: ViewContainerRef;\n\n\t/** Resolution of the FBO, 256 */\n\t@Input({ alias: 'resolution' }) set _resolution(resolution: number) {\n\t\tthis.inputs.set({ resolution });\n\t}\n\n\t/** Camera near, 0.1 */\n\t@Input({ alias: 'near' }) set _near(near: number) {\n\t\tthis.inputs.set({ near });\n\t}\n\n\t/** Camera far, 1000 */\n\t@Input({ alias: 'far' }) set _far(far: number) {\n\t\tthis.inputs.set({ far });\n\t}\n\n\t/** Custom environment map that is temporarily set as the scenes background */\n\t@Input({ alias: 'envMap' }) set _envMap(envMap: THREE.Texture) {\n\t\tthis.inputs.set({ envMap });\n\t}\n\n\t/** Custom fog that is temporarily set as the scenes fog */\n\t@Input({ alias: 'fog' }) set _fog(fog: THREE.Fog | THREE.FogExp2) {\n\t\tthis.inputs.set({ fog });\n\t}\n\n\tcubeCamera = injectNgtsCubeCamera(this.inputs.state);\n\tprivate texture = computed(() => this.cubeCamera.fbo().texture);\n\tprivate contentRef?: EmbeddedViewRef<unknown>;\n\n\tconstructor() {\n\t\tthis.beforeRender();\n\t\tinject(DestroyRef).onDestroy(() => {\n\t\t\tthis.contentRef?.destroy();\n\t\t});\n\t}\n\n\tngOnInit() {\n\t\tthis.contentRef = this.anchor.createEmbeddedView(this.cameraContent, { texture: this.texture });\n\t}\n\n\tprivate beforeRender() {\n\t\tlet count = 0;\n\t\tinjectBeforeRender(() => {\n\t\t\tconst camera = this.cameraRef.nativeElement;\n\t\t\tif (!camera) return;\n\t\t\tconst update = this.cubeCamera.update();\n\t\t\tconst frames = this.inputs.get('frames');\n\t\t\tif (frames === Infinity || count < frames) {\n\t\t\t\tcamera.visible = false;\n\t\t\t\tupdate();\n\t\t\t\tcamera.visible = true;\n\t\t\t\tcount++;\n\t\t\t}\n\t\t});\n\t}\n}\n","import { Directive, effect, Input } from '@angular/core';\nimport { injectNgtRef, injectNgtStore, signalStore, type NgtCamera } from 'angular-three';\nimport { injectNgtsFBO } from 'angular-three-soba/misc';\n\nexport type NgtsCameraState = {\n\tmakeDefault: boolean;\n\tmanual: boolean;\n\tframes: number;\n\tresolution: number;\n\tenvMap?: THREE.Texture;\n};\n\n@Directive()\nexport abstract class NgtsCamera<TCamera extends NgtCamera> {\n\tprotected inputs = signalStore<NgtsCameraState>({\n\t\tresolution: 256,\n\t\tframes: Infinity,\n\t\tmakeDefault: false,\n\t\tmanual: false,\n\t});\n\n\t@Input({ alias: 'makeDefault' }) set _makeDefault(makeDefault: boolean) {\n\t\tthis.inputs.set({ makeDefault });\n\t}\n\n\t@Input({ alias: 'manual' }) set _manual(manual: boolean) {\n\t\tthis.inputs.set({ manual });\n\t}\n\n\t@Input({ alias: 'frames' }) set _frames(frames: number) {\n\t\tthis.inputs.set({ frames });\n\t}\n\n\t@Input({ alias: 'resolution' }) set _resolution(resolution: number) {\n\t\tthis.inputs.set({ resolution });\n\t}\n\n\t@Input({ alias: 'envMap' }) set _envMap(envMap: THREE.Texture) {\n\t\tthis.inputs.set({ envMap });\n\t}\n\n\t@Input() cameraRef = injectNgtRef<TCamera>();\n\n\tprivate cameraResolution = this.inputs.select('resolution');\n\n\tprotected store = injectNgtStore();\n\tprotected fboRef = injectNgtsFBO(() => ({ width: this.cameraResolution() }));\n\n\tconstructor() {\n\t\tthis.setDefaultCamera();\n\t\tthis.updateProjectionMatrix();\n\t}\n\n\tprivate setDefaultCamera() {\n\t\tconst makeDefault = this.inputs.select('makeDefault');\n\t\teffect((onCleanup) => {\n\t\t\tconst camera = this.cameraRef.nativeElement;\n\t\t\tif (camera && makeDefault()) {\n\t\t\t\tconst { camera: oldCamera } = this.store.get();\n\t\t\t\tthis.store.set({ camera });\n\t\t\t\tonCleanup(() => this.store.set({ camera: oldCamera }));\n\t\t\t}\n\t\t});\n\t}\n\n\tprivate updateProjectionMatrix() {\n\t\tconst manual = this.inputs.select('manual');\n\t\teffect(() => {\n\t\t\tconst camera = this.cameraRef.nativeElement;\n\t\t\tif (!manual() && camera) camera.updateProjectionMatrix();\n\t\t});\n\t}\n}\n","import { NgIf, NgTemplateOutlet } from '@angular/common';\nimport { CUSTOM_ELEMENTS_SCHEMA, Component, ContentChild, Input, computed } from '@angular/core';\nimport { extend, signalStore, type NgtOrthographicCamera } from 'angular-three';\nimport { Group, OrthographicCamera } from 'three';\nimport { NgtsCamera, type NgtsCameraState } from '../camera/camera';\nimport { NgtsCameraContent } from '../camera/camera-content';\n\nextend({ OrthographicCamera, Group });\n\nexport type NgtsOrthographicCameraState = {\n\tleft: number;\n\ttop: number;\n\tright: number;\n\tbottom: number;\n};\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t/**\n\t\t * @extends ngt-orthographic-camera\n\t\t */\n\t\t'ngts-orthographic-camera': NgtsCameraState & NgtsOrthographicCameraState & NgtOrthographicCamera;\n\t}\n}\n\n@Component({\n\tselector: 'ngts-orthographic-camera',\n\tstandalone: true,\n\ttemplate: `\n\t\t<ngt-orthographic-camera\n\t\t\tngtCompound\n\t\t\t[ref]=\"cameraRef\"\n\t\t\t[left]=\"cameraLeft()\"\n\t\t\t[right]=\"cameraRight()\"\n\t\t\t[top]=\"cameraTop()\"\n\t\t\t[bottom]=\"cameraBottom()\"\n\t\t>\n\t\t\t<ng-container\n\t\t\t\t*ngIf=\"cameraContent && !cameraContent.ngtsCameraContent\"\n\t\t\t\t[ngTemplateOutlet]=\"cameraContent.template\"\n\t\t\t/>\n\t\t</ngt-orthographic-camera>\n\t\t<ngt-group #group *ngIf=\"cameraContent && cameraContent.ngtsCameraContent\">\n\t\t\t<ng-container *ngTemplateOutlet=\"cameraContent.template; context: { fbo: fboRef.nativeElement, group }\" />\n\t\t</ngt-group>\n\t`,\n\timports: [NgIf, NgTemplateOutlet],\n\tschemas: [CUSTOM_ELEMENTS_SCHEMA],\n})\nexport class NgtsOrthographicCamera extends NgtsCamera<THREE.OrthographicCamera> {\n\tprivate orthographicInputs = signalStore<NgtsOrthographicCameraState>({\n\t\tleft: 0,\n\t\tright: 0,\n\t\ttop: 0,\n\t\tbottom: 0,\n\t});\n\n\t@ContentChild(NgtsCameraContent) cameraContent?: NgtsCameraContent;\n\n\t@Input({ alias: 'left' }) set _left(left: number) {\n\t\tthis.orthographicInputs.set({ left });\n\t}\n\n\t@Input({ alias: 'right' }) set _right(right: number) {\n\t\tthis.orthographicInputs.set({ right });\n\t}\n\n\t@Input({ alias: 'top' }) set _top(top: number) {\n\t\tthis.orthographicInputs.set({ top });\n\t}\n\n\t@Input({ alias: 'bottom' }) set _bottom(bottom: number) {\n\t\tthis.orthographicInputs.set({ bottom });\n\t}\n\n\tprivate left = this.orthographicInputs.select('left');\n\tprivate right = this.orthographicInputs.select('right');\n\tprivate top = this.orthographicInputs.select('top');\n\tprivate bottom = this.orthographicInputs.select('bottom');\n\tprivate size = this.store.select('size');\n\n\tcameraLeft = computed(() => this.left() || this.size().width / -2);\n\tcameraRight = computed(() => this.right() || this.size().width / 2);\n\tcameraTop = computed(() => this.top() || this.size().height / 2);\n\tcameraBottom = computed(() => this.bottom() || this.size().height / -2);\n}\n","import { NgIf, NgTemplateOutlet } from '@angular/common';\nimport { CUSTOM_ELEMENTS_SCHEMA, Component, ContentChild } from '@angular/core';\nimport { extend, type NgtPerspectiveCamera } from 'angular-three';\nimport { Group, PerspectiveCamera } from 'three';\nimport { NgtsCamera, type NgtsCameraState } from '../camera/camera';\nimport { NgtsCameraContent } from '../camera/camera-content';\n\nextend({ PerspectiveCamera, Group });\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t/**\n\t\t * @extends ngt-perspective-camera\n\t\t */\n\t\t'ngts-perspective-camera': NgtsCameraState & NgtPerspectiveCamera;\n\t}\n}\n\n@Component({\n\tselector: 'ngts-perspective-camera',\n\tstandalone: true,\n\ttemplate: `\n\t\t<ngt-perspective-camera [ref]=\"cameraRef\" ngtCompound>\n\t\t\t<ng-container\n\t\t\t\t*ngIf=\"cameraContent && !cameraContent.ngtsCameraContent\"\n\t\t\t\t[ngTemplateOutlet]=\"cameraContent.template\"\n\t\t\t/>\n\t\t</ngt-perspective-camera>\n\t\t<ngt-group #group *ngIf=\"cameraContent && cameraContent.ngtsCameraContent\">\n\t\t\t<ng-container *ngTemplateOutlet=\"cameraContent.template; context: { fbo: fboRef.nativeElement, group }\" />\n\t\t</ngt-group>\n\t`,\n\timports: [NgIf, NgTemplateOutlet],\n\tschemas: [CUSTOM_ELEMENTS_SCHEMA],\n})\nexport class NgtsPerspectiveCamera extends NgtsCamera<PerspectiveCamera> {\n\t@ContentChild(NgtsCameraContent) cameraContent?: NgtsCameraContent;\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -137,18 +137,22 @@ class NgtsOrbitControls {
137
137
  });
138
138
  });
139
139
  }
140
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.2", ngImport: i0, type: NgtsOrbitControls, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
141
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.2", type: NgtsOrbitControls, isStandalone: true, selector: "ngts-orbit-controls", inputs: { controlsRef: "controlsRef", _camera: ["camera", "_camera"], _domElement: ["domElement", "_domElement"], _makeDefault: ["makeDefault", "_makeDefault"], _regress: ["regress", "_regress"], _target: ["target", "_target"], _enableDamping: ["enableDamping", "_enableDamping"], _keyEvents: ["keyEvents", "_keyEvents"] }, outputs: { change: "change", start: "start", end: "end" }, ngImport: i0, template: `
142
- <ngt-primitive *args="args()" ngtCompound [enableDamping]="enableDamping()" />
140
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsOrbitControls, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
141
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.3", type: NgtsOrbitControls, isStandalone: true, selector: "ngts-orbit-controls", inputs: { controlsRef: "controlsRef", _camera: ["camera", "_camera"], _domElement: ["domElement", "_domElement"], _makeDefault: ["makeDefault", "_makeDefault"], _regress: ["regress", "_regress"], _target: ["target", "_target"], _enableDamping: ["enableDamping", "_enableDamping"], _keyEvents: ["keyEvents", "_keyEvents"] }, outputs: { change: "change", start: "start", end: "end" }, ngImport: i0, template: `
142
+ <ngt-primitive *args="args()" ngtCompound [enableDamping]="enableDamping()">
143
+ <ng-content />
144
+ </ngt-primitive>
143
145
  `, isInline: true, dependencies: [{ kind: "directive", type: NgtArgs, selector: "ng-template[args]", inputs: ["args"] }] }); }
144
146
  }
145
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.2", ngImport: i0, type: NgtsOrbitControls, decorators: [{
147
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsOrbitControls, decorators: [{
146
148
  type: Component,
147
149
  args: [{
148
150
  selector: 'ngts-orbit-controls',
149
151
  standalone: true,
150
152
  template: `
151
- <ngt-primitive *args="args()" ngtCompound [enableDamping]="enableDamping()" />
153
+ <ngt-primitive *args="args()" ngtCompound [enableDamping]="enableDamping()">
154
+ <ng-content />
155
+ </ngt-primitive>
152
156
  `,
153
157
  imports: [NgtArgs],
154
158
  schemas: [CUSTOM_ELEMENTS_SCHEMA],