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

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 (397) hide show
  1. package/README.md +62 -4
  2. package/abstractions/README.md +278 -2
  3. package/abstractions/index.d.ts +11 -6
  4. package/abstractions/lib/catmull-rom-line.d.ts +648 -0
  5. package/abstractions/lib/cubic-bezier-line.d.ts +19 -0
  6. package/abstractions/lib/edges.d.ts +850 -0
  7. package/abstractions/lib/gradient-texture.d.ts +24 -0
  8. package/abstractions/lib/grid.d.ts +339 -0
  9. package/abstractions/lib/helper.d.ts +25 -0
  10. package/abstractions/lib/line.d.ts +41 -0
  11. package/abstractions/lib/prism-geometry.d.ts +30 -0
  12. package/abstractions/lib/quadratic-bezier-line.d.ts +21 -0
  13. package/abstractions/lib/text-3d.d.ts +338 -0
  14. package/abstractions/lib/text.d.ts +55 -0
  15. package/cameras/README.md +91 -2
  16. package/cameras/index.d.ts +4 -4
  17. package/cameras/lib/camera-content.d.ts +10 -0
  18. package/cameras/lib/cube-camera.d.ts +38 -0
  19. package/cameras/lib/orthographic-camera.d.ts +40 -0
  20. package/cameras/lib/perspective-camera.d.ts +36 -0
  21. package/controls/README.md +95 -2
  22. package/controls/index.d.ts +2 -1
  23. package/controls/lib/camera-controls.d.ts +31 -0
  24. package/controls/lib/orbit-controls.d.ts +38 -0
  25. package/esm2022/abstractions/index.mjs +12 -7
  26. package/esm2022/abstractions/lib/catmull-rom-line.mjs +76 -0
  27. package/esm2022/abstractions/lib/cubic-bezier-line.mjs +51 -0
  28. package/esm2022/abstractions/lib/edges.mjs +70 -0
  29. package/esm2022/abstractions/lib/gradient-texture.mjs +91 -0
  30. package/esm2022/abstractions/lib/grid.mjs +103 -0
  31. package/esm2022/abstractions/lib/helper.mjs +80 -0
  32. package/esm2022/abstractions/lib/line.mjs +123 -0
  33. package/esm2022/abstractions/lib/prism-geometry.mjs +55 -0
  34. package/esm2022/abstractions/lib/quadratic-bezier-line.mjs +73 -0
  35. package/esm2022/abstractions/lib/text-3d.mjs +98 -0
  36. package/esm2022/abstractions/lib/text.mjs +92 -0
  37. package/esm2022/cameras/index.mjs +5 -5
  38. package/esm2022/cameras/lib/camera-content.mjs +14 -0
  39. package/esm2022/cameras/lib/cube-camera.mjs +111 -0
  40. package/esm2022/cameras/lib/orthographic-camera.mjs +131 -0
  41. package/esm2022/cameras/lib/perspective-camera.mjs +104 -0
  42. package/esm2022/controls/index.mjs +3 -2
  43. package/esm2022/controls/lib/camera-controls.mjs +127 -0
  44. package/esm2022/controls/lib/orbit-controls.mjs +126 -0
  45. package/esm2022/loaders/index.mjs +6 -5
  46. package/esm2022/loaders/lib/font-loader.mjs +49 -0
  47. package/esm2022/loaders/lib/gltf-loader.mjs +33 -0
  48. package/esm2022/loaders/lib/loader.mjs +109 -0
  49. package/esm2022/loaders/lib/progress.mjs +51 -0
  50. package/esm2022/loaders/lib/texture-loader.mjs +32 -0
  51. package/esm2022/materials/index.mjs +7 -7
  52. package/esm2022/materials/lib/custom-shader-material.mjs +71 -0
  53. package/esm2022/materials/lib/mesh-distort-material.mjs +42 -0
  54. package/esm2022/materials/lib/mesh-reflector-material.mjs +278 -0
  55. package/esm2022/materials/lib/mesh-refraction-material.mjs +144 -0
  56. package/esm2022/materials/lib/mesh-transmission-material.mjs +188 -0
  57. package/esm2022/materials/lib/mesh-wobble-material.mjs +42 -0
  58. package/esm2022/misc/index.mjs +10 -14
  59. package/esm2022/misc/lib/animations.mjs +74 -0
  60. package/esm2022/misc/lib/bake-shadows.mjs +26 -0
  61. package/esm2022/misc/lib/computed-attribute.mjs +56 -0
  62. package/esm2022/misc/lib/constants.mjs +5 -0
  63. package/esm2022/misc/lib/decal.mjs +135 -0
  64. package/esm2022/misc/lib/deprecated.mjs +15 -0
  65. package/esm2022/misc/lib/depth-buffer.mjs +39 -0
  66. package/esm2022/misc/lib/fbo.mjs +89 -0
  67. package/esm2022/misc/lib/sampler.mjs +121 -0
  68. package/esm2022/shaders/index.mjs +3 -18
  69. package/esm2022/shaders/lib/grid-material.mjs +81 -0
  70. package/esm2022/shaders/lib/mesh-refraction-material.mjs +163 -0
  71. package/esm2022/staging/index.mjs +19 -22
  72. package/esm2022/staging/lib/accumulative-shadows.mjs +182 -0
  73. package/esm2022/staging/lib/backdrop.mjs +73 -0
  74. package/esm2022/staging/lib/bb-anchor.mjs +58 -0
  75. package/esm2022/staging/lib/bounds.mjs +286 -0
  76. package/esm2022/staging/lib/camera-shake.mjs +69 -0
  77. package/esm2022/staging/lib/caustics.mjs +188 -0
  78. package/esm2022/staging/lib/center.mjs +113 -0
  79. package/esm2022/staging/lib/contact-shadows.mjs +201 -0
  80. package/esm2022/staging/lib/environment.mjs +465 -0
  81. package/esm2022/staging/lib/float.mjs +60 -0
  82. package/esm2022/staging/lib/lightformer.mjs +107 -0
  83. package/esm2022/staging/lib/matcap-texture.mjs +81 -0
  84. package/esm2022/staging/lib/normal-texture.mjs +85 -0
  85. package/esm2022/staging/lib/randomized-lights.mjs +104 -0
  86. package/esm2022/staging/lib/render-texture.mjs +213 -0
  87. package/esm2022/staging/lib/sky.mjs +86 -0
  88. package/esm2022/staging/lib/spot-light.mjs +450 -0
  89. package/esm2022/staging/lib/stage.mjs +236 -0
  90. package/esm2022/vanilla-exports/angular-three-soba-vanilla-exports.mjs +5 -0
  91. package/esm2022/vanilla-exports/index.mjs +3 -0
  92. package/fesm2022/angular-three-soba-abstractions.mjs +739 -718
  93. package/fesm2022/angular-three-soba-abstractions.mjs.map +1 -1
  94. package/fesm2022/angular-three-soba-cameras.mjs +260 -307
  95. package/fesm2022/angular-three-soba-cameras.mjs.map +1 -1
  96. package/fesm2022/angular-three-soba-controls.mjs +174 -110
  97. package/fesm2022/angular-three-soba-controls.mjs.map +1 -1
  98. package/fesm2022/angular-three-soba-loaders.mjs +151 -129
  99. package/fesm2022/angular-three-soba-loaders.mjs.map +1 -1
  100. package/fesm2022/angular-three-soba-materials.mjs +511 -764
  101. package/fesm2022/angular-three-soba-materials.mjs.map +1 -1
  102. package/fesm2022/angular-three-soba-misc.mjs +405 -2149
  103. package/fesm2022/angular-three-soba-misc.mjs.map +1 -1
  104. package/fesm2022/angular-three-soba-shaders.mjs +33 -1373
  105. package/fesm2022/angular-three-soba-shaders.mjs.map +1 -1
  106. package/fesm2022/angular-three-soba-staging.mjs +2329 -3538
  107. package/fesm2022/angular-three-soba-staging.mjs.map +1 -1
  108. package/fesm2022/angular-three-soba-vanilla-exports.mjs +6 -0
  109. package/fesm2022/angular-three-soba-vanilla-exports.mjs.map +1 -0
  110. package/loaders/README.md +130 -2
  111. package/loaders/index.d.ts +5 -4
  112. package/loaders/lib/font-loader.d.ts +27 -0
  113. package/loaders/lib/gltf-loader.d.ts +21 -0
  114. package/loaders/lib/loader.d.ts +29 -0
  115. package/loaders/lib/progress.d.ts +9 -0
  116. package/loaders/lib/texture-loader.d.ts +13 -0
  117. package/materials/README.md +160 -2
  118. package/materials/index.d.ts +6 -6
  119. package/materials/lib/custom-shader-material.d.ts +19 -0
  120. package/materials/lib/mesh-distort-material.d.ts +18 -0
  121. package/materials/lib/mesh-reflector-material.d.ts +50 -0
  122. package/materials/lib/mesh-refraction-material.d.ts +42 -0
  123. package/materials/lib/mesh-transmission-material.d.ts +77 -0
  124. package/materials/lib/mesh-wobble-material.d.ts +15 -0
  125. package/metadata.json +1 -1
  126. package/misc/README.md +217 -2
  127. package/misc/index.d.ts +9 -13
  128. package/misc/lib/animations.d.ts +14 -0
  129. package/misc/lib/computed-attribute.d.ts +69 -0
  130. package/misc/lib/constants.d.ts +1 -0
  131. package/misc/lib/decal.d.ts +27 -0
  132. package/misc/lib/deprecated.d.ts +14 -0
  133. package/misc/lib/depth-buffer.d.ts +8 -0
  134. package/misc/lib/fbo.d.ts +47 -0
  135. package/misc/lib/sampler.d.ts +73 -0
  136. package/package.json +60 -38
  137. package/shaders/index.d.ts +2 -17
  138. package/shaders/lib/grid-material.d.ts +69 -0
  139. package/shaders/lib/mesh-refraction-material.d.ts +11 -0
  140. package/staging/README.md +472 -2
  141. package/staging/index.d.ts +18 -21
  142. package/staging/lib/accumulative-shadows.d.ts +75 -0
  143. package/staging/lib/backdrop.d.ts +22 -0
  144. package/staging/lib/bb-anchor.d.ts +17 -0
  145. package/staging/lib/bounds.d.ts +47 -0
  146. package/staging/lib/camera-shake.d.ts +29 -0
  147. package/staging/lib/caustics.d.ts +53 -0
  148. package/staging/lib/center.d.ts +422 -0
  149. package/staging/lib/contact-shadows.d.ts +45 -0
  150. package/staging/lib/environment.d.ts +159 -0
  151. package/staging/lib/float.d.ts +19 -0
  152. package/staging/lib/lightformer.d.ts +334 -0
  153. package/staging/lib/matcap-texture.d.ts +32 -0
  154. package/staging/lib/normal-texture.d.ts +37 -0
  155. package/staging/lib/randomized-lights.d.ts +54 -0
  156. package/staging/lib/render-texture.d.ts +64 -0
  157. package/staging/lib/sky.d.ts +32 -0
  158. package/staging/lib/spot-light.d.ts +120 -0
  159. package/staging/lib/stage.d.ts +376 -0
  160. package/vanilla-exports/README.md +3 -0
  161. package/vanilla-exports/index.d.ts +27 -0
  162. package/web-types.json +1 -1
  163. package/abstractions/billboard/billboard.d.ts +0 -28
  164. package/abstractions/detailed/detailed.d.ts +0 -26
  165. package/abstractions/edges/edges.d.ts +0 -34
  166. package/abstractions/grid/grid.d.ts +0 -50
  167. package/abstractions/text/text.d.ts +0 -82
  168. package/abstractions/text-3d/text-3d.d.ts +0 -84
  169. package/assets/distort.vert.glsl +0 -1
  170. package/cameras/camera/camera-content.d.ts +0 -13
  171. package/cameras/camera/camera.d.ts +0 -26
  172. package/cameras/cube-camera/cube-camera.d.ts +0 -69
  173. package/cameras/orthographic-camera/orthographic-camera.d.ts +0 -37
  174. package/cameras/perspective-camera/perspective-camera.d.ts +0 -18
  175. package/controls/orbit-controls/orbit-controls.d.ts +0 -54
  176. package/esm2022/abstractions/billboard/billboard.mjs +0 -74
  177. package/esm2022/abstractions/detailed/detailed.mjs +0 -64
  178. package/esm2022/abstractions/edges/edges.mjs +0 -88
  179. package/esm2022/abstractions/grid/grid.mjs +0 -180
  180. package/esm2022/abstractions/text/text.mjs +0 -274
  181. package/esm2022/abstractions/text-3d/text-3d.mjs +0 -172
  182. package/esm2022/cameras/camera/camera-content.mjs +0 -21
  183. package/esm2022/cameras/camera/camera.mjs +0 -77
  184. package/esm2022/cameras/cube-camera/cube-camera.mjs +0 -161
  185. package/esm2022/cameras/orthographic-camera/orthographic-camera.mjs +0 -102
  186. package/esm2022/cameras/perspective-camera/perspective-camera.mjs +0 -46
  187. package/esm2022/controls/orbit-controls/orbit-controls.mjs +0 -185
  188. package/esm2022/gizmos/angular-three-soba-gizmos.mjs +0 -5
  189. package/esm2022/gizmos/gizmo-helper/gizmo-helper.mjs +0 -197
  190. package/esm2022/gizmos/gizmo-helper/gizmo-viewcube/constants.mjs +0 -31
  191. package/esm2022/gizmos/gizmo-helper/gizmo-viewcube/gizmo-viewcube-edge.mjs +0 -93
  192. package/esm2022/gizmos/gizmo-helper/gizmo-viewcube/gizmo-viewcube-face.mjs +0 -150
  193. package/esm2022/gizmos/gizmo-helper/gizmo-viewcube/gizmo-viewcube-input.mjs +0 -66
  194. package/esm2022/gizmos/gizmo-helper/gizmo-viewcube/gizmo-viewcube.mjs +0 -71
  195. package/esm2022/gizmos/gizmo-helper/gizmo-viewport/gizmo-viewport-axis.mjs +0 -195
  196. package/esm2022/gizmos/gizmo-helper/gizmo-viewport/gizmo-viewport.mjs +0 -272
  197. package/esm2022/gizmos/index.mjs +0 -4
  198. package/esm2022/loaders/gltf-loader/gltf-loader.mjs +0 -30
  199. package/esm2022/loaders/loader/loader.mjs +0 -138
  200. package/esm2022/loaders/progress/progress.mjs +0 -52
  201. package/esm2022/loaders/texture-loader/texture-loader.mjs +0 -28
  202. package/esm2022/materials/mesh-distort-material/mesh-distort-material.mjs +0 -82
  203. package/esm2022/materials/mesh-reflector-material/mesh-reflector-material.mjs +0 -367
  204. package/esm2022/materials/mesh-refraction-material/mesh-refraction-material.mjs +0 -171
  205. package/esm2022/materials/mesh-transmission-material/mesh-transmission-material.mjs +0 -278
  206. package/esm2022/materials/mesh-wobble-material/mesh-wobble-material.mjs +0 -68
  207. package/esm2022/materials/point-material/point-material.mjs +0 -50
  208. package/esm2022/misc/animations/animations.mjs +0 -59
  209. package/esm2022/misc/bake-shadows/bake-shadows.mjs +0 -24
  210. package/esm2022/misc/caustics/caustics.mjs +0 -387
  211. package/esm2022/misc/decal/decal.mjs +0 -187
  212. package/esm2022/misc/depth-buffer/depth-buffer.mjs +0 -44
  213. package/esm2022/misc/example/example.mjs +0 -160
  214. package/esm2022/misc/fbo/fbo.mjs +0 -47
  215. package/esm2022/misc/html/html-wrapper.mjs +0 -478
  216. package/esm2022/misc/html/html.mjs +0 -304
  217. package/esm2022/misc/sampler/sampler.mjs +0 -142
  218. package/esm2022/misc/shadow/shadow.mjs +0 -111
  219. package/esm2022/misc/stats-gl/stats-gl.mjs +0 -61
  220. package/esm2022/misc/trail/trail.mjs +0 -209
  221. package/esm2022/misc/trail-texture/inject-trail-texture.mjs +0 -17
  222. package/esm2022/misc/trail-texture/trail-texture.mjs +0 -106
  223. package/esm2022/modifiers/angular-three-soba-modifiers.mjs +0 -5
  224. package/esm2022/modifiers/curve-modifier/curve-modifier.mjs +0 -64
  225. package/esm2022/modifiers/index.mjs +0 -2
  226. package/esm2022/performances/adaptive-dpr/adaptive-dpr.mjs +0 -44
  227. package/esm2022/performances/adaptive-events/adaptive-events.mjs +0 -27
  228. package/esm2022/performances/angular-three-soba-performances.mjs +0 -5
  229. package/esm2022/performances/index.mjs +0 -8
  230. package/esm2022/performances/instances/instances.mjs +0 -220
  231. package/esm2022/performances/instances/position-mesh.mjs +0 -52
  232. package/esm2022/performances/points/points-input.mjs +0 -64
  233. package/esm2022/performances/points/points.mjs +0 -326
  234. package/esm2022/performances/points/position-point.mjs +0 -54
  235. package/esm2022/performances/segments/segment-object.mjs +0 -9
  236. package/esm2022/performances/segments/segments.mjs +0 -182
  237. package/esm2022/shaders/blur-pass/blur-pass.mjs +0 -61
  238. package/esm2022/shaders/caustics/caustics-material.mjs +0 -130
  239. package/esm2022/shaders/caustics/caustics-projection-material.mjs +0 -31
  240. package/esm2022/shaders/convolution-material/convolution-material.mjs +0 -94
  241. package/esm2022/shaders/discard-material/discard-material.mjs +0 -3
  242. package/esm2022/shaders/grid-material/grid-material.mjs +0 -77
  243. package/esm2022/shaders/mesh-distort-material/mesh-distort-material.mjs +0 -56
  244. package/esm2022/shaders/mesh-reflector-material/mesh-reflector-material.mjs +0 -223
  245. package/esm2022/shaders/mesh-refraction-material/mesh-refraction-material.mjs +0 -170
  246. package/esm2022/shaders/mesh-transmission-material/mesh-transmission-material.mjs +0 -268
  247. package/esm2022/shaders/mesh-wobble-material/mesh-wobble-material.mjs +0 -37
  248. package/esm2022/shaders/shader-material/shader-material.mjs +0 -34
  249. package/esm2022/shaders/soft-shadow-material/soft-shadow-material.mjs +0 -25
  250. package/esm2022/shaders/sparkles-material/sparkles-material.mjs +0 -33
  251. package/esm2022/shaders/spot-light-material/spot-light-material.mjs +0 -86
  252. package/esm2022/shaders/star-field-material/star-field-material.mjs +0 -33
  253. package/esm2022/shaders/wireframe-material/wireframe-material.mjs +0 -247
  254. package/esm2022/staging/accumulative-shadows/accumulative-shadows.mjs +0 -267
  255. package/esm2022/staging/accumulative-shadows/progressive-light-map.mjs +0 -108
  256. package/esm2022/staging/accumulative-shadows/randomized-lights.mjs +0 -206
  257. package/esm2022/staging/backdrop/backdrop.mjs +0 -77
  258. package/esm2022/staging/bb-anchor/bb-anchor.mjs +0 -69
  259. package/esm2022/staging/bounds/bounds.mjs +0 -308
  260. package/esm2022/staging/camera-shake/camera-shake.mjs +0 -123
  261. package/esm2022/staging/center/center.mjs +0 -165
  262. package/esm2022/staging/cloud/cloud.mjs +0 -158
  263. package/esm2022/staging/contact-shadows/contact-shadows.mjs +0 -246
  264. package/esm2022/staging/environment/assets.mjs +0 -13
  265. package/esm2022/staging/environment/environment-cube.mjs +0 -47
  266. package/esm2022/staging/environment/environment-ground.mjs +0 -41
  267. package/esm2022/staging/environment/environment-input.mjs +0 -119
  268. package/esm2022/staging/environment/environment-map.mjs +0 -53
  269. package/esm2022/staging/environment/environment-portal.mjs +0 -113
  270. package/esm2022/staging/environment/environment.mjs +0 -61
  271. package/esm2022/staging/environment/utils.mjs +0 -106
  272. package/esm2022/staging/float/float.mjs +0 -94
  273. package/esm2022/staging/matcap-texture/matcap-texture.mjs +0 -64
  274. package/esm2022/staging/normal-texture/normal-texture.mjs +0 -53
  275. package/esm2022/staging/sky/sky.mjs +0 -119
  276. package/esm2022/staging/sparkles/sparkles.mjs +0 -164
  277. package/esm2022/staging/spot-light/shadow-mesh-input.mjs +0 -63
  278. package/esm2022/staging/spot-light/shadow-mesh.mjs +0 -266
  279. package/esm2022/staging/spot-light/spot-light-input.mjs +0 -84
  280. package/esm2022/staging/spot-light/spot-light.mjs +0 -81
  281. package/esm2022/staging/spot-light/volumetric-mesh.mjs +0 -98
  282. package/esm2022/staging/stage/stage.mjs +0 -389
  283. package/esm2022/staging/stars/stars.mjs +0 -147
  284. package/esm2022/staging/wireframe/wireframe-input.mjs +0 -191
  285. package/esm2022/staging/wireframe/wireframe.mjs +0 -228
  286. package/esm2022/utils/angular-three-soba-utils.mjs +0 -5
  287. package/esm2022/utils/content/content.mjs +0 -15
  288. package/esm2022/utils/index.mjs +0 -2
  289. package/fesm2022/angular-three-soba-gizmos.mjs +0 -1043
  290. package/fesm2022/angular-three-soba-gizmos.mjs.map +0 -1
  291. package/fesm2022/angular-three-soba-modifiers.mjs +0 -71
  292. package/fesm2022/angular-three-soba-modifiers.mjs.map +0 -1
  293. package/fesm2022/angular-three-soba-performances.mjs +0 -956
  294. package/fesm2022/angular-three-soba-performances.mjs.map +0 -1
  295. package/fesm2022/angular-three-soba-utils.mjs +0 -22
  296. package/fesm2022/angular-three-soba-utils.mjs.map +0 -1
  297. package/gizmos/README.md +0 -3
  298. package/gizmos/gizmo-helper/gizmo-helper.d.ts +0 -69
  299. package/gizmos/gizmo-helper/gizmo-viewcube/constants.d.ts +0 -12
  300. package/gizmos/gizmo-helper/gizmo-viewcube/gizmo-viewcube-edge.d.ts +0 -22
  301. package/gizmos/gizmo-helper/gizmo-viewcube/gizmo-viewcube-face.d.ts +0 -29
  302. package/gizmos/gizmo-helper/gizmo-viewcube/gizmo-viewcube-input.d.ts +0 -33
  303. package/gizmos/gizmo-helper/gizmo-viewcube/gizmo-viewcube.d.ts +0 -10
  304. package/gizmos/gizmo-helper/gizmo-viewport/gizmo-viewport-axis.d.ts +0 -40
  305. package/gizmos/gizmo-helper/gizmo-viewport/gizmo-viewport.d.ts +0 -30
  306. package/gizmos/index.d.ts +0 -3
  307. package/loaders/gltf-loader/gltf-loader.d.ts +0 -10
  308. package/loaders/loader/loader.d.ts +0 -33
  309. package/loaders/progress/progress.d.ts +0 -9
  310. package/loaders/texture-loader/texture-loader.d.ts +0 -7
  311. package/materials/mesh-distort-material/mesh-distort-material.d.ts +0 -40
  312. package/materials/mesh-reflector-material/mesh-reflector-material.d.ts +0 -99
  313. package/materials/mesh-refraction-material/mesh-refraction-material.d.ts +0 -62
  314. package/materials/mesh-transmission-material/mesh-transmission-material.d.ts +0 -107
  315. package/materials/mesh-wobble-material/mesh-wobble-material.d.ts +0 -29
  316. package/materials/point-material/point-material.d.ts +0 -24
  317. package/misc/animations/animations.d.ts +0 -15
  318. package/misc/caustics/caustics.d.ts +0 -87
  319. package/misc/decal/decal.d.ts +0 -49
  320. package/misc/depth-buffer/depth-buffer.d.ts +0 -9
  321. package/misc/example/example.d.ts +0 -81
  322. package/misc/fbo/fbo.d.ts +0 -17
  323. package/misc/html/html-wrapper.d.ts +0 -559
  324. package/misc/html/html.d.ts +0 -214
  325. package/misc/sampler/sampler.d.ts +0 -67
  326. package/misc/shadow/shadow.d.ts +0 -37
  327. package/misc/stats-gl/stats-gl.d.ts +0 -24
  328. package/misc/trail/trail.d.ts +0 -57
  329. package/misc/trail-texture/inject-trail-texture.d.ts +0 -9
  330. package/misc/trail-texture/trail-texture.d.ts +0 -50
  331. package/modifiers/README.md +0 -3
  332. package/modifiers/curve-modifier/curve-modifier.d.ts +0 -23
  333. package/modifiers/index.d.ts +0 -1
  334. package/performances/README.md +0 -3
  335. package/performances/adaptive-dpr/adaptive-dpr.d.ts +0 -14
  336. package/performances/adaptive-events/adaptive-events.d.ts +0 -9
  337. package/performances/index.d.ts +0 -7
  338. package/performances/instances/instances.d.ts +0 -79
  339. package/performances/instances/position-mesh.d.ts +0 -10
  340. package/performances/points/points-input.d.ts +0 -32
  341. package/performances/points/points.d.ts +0 -92
  342. package/performances/points/position-point.d.ts +0 -11
  343. package/performances/segments/segment-object.d.ts +0 -7
  344. package/performances/segments/segments.d.ts +0 -124
  345. package/shaders/blur-pass/blur-pass.d.ts +0 -23
  346. package/shaders/caustics/caustics-material.d.ts +0 -4
  347. package/shaders/caustics/caustics-projection-material.d.ts +0 -4
  348. package/shaders/convolution-material/convolution-material.d.ts +0 -7
  349. package/shaders/discard-material/discard-material.d.ts +0 -3
  350. package/shaders/grid-material/grid-material.d.ts +0 -37
  351. package/shaders/mesh-distort-material/mesh-distort-material.d.ts +0 -295
  352. package/shaders/mesh-reflector-material/mesh-reflector-material.d.ts +0 -50
  353. package/shaders/mesh-refraction-material/mesh-refraction-material.d.ts +0 -4
  354. package/shaders/mesh-transmission-material/mesh-transmission-material.d.ts +0 -25
  355. package/shaders/mesh-wobble-material/mesh-wobble-material.d.ts +0 -16
  356. package/shaders/shader-material/shader-material.d.ts +0 -6
  357. package/shaders/soft-shadow-material/soft-shadow-material.d.ts +0 -19
  358. package/shaders/sparkles-material/sparkles-material.d.ts +0 -17
  359. package/shaders/spot-light-material/spot-light-material.d.ts +0 -13
  360. package/shaders/star-field-material/star-field-material.d.ts +0 -13
  361. package/shaders/wireframe-material/wireframe-material.d.ts +0 -58
  362. package/staging/accumulative-shadows/accumulative-shadows.d.ts +0 -146
  363. package/staging/accumulative-shadows/progressive-light-map.d.ts +0 -34
  364. package/staging/accumulative-shadows/randomized-lights.d.ts +0 -90
  365. package/staging/backdrop/backdrop.d.ts +0 -30
  366. package/staging/bb-anchor/bb-anchor.d.ts +0 -27
  367. package/staging/bounds/bounds.d.ts +0 -134
  368. package/staging/camera-shake/camera-shake.d.ts +0 -43
  369. package/staging/center/center.d.ts +0 -70
  370. package/staging/cloud/cloud.d.ts +0 -51
  371. package/staging/contact-shadows/contact-shadows.d.ts +0 -70
  372. package/staging/environment/assets.d.ts +0 -13
  373. package/staging/environment/environment-cube.d.ts +0 -15
  374. package/staging/environment/environment-ground.d.ts +0 -13
  375. package/staging/environment/environment-input.d.ts +0 -68
  376. package/staging/environment/environment-map.d.ts +0 -16
  377. package/staging/environment/environment-portal.d.ts +0 -18
  378. package/staging/environment/environment.d.ts +0 -8
  379. package/staging/environment/utils.d.ts +0 -7
  380. package/staging/float/float.d.ts +0 -31
  381. package/staging/matcap-texture/matcap-texture.d.ts +0 -13
  382. package/staging/normal-texture/normal-texture.d.ts +0 -16
  383. package/staging/sky/sky.d.ts +0 -48
  384. package/staging/sparkles/sparkles.d.ts +0 -63
  385. package/staging/spot-light/shadow-mesh-input.d.ts +0 -29
  386. package/staging/spot-light/shadow-mesh.d.ts +0 -37
  387. package/staging/spot-light/spot-light-input.d.ts +0 -38
  388. package/staging/spot-light/spot-light.d.ts +0 -39
  389. package/staging/spot-light/volumetric-mesh.d.ts +0 -24
  390. package/staging/stage/stage.d.ts +0 -130
  391. package/staging/stars/stars.d.ts +0 -45
  392. package/staging/wireframe/wireframe-input.d.ts +0 -65
  393. package/staging/wireframe/wireframe.d.ts +0 -28
  394. package/utils/README.md +0 -3
  395. package/utils/content/content.d.ts +0 -8
  396. package/utils/index.d.ts +0 -1
  397. /package/misc/{bake-shadows → lib}/bake-shadows.d.ts +0 -0
@@ -1,956 +0,0 @@
1
- import * as i0 from '@angular/core';
2
- import { signal, effect, untracked, Directive, Input, ElementRef, forwardRef, inject, NgZone, Injector, Component, CUSTOM_ELEMENTS_SCHEMA, computed, TemplateRef, ContentChild } from '@angular/core';
3
- import { injectNgtStore, extend, createInjectionToken, injectNgtRef, signalStore, checkUpdate, injectBeforeRender, is, NgtArgs } from 'angular-three';
4
- import { NgTemplateOutlet, NgIf } from '@angular/common';
5
- import { NgtsSobaContent } from 'angular-three-soba/utils';
6
- import * as THREE from 'three';
7
- import { InstancedMesh, InstancedBufferAttribute, Points, BufferGeometry, BufferAttribute } from 'three';
8
- import { Line2, LineMaterial, LineSegmentsGeometry } from 'three-stdlib';
9
-
10
- class NgtsAdaptiveDpr {
11
- set _pixelated(pixelated) {
12
- this.pixelated.set(pixelated);
13
- }
14
- constructor() {
15
- this.pixelated = signal(false);
16
- this.store = injectNgtStore();
17
- this.current = this.store.select('performance', 'current');
18
- this.active = this.store.get('internal', 'active');
19
- this.setDpr = this.store.get('setDpr');
20
- this.initialDpr = this.store.get('viewport', 'initialDpr');
21
- this.domElement = this.store.get('gl', 'domElement');
22
- effect((onCleanup) => {
23
- onCleanup(() => {
24
- if (this.active) {
25
- this.setDpr(this.initialDpr);
26
- }
27
- if (this.pixelated() && this.domElement) {
28
- this.domElement.style.imageRendering = 'auto';
29
- }
30
- });
31
- });
32
- effect(() => {
33
- const current = this.current();
34
- this.setDpr(current * this.initialDpr);
35
- if (untracked(this.pixelated) && this.domElement) {
36
- this.domElement.style.imageRendering = current === 1 ? 'auto' : 'pixelated';
37
- }
38
- });
39
- }
40
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.2", ngImport: i0, type: NgtsAdaptiveDpr, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
41
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.2", type: NgtsAdaptiveDpr, isStandalone: true, selector: "ngts-adaptive-dpr", inputs: { _pixelated: ["pixelated", "_pixelated"] }, ngImport: i0 }); }
42
- }
43
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.2", ngImport: i0, type: NgtsAdaptiveDpr, decorators: [{
44
- type: Directive,
45
- args: [{ selector: 'ngts-adaptive-dpr', standalone: true }]
46
- }], ctorParameters: function () { return []; }, propDecorators: { _pixelated: [{
47
- type: Input,
48
- args: [{ alias: 'pixelated' }]
49
- }] } });
50
-
51
- class NgtsAdaptiveEvents {
52
- constructor() {
53
- this.store = injectNgtStore();
54
- this.setEvents = this.store.get('setEvents');
55
- this.current = this.store.select('performance', 'current');
56
- effect((onCleanup) => {
57
- const enabled = this.store.get('events', 'enabled');
58
- onCleanup(() => {
59
- this.setEvents({ enabled });
60
- });
61
- });
62
- effect(() => {
63
- const current = this.current();
64
- this.setEvents({ enabled: current === 1 });
65
- });
66
- }
67
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.2", ngImport: i0, type: NgtsAdaptiveEvents, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
68
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.2", type: NgtsAdaptiveEvents, isStandalone: true, selector: "ngts-adaptive-events", ngImport: i0 }); }
69
- }
70
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.2", ngImport: i0, type: NgtsAdaptiveEvents, decorators: [{
71
- type: Directive,
72
- args: [{ selector: 'ngts-adaptive-events', standalone: true }]
73
- }], ctorParameters: function () { return []; } });
74
-
75
- const _instanceLocalMatrix = /*@__PURE__*/ new THREE.Matrix4();
76
- const _instanceWorldMatrix = /*@__PURE__*/ new THREE.Matrix4();
77
- const _instanceIntersects = [];
78
- const _mesh = /*@__PURE__*/ new THREE.Mesh();
79
- class PositionMesh extends THREE.Group {
80
- constructor() {
81
- super();
82
- this.color = new THREE.Color('white');
83
- this.instance = new ElementRef(undefined);
84
- this.instanceKey = new ElementRef(undefined);
85
- }
86
- // This will allow the virtual instance have bounds
87
- get geometry() {
88
- return this.instance.nativeElement?.geometry;
89
- }
90
- // And this will allow the virtual instance to receive events
91
- raycast(raycaster, intersects) {
92
- const parent = this.instance.nativeElement;
93
- if (!parent)
94
- return;
95
- if (!parent.geometry || !parent.material)
96
- return;
97
- _mesh.geometry = parent.geometry;
98
- const matrixWorld = parent.matrixWorld;
99
- const instanceId = parent.userData['instances'].indexOf(this.instanceKey);
100
- // If the instance wasn't found or exceeds the parents draw range, bail out
101
- if (instanceId === -1 || instanceId > parent.count)
102
- return;
103
- // calculate the world matrix for each instance
104
- parent.getMatrixAt(instanceId, _instanceLocalMatrix);
105
- _instanceWorldMatrix.multiplyMatrices(matrixWorld, _instanceLocalMatrix);
106
- // the mesh represents this single instance
107
- _mesh.matrixWorld = _instanceWorldMatrix;
108
- // raycast side according to instance material
109
- if (parent.material instanceof THREE.Material)
110
- _mesh.material.side = parent.material.side;
111
- else
112
- _mesh.material.side = parent.material[0].side;
113
- _mesh.raycast(raycaster, _instanceIntersects);
114
- // process the result of raycast
115
- for (let i = 0, l = _instanceIntersects.length; i < l; i++) {
116
- const intersect = _instanceIntersects[i];
117
- intersect.instanceId = instanceId;
118
- intersect.object = this;
119
- intersects.push(intersect);
120
- }
121
- _instanceIntersects.length = 0;
122
- }
123
- }
124
-
125
- extend({ PositionMesh, InstancedMesh, InstancedBufferAttribute });
126
- const parentMatrix = /*@__PURE__*/ new THREE.Matrix4();
127
- const instanceMatrix = /*@__PURE__*/ new THREE.Matrix4();
128
- const tempMatrix = /*@__PURE__*/ new THREE.Matrix4();
129
- const translation = /*@__PURE__*/ new THREE.Vector3();
130
- const rotation = /*@__PURE__*/ new THREE.Quaternion();
131
- const scale = /*@__PURE__*/ new THREE.Vector3();
132
- const [injectNgtsInstancesApi, provideNgtsInstancesApi] = createInjectionToken((instances) => instances.api, { isRoot: false, deps: [forwardRef(() => NgtsInstances)] });
133
- class NgtsInstance {
134
- constructor() {
135
- this.instanceRef = injectNgtRef();
136
- this.zone = inject(NgZone);
137
- this.injector = inject(Injector);
138
- this.instancesApi = injectNgtsInstancesApi();
139
- }
140
- ngOnInit() {
141
- effect((onCleanup) => {
142
- const cleanup = this.zone.runOutsideAngular(() => this.instancesApi.subscribe(this.instanceRef));
143
- onCleanup(cleanup);
144
- }, { injector: this.injector });
145
- }
146
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.2", ngImport: i0, type: NgtsInstance, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
147
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.2", type: NgtsInstance, isStandalone: true, selector: "ngts-instance", inputs: { instanceRef: "instanceRef" }, ngImport: i0, template: `
148
- <ngt-position-mesh
149
- [ref]="instanceRef"
150
- [instance]="instancesApi.getParent()"
151
- [instanceKey]="instanceRef"
152
- ngtCompound
153
- >
154
- <ng-content />
155
- </ngt-position-mesh>
156
- `, isInline: true }); }
157
- }
158
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.2", ngImport: i0, type: NgtsInstance, decorators: [{
159
- type: Component,
160
- args: [{
161
- selector: 'ngts-instance',
162
- standalone: true,
163
- template: `
164
- <ngt-position-mesh
165
- [ref]="instanceRef"
166
- [instance]="instancesApi.getParent()"
167
- [instanceKey]="instanceRef"
168
- ngtCompound
169
- >
170
- <ng-content />
171
- </ngt-position-mesh>
172
- `,
173
- schemas: [CUSTOM_ELEMENTS_SCHEMA],
174
- }]
175
- }], propDecorators: { instanceRef: [{
176
- type: Input
177
- }] } });
178
- class NgtsInstances {
179
- set _range(range) {
180
- this.inputs.set({ range });
181
- }
182
- set _limit(limit) {
183
- this.inputs.set({ limit });
184
- }
185
- set _frames(frames) {
186
- this.inputs.set({ frames });
187
- }
188
- constructor() {
189
- this.DynamicDrawUsage = THREE.DynamicDrawUsage;
190
- this.nullRaycast = () => null;
191
- this.inputs = signalStore({ limit: 1000, frames: Infinity });
192
- this.instancesRef = injectNgtRef();
193
- this.limit = this.inputs.select('limit');
194
- this.positionMeshes = signal([]);
195
- this.meshes = this.positionMeshes.asReadonly();
196
- this.buffers = computed(() => {
197
- const limit = this.limit();
198
- const matrices = new Float32Array(limit * 16);
199
- for (let i = 0; i < limit; i++) {
200
- tempMatrix.identity().toArray(matrices, i * 16);
201
- }
202
- const colors = new Float32Array([...Array.from({ length: limit * 3 }, () => 1)]);
203
- return { matrices, colors };
204
- });
205
- this.api = {
206
- getParent: () => this.instancesRef,
207
- subscribe: (meshRef) => {
208
- untracked(() => {
209
- this.positionMeshes.update((s) => [...s, meshRef]);
210
- });
211
- return () => {
212
- untracked(() => {
213
- this.positionMeshes.update((s) => s.filter((positionMesh) => positionMesh !== meshRef));
214
- });
215
- };
216
- },
217
- };
218
- this.checkUpdate();
219
- this.beforeRender();
220
- }
221
- checkUpdate() {
222
- effect(() => {
223
- const instancedMesh = this.instancesRef.nativeElement;
224
- if (!instancedMesh)
225
- return;
226
- // NOTE: not sure why matrices ends up a different instance than array
227
- // we reassign it here
228
- instancedMesh.instanceMatrix.array = untracked(this.buffers).matrices;
229
- checkUpdate(instancedMesh.instanceMatrix);
230
- });
231
- }
232
- beforeRender() {
233
- let count = 0;
234
- let updateRange = 0;
235
- injectBeforeRender(() => {
236
- const [{ frames, limit, range }, instancedMesh, instances, { matrices, colors }] = [
237
- this.inputs.get(),
238
- this.instancesRef.nativeElement,
239
- this.meshes(),
240
- this.buffers(),
241
- ];
242
- if ((frames === Infinity || count < frames) && instancedMesh) {
243
- instancedMesh.updateMatrix();
244
- instancedMesh.updateMatrixWorld();
245
- parentMatrix.copy(instancedMesh.matrixWorld).invert();
246
- updateRange = Math.min(limit, range !== undefined ? range : limit, instances.length);
247
- instancedMesh.count = updateRange;
248
- instancedMesh.instanceMatrix.updateRange.count = updateRange * 16;
249
- if (instancedMesh.instanceColor) {
250
- instancedMesh.instanceColor.updateRange.count = updateRange * 3;
251
- }
252
- for (let i = 0; i < instances.length; i++) {
253
- const instanceRef = instances[i];
254
- const instance = is.ref(instanceRef) ? instanceRef.nativeElement : instanceRef;
255
- // Multiply the inverse of the InstancedMesh world matrix or else
256
- // Instances will be double-transformed if <Instances> isn't at identity
257
- instance.matrixWorld.decompose(translation, rotation, scale);
258
- instanceMatrix.compose(translation, rotation, scale).premultiply(parentMatrix);
259
- instanceMatrix.toArray(matrices, i * 16);
260
- checkUpdate(instancedMesh.instanceMatrix);
261
- instance.color.toArray(colors, i * 3);
262
- checkUpdate(instancedMesh.instanceColor);
263
- }
264
- count++;
265
- }
266
- });
267
- }
268
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.2", ngImport: i0, type: NgtsInstances, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
269
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.2", type: NgtsInstances, isStandalone: true, selector: "ngts-instances", inputs: { instancesRef: "instancesRef", _range: ["range", "_range"], _limit: ["limit", "_limit"], _frames: ["frames", "_frames"] }, providers: [provideNgtsInstancesApi()], queries: [{ propertyName: "content", first: true, predicate: NgtsSobaContent, descendants: true, read: TemplateRef, static: true }], ngImport: i0, template: `
270
- <ngt-instanced-mesh
271
- [userData]="{ instances: meshes() }"
272
- [ref]="instancesRef"
273
- [matrixAutoUpdate]="false"
274
- [raycast]="nullRaycast"
275
- ngtCompound
276
- >
277
- <ngt-instanced-buffer-attribute
278
- *args="[buffers().matrices, 16]"
279
- attach="instanceMatrix"
280
- [usage]="DynamicDrawUsage"
281
- />
282
- <ngt-instanced-buffer-attribute
283
- *args="[buffers().colors, 3]"
284
- attach="instanceColor"
285
- [usage]="DynamicDrawUsage"
286
- />
287
- <ng-container *ngTemplateOutlet="content" />
288
- </ngt-instanced-mesh>
289
- `, isInline: true, dependencies: [{ kind: "directive", type: NgtArgs, selector: "ng-template[args]", inputs: ["args"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] }); }
290
- }
291
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.2", ngImport: i0, type: NgtsInstances, decorators: [{
292
- type: Component,
293
- args: [{
294
- selector: 'ngts-instances',
295
- standalone: true,
296
- template: `
297
- <ngt-instanced-mesh
298
- [userData]="{ instances: meshes() }"
299
- [ref]="instancesRef"
300
- [matrixAutoUpdate]="false"
301
- [raycast]="nullRaycast"
302
- ngtCompound
303
- >
304
- <ngt-instanced-buffer-attribute
305
- *args="[buffers().matrices, 16]"
306
- attach="instanceMatrix"
307
- [usage]="DynamicDrawUsage"
308
- />
309
- <ngt-instanced-buffer-attribute
310
- *args="[buffers().colors, 3]"
311
- attach="instanceColor"
312
- [usage]="DynamicDrawUsage"
313
- />
314
- <ng-container *ngTemplateOutlet="content" />
315
- </ngt-instanced-mesh>
316
- `,
317
- imports: [NgtArgs, NgTemplateOutlet],
318
- providers: [provideNgtsInstancesApi()],
319
- schemas: [CUSTOM_ELEMENTS_SCHEMA],
320
- }]
321
- }], ctorParameters: function () { return []; }, propDecorators: { instancesRef: [{
322
- type: Input
323
- }], _range: [{
324
- type: Input,
325
- args: [{ alias: 'range' }]
326
- }], _limit: [{
327
- type: Input,
328
- args: [{ alias: 'limit' }]
329
- }], _frames: [{
330
- type: Input,
331
- args: [{ alias: 'frames' }]
332
- }], content: [{
333
- type: ContentChild,
334
- args: [NgtsSobaContent, { static: true, read: TemplateRef }]
335
- }] } });
336
-
337
- class NgtsPointsInput {
338
- constructor() {
339
- this.inputs = signalStore({
340
- stride: 3,
341
- limit: 1000,
342
- });
343
- this.pointsRef = injectNgtRef();
344
- this.limit = this.inputs.select('limit');
345
- this.range = this.inputs.select('range');
346
- this.positions = this.inputs.select('positions');
347
- this.colors = this.inputs.select('colors');
348
- this.colorsLength = computed(() => this.colors()?.length || 0);
349
- this.sizes = this.inputs.select('sizes');
350
- this.sizesLength = computed(() => this.sizes()?.length || 0);
351
- this.stride = this.inputs.select('stride');
352
- }
353
- set _range(range) {
354
- this.inputs.set({ range });
355
- }
356
- set _limit(limit) {
357
- this.inputs.set({ limit });
358
- }
359
- set _positions(positions) {
360
- this.inputs.set({ positions });
361
- }
362
- set _colors(colors) {
363
- this.inputs.set({ colors });
364
- }
365
- set _sizes(sizes) {
366
- this.inputs.set({ sizes });
367
- }
368
- set _stride(stride) {
369
- this.inputs.set({ stride });
370
- }
371
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.2", ngImport: i0, type: NgtsPointsInput, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
372
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.2", type: NgtsPointsInput, inputs: { pointsRef: "pointsRef", _range: ["range", "_range"], _limit: ["limit", "_limit"], _positions: ["positions", "_positions"], _colors: ["colors", "_colors"], _sizes: ["sizes", "_sizes"], _stride: ["stride", "_stride"] }, ngImport: i0 }); }
373
- }
374
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.2", ngImport: i0, type: NgtsPointsInput, decorators: [{
375
- type: Directive
376
- }], propDecorators: { pointsRef: [{
377
- type: Input
378
- }], _range: [{
379
- type: Input,
380
- args: [{ alias: 'range' }]
381
- }], _limit: [{
382
- type: Input,
383
- args: [{ alias: 'limit' }]
384
- }], _positions: [{
385
- type: Input,
386
- args: [{ alias: 'positions' }]
387
- }], _colors: [{
388
- type: Input,
389
- args: [{ alias: 'colors' }]
390
- }], _sizes: [{
391
- type: Input,
392
- args: [{ alias: 'sizes' }]
393
- }], _stride: [{
394
- type: Input,
395
- args: [{ alias: 'stride' }]
396
- }] } });
397
-
398
- const _inverseMatrix = /*@__PURE__*/ new THREE.Matrix4();
399
- const _ray = /*@__PURE__*/ new THREE.Ray();
400
- const _sphere = /*@__PURE__*/ new THREE.Sphere();
401
- const _position = /*@__PURE__*/ new THREE.Vector3();
402
- class PositionPoint extends THREE.Group {
403
- constructor() {
404
- super();
405
- this.size = 0;
406
- this.color = new THREE.Color('white');
407
- this.instance = new ElementRef(undefined);
408
- this.instanceKey = new ElementRef(undefined);
409
- }
410
- // This will allow the virtual instance have bounds
411
- get geometry() {
412
- return this.instance.nativeElement?.geometry;
413
- }
414
- raycast(raycaster, intersects) {
415
- const parent = this.instance.nativeElement;
416
- if (!parent || !parent.geometry)
417
- return;
418
- const instanceId = parent.userData['instances'].indexOf(this.instanceKey);
419
- // If the instance wasn't found or exceeds the parents draw range, bail out
420
- if (instanceId === -1 || instanceId > parent.geometry.drawRange.count)
421
- return;
422
- const threshold = raycaster.params.Points?.threshold ?? 1;
423
- _sphere.set(this.getWorldPosition(_position), threshold);
424
- if (raycaster.ray.intersectsSphere(_sphere) === false)
425
- return;
426
- _inverseMatrix.copy(parent.matrixWorld).invert();
427
- _ray.copy(raycaster.ray).applyMatrix4(_inverseMatrix);
428
- const localThreshold = threshold / ((this.scale.x + this.scale.y + this.scale.z) / 3);
429
- const localThresholdSq = localThreshold * localThreshold;
430
- const rayPointDistanceSq = _ray.distanceSqToPoint(this.position);
431
- if (rayPointDistanceSq < localThresholdSq) {
432
- const intersectPoint = new THREE.Vector3();
433
- _ray.closestPointToPoint(this.position, intersectPoint);
434
- intersectPoint.applyMatrix4(this.matrixWorld);
435
- const distance = raycaster.ray.origin.distanceTo(intersectPoint);
436
- if (distance < raycaster.near || distance > raycaster.far)
437
- return;
438
- intersects.push({
439
- distance: distance,
440
- distanceToRay: Math.sqrt(rayPointDistanceSq),
441
- point: intersectPoint,
442
- index: instanceId,
443
- face: null,
444
- object: this,
445
- });
446
- }
447
- }
448
- }
449
-
450
- extend({ Points, BufferGeometry, BufferAttribute, PositionPoint });
451
- const [injectNgtsPointsInstanceApi, provideNgtsPointsInstancesApi] = createInjectionToken(function pointsInstancesApi(instances) {
452
- return instances.api;
453
- }, { isRoot: false, deps: [forwardRef(() => NgtsPointsInstances)] });
454
- class NgtsPointsInstances {
455
- constructor() {
456
- this.nullRaycast = () => null;
457
- this.DynamicDrawUsage = THREE.DynamicDrawUsage;
458
- this.pointsInput = inject(NgtsPointsInput);
459
- this.positionPoints = signal([]);
460
- this.parentMatrix = new THREE.Matrix4();
461
- this.position = new THREE.Vector3();
462
- this.points = this.positionPoints.asReadonly();
463
- this.positions = computed(() => new Float32Array(this.pointsInput.limit() * 3));
464
- this.colors = computed(() => Float32Array.from({ length: this.pointsInput.limit() * 3 }, () => 1));
465
- this.sizes = computed(() => Float32Array.from({ length: this.pointsInput.limit() }, () => 1));
466
- this.injector = inject(Injector);
467
- this.api = {
468
- getParent: () => this.pointsInput.pointsRef,
469
- subscribe: (pointRef) => {
470
- untracked(() => {
471
- this.positionPoints.update((s) => [...s, pointRef]);
472
- });
473
- return () => {
474
- untracked(() => {
475
- this.positionPoints.update((s) => s.filter((positionPoint) => positionPoint !== pointRef));
476
- });
477
- };
478
- },
479
- };
480
- this.checkUpdatePositionAttribute();
481
- this.beforeRender();
482
- }
483
- checkUpdatePositionAttribute() {
484
- effect(() => {
485
- const points = this.pointsInput.pointsRef.nativeElement;
486
- if (!points)
487
- return;
488
- checkUpdate(points.geometry.attributes['position']);
489
- });
490
- }
491
- beforeRender() {
492
- injectBeforeRender(() => {
493
- const points = this.pointsInput.pointsRef.nativeElement;
494
- if (!points)
495
- return;
496
- const [limit, range, positionPoints, positions, colors, sizes] = [
497
- this.pointsInput.limit(),
498
- this.pointsInput.range(),
499
- this.positionPoints(),
500
- this.positions(),
501
- this.colors(),
502
- this.sizes(),
503
- ];
504
- points.updateMatrix();
505
- points.updateMatrixWorld();
506
- this.parentMatrix.copy(points.matrixWorld).invert();
507
- points.geometry.drawRange.count = Math.min(limit, range !== undefined ? range : limit, positionPoints.length);
508
- for (let i = 0; i < positionPoints.length; i++) {
509
- const positionPointRef = positionPoints[i];
510
- const positionPoint = is.ref(positionPointRef) ? positionPointRef.nativeElement : positionPointRef;
511
- if (!positionPoint)
512
- continue;
513
- positionPoint.getWorldPosition(this.position).applyMatrix4(this.parentMatrix);
514
- this.position.toArray(positions, i * 3);
515
- checkUpdate(points.geometry.attributes['position']);
516
- positionPoint.matrixWorldNeedsUpdate = true;
517
- positionPoint.color.toArray(colors, i * 3);
518
- checkUpdate(points.geometry.attributes['color']);
519
- sizes.set([positionPoint.size], i);
520
- checkUpdate(points.geometry.attributes['size']);
521
- }
522
- });
523
- }
524
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.2", ngImport: i0, type: NgtsPointsInstances, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
525
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.2", type: NgtsPointsInstances, isStandalone: true, selector: "ngts-points-instances", providers: [provideNgtsPointsInstancesApi()], ngImport: i0, template: `
526
- <ngt-points
527
- [ref]="pointsInput.pointsRef"
528
- [userData]="{ instances: points() }"
529
- [matrixAutoUpdate]="false"
530
- [raycast]="nullRaycast"
531
- ngtCompound
532
- >
533
- <ngt-buffer-geometry>
534
- <ngt-buffer-attribute
535
- attach="attributes.position"
536
- [count]="positions().length / 3"
537
- [array]="positions()"
538
- [itemSize]="3"
539
- [usage]="DynamicDrawUsage"
540
- />
541
- <ngt-buffer-attribute
542
- attach="attributes.color"
543
- [count]="colors().length / 3"
544
- [array]="colors()"
545
- [itemSize]="3"
546
- [usage]="DynamicDrawUsage"
547
- />
548
- <ngt-buffer-attribute
549
- attach="attributes.size"
550
- [count]="sizes().length"
551
- [array]="sizes()"
552
- [itemSize]="1"
553
- [usage]="DynamicDrawUsage"
554
- />
555
- </ngt-buffer-geometry>
556
- <ng-content />
557
- </ngt-points>
558
- `, isInline: true }); }
559
- }
560
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.2", ngImport: i0, type: NgtsPointsInstances, decorators: [{
561
- type: Component,
562
- args: [{
563
- selector: 'ngts-points-instances',
564
- standalone: true,
565
- template: `
566
- <ngt-points
567
- [ref]="pointsInput.pointsRef"
568
- [userData]="{ instances: points() }"
569
- [matrixAutoUpdate]="false"
570
- [raycast]="nullRaycast"
571
- ngtCompound
572
- >
573
- <ngt-buffer-geometry>
574
- <ngt-buffer-attribute
575
- attach="attributes.position"
576
- [count]="positions().length / 3"
577
- [array]="positions()"
578
- [itemSize]="3"
579
- [usage]="DynamicDrawUsage"
580
- />
581
- <ngt-buffer-attribute
582
- attach="attributes.color"
583
- [count]="colors().length / 3"
584
- [array]="colors()"
585
- [itemSize]="3"
586
- [usage]="DynamicDrawUsage"
587
- />
588
- <ngt-buffer-attribute
589
- attach="attributes.size"
590
- [count]="sizes().length"
591
- [array]="sizes()"
592
- [itemSize]="1"
593
- [usage]="DynamicDrawUsage"
594
- />
595
- </ngt-buffer-geometry>
596
- <ng-content />
597
- </ngt-points>
598
- `,
599
- providers: [provideNgtsPointsInstancesApi()],
600
- schemas: [CUSTOM_ELEMENTS_SCHEMA],
601
- }]
602
- }], ctorParameters: function () { return []; } });
603
- class NgtsPoint {
604
- constructor() {
605
- this.pointRef = injectNgtRef();
606
- this.zone = inject(NgZone);
607
- this.injector = inject(Injector);
608
- this.pointsInstancesApi = injectNgtsPointsInstanceApi();
609
- }
610
- ngOnInit() {
611
- effect((onCleanup) => {
612
- const cleanup = this.zone.runOutsideAngular(() => this.pointsInstancesApi.subscribe(this.pointRef));
613
- onCleanup(cleanup);
614
- }, { injector: this.injector });
615
- }
616
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.2", ngImport: i0, type: NgtsPoint, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
617
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.2", type: NgtsPoint, isStandalone: true, selector: "ngts-point", inputs: { pointRef: "pointRef" }, ngImport: i0, template: `
618
- <ngt-position-point
619
- [instance]="pointsInstancesApi.getParent()"
620
- [ref]="pointRef"
621
- [instanceKey]="pointRef"
622
- ngtCompound
623
- >
624
- <ng-content />
625
- </ngt-position-point>
626
- `, isInline: true }); }
627
- }
628
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.2", ngImport: i0, type: NgtsPoint, decorators: [{
629
- type: Component,
630
- args: [{
631
- selector: 'ngts-point',
632
- standalone: true,
633
- template: `
634
- <ngt-position-point
635
- [instance]="pointsInstancesApi.getParent()"
636
- [ref]="pointRef"
637
- [instanceKey]="pointRef"
638
- ngtCompound
639
- >
640
- <ng-content />
641
- </ngt-position-point>
642
- `,
643
- schemas: [CUSTOM_ELEMENTS_SCHEMA],
644
- }]
645
- }], propDecorators: { pointRef: [{
646
- type: Input
647
- }] } });
648
- class NgtsPointsBuffers {
649
- constructor() {
650
- this.DynamicDrawUsage = THREE.DynamicDrawUsage;
651
- this.pointsInput = inject(NgtsPointsInput);
652
- this.store = injectNgtStore();
653
- injectBeforeRender(() => {
654
- const points = this.pointsInput.pointsRef.nativeElement;
655
- if (!points)
656
- return;
657
- const [sizes, colors] = [this.pointsInput.sizes(), this.pointsInput.colors()];
658
- const attr = points.geometry.attributes;
659
- checkUpdate(attr['position']);
660
- if (colors)
661
- checkUpdate(attr['color']);
662
- if (sizes)
663
- checkUpdate(attr['size']);
664
- });
665
- }
666
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.2", ngImport: i0, type: NgtsPointsBuffers, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
667
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.2", type: NgtsPointsBuffers, isStandalone: true, selector: "ngts-points-buffers", ngImport: i0, template: `
668
- <ngt-points [ref]="pointsInput.pointsRef" ngtCompound>
669
- <ngt-buffer-geometry>
670
- <ngt-buffer-attribute
671
- attach="attributes.position"
672
- [count]="pointsInput.positions().length / pointsInput.stride()"
673
- [array]="pointsInput.positions()"
674
- [itemSize]="pointsInput.stride()"
675
- [usage]="DynamicDrawUsage"
676
- />
677
- <ngt-buffer-attribute
678
- attach="attributes.color"
679
- [count]="pointsInput.colorsLength() / pointsInput.stride()"
680
- [array]="pointsInput.colors()"
681
- [itemSize]="pointsInput.stride()"
682
- [usage]="DynamicDrawUsage"
683
- />
684
- <ngt-buffer-attribute
685
- attach="attributes.size"
686
- [count]="pointsInput.sizesLength() / pointsInput.stride()"
687
- [array]="pointsInput.sizes()"
688
- [itemSize]="1"
689
- [usage]="DynamicDrawUsage"
690
- />
691
- </ngt-buffer-geometry>
692
- <ng-content />
693
- </ngt-points>
694
- `, isInline: true }); }
695
- }
696
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.2", ngImport: i0, type: NgtsPointsBuffers, decorators: [{
697
- type: Component,
698
- args: [{
699
- selector: 'ngts-points-buffers',
700
- standalone: true,
701
- template: `
702
- <ngt-points [ref]="pointsInput.pointsRef" ngtCompound>
703
- <ngt-buffer-geometry>
704
- <ngt-buffer-attribute
705
- attach="attributes.position"
706
- [count]="pointsInput.positions().length / pointsInput.stride()"
707
- [array]="pointsInput.positions()"
708
- [itemSize]="pointsInput.stride()"
709
- [usage]="DynamicDrawUsage"
710
- />
711
- <ngt-buffer-attribute
712
- attach="attributes.color"
713
- [count]="pointsInput.colorsLength() / pointsInput.stride()"
714
- [array]="pointsInput.colors()"
715
- [itemSize]="pointsInput.stride()"
716
- [usage]="DynamicDrawUsage"
717
- />
718
- <ngt-buffer-attribute
719
- attach="attributes.size"
720
- [count]="pointsInput.sizesLength() / pointsInput.stride()"
721
- [array]="pointsInput.sizes()"
722
- [itemSize]="1"
723
- [usage]="DynamicDrawUsage"
724
- />
725
- </ngt-buffer-geometry>
726
- <ng-content />
727
- </ngt-points>
728
- `,
729
- schemas: [CUSTOM_ELEMENTS_SCHEMA],
730
- }]
731
- }], ctorParameters: function () { return []; } });
732
- class NgtsPoints extends NgtsPointsInput {
733
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.2", ngImport: i0, type: NgtsPoints, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
734
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.2", type: NgtsPoints, isStandalone: true, selector: "ngts-points", providers: [{ provide: NgtsPointsInput, useExisting: NgtsPoints }], queries: [{ propertyName: "content", first: true, predicate: NgtsSobaContent, descendants: true, read: TemplateRef, static: true }], usesInheritance: true, ngImport: i0, template: `
735
- <ngts-points-buffers *ngIf="positions()">
736
- <ng-container *ngTemplateOutlet="content" />
737
- </ngts-points-buffers>
738
- <ngts-points-instances *ngIf="!positions()" #pointsInstances>
739
- <!-- NOTE: passing in the injector to templateOutlet allow the consumers to abstract ngts-point -->
740
- <ng-container *ngTemplateOutlet="content; injector: pointsInstances.injector" />
741
- </ngts-points-instances>
742
- `, isInline: true, dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: NgtsPointsBuffers, selector: "ngts-points-buffers" }, { kind: "component", type: NgtsPointsInstances, selector: "ngts-points-instances" }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] }); }
743
- }
744
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.2", ngImport: i0, type: NgtsPoints, decorators: [{
745
- type: Component,
746
- args: [{
747
- selector: 'ngts-points',
748
- standalone: true,
749
- template: `
750
- <ngts-points-buffers *ngIf="positions()">
751
- <ng-container *ngTemplateOutlet="content" />
752
- </ngts-points-buffers>
753
- <ngts-points-instances *ngIf="!positions()" #pointsInstances>
754
- <!-- NOTE: passing in the injector to templateOutlet allow the consumers to abstract ngts-point -->
755
- <ng-container *ngTemplateOutlet="content; injector: pointsInstances.injector" />
756
- </ngts-points-instances>
757
- `,
758
- imports: [NgIf, NgtsPointsBuffers, NgtsPointsInstances, NgTemplateOutlet],
759
- providers: [{ provide: NgtsPointsInput, useExisting: NgtsPoints }],
760
- schemas: [CUSTOM_ELEMENTS_SCHEMA],
761
- }]
762
- }], propDecorators: { content: [{
763
- type: ContentChild,
764
- args: [NgtsSobaContent, { static: true, read: TemplateRef }]
765
- }] } });
766
-
767
- class SegmentObject {
768
- constructor() {
769
- this.color = new THREE.Color('white');
770
- this.start = new THREE.Vector3(0, 0, 0);
771
- this.end = new THREE.Vector3(0, 0, 0);
772
- }
773
- }
774
-
775
- const normPos = (pos) => pos instanceof THREE.Vector3
776
- ? pos
777
- : new THREE.Vector3(...(typeof pos === 'number' ? [pos, pos, pos] : pos));
778
- extend({ SegmentObject });
779
- const [injectNgtsSegmentsApi, provideNgtsSegmentsApi] = createInjectionToken((segments) => segments.api, { isRoot: false, deps: [forwardRef(() => NgtsSegments)] });
780
- class NgtsSegment {
781
- constructor() {
782
- this.inputs = signalStore({});
783
- this.segmentRef = injectNgtRef();
784
- this.segmentsApi = injectNgtsSegmentsApi();
785
- this.injector = inject(Injector);
786
- this.zone = inject(NgZone);
787
- this.start = this.inputs.select('start');
788
- this.end = this.inputs.select('end');
789
- this.normalizedStart = computed(() => normPos(this.start()));
790
- this.normalizedEnd = computed(() => normPos(this.end()));
791
- this.color = this.inputs.select('color');
792
- }
793
- set _start(start) {
794
- this.inputs.set({ start });
795
- }
796
- set _end(end) {
797
- this.inputs.set({ end });
798
- }
799
- set _color(color) {
800
- this.inputs.set({ color });
801
- }
802
- ngOnInit() {
803
- effect((onCleanup) => {
804
- const cleanup = this.zone.runOutsideAngular(() => {
805
- const api = this.segmentsApi();
806
- return api.subscribe(this.segmentRef);
807
- });
808
- onCleanup(cleanup);
809
- }, { injector: this.injector });
810
- }
811
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.2", ngImport: i0, type: NgtsSegment, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
812
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.2", type: NgtsSegment, isStandalone: true, selector: "ngts-segment", inputs: { segmentRef: "segmentRef", _start: ["start", "_start"], _end: ["end", "_end"], _color: ["color", "_color"] }, ngImport: i0, template: `
813
- <ngt-segment-object [ref]="segmentRef" [color]="color()" [start]="normalizedStart()" [end]="normalizedEnd()" />
814
- `, isInline: true }); }
815
- }
816
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.2", ngImport: i0, type: NgtsSegment, decorators: [{
817
- type: Component,
818
- args: [{
819
- selector: 'ngts-segment',
820
- standalone: true,
821
- template: `
822
- <ngt-segment-object [ref]="segmentRef" [color]="color()" [start]="normalizedStart()" [end]="normalizedEnd()" />
823
- `,
824
- schemas: [CUSTOM_ELEMENTS_SCHEMA],
825
- }]
826
- }], propDecorators: { segmentRef: [{
827
- type: Input
828
- }], _start: [{
829
- type: Input,
830
- args: [{ alias: 'start' }]
831
- }], _end: [{
832
- type: Input,
833
- args: [{ alias: 'end' }]
834
- }], _color: [{
835
- type: Input,
836
- args: [{ alias: 'color' }]
837
- }] } });
838
- class NgtsSegments {
839
- set _limit(limit) {
840
- this.inputs.set({ limit });
841
- }
842
- set _lineWidth(lineWidth) {
843
- this.inputs.set({ lineWidth });
844
- }
845
- constructor() {
846
- this.inputs = signalStore({ limit: 1000, lineWidth: 1 });
847
- this.segmentsRef = injectNgtRef();
848
- this.segments = signal([]);
849
- this.limit = this.inputs.select('limit');
850
- this.positions = computed(() => Array(this.limit() * 6).fill(0));
851
- this.colors = computed(() => Array(this.limit() * 6).fill(0));
852
- this.resolution = new THREE.Vector2(512, 512);
853
- this.lineWidth = this.inputs.select('lineWidth');
854
- this.line = new Line2();
855
- this.material = new LineMaterial();
856
- this.geometry = new LineSegmentsGeometry();
857
- this.api = computed(() => ({
858
- subscribe: (segmentRef) => {
859
- untracked(() => {
860
- this.segments.update((s) => [...s, segmentRef]);
861
- });
862
- return () => {
863
- untracked(() => {
864
- this.segments.update((s) => s.filter((segment) => segment !== segmentRef));
865
- });
866
- };
867
- },
868
- }));
869
- this.beforeRender();
870
- }
871
- beforeRender() {
872
- injectBeforeRender(() => {
873
- const [segments, limit, positions, colors] = [
874
- this.segments(),
875
- this.limit(),
876
- this.positions(),
877
- this.colors(),
878
- ];
879
- for (let i = 0; i < limit; i++) {
880
- const segmentRef = segments[i];
881
- const segment = is.ref(segmentRef) ? segmentRef.nativeElement : segmentRef;
882
- if (segment) {
883
- positions[i * 6 + 0] = segment.start.x;
884
- positions[i * 6 + 1] = segment.start.y;
885
- positions[i * 6 + 2] = segment.start.z;
886
- positions[i * 6 + 3] = segment.end.x;
887
- positions[i * 6 + 4] = segment.end.y;
888
- positions[i * 6 + 5] = segment.end.z;
889
- colors[i * 6 + 0] = segment.color.r;
890
- colors[i * 6 + 1] = segment.color.g;
891
- colors[i * 6 + 2] = segment.color.b;
892
- colors[i * 6 + 3] = segment.color.r;
893
- colors[i * 6 + 4] = segment.color.g;
894
- colors[i * 6 + 5] = segment.color.b;
895
- }
896
- }
897
- this.geometry.setColors(colors);
898
- this.geometry.setPositions(positions);
899
- this.line.computeLineDistances();
900
- });
901
- }
902
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.2", ngImport: i0, type: NgtsSegments, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
903
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.2", type: NgtsSegments, isStandalone: true, selector: "ngts-segments", inputs: { segmentsRef: "segmentsRef", _limit: ["limit", "_limit"], _lineWidth: ["lineWidth", "_lineWidth"] }, providers: [provideNgtsSegmentsApi()], ngImport: i0, template: `
904
- <ngt-primitive *args="[line]" [ref]="segmentsRef">
905
- <ngt-primitive *args="[geometry]" attach="geometry" />
906
- <ngt-primitive
907
- *args="[material]"
908
- attach="material"
909
- ngtCompound
910
- [vertexColors]="true"
911
- [resolution]="resolution"
912
- [linewidth]="lineWidth()"
913
- />
914
- <ng-content />
915
- </ngt-primitive>
916
- `, isInline: true, dependencies: [{ kind: "directive", type: NgtArgs, selector: "ng-template[args]", inputs: ["args"] }] }); }
917
- }
918
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.2", ngImport: i0, type: NgtsSegments, decorators: [{
919
- type: Component,
920
- args: [{
921
- selector: 'ngts-segments',
922
- standalone: true,
923
- template: `
924
- <ngt-primitive *args="[line]" [ref]="segmentsRef">
925
- <ngt-primitive *args="[geometry]" attach="geometry" />
926
- <ngt-primitive
927
- *args="[material]"
928
- attach="material"
929
- ngtCompound
930
- [vertexColors]="true"
931
- [resolution]="resolution"
932
- [linewidth]="lineWidth()"
933
- />
934
- <ng-content />
935
- </ngt-primitive>
936
- `,
937
- imports: [NgtArgs],
938
- providers: [provideNgtsSegmentsApi()],
939
- schemas: [CUSTOM_ELEMENTS_SCHEMA],
940
- }]
941
- }], ctorParameters: function () { return []; }, propDecorators: { segmentsRef: [{
942
- type: Input
943
- }], _limit: [{
944
- type: Input,
945
- args: [{ alias: 'limit' }]
946
- }], _lineWidth: [{
947
- type: Input,
948
- args: [{ alias: 'lineWidth' }]
949
- }] } });
950
-
951
- /**
952
- * Generated bundle index. Do not edit.
953
- */
954
-
955
- export { NgtsAdaptiveDpr, NgtsAdaptiveEvents, NgtsInstance, NgtsInstances, NgtsPoint, NgtsPoints, NgtsPointsBuffers, NgtsPointsInstances, NgtsSegment, NgtsSegments, PositionMesh, SegmentObject, injectNgtsInstancesApi, injectNgtsPointsInstanceApi, injectNgtsSegmentsApi, provideNgtsInstancesApi, provideNgtsPointsInstancesApi, provideNgtsSegmentsApi };
956
- //# sourceMappingURL=angular-three-soba-performances.mjs.map