angular-three-soba 2.2.0 → 2.2.1

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 (137) hide show
  1. package/abstractions/lib/catmull-rom-line.d.ts +117 -117
  2. package/abstractions/lib/edges.d.ts +126 -126
  3. package/abstractions/lib/grid.d.ts +15 -15
  4. package/abstractions/lib/line.d.ts +9 -8
  5. package/abstractions/lib/prism-geometry.d.ts +2 -2
  6. package/abstractions/lib/rounded-box.d.ts +3 -3
  7. package/abstractions/lib/text-3d.d.ts +22 -22
  8. package/abstractions/lib/text.d.ts +0 -1
  9. package/cameras/lib/cube-camera.d.ts +2 -2
  10. package/cameras/lib/orthographic-camera.d.ts +7 -8
  11. package/cameras/lib/perspective-camera.d.ts +2 -3
  12. package/controls/lib/camera-controls.d.ts +1 -1
  13. package/controls/lib/orbit-controls.d.ts +1 -1
  14. package/esm2022/abstractions/lib/billboard.mjs +3 -3
  15. package/esm2022/abstractions/lib/catmull-rom-line.mjs +3 -3
  16. package/esm2022/abstractions/lib/cubic-bezier-line.mjs +3 -3
  17. package/esm2022/abstractions/lib/edges.mjs +30 -34
  18. package/esm2022/abstractions/lib/gradient-texture.mjs +3 -3
  19. package/esm2022/abstractions/lib/grid.mjs +3 -3
  20. package/esm2022/abstractions/lib/helper.mjs +18 -20
  21. package/esm2022/abstractions/lib/line.mjs +25 -28
  22. package/esm2022/abstractions/lib/prism-geometry.mjs +3 -3
  23. package/esm2022/abstractions/lib/quadratic-bezier-line.mjs +3 -3
  24. package/esm2022/abstractions/lib/rounded-box.mjs +11 -17
  25. package/esm2022/abstractions/lib/text-3d.mjs +14 -17
  26. package/esm2022/abstractions/lib/text.mjs +11 -16
  27. package/esm2022/cameras/lib/camera-content.mjs +3 -3
  28. package/esm2022/cameras/lib/cube-camera.mjs +18 -27
  29. package/esm2022/cameras/lib/orthographic-camera.mjs +20 -20
  30. package/esm2022/cameras/lib/perspective-camera.mjs +21 -21
  31. package/esm2022/controls/lib/camera-controls.mjs +3 -3
  32. package/esm2022/controls/lib/orbit-controls.mjs +3 -3
  33. package/esm2022/controls/lib/scroll-controls.mjs +124 -130
  34. package/esm2022/gizmos/lib/gizmo-helper/gizmo-helper.mjs +6 -6
  35. package/esm2022/gizmos/lib/gizmo-helper/gizmo-viewcube.mjs +12 -12
  36. package/esm2022/gizmos/lib/gizmo-helper/gizmo-viewport.mjs +9 -9
  37. package/esm2022/gizmos/lib/pivot-controls/axis-arrow.mjs +6 -4
  38. package/esm2022/gizmos/lib/pivot-controls/axis-rotator.mjs +3 -3
  39. package/esm2022/gizmos/lib/pivot-controls/pivot-controls.mjs +44 -47
  40. package/esm2022/gizmos/lib/pivot-controls/plane-slider.mjs +3 -3
  41. package/esm2022/gizmos/lib/pivot-controls/scaling-sphere.mjs +3 -3
  42. package/esm2022/gizmos/lib/transform-controls.mjs +3 -3
  43. package/esm2022/loaders/lib/loader.mjs +3 -3
  44. package/esm2022/materials/lib/custom-shader-material.mjs +8 -12
  45. package/esm2022/materials/lib/mesh-distort-material.mjs +3 -3
  46. package/esm2022/materials/lib/mesh-reflector-material.mjs +11 -15
  47. package/esm2022/materials/lib/mesh-refraction-material.mjs +26 -30
  48. package/esm2022/materials/lib/mesh-transmission-material.mjs +3 -3
  49. package/esm2022/materials/lib/mesh-wobble-material.mjs +3 -3
  50. package/esm2022/materials/lib/point-material.mjs +3 -3
  51. package/esm2022/misc/lib/bake-shadows.mjs +8 -10
  52. package/esm2022/misc/lib/computed-attribute.mjs +15 -19
  53. package/esm2022/misc/lib/decal.mjs +56 -53
  54. package/esm2022/misc/lib/fbo.mjs +10 -10
  55. package/esm2022/misc/lib/html/html-content.mjs +62 -67
  56. package/esm2022/misc/lib/html/html.mjs +3 -3
  57. package/esm2022/misc/lib/intersect.mjs +6 -9
  58. package/esm2022/misc/lib/sampler.mjs +48 -42
  59. package/esm2022/performances/lib/adaptive-dpr.mjs +29 -35
  60. package/esm2022/performances/lib/adaptive-events.mjs +12 -16
  61. package/esm2022/performances/lib/detailed.mjs +14 -18
  62. package/esm2022/performances/lib/instances/instances.mjs +16 -22
  63. package/esm2022/performances/lib/points/points.mjs +19 -25
  64. package/esm2022/performances/lib/segments/segments.mjs +11 -14
  65. package/esm2022/shaders/lib/mesh-refraction-material.mjs +1 -1
  66. package/esm2022/staging/index.mjs +3 -2
  67. package/esm2022/staging/lib/accumulative-shadows.mjs +19 -21
  68. package/esm2022/staging/lib/backdrop.mjs +19 -23
  69. package/esm2022/staging/lib/bb-anchor.mjs +3 -3
  70. package/esm2022/staging/lib/bounds.mjs +39 -43
  71. package/esm2022/staging/lib/camera-shake.mjs +14 -18
  72. package/esm2022/staging/lib/caustics.mjs +24 -28
  73. package/esm2022/staging/lib/center.mjs +28 -32
  74. package/esm2022/staging/lib/contact-shadows.mjs +3 -3
  75. package/esm2022/staging/lib/environment/environment.mjs +338 -0
  76. package/esm2022/staging/lib/environment/inject-environment.mjs +184 -0
  77. package/esm2022/staging/lib/float.mjs +3 -3
  78. package/esm2022/staging/lib/lightformer.mjs +18 -22
  79. package/esm2022/staging/lib/mask.mjs +8 -12
  80. package/esm2022/staging/lib/matcap-texture.mjs +9 -11
  81. package/esm2022/staging/lib/normal-texture.mjs +9 -11
  82. package/esm2022/staging/lib/randomized-lights.mjs +9 -13
  83. package/esm2022/staging/lib/render-texture.mjs +19 -20
  84. package/esm2022/staging/lib/sky.mjs +3 -3
  85. package/esm2022/staging/lib/spot-light.mjs +32 -40
  86. package/esm2022/staging/lib/stage.mjs +13 -17
  87. package/esm2022/stats/lib/stats.mjs +21 -27
  88. package/fesm2022/angular-three-soba-abstractions.mjs +119 -138
  89. package/fesm2022/angular-three-soba-abstractions.mjs.map +1 -1
  90. package/fesm2022/angular-three-soba-cameras.mjs +57 -64
  91. package/fesm2022/angular-three-soba-cameras.mjs.map +1 -1
  92. package/fesm2022/angular-three-soba-controls.mjs +129 -135
  93. package/fesm2022/angular-three-soba-controls.mjs.map +1 -1
  94. package/fesm2022/angular-three-soba-gizmos.mjs +87 -88
  95. package/fesm2022/angular-three-soba-gizmos.mjs.map +1 -1
  96. package/fesm2022/angular-three-soba-loaders.mjs +3 -3
  97. package/fesm2022/angular-three-soba-materials.mjs +52 -62
  98. package/fesm2022/angular-three-soba-materials.mjs.map +1 -1
  99. package/fesm2022/angular-three-soba-misc.mjs +194 -195
  100. package/fesm2022/angular-three-soba-misc.mjs.map +1 -1
  101. package/fesm2022/angular-three-soba-performances.mjs +90 -114
  102. package/fesm2022/angular-three-soba-performances.mjs.map +1 -1
  103. package/fesm2022/angular-three-soba-shaders.mjs.map +1 -1
  104. package/fesm2022/angular-three-soba-staging.mjs +427 -430
  105. package/fesm2022/angular-three-soba-staging.mjs.map +1 -1
  106. package/fesm2022/angular-three-soba-stats.mjs +20 -26
  107. package/fesm2022/angular-three-soba-stats.mjs.map +1 -1
  108. package/gizmos/lib/gizmo-helper/gizmo-viewport.d.ts +1 -1
  109. package/gizmos/lib/pivot-controls/pivot-controls.d.ts +1 -1
  110. package/gizmos/lib/transform-controls.d.ts +2 -2
  111. package/materials/lib/custom-shader-material.d.ts +3 -3
  112. package/materials/lib/mesh-refraction-material.d.ts +2 -2
  113. package/materials/lib/mesh-transmission-material.d.ts +1 -1
  114. package/misc/lib/computed-attribute.d.ts +6 -6
  115. package/misc/lib/decal.d.ts +4 -4
  116. package/misc/lib/html/html-content.d.ts +6 -6
  117. package/misc/lib/sampler.d.ts +2 -4
  118. package/package.json +8 -8
  119. package/performances/lib/instances/instances.d.ts +11 -11
  120. package/performances/lib/points/points.d.ts +19 -19
  121. package/performances/lib/segments/segments.d.ts +4 -4
  122. package/shaders/lib/mesh-refraction-material.d.ts +2 -5
  123. package/staging/index.d.ts +2 -1
  124. package/staging/lib/accumulative-shadows.d.ts +1 -1
  125. package/staging/lib/camera-shake.d.ts +0 -1
  126. package/staging/lib/caustics.d.ts +1 -1
  127. package/staging/lib/contact-shadows.d.ts +1 -1
  128. package/staging/lib/{environment.d.ts → environment/environment.d.ts} +20 -49
  129. package/staging/lib/environment/inject-environment.d.ts +33 -0
  130. package/staging/lib/lightformer.d.ts +1 -1
  131. package/staging/lib/matcap-texture.d.ts +0 -1
  132. package/staging/lib/normal-texture.d.ts +0 -1
  133. package/staging/lib/render-texture.d.ts +1 -1
  134. package/staging/lib/sky.d.ts +1 -1
  135. package/staging/lib/spot-light.d.ts +2 -2
  136. package/staging/lib/stage.d.ts +2 -1
  137. package/esm2022/staging/lib/environment.mjs +0 -481
@@ -1,8 +1,7 @@
1
1
  import { DOCUMENT } from '@angular/common';
2
2
  import * as i0 from '@angular/core';
3
- import { input, inject, computed, untracked, afterNextRender, Directive } from '@angular/core';
3
+ import { input, inject, computed, untracked, effect, Directive } from '@angular/core';
4
4
  import { omit, pick, injectStore, resolveRef, addAfterEffect } from 'angular-three';
5
- import { injectAutoEffect } from 'ngxtension/auto-effect';
6
5
  import { mergeInputs } from 'ngxtension/inject-inputs';
7
6
  import Stats from 'stats-gl';
8
7
 
@@ -17,44 +16,39 @@ class NgtsStats {
17
16
  const parent = pick(this.options, 'parent');
18
17
  const domClass = pick(this.options, 'domClass');
19
18
  const document = inject(DOCUMENT);
20
- const autoEffect = injectAutoEffect();
21
19
  const store = injectStore();
22
20
  const gl = store.select('gl');
23
21
  const stats = computed(() => {
24
22
  const _gl = gl();
25
23
  if (!_gl)
26
24
  return null;
27
- const stats = new Stats({
28
- ...untracked(statsOptions),
29
- });
25
+ const stats = new Stats({ ...untracked(statsOptions) });
30
26
  void stats.init(_gl);
31
27
  return stats;
32
28
  });
33
- afterNextRender(() => {
34
- autoEffect(() => {
35
- const _stats = stats();
36
- if (!_stats)
37
- return;
38
- const [_parent, _domClass] = [resolveRef(parent()), domClass()];
39
- const target = _parent ?? document.body;
40
- target.appendChild(_stats.dom);
41
- const classList = _domClass.split(' ').filter(Boolean);
29
+ effect((onCleanup) => {
30
+ const _stats = stats();
31
+ if (!_stats)
32
+ return;
33
+ const [_parent, _domClass] = [resolveRef(parent()), domClass()];
34
+ const target = _parent ?? document.body;
35
+ target.appendChild(_stats.dom);
36
+ const classList = _domClass.split(' ').filter(Boolean);
37
+ if (classList.length)
38
+ _stats.dom.classList.add(...classList);
39
+ const end = addAfterEffect(() => _stats.update());
40
+ onCleanup(() => {
42
41
  if (classList.length)
43
- _stats.dom.classList.add(...classList);
44
- const end = addAfterEffect(() => _stats.update());
45
- return () => {
46
- if (classList.length)
47
- _stats.dom.classList.remove(...classList);
48
- target.removeChild(_stats.dom);
49
- end();
50
- };
42
+ _stats.dom.classList.remove(...classList);
43
+ target.removeChild(_stats.dom);
44
+ end();
51
45
  });
52
46
  });
53
47
  }
54
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: NgtsStats, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
55
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.0", type: NgtsStats, isStandalone: true, selector: "ngt-canvas[stats]", inputs: { options: { classPropertyName: "options", publicName: "stats", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0 }); }
48
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: NgtsStats, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
49
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.4", type: NgtsStats, isStandalone: true, selector: "ngt-canvas[stats]", inputs: { options: { classPropertyName: "options", publicName: "stats", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0 }); }
56
50
  }
57
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: NgtsStats, decorators: [{
51
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: NgtsStats, decorators: [{
58
52
  type: Directive,
59
53
  args: [{
60
54
  selector: 'ngt-canvas[stats]',
@@ -1 +1 @@
1
- {"version":3,"file":"angular-three-soba-stats.mjs","sources":["../../../../libs/soba/stats/src/lib/stats.ts","../../../../libs/soba/stats/src/angular-three-soba-stats.ts"],"sourcesContent":["import { DOCUMENT } from '@angular/common';\nimport { afterNextRender, computed, Directive, ElementRef, inject, input, untracked } from '@angular/core';\nimport { addAfterEffect, injectStore, omit, pick, resolveRef } from 'angular-three';\nimport { injectAutoEffect } from 'ngxtension/auto-effect';\nimport { mergeInputs } from 'ngxtension/inject-inputs';\nimport Stats from 'stats-gl';\n\nexport type NgtsStatsOptions = Partial<Stats> & {\n\tshowPanel?: number;\n\tdomClass: string;\n\tparent: ElementRef<HTMLElement> | HTMLElement | null | undefined;\n};\n\nconst defaultOptions: NgtsStatsOptions = {\n\tdomClass: '',\n\tparent: null,\n};\n\n@Directive({\n\tselector: 'ngt-canvas[stats]',\n\tstandalone: true,\n})\nexport class NgtsStats {\n\toptions = input(defaultOptions, { transform: mergeInputs(defaultOptions), alias: 'stats' });\n\n\tconstructor() {\n\t\tconst statsOptions = omit(this.options, ['parent', 'domClass']);\n\t\tconst parent = pick(this.options, 'parent');\n\t\tconst domClass = pick(this.options, 'domClass');\n\n\t\tconst document = inject(DOCUMENT);\n\t\tconst autoEffect = injectAutoEffect();\n\t\tconst store = injectStore();\n\t\tconst gl = store.select('gl');\n\n\t\tconst stats = computed(() => {\n\t\t\tconst _gl = gl();\n\t\t\tif (!_gl) return null;\n\n\t\t\tconst stats = new Stats({\n\t\t\t\t...untracked(statsOptions),\n\t\t\t});\n\t\t\tvoid stats.init(_gl);\n\t\t\treturn stats;\n\t\t});\n\n\t\tafterNextRender(() => {\n\t\t\tautoEffect(() => {\n\t\t\t\tconst _stats = stats();\n\t\t\t\tif (!_stats) return;\n\n\t\t\t\tconst [_parent, _domClass] = [resolveRef(parent()), domClass()];\n\t\t\t\tconst target = _parent ?? document.body;\n\t\t\t\ttarget.appendChild(_stats.dom);\n\t\t\t\tconst classList = _domClass.split(' ').filter(Boolean);\n\t\t\t\tif (classList.length) _stats.dom.classList.add(...classList);\n\t\t\t\tconst end = addAfterEffect(() => _stats.update());\n\n\t\t\t\treturn () => {\n\t\t\t\t\tif (classList.length) _stats.dom.classList.remove(...classList);\n\t\t\t\t\ttarget.removeChild(_stats.dom);\n\t\t\t\t\tend();\n\t\t\t\t};\n\t\t\t});\n\t\t});\n\t}\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-stats.mjs","sources":["../../../../libs/soba/stats/src/lib/stats.ts","../../../../libs/soba/stats/src/angular-three-soba-stats.ts"],"sourcesContent":["import { DOCUMENT } from '@angular/common';\nimport { computed, Directive, effect, ElementRef, inject, input, untracked } from '@angular/core';\nimport { addAfterEffect, injectStore, omit, pick, resolveRef } from 'angular-three';\nimport { mergeInputs } from 'ngxtension/inject-inputs';\nimport Stats from 'stats-gl';\n\nexport type NgtsStatsOptions = Partial<Stats> & {\n\tshowPanel?: number;\n\tdomClass: string;\n\tparent: ElementRef<HTMLElement> | HTMLElement | null | undefined;\n};\n\nconst defaultOptions: NgtsStatsOptions = {\n\tdomClass: '',\n\tparent: null,\n};\n\n@Directive({\n\tselector: 'ngt-canvas[stats]',\n\tstandalone: true,\n})\nexport class NgtsStats {\n\toptions = input(defaultOptions, { transform: mergeInputs(defaultOptions), alias: 'stats' });\n\n\tconstructor() {\n\t\tconst statsOptions = omit(this.options, ['parent', 'domClass']);\n\t\tconst parent = pick(this.options, 'parent');\n\t\tconst domClass = pick(this.options, 'domClass');\n\n\t\tconst document = inject(DOCUMENT);\n\t\tconst store = injectStore();\n\t\tconst gl = store.select('gl');\n\n\t\tconst stats = computed(() => {\n\t\t\tconst _gl = gl();\n\t\t\tif (!_gl) return null;\n\n\t\t\tconst stats = new Stats({ ...untracked(statsOptions) });\n\t\t\tvoid stats.init(_gl);\n\t\t\treturn stats;\n\t\t});\n\n\t\teffect((onCleanup) => {\n\t\t\tconst _stats = stats();\n\t\t\tif (!_stats) return;\n\n\t\t\tconst [_parent, _domClass] = [resolveRef(parent()), domClass()];\n\t\t\tconst target = _parent ?? document.body;\n\t\t\ttarget.appendChild(_stats.dom);\n\t\t\tconst classList = _domClass.split(' ').filter(Boolean);\n\t\t\tif (classList.length) _stats.dom.classList.add(...classList);\n\t\t\tconst end = addAfterEffect(() => _stats.update());\n\n\t\t\tonCleanup(() => {\n\t\t\t\tif (classList.length) _stats.dom.classList.remove(...classList);\n\t\t\t\ttarget.removeChild(_stats.dom);\n\t\t\t\tend();\n\t\t\t});\n\t\t});\n\t}\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -46,7 +46,7 @@ export interface NgtsGizmoViewportOptions extends Partial<NgtGroup> {
46
46
  export declare class NgtsGizmoViewport {
47
47
  protected readonly Math: Math;
48
48
  options: import("@angular/core").InputSignalWithTransform<NgtsGizmoViewportOptions, "" | Partial<NgtsGizmoViewportOptions>>;
49
- parameters: import("@angular/core").Signal<Omit<NgtsGizmoViewportOptions, "font" | "axisColors" | "axisScale" | "labels" | "axisHeadScale" | "labelColor" | "hideNegativeAxes" | "hideAxisHeads" | "disabled">>;
49
+ parameters: import("@angular/core").Signal<Omit<NgtsGizmoViewportOptions, "axisColors" | "font" | "axisScale" | "labels" | "axisHeadScale" | "labelColor" | "hideNegativeAxes" | "hideAxisHeads" | "disabled">>;
50
50
  click: import("@angular/core").OutputEmitterRef<NgtThreeEvent<MouseEvent>>;
51
51
  protected axisColors: import("@angular/core").Signal<[string, string, string]>;
52
52
  protected axisScale: import("@angular/core").Signal<[number, number, number] | undefined>;
@@ -60,7 +60,7 @@ export interface NgtsPivotControlsOptions {
60
60
  }
61
61
  export declare class NgtsPivotControls {
62
62
  options: import("@angular/core").InputSignalWithTransform<NgtsPivotControlsOptions, "" | Partial<NgtsPivotControlsOptions>>;
63
- parameters: import("@angular/core").Signal<Omit<NgtsPivotControlsOptions, "opacity" | "scale" | "rotation" | "matrix" | "visible" | "userData" | "axisColors" | "hoveredColor" | "enabled" | "lineWidth" | "fixed" | "offset" | "anchor" | "autoTransform" | "activeAxes" | "disableAxes" | "disableSliders" | "disableRotations" | "disableScaling" | "translationLimits" | "rotationLimits" | "scaleLimits" | "annotations" | "annotationsClass" | "depthTest">>;
63
+ parameters: import("@angular/core").Signal<Omit<NgtsPivotControlsOptions, "hoveredColor" | "enabled" | "scale" | "lineWidth" | "fixed" | "offset" | "rotation" | "matrix" | "anchor" | "autoTransform" | "activeAxes" | "disableAxes" | "disableSliders" | "disableRotations" | "disableScaling" | "translationLimits" | "rotationLimits" | "scaleLimits" | "axisColors" | "annotations" | "annotationsClass" | "depthTest" | "opacity" | "visible" | "userData">>;
64
64
  dragStarted: import("@angular/core").OutputEmitterRef<OnDragStartParameters>;
65
65
  dragEnded: import("@angular/core").OutputEmitterRef<void>;
66
66
  dragged: import("@angular/core").OutputEmitterRef<OnDragParameters>;
@@ -23,8 +23,8 @@ export type NgtsTransformControlsOptions = Partial<NgtsTransformControlsObject>
23
23
  export declare class NgtsTransformControls {
24
24
  object: import("@angular/core").InputSignal<Object3D<import("three").Object3DEventMap> | ElementRef<Object3D<import("three").Object3DEventMap>> | null | undefined>;
25
25
  options: import("@angular/core").InputSignal<Partial<NgtsTransformControlsOptions>>;
26
- parameters: Signal<Omit<Partial<NgtsTransformControlsOptions>, "size" | "camera" | "enabled" | "axis" | "domElement" | "mode" | "translationSnap" | "rotationSnap" | "scaleSnap" | "space" | "showX" | "showY" | "showZ" | "makeDefault">>;
27
- protected controlsOptions: Signal<Pick<Partial<NgtsTransformControlsOptions>, "size" | "enabled" | "axis" | "mode" | "translationSnap" | "rotationSnap" | "scaleSnap" | "space" | "showX" | "showY" | "showZ">>;
26
+ parameters: Signal<Omit<Partial<NgtsTransformControlsOptions>, "enabled" | "camera" | "size" | "axis" | "domElement" | "mode" | "translationSnap" | "rotationSnap" | "scaleSnap" | "space" | "showX" | "showY" | "showZ" | "makeDefault">>;
27
+ protected controlsOptions: Signal<Pick<Partial<NgtsTransformControlsOptions>, "enabled" | "size" | "axis" | "mode" | "translationSnap" | "rotationSnap" | "scaleSnap" | "space" | "showX" | "showY" | "showZ">>;
28
28
  private camera;
29
29
  private domElement;
30
30
  private makeDefault;
@@ -4,11 +4,11 @@ import { Material } from 'three';
4
4
  import CustomShaderMaterial from 'three-custom-shader-material/vanilla';
5
5
  import * as i0 from "@angular/core";
6
6
  export declare class NgtsCustomShaderMaterial {
7
- baseMaterial: import("@angular/core").InputSignal<typeof Material | Material | ElementRef<Material>>;
7
+ baseMaterial: import("@angular/core").InputSignal<Material | typeof Material | ElementRef<Material>>;
8
8
  attach: import("@angular/core").InputSignal<NgtAttachable>;
9
9
  options: import("@angular/core").InputSignal<Omit<import("three-custom-shader-material/vanilla").iCSMParams<import("three-custom-shader-material/vanilla").MaterialConstructor>, "baseMaterial">>;
10
- parameters: import("@angular/core").Signal<Omit<Omit<import("three-custom-shader-material/vanilla").iCSMParams<import("three-custom-shader-material/vanilla").MaterialConstructor>, "baseMaterial">, "uniforms" | "vertexShader" | "fragmentShader" | "cacheKey">>;
11
- base: import("@angular/core").Signal<typeof Material | Material>;
10
+ parameters: import("@angular/core").Signal<Omit<Omit<import("three-custom-shader-material/vanilla").iCSMParams<import("three-custom-shader-material/vanilla").MaterialConstructor>, "baseMaterial">, "vertexShader" | "fragmentShader" | "cacheKey" | "uniforms">>;
11
+ base: import("@angular/core").Signal<Material | typeof Material>;
12
12
  private fragmentShader;
13
13
  private vertexShader;
14
14
  private uniforms;
@@ -24,7 +24,7 @@ export declare class NgtsMeshRefractionMaterial {
24
24
  private fastChroma;
25
25
  aberrationStrength: import("@angular/core").Signal<number>;
26
26
  materialRef: import("@angular/core").Signal<ElementRef<import("three").ShaderMaterial & {
27
- [name: string]: number | boolean | any[] | import("three").Color | Texture | CubeTexture | Int32Array | Float32Array | import("three").Matrix4 | import("three").Matrix3 | import("three").Quaternion | import("three").Vector4 | import("three").Vector3 | import("three").Vector2 | null;
27
+ [name: string]: number | boolean | any[] | import("three").Color | Texture | import("three").Vector3 | import("three").Matrix4 | import("three").Vector4 | import("three").Quaternion | import("three").Matrix3 | CubeTexture | Int32Array | Float32Array | import("three").Vector2 | null;
28
28
  }> | undefined>;
29
29
  private store;
30
30
  private size;
@@ -34,7 +34,7 @@ export declare class NgtsMeshRefractionMaterial {
34
34
  }>;
35
35
  private defineKeys;
36
36
  material: import("@angular/core").Signal<import("three").ShaderMaterial & {
37
- [name: string]: number | boolean | any[] | import("three").Color | Texture | CubeTexture | Int32Array | Float32Array | import("three").Matrix4 | import("three").Matrix3 | import("three").Quaternion | import("three").Vector4 | import("three").Vector3 | import("three").Vector2 | null;
37
+ [name: string]: number | boolean | any[] | import("three").Color | Texture | import("three").Vector3 | import("three").Matrix4 | import("three").Vector4 | import("three").Quaternion | import("three").Matrix3 | CubeTexture | Int32Array | Float32Array | import("three").Vector2 | null;
38
38
  }>;
39
39
  constructor();
40
40
  static ɵfac: i0.ɵɵFactoryDeclaration<NgtsMeshRefractionMaterial, never>;
@@ -29,7 +29,7 @@ export type NgtsMeshTransmissionMaterialOptions = Partial<NgtMeshPhysicalMateria
29
29
  export declare class NgtsMeshTransmissionMaterial {
30
30
  attach: import("@angular/core").InputSignal<NgtAttachable>;
31
31
  options: import("@angular/core").InputSignalWithTransform<NgtsMeshTransmissionMaterialOptions, "" | Partial<NgtsMeshTransmissionMaterialOptions>>;
32
- parameters: import("@angular/core").Signal<Omit<NgtsMeshTransmissionMaterialOptions, "side" | "thickness" | "anisotropy" | "transmission" | "buffer" | "anisotropicBlur" | "samples" | "transmissionSampler" | "backside" | "backsideThickness" | "backsideEnvMapIntensity" | "resolution" | "backsideResolution" | "background">>;
32
+ parameters: import("@angular/core").Signal<Omit<NgtsMeshTransmissionMaterialOptions, "side" | "resolution" | "thickness" | "anisotropy" | "transmission" | "buffer" | "anisotropicBlur" | "samples" | "transmissionSampler" | "backside" | "backsideThickness" | "backsideEnvMapIntensity" | "backsideResolution" | "background">>;
33
33
  private resolution;
34
34
  private backsideResolution;
35
35
  private samples;
@@ -5,13 +5,7 @@ export declare class NgtsComputedAttribute {
5
5
  compute: import("@angular/core").InputSignal<(geometry: BufferGeometry) => BufferAttribute>;
6
6
  name: import("@angular/core").InputSignal<string>;
7
7
  options: import("@angular/core").InputSignal<Partial<{
8
- set?: ((value: ArrayLike<number> | ArrayBufferView, offset?: number) => BufferAttribute) | undefined;
9
8
  name?: string | undefined;
10
- applyMatrix4?: ((m: import("three").Matrix4) => BufferAttribute) | undefined;
11
- toJSON?: (() => import("three").BufferAttributeJSON) | undefined;
12
- clone?: (() => BufferAttribute) | undefined;
13
- copy?: ((source: BufferAttribute) => BufferAttribute) | undefined;
14
- readonly count?: number | undefined;
15
9
  array?: import("three").TypedArray | undefined;
16
10
  itemSize?: number | undefined;
17
11
  usage?: import("three").Usage | undefined;
@@ -26,6 +20,7 @@ export declare class NgtsComputedAttribute {
26
20
  }[] | undefined;
27
21
  version?: number | undefined;
28
22
  normalized?: boolean | undefined;
23
+ readonly count?: number | undefined;
29
24
  needsUpdate?: boolean | undefined;
30
25
  readonly isBufferAttribute?: true | undefined;
31
26
  onUploadCallback?: (() => void) | undefined;
@@ -33,11 +28,15 @@ export declare class NgtsComputedAttribute {
33
28
  setUsage?: ((usage: import("three").Usage) => BufferAttribute) | undefined;
34
29
  addUpdateRange?: ((start: number, count: number) => void) | undefined;
35
30
  clearUpdateRanges?: (() => void) | undefined;
31
+ clone?: (() => BufferAttribute) | undefined;
32
+ copy?: ((source: BufferAttribute) => BufferAttribute) | undefined;
36
33
  copyAt?: ((index1: number, attribute: BufferAttribute, index2: number) => BufferAttribute) | undefined;
37
34
  copyArray?: ((array: ArrayLike<number>) => BufferAttribute) | undefined;
38
35
  applyMatrix3?: ((m: import("three").Matrix3) => BufferAttribute) | undefined;
36
+ applyMatrix4?: ((m: import("three").Matrix4) => BufferAttribute) | undefined;
39
37
  applyNormalMatrix?: ((m: import("three").Matrix3) => BufferAttribute) | undefined;
40
38
  transformDirection?: ((m: import("three").Matrix4) => BufferAttribute) | undefined;
39
+ set?: ((value: ArrayLike<number> | ArrayBufferView, offset?: number) => BufferAttribute) | undefined;
41
40
  getComponent?: ((index: number, component: number) => number) | undefined;
42
41
  setComponent?: ((index: number, component: number, value: number) => void) | undefined;
43
42
  getX?: ((index: number) => number) | undefined;
@@ -51,6 +50,7 @@ export declare class NgtsComputedAttribute {
51
50
  setXY?: ((index: number, x: number, y: number) => BufferAttribute) | undefined;
52
51
  setXYZ?: ((index: number, x: number, y: number, z: number) => BufferAttribute) | undefined;
53
52
  setXYZW?: ((index: number, x: number, y: number, z: number, w: number) => BufferAttribute) | undefined;
53
+ toJSON?: (() => import("three").BufferAttributeJSON) | undefined;
54
54
  attach: string | string[] | import("angular-three").NgtAttachFunction;
55
55
  addEventListener: <TEventKey extends keyof import("angular-three").NgtNodeEventMap<BufferAttribute>>(type: TEventKey, listener: (this: import("angular-three").NgtNodeElement<BufferAttribute, typeof BufferAttribute>, ev: import("angular-three").NgtNodeEventMap<BufferAttribute>[TEventKey]) => any) => void;
56
56
  removeEventListener: <TEventKey extends keyof import("angular-three").NgtNodeEventMap<BufferAttribute>>(type: TEventKey, listener: (this: import("angular-three").NgtNodeElement<BufferAttribute, typeof BufferAttribute>, ev: import("angular-three").NgtNodeEventMap<BufferAttribute>[TEventKey]) => any) => void;
@@ -14,10 +14,10 @@ export declare class NgtsDecal {
14
14
  parameters: import("@angular/core").Signal<Omit<NgtsDecalOptions, "position" | "scale" | "rotation" | "debug" | "map" | "depthTest" | "polygonOffsetFactor">>;
15
15
  meshRef: import("@angular/core").Signal<ElementRef<Mesh<import("three").BufferGeometry<import("three").NormalBufferAttributes>, import("three").Material | import("three").Material[], import("three").Object3DEventMap>>>;
16
16
  helperRef: import("@angular/core").Signal<ElementRef<Mesh<import("three").BufferGeometry<import("three").NormalBufferAttributes>, import("three").Material | import("three").Material[], import("three").Object3DEventMap>> | undefined>;
17
- map: import("@angular/core").Signal<Texture | null | undefined>;
18
- depthTest: import("@angular/core").Signal<boolean>;
19
- polygonOffsetFactor: import("@angular/core").Signal<number>;
20
- debug: import("@angular/core").Signal<boolean>;
17
+ protected map: import("@angular/core").Signal<Texture | null | undefined>;
18
+ protected depthTest: import("@angular/core").Signal<boolean>;
19
+ protected polygonOffsetFactor: import("@angular/core").Signal<number>;
20
+ protected debug: import("@angular/core").Signal<boolean>;
21
21
  private position;
22
22
  private rotation;
23
23
  private scale;
@@ -29,16 +29,16 @@ export declare class NgtsHTMLContent extends NgtHTML {
29
29
  private events;
30
30
  private camera;
31
31
  private scene;
32
- size: import("@angular/core").Signal<import("angular-three").NgtSize>;
32
+ protected size: import("@angular/core").Signal<import("angular-three").NgtSize>;
33
33
  private parent;
34
34
  private zIndexRange;
35
35
  private calculatePosition;
36
36
  private prepend;
37
- center: import("@angular/core").Signal<boolean>;
38
- fullscreen: import("@angular/core").Signal<boolean>;
39
- pointerEvents: import("@angular/core").Signal<PointerEventsProperties>;
40
- containerClass: import("@angular/core").Signal<string>;
41
- containerStyle: import("@angular/core").Signal<Partial<CSSStyleDeclaration>>;
37
+ protected center: import("@angular/core").Signal<boolean>;
38
+ protected fullscreen: import("@angular/core").Signal<boolean>;
39
+ protected pointerEvents: import("@angular/core").Signal<PointerEventsProperties>;
40
+ protected containerClass: import("@angular/core").Signal<string>;
41
+ protected containerStyle: import("@angular/core").Signal<Partial<CSSStyleDeclaration>>;
42
42
  private target;
43
43
  constructor();
44
44
  static ɵfac: i0.ɵɵFactoryDeclaration<NgtsHTMLContent, never>;
@@ -62,10 +62,8 @@ export declare class NgtsSampler {
62
62
  mesh: import("@angular/core").InputSignal<Mesh<BufferGeometry<import("three").NormalBufferAttributes>, import("three").Material | import("three").Material[], import("three").Object3DEventMap> | ElementRef<Mesh<BufferGeometry<import("three").NormalBufferAttributes>, import("three").Material | import("three").Material[], import("three").Object3DEventMap>> | null>;
63
63
  instances: import("@angular/core").InputSignal<InstancedMesh<BufferGeometry<import("three").NormalBufferAttributes>, import("three").Material | import("three").Material[], import("three").InstancedMeshEventMap> | ElementRef<InstancedMesh<BufferGeometry<import("three").NormalBufferAttributes>, import("three").Material | import("three").Material[], import("three").InstancedMeshEventMap>> | null>;
64
64
  options: import("@angular/core").InputSignalWithTransform<NgtsSamplerOptions, "" | Partial<NgtsSamplerOptions>>;
65
- parameters: import("@angular/core").Signal<Omit<NgtsSamplerOptions, "transform" | "weight" | "count">>;
66
- groupRef: import("@angular/core").Signal<ElementRef<Group<import("three").Object3DEventMap>>>;
67
- private meshToSample;
68
- private instancedToSample;
65
+ parameters: import("@angular/core").Signal<Omit<NgtsSamplerOptions, "count" | "transform" | "weight">>;
66
+ groupRef: import("@angular/core").Signal<ElementRef<Group<import("three").Object3DEventMap>> | undefined>;
69
67
  constructor();
70
68
  static ɵfac: i0.ɵɵFactoryDeclaration<NgtsSampler, never>;
71
69
  static ɵcmp: i0.ɵɵComponentDeclaration<NgtsSampler, "ngts-sampler", never, { "mesh": { "alias": "mesh"; "required": false; "isSignal": true; }; "instances": { "alias": "instances"; "required": false; "isSignal": true; }; "options": { "alias": "options"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "angular-three-soba",
3
- "version": "2.2.0",
3
+ "version": "2.2.1",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
@@ -75,6 +75,12 @@
75
75
  "esm": "./esm2022/controls/angular-three-soba-controls.mjs",
76
76
  "default": "./fesm2022/angular-three-soba-controls.mjs"
77
77
  },
78
+ "./gizmos": {
79
+ "types": "./gizmos/index.d.ts",
80
+ "esm2022": "./esm2022/gizmos/angular-three-soba-gizmos.mjs",
81
+ "esm": "./esm2022/gizmos/angular-three-soba-gizmos.mjs",
82
+ "default": "./fesm2022/angular-three-soba-gizmos.mjs"
83
+ },
78
84
  "./materials": {
79
85
  "types": "./materials/index.d.ts",
80
86
  "esm2022": "./esm2022/materials/angular-three-soba-materials.mjs",
@@ -93,12 +99,6 @@
93
99
  "esm": "./esm2022/staging/angular-three-soba-staging.mjs",
94
100
  "default": "./fesm2022/angular-three-soba-staging.mjs"
95
101
  },
96
- "./gizmos": {
97
- "types": "./gizmos/index.d.ts",
98
- "esm2022": "./esm2022/gizmos/angular-three-soba-gizmos.mjs",
99
- "esm": "./esm2022/gizmos/angular-three-soba-gizmos.mjs",
100
- "default": "./fesm2022/angular-three-soba-gizmos.mjs"
101
- },
102
102
  "./stats": {
103
103
  "types": "./stats/index.d.ts",
104
104
  "esm2022": "./esm2022/stats/angular-three-soba-stats.mjs",
@@ -165,4 +165,4 @@
165
165
  ],
166
166
  "module": "fesm2022/angular-three-soba.mjs",
167
167
  "typings": "index.d.ts"
168
- }
168
+ }
@@ -5,21 +5,16 @@ import { PositionMesh } from './position-mesh';
5
5
  import * as i0 from "@angular/core";
6
6
  export declare class NgtsInstance {
7
7
  options: import("@angular/core").InputSignal<Partial<{
8
- color?: import("three").ColorRepresentation | undefined;
9
- name?: string | undefined;
10
- visible?: boolean | undefined;
11
- userData?: Record<string, any> | undefined;
12
8
  attach: string | string[] | import("angular-three").NgtAttachFunction;
13
9
  addEventListener: (<TEventKey extends keyof import("angular-three").NgtNodeEventMap<PositionMesh>>(type: TEventKey, listener: (this: import("angular-three").NgtNodeElement<PositionMesh, typeof PositionMesh>, ev: import("angular-three").NgtNodeEventMap<PositionMesh>[TEventKey]) => any) => void) & (<TEventKey extends keyof import("angular-three").NgtAllObject3DEventsMap>(type: TEventKey, listener: (this: any, ev: import("angular-three").NgtAllObject3DEventsMap[TEventKey]) => any) => void);
14
10
  removeEventListener: (<TEventKey extends keyof import("angular-three").NgtNodeEventMap<PositionMesh>>(type: TEventKey, listener: (this: import("angular-three").NgtNodeElement<PositionMesh, typeof PositionMesh>, ev: import("angular-three").NgtNodeEventMap<PositionMesh>[TEventKey]) => any) => void) & (<TEventKey extends keyof import("angular-three").NgtAllObject3DEventsMap>(type: TEventKey, listener: (this: any, ev: import("angular-three").NgtAllObject3DEventsMap[TEventKey]) => any) => void);
15
11
  __ngt_args__: [];
16
- instance?: ElementRef<InstancedMesh> | InstancedMesh | null | undefined;
17
- readonly geometry?: import("three").BufferGeometry<import("three").NormalBufferAttributes> | undefined;
18
- readonly isGroup?: true | undefined;
19
12
  readonly type?: string | undefined;
13
+ toJSON?: ((meta?: import("three").JSONMeta) => import("three").Object3DJSON) | undefined;
20
14
  readonly isObject3D?: true | undefined;
21
15
  readonly id?: number | undefined;
22
16
  uuid?: string | undefined;
17
+ name?: string | undefined;
23
18
  parent?: import("three").Object3D<import("three").Object3DEventMap> | null | undefined;
24
19
  children?: import("three").Object3D<import("three").Object3DEventMap>[] | undefined;
25
20
  readonly modelViewMatrix?: Matrix4 | undefined;
@@ -28,11 +23,13 @@ export declare class NgtsInstance {
28
23
  matrixAutoUpdate?: boolean | undefined;
29
24
  matrixWorldAutoUpdate?: boolean | undefined;
30
25
  matrixWorldNeedsUpdate?: boolean | undefined;
26
+ visible?: boolean | undefined;
31
27
  castShadow?: boolean | undefined;
32
28
  receiveShadow?: boolean | undefined;
33
29
  frustumCulled?: boolean | undefined;
34
30
  renderOrder?: number | undefined;
35
31
  animations?: import("three").AnimationClip[] | undefined;
32
+ userData?: Record<string, any> | undefined;
36
33
  customDepthMaterial?: import("three").Material | undefined;
37
34
  customDistanceMaterial?: import("three").Material | undefined;
38
35
  onBeforeShadow?: ((renderer: import("three").WebGLRenderer, scene: import("three").Scene, camera: import("three").Camera, shadowCamera: import("three").Camera, geometry: import("three").BufferGeometry, depthMaterial: import("three").Material, group: import("three").Group) => void) | undefined;
@@ -78,11 +75,14 @@ export declare class NgtsInstance {
78
75
  updateMatrix?: (() => void) | undefined;
79
76
  updateMatrixWorld?: ((force?: boolean) => void) | undefined;
80
77
  updateWorldMatrix?: ((updateParents: boolean, updateChildren: boolean) => void) | undefined;
81
- toJSON?: ((meta?: import("three").JSONMeta) => import("three").Object3DJSON) | undefined;
82
78
  clone?: ((recursive?: boolean) => PositionMesh) | undefined;
83
79
  copy?: ((object: import("three").Object3D, recursive?: boolean) => PositionMesh) | undefined;
84
80
  hasEventListener?: (<T extends keyof import("three").Object3DEventMap>(type: T, listener: import("three").EventListener<import("three").Object3DEventMap[T], T, PositionMesh>) => boolean) | undefined;
85
81
  dispatchEvent?: (<T extends keyof import("three").Object3DEventMap>(event: import("three").BaseEvent<T> & import("three").Object3DEventMap[T]) => void) | undefined;
82
+ color?: import("three").ColorRepresentation | undefined;
83
+ instance?: ElementRef<InstancedMesh> | InstancedMesh | null | undefined;
84
+ readonly geometry?: import("three").BufferGeometry<import("three").NormalBufferAttributes> | undefined;
85
+ readonly isGroup?: true | undefined;
86
86
  position: import("angular-three").NgtVector3;
87
87
  up: import("angular-three").NgtVector3;
88
88
  scale: import("angular-three").NgtVector3;
@@ -107,10 +107,10 @@ export interface NgtsInstancesOptions extends Partial<NgtInstancedMesh> {
107
107
  export declare class NgtsInstances {
108
108
  protected readonly DynamicDrawUsage: 35048;
109
109
  options: import("@angular/core").InputSignalWithTransform<NgtsInstancesOptions, "" | Partial<NgtsInstancesOptions>>;
110
- parameters: import("@angular/core").Signal<Omit<NgtsInstancesOptions, "limit" | "range" | "frames">>;
110
+ protected parameters: import("@angular/core").Signal<Omit<NgtsInstancesOptions, "frames" | "limit" | "range">>;
111
111
  instancedMeshRef: import("@angular/core").Signal<ElementRef<InstancedMesh<import("three").BufferGeometry<import("three").NormalBufferAttributes>, import("three").Material | import("three").Material[], import("three").InstancedMeshEventMap>>>;
112
- limit: import("@angular/core").Signal<number>;
113
- buffers: import("@angular/core").Signal<{
112
+ private limit;
113
+ protected buffers: import("@angular/core").Signal<{
114
114
  matrices: Float32Array;
115
115
  colors: Float32Array;
116
116
  }>;
@@ -5,22 +5,17 @@ import { PositionPoint } from './position-point';
5
5
  import * as i0 from "@angular/core";
6
6
  export declare class NgtsPoint {
7
7
  options: import("@angular/core").InputSignal<Partial<{
8
- color?: import("three").ColorRepresentation | undefined;
9
- name?: string | undefined;
10
- visible?: boolean | undefined;
11
- userData?: Record<string, any> | undefined;
8
+ size?: number | undefined;
12
9
  attach: string | string[] | import("angular-three").NgtAttachFunction;
13
10
  addEventListener: (<TEventKey extends keyof import("angular-three").NgtNodeEventMap<PositionPoint>>(type: TEventKey, listener: (this: import("angular-three").NgtNodeElement<PositionPoint, typeof PositionPoint>, ev: import("angular-three").NgtNodeEventMap<PositionPoint>[TEventKey]) => any) => void) & (<TEventKey extends keyof import("angular-three").NgtAllObject3DEventsMap>(type: TEventKey, listener: (this: any, ev: import("angular-three").NgtAllObject3DEventsMap[TEventKey]) => any) => void);
14
11
  removeEventListener: (<TEventKey extends keyof import("angular-three").NgtNodeEventMap<PositionPoint>>(type: TEventKey, listener: (this: import("angular-three").NgtNodeElement<PositionPoint, typeof PositionPoint>, ev: import("angular-three").NgtNodeEventMap<PositionPoint>[TEventKey]) => any) => void) & (<TEventKey extends keyof import("angular-three").NgtAllObject3DEventsMap>(type: TEventKey, listener: (this: any, ev: import("angular-three").NgtAllObject3DEventsMap[TEventKey]) => any) => void);
15
12
  __ngt_args__: [];
16
- size?: number | undefined;
17
- instance?: ElementRef<Points> | Points | null | undefined;
18
- readonly geometry?: BufferGeometry<import("three").NormalBufferAttributes> | undefined;
19
- readonly isGroup?: true | undefined;
20
13
  readonly type?: string | undefined;
14
+ toJSON?: ((meta?: import("three").JSONMeta) => import("three").Object3DJSON) | undefined;
21
15
  readonly isObject3D?: true | undefined;
22
16
  readonly id?: number | undefined;
23
17
  uuid?: string | undefined;
18
+ name?: string | undefined;
24
19
  parent?: import("three").Object3D<import("three").Object3DEventMap> | null | undefined;
25
20
  children?: import("three").Object3D<import("three").Object3DEventMap>[] | undefined;
26
21
  readonly modelViewMatrix?: Matrix4 | undefined;
@@ -29,11 +24,13 @@ export declare class NgtsPoint {
29
24
  matrixAutoUpdate?: boolean | undefined;
30
25
  matrixWorldAutoUpdate?: boolean | undefined;
31
26
  matrixWorldNeedsUpdate?: boolean | undefined;
27
+ visible?: boolean | undefined;
32
28
  castShadow?: boolean | undefined;
33
29
  receiveShadow?: boolean | undefined;
34
30
  frustumCulled?: boolean | undefined;
35
31
  renderOrder?: number | undefined;
36
32
  animations?: import("three").AnimationClip[] | undefined;
33
+ userData?: Record<string, any> | undefined;
37
34
  customDepthMaterial?: import("three").Material | undefined;
38
35
  customDistanceMaterial?: import("three").Material | undefined;
39
36
  onBeforeShadow?: ((renderer: import("three").WebGLRenderer, scene: import("three").Scene, camera: import("three").Camera, shadowCamera: import("three").Camera, geometry: BufferGeometry, depthMaterial: import("three").Material, group: import("three").Group) => void) | undefined;
@@ -79,11 +76,14 @@ export declare class NgtsPoint {
79
76
  updateMatrix?: (() => void) | undefined;
80
77
  updateMatrixWorld?: ((force?: boolean) => void) | undefined;
81
78
  updateWorldMatrix?: ((updateParents: boolean, updateChildren: boolean) => void) | undefined;
82
- toJSON?: ((meta?: import("three").JSONMeta) => import("three").Object3DJSON) | undefined;
83
79
  clone?: ((recursive?: boolean) => PositionPoint) | undefined;
84
80
  copy?: ((object: import("three").Object3D, recursive?: boolean) => PositionPoint) | undefined;
85
81
  hasEventListener?: (<T extends keyof import("three").Object3DEventMap>(type: T, listener: import("three").EventListener<import("three").Object3DEventMap[T], T, PositionPoint>) => boolean) | undefined;
86
82
  dispatchEvent?: (<T extends keyof import("three").Object3DEventMap>(event: import("three").BaseEvent<T> & import("three").Object3DEventMap[T]) => void) | undefined;
83
+ color?: import("three").ColorRepresentation | undefined;
84
+ instance?: ElementRef<Points> | Points | null | undefined;
85
+ readonly geometry?: BufferGeometry<import("three").NormalBufferAttributes> | undefined;
86
+ readonly isGroup?: true | undefined;
87
87
  position: import("angular-three").NgtVector3;
88
88
  up: import("angular-three").NgtVector3;
89
89
  scale: import("angular-three").NgtVector3;
@@ -104,24 +104,19 @@ export declare class NgtsPointsBuffer {
104
104
  positions: import("@angular/core").InputSignal<Float32Array>;
105
105
  colors: import("@angular/core").InputSignal<Float32Array | undefined>;
106
106
  sizes: import("@angular/core").InputSignal<Float32Array | undefined>;
107
- stride: import("@angular/core").InputSignal<3 | 2>;
107
+ stride: import("@angular/core").InputSignal<2 | 3>;
108
108
  options: import("@angular/core").InputSignal<Partial<{
109
- color?: import("three").ColorRepresentation | undefined;
110
- name?: string | undefined;
111
- visible?: boolean | undefined;
112
- userData?: Record<string, any> | undefined;
109
+ size?: number | undefined;
113
110
  attach: string | string[] | import("angular-three").NgtAttachFunction;
114
111
  addEventListener: (<TEventKey extends keyof import("angular-three").NgtNodeEventMap<PositionPoint>>(type: TEventKey, listener: (this: import("angular-three").NgtNodeElement<PositionPoint, typeof PositionPoint>, ev: import("angular-three").NgtNodeEventMap<PositionPoint>[TEventKey]) => any) => void) & (<TEventKey extends keyof import("angular-three").NgtAllObject3DEventsMap>(type: TEventKey, listener: (this: any, ev: import("angular-three").NgtAllObject3DEventsMap[TEventKey]) => any) => void);
115
112
  removeEventListener: (<TEventKey extends keyof import("angular-three").NgtNodeEventMap<PositionPoint>>(type: TEventKey, listener: (this: import("angular-three").NgtNodeElement<PositionPoint, typeof PositionPoint>, ev: import("angular-three").NgtNodeEventMap<PositionPoint>[TEventKey]) => any) => void) & (<TEventKey extends keyof import("angular-three").NgtAllObject3DEventsMap>(type: TEventKey, listener: (this: any, ev: import("angular-three").NgtAllObject3DEventsMap[TEventKey]) => any) => void);
116
113
  __ngt_args__: [];
117
- size?: number | undefined;
118
- instance?: ElementRef<Points> | Points | null | undefined;
119
- readonly geometry?: BufferGeometry<import("three").NormalBufferAttributes> | undefined;
120
- readonly isGroup?: true | undefined;
121
114
  readonly type?: string | undefined;
115
+ toJSON?: ((meta?: import("three").JSONMeta) => import("three").Object3DJSON) | undefined;
122
116
  readonly isObject3D?: true | undefined;
123
117
  readonly id?: number | undefined;
124
118
  uuid?: string | undefined;
119
+ name?: string | undefined;
125
120
  parent?: import("three").Object3D<import("three").Object3DEventMap> | null | undefined;
126
121
  children?: import("three").Object3D<import("three").Object3DEventMap>[] | undefined;
127
122
  readonly modelViewMatrix?: Matrix4 | undefined;
@@ -130,11 +125,13 @@ export declare class NgtsPointsBuffer {
130
125
  matrixAutoUpdate?: boolean | undefined;
131
126
  matrixWorldAutoUpdate?: boolean | undefined;
132
127
  matrixWorldNeedsUpdate?: boolean | undefined;
128
+ visible?: boolean | undefined;
133
129
  castShadow?: boolean | undefined;
134
130
  receiveShadow?: boolean | undefined;
135
131
  frustumCulled?: boolean | undefined;
136
132
  renderOrder?: number | undefined;
137
133
  animations?: import("three").AnimationClip[] | undefined;
134
+ userData?: Record<string, any> | undefined;
138
135
  customDepthMaterial?: import("three").Material | undefined;
139
136
  customDistanceMaterial?: import("three").Material | undefined;
140
137
  onBeforeShadow?: ((renderer: import("three").WebGLRenderer, scene: import("three").Scene, camera: import("three").Camera, shadowCamera: import("three").Camera, geometry: BufferGeometry, depthMaterial: import("three").Material, group: import("three").Group) => void) | undefined;
@@ -180,11 +177,14 @@ export declare class NgtsPointsBuffer {
180
177
  updateMatrix?: (() => void) | undefined;
181
178
  updateMatrixWorld?: ((force?: boolean) => void) | undefined;
182
179
  updateWorldMatrix?: ((updateParents: boolean, updateChildren: boolean) => void) | undefined;
183
- toJSON?: ((meta?: import("three").JSONMeta) => import("three").Object3DJSON) | undefined;
184
180
  clone?: ((recursive?: boolean) => PositionPoint) | undefined;
185
181
  copy?: ((object: import("three").Object3D, recursive?: boolean) => PositionPoint) | undefined;
186
182
  hasEventListener?: (<T extends keyof import("three").Object3DEventMap>(type: T, listener: import("three").EventListener<import("three").Object3DEventMap[T], T, PositionPoint>) => boolean) | undefined;
187
183
  dispatchEvent?: (<T extends keyof import("three").Object3DEventMap>(event: import("three").BaseEvent<T> & import("three").Object3DEventMap[T]) => void) | undefined;
184
+ color?: import("three").ColorRepresentation | undefined;
185
+ instance?: ElementRef<Points> | Points | null | undefined;
186
+ readonly geometry?: BufferGeometry<import("three").NormalBufferAttributes> | undefined;
187
+ readonly isGroup?: true | undefined;
188
188
  position: import("angular-three").NgtVector3;
189
189
  up: import("angular-three").NgtVector3;
190
190
  scale: import("angular-three").NgtVector3;
@@ -32,8 +32,11 @@ export declare class NgtsSegments {
32
32
  geometry: LineSegmentsGeometry;
33
33
  resolution: Vector2;
34
34
  materialParameters: import("@angular/core").Signal<{
35
- alphaToCoverage?: boolean | undefined;
35
+ name?: string | undefined;
36
+ visible?: boolean | undefined;
37
+ userData?: Record<string, any> | undefined;
36
38
  color?: number | undefined;
39
+ alphaToCoverage?: boolean | undefined;
37
40
  dashed?: boolean | undefined;
38
41
  dashScale?: number | undefined;
39
42
  dashSize?: number | undefined;
@@ -62,7 +65,6 @@ export declare class NgtsSegments {
62
65
  depthFunc?: import("three").DepthModes | undefined;
63
66
  depthTest?: boolean | undefined;
64
67
  depthWrite?: boolean | undefined;
65
- name?: string | undefined;
66
68
  opacity?: number | undefined;
67
69
  polygonOffset?: boolean | undefined;
68
70
  polygonOffsetFactor?: number | undefined;
@@ -76,7 +78,6 @@ export declare class NgtsSegments {
76
78
  toneMapped?: boolean | undefined;
77
79
  transparent?: boolean | undefined;
78
80
  vertexColors: boolean;
79
- visible?: boolean | undefined;
80
81
  format?: import("three").PixelFormat | undefined;
81
82
  stencilWrite?: boolean | undefined;
82
83
  stencilFunc?: import("three").StencilFunc | undefined;
@@ -86,7 +87,6 @@ export declare class NgtsSegments {
86
87
  stencilFail?: import("three").StencilOp | undefined;
87
88
  stencilZFail?: import("three").StencilOp | undefined;
88
89
  stencilZPass?: import("three").StencilOp | undefined;
89
- userData?: Record<string, any> | undefined;
90
90
  }>;
91
91
  positions: import("@angular/core").Signal<number[]>;
92
92
  colors: import("@angular/core").Signal<number[]>;
@@ -1,11 +1,8 @@
1
1
  import * as THREE from 'three';
2
- declare module 'three-mesh-bvh' {
3
- const shaderIntersectFunction: string;
4
- }
5
2
  export declare const MeshRefractionMaterial: (new (parameters?: (THREE.ShaderMaterialParameters & Partial<{
6
- [name: string]: number | boolean | any[] | THREE.CubeTexture | THREE.Texture | Int32Array | Float32Array | THREE.Matrix4 | THREE.Matrix3 | THREE.Quaternion | THREE.Vector4 | THREE.Vector3 | THREE.Vector2 | THREE.Color | null;
3
+ [name: string]: number | boolean | any[] | THREE.Color | THREE.CubeTexture | THREE.Texture | Int32Array | Float32Array | THREE.Matrix4 | THREE.Matrix3 | THREE.Quaternion | THREE.Vector4 | THREE.Vector3 | THREE.Vector2 | null;
7
4
  }>) | undefined) => THREE.ShaderMaterial & {
8
- [name: string]: number | boolean | any[] | THREE.CubeTexture | THREE.Texture | Int32Array | Float32Array | THREE.Matrix4 | THREE.Matrix3 | THREE.Quaternion | THREE.Vector4 | THREE.Vector3 | THREE.Vector2 | THREE.Color | null;
5
+ [name: string]: number | boolean | any[] | THREE.Color | THREE.CubeTexture | THREE.Texture | Int32Array | Float32Array | THREE.Matrix4 | THREE.Matrix3 | THREE.Quaternion | THREE.Vector4 | THREE.Vector3 | THREE.Vector2 | null;
9
6
  }) & {
10
7
  key: string;
11
8
  };
@@ -6,7 +6,8 @@ export * from './lib/camera-shake';
6
6
  export * from './lib/caustics';
7
7
  export * from './lib/center';
8
8
  export * from './lib/contact-shadows';
9
- export * from './lib/environment';
9
+ export * from './lib/environment/environment';
10
+ export * from './lib/environment/inject-environment';
10
11
  export * from './lib/float';
11
12
  export * from './lib/lightformer';
12
13
  export * from './lib/mask';
@@ -30,7 +30,7 @@ export declare class NgtsAccumulativeShadows {
30
30
  nullTraversal: () => null;
31
31
  Math: Math;
32
32
  options: import("@angular/core").InputSignalWithTransform<NgtsAccumulativeShadowsOptions, "" | Partial<NgtsAccumulativeShadowsOptions>>;
33
- parameters: import("@angular/core").Signal<Omit<NgtsAccumulativeShadowsOptions, "scale" | "frames" | "blend" | "limit" | "temporal" | "opacity" | "alphaTest" | "color" | "colorBlend" | "resolution" | "toneMapped">>;
33
+ parameters: import("@angular/core").Signal<Omit<NgtsAccumulativeShadowsOptions, "scale" | "temporal" | "frames" | "limit" | "blend" | "opacity" | "alphaTest" | "color" | "colorBlend" | "resolution" | "toneMapped">>;
34
34
  lightsRef: import("@angular/core").Signal<ElementRef<Group<import("three").Object3DEventMap>>>;
35
35
  planeRef: import("@angular/core").Signal<ElementRef<Mesh<PlaneGeometry, import("three").ShaderMaterial & {
36
36
  map: import("three").Texture | null;
@@ -12,7 +12,6 @@ export interface NgtsCameraShakeOptions {
12
12
  }
13
13
  export declare class NgtsCameraShake {
14
14
  options: import("@angular/core").InputSignalWithTransform<NgtsCameraShakeOptions, "" | Partial<NgtsCameraShakeOptions>>;
15
- private autoEffect;
16
15
  private store;
17
16
  private camera;
18
17
  private defaultControls;