angular-three-soba 2.0.0-beta.7 → 2.0.0-beta.8

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 (296) hide show
  1. package/abstractions/billboard/billboard.d.ts +11 -7
  2. package/abstractions/detailed/detailed.d.ts +26 -0
  3. package/abstractions/edges/edges.d.ts +23 -11
  4. package/abstractions/grid/grid.d.ts +41 -50
  5. package/abstractions/index.d.ts +1 -7
  6. package/abstractions/text/text.d.ts +10 -4
  7. package/abstractions/text-3d/text-3d.d.ts +47 -40
  8. package/cameras/camera/camera-content.d.ts +1 -1
  9. package/cameras/camera/camera.d.ts +16 -13
  10. package/cameras/cube-camera/cube-camera.d.ts +50 -23
  11. package/cameras/index.d.ts +0 -1
  12. package/cameras/orthographic-camera/orthographic-camera.d.ts +29 -18
  13. package/cameras/perspective-camera/perspective-camera.d.ts +10 -1
  14. package/controls/orbit-controls/orbit-controls.d.ts +30 -13
  15. package/esm2022/abstractions/billboard/billboard.mjs +36 -33
  16. package/esm2022/abstractions/detailed/detailed.mjs +64 -0
  17. package/esm2022/abstractions/edges/edges.mjs +58 -63
  18. package/esm2022/abstractions/grid/grid.mjs +140 -110
  19. package/esm2022/abstractions/index.mjs +2 -8
  20. package/esm2022/abstractions/text/text.mjs +123 -122
  21. package/esm2022/abstractions/text-3d/text-3d.mjs +119 -121
  22. package/esm2022/cameras/camera/camera-content.mjs +5 -6
  23. package/esm2022/cameras/camera/camera.mjs +48 -42
  24. package/esm2022/cameras/cube-camera/cube-camera.mjs +129 -99
  25. package/esm2022/cameras/index.mjs +1 -2
  26. package/esm2022/cameras/orthographic-camera/orthographic-camera.mjs +78 -75
  27. package/esm2022/cameras/perspective-camera/perspective-camera.mjs +25 -26
  28. package/esm2022/controls/orbit-controls/orbit-controls.mjs +94 -90
  29. package/esm2022/loaders/gltf-loader/gltf-loader.mjs +3 -6
  30. package/esm2022/loaders/loader/loader.mjs +92 -87
  31. package/esm2022/loaders/progress/progress.mjs +1 -1
  32. package/esm2022/loaders/texture-loader/texture-loader.mjs +4 -4
  33. package/esm2022/materials/index.mjs +2 -1
  34. package/esm2022/materials/mesh-distort-material/mesh-distort-material.mjs +60 -51
  35. package/esm2022/materials/mesh-reflector-material/mesh-reflector-material.mjs +239 -255
  36. package/esm2022/materials/mesh-refraction-material/mesh-refraction-material.mjs +99 -97
  37. package/esm2022/materials/mesh-transmission-material/mesh-transmission-material.mjs +167 -146
  38. package/esm2022/materials/mesh-wobble-material/mesh-wobble-material.mjs +44 -42
  39. package/esm2022/materials/point-material/point-material.mjs +46 -0
  40. package/esm2022/misc/animations/animations.mjs +20 -16
  41. package/esm2022/misc/bake-shadows/bake-shadows.mjs +13 -13
  42. package/esm2022/misc/caustics/caustics.mjs +387 -0
  43. package/esm2022/misc/decal/decal.mjs +187 -0
  44. package/esm2022/misc/depth-buffer/depth-buffer.mjs +33 -35
  45. package/esm2022/misc/example/example.mjs +160 -0
  46. package/esm2022/misc/fbo/fbo.mjs +35 -35
  47. package/esm2022/misc/html/html-wrapper.mjs +478 -0
  48. package/esm2022/misc/html/html.mjs +304 -0
  49. package/esm2022/misc/index.mjs +10 -1
  50. package/esm2022/misc/sampler/sampler.mjs +142 -0
  51. package/esm2022/misc/shadow/shadow.mjs +111 -0
  52. package/esm2022/misc/stats-gl/stats-gl.mjs +61 -0
  53. package/esm2022/misc/trail/trail.mjs +209 -0
  54. package/esm2022/misc/trail-texture/inject-trail-texture.mjs +17 -0
  55. package/esm2022/misc/trail-texture/trail-texture.mjs +106 -0
  56. package/esm2022/modifiers/angular-three-soba-modifiers.mjs +5 -0
  57. package/esm2022/modifiers/curve-modifier/curve-modifier.mjs +64 -0
  58. package/esm2022/modifiers/index.mjs +2 -0
  59. package/esm2022/performances/adaptive-dpr/adaptive-dpr.mjs +44 -0
  60. package/esm2022/performances/adaptive-events/adaptive-events.mjs +27 -0
  61. package/esm2022/performances/angular-three-soba-performances.mjs +5 -0
  62. package/esm2022/performances/index.mjs +6 -0
  63. package/esm2022/performances/points/points-input.mjs +64 -0
  64. package/esm2022/performances/points/points.mjs +329 -0
  65. package/esm2022/performances/points/position-point.mjs +54 -0
  66. package/esm2022/performances/segments/segment-object.mjs +9 -0
  67. package/esm2022/performances/segments/segments.mjs +182 -0
  68. package/esm2022/shaders/blur-pass/blur-pass.mjs +1 -1
  69. package/esm2022/shaders/caustics/caustics-material.mjs +130 -0
  70. package/esm2022/shaders/caustics/caustics-projection-material.mjs +31 -0
  71. package/esm2022/shaders/convolution-material/convolution-material.mjs +1 -1
  72. package/esm2022/shaders/discard-material/discard-material.mjs +1 -1
  73. package/esm2022/shaders/grid-material/grid-material.mjs +29 -14
  74. package/esm2022/shaders/index.mjs +5 -3
  75. package/esm2022/shaders/mesh-distort-material/mesh-distort-material.mjs +42 -41
  76. package/esm2022/shaders/mesh-reflector-material/mesh-reflector-material.mjs +1 -1
  77. package/esm2022/shaders/mesh-refraction-material/mesh-refraction-material.mjs +2 -2
  78. package/esm2022/shaders/mesh-transmission-material/mesh-transmission-material.mjs +4 -4
  79. package/esm2022/shaders/mesh-wobble-material/mesh-wobble-material.mjs +1 -1
  80. package/esm2022/shaders/shader-material/shader-material.mjs +1 -1
  81. package/esm2022/shaders/soft-shadow-material/soft-shadow-material.mjs +17 -25
  82. package/esm2022/shaders/sparkles-material/sparkles-material.mjs +32 -46
  83. package/esm2022/shaders/spot-light-material/spot-light-material.mjs +7 -7
  84. package/esm2022/shaders/star-field-material/star-field-material.mjs +3 -2
  85. package/esm2022/shaders/wireframe-material/wireframe-material.mjs +247 -0
  86. package/esm2022/staging/accumulative-shadows/accumulative-shadows.mjs +160 -176
  87. package/esm2022/staging/accumulative-shadows/progressive-light-map.mjs +1 -1
  88. package/esm2022/staging/accumulative-shadows/randomized-lights.mjs +126 -128
  89. package/esm2022/staging/backdrop/backdrop.mjs +77 -0
  90. package/esm2022/staging/bb-anchor/bb-anchor.mjs +70 -0
  91. package/esm2022/staging/bounds/bounds.mjs +144 -143
  92. package/esm2022/staging/camera-shake/camera-shake.mjs +86 -80
  93. package/esm2022/staging/center/center.mjs +106 -91
  94. package/esm2022/staging/cloud/cloud.mjs +118 -124
  95. package/esm2022/staging/contact-shadows/contact-shadows.mjs +131 -134
  96. package/esm2022/staging/environment/assets.mjs +12 -12
  97. package/esm2022/staging/environment/environment-cube.mjs +28 -30
  98. package/esm2022/staging/environment/environment-ground.mjs +18 -20
  99. package/esm2022/staging/environment/environment-input.mjs +97 -84
  100. package/esm2022/staging/environment/environment-map.mjs +33 -33
  101. package/esm2022/staging/environment/environment-portal.mjs +75 -97
  102. package/esm2022/staging/environment/environment.mjs +34 -51
  103. package/esm2022/staging/environment/utils.mjs +35 -14
  104. package/esm2022/staging/float/float.mjs +70 -58
  105. package/esm2022/staging/index.mjs +7 -3
  106. package/esm2022/staging/matcap-texture/matcap-texture.mjs +64 -0
  107. package/esm2022/staging/normal-texture/normal-texture.mjs +53 -0
  108. package/esm2022/staging/sky/sky.mjs +85 -80
  109. package/esm2022/staging/sparkles/sparkles.mjs +108 -105
  110. package/esm2022/staging/spot-light/shadow-mesh-input.mjs +63 -0
  111. package/esm2022/staging/spot-light/shadow-mesh.mjs +266 -0
  112. package/esm2022/staging/spot-light/spot-light-input.mjs +67 -58
  113. package/esm2022/staging/spot-light/spot-light.mjs +51 -64
  114. package/esm2022/staging/spot-light/volumetric-mesh.mjs +61 -78
  115. package/esm2022/staging/stage/stage.mjs +304 -290
  116. package/esm2022/staging/stars/stars.mjs +101 -102
  117. package/esm2022/staging/wireframe/wireframe-input.mjs +191 -0
  118. package/esm2022/staging/wireframe/wireframe.mjs +224 -0
  119. package/esm2022/utils/angular-three-soba-utils.mjs +5 -0
  120. package/esm2022/utils/content/content.mjs +15 -0
  121. package/esm2022/utils/index.mjs +2 -0
  122. package/fesm2022/angular-three-soba-abstractions.mjs +505 -2087
  123. package/fesm2022/angular-three-soba-abstractions.mjs.map +1 -1
  124. package/fesm2022/angular-three-soba-cameras.mjs +302 -259
  125. package/fesm2022/angular-three-soba-cameras.mjs.map +1 -1
  126. package/fesm2022/angular-three-soba-controls.mjs +93 -88
  127. package/fesm2022/angular-three-soba-controls.mjs.map +1 -1
  128. package/fesm2022/angular-three-soba-loaders.mjs +94 -90
  129. package/fesm2022/angular-three-soba-loaders.mjs.map +1 -1
  130. package/fesm2022/angular-three-soba-materials.mjs +655 -590
  131. package/fesm2022/angular-three-soba-materials.mjs.map +1 -1
  132. package/fesm2022/angular-three-soba-misc.mjs +2198 -89
  133. package/fesm2022/angular-three-soba-misc.mjs.map +1 -1
  134. package/fesm2022/angular-three-soba-modifiers.mjs +71 -0
  135. package/fesm2022/angular-three-soba-modifiers.mjs.map +1 -0
  136. package/fesm2022/angular-three-soba-performances.mjs +697 -0
  137. package/fesm2022/angular-three-soba-performances.mjs.map +1 -0
  138. package/fesm2022/angular-three-soba-shaders.mjs +501 -264
  139. package/fesm2022/angular-three-soba-shaders.mjs.map +1 -1
  140. package/fesm2022/angular-three-soba-staging.mjs +2870 -2555
  141. package/fesm2022/angular-three-soba-staging.mjs.map +1 -1
  142. package/fesm2022/angular-three-soba-utils.mjs +22 -0
  143. package/fesm2022/angular-three-soba-utils.mjs.map +1 -0
  144. package/loaders/gltf-loader/gltf-loader.d.ts +4 -3
  145. package/loaders/loader/loader.d.ts +19 -17
  146. package/loaders/progress/progress.d.ts +1 -1
  147. package/loaders/texture-loader/texture-loader.d.ts +2 -2
  148. package/materials/index.d.ts +1 -0
  149. package/materials/mesh-distort-material/mesh-distort-material.d.ts +25 -15
  150. package/materials/mesh-reflector-material/mesh-reflector-material.d.ts +74 -56
  151. package/materials/mesh-refraction-material/mesh-refraction-material.d.ts +33 -21
  152. package/materials/mesh-transmission-material/mesh-transmission-material.d.ts +55 -39
  153. package/materials/mesh-wobble-material/mesh-wobble-material.d.ts +19 -10
  154. package/materials/point-material/point-material.d.ts +24 -0
  155. package/metadata.json +1 -0
  156. package/misc/animations/animations.d.ts +6 -4
  157. package/misc/caustics/caustics.d.ts +87 -0
  158. package/misc/decal/decal.d.ts +49 -0
  159. package/misc/depth-buffer/depth-buffer.d.ts +2 -2
  160. package/misc/example/example.d.ts +81 -0
  161. package/misc/fbo/fbo.d.ts +2 -2
  162. package/misc/html/html-wrapper.d.ts +559 -0
  163. package/misc/html/html.d.ts +214 -0
  164. package/misc/index.d.ts +9 -0
  165. package/misc/sampler/sampler.d.ts +67 -0
  166. package/misc/shadow/shadow.d.ts +37 -0
  167. package/misc/stats-gl/stats-gl.d.ts +24 -0
  168. package/misc/trail/trail.d.ts +57 -0
  169. package/misc/trail-texture/inject-trail-texture.d.ts +9 -0
  170. package/misc/trail-texture/trail-texture.d.ts +50 -0
  171. package/modifiers/README.md +3 -0
  172. package/modifiers/curve-modifier/curve-modifier.d.ts +23 -0
  173. package/modifiers/index.d.ts +1 -0
  174. package/package.json +30 -22
  175. package/performances/README.md +3 -0
  176. package/performances/adaptive-dpr/adaptive-dpr.d.ts +14 -0
  177. package/{performance/adaptive → performances/adaptive-events}/adaptive-events.d.ts +3 -0
  178. package/performances/index.d.ts +5 -0
  179. package/performances/points/points-input.d.ts +32 -0
  180. package/performances/points/points.d.ts +92 -0
  181. package/{performance/instances/position-mesh.d.ts → performances/points/position-point.d.ts} +4 -3
  182. package/performances/segments/segment-object.d.ts +7 -0
  183. package/performances/segments/segments.d.ts +124 -0
  184. package/shaders/grid-material/grid-material.d.ts +33 -0
  185. package/shaders/index.d.ts +4 -2
  186. package/shaders/mesh-distort-material/mesh-distort-material.d.ts +146 -1
  187. package/shaders/mesh-transmission-material/mesh-transmission-material.d.ts +1 -1
  188. package/shaders/shader-material/shader-material.d.ts +2 -2
  189. package/shaders/soft-shadow-material/soft-shadow-material.d.ts +10 -1
  190. package/shaders/sparkles-material/sparkles-material.d.ts +15 -1
  191. package/shaders/spot-light-material/spot-light-material.d.ts +11 -2
  192. package/shaders/star-field-material/star-field-material.d.ts +11 -1
  193. package/shaders/wireframe-material/wireframe-material.d.ts +58 -0
  194. package/staging/accumulative-shadows/accumulative-shadows.d.ts +89 -39
  195. package/staging/accumulative-shadows/randomized-lights.d.ts +40 -27
  196. package/staging/backdrop/backdrop.d.ts +30 -0
  197. package/staging/bb-anchor/bb-anchor.d.ts +27 -0
  198. package/staging/bounds/bounds.d.ts +100 -24
  199. package/staging/camera-shake/camera-shake.d.ts +30 -19
  200. package/staging/center/center.d.ts +43 -35
  201. package/staging/cloud/cloud.d.ts +26 -23
  202. package/staging/contact-shadows/contact-shadows.d.ts +41 -28
  203. package/staging/environment/assets.d.ts +9 -9
  204. package/staging/environment/environment-cube.d.ts +9 -5
  205. package/staging/environment/environment-ground.d.ts +7 -7
  206. package/staging/environment/environment-input.d.ts +36 -36
  207. package/staging/environment/environment-map.d.ts +10 -5
  208. package/staging/environment/environment-portal.d.ts +10 -5
  209. package/staging/environment/environment.d.ts +0 -4
  210. package/staging/environment/utils.d.ts +2 -2
  211. package/staging/float/float.d.ts +14 -10
  212. package/staging/index.d.ts +6 -2
  213. package/staging/matcap-texture/matcap-texture.d.ts +13 -0
  214. package/staging/normal-texture/normal-texture.d.ts +16 -0
  215. package/staging/sky/sky.d.ts +28 -21
  216. package/staging/sparkles/sparkles.d.ts +35 -21
  217. package/staging/spot-light/shadow-mesh-input.d.ts +29 -0
  218. package/staging/spot-light/shadow-mesh.d.ts +37 -0
  219. package/staging/spot-light/spot-light-input.d.ts +25 -25
  220. package/staging/spot-light/spot-light.d.ts +31 -15
  221. package/staging/spot-light/volumetric-mesh.d.ts +15 -9
  222. package/staging/stage/stage.d.ts +88 -63
  223. package/staging/stars/stars.d.ts +27 -16
  224. package/staging/wireframe/wireframe-input.d.ts +65 -0
  225. package/staging/wireframe/wireframe.d.ts +28 -0
  226. package/utils/README.md +3 -0
  227. package/utils/content/content.d.ts +8 -0
  228. package/utils/index.d.ts +1 -0
  229. package/web-types.json +1 -0
  230. package/abstractions/catmull-rom-line/catmull-rom-line.d.ts +0 -25
  231. package/abstractions/cubic-bezier-line/cubic-bezier-line.d.ts +0 -25
  232. package/abstractions/gizmo-helper/gizmo-helper.d.ts +0 -34
  233. package/abstractions/gizmo-helper/gizmo-viewcube/constants.d.ts +0 -12
  234. package/abstractions/gizmo-helper/gizmo-viewcube/gizmo-viewcube-edge.d.ts +0 -22
  235. package/abstractions/gizmo-helper/gizmo-viewcube/gizmo-viewcube-face.d.ts +0 -30
  236. package/abstractions/gizmo-helper/gizmo-viewcube/gizmo-viewcube-inputs.d.ts +0 -32
  237. package/abstractions/gizmo-helper/gizmo-viewcube/gizmo-viewcube.d.ts +0 -14
  238. package/abstractions/gizmo-helper/gizmo-viewport/gizmo-viewport-axis.d.ts +0 -47
  239. package/abstractions/gizmo-helper/gizmo-viewport/gizmo-viewport.d.ts +0 -40
  240. package/abstractions/line/line-input.d.ts +0 -42
  241. package/abstractions/line/line.d.ts +0 -35
  242. package/abstractions/quadratic-bezier-line/quadratic-bezier-line.d.ts +0 -23
  243. package/esm2022/abstractions/catmull-rom-line/catmull-rom-line.mjs +0 -131
  244. package/esm2022/abstractions/cubic-bezier-line/cubic-bezier-line.mjs +0 -113
  245. package/esm2022/abstractions/gizmo-helper/gizmo-helper.mjs +0 -210
  246. package/esm2022/abstractions/gizmo-helper/gizmo-viewcube/constants.mjs +0 -31
  247. package/esm2022/abstractions/gizmo-helper/gizmo-viewcube/gizmo-viewcube-edge.mjs +0 -95
  248. package/esm2022/abstractions/gizmo-helper/gizmo-viewcube/gizmo-viewcube-face.mjs +0 -155
  249. package/esm2022/abstractions/gizmo-helper/gizmo-viewcube/gizmo-viewcube-inputs.mjs +0 -62
  250. package/esm2022/abstractions/gizmo-helper/gizmo-viewcube/gizmo-viewcube.mjs +0 -80
  251. package/esm2022/abstractions/gizmo-helper/gizmo-viewport/gizmo-viewport-axis.mjs +0 -206
  252. package/esm2022/abstractions/gizmo-helper/gizmo-viewport/gizmo-viewport.mjs +0 -273
  253. package/esm2022/abstractions/line/line-input.mjs +0 -113
  254. package/esm2022/abstractions/line/line.mjs +0 -165
  255. package/esm2022/abstractions/quadratic-bezier-line/quadratic-bezier-line.mjs +0 -128
  256. package/esm2022/performance/adaptive/adaptive-dpr.mjs +0 -46
  257. package/esm2022/performance/adaptive/adaptive-events.mjs +0 -31
  258. package/esm2022/performance/angular-three-soba-performance.mjs +0 -5
  259. package/esm2022/performance/detailed/detailed.mjs +0 -61
  260. package/esm2022/performance/index.mjs +0 -7
  261. package/esm2022/performance/instances/instance.mjs +0 -48
  262. package/esm2022/performance/instances/instances.mjs +0 -189
  263. package/esm2022/performance/instances/position-mesh.mjs +0 -52
  264. package/esm2022/performance/stats/stats.mjs +0 -79
  265. package/esm2022/shaders/caustics-material/caustics-material.mjs +0 -128
  266. package/esm2022/shaders/caustics-material/caustics-projection-material.mjs +0 -33
  267. package/esm2022/staging/caustics/caustisc.mjs +0 -384
  268. package/esm2022/staging/spot-light/spot-light-shadow-mesh-input.mjs +0 -57
  269. package/esm2022/staging/spot-light/spot-light-shadow-mesh.mjs +0 -258
  270. package/fesm2022/angular-three-soba-performance.mjs +0 -487
  271. package/fesm2022/angular-three-soba-performance.mjs.map +0 -1
  272. package/performance/README.md +0 -3
  273. package/performance/adaptive/adaptive-dpr.d.ts +0 -8
  274. package/performance/detailed/detailed.d.ts +0 -20
  275. package/performance/index.d.ts +0 -6
  276. package/performance/instances/instance.d.ts +0 -9
  277. package/performance/instances/instances.d.ts +0 -35
  278. package/performance/stats/stats.d.ts +0 -18
  279. package/plugin/generators.json +0 -19
  280. package/plugin/libs/plugin/README.md +0 -11
  281. package/plugin/package.json +0 -9
  282. package/plugin/src/generators/init/compat.d.ts +0 -2
  283. package/plugin/src/generators/init/compat.js +0 -6
  284. package/plugin/src/generators/init/compat.js.map +0 -1
  285. package/plugin/src/generators/init/init.d.ts +0 -7
  286. package/plugin/src/generators/init/init.js +0 -28
  287. package/plugin/src/generators/init/init.js.map +0 -1
  288. package/plugin/src/generators/init/schema.json +0 -6
  289. package/plugin/src/index.d.ts +0 -1
  290. package/plugin/src/index.js +0 -6
  291. package/plugin/src/index.js.map +0 -1
  292. package/staging/caustics/caustisc.d.ts +0 -70
  293. package/staging/spot-light/spot-light-shadow-mesh-input.d.ts +0 -29
  294. package/staging/spot-light/spot-light-shadow-mesh.d.ts +0 -38
  295. /package/shaders/{caustics-material → caustics}/caustics-material.d.ts +0 -0
  296. /package/shaders/{caustics-material → caustics}/caustics-projection-material.d.ts +0 -0
@@ -1,4 +1,4 @@
1
- import { NgtSignalStore, type NgtGroup } from 'angular-three';
1
+ import { type NgtGroup } from 'angular-three';
2
2
  import { Group } from 'three';
3
3
  import * as i0 from "@angular/core";
4
4
  export type NgtsBillboardState = {
@@ -9,16 +9,20 @@ export type NgtsBillboardState = {
9
9
  };
10
10
  declare global {
11
11
  interface HTMLElementTagNameMap {
12
+ /**
13
+ * @extends ngt-group
14
+ */
12
15
  'ngts-billboard': NgtsBillboardState & NgtGroup;
13
16
  }
14
17
  }
15
- export declare class NgtsBillboard extends NgtSignalStore<NgtsBillboardState> {
18
+ export declare class NgtsBillboard {
19
+ private inputs;
16
20
  billboardRef: import("angular-three").NgtInjectedRef<Group>;
17
- set follow(follow: boolean);
18
- set lockX(lockX: boolean);
19
- set lockY(lockY: boolean);
20
- set lockZ(lockZ: boolean);
21
+ set _follow(follow: boolean);
22
+ set _lockX(lockX: boolean);
23
+ set _lockY(lockY: boolean);
24
+ set _lockZ(lockZ: boolean);
21
25
  constructor();
22
26
  static ɵfac: i0.ɵɵFactoryDeclaration<NgtsBillboard, never>;
23
- static ɵcmp: i0.ɵɵComponentDeclaration<NgtsBillboard, "ngts-billboard", never, { "billboardRef": { "alias": "billboardRef"; "required": false; }; "follow": { "alias": "follow"; "required": false; }; "lockX": { "alias": "lockX"; "required": false; }; "lockY": { "alias": "lockY"; "required": false; }; "lockZ": { "alias": "lockZ"; "required": false; }; }, {}, never, ["*"], true, never>;
27
+ static ɵcmp: i0.ɵɵComponentDeclaration<NgtsBillboard, "ngts-billboard", never, { "billboardRef": { "alias": "billboardRef"; "required": false; }; "_follow": { "alias": "follow"; "required": false; }; "_lockX": { "alias": "lockX"; "required": false; }; "_lockY": { "alias": "lockY"; "required": false; }; "_lockZ": { "alias": "lockZ"; "required": false; }; }, {}, never, ["*"], true, never>;
24
28
  }
@@ -0,0 +1,26 @@
1
+ import { NgtBeforeRenderEvent, type NgtLOD } from 'angular-three';
2
+ import { LOD } from 'three';
3
+ import * as i0 from "@angular/core";
4
+ export type NgtsDetailedState = {
5
+ hysteresis: number;
6
+ distances: number[];
7
+ };
8
+ declare global {
9
+ interface HTMLElementTagNameMap {
10
+ /**
11
+ * @extends ngt-lOD
12
+ */
13
+ 'ngts-detailed': NgtsDetailedState & NgtLOD;
14
+ }
15
+ }
16
+ export declare class NgtsDetailed {
17
+ private inputs;
18
+ lodRef: import("angular-three").NgtInjectedRef<LOD>;
19
+ set _distances(distances: number[]);
20
+ set _hysteresis(hysteresis: number);
21
+ constructor();
22
+ onBeforeRender({ object, state }: NgtBeforeRenderEvent<LOD>): void;
23
+ private updateChildren;
24
+ static ɵfac: i0.ɵɵFactoryDeclaration<NgtsDetailed, never>;
25
+ static ɵcmp: i0.ɵɵComponentDeclaration<NgtsDetailed, "ngts-detailed", never, { "lodRef": { "alias": "lodRef"; "required": false; }; "_distances": { "alias": "distances"; "required": true; }; "_hysteresis": { "alias": "hysteresis"; "required": false; }; }, {}, never, ["*"], true, never>;
26
+ }
@@ -1,22 +1,34 @@
1
- import { NgtAnyRecord, NgtSignalStore } from 'angular-three';
1
+ import { TemplateRef } from '@angular/core';
2
+ import { type NgtAnyRecord, type NgtLineSegments } from 'angular-three';
2
3
  import * as THREE from 'three';
3
4
  import * as i0 from "@angular/core";
4
- export interface NgtsEdgesState {
5
+ export type NgtsEdgesState = {
5
6
  threshold: number;
6
7
  color: THREE.ColorRepresentation;
7
8
  geometry: THREE.BufferGeometry;
8
9
  userData: NgtAnyRecord;
10
+ };
11
+ declare global {
12
+ interface HTMLElementTagNameMap {
13
+ /**
14
+ * @extends ngt-line-segments
15
+ */
16
+ 'ngts-edges': NgtsEdgesState & NgtLineSegments;
17
+ }
9
18
  }
10
- export declare class NgtsEdges extends NgtSignalStore<NgtsEdgesState> {
11
- #private;
19
+ export declare class NgtsEdges {
20
+ nullRaycast: () => null;
21
+ content?: TemplateRef<unknown>;
22
+ private inputs;
12
23
  edgesRef: import("angular-three").NgtInjectedRef<THREE.LineSegments<THREE.BufferGeometry<THREE.NormalBufferAttributes>, THREE.Material | THREE.Material[]>>;
13
- set threshold(threshold: number);
14
- set color(color: THREE.ColorRepresentation);
15
- set geometry(geometry: THREE.BufferGeometry);
16
- set userData(userData: NgtAnyRecord);
17
- withChildren: boolean;
18
- readonly noop: () => null;
24
+ set _threshold(threshold: number);
25
+ set _color(color: THREE.ColorRepresentation);
26
+ set _geometry(geometry: THREE.BufferGeometry);
27
+ set _userData(userData: NgtAnyRecord);
28
+ private geometry;
29
+ private threshold;
30
+ color: import("@angular/core").Signal<THREE.ColorRepresentation>;
19
31
  constructor();
20
32
  static ɵfac: i0.ɵɵFactoryDeclaration<NgtsEdges, never>;
21
- static ɵcmp: i0.ɵɵComponentDeclaration<NgtsEdges, "ngts-edges", never, { "edgesRef": { "alias": "edgesRef"; "required": false; }; "threshold": { "alias": "threshold"; "required": false; }; "color": { "alias": "color"; "required": false; }; "geometry": { "alias": "geometry"; "required": false; }; "userData": { "alias": "userData"; "required": false; }; "withChildren": { "alias": "withChildren"; "required": false; }; }, {}, never, ["*"], true, never>;
33
+ static ɵcmp: i0.ɵɵComponentDeclaration<NgtsEdges, "ngts-edges", never, { "edgesRef": { "alias": "edgesRef"; "required": false; }; "_threshold": { "alias": "threshold"; "required": false; }; "_color": { "alias": "color"; "required": false; }; "_geometry": { "alias": "geometry"; "required": false; }; "_userData": { "alias": "userData"; "required": false; }; }, {}, ["content"], never, true, never>;
22
34
  }
@@ -1,59 +1,50 @@
1
- import { NgtSignalStore } from 'angular-three';
1
+ import { type NgtMesh } from 'angular-three';
2
+ import { type NgtGridMaterialState } from 'angular-three-soba/shaders';
2
3
  import * as THREE from 'three';
3
4
  import * as i0 from "@angular/core";
4
- export interface NgtsGridState {
5
- /** Cell size, default: 0.5 */
6
- cellSize: number;
7
- /** Cell thickness, default: 0.5 */
8
- cellThickness: number;
9
- /** Cell color, default: black */
10
- cellColor: THREE.ColorRepresentation;
11
- /** Section size, default: 1 */
12
- sectionSize: number;
13
- /** Section thickness, default: 1 */
14
- sectionThickness: number;
15
- /** Section color, default: #2080ff */
16
- sectionColor: THREE.ColorRepresentation;
17
- /** Follow camera, default: false */
18
- followCamera: boolean;
19
- /** Display the grid infinitely, default: false */
20
- infiniteGrid: boolean;
21
- /** Fade distance, default: 100 */
22
- fadeDistance: number;
23
- /** Fade strength, default: 1 */
24
- fadeStrength: number;
25
- /** Material side, default: THREE.BackSide */
26
- side: THREE.Side;
5
+ export type NgtsGridState = {
27
6
  /** Default plane-geometry arguments */
28
7
  args: ConstructorParameters<typeof THREE.PlaneGeometry>;
8
+ } & NgtGridMaterialState;
9
+ declare global {
10
+ interface HTMLElementTagNameMap {
11
+ /**
12
+ * @extends ngt-mesh
13
+ */
14
+ 'ngts-grid': NgtsGridState & NgtMesh;
15
+ }
29
16
  }
30
- export declare class NgtsGrid extends NgtSignalStore<NgtsGridState> {
17
+ export declare class NgtsGrid {
18
+ private inputs;
31
19
  gridRef: import("angular-three").NgtInjectedRef<THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes>, THREE.Material | THREE.Material[]>>;
32
- set cellSize(cellSize: NgtsGridState['cellSize']);
33
- set cellThickness(cellThickness: NgtsGridState['cellThickness']);
34
- set cellColor(cellColor: NgtsGridState['cellColor']);
35
- set sectionSize(sectionSize: NgtsGridState['sectionSize']);
36
- set sectionThickness(sectionThickness: NgtsGridState['sectionThickness']);
37
- set sectionColor(sectionColor: NgtsGridState['sectionColor']);
38
- set followCamera(followCamera: NgtsGridState['followCamera']);
39
- set infiniteGrid(infiniteGrid: NgtsGridState['infiniteGrid']);
40
- set fadeDistance(fadeDistance: NgtsGridState['fadeDistance']);
41
- set fadeStrength(fadeStrength: NgtsGridState['fadeStrength']);
42
- set side(side: NgtsGridState['side']);
43
- set args(args: NgtsGridState['args']);
44
- readonly gridCellSize: import("@angular/core").Signal<number>;
45
- readonly gridSectionSize: import("@angular/core").Signal<number>;
46
- readonly gridFadeDistance: import("@angular/core").Signal<number>;
47
- readonly gridFadeStrength: import("@angular/core").Signal<number>;
48
- readonly gridCellThickness: import("@angular/core").Signal<number>;
49
- readonly gridSectionThickness: import("@angular/core").Signal<number>;
50
- readonly gridInfiniteGrid: import("@angular/core").Signal<boolean>;
51
- readonly gridFollowCamera: import("@angular/core").Signal<boolean>;
52
- readonly gridCellColor: import("@angular/core").Signal<THREE.ColorRepresentation>;
53
- readonly gridSectionColor: import("@angular/core").Signal<THREE.ColorRepresentation>;
54
- readonly gridSide: import("@angular/core").Signal<THREE.Side>;
55
- readonly gridArgs: import("@angular/core").Signal<[width?: number | undefined, height?: number | undefined, widthSegments?: number | undefined, heightSegments?: number | undefined]>;
20
+ set _cellSize(cellSize: NgtsGridState['cellSize']);
21
+ set _cellThickness(cellThickness: NgtsGridState['cellThickness']);
22
+ set _cellColor(cellColor: NgtsGridState['cellColor']);
23
+ set _sectionSize(sectionSize: NgtsGridState['sectionSize']);
24
+ set _sectionThickness(sectionThickness: NgtsGridState['sectionThickness']);
25
+ set _sectionColor(sectionColor: NgtsGridState['sectionColor']);
26
+ set _followCamera(followCamera: NgtsGridState['followCamera']);
27
+ set _infiniteGrid(infiniteGrid: NgtsGridState['infiniteGrid']);
28
+ set _fadeDistance(fadeDistance: NgtsGridState['fadeDistance']);
29
+ set _fadeStrength(fadeStrength: NgtsGridState['fadeStrength']);
30
+ set _side(side: NgtsGridState['side']);
31
+ set _args(args: NgtsGridState['args']);
32
+ cellSize: import("@angular/core").Signal<number | undefined>;
33
+ sectionSize: import("@angular/core").Signal<number | undefined>;
34
+ fadeDistance: import("@angular/core").Signal<number | undefined>;
35
+ fadeStrength: import("@angular/core").Signal<number | undefined>;
36
+ cellThickness: import("@angular/core").Signal<number | undefined>;
37
+ sectionThickness: import("@angular/core").Signal<number | undefined>;
38
+ infiniteGrid: import("@angular/core").Signal<boolean | undefined>;
39
+ followCamera: import("@angular/core").Signal<boolean | undefined>;
40
+ cellColor: import("@angular/core").Signal<THREE.ColorRepresentation | undefined>;
41
+ sectionColor: import("@angular/core").Signal<THREE.ColorRepresentation | undefined>;
42
+ side: import("@angular/core").Signal<THREE.Side | undefined>;
43
+ args: import("@angular/core").Signal<[width?: number | undefined, height?: number | undefined, widthSegments?: number | undefined, heightSegments?: number | undefined]>;
44
+ private plane;
45
+ private upVector;
46
+ private zeroVector;
56
47
  constructor();
57
48
  static ɵfac: i0.ɵɵFactoryDeclaration<NgtsGrid, never>;
58
- static ɵcmp: i0.ɵɵComponentDeclaration<NgtsGrid, "ngts-grid", never, { "gridRef": { "alias": "gridRef"; "required": false; }; "cellSize": { "alias": "cellSize"; "required": false; }; "cellThickness": { "alias": "cellThickness"; "required": false; }; "cellColor": { "alias": "cellColor"; "required": false; }; "sectionSize": { "alias": "sectionSize"; "required": false; }; "sectionThickness": { "alias": "sectionThickness"; "required": false; }; "sectionColor": { "alias": "sectionColor"; "required": false; }; "followCamera": { "alias": "followCamera"; "required": false; }; "infiniteGrid": { "alias": "infiniteGrid"; "required": false; }; "fadeDistance": { "alias": "fadeDistance"; "required": false; }; "fadeStrength": { "alias": "fadeStrength"; "required": false; }; "side": { "alias": "side"; "required": false; }; "args": { "alias": "args"; "required": false; }; }, {}, never, never, true, never>;
49
+ static ɵcmp: i0.ɵɵComponentDeclaration<NgtsGrid, "ngts-grid", never, { "gridRef": { "alias": "gridRef"; "required": false; }; "_cellSize": { "alias": "cellSize"; "required": false; }; "_cellThickness": { "alias": "cellThickness"; "required": false; }; "_cellColor": { "alias": "cellColor"; "required": false; }; "_sectionSize": { "alias": "sectionSize"; "required": false; }; "_sectionThickness": { "alias": "sectionThickness"; "required": false; }; "_sectionColor": { "alias": "sectionColor"; "required": false; }; "_followCamera": { "alias": "followCamera"; "required": false; }; "_infiniteGrid": { "alias": "infiniteGrid"; "required": false; }; "_fadeDistance": { "alias": "fadeDistance"; "required": false; }; "_fadeStrength": { "alias": "fadeStrength"; "required": false; }; "_side": { "alias": "side"; "required": false; }; "_args": { "alias": "args"; "required": false; }; }, {}, never, ["*"], true, never>;
59
50
  }
@@ -1,12 +1,6 @@
1
1
  export * from './billboard/billboard';
2
- export * from './catmull-rom-line/catmull-rom-line';
3
- export * from './cubic-bezier-line/cubic-bezier-line';
2
+ export * from './detailed/detailed';
4
3
  export * from './edges/edges';
5
- export * from './gizmo-helper/gizmo-helper';
6
- export * from './gizmo-helper/gizmo-viewcube/gizmo-viewcube';
7
- export * from './gizmo-helper/gizmo-viewport/gizmo-viewport';
8
4
  export * from './grid/grid';
9
- export * from './line/line';
10
- export * from './quadratic-bezier-line/quadratic-bezier-line';
11
5
  export * from './text-3d/text-3d';
12
6
  export * from './text/text';
@@ -1,5 +1,5 @@
1
1
  import { EventEmitter } from '@angular/core';
2
- import { NgtSignalStore, type NgtMesh } from 'angular-three';
2
+ import { type NgtMesh } from 'angular-three';
3
3
  import * as i0 from "@angular/core";
4
4
  export type NgtsTextState = {
5
5
  text: string;
@@ -34,11 +34,14 @@ export type NgtsTextState = {
34
34
  };
35
35
  declare global {
36
36
  interface HTMLElementTagNameMap {
37
+ /**
38
+ * @extends ngt-mesh
39
+ */
37
40
  'ngts-text': NgtsTextState & NgtMesh;
38
41
  }
39
42
  }
40
- export declare class NgtsText extends NgtSignalStore<NgtsTextState> {
41
- #private;
43
+ export declare class NgtsText {
44
+ protected inputs: import("angular-three").NgtSignalStore<NgtsTextState>;
42
45
  textRef: import("angular-three").NgtInjectedRef<Text>;
43
46
  set text(text: string);
44
47
  set font(font: string);
@@ -69,8 +72,11 @@ export declare class NgtsText extends NgtSignalStore<NgtsTextState> {
69
72
  set fillOpacity(fillOpacity: number);
70
73
  set debugSDF(debugSDF: boolean);
71
74
  sync: EventEmitter<Text>;
72
- readonly troikaText: any;
75
+ troikaText: any;
76
+ private store;
73
77
  constructor();
78
+ private preloadFont;
79
+ private syncText;
74
80
  static ɵfac: i0.ɵɵFactoryDeclaration<NgtsText, never>;
75
81
  static ɵcmp: i0.ɵɵComponentDeclaration<NgtsText, "ngts-text", never, { "textRef": { "alias": "textRef"; "required": false; }; "text": { "alias": "text"; "required": true; }; "font": { "alias": "font"; "required": false; }; "fontSize": { "alias": "fontSize"; "required": false; }; "anchorX": { "alias": "anchorX"; "required": false; }; "anchorY": { "alias": "anchorY"; "required": false; }; "sdfGlyphSize": { "alias": "sdfGlyphSize"; "required": false; }; "characters": { "alias": "characters"; "required": false; }; "color": { "alias": "color"; "required": false; }; "maxWidth": { "alias": "maxWidth"; "required": false; }; "lineHeight": { "alias": "lineHeight"; "required": false; }; "letterSpacing": { "alias": "letterSpacing"; "required": false; }; "textAlign": { "alias": "textAlign"; "required": false; }; "clipRect": { "alias": "clipRect"; "required": false; }; "depthOffset": { "alias": "depthOffset"; "required": false; }; "direction": { "alias": "direction"; "required": false; }; "overflowWrap": { "alias": "overflowWrap"; "required": false; }; "whiteSpace": { "alias": "whiteSpace"; "required": false; }; "outlineWidth": { "alias": "outlineWidth"; "required": false; }; "outlineOffsetX": { "alias": "outlineOffsetX"; "required": false; }; "outlineOffsetY": { "alias": "outlineOffsetY"; "required": false; }; "outlineBlur": { "alias": "outlineBlur"; "required": false; }; "outlineColor": { "alias": "outlineColor"; "required": false; }; "outlineOpacity": { "alias": "outlineOpacity"; "required": false; }; "strokeWidth": { "alias": "strokeWidth"; "required": false; }; "strokeColor": { "alias": "strokeColor"; "required": false; }; "strokeOpacity": { "alias": "strokeOpacity"; "required": false; }; "fillOpacity": { "alias": "fillOpacity"; "required": false; }; "debugSDF": { "alias": "debugSDF"; "required": false; }; }, { "sync": "sync"; }, never, ["*"], true, never>;
76
82
  }
@@ -1,5 +1,6 @@
1
- import { NgtSignalStore, type NgtMesh } from 'angular-three';
1
+ import { type NgtMesh } from 'angular-three';
2
2
  import { Mesh } from 'three';
3
+ import { TextGeometryParameters } from 'three-stdlib';
3
4
  import * as i0 from "@angular/core";
4
5
  declare type Glyph = {
5
6
  _cachedOutline: string[];
@@ -21,54 +22,60 @@ declare type FontData = {
21
22
  export type NgtsText3DState = {
22
23
  font: FontData | string;
23
24
  text: string;
24
- letterSpacing: number;
25
- lineHeight: number;
26
- size: number;
27
- height: number;
28
- bevelThickness: number;
29
- bevelSize: number;
30
- bevelEnabled: boolean;
31
- bevelOffset: number;
32
- bevelSegments: number;
33
- curveSegments: number;
25
+ bevelSegments?: number;
34
26
  smooth?: number;
35
- };
27
+ } & Omit<TextGeometryParameters, 'font'>;
36
28
  declare global {
37
29
  interface HTMLElementTagNameMap {
30
+ /**
31
+ * @extends ngt-mesh
32
+ * @extends three-stdlib|TextGeometryParameters
33
+ */
38
34
  'ngts-text-3d': NgtsText3DState & NgtMesh;
39
35
  }
40
36
  }
41
- export declare class NgtsText3D extends NgtSignalStore<NgtsText3DState> {
42
- #private;
37
+ export declare class NgtsText3D {
38
+ private inputs;
43
39
  textRef: import("angular-three").NgtInjectedRef<Mesh<import("three").BufferGeometry<import("three").NormalBufferAttributes>, import("three").Material | import("three").Material[]>>;
44
- set font(font: FontData | string);
45
- set text(text: string);
46
- set bevelEnabled(bevelEnabled: boolean);
47
- set bevelOffset(bevelOffset: number);
48
- set bevelSize(bevelSize: number);
49
- set bevelThickness(bevelThickness: number);
50
- set curveSegments(curveSegments: number);
51
- set bevelSegments(bevelSegments: number);
52
- set height(height: number);
53
- set size(size: number);
54
- set lineHeight(lineHeight: number);
55
- set letterSpacing(letterSpacing: number);
56
- set smooth(smooth: number);
57
- constructor();
58
- readonly geometryArgs: import("@angular/core").Signal<(string | {
40
+ set _font(font: FontData | string);
41
+ set _text(text: string);
42
+ set _bevelEnabled(bevelEnabled: boolean);
43
+ set _bevelOffset(bevelOffset: number);
44
+ set _bevelSize(bevelSize: number);
45
+ set _bevelThickness(bevelThickness: number);
46
+ set _curveSegments(curveSegments: number);
47
+ set _bevelSegments(bevelSegments: number);
48
+ set _height(height: number);
49
+ set _size(size: number);
50
+ set _lineHeight(lineHeight: number);
51
+ set _letterSpacing(letterSpacing: number);
52
+ set _smooth(smooth: number);
53
+ private fontData;
54
+ private text;
55
+ private size;
56
+ private height;
57
+ private bevelThickness;
58
+ private bevelSize;
59
+ private bevelEnabled;
60
+ private bevelSegments;
61
+ private bevelOffset;
62
+ private curveSegments;
63
+ private letterSpacing;
64
+ private lineHeight;
65
+ geometryArgs: import("@angular/core").Signal<(string | {
59
66
  font: import("three-stdlib").Font;
60
- size: number;
61
- height: number;
62
- bevelThickness: number;
63
- bevelSize: number;
64
- bevelSegments: number;
65
- bevelEnabled: boolean;
66
- bevelOffset: number;
67
- curveSegments: number;
68
- letterSpacing: number;
69
- lineHeight: number;
67
+ size: number | undefined;
68
+ height: number | undefined;
69
+ bevelThickness: number | undefined;
70
+ bevelSize: number | undefined;
71
+ bevelSegments: number | undefined;
72
+ bevelEnabled: boolean | undefined;
73
+ bevelOffset: number | undefined;
74
+ curveSegments: number | undefined;
75
+ letterSpacing: number | undefined;
76
+ lineHeight: number | undefined;
70
77
  })[] | null>;
71
78
  static ɵfac: i0.ɵɵFactoryDeclaration<NgtsText3D, never>;
72
- static ɵcmp: i0.ɵɵComponentDeclaration<NgtsText3D, "ngts-text-3d", never, { "textRef": { "alias": "textRef"; "required": false; }; "font": { "alias": "font"; "required": true; }; "text": { "alias": "text"; "required": true; }; "bevelEnabled": { "alias": "bevelEnabled"; "required": false; }; "bevelOffset": { "alias": "bevelOffset"; "required": false; }; "bevelSize": { "alias": "bevelSize"; "required": false; }; "bevelThickness": { "alias": "bevelThickness"; "required": false; }; "curveSegments": { "alias": "curveSegments"; "required": false; }; "bevelSegments": { "alias": "bevelSegments"; "required": false; }; "height": { "alias": "height"; "required": false; }; "size": { "alias": "size"; "required": false; }; "lineHeight": { "alias": "lineHeight"; "required": false; }; "letterSpacing": { "alias": "letterSpacing"; "required": false; }; "smooth": { "alias": "smooth"; "required": false; }; }, {}, never, ["*"], true, never>;
79
+ static ɵcmp: i0.ɵɵComponentDeclaration<NgtsText3D, "ngts-text-3d", never, { "textRef": { "alias": "textRef"; "required": false; }; "_font": { "alias": "font"; "required": true; }; "_text": { "alias": "text"; "required": true; }; "_bevelEnabled": { "alias": "bevelEnabled"; "required": false; }; "_bevelOffset": { "alias": "bevelOffset"; "required": false; }; "_bevelSize": { "alias": "bevelSize"; "required": false; }; "_bevelThickness": { "alias": "bevelThickness"; "required": false; }; "_curveSegments": { "alias": "curveSegments"; "required": false; }; "_bevelSegments": { "alias": "bevelSegments"; "required": false; }; "_height": { "alias": "height"; "required": false; }; "_size": { "alias": "size"; "required": false; }; "_lineHeight": { "alias": "lineHeight"; "required": false; }; "_letterSpacing": { "alias": "letterSpacing"; "required": false; }; "_smooth": { "alias": "smooth"; "required": false; }; }, {}, never, ["*"], true, never>;
73
80
  }
74
81
  export {};
@@ -2,7 +2,7 @@ import { TemplateRef } from '@angular/core';
2
2
  import * as THREE from 'three';
3
3
  import * as i0 from "@angular/core";
4
4
  export declare class NgtsCameraContent {
5
- readonly template: TemplateRef<any>;
5
+ template: TemplateRef<any>;
6
6
  ngtsCameraContent: true | '';
7
7
  static ngTemplateContextGuard(_: NgtsCameraContent, ctx: unknown): ctx is {
8
8
  fbo: THREE.WebGLRenderTarget;
@@ -1,23 +1,26 @@
1
- import { NgtSignalStore, NgtStore, type NgtCamera } from 'angular-three';
1
+ import { type NgtCamera } from 'angular-three';
2
2
  import * as i0 from "@angular/core";
3
- export interface NgtsCameraState {
3
+ export type NgtsCameraState = {
4
4
  makeDefault: boolean;
5
5
  manual: boolean;
6
6
  frames: number;
7
7
  resolution: number;
8
8
  envMap?: THREE.Texture;
9
- }
10
- export declare abstract class NgtsCamera<TCamera extends NgtCamera> extends NgtSignalStore<NgtsCameraState> {
11
- #private;
12
- set makeDefault(makeDefault: boolean);
13
- set manual(manual: boolean);
14
- set frames(frames: number);
15
- set resolution(resolution: number);
16
- set envMap(envMap: THREE.Texture);
9
+ };
10
+ export declare abstract class NgtsCamera<TCamera extends NgtCamera> {
11
+ protected inputs: import("angular-three").NgtSignalStore<NgtsCameraState>;
12
+ set _makeDefault(makeDefault: boolean);
13
+ set _manual(manual: boolean);
14
+ set _frames(frames: number);
15
+ set _resolution(resolution: number);
16
+ set _envMap(envMap: THREE.Texture);
17
17
  cameraRef: import("angular-three").NgtInjectedRef<TCamera>;
18
- protected readonly store: NgtStore;
19
- readonly fboRef: import("@angular/core").Signal<import("three").WebGLRenderTarget>;
18
+ private cameraResolution;
19
+ protected store: import("angular-three").NgtSignalStore<import("angular-three").NgtState>;
20
+ protected fboRef: import("angular-three").NgtInjectedRef<import("three").WebGLRenderTarget<import("three").Texture> | null>;
20
21
  constructor();
22
+ private setDefaultCamera;
23
+ private updateProjectionMatrix;
21
24
  static ɵfac: i0.ɵɵFactoryDeclaration<NgtsCamera<any>, never>;
22
- static ɵdir: i0.ɵɵDirectiveDeclaration<NgtsCamera<any>, never, never, { "makeDefault": { "alias": "makeDefault"; "required": false; }; "manual": { "alias": "manual"; "required": false; }; "frames": { "alias": "frames"; "required": false; }; "resolution": { "alias": "resolution"; "required": false; }; "envMap": { "alias": "envMap"; "required": false; }; "cameraRef": { "alias": "cameraRef"; "required": false; }; }, {}, never, never, false, never>;
25
+ static ɵdir: i0.ɵɵDirectiveDeclaration<NgtsCamera<any>, never, never, { "_makeDefault": { "alias": "makeDefault"; "required": false; }; "_manual": { "alias": "manual"; "required": false; }; "_frames": { "alias": "frames"; "required": false; }; "_resolution": { "alias": "resolution"; "required": false; }; "_envMap": { "alias": "envMap"; "required": false; }; "cameraRef": { "alias": "cameraRef"; "required": false; }; }, {}, never, never, false, never>;
23
26
  }
@@ -1,11 +1,8 @@
1
- import { ElementRef } from '@angular/core';
2
- import { NgtSignalStore } from 'angular-three';
1
+ import { OnInit, Signal, type Injector } from '@angular/core';
2
+ import { type NgtGroup } from 'angular-three';
3
3
  import * as THREE from 'three';
4
- import { NgtsCameraContent } from '../camera/camera-content';
5
4
  import * as i0 from "@angular/core";
6
- export interface NgtsCubeCameraState {
7
- /** Number of frames to render, Infinity */
8
- frames: number;
5
+ export type NgtsCubeCameraState = {
9
6
  /** Resolution of the FBO, 256 */
10
7
  resolution: number;
11
8
  /** Camera near, 0.1 */
@@ -13,30 +10,60 @@ export interface NgtsCubeCameraState {
13
10
  /** Camera far, 1000 */
14
11
  far: number;
15
12
  /** Custom environment map that is temporarily set as the scenes background */
16
- envMap: THREE.Texture;
13
+ envMap?: THREE.Texture;
17
14
  /** Custom fog that is temporarily set as the scenes fog */
18
- fog: THREE.Fog | THREE.FogExp2;
15
+ fog?: THREE.Fog | THREE.FogExp2;
16
+ };
17
+ export declare function injectNgtsCubeCamera(cubeCameraState: () => Partial<NgtsCubeCameraState>, { injector }?: {
18
+ injector?: Injector;
19
+ }): {
20
+ fbo: Signal<THREE.WebGLCubeRenderTarget>;
21
+ camera: Signal<THREE.CubeCamera>;
22
+ update: Signal<() => void>;
23
+ };
24
+ export type NgtsCubeCameraComponentState = NgtsCubeCameraState & {
25
+ frames: number;
26
+ };
27
+ declare global {
28
+ interface HTMLElementTagNameMap {
29
+ /**
30
+ * @extends ngt-group
31
+ */
32
+ 'ngts-cube-camera': NgtsCubeCameraComponentState & NgtGroup;
33
+ }
34
+ }
35
+ export declare class NgtsCubeCameraContent {
36
+ static ngTemplateContextGuard(_: NgtsCubeCameraContent, ctx: unknown): ctx is {
37
+ texture: Signal<THREE.WebGLRenderTarget['texture']>;
38
+ };
39
+ static ɵfac: i0.ɵɵFactoryDeclaration<NgtsCubeCameraContent, never>;
40
+ static ɵdir: i0.ɵɵDirectiveDeclaration<NgtsCubeCameraContent, "ng-template[ngtsCubeCameraContent]", never, {}, {}, never, never, true, never>;
19
41
  }
20
- export declare class NgtsCubeCamera extends NgtSignalStore<NgtsCubeCameraState> {
21
- #private;
22
- groupRef: ElementRef<THREE.Group>;
23
- cameraContent?: NgtsCameraContent;
24
- cameraRef: import("angular-three").NgtInjectedRef<THREE.CubeCamera>;
25
- /** Number of frames to render, Infinity */
26
- set frames(frames: number);
42
+ export declare class NgtsCubeCamera implements OnInit {
43
+ private inputs;
44
+ cameraRef: import("angular-three").NgtInjectedRef<THREE.Group>;
45
+ private cameraContent;
46
+ private anchor;
27
47
  /** Resolution of the FBO, 256 */
28
- set resolution(resolution: number);
48
+ set _resolution(resolution: number);
29
49
  /** Camera near, 0.1 */
30
- set near(near: number);
50
+ set _near(near: number);
31
51
  /** Camera far, 1000 */
32
- set far(far: number);
52
+ set _far(far: number);
33
53
  /** Custom environment map that is temporarily set as the scenes background */
34
- set envMap(envMap: THREE.Texture);
54
+ set _envMap(envMap: THREE.Texture);
35
55
  /** Custom fog that is temporarily set as the scenes fog */
36
- set fog(fog: THREE.Fog | THREE.FogExp2);
37
- readonly fbo: import("@angular/core").Signal<THREE.WebGLCubeRenderTarget>;
38
- readonly cameraArgs: import("@angular/core").Signal<(number | THREE.WebGLCubeRenderTarget)[]>;
56
+ set _fog(fog: THREE.Fog | THREE.FogExp2);
57
+ cubeCamera: {
58
+ fbo: Signal<THREE.WebGLCubeRenderTarget>;
59
+ camera: Signal<THREE.CubeCamera>;
60
+ update: Signal<() => void>;
61
+ };
62
+ private texture;
63
+ private contentRef?;
39
64
  constructor();
65
+ ngOnInit(): void;
66
+ private beforeRender;
40
67
  static ɵfac: i0.ɵɵFactoryDeclaration<NgtsCubeCamera, never>;
41
- static ɵcmp: i0.ɵɵComponentDeclaration<NgtsCubeCamera, "ngts-cube-camera", never, { "cameraRef": { "alias": "cameraRef"; "required": false; }; "frames": { "alias": "frames"; "required": false; }; "resolution": { "alias": "resolution"; "required": false; }; "near": { "alias": "near"; "required": false; }; "far": { "alias": "far"; "required": false; }; "envMap": { "alias": "envMap"; "required": false; }; "fog": { "alias": "fog"; "required": false; }; }, {}, ["cameraContent"], never, true, never>;
68
+ static ɵcmp: i0.ɵɵComponentDeclaration<NgtsCubeCamera, "ngts-cube-camera", never, { "cameraRef": { "alias": "cameraRef"; "required": false; }; "_resolution": { "alias": "resolution"; "required": false; }; "_near": { "alias": "near"; "required": false; }; "_far": { "alias": "far"; "required": false; }; "_envMap": { "alias": "envMap"; "required": false; }; "_fog": { "alias": "fog"; "required": false; }; }, {}, ["cameraContent"], never, true, never>;
42
69
  }
@@ -1,4 +1,3 @@
1
- export * from './camera/camera';
2
1
  export * from './camera/camera-content';
3
2
  export * from './cube-camera/cube-camera';
4
3
  export * from './orthographic-camera/orthographic-camera';
@@ -1,26 +1,37 @@
1
- import { NgtsCamera } from '../camera/camera';
1
+ import { type NgtOrthographicCamera } from 'angular-three';
2
+ import { NgtsCamera, type NgtsCameraState } from '../camera/camera';
2
3
  import { NgtsCameraContent } from '../camera/camera-content';
3
4
  import * as i0 from "@angular/core";
4
- declare module '../camera/camera' {
5
- interface NgtsCameraState {
6
- left: number;
7
- top: number;
8
- right: number;
9
- bottom: number;
5
+ export type NgtsOrthographicCameraState = {
6
+ left: number;
7
+ top: number;
8
+ right: number;
9
+ bottom: number;
10
+ };
11
+ declare global {
12
+ interface HTMLElementTagNameMap {
13
+ /**
14
+ * @extends ngt-orthographic-camera
15
+ */
16
+ 'ngts-orthographic-camera': NgtsCameraState & NgtsOrthographicCameraState & NgtOrthographicCamera;
10
17
  }
11
18
  }
12
19
  export declare class NgtsOrthographicCamera extends NgtsCamera<THREE.OrthographicCamera> {
13
- #private;
20
+ private orthographicInputs;
14
21
  cameraContent?: NgtsCameraContent;
15
- set left(left: number);
16
- set right(right: number);
17
- set top(top: number);
18
- set bottom(bottom: number);
19
- readonly cameraLeft: import("@angular/core").Signal<number>;
20
- readonly cameraRight: import("@angular/core").Signal<number>;
21
- readonly cameraTop: import("@angular/core").Signal<number>;
22
- readonly cameraBottom: import("@angular/core").Signal<number>;
23
- constructor();
22
+ set _left(left: number);
23
+ set _right(right: number);
24
+ set _top(top: number);
25
+ set _bottom(bottom: number);
26
+ private left;
27
+ private right;
28
+ private top;
29
+ private bottom;
30
+ private size;
31
+ cameraLeft: import("@angular/core").Signal<number>;
32
+ cameraRight: import("@angular/core").Signal<number>;
33
+ cameraTop: import("@angular/core").Signal<number>;
34
+ cameraBottom: import("@angular/core").Signal<number>;
24
35
  static ɵfac: i0.ɵɵFactoryDeclaration<NgtsOrthographicCamera, never>;
25
- static ɵcmp: i0.ɵɵComponentDeclaration<NgtsOrthographicCamera, "ngts-orthographic-camera", never, { "left": { "alias": "left"; "required": false; }; "right": { "alias": "right"; "required": false; }; "top": { "alias": "top"; "required": false; }; "bottom": { "alias": "bottom"; "required": false; }; }, {}, ["cameraContent"], never, true, never>;
36
+ static ɵcmp: i0.ɵɵComponentDeclaration<NgtsOrthographicCamera, "ngts-orthographic-camera", never, { "_left": { "alias": "left"; "required": false; }; "_right": { "alias": "right"; "required": false; }; "_top": { "alias": "top"; "required": false; }; "_bottom": { "alias": "bottom"; "required": false; }; }, {}, ["cameraContent"], never, true, never>;
26
37
  }
@@ -1,7 +1,16 @@
1
+ import { type NgtPerspectiveCamera } from 'angular-three';
1
2
  import { PerspectiveCamera } from 'three';
2
- import { NgtsCamera } from '../camera/camera';
3
+ import { NgtsCamera, type NgtsCameraState } from '../camera/camera';
3
4
  import { NgtsCameraContent } from '../camera/camera-content';
4
5
  import * as i0 from "@angular/core";
6
+ declare global {
7
+ interface HTMLElementTagNameMap {
8
+ /**
9
+ * @extends ngt-perspective-camera
10
+ */
11
+ 'ngts-perspective-camera': NgtsCameraState & NgtPerspectiveCamera;
12
+ }
13
+ }
5
14
  export declare class NgtsPerspectiveCamera extends NgtsCamera<PerspectiveCamera> {
6
15
  cameraContent?: NgtsCameraContent;
7
16
  static ɵfac: i0.ɵɵFactoryDeclaration<NgtsPerspectiveCamera, never>;