angular-three-soba 2.0.0-beta.2 → 2.0.0-beta.21

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 (321) 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 +24 -12
  4. package/abstractions/grid/grid.d.ts +50 -0
  5. package/abstractions/index.d.ts +2 -7
  6. package/abstractions/text/text.d.ts +10 -5
  7. package/abstractions/text-3d/text-3d.d.ts +51 -41
  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 +31 -12
  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 +180 -0
  19. package/esm2022/abstractions/index.mjs +3 -8
  20. package/esm2022/abstractions/text/text.mjs +123 -124
  21. package/esm2022/abstractions/text-3d/text-3d.mjs +120 -115
  22. package/esm2022/cameras/camera/camera-content.mjs +6 -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 +105 -85
  29. package/esm2022/gizmos/angular-three-soba-gizmos.mjs +5 -0
  30. package/esm2022/gizmos/gizmo-helper/gizmo-helper.mjs +197 -0
  31. package/esm2022/gizmos/gizmo-helper/gizmo-viewcube/constants.mjs +31 -0
  32. package/esm2022/gizmos/gizmo-helper/gizmo-viewcube/gizmo-viewcube-edge.mjs +93 -0
  33. package/esm2022/gizmos/gizmo-helper/gizmo-viewcube/gizmo-viewcube-face.mjs +150 -0
  34. package/esm2022/gizmos/gizmo-helper/gizmo-viewcube/gizmo-viewcube-input.mjs +66 -0
  35. package/esm2022/gizmos/gizmo-helper/gizmo-viewcube/gizmo-viewcube.mjs +71 -0
  36. package/esm2022/gizmos/gizmo-helper/gizmo-viewport/gizmo-viewport-axis.mjs +195 -0
  37. package/esm2022/gizmos/gizmo-helper/gizmo-viewport/gizmo-viewport.mjs +272 -0
  38. package/esm2022/gizmos/index.mjs +4 -0
  39. package/esm2022/loaders/gltf-loader/gltf-loader.mjs +3 -6
  40. package/esm2022/loaders/loader/loader.mjs +92 -87
  41. package/esm2022/loaders/progress/progress.mjs +29 -29
  42. package/esm2022/loaders/texture-loader/texture-loader.mjs +4 -4
  43. package/esm2022/materials/index.mjs +2 -1
  44. package/esm2022/materials/mesh-distort-material/mesh-distort-material.mjs +60 -51
  45. package/esm2022/materials/mesh-reflector-material/mesh-reflector-material.mjs +239 -255
  46. package/esm2022/materials/mesh-refraction-material/mesh-refraction-material.mjs +102 -99
  47. package/esm2022/materials/mesh-transmission-material/mesh-transmission-material.mjs +167 -146
  48. package/esm2022/materials/mesh-wobble-material/mesh-wobble-material.mjs +44 -42
  49. package/esm2022/materials/point-material/point-material.mjs +50 -0
  50. package/esm2022/misc/animations/animations.mjs +36 -32
  51. package/esm2022/misc/bake-shadows/bake-shadows.mjs +13 -13
  52. package/esm2022/misc/caustics/caustics.mjs +387 -0
  53. package/esm2022/misc/decal/decal.mjs +187 -0
  54. package/esm2022/misc/depth-buffer/depth-buffer.mjs +33 -35
  55. package/esm2022/misc/example/example.mjs +160 -0
  56. package/esm2022/misc/fbo/fbo.mjs +35 -35
  57. package/esm2022/misc/html/html-wrapper.mjs +478 -0
  58. package/esm2022/misc/html/html.mjs +304 -0
  59. package/esm2022/misc/index.mjs +10 -1
  60. package/esm2022/misc/sampler/sampler.mjs +142 -0
  61. package/esm2022/misc/shadow/shadow.mjs +111 -0
  62. package/esm2022/misc/stats-gl/stats-gl.mjs +61 -0
  63. package/esm2022/misc/trail/trail.mjs +209 -0
  64. package/esm2022/misc/trail-texture/inject-trail-texture.mjs +17 -0
  65. package/esm2022/misc/trail-texture/trail-texture.mjs +106 -0
  66. package/esm2022/modifiers/angular-three-soba-modifiers.mjs +5 -0
  67. package/esm2022/modifiers/curve-modifier/curve-modifier.mjs +64 -0
  68. package/esm2022/modifiers/index.mjs +2 -0
  69. package/esm2022/performances/adaptive-dpr/adaptive-dpr.mjs +44 -0
  70. package/esm2022/performances/adaptive-events/adaptive-events.mjs +27 -0
  71. package/esm2022/performances/angular-three-soba-performances.mjs +5 -0
  72. package/esm2022/performances/index.mjs +8 -0
  73. package/esm2022/performances/instances/instances.mjs +220 -0
  74. package/esm2022/performances/instances/position-mesh.mjs +52 -0
  75. package/esm2022/performances/points/points-input.mjs +64 -0
  76. package/esm2022/performances/points/points.mjs +326 -0
  77. package/esm2022/performances/points/position-point.mjs +54 -0
  78. package/esm2022/performances/segments/segment-object.mjs +9 -0
  79. package/esm2022/performances/segments/segments.mjs +182 -0
  80. package/esm2022/shaders/blur-pass/blur-pass.mjs +2 -2
  81. package/esm2022/shaders/caustics/caustics-material.mjs +130 -0
  82. package/esm2022/shaders/caustics/caustics-projection-material.mjs +31 -0
  83. package/esm2022/shaders/convolution-material/convolution-material.mjs +1 -1
  84. package/esm2022/shaders/discard-material/discard-material.mjs +1 -1
  85. package/esm2022/shaders/grid-material/grid-material.mjs +77 -0
  86. package/esm2022/shaders/index.mjs +6 -3
  87. package/esm2022/shaders/mesh-distort-material/mesh-distort-material.mjs +42 -41
  88. package/esm2022/shaders/mesh-reflector-material/mesh-reflector-material.mjs +2 -2
  89. package/esm2022/shaders/mesh-refraction-material/mesh-refraction-material.mjs +2 -2
  90. package/esm2022/shaders/mesh-transmission-material/mesh-transmission-material.mjs +4 -4
  91. package/esm2022/shaders/mesh-wobble-material/mesh-wobble-material.mjs +1 -1
  92. package/esm2022/shaders/shader-material/shader-material.mjs +1 -1
  93. package/esm2022/shaders/soft-shadow-material/soft-shadow-material.mjs +17 -25
  94. package/esm2022/shaders/sparkles-material/sparkles-material.mjs +32 -46
  95. package/esm2022/shaders/spot-light-material/spot-light-material.mjs +7 -7
  96. package/esm2022/shaders/star-field-material/star-field-material.mjs +3 -2
  97. package/esm2022/shaders/wireframe-material/wireframe-material.mjs +247 -0
  98. package/esm2022/staging/accumulative-shadows/accumulative-shadows.mjs +160 -176
  99. package/esm2022/staging/accumulative-shadows/progressive-light-map.mjs +1 -1
  100. package/esm2022/staging/accumulative-shadows/randomized-lights.mjs +126 -128
  101. package/esm2022/staging/backdrop/backdrop.mjs +77 -0
  102. package/esm2022/staging/bb-anchor/bb-anchor.mjs +69 -0
  103. package/esm2022/staging/bounds/bounds.mjs +144 -143
  104. package/esm2022/staging/camera-shake/camera-shake.mjs +86 -80
  105. package/esm2022/staging/center/center.mjs +129 -112
  106. package/esm2022/staging/cloud/cloud.mjs +118 -124
  107. package/esm2022/staging/contact-shadows/contact-shadows.mjs +131 -134
  108. package/esm2022/staging/environment/assets.mjs +12 -12
  109. package/esm2022/staging/environment/environment-cube.mjs +28 -30
  110. package/esm2022/staging/environment/environment-ground.mjs +17 -19
  111. package/esm2022/staging/environment/environment-input.mjs +98 -85
  112. package/esm2022/staging/environment/environment-map.mjs +33 -33
  113. package/esm2022/staging/environment/environment-portal.mjs +75 -97
  114. package/esm2022/staging/environment/environment.mjs +34 -51
  115. package/esm2022/staging/environment/utils.mjs +37 -15
  116. package/esm2022/staging/float/float.mjs +70 -58
  117. package/esm2022/staging/index.mjs +7 -3
  118. package/esm2022/staging/matcap-texture/matcap-texture.mjs +64 -0
  119. package/esm2022/staging/normal-texture/normal-texture.mjs +53 -0
  120. package/esm2022/staging/sky/sky.mjs +85 -80
  121. package/esm2022/staging/sparkles/sparkles.mjs +108 -105
  122. package/esm2022/staging/spot-light/shadow-mesh-input.mjs +63 -0
  123. package/esm2022/staging/spot-light/shadow-mesh.mjs +266 -0
  124. package/esm2022/staging/spot-light/spot-light-input.mjs +67 -58
  125. package/esm2022/staging/spot-light/spot-light.mjs +51 -64
  126. package/esm2022/staging/spot-light/volumetric-mesh.mjs +67 -70
  127. package/esm2022/staging/stage/stage.mjs +305 -290
  128. package/esm2022/staging/stars/stars.mjs +101 -102
  129. package/esm2022/staging/wireframe/wireframe-input.mjs +191 -0
  130. package/esm2022/staging/wireframe/wireframe.mjs +228 -0
  131. package/esm2022/utils/angular-three-soba-utils.mjs +5 -0
  132. package/esm2022/utils/content/content.mjs +15 -0
  133. package/esm2022/utils/index.mjs +2 -0
  134. package/fesm2022/angular-three-soba-abstractions.mjs +514 -1947
  135. package/fesm2022/angular-three-soba-abstractions.mjs.map +1 -1
  136. package/fesm2022/angular-three-soba-cameras.mjs +302 -259
  137. package/fesm2022/angular-three-soba-cameras.mjs.map +1 -1
  138. package/fesm2022/angular-three-soba-controls.mjs +104 -83
  139. package/fesm2022/angular-three-soba-controls.mjs.map +1 -1
  140. package/fesm2022/angular-three-soba-gizmos.mjs +1043 -0
  141. package/fesm2022/angular-three-soba-gizmos.mjs.map +1 -0
  142. package/fesm2022/angular-three-soba-loaders.mjs +121 -117
  143. package/fesm2022/angular-three-soba-loaders.mjs.map +1 -1
  144. package/fesm2022/angular-three-soba-materials.mjs +662 -592
  145. package/fesm2022/angular-three-soba-materials.mjs.map +1 -1
  146. package/fesm2022/angular-three-soba-misc.mjs +2214 -105
  147. package/fesm2022/angular-three-soba-misc.mjs.map +1 -1
  148. package/fesm2022/angular-three-soba-modifiers.mjs +71 -0
  149. package/fesm2022/angular-three-soba-modifiers.mjs.map +1 -0
  150. package/fesm2022/angular-three-soba-performances.mjs +956 -0
  151. package/fesm2022/angular-three-soba-performances.mjs.map +1 -0
  152. package/fesm2022/angular-three-soba-shaders.mjs +549 -252
  153. package/fesm2022/angular-three-soba-shaders.mjs.map +1 -1
  154. package/fesm2022/angular-three-soba-staging.mjs +2899 -2563
  155. package/fesm2022/angular-three-soba-staging.mjs.map +1 -1
  156. package/fesm2022/angular-three-soba-utils.mjs +22 -0
  157. package/fesm2022/angular-three-soba-utils.mjs.map +1 -0
  158. package/gizmos/README.md +3 -0
  159. package/gizmos/gizmo-helper/gizmo-helper.d.ts +69 -0
  160. package/gizmos/gizmo-helper/gizmo-viewcube/gizmo-viewcube-edge.d.ts +22 -0
  161. package/gizmos/gizmo-helper/gizmo-viewcube/gizmo-viewcube-face.d.ts +29 -0
  162. package/gizmos/gizmo-helper/gizmo-viewcube/gizmo-viewcube-input.d.ts +33 -0
  163. package/gizmos/gizmo-helper/gizmo-viewcube/gizmo-viewcube.d.ts +10 -0
  164. package/gizmos/gizmo-helper/gizmo-viewport/gizmo-viewport-axis.d.ts +40 -0
  165. package/gizmos/gizmo-helper/gizmo-viewport/gizmo-viewport.d.ts +30 -0
  166. package/gizmos/index.d.ts +3 -0
  167. package/loaders/gltf-loader/gltf-loader.d.ts +4 -3
  168. package/loaders/loader/loader.d.ts +19 -17
  169. package/loaders/progress/progress.d.ts +1 -1
  170. package/loaders/texture-loader/texture-loader.d.ts +2 -2
  171. package/materials/index.d.ts +1 -0
  172. package/materials/mesh-distort-material/mesh-distort-material.d.ts +25 -15
  173. package/materials/mesh-reflector-material/mesh-reflector-material.d.ts +74 -56
  174. package/materials/mesh-refraction-material/mesh-refraction-material.d.ts +33 -21
  175. package/materials/mesh-transmission-material/mesh-transmission-material.d.ts +55 -39
  176. package/materials/mesh-wobble-material/mesh-wobble-material.d.ts +19 -10
  177. package/materials/point-material/point-material.d.ts +24 -0
  178. package/metadata.json +1 -0
  179. package/misc/animations/animations.d.ts +6 -4
  180. package/misc/caustics/caustics.d.ts +87 -0
  181. package/misc/decal/decal.d.ts +49 -0
  182. package/misc/depth-buffer/depth-buffer.d.ts +2 -2
  183. package/misc/example/example.d.ts +81 -0
  184. package/misc/fbo/fbo.d.ts +2 -2
  185. package/misc/html/html-wrapper.d.ts +559 -0
  186. package/misc/html/html.d.ts +214 -0
  187. package/misc/index.d.ts +9 -0
  188. package/misc/sampler/sampler.d.ts +67 -0
  189. package/misc/shadow/shadow.d.ts +37 -0
  190. package/misc/stats-gl/stats-gl.d.ts +24 -0
  191. package/misc/trail/trail.d.ts +57 -0
  192. package/misc/trail-texture/inject-trail-texture.d.ts +9 -0
  193. package/misc/trail-texture/trail-texture.d.ts +50 -0
  194. package/modifiers/README.md +3 -0
  195. package/modifiers/curve-modifier/curve-modifier.d.ts +23 -0
  196. package/modifiers/index.d.ts +1 -0
  197. package/package.json +31 -16
  198. package/performances/README.md +3 -0
  199. package/performances/adaptive-dpr/adaptive-dpr.d.ts +14 -0
  200. package/{performance/adaptive → performances/adaptive-events}/adaptive-events.d.ts +3 -0
  201. package/performances/index.d.ts +7 -0
  202. package/performances/instances/instances.d.ts +79 -0
  203. package/{performance → performances}/instances/position-mesh.d.ts +1 -1
  204. package/performances/points/points-input.d.ts +32 -0
  205. package/performances/points/points.d.ts +92 -0
  206. package/performances/points/position-point.d.ts +11 -0
  207. package/performances/segments/segment-object.d.ts +7 -0
  208. package/performances/segments/segments.d.ts +124 -0
  209. package/shaders/grid-material/grid-material.d.ts +37 -0
  210. package/shaders/index.d.ts +5 -2
  211. package/shaders/mesh-distort-material/mesh-distort-material.d.ts +147 -2
  212. package/shaders/mesh-transmission-material/mesh-transmission-material.d.ts +1 -1
  213. package/shaders/shader-material/shader-material.d.ts +2 -2
  214. package/shaders/soft-shadow-material/soft-shadow-material.d.ts +10 -1
  215. package/shaders/sparkles-material/sparkles-material.d.ts +15 -1
  216. package/shaders/spot-light-material/spot-light-material.d.ts +11 -2
  217. package/shaders/star-field-material/star-field-material.d.ts +11 -1
  218. package/shaders/wireframe-material/wireframe-material.d.ts +58 -0
  219. package/staging/accumulative-shadows/accumulative-shadows.d.ts +89 -39
  220. package/staging/accumulative-shadows/randomized-lights.d.ts +40 -27
  221. package/staging/backdrop/backdrop.d.ts +30 -0
  222. package/staging/bb-anchor/bb-anchor.d.ts +27 -0
  223. package/staging/bounds/bounds.d.ts +100 -24
  224. package/staging/camera-shake/camera-shake.d.ts +30 -19
  225. package/staging/center/center.d.ts +43 -35
  226. package/staging/cloud/cloud.d.ts +26 -23
  227. package/staging/contact-shadows/contact-shadows.d.ts +41 -28
  228. package/staging/environment/assets.d.ts +9 -9
  229. package/staging/environment/environment-cube.d.ts +9 -5
  230. package/staging/environment/environment-ground.d.ts +7 -7
  231. package/staging/environment/environment-input.d.ts +37 -37
  232. package/staging/environment/environment-map.d.ts +10 -5
  233. package/staging/environment/environment-portal.d.ts +10 -5
  234. package/staging/environment/environment.d.ts +0 -4
  235. package/staging/environment/utils.d.ts +2 -2
  236. package/staging/float/float.d.ts +14 -10
  237. package/staging/index.d.ts +6 -2
  238. package/staging/matcap-texture/matcap-texture.d.ts +13 -0
  239. package/staging/normal-texture/normal-texture.d.ts +16 -0
  240. package/staging/sky/sky.d.ts +28 -21
  241. package/staging/sparkles/sparkles.d.ts +36 -22
  242. package/staging/spot-light/shadow-mesh-input.d.ts +29 -0
  243. package/staging/spot-light/shadow-mesh.d.ts +37 -0
  244. package/staging/spot-light/spot-light-input.d.ts +25 -25
  245. package/staging/spot-light/spot-light.d.ts +31 -15
  246. package/staging/spot-light/volumetric-mesh.d.ts +15 -9
  247. package/staging/stage/stage.d.ts +89 -65
  248. package/staging/stars/stars.d.ts +28 -17
  249. package/staging/wireframe/wireframe-input.d.ts +65 -0
  250. package/staging/wireframe/wireframe.d.ts +28 -0
  251. package/utils/README.md +3 -0
  252. package/utils/content/content.d.ts +8 -0
  253. package/utils/index.d.ts +1 -0
  254. package/web-types.json +1 -0
  255. package/abstractions/catmull-rom-line/catmull-rom-line.d.ts +0 -25
  256. package/abstractions/cubic-bezier-line/cubic-bezier-line.d.ts +0 -25
  257. package/abstractions/gizmo-helper/gizmo-helper.d.ts +0 -34
  258. package/abstractions/gizmo-helper/gizmo-viewcube/gizmo-viewcube-edge.d.ts +0 -22
  259. package/abstractions/gizmo-helper/gizmo-viewcube/gizmo-viewcube-face.d.ts +0 -30
  260. package/abstractions/gizmo-helper/gizmo-viewcube/gizmo-viewcube-inputs.d.ts +0 -32
  261. package/abstractions/gizmo-helper/gizmo-viewcube/gizmo-viewcube.d.ts +0 -14
  262. package/abstractions/gizmo-helper/gizmo-viewport/gizmo-viewport-axis.d.ts +0 -47
  263. package/abstractions/gizmo-helper/gizmo-viewport/gizmo-viewport.d.ts +0 -40
  264. package/abstractions/line/line-input.d.ts +0 -42
  265. package/abstractions/line/line.d.ts +0 -35
  266. package/abstractions/quadratic-bezier-line/quadratic-bezier-line.d.ts +0 -23
  267. package/esm2022/abstractions/catmull-rom-line/catmull-rom-line.mjs +0 -131
  268. package/esm2022/abstractions/cubic-bezier-line/cubic-bezier-line.mjs +0 -113
  269. package/esm2022/abstractions/gizmo-helper/gizmo-helper.mjs +0 -210
  270. package/esm2022/abstractions/gizmo-helper/gizmo-viewcube/constants.mjs +0 -31
  271. package/esm2022/abstractions/gizmo-helper/gizmo-viewcube/gizmo-viewcube-edge.mjs +0 -95
  272. package/esm2022/abstractions/gizmo-helper/gizmo-viewcube/gizmo-viewcube-face.mjs +0 -155
  273. package/esm2022/abstractions/gizmo-helper/gizmo-viewcube/gizmo-viewcube-inputs.mjs +0 -62
  274. package/esm2022/abstractions/gizmo-helper/gizmo-viewcube/gizmo-viewcube.mjs +0 -80
  275. package/esm2022/abstractions/gizmo-helper/gizmo-viewport/gizmo-viewport-axis.mjs +0 -206
  276. package/esm2022/abstractions/gizmo-helper/gizmo-viewport/gizmo-viewport.mjs +0 -273
  277. package/esm2022/abstractions/line/line-input.mjs +0 -113
  278. package/esm2022/abstractions/line/line.mjs +0 -165
  279. package/esm2022/abstractions/quadratic-bezier-line/quadratic-bezier-line.mjs +0 -128
  280. package/esm2022/performance/adaptive/adaptive-dpr.mjs +0 -46
  281. package/esm2022/performance/adaptive/adaptive-events.mjs +0 -31
  282. package/esm2022/performance/angular-three-soba-performance.mjs +0 -5
  283. package/esm2022/performance/detailed/detailed.mjs +0 -61
  284. package/esm2022/performance/index.mjs +0 -7
  285. package/esm2022/performance/instances/instance.mjs +0 -48
  286. package/esm2022/performance/instances/instances.mjs +0 -189
  287. package/esm2022/performance/instances/position-mesh.mjs +0 -52
  288. package/esm2022/performance/stats/stats.mjs +0 -79
  289. package/esm2022/shaders/caustics-material/caustics-material.mjs +0 -128
  290. package/esm2022/shaders/caustics-material/caustics-projection-material.mjs +0 -33
  291. package/esm2022/staging/caustics/caustisc.mjs +0 -384
  292. package/esm2022/staging/spot-light/spot-light-shadow-mesh-input.mjs +0 -57
  293. package/esm2022/staging/spot-light/spot-light-shadow-mesh.mjs +0 -256
  294. package/fesm2022/angular-three-soba-performance.mjs +0 -487
  295. package/fesm2022/angular-three-soba-performance.mjs.map +0 -1
  296. package/performance/README.md +0 -3
  297. package/performance/adaptive/adaptive-dpr.d.ts +0 -8
  298. package/performance/detailed/detailed.d.ts +0 -20
  299. package/performance/index.d.ts +0 -6
  300. package/performance/instances/instance.d.ts +0 -9
  301. package/performance/instances/instances.d.ts +0 -35
  302. package/performance/stats/stats.d.ts +0 -18
  303. package/plugin/generators.json +0 -19
  304. package/plugin/libs/plugin/README.md +0 -11
  305. package/plugin/package.json +0 -9
  306. package/plugin/src/generators/init/compat.d.ts +0 -2
  307. package/plugin/src/generators/init/compat.js +0 -6
  308. package/plugin/src/generators/init/compat.js.map +0 -1
  309. package/plugin/src/generators/init/init.d.ts +0 -4
  310. package/plugin/src/generators/init/init.js +0 -22
  311. package/plugin/src/generators/init/init.js.map +0 -1
  312. package/plugin/src/generators/init/schema.json +0 -6
  313. package/plugin/src/index.d.ts +0 -1
  314. package/plugin/src/index.js +0 -6
  315. package/plugin/src/index.js.map +0 -1
  316. package/staging/caustics/caustisc.d.ts +0 -70
  317. package/staging/spot-light/spot-light-shadow-mesh-input.d.ts +0 -29
  318. package/staging/spot-light/spot-light-shadow-mesh.d.ts +0 -38
  319. /package/{abstractions → gizmos}/gizmo-helper/gizmo-viewcube/constants.d.ts +0 -0
  320. /package/shaders/{caustics-material → caustics}/caustics-material.d.ts +0 -0
  321. /package/shaders/{caustics-material → caustics}/caustics-projection-material.d.ts +0 -0
@@ -0,0 +1,214 @@
1
+ import { EventEmitter, TemplateRef } from '@angular/core';
2
+ import { type NgtGroup, type NgtRef, type NgtVector3 } from 'angular-three';
3
+ import * as THREE from 'three';
4
+ import { defaultCalculatePosition } from './html-wrapper';
5
+ import * as i0 from "@angular/core";
6
+ type PointerEventsProperties = 'auto' | 'none' | 'visiblePainted' | 'visibleFill' | 'visibleStroke' | 'visible' | 'painted' | 'fill' | 'stroke' | 'all' | 'inherit';
7
+ export type NgtsHtmlState = {
8
+ as: keyof HTMLElementTagNameMap;
9
+ prepend: boolean;
10
+ transform: boolean;
11
+ zIndexRange: Array<number>;
12
+ calculatePosition: typeof defaultCalculatePosition;
13
+ fullscreen: boolean;
14
+ center: boolean;
15
+ sprite: boolean;
16
+ pointerEvents: PointerEventsProperties;
17
+ eps: number;
18
+ scale: NgtVector3;
19
+ content?: TemplateRef<unknown>;
20
+ distanceFactor?: number;
21
+ style?: CSSStyleDeclaration;
22
+ renderedDivClass?: string;
23
+ wrapperClass?: string;
24
+ portal?: NgtRef<HTMLElement>;
25
+ occlude: NgtRef<THREE.Object3D>[] | boolean | 'raycast' | 'blending';
26
+ material?: NgtRef<THREE.Material>;
27
+ geometry?: NgtRef<THREE.BufferGeometry>;
28
+ castShadow: boolean;
29
+ receiveShadow: boolean;
30
+ };
31
+ export declare const injectNgtsHtmlInputs: {
32
+ (): {
33
+ zIndexRange: import("@angular/core").Signal<number[]>;
34
+ prepend: import("@angular/core").Signal<boolean>;
35
+ transform: import("@angular/core").Signal<boolean>;
36
+ center: import("@angular/core").Signal<boolean>;
37
+ fullscreen: import("@angular/core").Signal<boolean>;
38
+ calculatePosition: import("@angular/core").Signal<typeof defaultCalculatePosition>;
39
+ wrapperClass: import("@angular/core").Signal<string | undefined>;
40
+ renderedDivClass: import("@angular/core").Signal<string | undefined>;
41
+ style: import("@angular/core").Signal<CSSStyleDeclaration | undefined>;
42
+ pointerEvents: import("@angular/core").Signal<PointerEventsProperties>;
43
+ eps: import("@angular/core").Signal<number>;
44
+ distanceFactor: import("@angular/core").Signal<number | undefined>;
45
+ sprite: import("@angular/core").Signal<boolean>;
46
+ as: import("@angular/core").Signal<keyof HTMLElementTagNameMap>;
47
+ portal: import("@angular/core").Signal<NgtRef<HTMLElement> | undefined>;
48
+ content: import("@angular/core").Signal<TemplateRef<unknown> | undefined>;
49
+ occlude: import("@angular/core").Signal<boolean | "raycast" | NgtRef<THREE.Object3D<THREE.Event>>[] | "blending">;
50
+ isRayCastOcclusion: import("@angular/core").Signal<boolean>;
51
+ occlusionMeshRef: import("angular-three").NgtInjectedRef<THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes>, THREE.Material | THREE.Material[]>>;
52
+ occluded: EventEmitter<boolean>;
53
+ geometry: import("@angular/core").Signal<NgtRef<THREE.BufferGeometry<THREE.NormalBufferAttributes>> | undefined>;
54
+ scale: import("@angular/core").Signal<NgtVector3>;
55
+ groupRef: import("angular-three").NgtInjectedRef<THREE.Group>;
56
+ state: import("@angular/core").Signal<NgtsHtmlState>;
57
+ };
58
+ (injectOptions: import("@angular/core").InjectOptions & {
59
+ optional?: false | undefined;
60
+ }): {
61
+ zIndexRange: import("@angular/core").Signal<number[]>;
62
+ prepend: import("@angular/core").Signal<boolean>;
63
+ transform: import("@angular/core").Signal<boolean>;
64
+ center: import("@angular/core").Signal<boolean>;
65
+ fullscreen: import("@angular/core").Signal<boolean>;
66
+ calculatePosition: import("@angular/core").Signal<typeof defaultCalculatePosition>;
67
+ wrapperClass: import("@angular/core").Signal<string | undefined>;
68
+ renderedDivClass: import("@angular/core").Signal<string | undefined>;
69
+ style: import("@angular/core").Signal<CSSStyleDeclaration | undefined>;
70
+ pointerEvents: import("@angular/core").Signal<PointerEventsProperties>;
71
+ eps: import("@angular/core").Signal<number>;
72
+ distanceFactor: import("@angular/core").Signal<number | undefined>;
73
+ sprite: import("@angular/core").Signal<boolean>;
74
+ as: import("@angular/core").Signal<keyof HTMLElementTagNameMap>;
75
+ portal: import("@angular/core").Signal<NgtRef<HTMLElement> | undefined>;
76
+ content: import("@angular/core").Signal<TemplateRef<unknown> | undefined>;
77
+ occlude: import("@angular/core").Signal<boolean | "raycast" | NgtRef<THREE.Object3D<THREE.Event>>[] | "blending">;
78
+ isRayCastOcclusion: import("@angular/core").Signal<boolean>;
79
+ occlusionMeshRef: import("angular-three").NgtInjectedRef<THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes>, THREE.Material | THREE.Material[]>>;
80
+ occluded: EventEmitter<boolean>;
81
+ geometry: import("@angular/core").Signal<NgtRef<THREE.BufferGeometry<THREE.NormalBufferAttributes>> | undefined>;
82
+ scale: import("@angular/core").Signal<NgtVector3>;
83
+ groupRef: import("angular-three").NgtInjectedRef<THREE.Group>;
84
+ state: import("@angular/core").Signal<NgtsHtmlState>;
85
+ };
86
+ (injectOptions: import("@angular/core").InjectOptions): {
87
+ zIndexRange: import("@angular/core").Signal<number[]>;
88
+ prepend: import("@angular/core").Signal<boolean>;
89
+ transform: import("@angular/core").Signal<boolean>;
90
+ center: import("@angular/core").Signal<boolean>;
91
+ fullscreen: import("@angular/core").Signal<boolean>;
92
+ calculatePosition: import("@angular/core").Signal<typeof defaultCalculatePosition>;
93
+ wrapperClass: import("@angular/core").Signal<string | undefined>;
94
+ renderedDivClass: import("@angular/core").Signal<string | undefined>;
95
+ style: import("@angular/core").Signal<CSSStyleDeclaration | undefined>;
96
+ pointerEvents: import("@angular/core").Signal<PointerEventsProperties>;
97
+ eps: import("@angular/core").Signal<number>;
98
+ distanceFactor: import("@angular/core").Signal<number | undefined>;
99
+ sprite: import("@angular/core").Signal<boolean>;
100
+ as: import("@angular/core").Signal<keyof HTMLElementTagNameMap>;
101
+ portal: import("@angular/core").Signal<NgtRef<HTMLElement> | undefined>;
102
+ content: import("@angular/core").Signal<TemplateRef<unknown> | undefined>;
103
+ occlude: import("@angular/core").Signal<boolean | "raycast" | NgtRef<THREE.Object3D<THREE.Event>>[] | "blending">;
104
+ isRayCastOcclusion: import("@angular/core").Signal<boolean>;
105
+ occlusionMeshRef: import("angular-three").NgtInjectedRef<THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes>, THREE.Material | THREE.Material[]>>;
106
+ occluded: EventEmitter<boolean>;
107
+ geometry: import("@angular/core").Signal<NgtRef<THREE.BufferGeometry<THREE.NormalBufferAttributes>> | undefined>;
108
+ scale: import("@angular/core").Signal<NgtVector3>;
109
+ groupRef: import("angular-three").NgtInjectedRef<THREE.Group>;
110
+ state: import("@angular/core").Signal<NgtsHtmlState>;
111
+ } | null;
112
+ }, provideNgtsHtmlInputs: (value?: {
113
+ zIndexRange: import("@angular/core").Signal<number[]>;
114
+ prepend: import("@angular/core").Signal<boolean>;
115
+ transform: import("@angular/core").Signal<boolean>;
116
+ center: import("@angular/core").Signal<boolean>;
117
+ fullscreen: import("@angular/core").Signal<boolean>;
118
+ calculatePosition: import("@angular/core").Signal<typeof defaultCalculatePosition>;
119
+ wrapperClass: import("@angular/core").Signal<string | undefined>;
120
+ renderedDivClass: import("@angular/core").Signal<string | undefined>;
121
+ style: import("@angular/core").Signal<CSSStyleDeclaration | undefined>;
122
+ pointerEvents: import("@angular/core").Signal<PointerEventsProperties>;
123
+ eps: import("@angular/core").Signal<number>;
124
+ distanceFactor: import("@angular/core").Signal<number | undefined>;
125
+ sprite: import("@angular/core").Signal<boolean>;
126
+ as: import("@angular/core").Signal<keyof HTMLElementTagNameMap>;
127
+ portal: import("@angular/core").Signal<NgtRef<HTMLElement> | undefined>;
128
+ content: import("@angular/core").Signal<TemplateRef<unknown> | undefined>;
129
+ occlude: import("@angular/core").Signal<boolean | "raycast" | NgtRef<THREE.Object3D<THREE.Event>>[] | "blending">;
130
+ isRayCastOcclusion: import("@angular/core").Signal<boolean>;
131
+ occlusionMeshRef: import("angular-three").NgtInjectedRef<THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes>, THREE.Material | THREE.Material[]>>;
132
+ occluded: EventEmitter<boolean>;
133
+ geometry: import("@angular/core").Signal<NgtRef<THREE.BufferGeometry<THREE.NormalBufferAttributes>> | undefined>;
134
+ scale: import("@angular/core").Signal<NgtVector3>;
135
+ groupRef: import("angular-three").NgtInjectedRef<THREE.Group>;
136
+ state: import("@angular/core").Signal<NgtsHtmlState>;
137
+ } | undefined) => import("@angular/core").Provider;
138
+ declare global {
139
+ interface HTMLElementTagNameMap {
140
+ /**
141
+ * @extends ngt-group
142
+ */
143
+ 'ngts-html': NgtsHtmlState & NgtGroup;
144
+ }
145
+ }
146
+ export declare class NgtsHtml {
147
+ DoubleSide: 2;
148
+ inputs: import("angular-three").NgtSignalStore<NgtsHtmlState>;
149
+ set content(content: TemplateRef<unknown>);
150
+ groupRef: import("angular-three").NgtInjectedRef<THREE.Group>;
151
+ set _as(as: keyof HTMLElementTagNameMap);
152
+ set _zIndexRange(zIndexRange: Array<number>);
153
+ set _portal(portal: NgtRef<HTMLElement>);
154
+ set _occlude(occlude: NgtsHtmlState['occlude']);
155
+ set _castShadow(castShadow: NgtsHtmlState['castShadow']);
156
+ set _receiveShadow(receiveShadow: NgtsHtmlState['receiveShadow']);
157
+ set _material(material: NgtsHtmlState['material']);
158
+ set _geometry(geometry: NgtsHtmlState['geometry']);
159
+ set _scale(scale: NgtsHtmlState['scale']);
160
+ set _prepend(prepend: boolean);
161
+ set _transform(transform: boolean);
162
+ set _center(center: boolean);
163
+ set _sprite(sprite: boolean);
164
+ set _fullscreen(fullscreen: boolean);
165
+ set _eps(eps: number);
166
+ set _distanceFactor(distanceFactor: number);
167
+ set _wrapperClass(wrapperClass: string);
168
+ set _renderedDivClass(renderedDivClass: string);
169
+ set _style(style: CSSStyleDeclaration);
170
+ set _pointerEvents(pointerEvents: PointerEventsProperties);
171
+ set _calculatePosition(calculatePosition: NgtsHtmlState['calculatePosition']);
172
+ occluded: EventEmitter<boolean>;
173
+ occlusionMeshRef: import("angular-three").NgtInjectedRef<THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes>, THREE.Material | THREE.Material[]>>;
174
+ private transform;
175
+ isRayCastOcclusion: import("@angular/core").Signal<boolean>;
176
+ occlude: import("@angular/core").Signal<boolean | "raycast" | NgtRef<THREE.Object3D<THREE.Event>>[] | "blending">;
177
+ castShadow: import("@angular/core").Signal<boolean>;
178
+ receiveShadow: import("@angular/core").Signal<boolean>;
179
+ geometry: import("@angular/core").Signal<NgtRef<THREE.BufferGeometry<THREE.NormalBufferAttributes>> | undefined>;
180
+ material: import("@angular/core").Signal<NgtRef<THREE.Material> | undefined>;
181
+ scale: import("@angular/core").Signal<NgtVector3>;
182
+ shaders: import("@angular/core").Signal<{
183
+ vertexShader: string | undefined;
184
+ fragmentShader: string;
185
+ }>;
186
+ state: {
187
+ zIndexRange: import("@angular/core").Signal<number[]>;
188
+ prepend: import("@angular/core").Signal<boolean>;
189
+ transform: import("@angular/core").Signal<boolean>;
190
+ center: import("@angular/core").Signal<boolean>;
191
+ fullscreen: import("@angular/core").Signal<boolean>;
192
+ calculatePosition: import("@angular/core").Signal<typeof defaultCalculatePosition>;
193
+ wrapperClass: import("@angular/core").Signal<string | undefined>;
194
+ renderedDivClass: import("@angular/core").Signal<string | undefined>;
195
+ style: import("@angular/core").Signal<CSSStyleDeclaration | undefined>;
196
+ pointerEvents: import("@angular/core").Signal<PointerEventsProperties>;
197
+ eps: import("@angular/core").Signal<number>;
198
+ distanceFactor: import("@angular/core").Signal<number | undefined>;
199
+ sprite: import("@angular/core").Signal<boolean>;
200
+ as: import("@angular/core").Signal<keyof HTMLElementTagNameMap>;
201
+ portal: import("@angular/core").Signal<NgtRef<HTMLElement> | undefined>;
202
+ content: import("@angular/core").Signal<TemplateRef<unknown> | undefined>;
203
+ occlude: import("@angular/core").Signal<boolean | "raycast" | NgtRef<THREE.Object3D<THREE.Event>>[] | "blending">;
204
+ isRayCastOcclusion: import("@angular/core").Signal<boolean>;
205
+ occlusionMeshRef: import("angular-three").NgtInjectedRef<THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes>, THREE.Material | THREE.Material[]>>;
206
+ occluded: EventEmitter<boolean>;
207
+ geometry: import("@angular/core").Signal<NgtRef<THREE.BufferGeometry<THREE.NormalBufferAttributes>> | undefined>;
208
+ scale: import("@angular/core").Signal<NgtVector3>;
209
+ groupRef: import("angular-three").NgtInjectedRef<THREE.Group>;
210
+ };
211
+ static ɵfac: i0.ɵɵFactoryDeclaration<NgtsHtml, never>;
212
+ static ɵcmp: i0.ɵɵComponentDeclaration<NgtsHtml, "ngts-html", never, { "groupRef": { "alias": "groupRef"; "required": false; }; "_as": { "alias": "as"; "required": false; }; "_zIndexRange": { "alias": "zIndexRange"; "required": false; }; "_portal": { "alias": "portal"; "required": false; }; "_occlude": { "alias": "occlude"; "required": false; }; "_castShadow": { "alias": "castShadow"; "required": false; }; "_receiveShadow": { "alias": "receiveShadow"; "required": false; }; "_material": { "alias": "material"; "required": false; }; "_geometry": { "alias": "geometry"; "required": false; }; "_scale": { "alias": "scale"; "required": false; }; "_prepend": { "alias": "prepend"; "required": false; }; "_transform": { "alias": "transform"; "required": false; }; "_center": { "alias": "center"; "required": false; }; "_sprite": { "alias": "sprite"; "required": false; }; "_fullscreen": { "alias": "fullscreen"; "required": false; }; "_eps": { "alias": "eps"; "required": false; }; "_distanceFactor": { "alias": "distanceFactor"; "required": false; }; "_wrapperClass": { "alias": "wrapperClass"; "required": false; }; "_renderedDivClass": { "alias": "renderedDivClass"; "required": false; }; "_style": { "alias": "style"; "required": false; }; "_pointerEvents": { "alias": "pointerEvents"; "required": false; }; "_calculatePosition": { "alias": "calculatePosition"; "required": false; }; }, { "occluded": "occluded"; }, ["content"], never, true, never>;
213
+ }
214
+ export {};
package/misc/index.d.ts CHANGED
@@ -1,4 +1,13 @@
1
1
  export * from './animations/animations';
2
2
  export * from './bake-shadows/bake-shadows';
3
+ export * from './caustics/caustics';
4
+ export * from './decal/decal';
3
5
  export * from './depth-buffer/depth-buffer';
6
+ export * from './example/example';
4
7
  export * from './fbo/fbo';
8
+ export * from './html/html';
9
+ export * from './sampler/sampler';
10
+ export * from './shadow/shadow';
11
+ export * from './stats-gl/stats-gl';
12
+ export * from './trail-texture/inject-trail-texture';
13
+ export * from './trail/trail';
@@ -0,0 +1,67 @@
1
+ import { Injector } from '@angular/core';
2
+ import { type NgtGroup, type NgtRef } from 'angular-three';
3
+ import * as THREE from 'three';
4
+ import * as i0 from "@angular/core";
5
+ type SamplePayload = {
6
+ /**
7
+ * The position of the sample.
8
+ */
9
+ position: THREE.Vector3;
10
+ /**
11
+ * The normal of the mesh at the sampled position.
12
+ */
13
+ normal: THREE.Vector3;
14
+ /**
15
+ * The vertex color of the mesh at the sampled position.
16
+ */
17
+ color: THREE.Color;
18
+ };
19
+ type TransformPayload = SamplePayload & {
20
+ /**
21
+ * The dummy object used to transform each instance.
22
+ * This object's matrix will be updated after transforming & it will be used
23
+ * to set the instance's matrix.
24
+ */
25
+ dummy: THREE.Object3D;
26
+ /**
27
+ * The mesh that's initially passed to the sampler.
28
+ * Use this if you need to apply transforms from your mesh to your instances
29
+ * or if you need to grab attributes from the geometry.
30
+ */
31
+ sampledMesh: THREE.Mesh;
32
+ };
33
+ export type NgtsSurfaceSamplerTransformFn = (payload: TransformPayload, i: number) => void;
34
+ export type NgtsSurfaceSamplerState = {
35
+ count: number;
36
+ mesh: NgtRef<THREE.Mesh>;
37
+ transform?: NgtsSurfaceSamplerTransformFn;
38
+ weight?: string;
39
+ instancedMesh?: NgtRef<THREE.InstancedMesh>;
40
+ };
41
+ export declare function injectNgtsSurfaceSampler(surfaceSamplerState: () => (Partial<Omit<NgtsSurfaceSamplerState, 'mesh'>> & {
42
+ mesh: NgtRef<THREE.Mesh>;
43
+ }) | null, { injector }?: {
44
+ injector?: Injector;
45
+ }): import("@angular/core").Signal<THREE.InstancedBufferAttribute>;
46
+ declare global {
47
+ interface HTMLElementTagNameMap {
48
+ /**
49
+ * @extends ngt-group
50
+ */
51
+ 'ngts-sampler': NgtsSurfaceSamplerState & NgtGroup;
52
+ }
53
+ }
54
+ export declare class NgtsSampler {
55
+ private inputs;
56
+ samplerRef: import("angular-three").NgtInjectedRef<THREE.Group>;
57
+ set _count(count: number);
58
+ set _mesh(mesh: NgtRef<THREE.Mesh>);
59
+ set _transform(transform: NgtsSurfaceSamplerTransformFn);
60
+ set _weight(weight: string);
61
+ set _instancedMesh(instancedMesh: NgtRef<THREE.InstancedMesh>);
62
+ private surfaceSamplerState;
63
+ constructor();
64
+ static ɵfac: i0.ɵɵFactoryDeclaration<NgtsSampler, never>;
65
+ static ɵcmp: i0.ɵɵComponentDeclaration<NgtsSampler, "ngts-sampler", never, { "samplerRef": { "alias": "samplerRef"; "required": false; }; "_count": { "alias": "count"; "required": false; }; "_mesh": { "alias": "mesh"; "required": false; }; "_transform": { "alias": "transform"; "required": false; }; "_weight": { "alias": "weight"; "required": false; }; "_instancedMesh": { "alias": "instancedMesh"; "required": false; }; }, {}, never, ["*"], true, never>;
66
+ }
67
+ export {};
@@ -0,0 +1,37 @@
1
+ import { type NgtMesh } from 'angular-three';
2
+ import * as THREE from 'three';
3
+ import * as i0 from "@angular/core";
4
+ export type NgtsShadowState = {
5
+ colorStop: number;
6
+ fog: boolean;
7
+ color: THREE.ColorRepresentation;
8
+ opacity: number;
9
+ depthWrite: boolean;
10
+ };
11
+ declare global {
12
+ interface HTMLElementTagNameMap {
13
+ /**
14
+ * @extends ngt-mesh
15
+ */
16
+ 'ngts-shadow': NgtsShadowState & NgtMesh;
17
+ }
18
+ }
19
+ export declare class NgtsShadow {
20
+ Math: Math;
21
+ DoubleSide: 2;
22
+ private inputs;
23
+ shadowRef: import("angular-three").NgtInjectedRef<THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes>, THREE.Material | THREE.Material[]>>;
24
+ set _colorStop(colorStop: number);
25
+ set _fog(fog: boolean);
26
+ set _color(color: THREE.ColorRepresentation);
27
+ set _opacity(opacity: number);
28
+ set _depthWrite(depthWrite: boolean);
29
+ private colorStop;
30
+ private color;
31
+ opacity: import("@angular/core").Signal<number>;
32
+ fog: import("@angular/core").Signal<boolean>;
33
+ depthWrite: import("@angular/core").Signal<boolean>;
34
+ canvas: import("@angular/core").Signal<HTMLCanvasElement>;
35
+ static ɵfac: i0.ɵɵFactoryDeclaration<NgtsShadow, never>;
36
+ static ɵcmp: i0.ɵɵComponentDeclaration<NgtsShadow, "ngts-shadow", never, { "shadowRef": { "alias": "shadowRef"; "required": false; }; "_colorStop": { "alias": "colorStop"; "required": false; }; "_fog": { "alias": "fog"; "required": false; }; "_color": { "alias": "color"; "required": false; }; "_opacity": { "alias": "opacity"; "required": false; }; "_depthWrite": { "alias": "depthWrite"; "required": false; }; }, {}, never, ["*"], true, never>;
37
+ }
@@ -0,0 +1,24 @@
1
+ import { type NgtRef } from 'angular-three';
2
+ import Stats from 'stats-gl';
3
+ import * as i0 from "@angular/core";
4
+ export type NgtsStatsGLState = {
5
+ parent?: NgtRef<HTMLElement>;
6
+ containerClass?: string;
7
+ config?: ConstructorParameters<typeof Stats>[0];
8
+ };
9
+ export declare class NgtsStatsGL {
10
+ private inputs;
11
+ set _parent(parent: NgtRef<HTMLElement>);
12
+ set _containerClass(containerClass: string);
13
+ set _config(config: NgtsStatsGLState['config']);
14
+ private document;
15
+ private store;
16
+ private gl;
17
+ private config;
18
+ private parent;
19
+ private containerClass;
20
+ private stats;
21
+ constructor();
22
+ static ɵfac: i0.ɵɵFactoryDeclaration<NgtsStatsGL, never>;
23
+ static ɵdir: i0.ɵɵDirectiveDeclaration<NgtsStatsGL, "ngts-stats-gl", never, { "_parent": { "alias": "parent"; "required": false; }; "_containerClass": { "alias": "containerClass"; "required": false; }; "_config": { "alias": "config"; "required": false; }; }, {}, never, never, true, never>;
24
+ }
@@ -0,0 +1,57 @@
1
+ import { type Injector } from '@angular/core';
2
+ import { type NgtRef } from 'angular-three';
3
+ import { MeshLineGeometry, MeshLineMaterial } from 'meshline';
4
+ import * as THREE from 'three';
5
+ import * as i0 from "@angular/core";
6
+ export type NgtsTrailSettings = {
7
+ width: number;
8
+ length: number;
9
+ decay: number;
10
+ /**
11
+ * Wether to use the target's world or local positions
12
+ */
13
+ local: boolean;
14
+ stride: number;
15
+ interval: number;
16
+ };
17
+ export declare function injectNgtsTrail(targetFactory: () => NgtRef<THREE.Object3D> | null, settingsFactory: () => Partial<NgtsTrailSettings>, { injector }?: {
18
+ injector?: Injector;
19
+ }): import("angular-three").NgtInjectedRef<Float32Array>;
20
+ export type NgtsTrailState = {
21
+ color: THREE.ColorRepresentation;
22
+ attenuation: (width: number) => number;
23
+ settings: NgtsTrailSettings;
24
+ target?: NgtRef<THREE.Object3D>;
25
+ };
26
+ declare global {
27
+ interface HTMLElementTagNameMap {
28
+ 'ngts-trail': NgtsTrailState;
29
+ }
30
+ }
31
+ export declare class NgtsTrail {
32
+ private inputs;
33
+ trailRef: import("angular-three").NgtInjectedRef<THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes>, THREE.Material | THREE.Material[]>>;
34
+ set _color(color: THREE.ColorRepresentation);
35
+ set _attenuation(attenuation: (width: number) => number);
36
+ set _target(target: NgtRef<THREE.Object3D>);
37
+ set _settings(settings: Partial<NgtsTrailSettings>);
38
+ groupRef: import("angular-three").NgtInjectedRef<THREE.Group>;
39
+ private children;
40
+ private store;
41
+ private size;
42
+ private target;
43
+ private settings;
44
+ private width;
45
+ private color;
46
+ private attenuation;
47
+ private anchor;
48
+ private points;
49
+ scene: import("@angular/core").Signal<THREE.Scene>;
50
+ geometry: MeshLineGeometry;
51
+ material: import("@angular/core").Signal<MeshLineMaterial>;
52
+ constructor();
53
+ private setMaterialSize;
54
+ private beforeRender;
55
+ static ɵfac: i0.ɵɵFactoryDeclaration<NgtsTrail, never>;
56
+ static ɵcmp: i0.ɵɵComponentDeclaration<NgtsTrail, "ngts-trail", never, { "trailRef": { "alias": "trailRef"; "required": false; }; "_color": { "alias": "color"; "required": false; }; "_attenuation": { "alias": "attenuation"; "required": false; }; "_target": { "alias": "target"; "required": false; }; "_settings": { "alias": "settings"; "required": false; }; }, {}, never, ["*"], true, never>;
57
+ }
@@ -0,0 +1,9 @@
1
+ import { Injector } from '@angular/core';
2
+ import { type NgtThreeEvent } from 'angular-three';
3
+ import { type TrailConfig } from './trail-texture';
4
+ export declare function injectNgtsTrailTexture(trailConfigFn: () => Partial<TrailConfig>, { injector }?: {
5
+ injector?: Injector;
6
+ }): {
7
+ texture: import("@angular/core").Signal<import("three").Texture>;
8
+ onMove: (ev: NgtThreeEvent<PointerEvent>) => void;
9
+ };
@@ -0,0 +1,50 @@
1
+ import { Texture } from 'three';
2
+ export type Point = {
3
+ x: number;
4
+ y: number;
5
+ age: number;
6
+ force: number;
7
+ };
8
+ export type TrailConfig = {
9
+ /** texture size (default: 256x256) */
10
+ size?: number;
11
+ /** Max age (ms) of trail points (default: 750) */
12
+ maxAge?: number;
13
+ /** Trail radius (default: 0.3) */
14
+ radius?: number;
15
+ /** Canvas trail opacity (default: 0.2) */
16
+ intensity?: number;
17
+ /** Add points in between slow pointer events (default: 0) */
18
+ interpolate?: number;
19
+ /** Moving average of pointer force (default: 0) */
20
+ smoothing?: number;
21
+ /** Minimum pointer force (default: 0.3) */
22
+ minForce?: number;
23
+ /** Blend mode (default: 'screen') */
24
+ blend?: CanvasRenderingContext2D['globalCompositeOperation'];
25
+ /** Easing (default: easeCircOut) */
26
+ ease?: (t: number) => number;
27
+ };
28
+ export declare class TrailTexture {
29
+ trail: Point[];
30
+ canvas: HTMLCanvasElement;
31
+ ctx: CanvasRenderingContext2D;
32
+ texture: Texture;
33
+ force: number;
34
+ size: number;
35
+ maxAge: number;
36
+ radius: number;
37
+ intensity: number;
38
+ ease: (t: number) => number;
39
+ minForce: number;
40
+ interpolate: number;
41
+ smoothing: number;
42
+ blend: CanvasRenderingContext2D['globalCompositeOperation'];
43
+ constructor({ size, maxAge, radius, intensity, interpolate, smoothing, minForce, blend, // source-over is canvas default. Others are slower
44
+ ease, }?: TrailConfig);
45
+ initTexture(): void;
46
+ update(delta: number): void;
47
+ clear(): void;
48
+ addTouch(point: Pick<Point, 'x' | 'y'>): void;
49
+ drawTouch(point: Point): void;
50
+ }
@@ -0,0 +1,3 @@
1
+ # angular-three-soba/modifiers
2
+
3
+ Secondary entry point of `angular-three-soba`. It can be used by importing from `angular-three-soba/modifiers`.
@@ -0,0 +1,23 @@
1
+ import * as THREE from 'three';
2
+ import * as i0 from "@angular/core";
3
+ export type NgtsCurveModifierState = {
4
+ curve?: THREE.Curve<THREE.Vector3>;
5
+ };
6
+ declare global {
7
+ interface HTMLElementTagNameMap {
8
+ 'ngts-curve-modifier': NgtsCurveModifierState;
9
+ }
10
+ }
11
+ export declare class NgtsCurveModifier {
12
+ private inputs;
13
+ set _curve(curve: THREE.Curve<THREE.Vector3>);
14
+ private curve;
15
+ sceneRef: import("angular-three").NgtInjectedRef<import("angular-three").NgtInstanceNode<THREE.Scene>>;
16
+ private sceneRefChildren;
17
+ private modifier?;
18
+ modifierObject: import("@angular/core").WritableSignal<THREE.Object3D<THREE.Event> | null>;
19
+ constructor();
20
+ moveAlongCurve(value: number): void;
21
+ static ɵfac: i0.ɵɵFactoryDeclaration<NgtsCurveModifier, never>;
22
+ static ɵcmp: i0.ɵɵComponentDeclaration<NgtsCurveModifier, "ngts-curve-modifier", never, { "_curve": { "alias": "curve"; "required": false; }; }, {}, never, ["*"], true, never>;
23
+ }
@@ -0,0 +1 @@
1
+ export * from './curve-modifier/curve-modifier';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "angular-three-soba",
3
- "version": "2.0.0-beta.2",
3
+ "version": "2.0.0-beta.21",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
@@ -45,6 +45,12 @@
45
45
  "esm": "./esm2022/cameras/angular-three-soba-cameras.mjs",
46
46
  "default": "./fesm2022/angular-three-soba-cameras.mjs"
47
47
  },
48
+ "./gizmos": {
49
+ "types": "./gizmos/index.d.ts",
50
+ "esm2022": "./esm2022/gizmos/angular-three-soba-gizmos.mjs",
51
+ "esm": "./esm2022/gizmos/angular-three-soba-gizmos.mjs",
52
+ "default": "./fesm2022/angular-three-soba-gizmos.mjs"
53
+ },
48
54
  "./controls": {
49
55
  "types": "./controls/index.d.ts",
50
56
  "esm2022": "./esm2022/controls/angular-three-soba-controls.mjs",
@@ -69,11 +75,17 @@
69
75
  "esm": "./esm2022/misc/angular-three-soba-misc.mjs",
70
76
  "default": "./fesm2022/angular-three-soba-misc.mjs"
71
77
  },
72
- "./performance": {
73
- "types": "./performance/index.d.ts",
74
- "esm2022": "./esm2022/performance/angular-three-soba-performance.mjs",
75
- "esm": "./esm2022/performance/angular-three-soba-performance.mjs",
76
- "default": "./fesm2022/angular-three-soba-performance.mjs"
78
+ "./modifiers": {
79
+ "types": "./modifiers/index.d.ts",
80
+ "esm2022": "./esm2022/modifiers/angular-three-soba-modifiers.mjs",
81
+ "esm": "./esm2022/modifiers/angular-three-soba-modifiers.mjs",
82
+ "default": "./fesm2022/angular-three-soba-modifiers.mjs"
83
+ },
84
+ "./performances": {
85
+ "types": "./performances/index.d.ts",
86
+ "esm2022": "./esm2022/performances/angular-three-soba-performances.mjs",
87
+ "esm": "./esm2022/performances/angular-three-soba-performances.mjs",
88
+ "default": "./fesm2022/angular-three-soba-performances.mjs"
77
89
  },
78
90
  "./shaders": {
79
91
  "types": "./shaders/index.d.ts",
@@ -86,28 +98,31 @@
86
98
  "esm2022": "./esm2022/staging/angular-three-soba-staging.mjs",
87
99
  "esm": "./esm2022/staging/angular-three-soba-staging.mjs",
88
100
  "default": "./fesm2022/angular-three-soba-staging.mjs"
101
+ },
102
+ "./utils": {
103
+ "types": "./utils/index.d.ts",
104
+ "esm2022": "./esm2022/utils/angular-three-soba-utils.mjs",
105
+ "esm": "./esm2022/utils/angular-three-soba-utils.mjs",
106
+ "default": "./fesm2022/angular-three-soba-utils.mjs"
89
107
  }
90
108
  },
91
109
  "peerDependencies": {
92
110
  "@angular/common": "^16.0.0",
93
111
  "@angular/core": "^16.0.0",
94
112
  "angular-three": "^2.0.0",
95
- "three": "^0.148.0 || ^0.149.0 || ^0.150.0 || ^0.151.0 || ^0.152.0",
113
+ "meshline": "^3.1.0",
114
+ "stats-gl": "^1.0.0",
96
115
  "stats.js": "^0.17.0",
97
- "three-mesh-bvh": "^0.5.0",
116
+ "three": ">=0.148.0",
117
+ "three-mesh-bvh": "^0.5.0 || ^0.6.0",
98
118
  "three-stdlib": "^2.0.0",
99
- "troika-three-text": "^0.47.0",
100
- "@storybook/addons": "7.0.8",
101
- "@storybook/theming": "7.0.8"
119
+ "troika-three-text": "^0.47.0"
102
120
  },
103
121
  "dependencies": {
104
- "tslib": "^2.3.0",
105
- "@nx/devkit": "^16.0.0",
106
- "nx": "^16.0.0"
122
+ "tslib": "^2.3.0"
107
123
  },
108
124
  "sideEffects": false,
109
- "generators": "./plugin/generators.json",
110
- "schematics": "./plugin/generators.json",
125
+ "web-types": "./web-types.json",
111
126
  "module": "fesm2022/angular-three-soba.mjs",
112
127
  "typings": "index.d.ts"
113
128
  }
@@ -0,0 +1,3 @@
1
+ # angular-three-soba/performances
2
+
3
+ Secondary entry point of `angular-three-soba`. It can be used by importing from `angular-three-soba/performances`.
@@ -0,0 +1,14 @@
1
+ import * as i0 from "@angular/core";
2
+ export declare class NgtsAdaptiveDpr {
3
+ private pixelated;
4
+ set _pixelated(pixelated: boolean);
5
+ private store;
6
+ private current;
7
+ private active;
8
+ private setDpr;
9
+ private initialDpr;
10
+ private domElement;
11
+ constructor();
12
+ static ɵfac: i0.ɵɵFactoryDeclaration<NgtsAdaptiveDpr, never>;
13
+ static ɵdir: i0.ɵɵDirectiveDeclaration<NgtsAdaptiveDpr, "ngts-adaptive-dpr", never, { "_pixelated": { "alias": "pixelated"; "required": false; }; }, {}, never, never, true, never>;
14
+ }
@@ -1,5 +1,8 @@
1
1
  import * as i0 from "@angular/core";
2
2
  export declare class NgtsAdaptiveEvents {
3
+ private store;
4
+ private setEvents;
5
+ private current;
3
6
  constructor();
4
7
  static ɵfac: i0.ɵɵFactoryDeclaration<NgtsAdaptiveEvents, never>;
5
8
  static ɵdir: i0.ɵɵDirectiveDeclaration<NgtsAdaptiveEvents, "ngts-adaptive-events", never, {}, {}, never, never, true, never>;
@@ -0,0 +1,7 @@
1
+ export * from './adaptive-dpr/adaptive-dpr';
2
+ export * from './adaptive-events/adaptive-events';
3
+ export * from './instances/instances';
4
+ export * from './instances/position-mesh';
5
+ export * from './points/points';
6
+ export * from './segments/segment-object';
7
+ export * from './segments/segments';