angular-three-soba 2.2.0 → 2.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (136) hide show
  1. package/abstractions/lib/catmull-rom-line.d.ts +148 -148
  2. package/abstractions/lib/edges.d.ts +166 -166
  3. package/abstractions/lib/grid.d.ts +30 -30
  4. package/abstractions/lib/line.d.ts +10 -9
  5. package/abstractions/lib/prism-geometry.d.ts +4 -4
  6. package/abstractions/lib/rounded-box.d.ts +3 -3
  7. package/abstractions/lib/text-3d.d.ts +38 -38
  8. package/abstractions/lib/text.d.ts +2 -3
  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 +42 -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 +188 -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/materials/lib/custom-shader-material.d.ts +3 -3
  109. package/materials/lib/mesh-refraction-material.d.ts +3 -3
  110. package/materials/lib/mesh-transmission-material.d.ts +1 -1
  111. package/misc/lib/computed-attribute.d.ts +5 -5
  112. package/misc/lib/decal.d.ts +5 -5
  113. package/misc/lib/html/html-content.d.ts +6 -6
  114. package/misc/lib/html/html.d.ts +1 -1
  115. package/misc/lib/sampler.d.ts +2 -4
  116. package/package.json +12 -12
  117. package/performances/lib/instances/instances.d.ts +11 -11
  118. package/performances/lib/points/points.d.ts +20 -20
  119. package/performances/lib/segments/segments.d.ts +4 -4
  120. package/shaders/lib/mesh-refraction-material.d.ts +2 -5
  121. package/staging/index.d.ts +2 -1
  122. package/staging/lib/camera-shake.d.ts +0 -1
  123. package/staging/lib/caustics.d.ts +1 -1
  124. package/staging/lib/center.d.ts +2 -2
  125. package/staging/lib/contact-shadows.d.ts +1 -1
  126. package/staging/lib/{environment.d.ts → environment/environment.d.ts} +20 -49
  127. package/staging/lib/environment/inject-environment.d.ts +33 -0
  128. package/staging/lib/lightformer.d.ts +1 -1
  129. package/staging/lib/mask.d.ts +1 -1
  130. package/staging/lib/matcap-texture.d.ts +0 -1
  131. package/staging/lib/normal-texture.d.ts +0 -1
  132. package/staging/lib/render-texture.d.ts +1 -1
  133. package/staging/lib/sky.d.ts +1 -1
  134. package/staging/lib/spot-light.d.ts +2 -2
  135. package/staging/lib/stage.d.ts +7 -6
  136. 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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"}
@@ -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;
@@ -20,11 +20,11 @@ export declare class NgtsMeshRefractionMaterial {
20
20
  envMap: import("@angular/core").InputSignal<Texture | CubeTexture>;
21
21
  attach: import("@angular/core").InputSignal<NgtAttachable>;
22
22
  options: import("@angular/core").InputSignalWithTransform<NgtsMeshRefractionMaterialOptions, "" | Partial<NgtsMeshRefractionMaterialOptions>>;
23
- parameters: import("@angular/core").Signal<Omit<NgtsMeshRefractionMaterialOptions, "fastChroma" | "aberrationStrength">>;
23
+ parameters: import("@angular/core").Signal<Omit<NgtsMeshRefractionMaterialOptions, "aberrationStrength" | "fastChroma">>;
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" | "thickness" | "anisotropy" | "transmission" | "resolution" | "buffer" | "anisotropicBlur" | "samples" | "transmissionSampler" | "backside" | "backsideThickness" | "backsideEnvMapIntensity" | "backsideResolution" | "background">>;
33
33
  private resolution;
34
34
  private backsideResolution;
35
35
  private samples;
@@ -5,13 +5,9 @@ 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
9
  clone?: (() => BufferAttribute) | undefined;
13
- copy?: ((source: BufferAttribute) => BufferAttribute) | undefined;
14
- readonly count?: number | undefined;
10
+ toJSON?: (() => import("three").BufferAttributeJSON) | undefined;
15
11
  array?: import("three").TypedArray | undefined;
16
12
  itemSize?: number | undefined;
17
13
  usage?: import("three").Usage | undefined;
@@ -26,6 +22,7 @@ export declare class NgtsComputedAttribute {
26
22
  }[] | undefined;
27
23
  version?: number | undefined;
28
24
  normalized?: boolean | undefined;
25
+ readonly count?: number | undefined;
29
26
  needsUpdate?: boolean | undefined;
30
27
  readonly isBufferAttribute?: true | undefined;
31
28
  onUploadCallback?: (() => void) | undefined;
@@ -33,11 +30,14 @@ export declare class NgtsComputedAttribute {
33
30
  setUsage?: ((usage: import("three").Usage) => BufferAttribute) | undefined;
34
31
  addUpdateRange?: ((start: number, count: number) => void) | undefined;
35
32
  clearUpdateRanges?: (() => void) | undefined;
33
+ copy?: ((source: BufferAttribute) => BufferAttribute) | undefined;
36
34
  copyAt?: ((index1: number, attribute: BufferAttribute, index2: number) => BufferAttribute) | undefined;
37
35
  copyArray?: ((array: ArrayLike<number>) => BufferAttribute) | undefined;
38
36
  applyMatrix3?: ((m: import("three").Matrix3) => BufferAttribute) | undefined;
37
+ applyMatrix4?: ((m: import("three").Matrix4) => BufferAttribute) | undefined;
39
38
  applyNormalMatrix?: ((m: import("three").Matrix3) => BufferAttribute) | undefined;
40
39
  transformDirection?: ((m: import("three").Matrix4) => BufferAttribute) | undefined;
40
+ set?: ((value: ArrayLike<number> | ArrayBufferView, offset?: number) => BufferAttribute) | undefined;
41
41
  getComponent?: ((index: number, component: number) => number) | undefined;
42
42
  setComponent?: ((index: number, component: number, value: number) => void) | undefined;
43
43
  getX?: ((index: number) => number) | undefined;
@@ -11,13 +11,13 @@ export interface NgtsDecalOptions extends Partial<NgtMesh> {
11
11
  export declare class NgtsDecal {
12
12
  mesh: import("@angular/core").InputSignal<Mesh<import("three").BufferGeometry<import("three").NormalBufferAttributes>, import("three").Material | import("three").Material[], import("three").Object3DEventMap> | ElementRef<Mesh<import("three").BufferGeometry<import("three").NormalBufferAttributes>, import("three").Material | import("three").Material[], import("three").Object3DEventMap>> | null | undefined>;
13
13
  options: import("@angular/core").InputSignalWithTransform<NgtsDecalOptions, "" | Partial<NgtsDecalOptions>>;
14
- parameters: import("@angular/core").Signal<Omit<NgtsDecalOptions, "position" | "scale" | "rotation" | "debug" | "map" | "depthTest" | "polygonOffsetFactor">>;
14
+ parameters: import("@angular/core").Signal<Omit<NgtsDecalOptions, "position" | "scale" | "rotation" | "polygonOffsetFactor" | "depthTest" | "debug" | "map">>;
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>;
@@ -14,7 +14,7 @@ export declare class NgtsHTML {
14
14
  groupRef: import("@angular/core").Signal<ElementRef<Group<import("three").Object3DEventMap>>>;
15
15
  occlusionMeshRef: import("@angular/core").Signal<ElementRef<Mesh<import("three").BufferGeometry<import("three").NormalBufferAttributes>, import("three").Material | import("three").Material[], import("three").Object3DEventMap>> | undefined>;
16
16
  occlusionGeometryRef: import("@angular/core").Signal<ElementRef<PlaneGeometry> | undefined>;
17
- occlude: import("@angular/core").Signal<boolean | "raycast" | ElementRef<Object3D<import("three").Object3DEventMap>>[] | Object3D<import("three").Object3DEventMap>[] | "blending">;
17
+ occlude: import("@angular/core").Signal<boolean | "raycast" | Object3D<import("three").Object3DEventMap>[] | ElementRef<Object3D<import("three").Object3DEventMap>>[] | "blending">;
18
18
  transform: import("@angular/core").Signal<boolean>;
19
19
  castShadow: import("@angular/core").Signal<boolean>;
20
20
  receiveShadow: import("@angular/core").Signal<boolean>;
@@ -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.3.0",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
@@ -63,18 +63,18 @@
63
63
  "esm": "./esm2022/abstractions/angular-three-soba-abstractions.mjs",
64
64
  "default": "./fesm2022/angular-three-soba-abstractions.mjs"
65
65
  },
66
- "./cameras": {
67
- "types": "./cameras/index.d.ts",
68
- "esm2022": "./esm2022/cameras/angular-three-soba-cameras.mjs",
69
- "esm": "./esm2022/cameras/angular-three-soba-cameras.mjs",
70
- "default": "./fesm2022/angular-three-soba-cameras.mjs"
71
- },
72
66
  "./controls": {
73
67
  "types": "./controls/index.d.ts",
74
68
  "esm2022": "./esm2022/controls/angular-three-soba-controls.mjs",
75
69
  "esm": "./esm2022/controls/angular-three-soba-controls.mjs",
76
70
  "default": "./fesm2022/angular-three-soba-controls.mjs"
77
71
  },
72
+ "./gizmos": {
73
+ "types": "./gizmos/index.d.ts",
74
+ "esm2022": "./esm2022/gizmos/angular-three-soba-gizmos.mjs",
75
+ "esm": "./esm2022/gizmos/angular-three-soba-gizmos.mjs",
76
+ "default": "./fesm2022/angular-three-soba-gizmos.mjs"
77
+ },
78
78
  "./materials": {
79
79
  "types": "./materials/index.d.ts",
80
80
  "esm2022": "./esm2022/materials/angular-three-soba-materials.mjs",
@@ -93,11 +93,11 @@
93
93
  "esm": "./esm2022/staging/angular-three-soba-staging.mjs",
94
94
  "default": "./fesm2022/angular-three-soba-staging.mjs"
95
95
  },
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"
96
+ "./cameras": {
97
+ "types": "./cameras/index.d.ts",
98
+ "esm2022": "./esm2022/cameras/angular-three-soba-cameras.mjs",
99
+ "esm": "./esm2022/cameras/angular-three-soba-cameras.mjs",
100
+ "default": "./fesm2022/angular-three-soba-cameras.mjs"
101
101
  },
102
102
  "./stats": {
103
103
  "types": "./stats/index.d.ts",
@@ -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" | "range" | "limit">>;
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;
@@ -207,7 +207,7 @@ export interface NgtsPointsInstancesOptions extends Partial<NgtPoints> {
207
207
  }
208
208
  export declare class NgtsPointsInstances {
209
209
  options: import("@angular/core").InputSignalWithTransform<NgtsPointsInstancesOptions, "" | Partial<NgtsPointsInstancesOptions>>;
210
- parameters: import("@angular/core").Signal<Omit<NgtsPointsInstancesOptions, "limit" | "range">>;
210
+ parameters: import("@angular/core").Signal<Omit<NgtsPointsInstancesOptions, "range" | "limit">>;
211
211
  pointsRef: import("@angular/core").Signal<ElementRef<Points<BufferGeometry<import("three").NormalBufferAttributes>, import("three").Material | import("three").Material[], import("three").Object3DEventMap>>>;
212
212
  private limit;
213
213
  buffers: import("@angular/core").Signal<{
@@ -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';
@@ -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;
@@ -32,7 +32,7 @@ export declare class NgtsCaustics {
32
32
  protected readonly OneFactor: 201;
33
33
  protected readonly SrcAlphaFactor: 204;
34
34
  options: import("@angular/core").InputSignalWithTransform<NgtsCausticsOptions, "" | Partial<NgtsCausticsOptions>>;
35
- parameters: import("@angular/core").Signal<Omit<NgtsCausticsOptions, "intensity" | "frames" | "color" | "resolution" | "debug" | "causticsOnly" | "backside" | "ior" | "backsideIOR" | "worldRadius" | "lightSource">>;
35
+ parameters: import("@angular/core").Signal<Omit<NgtsCausticsOptions, "frames" | "color" | "resolution" | "debug" | "causticsOnly" | "backside" | "ior" | "backsideIOR" | "worldRadius" | "intensity" | "lightSource">>;
36
36
  debug: import("@angular/core").Signal<boolean>;
37
37
  color: import("@angular/core").Signal<ColorRepresentation>;
38
38
  private resolution;