three-stdlib 2.35.6 → 2.35.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (511) hide show
  1. package/_polyfill/constants.d.cts +1 -0
  2. package/_polyfill/uv1.d.cts +5 -0
  3. package/animation/AnimationClipCreator.d.cts +12 -0
  4. package/animation/AnimationClipCreator.d.ts +1 -1
  5. package/animation/CCDIKSolver.d.cts +30 -0
  6. package/animation/CCDIKSolver.d.ts +1 -1
  7. package/animation/MMDAnimationHelper.d.cts +93 -0
  8. package/animation/MMDAnimationHelper.d.ts +3 -3
  9. package/animation/MMDPhysics.d.cts +119 -0
  10. package/animation/MMDPhysics.d.ts +1 -1
  11. package/cameras/CinematicCamera.d.cts +34 -0
  12. package/cameras/CinematicCamera.d.ts +2 -2
  13. package/controls/ArcballControls.d.cts +376 -0
  14. package/controls/ArcballControls.d.ts +4 -4
  15. package/controls/DeviceOrientationControls.d.cts +29 -0
  16. package/controls/DeviceOrientationControls.d.ts +4 -4
  17. package/controls/DragControls.d.cts +67 -0
  18. package/controls/DragControls.d.ts +3 -3
  19. package/controls/EventDispatcher.d.cts +41 -0
  20. package/controls/FirstPersonControls.d.cts +49 -0
  21. package/controls/FirstPersonControls.d.ts +2 -2
  22. package/controls/FlyControls.d.cts +39 -0
  23. package/controls/FlyControls.d.ts +3 -3
  24. package/controls/OrbitControls.d.cts +74 -0
  25. package/controls/OrbitControls.d.ts +4 -4
  26. package/controls/PointerLockControls.d.cts +39 -0
  27. package/controls/PointerLockControls.d.ts +3 -3
  28. package/controls/StandardControlsEventMap.d.cts +14 -0
  29. package/controls/TrackballControls.d.cts +97 -0
  30. package/controls/TrackballControls.d.ts +4 -4
  31. package/controls/TransformControls.d.cts +151 -0
  32. package/controls/TransformControls.d.ts +2 -2
  33. package/controls/experimental/CameraControls.d.cts +213 -0
  34. package/controls/experimental/CameraControls.d.ts +3 -3
  35. package/csm/CSM.d.cts +61 -0
  36. package/csm/CSM.d.ts +2 -2
  37. package/csm/CSMFrustum.d.cts +19 -0
  38. package/csm/CSMFrustum.d.ts +1 -1
  39. package/csm/CSMHelper.d.cts +26 -0
  40. package/csm/CSMHelper.d.ts +2 -2
  41. package/csm/CSMShader.d.cts +4 -0
  42. package/curves/CurveExtras.d.cts +68 -0
  43. package/curves/CurveExtras.d.ts +1 -1
  44. package/curves/NURBSCurve.d.cts +11 -0
  45. package/curves/NURBSCurve.d.ts +1 -1
  46. package/curves/NURBSSurface.d.cts +13 -0
  47. package/curves/NURBSSurface.d.ts +1 -1
  48. package/curves/NURBSUtils.d.cts +20 -0
  49. package/curves/NURBSUtils.d.ts +1 -1
  50. package/deprecated/Geometry.d.cts +341 -0
  51. package/deprecated/Geometry.d.ts +1 -1
  52. package/effects/AnaglyphEffect.d.cts +11 -0
  53. package/effects/AnaglyphEffect.d.ts +1 -1
  54. package/effects/AsciiEffect.d.cts +18 -0
  55. package/effects/AsciiEffect.d.ts +1 -1
  56. package/effects/OutlineEffect.d.cts +28 -0
  57. package/effects/OutlineEffect.d.ts +1 -1
  58. package/effects/ParallaxBarrierEffect.d.cts +8 -0
  59. package/effects/ParallaxBarrierEffect.d.ts +1 -1
  60. package/effects/PeppersGhostEffect.d.cts +10 -0
  61. package/effects/PeppersGhostEffect.d.ts +1 -1
  62. package/effects/StereoEffect.d.cts +9 -0
  63. package/effects/StereoEffect.d.ts +1 -1
  64. package/environments/RoomEnvironment.d.cts +6 -0
  65. package/environments/RoomEnvironment.d.ts +2 -2
  66. package/exporters/ColladaExporter.d.cts +50 -0
  67. package/exporters/ColladaExporter.d.ts +2 -2
  68. package/exporters/DRACOExporter.d.cts +36 -0
  69. package/exporters/DRACOExporter.d.ts +2 -2
  70. package/exporters/GLTFExporter.d.cts +114 -0
  71. package/exporters/GLTFExporter.d.ts +1 -1
  72. package/exporters/MMDExporter.d.cts +12 -0
  73. package/exporters/MMDExporter.d.ts +2 -2
  74. package/exporters/OBJExporter.d.cts +18 -0
  75. package/exporters/OBJExporter.d.ts +2 -2
  76. package/exporters/PLYExporter.d.cts +23 -0
  77. package/exporters/PLYExporter.d.ts +2 -2
  78. package/exporters/STLExporter.d.cts +28 -0
  79. package/exporters/STLExporter.d.ts +1 -1
  80. package/exporters/USDZExporter.d.cts +27 -0
  81. package/exporters/USDZExporter.d.ts +2 -2
  82. package/geometries/BoxLineGeometry.d.cts +12 -0
  83. package/geometries/BoxLineGeometry.d.ts +1 -1
  84. package/geometries/ConvexGeometry.d.cts +5 -0
  85. package/geometries/ConvexGeometry.d.ts +1 -1
  86. package/geometries/DecalGeometry.d.cts +10 -0
  87. package/geometries/DecalGeometry.d.ts +1 -1
  88. package/geometries/LightningStrike.d.cts +108 -0
  89. package/geometries/LightningStrike.d.ts +1 -1
  90. package/geometries/ParametricGeometries.d.cts +26 -0
  91. package/geometries/ParametricGeometries.d.ts +2 -2
  92. package/geometries/ParametricGeometry.d.cts +18 -0
  93. package/geometries/ParametricGeometry.d.ts +2 -2
  94. package/geometries/RoundedBoxGeometry.d.cts +5 -0
  95. package/geometries/RoundedBoxGeometry.d.ts +1 -1
  96. package/geometries/TeapotGeometry.d.cts +13 -0
  97. package/geometries/TeapotGeometry.d.ts +1 -1
  98. package/geometries/TextGeometry.d.cts +18 -0
  99. package/geometries/TextGeometry.d.ts +3 -3
  100. package/helpers/LightProbeHelper.d.cts +10 -0
  101. package/helpers/LightProbeHelper.d.ts +1 -1
  102. package/helpers/PositionalAudioHelper.d.cts +13 -0
  103. package/helpers/PositionalAudioHelper.d.ts +1 -1
  104. package/helpers/RaycasterHelper.d.cts +33 -0
  105. package/helpers/RaycasterHelper.d.ts +2 -2
  106. package/helpers/RectAreaLightHelper.d.cts +11 -0
  107. package/helpers/RectAreaLightHelper.d.ts +1 -1
  108. package/helpers/VertexNormalsHelper.d.cts +13 -0
  109. package/helpers/VertexNormalsHelper.d.ts +1 -1
  110. package/helpers/VertexTangentsHelper.d.cts +13 -0
  111. package/helpers/VertexTangentsHelper.d.ts +1 -1
  112. package/index.d.cts +262 -0
  113. package/index.d.ts +262 -262
  114. package/interactive/HTMLMesh.d.cts +6 -0
  115. package/interactive/HTMLMesh.d.ts +1 -1
  116. package/interactive/InteractiveGroup.d.cts +5 -0
  117. package/interactive/InteractiveGroup.d.ts +1 -1
  118. package/interactive/SelectionBox.d.cts +15 -0
  119. package/interactive/SelectionBox.d.ts +1 -1
  120. package/interactive/SelectionHelper.d.cts +17 -0
  121. package/interactive/SelectionHelper.d.ts +2 -2
  122. package/libs/MeshoptDecoder.d.cts +12 -0
  123. package/libs/MeshoptDecoder.d.ts +1 -1
  124. package/libs/MotionControllers.d.cts +176 -0
  125. package/libs/MotionControllers.d.ts +1 -1
  126. package/libs/zstddec.d.cts +8 -0
  127. package/lights/LightProbeGenerator.d.cts +6 -0
  128. package/lights/LightProbeGenerator.d.ts +1 -1
  129. package/lights/RectAreaLightUniformsLib.d.cts +3 -0
  130. package/lines/Line2.d.cts +11 -0
  131. package/lines/Line2.d.ts +3 -3
  132. package/lines/LineGeometry.d.cts +10 -0
  133. package/lines/LineGeometry.d.ts +2 -2
  134. package/lines/LineMaterial.d.cts +31 -0
  135. package/lines/LineMaterial.d.ts +1 -1
  136. package/lines/LineSegments2.d.cts +14 -0
  137. package/lines/LineSegments2.d.ts +3 -3
  138. package/lines/LineSegmentsGeometry.d.cts +16 -0
  139. package/lines/LineSegmentsGeometry.d.ts +1 -1
  140. package/lines/Wireframe.d.cts +11 -0
  141. package/lines/Wireframe.d.ts +3 -3
  142. package/lines/WireframeGeometry2.d.cts +8 -0
  143. package/lines/WireframeGeometry2.d.ts +2 -2
  144. package/loaders/3DMLoader.d.cts +17 -0
  145. package/loaders/3DMLoader.d.ts +1 -1
  146. package/loaders/3MFLoader.d.cts +16 -0
  147. package/loaders/3MFLoader.d.ts +1 -1
  148. package/loaders/AMFLoader.d.cts +14 -0
  149. package/loaders/AMFLoader.d.ts +1 -1
  150. package/loaders/AssimpLoader.d.cts +19 -0
  151. package/loaders/AssimpLoader.d.ts +1 -1
  152. package/loaders/BVHLoader.d.cts +21 -0
  153. package/loaders/BVHLoader.d.ts +1 -1
  154. package/loaders/BasisTextureLoader.d.cts +32 -0
  155. package/loaders/BasisTextureLoader.d.ts +1 -1
  156. package/loaders/ColladaLoader.d.cts +20 -0
  157. package/loaders/ColladaLoader.d.ts +1 -1
  158. package/loaders/DDSLoader.d.cts +16 -0
  159. package/loaders/DDSLoader.d.ts +1 -1
  160. package/loaders/DRACOLoader.d.cts +18 -0
  161. package/loaders/DRACOLoader.d.ts +1 -1
  162. package/loaders/EXRLoader.d.cts +18 -0
  163. package/loaders/EXRLoader.d.ts +1 -1
  164. package/loaders/FBXLoader.d.cts +14 -0
  165. package/loaders/FBXLoader.d.ts +1 -1
  166. package/loaders/FontLoader.d.cts +37 -0
  167. package/loaders/FontLoader.d.ts +1 -1
  168. package/loaders/GCodeLoader.d.cts +15 -0
  169. package/loaders/GCodeLoader.d.ts +1 -1
  170. package/loaders/GLTFLoader.d.cts +155 -0
  171. package/loaders/GLTFLoader.d.ts +3 -3
  172. package/loaders/HDRCubeTextureLoader.d.cts +18 -0
  173. package/loaders/HDRCubeTextureLoader.d.ts +2 -2
  174. package/loaders/KMZLoader.d.cts +16 -0
  175. package/loaders/KMZLoader.d.ts +2 -2
  176. package/loaders/KTX2Loader.d.cts +10 -0
  177. package/loaders/KTX2Loader.d.ts +1 -1
  178. package/loaders/KTXLoader.d.cts +16 -0
  179. package/loaders/KTXLoader.d.ts +1 -1
  180. package/loaders/LDrawLoader.d.cts +26 -0
  181. package/loaders/LDrawLoader.d.ts +1 -1
  182. package/loaders/LUT3dlLoader.d.cts +20 -0
  183. package/loaders/LUT3dlLoader.d.ts +1 -1
  184. package/loaders/LUTCubeLoader.d.cts +23 -0
  185. package/loaders/LUTCubeLoader.d.ts +1 -1
  186. package/loaders/LWOLoader.d.cts +26 -0
  187. package/loaders/LWOLoader.d.ts +1 -1
  188. package/loaders/LottieLoader.d.cts +15 -0
  189. package/loaders/LottieLoader.d.ts +1 -1
  190. package/loaders/MD2Loader.d.cts +14 -0
  191. package/loaders/MD2Loader.d.ts +1 -1
  192. package/loaders/MDDLoader.d.cts +19 -0
  193. package/loaders/MDDLoader.d.ts +1 -1
  194. package/loaders/MMDLoader.d.cts +63 -0
  195. package/loaders/MMDLoader.d.ts +1 -1
  196. package/loaders/MTLLoader.d.cts +100 -0
  197. package/loaders/MTLLoader.d.ts +1 -1
  198. package/loaders/NRRDLoader.d.cts +22 -0
  199. package/loaders/NRRDLoader.d.ts +2 -2
  200. package/loaders/OBJLoader.d.cts +17 -0
  201. package/loaders/OBJLoader.d.ts +2 -2
  202. package/loaders/PCDLoader.d.cts +15 -0
  203. package/loaders/PCDLoader.d.ts +1 -1
  204. package/loaders/PDBLoader.d.cts +22 -0
  205. package/loaders/PDBLoader.d.ts +1 -1
  206. package/loaders/PLYLoader.d.cts +16 -0
  207. package/loaders/PLYLoader.d.ts +1 -1
  208. package/loaders/PRWMLoader.d.cts +16 -0
  209. package/loaders/PRWMLoader.d.ts +1 -1
  210. package/loaders/PVRLoader.d.cts +16 -0
  211. package/loaders/PVRLoader.d.ts +1 -1
  212. package/loaders/RGBELoader.d.cts +20 -0
  213. package/loaders/RGBELoader.d.ts +1 -1
  214. package/loaders/RGBMLoader.d.cts +32 -0
  215. package/loaders/RGBMLoader.d.ts +1 -1
  216. package/loaders/STLLoader.d.cts +14 -0
  217. package/loaders/STLLoader.d.ts +1 -1
  218. package/loaders/SVGLoader.d.cts +63 -0
  219. package/loaders/SVGLoader.d.ts +1 -1
  220. package/loaders/TDSLoader.d.cts +42 -0
  221. package/loaders/TDSLoader.d.ts +1 -1
  222. package/loaders/TGALoader.d.cts +14 -0
  223. package/loaders/TGALoader.d.ts +1 -1
  224. package/loaders/TTFLoader.d.cts +15 -0
  225. package/loaders/TTFLoader.d.ts +1 -1
  226. package/loaders/TiltLoader.d.cts +14 -0
  227. package/loaders/TiltLoader.d.ts +1 -1
  228. package/loaders/VOXLoader.d.cts +29 -0
  229. package/loaders/VOXLoader.d.ts +1 -1
  230. package/loaders/VRMLLoader.d.cts +14 -0
  231. package/loaders/VRMLLoader.d.ts +1 -1
  232. package/loaders/VRMLoader.d.cts +19 -0
  233. package/loaders/VRMLoader.d.ts +3 -3
  234. package/loaders/VTKLoader.d.cts +14 -0
  235. package/loaders/VTKLoader.d.ts +1 -1
  236. package/loaders/XLoader.d.cts +19 -0
  237. package/loaders/XLoader.d.ts +1 -1
  238. package/loaders/XYZLoader.d.cts +14 -0
  239. package/loaders/XYZLoader.d.ts +1 -1
  240. package/math/Capsule.d.cts +27 -0
  241. package/math/Capsule.d.ts +1 -1
  242. package/math/ColorConverter.d.cts +21 -0
  243. package/math/ColorConverter.d.ts +1 -1
  244. package/math/ConvexHull.d.cts +89 -0
  245. package/math/ConvexHull.d.ts +1 -1
  246. package/math/ImprovedNoise.d.cts +4 -0
  247. package/math/Lut.d.cts +27 -0
  248. package/math/Lut.d.ts +1 -1
  249. package/math/MeshSurfaceSampler.d.cts +18 -0
  250. package/math/MeshSurfaceSampler.d.ts +1 -1
  251. package/math/OBB.d.cts +24 -0
  252. package/math/OBB.d.ts +1 -1
  253. package/math/Octree.d.cts +24 -0
  254. package/math/Octree.d.ts +2 -2
  255. package/math/SimplexNoise.d.cts +21 -0
  256. package/misc/ConvexObjectBreaker.d.cts +25 -0
  257. package/misc/ConvexObjectBreaker.d.ts +1 -1
  258. package/misc/GPUComputationRenderer.d.cts +53 -0
  259. package/misc/GPUComputationRenderer.d.ts +1 -1
  260. package/misc/Gyroscope.d.cts +5 -0
  261. package/misc/Gyroscope.d.ts +1 -1
  262. package/misc/MD2Character.d.cts +33 -0
  263. package/misc/MD2Character.d.ts +1 -1
  264. package/misc/MD2CharacterComplex.d.cts +47 -0
  265. package/misc/MD2CharacterComplex.d.ts +1 -1
  266. package/misc/MorphAnimMesh.d.cts +13 -0
  267. package/misc/MorphAnimMesh.d.ts +1 -1
  268. package/misc/MorphBlendMesh.d.cts +21 -0
  269. package/misc/MorphBlendMesh.d.ts +1 -1
  270. package/misc/ProgressiveLightmap.d.cts +60 -0
  271. package/misc/ProgressiveLightmap.d.ts +1 -1
  272. package/misc/RollerCoaster.d.cts +21 -0
  273. package/misc/RollerCoaster.d.ts +1 -1
  274. package/misc/Timer.d.cts +27 -0
  275. package/misc/Timer.d.ts +1 -1
  276. package/misc/TubePainter.d.cts +10 -0
  277. package/misc/TubePainter.d.ts +1 -1
  278. package/misc/Volume.d.cts +37 -0
  279. package/misc/Volume.d.ts +2 -2
  280. package/misc/VolumeSlice.d.cts +28 -0
  281. package/misc/VolumeSlice.d.ts +2 -2
  282. package/misc/WebGL.d.cts +5 -0
  283. package/modifiers/CurveModifier.d.cts +91 -0
  284. package/modifiers/CurveModifier.d.ts +1 -1
  285. package/modifiers/EdgeSplitModifier.d.cts +19 -0
  286. package/modifiers/EdgeSplitModifier.d.ts +2 -2
  287. package/modifiers/SimplifyModifier.d.cts +19 -0
  288. package/modifiers/SimplifyModifier.d.ts +2 -2
  289. package/modifiers/TessellateModifier.d.cts +11 -0
  290. package/modifiers/TessellateModifier.d.ts +2 -2
  291. package/objects/BatchedMesh.d.cts +48 -0
  292. package/objects/BatchedMesh.d.ts +2 -2
  293. package/objects/GroundProjectedEnv.d.cts +12 -0
  294. package/objects/GroundProjectedEnv.d.ts +1 -1
  295. package/objects/Lensflare.cjs +10 -8
  296. package/objects/Lensflare.cjs.map +1 -1
  297. package/objects/Lensflare.d.cts +17 -0
  298. package/objects/Lensflare.d.ts +1 -1
  299. package/objects/Lensflare.js +11 -9
  300. package/objects/Lensflare.js.map +1 -1
  301. package/objects/LightningStorm.d.cts +32 -0
  302. package/objects/LightningStorm.d.ts +2 -2
  303. package/objects/MarchingCubes.d.cts +76 -0
  304. package/objects/MarchingCubes.d.ts +1 -1
  305. package/objects/Reflector.d.cts +23 -0
  306. package/objects/Reflector.d.ts +2 -2
  307. package/objects/ReflectorForSSRPass.d.cts +48 -0
  308. package/objects/ReflectorForSSRPass.d.ts +1 -1
  309. package/objects/ReflectorRTT.d.cts +6 -0
  310. package/objects/ReflectorRTT.d.ts +3 -3
  311. package/objects/Refractor.d.cts +23 -0
  312. package/objects/Refractor.d.ts +2 -2
  313. package/objects/ShadowMesh.d.cts +10 -0
  314. package/objects/ShadowMesh.d.ts +1 -1
  315. package/objects/Sky.d.cts +18 -0
  316. package/objects/Sky.d.ts +2 -2
  317. package/objects/Water.d.cts +22 -0
  318. package/objects/Water.d.ts +1 -1
  319. package/objects/Water2.d.cts +23 -0
  320. package/objects/Water2.d.ts +2 -2
  321. package/package.json +11 -5
  322. package/physics/AmmoPhysics.d.cts +7 -0
  323. package/physics/AmmoPhysics.d.ts +1 -1
  324. package/postprocessing/AdaptiveToneMappingPass.d.cts +29 -0
  325. package/postprocessing/AdaptiveToneMappingPass.d.ts +2 -2
  326. package/postprocessing/AfterimagePass.d.cts +15 -0
  327. package/postprocessing/AfterimagePass.d.ts +3 -3
  328. package/postprocessing/BloomPass.d.cts +29 -0
  329. package/postprocessing/BloomPass.d.ts +4 -4
  330. package/postprocessing/BokehPass.d.cts +26 -0
  331. package/postprocessing/BokehPass.d.ts +3 -3
  332. package/postprocessing/ClearPass.d.cts +10 -0
  333. package/postprocessing/ClearPass.d.ts +3 -3
  334. package/postprocessing/CubeTexturePass.d.cts +14 -0
  335. package/postprocessing/CubeTexturePass.d.ts +2 -2
  336. package/postprocessing/DotScreenPass.d.cts +11 -0
  337. package/postprocessing/DotScreenPass.d.ts +4 -4
  338. package/postprocessing/EffectComposer.d.cts +28 -0
  339. package/postprocessing/EffectComposer.d.ts +3 -3
  340. package/postprocessing/FilmPass.d.cts +11 -0
  341. package/postprocessing/FilmPass.d.ts +4 -4
  342. package/postprocessing/GlitchPass.d.cts +16 -0
  343. package/postprocessing/GlitchPass.d.ts +4 -4
  344. package/postprocessing/HalftonePass.d.cts +26 -0
  345. package/postprocessing/HalftonePass.d.ts +3 -3
  346. package/postprocessing/LUTPass.d.cts +13 -0
  347. package/postprocessing/LUTPass.d.ts +2 -2
  348. package/postprocessing/MaskPass.d.cts +14 -0
  349. package/postprocessing/MaskPass.d.ts +3 -3
  350. package/postprocessing/OutlinePass.d.cts +53 -0
  351. package/postprocessing/OutlinePass.d.ts +3 -3
  352. package/postprocessing/Pass.d.cts +21 -0
  353. package/postprocessing/Pass.d.ts +2 -2
  354. package/postprocessing/RenderPass.d.cts +14 -0
  355. package/postprocessing/RenderPass.d.ts +3 -3
  356. package/postprocessing/RenderPixelatedPass.d.cts +34 -0
  357. package/postprocessing/RenderPixelatedPass.d.ts +2 -2
  358. package/postprocessing/SAOPass.d.cts +78 -0
  359. package/postprocessing/SAOPass.d.ts +2 -2
  360. package/postprocessing/SMAAPass.d.cts +21 -0
  361. package/postprocessing/SMAAPass.d.ts +2 -2
  362. package/postprocessing/SSAARenderPass.d.cts +17 -0
  363. package/postprocessing/SSAARenderPass.d.ts +2 -2
  364. package/postprocessing/SSAOPass.d.cts +70 -0
  365. package/postprocessing/SSAOPass.d.ts +2 -2
  366. package/postprocessing/SSRPass.d.cts +123 -0
  367. package/postprocessing/SSRPass.d.ts +3 -3
  368. package/postprocessing/SavePass.d.cts +12 -0
  369. package/postprocessing/SavePass.d.ts +2 -2
  370. package/postprocessing/ShaderPass.d.cts +13 -0
  371. package/postprocessing/ShaderPass.d.ts +4 -4
  372. package/postprocessing/TAARenderPass.d.cts +8 -0
  373. package/postprocessing/TAARenderPass.d.ts +2 -2
  374. package/postprocessing/TexturePass.d.cts +12 -0
  375. package/postprocessing/TexturePass.d.ts +2 -2
  376. package/postprocessing/UnrealBloomPass.d.cts +31 -0
  377. package/postprocessing/UnrealBloomPass.d.ts +2 -2
  378. package/postprocessing/WaterPass.d.cts +35 -0
  379. package/postprocessing/WaterPass.d.ts +3 -3
  380. package/renderers/CSS2DRenderer.d.cts +23 -0
  381. package/renderers/CSS2DRenderer.d.ts +1 -1
  382. package/renderers/CSS3DRenderer.d.cts +26 -0
  383. package/renderers/CSS3DRenderer.d.ts +1 -1
  384. package/renderers/Projector.d.cts +60 -0
  385. package/renderers/Projector.d.ts +1 -1
  386. package/renderers/SVGRenderer.d.cts +25 -0
  387. package/renderers/SVGRenderer.d.ts +1 -1
  388. package/shaders/ACESFilmicToneMappingShader.d.cts +16 -0
  389. package/shaders/ACESFilmicToneMappingShader.d.ts +1 -1
  390. package/shaders/AfterimageShader.d.cts +15 -0
  391. package/shaders/AfterimageShader.d.ts +1 -1
  392. package/shaders/BasicShader.d.cts +8 -0
  393. package/shaders/BasicShader.d.ts +1 -1
  394. package/shaders/BleachBypassShader.d.cts +14 -0
  395. package/shaders/BleachBypassShader.d.ts +1 -1
  396. package/shaders/BlendShader.d.cts +21 -0
  397. package/shaders/BokehShader.d.cts +24 -0
  398. package/shaders/BokehShader.d.ts +1 -1
  399. package/shaders/BokehShader2.d.cts +50 -0
  400. package/shaders/BokehShader2.d.ts +1 -1
  401. package/shaders/BrightnessContrastShader.d.cts +21 -0
  402. package/shaders/ColorCorrectionShader.d.cts +22 -0
  403. package/shaders/ColorCorrectionShader.d.ts +1 -1
  404. package/shaders/ColorifyShader.d.cts +16 -0
  405. package/shaders/ColorifyShader.d.ts +1 -1
  406. package/shaders/ConvolutionShader.d.cts +21 -0
  407. package/shaders/ConvolutionShader.d.ts +2 -2
  408. package/shaders/CopyShader.d.cts +12 -0
  409. package/shaders/CopyShader.d.ts +1 -1
  410. package/shaders/DOFMipMapShader.d.cts +23 -0
  411. package/shaders/DepthLimitedBlurShader.d.cts +28 -0
  412. package/shaders/DepthLimitedBlurShader.d.ts +2 -2
  413. package/shaders/DigitalGlitch.d.cts +39 -0
  414. package/shaders/DotScreenShader.d.cts +27 -0
  415. package/shaders/DotScreenShader.d.ts +1 -1
  416. package/shaders/FXAAShader.d.cts +19 -0
  417. package/shaders/FXAAShader.d.ts +1 -1
  418. package/shaders/FilmShader.d.cts +43 -0
  419. package/shaders/FocusShader.d.cts +26 -0
  420. package/shaders/FreiChenShader.d.cts +19 -0
  421. package/shaders/FreiChenShader.d.ts +1 -1
  422. package/shaders/FresnelShader.d.cts +24 -0
  423. package/shaders/GammaCorrectionShader.d.cts +12 -0
  424. package/shaders/GammaCorrectionShader.d.ts +1 -1
  425. package/shaders/GodRaysShader.d.cts +97 -0
  426. package/shaders/GodRaysShader.d.ts +1 -1
  427. package/shaders/HalftoneShader.d.cts +51 -0
  428. package/shaders/HorizontalBlurShader.d.cts +18 -0
  429. package/shaders/HorizontalBlurShader.d.ts +1 -1
  430. package/shaders/HorizontalTiltShiftShader.d.cts +23 -0
  431. package/shaders/HueSaturationShader.d.cts +21 -0
  432. package/shaders/KaleidoShader.d.cts +24 -0
  433. package/shaders/LuminosityHighPassShader.d.cts +27 -0
  434. package/shaders/LuminosityHighPassShader.d.ts +1 -1
  435. package/shaders/LuminosityShader.d.cts +13 -0
  436. package/shaders/MirrorShader.d.cts +18 -0
  437. package/shaders/NormalMapShader.d.cts +23 -0
  438. package/shaders/NormalMapShader.d.ts +1 -1
  439. package/shaders/ParallaxShader.d.cts +28 -0
  440. package/shaders/PixelShader.d.cts +18 -0
  441. package/shaders/RGBShiftShader.d.cts +24 -0
  442. package/shaders/SAOShader.d.cts +25 -0
  443. package/shaders/SAOShader.d.ts +2 -2
  444. package/shaders/SMAAShader.d.cts +60 -0
  445. package/shaders/SMAAShader.d.ts +1 -1
  446. package/shaders/SSAOShader.d.cts +86 -0
  447. package/shaders/SSAOShader.d.ts +1 -1
  448. package/shaders/SSRShader.d.cts +94 -0
  449. package/shaders/SSRShader.d.ts +1 -1
  450. package/shaders/SepiaShader.d.cts +17 -0
  451. package/shaders/SobelOperatorShader.d.cts +19 -0
  452. package/shaders/SobelOperatorShader.d.ts +1 -1
  453. package/shaders/SubsurfaceScatteringShader.d.cts +5 -0
  454. package/shaders/TechnicolorShader.d.cts +15 -0
  455. package/shaders/ToneMapShader.d.cts +27 -0
  456. package/shaders/ToonShader.d.cts +108 -0
  457. package/shaders/ToonShader.d.ts +1 -1
  458. package/shaders/TriangleBlurShader.d.cts +22 -0
  459. package/shaders/TriangleBlurShader.d.ts +1 -1
  460. package/shaders/UnpackDepthRGBAShader.d.cts +16 -0
  461. package/shaders/VerticalBlurShader.d.cts +18 -0
  462. package/shaders/VerticalBlurShader.d.ts +1 -1
  463. package/shaders/VerticalTiltShiftShader.d.cts +23 -0
  464. package/shaders/VignetteShader.d.cts +20 -0
  465. package/shaders/VolumeShader.d.cts +30 -0
  466. package/shaders/VolumeShader.d.ts +1 -1
  467. package/shaders/WaterRefractionShader.d.cts +21 -0
  468. package/shaders/types.d.cts +13 -0
  469. package/textures/FlakesTexture.d.cts +4 -0
  470. package/textures/FlakesTexture.d.ts +1 -1
  471. package/types/helpers.d.cts +1 -0
  472. package/types/shared.d.cts +9 -0
  473. package/types/utils.d.cts +3 -0
  474. package/utils/BufferGeometryUtils.d.cts +63 -0
  475. package/utils/BufferGeometryUtils.d.ts +1 -1
  476. package/utils/GeometryCompressionUtils.d.cts +7 -0
  477. package/utils/GeometryCompressionUtils.d.ts +1 -1
  478. package/utils/GeometryUtils.d.cts +6 -0
  479. package/utils/GeometryUtils.d.ts +1 -1
  480. package/utils/LDrawUtils.d.cts +5 -0
  481. package/utils/LDrawUtils.d.ts +1 -1
  482. package/utils/RoughnessMipmapper.d.cts +8 -0
  483. package/utils/RoughnessMipmapper.d.ts +1 -1
  484. package/utils/SceneUtils.d.cts +9 -0
  485. package/utils/SceneUtils.d.ts +2 -2
  486. package/utils/ShadowMapViewer.d.cts +24 -0
  487. package/utils/ShadowMapViewer.d.ts +1 -1
  488. package/utils/SkeletonUtils.d.cts +14 -0
  489. package/utils/SkeletonUtils.d.ts +1 -1
  490. package/utils/UVsDebug.d.cts +3 -0
  491. package/utils/UVsDebug.d.ts +1 -1
  492. package/webxr/ARButton.d.cts +6 -0
  493. package/webxr/ARButton.d.ts +2 -2
  494. package/webxr/OculusHandModel.d.cts +23 -0
  495. package/webxr/OculusHandModel.d.ts +3 -3
  496. package/webxr/OculusHandPointerModel.d.cts +65 -0
  497. package/webxr/OculusHandPointerModel.d.ts +1 -1
  498. package/webxr/Text2D.d.cts +3 -0
  499. package/webxr/Text2D.d.ts +1 -1
  500. package/webxr/VRButton.d.cts +11 -0
  501. package/webxr/VRButton.d.ts +2 -2
  502. package/webxr/XRControllerModelFactory.d.cts +23 -0
  503. package/webxr/XRControllerModelFactory.d.ts +4 -4
  504. package/webxr/XREstimatedLight.d.cts +33 -0
  505. package/webxr/XREstimatedLight.d.ts +1 -1
  506. package/webxr/XRHandMeshModel.d.cts +9 -0
  507. package/webxr/XRHandMeshModel.d.ts +2 -2
  508. package/webxr/XRHandModelFactory.d.cts +25 -0
  509. package/webxr/XRHandModelFactory.d.ts +3 -3
  510. package/webxr/XRHandPrimitiveModel.d.cts +24 -0
  511. package/webxr/XRHandPrimitiveModel.d.ts +2 -2
@@ -1,4 +1,4 @@
1
- import { BufferGeometry, InterleavedBuffer, InterleavedBufferAttribute, Mesh, MeshBasicMaterial, Vector3, DataTexture, RGBAFormat, NearestFilter, ClampToEdgeWrapping, RawShaderMaterial, Color, Vector2, AdditiveBlending, Box2, Vector4 } from "three";
1
+ import { BufferGeometry, InterleavedBuffer, InterleavedBufferAttribute, Mesh, MeshBasicMaterial, Vector3, Texture, NearestFilter, RawShaderMaterial, Color, Vector2, AdditiveBlending, Box2, Vector4 } from "three";
2
2
  const Lensflare = /* @__PURE__ */ (() => {
3
3
  class Lensflare2 extends Mesh {
4
4
  constructor() {
@@ -9,16 +9,18 @@ const Lensflare = /* @__PURE__ */ (() => {
9
9
  this.renderOrder = Infinity;
10
10
  const positionScreen = new Vector3();
11
11
  const positionView = new Vector3();
12
- const tempMap = new DataTexture(new Uint8Array(16 * 16 * 3), 16, 16, RGBAFormat);
13
- tempMap.minFilter = NearestFilter;
12
+ const tempMap = new Texture({ width: 16, height: 16 });
13
+ tempMap.isFramebufferTexture = true;
14
14
  tempMap.magFilter = NearestFilter;
15
- tempMap.wrapS = ClampToEdgeWrapping;
16
- tempMap.wrapT = ClampToEdgeWrapping;
17
- const occlusionMap = new DataTexture(new Uint8Array(16 * 16 * 3), 16, 16, RGBAFormat);
18
- occlusionMap.minFilter = NearestFilter;
15
+ tempMap.minFilter = NearestFilter;
16
+ tempMap.generateMipmaps = false;
17
+ tempMap.needsUpdate = true;
18
+ const occlusionMap = new Texture({ width: 16, height: 16 });
19
+ occlusionMap.isFramebufferTexture = true;
19
20
  occlusionMap.magFilter = NearestFilter;
20
- occlusionMap.wrapS = ClampToEdgeWrapping;
21
- occlusionMap.wrapT = ClampToEdgeWrapping;
21
+ occlusionMap.minFilter = NearestFilter;
22
+ occlusionMap.generateMipmaps = false;
23
+ occlusionMap.needsUpdate = true;
22
24
  const geometry = Lensflare2.Geometry;
23
25
  const material1a = new RawShaderMaterial({
24
26
  uniforms: {
@@ -1 +1 @@
1
- {"version":3,"file":"Lensflare.js","sources":["../../src/objects/Lensflare.js"],"sourcesContent":["import {\n AdditiveBlending,\n Box2,\n BufferGeometry,\n ClampToEdgeWrapping,\n Color,\n DataTexture,\n InterleavedBuffer,\n InterleavedBufferAttribute,\n Mesh,\n MeshBasicMaterial,\n NearestFilter,\n RGBAFormat,\n RawShaderMaterial,\n Vector2,\n Vector3,\n Vector4,\n} from 'three'\n\nconst Lensflare = /* @__PURE__ */ (() => {\n class Lensflare extends Mesh {\n constructor() {\n super(Lensflare.Geometry, new MeshBasicMaterial({ opacity: 0, transparent: true }))\n\n this.isLensflare = true\n\n this.type = 'Lensflare'\n this.frustumCulled = false\n this.renderOrder = Infinity\n\n //\n\n const positionScreen = new Vector3()\n const positionView = new Vector3()\n\n // textures\n const tempMap = new DataTexture(new Uint8Array(16 * 16 * 3), 16, 16, RGBAFormat)\n tempMap.minFilter = NearestFilter\n tempMap.magFilter = NearestFilter\n tempMap.wrapS = ClampToEdgeWrapping\n tempMap.wrapT = ClampToEdgeWrapping\n\n const occlusionMap = new DataTexture(new Uint8Array(16 * 16 * 3), 16, 16, RGBAFormat)\n occlusionMap.minFilter = NearestFilter\n occlusionMap.magFilter = NearestFilter\n occlusionMap.wrapS = ClampToEdgeWrapping\n occlusionMap.wrapT = ClampToEdgeWrapping\n\n // material\n\n const geometry = Lensflare.Geometry\n\n const material1a = new RawShaderMaterial({\n uniforms: {\n scale: { value: null },\n screenPosition: { value: null },\n },\n vertexShader: /* glsl */ `\n\n\t\t\t\tprecision highp float;\n\n\t\t\t\tuniform vec3 screenPosition;\n\t\t\t\tuniform vec2 scale;\n\n\t\t\t\tattribute vec3 position;\n\n\t\t\t\tvoid main() {\n\n\t\t\t\t\tgl_Position = vec4( position.xy * scale + screenPosition.xy, screenPosition.z, 1.0 );\n\n\t\t\t\t}`,\n\n fragmentShader: /* glsl */ `\n\n\t\t\t\tprecision highp float;\n\n\t\t\t\tvoid main() {\n\n\t\t\t\t\tgl_FragColor = vec4( 1.0, 0.0, 1.0, 1.0 );\n\n\t\t\t\t}`,\n depthTest: true,\n depthWrite: false,\n transparent: false,\n })\n\n const material1b = new RawShaderMaterial({\n uniforms: {\n map: { value: tempMap },\n scale: { value: null },\n screenPosition: { value: null },\n },\n vertexShader: /* glsl */ `\n\n\t\t\t\tprecision highp float;\n\n\t\t\t\tuniform vec3 screenPosition;\n\t\t\t\tuniform vec2 scale;\n\n\t\t\t\tattribute vec3 position;\n\t\t\t\tattribute vec2 uv;\n\n\t\t\t\tvarying vec2 vUV;\n\n\t\t\t\tvoid main() {\n\n\t\t\t\t\tvUV = uv;\n\n\t\t\t\t\tgl_Position = vec4( position.xy * scale + screenPosition.xy, screenPosition.z, 1.0 );\n\n\t\t\t\t}`,\n\n fragmentShader: /* glsl */ `\n\n\t\t\t\tprecision highp float;\n\n\t\t\t\tuniform sampler2D map;\n\n\t\t\t\tvarying vec2 vUV;\n\n\t\t\t\tvoid main() {\n\n\t\t\t\t\tgl_FragColor = texture2D( map, vUV );\n\n\t\t\t\t}`,\n depthTest: false,\n depthWrite: false,\n transparent: false,\n })\n\n // the following object is used for occlusionMap generation\n\n const mesh1 = new Mesh(geometry, material1a)\n\n //\n\n const elements = []\n\n const shader = LensflareElement.Shader\n\n const material2 = new RawShaderMaterial({\n uniforms: {\n map: { value: null },\n occlusionMap: { value: occlusionMap },\n color: { value: new Color(0xffffff) },\n scale: { value: new Vector2() },\n screenPosition: { value: new Vector3() },\n },\n vertexShader: shader.vertexShader,\n fragmentShader: shader.fragmentShader,\n blending: AdditiveBlending,\n transparent: true,\n depthWrite: false,\n })\n\n const mesh2 = new Mesh(geometry, material2)\n\n this.addElement = function (element) {\n elements.push(element)\n }\n\n //\n\n const scale = new Vector2()\n const screenPositionPixels = new Vector2()\n const validArea = new Box2()\n const viewport = new Vector4()\n\n this.onBeforeRender = function (renderer, scene, camera) {\n renderer.getCurrentViewport(viewport)\n\n const invAspect = viewport.w / viewport.z\n const halfViewportWidth = viewport.z / 2.0\n const halfViewportHeight = viewport.w / 2.0\n\n let size = 16 / viewport.w\n scale.set(size * invAspect, size)\n\n validArea.min.set(viewport.x, viewport.y)\n validArea.max.set(viewport.x + (viewport.z - 16), viewport.y + (viewport.w - 16))\n\n // calculate position in screen space\n\n positionView.setFromMatrixPosition(this.matrixWorld)\n positionView.applyMatrix4(camera.matrixWorldInverse)\n\n if (positionView.z > 0) return // lensflare is behind the camera\n\n positionScreen.copy(positionView).applyMatrix4(camera.projectionMatrix)\n\n // horizontal and vertical coordinate of the lower left corner of the pixels to copy\n\n screenPositionPixels.x = viewport.x + positionScreen.x * halfViewportWidth + halfViewportWidth - 8\n screenPositionPixels.y = viewport.y + positionScreen.y * halfViewportHeight + halfViewportHeight - 8\n\n // screen cull\n\n if (validArea.containsPoint(screenPositionPixels)) {\n // save current RGB to temp texture\n\n renderer.copyFramebufferToTexture(screenPositionPixels, tempMap)\n\n // render pink quad\n\n let uniforms = material1a.uniforms\n uniforms['scale'].value = scale\n uniforms['screenPosition'].value = positionScreen\n\n renderer.renderBufferDirect(camera, null, geometry, material1a, mesh1, null)\n\n // copy result to occlusionMap\n\n renderer.copyFramebufferToTexture(screenPositionPixels, occlusionMap)\n\n // restore graphics\n\n uniforms = material1b.uniforms\n uniforms['scale'].value = scale\n uniforms['screenPosition'].value = positionScreen\n\n renderer.renderBufferDirect(camera, null, geometry, material1b, mesh1, null)\n\n // render elements\n\n const vecX = -positionScreen.x * 2\n const vecY = -positionScreen.y * 2\n\n for (let i = 0, l = elements.length; i < l; i++) {\n const element = elements[i]\n\n const uniforms = material2.uniforms\n\n uniforms['color'].value.copy(element.color)\n uniforms['map'].value = element.texture\n uniforms['screenPosition'].value.x = positionScreen.x + vecX * element.distance\n uniforms['screenPosition'].value.y = positionScreen.y + vecY * element.distance\n\n size = element.size / viewport.w\n const invAspect = viewport.w / viewport.z\n\n uniforms['scale'].value.set(size * invAspect, size)\n\n material2.uniformsNeedUpdate = true\n\n renderer.renderBufferDirect(camera, null, geometry, material2, mesh2, null)\n }\n }\n }\n\n this.dispose = function () {\n material1a.dispose()\n material1b.dispose()\n material2.dispose()\n\n tempMap.dispose()\n occlusionMap.dispose()\n\n for (let i = 0, l = elements.length; i < l; i++) {\n elements[i].texture.dispose()\n }\n }\n }\n }\n\n const _geometry = new BufferGeometry()\n const interleavedBuffer = new InterleavedBuffer(\n new Float32Array([-1, -1, 0, 0, 0, 1, -1, 0, 1, 0, 1, 1, 0, 1, 1, -1, 1, 0, 0, 1]),\n 5,\n )\n\n _geometry.setIndex([0, 1, 2, 0, 2, 3])\n _geometry.setAttribute('position', new InterleavedBufferAttribute(interleavedBuffer, 3, 0, false))\n _geometry.setAttribute('uv', new InterleavedBufferAttribute(interleavedBuffer, 2, 3, false))\n\n Lensflare.Geometry = _geometry\n\n return Lensflare\n})()\n\n//\n\nconst LensflareElement = /* @__PURE__ */ (() => {\n class LensflareElement {\n constructor(texture, size = 1, distance = 0, color = new Color(0xffffff)) {\n this.texture = texture\n this.size = size\n this.distance = distance\n this.color = color\n }\n }\n\n LensflareElement.Shader = {\n uniforms: {\n map: { value: null },\n occlusionMap: { value: null },\n color: { value: null },\n scale: { value: null },\n screenPosition: { value: null },\n },\n\n vertexShader: /* glsl */ `\n\n precision highp float;\n\n uniform vec3 screenPosition;\n uniform vec2 scale;\n\n uniform sampler2D occlusionMap;\n\n attribute vec3 position;\n attribute vec2 uv;\n\n varying vec2 vUV;\n varying float vVisibility;\n\n void main() {\n\n vUV = uv;\n\n vec2 pos = position.xy;\n\n vec4 visibility = texture2D( occlusionMap, vec2( 0.1, 0.1 ) );\n visibility += texture2D( occlusionMap, vec2( 0.5, 0.1 ) );\n visibility += texture2D( occlusionMap, vec2( 0.9, 0.1 ) );\n visibility += texture2D( occlusionMap, vec2( 0.9, 0.5 ) );\n visibility += texture2D( occlusionMap, vec2( 0.9, 0.9 ) );\n visibility += texture2D( occlusionMap, vec2( 0.5, 0.9 ) );\n visibility += texture2D( occlusionMap, vec2( 0.1, 0.9 ) );\n visibility += texture2D( occlusionMap, vec2( 0.1, 0.5 ) );\n visibility += texture2D( occlusionMap, vec2( 0.5, 0.5 ) );\n\n vVisibility = visibility.r / 9.0;\n vVisibility *= 1.0 - visibility.g / 9.0;\n vVisibility *= visibility.b / 9.0;\n\n gl_Position = vec4( ( pos * scale + screenPosition.xy ).xy, screenPosition.z, 1.0 );\n\n }\n `,\n\n fragmentShader: /* glsl */ `\n\n precision highp float;\n\n uniform sampler2D map;\n uniform vec3 color;\n\n varying vec2 vUV;\n varying float vVisibility;\n\n void main() {\n\n vec4 texture = texture2D( map, vUV );\n texture.a *= vVisibility;\n gl_FragColor = texture;\n gl_FragColor.rgb *= color;\n\n }\n `,\n }\n\n return LensflareElement\n})()\n\nexport { Lensflare, LensflareElement }\n"],"names":["Lensflare","uniforms","invAspect","LensflareElement"],"mappings":"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"}
1
+ {"version":3,"file":"Lensflare.js","sources":["../../src/objects/Lensflare.js"],"sourcesContent":["import {\n AdditiveBlending,\n Box2,\n BufferGeometry,\n Color,\n Texture,\n NearestFilter,\n InterleavedBuffer,\n InterleavedBufferAttribute,\n Mesh,\n MeshBasicMaterial,\n RawShaderMaterial,\n Vector2,\n Vector3,\n Vector4,\n} from 'three'\n\nconst Lensflare = /* @__PURE__ */ (() => {\n class Lensflare extends Mesh {\n constructor() {\n super(Lensflare.Geometry, new MeshBasicMaterial({ opacity: 0, transparent: true }))\n\n this.isLensflare = true\n\n this.type = 'Lensflare'\n this.frustumCulled = false\n this.renderOrder = Infinity\n\n //\n\n const positionScreen = new Vector3()\n const positionView = new Vector3()\n\n // textures\n const tempMap = new Texture({ width: 16, height: 16 })\n tempMap.isFramebufferTexture = true\n tempMap.magFilter = NearestFilter\n tempMap.minFilter = NearestFilter\n tempMap.generateMipmaps = false\n tempMap.needsUpdate = true\n\n const occlusionMap = new Texture({ width: 16, height: 16 })\n occlusionMap.isFramebufferTexture = true\n occlusionMap.magFilter = NearestFilter\n occlusionMap.minFilter = NearestFilter\n occlusionMap.generateMipmaps = false\n occlusionMap.needsUpdate = true\n\n // material\n\n const geometry = Lensflare.Geometry\n\n const material1a = new RawShaderMaterial({\n uniforms: {\n scale: { value: null },\n screenPosition: { value: null },\n },\n vertexShader: /* glsl */ `\n\n\t\t\t\tprecision highp float;\n\n\t\t\t\tuniform vec3 screenPosition;\n\t\t\t\tuniform vec2 scale;\n\n\t\t\t\tattribute vec3 position;\n\n\t\t\t\tvoid main() {\n\n\t\t\t\t\tgl_Position = vec4( position.xy * scale + screenPosition.xy, screenPosition.z, 1.0 );\n\n\t\t\t\t}`,\n\n fragmentShader: /* glsl */ `\n\n\t\t\t\tprecision highp float;\n\n\t\t\t\tvoid main() {\n\n\t\t\t\t\tgl_FragColor = vec4( 1.0, 0.0, 1.0, 1.0 );\n\n\t\t\t\t}`,\n depthTest: true,\n depthWrite: false,\n transparent: false,\n })\n\n const material1b = new RawShaderMaterial({\n uniforms: {\n map: { value: tempMap },\n scale: { value: null },\n screenPosition: { value: null },\n },\n vertexShader: /* glsl */ `\n\n\t\t\t\tprecision highp float;\n\n\t\t\t\tuniform vec3 screenPosition;\n\t\t\t\tuniform vec2 scale;\n\n\t\t\t\tattribute vec3 position;\n\t\t\t\tattribute vec2 uv;\n\n\t\t\t\tvarying vec2 vUV;\n\n\t\t\t\tvoid main() {\n\n\t\t\t\t\tvUV = uv;\n\n\t\t\t\t\tgl_Position = vec4( position.xy * scale + screenPosition.xy, screenPosition.z, 1.0 );\n\n\t\t\t\t}`,\n\n fragmentShader: /* glsl */ `\n\n\t\t\t\tprecision highp float;\n\n\t\t\t\tuniform sampler2D map;\n\n\t\t\t\tvarying vec2 vUV;\n\n\t\t\t\tvoid main() {\n\n\t\t\t\t\tgl_FragColor = texture2D( map, vUV );\n\n\t\t\t\t}`,\n depthTest: false,\n depthWrite: false,\n transparent: false,\n })\n\n // the following object is used for occlusionMap generation\n\n const mesh1 = new Mesh(geometry, material1a)\n\n //\n\n const elements = []\n\n const shader = LensflareElement.Shader\n\n const material2 = new RawShaderMaterial({\n uniforms: {\n map: { value: null },\n occlusionMap: { value: occlusionMap },\n color: { value: new Color(0xffffff) },\n scale: { value: new Vector2() },\n screenPosition: { value: new Vector3() },\n },\n vertexShader: shader.vertexShader,\n fragmentShader: shader.fragmentShader,\n blending: AdditiveBlending,\n transparent: true,\n depthWrite: false,\n })\n\n const mesh2 = new Mesh(geometry, material2)\n\n this.addElement = function (element) {\n elements.push(element)\n }\n\n //\n\n const scale = new Vector2()\n const screenPositionPixels = new Vector2()\n const validArea = new Box2()\n const viewport = new Vector4()\n\n this.onBeforeRender = function (renderer, scene, camera) {\n renderer.getCurrentViewport(viewport)\n\n const invAspect = viewport.w / viewport.z\n const halfViewportWidth = viewport.z / 2.0\n const halfViewportHeight = viewport.w / 2.0\n\n let size = 16 / viewport.w\n scale.set(size * invAspect, size)\n\n validArea.min.set(viewport.x, viewport.y)\n validArea.max.set(viewport.x + (viewport.z - 16), viewport.y + (viewport.w - 16))\n\n // calculate position in screen space\n\n positionView.setFromMatrixPosition(this.matrixWorld)\n positionView.applyMatrix4(camera.matrixWorldInverse)\n\n if (positionView.z > 0) return // lensflare is behind the camera\n\n positionScreen.copy(positionView).applyMatrix4(camera.projectionMatrix)\n\n // horizontal and vertical coordinate of the lower left corner of the pixels to copy\n\n screenPositionPixels.x = viewport.x + positionScreen.x * halfViewportWidth + halfViewportWidth - 8\n screenPositionPixels.y = viewport.y + positionScreen.y * halfViewportHeight + halfViewportHeight - 8\n\n // screen cull\n\n if (validArea.containsPoint(screenPositionPixels)) {\n // save current RGB to temp texture\n\n renderer.copyFramebufferToTexture(screenPositionPixels, tempMap)\n\n // render pink quad\n\n let uniforms = material1a.uniforms\n uniforms['scale'].value = scale\n uniforms['screenPosition'].value = positionScreen\n\n renderer.renderBufferDirect(camera, null, geometry, material1a, mesh1, null)\n\n // copy result to occlusionMap\n\n renderer.copyFramebufferToTexture(screenPositionPixels, occlusionMap)\n\n // restore graphics\n\n uniforms = material1b.uniforms\n uniforms['scale'].value = scale\n uniforms['screenPosition'].value = positionScreen\n\n renderer.renderBufferDirect(camera, null, geometry, material1b, mesh1, null)\n\n // render elements\n\n const vecX = -positionScreen.x * 2\n const vecY = -positionScreen.y * 2\n\n for (let i = 0, l = elements.length; i < l; i++) {\n const element = elements[i]\n\n const uniforms = material2.uniforms\n\n uniforms['color'].value.copy(element.color)\n uniforms['map'].value = element.texture\n uniforms['screenPosition'].value.x = positionScreen.x + vecX * element.distance\n uniforms['screenPosition'].value.y = positionScreen.y + vecY * element.distance\n\n size = element.size / viewport.w\n const invAspect = viewport.w / viewport.z\n\n uniforms['scale'].value.set(size * invAspect, size)\n\n material2.uniformsNeedUpdate = true\n\n renderer.renderBufferDirect(camera, null, geometry, material2, mesh2, null)\n }\n }\n }\n\n this.dispose = function () {\n material1a.dispose()\n material1b.dispose()\n material2.dispose()\n\n tempMap.dispose()\n occlusionMap.dispose()\n\n for (let i = 0, l = elements.length; i < l; i++) {\n elements[i].texture.dispose()\n }\n }\n }\n }\n\n const _geometry = new BufferGeometry()\n const interleavedBuffer = new InterleavedBuffer(\n new Float32Array([-1, -1, 0, 0, 0, 1, -1, 0, 1, 0, 1, 1, 0, 1, 1, -1, 1, 0, 0, 1]),\n 5,\n )\n\n _geometry.setIndex([0, 1, 2, 0, 2, 3])\n _geometry.setAttribute('position', new InterleavedBufferAttribute(interleavedBuffer, 3, 0, false))\n _geometry.setAttribute('uv', new InterleavedBufferAttribute(interleavedBuffer, 2, 3, false))\n\n Lensflare.Geometry = _geometry\n\n return Lensflare\n})()\n\n//\n\nconst LensflareElement = /* @__PURE__ */ (() => {\n class LensflareElement {\n constructor(texture, size = 1, distance = 0, color = new Color(0xffffff)) {\n this.texture = texture\n this.size = size\n this.distance = distance\n this.color = color\n }\n }\n\n LensflareElement.Shader = {\n uniforms: {\n map: { value: null },\n occlusionMap: { value: null },\n color: { value: null },\n scale: { value: null },\n screenPosition: { value: null },\n },\n\n vertexShader: /* glsl */ `\n\n precision highp float;\n\n uniform vec3 screenPosition;\n uniform vec2 scale;\n\n uniform sampler2D occlusionMap;\n\n attribute vec3 position;\n attribute vec2 uv;\n\n varying vec2 vUV;\n varying float vVisibility;\n\n void main() {\n\n vUV = uv;\n\n vec2 pos = position.xy;\n\n vec4 visibility = texture2D( occlusionMap, vec2( 0.1, 0.1 ) );\n visibility += texture2D( occlusionMap, vec2( 0.5, 0.1 ) );\n visibility += texture2D( occlusionMap, vec2( 0.9, 0.1 ) );\n visibility += texture2D( occlusionMap, vec2( 0.9, 0.5 ) );\n visibility += texture2D( occlusionMap, vec2( 0.9, 0.9 ) );\n visibility += texture2D( occlusionMap, vec2( 0.5, 0.9 ) );\n visibility += texture2D( occlusionMap, vec2( 0.1, 0.9 ) );\n visibility += texture2D( occlusionMap, vec2( 0.1, 0.5 ) );\n visibility += texture2D( occlusionMap, vec2( 0.5, 0.5 ) );\n\n vVisibility = visibility.r / 9.0;\n vVisibility *= 1.0 - visibility.g / 9.0;\n vVisibility *= visibility.b / 9.0;\n\n gl_Position = vec4( ( pos * scale + screenPosition.xy ).xy, screenPosition.z, 1.0 );\n\n }\n `,\n\n fragmentShader: /* glsl */ `\n\n precision highp float;\n\n uniform sampler2D map;\n uniform vec3 color;\n\n varying vec2 vUV;\n varying float vVisibility;\n\n void main() {\n\n vec4 texture = texture2D( map, vUV );\n texture.a *= vVisibility;\n gl_FragColor = texture;\n gl_FragColor.rgb *= color;\n\n }\n `,\n }\n\n return LensflareElement\n})()\n\nexport { Lensflare, LensflareElement }\n"],"names":["Lensflare","uniforms","invAspect","LensflareElement"],"mappings":"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"}
@@ -0,0 +1,32 @@
1
+ import type { Material, Object3D, Vector3 } from 'three'
2
+
3
+ import type { LightningStrike, RayParameters } from '../geometries/LightningStrike.d.cts'
4
+
5
+ export interface StormParams {
6
+ size?: number
7
+ minHeight?: number
8
+ maxHeight?: number
9
+ maxSlope?: number
10
+
11
+ maxLightnings?: number
12
+
13
+ lightningMinPeriod?: number
14
+ lightningMaxPeriod?: number
15
+ lightningMinDuration?: number
16
+ lightningMaxDuration?: number
17
+
18
+ lightningParameters?: RayParameters
19
+ lightningMaterial?: Material
20
+
21
+ isEternal?: boolean
22
+
23
+ onRayPosition?: (source: Vector3, dest: Vector3) => void
24
+ onLightningDown?: (lightning: LightningStrike) => void
25
+ }
26
+
27
+ export class LightningStorm extends Object3D {
28
+ constructor(stormParams?: StormParams)
29
+ update(time: number): void
30
+ copy(source: LightningStorm, recursive?: boolean): this
31
+ clone(): this
32
+ }
@@ -1,6 +1,6 @@
1
- import { Material, Object3D, Vector3 } from 'three'
1
+ import type { Material, Object3D, Vector3 } from 'three'
2
2
 
3
- import { LightningStrike, RayParameters } from '../geometries/LightningStrike'
3
+ import type { LightningStrike, RayParameters } from '../geometries/LightningStrike.d.ts'
4
4
 
5
5
  export interface StormParams {
6
6
  size?: number
@@ -0,0 +1,76 @@
1
+ import type { BufferGeometry, Material, Mesh, Color } from 'three'
2
+
3
+ export class MarchingCubes extends Mesh {
4
+ constructor(
5
+ resolution: number,
6
+ material: Material,
7
+ enableUvs?: boolean,
8
+ enableColors?: boolean,
9
+ maxPolyCount?: number,
10
+ )
11
+
12
+ enableUvs: boolean
13
+ enableColors: boolean
14
+
15
+ resolution: number
16
+
17
+ // parameters
18
+
19
+ isolation: number
20
+
21
+ // size of field, 32 is pushing it in Javascript :)
22
+
23
+ size: number
24
+ size2: number
25
+ size3: number
26
+ halfsize: number
27
+
28
+ // deltas
29
+
30
+ delta: number
31
+ yd: number
32
+ zd: number
33
+
34
+ field: Float32Array
35
+ normal_cache: Float32Array
36
+ palette: Float32Array
37
+
38
+ maxCount: number
39
+ count: number
40
+
41
+ hasPositions: boolean
42
+ hasNormals: boolean
43
+ hasColors: boolean
44
+ hasUvs: boolean
45
+
46
+ positionArray: Float32Array
47
+ normalArray: Float32Array
48
+
49
+ uvArray: Float32Array
50
+ colorArray: Float32Array
51
+
52
+ begin(): void
53
+ end(): void
54
+
55
+ init(resolution: number): void
56
+
57
+ addBall(ballx: number, bally: number, ballz: number, strength: number, subtract: number, colors?: Color): void
58
+
59
+ addPlaneX(strength: number, subtract: number): void
60
+ addPlaneY(strength: number, subtract: number): void
61
+ addPlaneZ(strength: number, subtract: number): void
62
+
63
+ setCell(x: number, y: number, z: number, value: number): void
64
+ getCell(x: number, y: number, z: number): number
65
+
66
+ blur(intensity: number): void
67
+
68
+ reset(): void
69
+ update(): void
70
+ render(renderCallback: any): void
71
+ generateGeometry(): BufferGeometry
72
+ generateBufferGeometry(): BufferGeometry
73
+ }
74
+
75
+ export const edgeTable: Int32Array[]
76
+ export const triTable: Int32Array[]
@@ -1,4 +1,4 @@
1
- import { BufferGeometry, Material, Mesh, Color } from 'three'
1
+ import type { BufferGeometry, Material, Mesh, Color } from 'three'
2
2
 
3
3
  export class MarchingCubes extends Mesh {
4
4
  constructor(
@@ -0,0 +1,23 @@
1
+ import type { Mesh, BufferGeometry, Color, WebGLRenderTarget, PerspectiveCamera } from 'three'
2
+ import type { TextureEncoding } from '../types/shared.d.cts'
3
+
4
+ export interface ReflectorOptions {
5
+ color?: Color | string | number
6
+ textureWidth?: number
7
+ textureHeight?: number
8
+ clipBias?: number
9
+ shader?: object
10
+ encoding?: TextureEncoding
11
+ multisample?: number
12
+ }
13
+
14
+ export class Reflector extends Mesh {
15
+ type: 'Reflector'
16
+ camera: PerspectiveCamera
17
+
18
+ constructor(geometry?: BufferGeometry, options?: ReflectorOptions)
19
+
20
+ getRenderTarget(): WebGLRenderTarget
21
+
22
+ dispose(): void
23
+ }
@@ -1,5 +1,5 @@
1
- import { Mesh, BufferGeometry, Color, WebGLRenderTarget, PerspectiveCamera } from 'three'
2
- import { TextureEncoding } from '../types/shared'
1
+ import type { Mesh, BufferGeometry, Color, WebGLRenderTarget, PerspectiveCamera } from 'three'
2
+ import type { TextureEncoding } from '../types/shared.d.ts'
3
3
 
4
4
  export interface ReflectorOptions {
5
5
  color?: Color | string | number
@@ -0,0 +1,48 @@
1
+ import type { Mesh, ShaderMaterial, WebGLRenderTarget, BufferGeometry, WebGLRenderer, Scene, Camera, IUniform } from 'three'
2
+
3
+ export interface ReflectorShader {
4
+ defines: {
5
+ DISTANCE_ATTENUATION: boolean
6
+ FRESNEL: boolean
7
+ }
8
+ uniforms: {
9
+ [key: string]: IUniform
10
+ }
11
+ vertexShader: string
12
+ fragmentShader: string
13
+ }
14
+
15
+ export interface ReflectorForSSRPassOptions {
16
+ clipBias?: number | undefined
17
+ textureWidth?: number | undefined
18
+ textureHeight?: number | undefined
19
+ color?: number | undefined
20
+ useDepthTexture?: boolean | undefined
21
+ shader?: ReflectorShader | undefined
22
+ }
23
+
24
+ export class ReflectorForSSRPass<TGeometry extends BufferGeometry = BufferGeometry> extends Mesh<TGeometry> {
25
+ type: 'ReflectorForSSRPass'
26
+ options: ReflectorForSSRPassOptions
27
+
28
+ static ReflectorShader: ReflectorShader
29
+
30
+ needsUpdate: boolean
31
+ maxDistance: number
32
+ opacity: number
33
+
34
+ get distanceAttenuation(): boolean
35
+ set distanceAttenuation(val: boolean)
36
+ get fresnel(): boolean
37
+ set fresnel(val: boolean)
38
+
39
+ material: ShaderMaterial
40
+
41
+ renderTarget: WebGLRenderTarget
42
+
43
+ constructor(geometry: TGeometry, options: ReflectorForSSRPassOptions)
44
+
45
+ doRender: (renderer: WebGLRenderer, scene: Scene, camera: Camera) => void
46
+
47
+ getRenderTarget: () => WebGLRenderTarget
48
+ }
@@ -1,4 +1,4 @@
1
- import { Mesh, ShaderMaterial, WebGLRenderTarget, BufferGeometry, WebGLRenderer, Scene, Camera, IUniform } from 'three'
1
+ import type { Mesh, ShaderMaterial, WebGLRenderTarget, BufferGeometry, WebGLRenderer, Scene, Camera, IUniform } from 'three'
2
2
 
3
3
  export interface ReflectorShader {
4
4
  defines: {
@@ -0,0 +1,6 @@
1
+ import type { BufferGeometry } from 'three';
2
+ import type { Reflector, ReflectorOptions } from '../objects/Reflector.d.cts';
3
+ declare class ReflectorRTT extends Reflector {
4
+ constructor(geometry?: BufferGeometry, options?: ReflectorOptions);
5
+ }
6
+ export { type ReflectorRTT };
@@ -1,6 +1,6 @@
1
- import { BufferGeometry } from 'three';
2
- import { Reflector, ReflectorOptions } from '../objects/Reflector';
1
+ import type { BufferGeometry } from 'three';
2
+ import type { Reflector, ReflectorOptions } from '../objects/Reflector.d.ts';
3
3
  declare class ReflectorRTT extends Reflector {
4
4
  constructor(geometry?: BufferGeometry, options?: ReflectorOptions);
5
5
  }
6
- export { ReflectorRTT };
6
+ export { type ReflectorRTT };
@@ -0,0 +1,23 @@
1
+ import type { Mesh, BufferGeometry, Color, WebGLRenderTarget, PerspectiveCamera } from 'three'
2
+ import type { TextureEncoding } from '../types/shared.d.cts'
3
+
4
+ export interface RefractorOptions {
5
+ color?: Color | string | number
6
+ textureWidth?: number
7
+ textureHeight?: number
8
+ clipBias?: number
9
+ shader?: object
10
+ encoding?: TextureEncoding
11
+ multisample?: number
12
+ }
13
+
14
+ export class Refractor extends Mesh {
15
+ type: 'Refractor'
16
+ camera: PerspectiveCamera
17
+
18
+ constructor(geometry?: BufferGeometry, options?: RefractorOptions)
19
+
20
+ getRenderTarget(): WebGLRenderTarget
21
+
22
+ dispose(): void
23
+ }
@@ -1,5 +1,5 @@
1
- import { Mesh, BufferGeometry, Color, WebGLRenderTarget, PerspectiveCamera } from 'three'
2
- import { TextureEncoding } from '../types/shared'
1
+ import type { Mesh, BufferGeometry, Color, WebGLRenderTarget, PerspectiveCamera } from 'three'
2
+ import type { TextureEncoding } from '../types/shared.d.ts'
3
3
 
4
4
  export interface RefractorOptions {
5
5
  color?: Color | string | number
@@ -0,0 +1,10 @@
1
+ import type { Mesh, Plane, Vector4, Matrix4, MeshBasicMaterial, BufferGeometry } from 'three'
2
+
3
+ export class ShadowMesh extends Mesh<BufferGeometry, MeshBasicMaterial> {
4
+ readonly isShadowMesh: true
5
+ meshMatrix: Matrix4
6
+
7
+ constructor(mesh: Mesh)
8
+
9
+ update(plane: Plane, lightPosition4D: Vector4): void
10
+ }
@@ -1,4 +1,4 @@
1
- import { Mesh, Plane, Vector4, Matrix4, MeshBasicMaterial, BufferGeometry } from 'three'
1
+ import type { Mesh, Plane, Vector4, Matrix4, MeshBasicMaterial, BufferGeometry } from 'three'
2
2
 
3
3
  export class ShadowMesh extends Mesh<BufferGeometry, MeshBasicMaterial> {
4
4
  readonly isShadowMesh: true
@@ -0,0 +1,18 @@
1
+ import type { Mesh, BoxGeometry, ShaderMaterial, Vector3 } from 'three'
2
+
3
+ declare class Sky extends Mesh<BoxGeometry, ShaderMaterial> {
4
+ static SkyShader: {
5
+ uniforms: {
6
+ turbidity: { value: number }
7
+ rayleigh: { value: number }
8
+ mieCoefficient: { value: number }
9
+ mieDirectionalG: { value: number }
10
+ sunPosition: { value: Vector3 }
11
+ up: { value: Vector3 }
12
+ }
13
+ }
14
+
15
+ static material: ShaderMaterial
16
+ }
17
+
18
+ export { type Sky }
package/objects/Sky.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { Mesh, BoxGeometry, ShaderMaterial, Vector3 } from 'three'
1
+ import type { Mesh, BoxGeometry, ShaderMaterial, Vector3 } from 'three'
2
2
 
3
3
  declare class Sky extends Mesh<BoxGeometry, ShaderMaterial> {
4
4
  static SkyShader: {
@@ -15,4 +15,4 @@ declare class Sky extends Mesh<BoxGeometry, ShaderMaterial> {
15
15
  static material: ShaderMaterial
16
16
  }
17
17
 
18
- export { Sky }
18
+ export { type Sky }
@@ -0,0 +1,22 @@
1
+ import type { BufferGeometry, Color, Mesh, ShaderMaterial, Side, Texture, Vector3 } from 'three'
2
+
3
+ export interface WaterOptions {
4
+ textureWidth?: number
5
+ textureHeight?: number
6
+ clipBias?: number
7
+ alpha?: number
8
+ time?: number
9
+ waterNormals?: Texture
10
+ sunDirection?: Vector3
11
+ sunColor?: Color | string | number
12
+ waterColor?: Color | string | number
13
+ eye?: Vector3
14
+ distortionScale?: number
15
+ side?: Side
16
+ fog?: boolean
17
+ }
18
+
19
+ export class Water extends Mesh {
20
+ material: ShaderMaterial
21
+ constructor(geometry: BufferGeometry, options: WaterOptions)
22
+ }
@@ -1,4 +1,4 @@
1
- import { BufferGeometry, Color, Mesh, ShaderMaterial, Side, Texture, Vector3 } from 'three'
1
+ import type { BufferGeometry, Color, Mesh, ShaderMaterial, Side, Texture, Vector3 } from 'three'
2
2
 
3
3
  export interface WaterOptions {
4
4
  textureWidth?: number
@@ -0,0 +1,23 @@
1
+ import type { BufferGeometry, Color, Mesh, ShaderMaterial, Texture, Vector2 } from 'three'
2
+ import type { TextureEncoding } from '../types/shared.d.cts'
3
+
4
+ export interface Water2Options {
5
+ color?: Color | string | number
6
+ textureWidth?: number
7
+ textureHeight?: number
8
+ clipBias?: number
9
+ flowDirection?: Vector2
10
+ flowSpeed?: number
11
+ reflectivity?: number
12
+ scale?: number
13
+ shader?: object
14
+ flowMap?: Texture
15
+ normalMap0?: Texture
16
+ normalMap1?: Texture
17
+ encoding?: TextureEncoding
18
+ }
19
+
20
+ export class Water2 extends Mesh {
21
+ material: ShaderMaterial
22
+ constructor(geometry: BufferGeometry, options: Water2Options)
23
+ }
@@ -1,5 +1,5 @@
1
- import { BufferGeometry, Color, Mesh, ShaderMaterial, Texture, Vector2 } from 'three'
2
- import { TextureEncoding } from '../types/shared'
1
+ import type { BufferGeometry, Color, Mesh, ShaderMaterial, Texture, Vector2 } from 'three'
2
+ import type { TextureEncoding } from '../types/shared.d.ts'
3
3
 
4
4
  export interface Water2Options {
5
5
  color?: Color | string | number
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "three-stdlib",
3
- "version": "2.35.6",
3
+ "version": "2.35.8",
4
4
  "description": "stand-alone library of threejs examples",
5
5
  "keywords": [
6
6
  "three",
@@ -22,9 +22,14 @@
22
22
  "main": "./index.cjs",
23
23
  "module": "./index.js",
24
24
  "exports": {
25
- "types": "./index.d.ts",
26
- "require": "./index.cjs",
27
- "import": "./index.js"
25
+ "require": {
26
+ "types": "./index.d.cts",
27
+ "default": "./index.cjs"
28
+ },
29
+ "default": {
30
+ "types": "./index.d.ts",
31
+ "default": "./index.js"
32
+ }
28
33
  },
29
34
  "sideEffects": false,
30
35
  "devDependencies": {
@@ -34,6 +39,7 @@
34
39
  "json": "^11.0.0",
35
40
  "prettier": "^2.2.1",
36
41
  "rimraf": "^3.0.2",
42
+ "shelljs": "^0.8.5",
37
43
  "three": "^0.128.0",
38
44
  "typescript": "^4.7.4",
39
45
  "vite": "^4.3.8"
@@ -50,7 +56,7 @@
50
56
  "three": ">=0.128.0"
51
57
  },
52
58
  "scripts": {
53
- "build": "rimraf dist && vite build && tsc --emitDeclarationOnly && copyfiles -u 1 \"src/**/*.d.ts\" dist && copyfiles package.json README.md LICENSE dist && json -I -f dist/package.json -e \"this.private=undefined;this.type=\\\"module\\\";\"",
59
+ "build": "rimraf dist && vite build && tsc --emitDeclarationOnly && copyfiles -u 1 \"src/**/*.d.ts\" dist && copyfiles package.json README.md LICENSE dist && json -I -f dist/package.json -e \"this.private=undefined;this.type=\\\"module\\\";\" && node patch-ts.js",
54
60
  "lint": "tsc --noEmit"
55
61
  },
56
62
  "type": "module"
@@ -0,0 +1,7 @@
1
+ import type { Mesh, Vector3 } from 'three'
2
+
3
+ export class AmmoPhysics {
4
+ constructor()
5
+ addMesh(mesh: Mesh, mass: number): void
6
+ setMeshPosition(mesh: Mesh, position: Vector3, index: number): void
7
+ }
@@ -1,4 +1,4 @@
1
- import { Mesh, Vector3 } from 'three'
1
+ import type { Mesh, Vector3 } from 'three'
2
2
 
3
3
  export class AmmoPhysics {
4
4
  constructor()
@@ -0,0 +1,29 @@
1
+ import type { WebGLRenderTarget, ShaderMaterial } from 'three'
2
+
3
+ import type { Pass, FullScreenQuad } from './Pass.d.cts'
4
+
5
+ export class AdaptiveToneMappingPass extends Pass {
6
+ constructor(adaptive?: boolean, resolution?: number)
7
+ adaptive: boolean
8
+ resolution: number
9
+ needsInit: number
10
+ luminanceRT: WebGLRenderTarget
11
+ previousLuminanceRT: WebGLRenderTarget
12
+ currentLuminanceRT: WebGLRenderTarget
13
+ copyUniforms: object
14
+ materialCopy: ShaderMaterial
15
+ materialLuminance: ShaderMaterial
16
+ adaptLuminanceShader: object
17
+ materialAdaptiveLum: ShaderMaterial
18
+ materialToneMap: ShaderMaterial
19
+ fsQuad: FullScreenQuad
20
+
21
+ reset(): void
22
+ setAdaptive(adaptive: boolean): void
23
+ setAdaptionRate(rate: number): void
24
+ setMinLuminance(minLum: number): void
25
+ setMaxLuminance(maxLum: number): void
26
+ setAverageLuminance(avgLum: number): void
27
+ setMiddleGrey(middleGrey: number): void
28
+ dispose(): void
29
+ }
@@ -1,6 +1,6 @@
1
- import { WebGLRenderTarget, ShaderMaterial } from 'three'
1
+ import type { WebGLRenderTarget, ShaderMaterial } from 'three'
2
2
 
3
- import { Pass, FullScreenQuad } from './Pass'
3
+ import type { Pass, FullScreenQuad } from './Pass.d.ts'
4
4
 
5
5
  export class AdaptiveToneMappingPass extends Pass {
6
6
  constructor(adaptive?: boolean, resolution?: number)
@@ -0,0 +1,15 @@
1
+ import type { MeshBasicMaterial, WebGLRenderer, ShaderMaterial, WebGLRenderTarget } from 'three';
2
+ import type { Pass, FullScreenQuad } from './Pass.d.cts';
3
+ declare class AfterimagePass extends Pass {
4
+ shader: import("../shaders/AfterimageShader").IAfterimageShader;
5
+ uniforms: any;
6
+ textureComp: WebGLRenderTarget;
7
+ textureOld: WebGLRenderTarget;
8
+ shaderMaterial: ShaderMaterial;
9
+ compFsQuad: FullScreenQuad<ShaderMaterial>;
10
+ copyFsQuad: FullScreenQuad<MeshBasicMaterial>;
11
+ constructor(damp?: number, shader?: import("../shaders/AfterimageShader").IAfterimageShader);
12
+ render(renderer: WebGLRenderer, writeBuffer: WebGLRenderTarget, readBuffer: WebGLRenderTarget): void;
13
+ setSize(width: number, height: number): void;
14
+ }
15
+ export { type AfterimagePass };
@@ -1,5 +1,5 @@
1
- import { MeshBasicMaterial, WebGLRenderer, ShaderMaterial, WebGLRenderTarget } from 'three';
2
- import { Pass, FullScreenQuad } from './Pass';
1
+ import type { MeshBasicMaterial, WebGLRenderer, ShaderMaterial, WebGLRenderTarget } from 'three';
2
+ import type { Pass, FullScreenQuad } from './Pass.d.ts';
3
3
  declare class AfterimagePass extends Pass {
4
4
  shader: import("../shaders/AfterimageShader").IAfterimageShader;
5
5
  uniforms: any;
@@ -12,4 +12,4 @@ declare class AfterimagePass extends Pass {
12
12
  render(renderer: WebGLRenderer, writeBuffer: WebGLRenderTarget, readBuffer: WebGLRenderTarget): void;
13
13
  setSize(width: number, height: number): void;
14
14
  }
15
- export { AfterimagePass };
15
+ export { type AfterimagePass };
@@ -0,0 +1,29 @@
1
+ import type { Pass, FullScreenQuad } from './Pass.d.cts';
2
+ import type { IUniform, ShaderMaterial, Vector2, WebGLRenderer, WebGLRenderTarget } from 'three';
3
+ import type { ConvolutionShader } from '../shaders/ConvolutionShader.d.cts';
4
+ declare class BloomPass extends Pass {
5
+ renderTargetX: WebGLRenderTarget;
6
+ renderTargetY: WebGLRenderTarget;
7
+ materialCombine: ShaderMaterial;
8
+ materialConvolution: ShaderMaterial;
9
+ fsQuad: FullScreenQuad;
10
+ combineUniforms: Record<keyof typeof CombineShader['uniforms'], IUniform<any>>;
11
+ convolutionUniforms: Record<keyof typeof ConvolutionShader['uniforms'], IUniform<any>>;
12
+ blurX: Vector2;
13
+ blurY: Vector2;
14
+ constructor(strength?: number, kernelSize?: number, sigma?: number, resolution?: number);
15
+ render(renderer: WebGLRenderer, writeBuffer: WebGLRenderTarget, readBuffer: WebGLRenderTarget, deltaTime: number, maskActive: boolean): void;
16
+ }
17
+ declare const CombineShader: {
18
+ uniforms: {
19
+ tDiffuse: {
20
+ value: null;
21
+ };
22
+ strength: {
23
+ value: number;
24
+ };
25
+ };
26
+ vertexShader: string;
27
+ fragmentShader: string;
28
+ };
29
+ export { type BloomPass };