three-stdlib 2.22.8 → 2.22.10

Sign up to get free protection for your applications and to get access to all the features.
Files changed (629) hide show
  1. package/dist/animation/AnimationClipCreator.js +49 -50
  2. package/dist/animation/AnimationClipCreator.mjs +49 -50
  3. package/dist/animation/CCDIKSolver.d.ts +9 -4
  4. package/dist/animation/CCDIKSolver.js +193 -148
  5. package/dist/animation/CCDIKSolver.mjs +194 -149
  6. package/dist/animation/MMDAnimationHelper.js +613 -515
  7. package/dist/animation/MMDAnimationHelper.mjs +613 -515
  8. package/dist/animation/MMDPhysics.d.ts +6 -1
  9. package/dist/animation/MMDPhysics.js +728 -718
  10. package/dist/animation/MMDPhysics.mjs +729 -719
  11. package/dist/cameras/CinematicCamera.d.ts +2 -2
  12. package/dist/controls/ArcballControls.d.ts +1 -1
  13. package/dist/controls/ArcballControls.js +38 -44
  14. package/dist/controls/ArcballControls.mjs +39 -45
  15. package/dist/controls/DeviceOrientationControls.js +2 -1
  16. package/dist/controls/DeviceOrientationControls.mjs +2 -1
  17. package/dist/controls/FirstPersonControls.d.ts +1 -1
  18. package/dist/controls/FirstPersonControls.js +1 -1
  19. package/dist/controls/FirstPersonControls.mjs +1 -1
  20. package/dist/controls/PointerLockControls.js +2 -2
  21. package/dist/controls/PointerLockControls.mjs +2 -2
  22. package/dist/controls/TransformControls.d.ts +1 -1
  23. package/dist/controls/experimental/CameraControls.d.ts +1 -1
  24. package/dist/csm/CSM.js +4 -4
  25. package/dist/csm/CSM.mjs +4 -4
  26. package/dist/csm/CSMFrustum.js +1 -1
  27. package/dist/csm/CSMFrustum.mjs +1 -1
  28. package/dist/csm/CSMShader.js +14 -10
  29. package/dist/csm/CSMShader.mjs +14 -10
  30. package/dist/curves/CurveExtras.js +52 -62
  31. package/dist/curves/CurveExtras.mjs +53 -63
  32. package/dist/curves/NURBSUtils.d.ts +18 -20
  33. package/dist/curves/NURBSUtils.js +17 -17
  34. package/dist/curves/NURBSUtils.mjs +17 -17
  35. package/dist/deprecated/Geometry.js +26 -26
  36. package/dist/deprecated/Geometry.mjs +27 -27
  37. package/dist/effects/AnaglyphEffect.js +95 -114
  38. package/dist/effects/AnaglyphEffect.mjs +95 -114
  39. package/dist/effects/AsciiEffect.js +144 -162
  40. package/dist/effects/AsciiEffect.mjs +144 -162
  41. package/dist/effects/OutlineEffect.js +253 -276
  42. package/dist/effects/OutlineEffect.mjs +253 -276
  43. package/dist/effects/ParallaxBarrierEffect.js +61 -60
  44. package/dist/effects/ParallaxBarrierEffect.mjs +61 -60
  45. package/dist/effects/PeppersGhostEffect.js +84 -81
  46. package/dist/effects/PeppersGhostEffect.mjs +84 -81
  47. package/dist/effects/StereoEffect.js +31 -28
  48. package/dist/effects/StereoEffect.mjs +31 -28
  49. package/dist/environments/RoomEnvironment.d.ts +6 -5
  50. package/dist/exporters/GLTFExporter.d.ts +109 -441
  51. package/dist/exporters/GLTFExporter.js +912 -581
  52. package/dist/exporters/GLTFExporter.mjs +912 -581
  53. package/dist/geometries/ConvexGeometry.js +0 -3
  54. package/dist/geometries/ConvexGeometry.mjs +0 -3
  55. package/dist/geometries/LightningStrike.d.ts +3 -3
  56. package/dist/geometries/LightningStrike.js +80 -75
  57. package/dist/geometries/LightningStrike.mjs +80 -75
  58. package/dist/geometries/ParametricGeometries.js +75 -74
  59. package/dist/geometries/ParametricGeometries.mjs +75 -74
  60. package/dist/geometries/RoundedBoxGeometry.js +1 -1
  61. package/dist/geometries/RoundedBoxGeometry.mjs +1 -1
  62. package/dist/geometries/TextGeometry.d.ts +1 -1
  63. package/dist/helpers/RectAreaLightHelper.d.ts +4 -3
  64. package/dist/helpers/RectAreaLightHelper.js +2 -2
  65. package/dist/helpers/RectAreaLightHelper.mjs +2 -2
  66. package/dist/helpers/VertexNormalsHelper.d.ts +3 -0
  67. package/dist/helpers/VertexNormalsHelper.js +15 -22
  68. package/dist/helpers/VertexNormalsHelper.mjs +16 -23
  69. package/dist/helpers/VertexTangentsHelper.d.ts +3 -0
  70. package/dist/helpers/VertexTangentsHelper.js +12 -14
  71. package/dist/helpers/VertexTangentsHelper.mjs +12 -14
  72. package/dist/index.d.ts +1 -66
  73. package/dist/index.js +5 -370
  74. package/dist/index.mjs +9 -374
  75. package/dist/interactive/InteractiveGroup.js +1 -1
  76. package/dist/interactive/InteractiveGroup.mjs +1 -1
  77. package/dist/interactive/SelectionBox.js +122 -125
  78. package/dist/interactive/SelectionBox.mjs +122 -125
  79. package/dist/interactive/SelectionHelper.js +45 -48
  80. package/dist/interactive/SelectionHelper.mjs +45 -48
  81. package/dist/libs/MeshoptDecoder.d.ts +1 -1
  82. package/dist/libs/MotionControllers.d.ts +15 -14
  83. package/dist/libs/MotionControllers.js +10 -10
  84. package/dist/libs/MotionControllers.mjs +10 -10
  85. package/dist/lights/LightProbeGenerator.js +43 -43
  86. package/dist/lights/LightProbeGenerator.mjs +43 -43
  87. package/dist/lights/RectAreaLightUniformsLib.js +9 -5
  88. package/dist/lights/RectAreaLightUniformsLib.mjs +9 -5
  89. package/dist/lines/LineMaterial.js +271 -271
  90. package/dist/lines/LineMaterial.mjs +272 -272
  91. package/dist/lines/LineSegments2.js +12 -12
  92. package/dist/lines/LineSegments2.mjs +12 -12
  93. package/dist/lines/LineSegmentsGeometry.js +2 -2
  94. package/dist/lines/LineSegmentsGeometry.mjs +2 -2
  95. package/dist/lines/Wireframe.js +2 -2
  96. package/dist/lines/Wireframe.mjs +2 -2
  97. package/dist/loaders/3DMLoader.d.ts +2 -1
  98. package/dist/loaders/3MFLoader.d.ts +2 -1
  99. package/dist/loaders/AMFLoader.d.ts +2 -1
  100. package/dist/loaders/AssimpLoader.d.ts +20 -0
  101. package/dist/loaders/AssimpLoader.js +520 -482
  102. package/dist/loaders/AssimpLoader.mjs +520 -482
  103. package/dist/loaders/BVHLoader.d.ts +2 -1
  104. package/dist/loaders/BasisTextureLoader.d.ts +2 -1
  105. package/dist/loaders/BasisTextureLoader.js +23 -14
  106. package/dist/loaders/BasisTextureLoader.mjs +24 -15
  107. package/dist/loaders/ColladaLoader.d.ts +2 -1
  108. package/dist/loaders/DRACOLoader.d.ts +2 -1
  109. package/dist/loaders/FBXLoader.d.ts +2 -1
  110. package/dist/loaders/FBXLoader.js +2 -2
  111. package/dist/loaders/FBXLoader.mjs +2 -2
  112. package/dist/loaders/FontLoader.d.ts +4 -4
  113. package/dist/loaders/FontLoader.js +2 -1
  114. package/dist/loaders/FontLoader.mjs +2 -1
  115. package/dist/loaders/GCodeLoader.d.ts +2 -1
  116. package/dist/loaders/GLTFLoader.d.ts +11 -9
  117. package/dist/loaders/GLTFLoader.js +2 -2
  118. package/dist/loaders/GLTFLoader.mjs +2 -2
  119. package/dist/loaders/HDRCubeTextureLoader.d.ts +2 -1
  120. package/dist/loaders/KMZLoader.d.ts +2 -1
  121. package/dist/loaders/KTX2Loader.js +34 -15
  122. package/dist/loaders/KTX2Loader.mjs +35 -16
  123. package/dist/loaders/LDrawLoader.d.ts +2 -1
  124. package/dist/loaders/LDrawLoader.js +3 -3
  125. package/dist/loaders/LDrawLoader.mjs +3 -3
  126. package/dist/loaders/LUT3dlLoader.d.ts +3 -2
  127. package/dist/loaders/LUTCubeLoader.d.ts +3 -2
  128. package/dist/loaders/LWOLoader.d.ts +2 -1
  129. package/dist/loaders/LottieLoader.d.ts +2 -1
  130. package/dist/loaders/MD2Loader.d.ts +2 -1
  131. package/dist/loaders/MDDLoader.d.ts +2 -1
  132. package/dist/loaders/MMDLoader.d.ts +2 -1
  133. package/dist/loaders/MTLLoader.d.ts +2 -1
  134. package/dist/loaders/OBJLoader.d.ts +2 -1
  135. package/dist/loaders/OBJLoader.js +5 -5
  136. package/dist/loaders/OBJLoader.mjs +5 -5
  137. package/dist/loaders/PCDLoader.d.ts +2 -1
  138. package/dist/loaders/PDBLoader.d.ts +2 -1
  139. package/dist/loaders/PLYLoader.d.ts +2 -1
  140. package/dist/loaders/PRWMLoader.d.ts +2 -1
  141. package/dist/loaders/RGBMLoader.js +924 -918
  142. package/dist/loaders/RGBMLoader.mjs +924 -918
  143. package/dist/loaders/STLLoader.d.ts +2 -1
  144. package/dist/loaders/SVGLoader.d.ts +2 -1
  145. package/dist/loaders/TDSLoader.d.ts +2 -1
  146. package/dist/loaders/TTFLoader.d.ts +2 -1
  147. package/dist/loaders/TiltLoader.d.ts +2 -1
  148. package/dist/loaders/TiltLoader.js +3 -1
  149. package/dist/loaders/TiltLoader.mjs +3 -1
  150. package/dist/loaders/VOXLoader.d.ts +4 -2
  151. package/dist/loaders/VRMLLoader.d.ts +2 -1
  152. package/dist/loaders/VRMLoader.d.ts +20 -0
  153. package/dist/loaders/VTKLoader.d.ts +2 -1
  154. package/dist/loaders/XLoader.d.ts +20 -0
  155. package/dist/loaders/XLoader.js +1 -1
  156. package/dist/loaders/XLoader.mjs +1 -1
  157. package/dist/loaders/XYZLoader.d.ts +2 -1
  158. package/dist/loaders/lwo/IFFParser.js +104 -110
  159. package/dist/loaders/lwo/IFFParser.mjs +104 -110
  160. package/dist/loaders/lwo/LWO2Parser.js +18 -33
  161. package/dist/loaders/lwo/LWO2Parser.mjs +18 -33
  162. package/dist/loaders/lwo/LWO3Parser.js +17 -33
  163. package/dist/loaders/lwo/LWO3Parser.mjs +17 -33
  164. package/dist/math/Capsule.d.ts +1 -1
  165. package/dist/math/Capsule.js +90 -92
  166. package/dist/math/Capsule.mjs +90 -92
  167. package/dist/math/ColorConverter.js +26 -36
  168. package/dist/math/ColorConverter.mjs +26 -36
  169. package/dist/math/ConvexHull.js +16 -17
  170. package/dist/math/ConvexHull.mjs +17 -18
  171. package/dist/math/ImprovedNoise.js +41 -39
  172. package/dist/math/ImprovedNoise.mjs +41 -39
  173. package/dist/math/Lut.js +65 -63
  174. package/dist/math/Lut.mjs +66 -64
  175. package/dist/math/MeshSurfaceSampler.d.ts +3 -0
  176. package/dist/math/MeshSurfaceSampler.js +85 -89
  177. package/dist/math/MeshSurfaceSampler.mjs +85 -89
  178. package/dist/math/OBB.js +68 -88
  179. package/dist/math/OBB.mjs +68 -88
  180. package/dist/math/Octree.js +240 -245
  181. package/dist/math/Octree.mjs +240 -245
  182. package/dist/misc/ConvexObjectBreaker.js +114 -120
  183. package/dist/misc/ConvexObjectBreaker.mjs +115 -121
  184. package/dist/misc/GPUComputationRenderer.d.ts +1 -0
  185. package/dist/misc/GPUComputationRenderer.js +191 -157
  186. package/dist/misc/GPUComputationRenderer.mjs +192 -158
  187. package/dist/misc/Gyroscope.js +16 -18
  188. package/dist/misc/Gyroscope.mjs +17 -19
  189. package/dist/misc/MD2Character.js +88 -86
  190. package/dist/misc/MD2Character.mjs +89 -87
  191. package/dist/misc/MD2CharacterComplex.js +106 -105
  192. package/dist/misc/MD2CharacterComplex.mjs +107 -106
  193. package/dist/misc/MorphAnimMesh.d.ts +1 -1
  194. package/dist/misc/MorphAnimMesh.js +33 -33
  195. package/dist/misc/MorphAnimMesh.mjs +33 -33
  196. package/dist/misc/MorphBlendMesh.js +68 -68
  197. package/dist/misc/MorphBlendMesh.mjs +68 -68
  198. package/dist/misc/ProgressiveLightmap.d.ts +1 -2
  199. package/dist/misc/RollerCoaster.js +321 -314
  200. package/dist/misc/RollerCoaster.mjs +322 -315
  201. package/dist/misc/Volume.d.ts +1 -1
  202. package/dist/misc/Volume.js +169 -166
  203. package/dist/misc/Volume.mjs +170 -167
  204. package/dist/misc/VolumeSlice.js +50 -51
  205. package/dist/misc/VolumeSlice.mjs +50 -51
  206. package/dist/modifiers/CurveModifier.d.ts +2 -2
  207. package/dist/modifiers/CurveModifier.js +1 -1
  208. package/dist/modifiers/CurveModifier.mjs +1 -1
  209. package/dist/modifiers/SimplifyModifier.js +2 -1
  210. package/dist/modifiers/SimplifyModifier.mjs +2 -1
  211. package/dist/objects/Lensflare.js +32 -21
  212. package/dist/objects/Lensflare.mjs +33 -22
  213. package/dist/objects/LightningStorm.d.ts +3 -3
  214. package/dist/objects/LightningStorm.js +3 -3
  215. package/dist/objects/LightningStorm.mjs +3 -3
  216. package/dist/objects/MarchingCubes.d.ts +1 -0
  217. package/dist/objects/MarchingCubes.js +4362 -10
  218. package/dist/objects/MarchingCubes.mjs +4363 -11
  219. package/dist/objects/Reflector.d.ts +5 -2
  220. package/dist/objects/Reflector.js +39 -12
  221. package/dist/objects/Reflector.mjs +40 -13
  222. package/dist/objects/ReflectorForSSRPass.js +25 -21
  223. package/dist/objects/ReflectorForSSRPass.mjs +26 -22
  224. package/dist/objects/ReflectorRTT.d.ts +6 -0
  225. package/dist/objects/Refractor.d.ts +5 -2
  226. package/dist/objects/Refractor.js +39 -12
  227. package/dist/objects/Refractor.mjs +40 -13
  228. package/dist/objects/ShadowMesh.d.ts +6 -3
  229. package/dist/objects/ShadowMesh.js +7 -3
  230. package/dist/objects/ShadowMesh.mjs +8 -4
  231. package/dist/objects/Sky.js +181 -137
  232. package/dist/objects/Sky.mjs +182 -138
  233. package/dist/objects/Water.d.ts +3 -3
  234. package/dist/objects/Water.js +3 -2
  235. package/dist/objects/Water.mjs +3 -2
  236. package/dist/objects/Water2.d.ts +2 -2
  237. package/dist/objects/Water2.js +16 -18
  238. package/dist/objects/Water2.mjs +17 -19
  239. package/dist/postprocessing/AdaptiveToneMappingPass.d.ts +2 -2
  240. package/dist/postprocessing/AdaptiveToneMappingPass.js +105 -112
  241. package/dist/postprocessing/AdaptiveToneMappingPass.mjs +107 -114
  242. package/dist/postprocessing/BokehPass.d.ts +1 -1
  243. package/dist/postprocessing/ClearPass.d.ts +3 -3
  244. package/dist/postprocessing/CubeTexturePass.js +37 -33
  245. package/dist/postprocessing/CubeTexturePass.mjs +37 -33
  246. package/dist/postprocessing/HalftonePass.d.ts +1 -1
  247. package/dist/postprocessing/LUTPass.d.ts +3 -3
  248. package/dist/postprocessing/RenderPixelatedPass.d.ts +28 -0
  249. package/dist/postprocessing/SAOPass.d.ts +5 -6
  250. package/dist/postprocessing/SAOPass.js +151 -145
  251. package/dist/postprocessing/SAOPass.mjs +153 -147
  252. package/dist/postprocessing/SSAARenderPass.d.ts +5 -5
  253. package/dist/postprocessing/SSAARenderPass.js +78 -55
  254. package/dist/postprocessing/SSAARenderPass.mjs +80 -57
  255. package/dist/postprocessing/SSAOPass.d.ts +4 -5
  256. package/dist/postprocessing/SSAOPass.js +17 -10
  257. package/dist/postprocessing/SSAOPass.mjs +17 -10
  258. package/dist/postprocessing/SSRPass.d.ts +6 -7
  259. package/dist/postprocessing/SSRPass.js +235 -262
  260. package/dist/postprocessing/SSRPass.mjs +237 -264
  261. package/dist/postprocessing/TAARenderPass.d.ts +2 -2
  262. package/dist/postprocessing/TAARenderPass.js +106 -27
  263. package/dist/postprocessing/TAARenderPass.mjs +107 -28
  264. package/dist/postprocessing/TexturePass.d.ts +2 -2
  265. package/dist/postprocessing/TexturePass.js +24 -22
  266. package/dist/postprocessing/TexturePass.mjs +25 -23
  267. package/dist/postprocessing/UnrealBloomPass.js +175 -118
  268. package/dist/postprocessing/UnrealBloomPass.mjs +177 -120
  269. package/dist/renderers/CSS2DRenderer.d.ts +2 -1
  270. package/dist/renderers/CSS2DRenderer.js +5 -4
  271. package/dist/renderers/CSS2DRenderer.mjs +6 -5
  272. package/dist/renderers/CSS3DRenderer.d.ts +1 -1
  273. package/dist/renderers/CSS3DRenderer.js +147 -113
  274. package/dist/renderers/CSS3DRenderer.mjs +148 -114
  275. package/dist/renderers/Projector.js +377 -389
  276. package/dist/renderers/Projector.mjs +377 -389
  277. package/dist/renderers/SVGRenderer.js +280 -275
  278. package/dist/renderers/SVGRenderer.mjs +280 -275
  279. package/dist/shaders/ACESFilmicToneMappingShader.d.ts +1 -1
  280. package/dist/shaders/AfterimageShader.d.ts +1 -1
  281. package/dist/shaders/BasicShader.d.ts +1 -1
  282. package/dist/shaders/BleachBypassShader.d.ts +1 -1
  283. package/dist/shaders/BokehShader.d.ts +2 -2
  284. package/dist/shaders/BokehShader2.d.ts +2 -2
  285. package/dist/shaders/BokehShader2.js +1 -1
  286. package/dist/shaders/BokehShader2.mjs +1 -1
  287. package/dist/shaders/ColorCorrectionShader.js +3 -3
  288. package/dist/shaders/ColorCorrectionShader.mjs +3 -3
  289. package/dist/shaders/ColorifyShader.js +1 -1
  290. package/dist/shaders/ColorifyShader.mjs +1 -1
  291. package/dist/shaders/ConvolutionShader.d.ts +2 -2
  292. package/dist/shaders/ConvolutionShader.js +1 -1
  293. package/dist/shaders/ConvolutionShader.mjs +1 -1
  294. package/dist/shaders/CopyShader.d.ts +1 -1
  295. package/dist/shaders/DepthLimitedBlurShader.d.ts +2 -2
  296. package/dist/shaders/DepthLimitedBlurShader.js +2 -2
  297. package/dist/shaders/DepthLimitedBlurShader.mjs +2 -2
  298. package/dist/shaders/DotScreenShader.js +2 -2
  299. package/dist/shaders/DotScreenShader.mjs +2 -2
  300. package/dist/shaders/FXAAShader.js +1 -1
  301. package/dist/shaders/FXAAShader.mjs +1 -1
  302. package/dist/shaders/FreiChenShader.js +1 -1
  303. package/dist/shaders/FreiChenShader.mjs +1 -1
  304. package/dist/shaders/GammaCorrectionShader.d.ts +1 -1
  305. package/dist/shaders/GodRaysShader.js +4 -4
  306. package/dist/shaders/GodRaysShader.mjs +4 -4
  307. package/dist/shaders/HorizontalBlurShader.d.ts +1 -1
  308. package/dist/shaders/LuminosityHighPassShader.js +1 -1
  309. package/dist/shaders/LuminosityHighPassShader.mjs +1 -1
  310. package/dist/shaders/NormalMapShader.js +2 -2
  311. package/dist/shaders/NormalMapShader.mjs +2 -2
  312. package/dist/shaders/SAOShader.d.ts +2 -2
  313. package/dist/shaders/SAOShader.js +3 -3
  314. package/dist/shaders/SAOShader.mjs +3 -3
  315. package/dist/shaders/SMAAShader.js +3 -3
  316. package/dist/shaders/SMAAShader.mjs +3 -3
  317. package/dist/shaders/SSAOShader.js +4 -4
  318. package/dist/shaders/SSAOShader.mjs +4 -4
  319. package/dist/shaders/SSRShader.js +4 -4
  320. package/dist/shaders/SSRShader.mjs +4 -4
  321. package/dist/shaders/SobelOperatorShader.js +1 -1
  322. package/dist/shaders/SobelOperatorShader.mjs +1 -1
  323. package/dist/shaders/SubsurfaceScatteringShader.d.ts +2 -2
  324. package/dist/shaders/SubsurfaceScatteringShader.js +91 -52
  325. package/dist/shaders/SubsurfaceScatteringShader.mjs +91 -52
  326. package/dist/shaders/ToonShader.js +25 -25
  327. package/dist/shaders/ToonShader.mjs +25 -25
  328. package/dist/shaders/TriangleBlurShader.js +1 -1
  329. package/dist/shaders/TriangleBlurShader.mjs +1 -1
  330. package/dist/shaders/VerticalBlurShader.d.ts +1 -1
  331. package/dist/shaders/VolumeShader.js +2 -2
  332. package/dist/shaders/VolumeShader.mjs +2 -2
  333. package/dist/shaders/types.d.ts +2 -2
  334. package/dist/types/Loader.d.ts +4 -0
  335. package/dist/types/Loader.js +26 -0
  336. package/dist/types/Loader.mjs +9 -0
  337. package/dist/types/shared.d.ts +2 -2
  338. package/dist/types/utils.d.ts +1 -1
  339. package/dist/utils/BufferGeometryUtils.d.ts +2 -2
  340. package/dist/utils/BufferGeometryUtils.js +1 -1
  341. package/dist/utils/BufferGeometryUtils.mjs +1 -1
  342. package/dist/utils/RoughnessMipmapper.d.ts +8 -0
  343. package/dist/utils/RoughnessMipmapper.js +79 -75
  344. package/dist/utils/RoughnessMipmapper.mjs +79 -75
  345. package/dist/utils/ShadowMapViewer.js +103 -106
  346. package/dist/utils/ShadowMapViewer.mjs +103 -106
  347. package/dist/utils/SkeletonUtils.d.ts +5 -21
  348. package/dist/utils/SkeletonUtils.js +182 -263
  349. package/dist/utils/SkeletonUtils.mjs +183 -264
  350. package/dist/utils/UVsDebug.js +37 -42
  351. package/dist/utils/UVsDebug.mjs +37 -42
  352. package/dist/webxr/ARButton.d.ts +2 -1
  353. package/dist/webxr/OculusHandModel.d.ts +2 -1
  354. package/dist/webxr/OculusHandPointerModel.d.ts +2 -2
  355. package/dist/webxr/OculusHandPointerModel.js +2 -2
  356. package/dist/webxr/OculusHandPointerModel.mjs +2 -2
  357. package/dist/webxr/VRButton.d.ts +2 -1
  358. package/dist/webxr/XRHandPrimitiveModel.js +2 -2
  359. package/dist/webxr/XRHandPrimitiveModel.mjs +2 -2
  360. package/package.json +5 -6
  361. package/dist/custom.d.ts +0 -5
  362. package/dist/loaders/NodeMaterialLoader.js +0 -146
  363. package/dist/loaders/NodeMaterialLoader.mjs +0 -146
  364. package/dist/nodes/Nodes.js +0 -347
  365. package/dist/nodes/Nodes.mjs +0 -347
  366. package/dist/nodes/ShaderNode.js +0 -408
  367. package/dist/nodes/ShaderNode.mjs +0 -408
  368. package/dist/nodes/accessors/BufferNode.js +0 -14
  369. package/dist/nodes/accessors/BufferNode.mjs +0 -15
  370. package/dist/nodes/accessors/CameraNode.js +0 -43
  371. package/dist/nodes/accessors/CameraNode.mjs +0 -44
  372. package/dist/nodes/accessors/CubeTextureNode.js +0 -41
  373. package/dist/nodes/accessors/CubeTextureNode.mjs +0 -42
  374. package/dist/nodes/accessors/MaterialNode.js +0 -70
  375. package/dist/nodes/accessors/MaterialNode.mjs +0 -71
  376. package/dist/nodes/accessors/MaterialReferenceNode.js +0 -13
  377. package/dist/nodes/accessors/MaterialReferenceNode.mjs +0 -14
  378. package/dist/nodes/accessors/ModelNode.js +0 -8
  379. package/dist/nodes/accessors/ModelNode.mjs +0 -9
  380. package/dist/nodes/accessors/ModelViewProjectionNode.js +0 -23
  381. package/dist/nodes/accessors/ModelViewProjectionNode.mjs +0 -24
  382. package/dist/nodes/accessors/NormalNode.js +0 -61
  383. package/dist/nodes/accessors/NormalNode.mjs +0 -62
  384. package/dist/nodes/accessors/Object3DNode.js +0 -75
  385. package/dist/nodes/accessors/Object3DNode.mjs +0 -76
  386. package/dist/nodes/accessors/PointUVNode.js +0 -12
  387. package/dist/nodes/accessors/PointUVNode.mjs +0 -13
  388. package/dist/nodes/accessors/PositionNode.js +0 -64
  389. package/dist/nodes/accessors/PositionNode.mjs +0 -65
  390. package/dist/nodes/accessors/ReferenceNode.js +0 -36
  391. package/dist/nodes/accessors/ReferenceNode.mjs +0 -37
  392. package/dist/nodes/accessors/ReflectNode.js +0 -42
  393. package/dist/nodes/accessors/ReflectNode.mjs +0 -43
  394. package/dist/nodes/accessors/SkinningNode.js +0 -57
  395. package/dist/nodes/accessors/SkinningNode.mjs +0 -58
  396. package/dist/nodes/accessors/TextureNode.js +0 -53
  397. package/dist/nodes/accessors/TextureNode.mjs +0 -54
  398. package/dist/nodes/accessors/UVNode.js +0 -22
  399. package/dist/nodes/accessors/UVNode.mjs +0 -23
  400. package/dist/nodes/core/ArrayUniformNode.js +0 -13
  401. package/dist/nodes/core/ArrayUniformNode.mjs +0 -14
  402. package/dist/nodes/core/AttributeNode.js +0 -29
  403. package/dist/nodes/core/AttributeNode.mjs +0 -30
  404. package/dist/nodes/core/BypassNode.js +0 -21
  405. package/dist/nodes/core/BypassNode.mjs +0 -22
  406. package/dist/nodes/core/CodeNode.js +0 -27
  407. package/dist/nodes/core/CodeNode.mjs +0 -28
  408. package/dist/nodes/core/ConstNode.js +0 -13
  409. package/dist/nodes/core/ConstNode.mjs +0 -14
  410. package/dist/nodes/core/ContextNode.js +0 -21
  411. package/dist/nodes/core/ContextNode.mjs +0 -22
  412. package/dist/nodes/core/ExpressionNode.js +0 -18
  413. package/dist/nodes/core/ExpressionNode.mjs +0 -19
  414. package/dist/nodes/core/FunctionCallNode.js +0 -36
  415. package/dist/nodes/core/FunctionCallNode.mjs +0 -37
  416. package/dist/nodes/core/FunctionNode.js +0 -55
  417. package/dist/nodes/core/FunctionNode.mjs +0 -56
  418. package/dist/nodes/core/InputNode.js +0 -37
  419. package/dist/nodes/core/InputNode.mjs +0 -38
  420. package/dist/nodes/core/Node.js +0 -138
  421. package/dist/nodes/core/Node.mjs +0 -139
  422. package/dist/nodes/core/NodeAttribute.js +0 -9
  423. package/dist/nodes/core/NodeAttribute.mjs +0 -10
  424. package/dist/nodes/core/NodeBuilder.js +0 -402
  425. package/dist/nodes/core/NodeBuilder.mjs +0 -402
  426. package/dist/nodes/core/NodeCode.js +0 -10
  427. package/dist/nodes/core/NodeCode.mjs +0 -11
  428. package/dist/nodes/core/NodeFrame.js +0 -34
  429. package/dist/nodes/core/NodeFrame.mjs +0 -35
  430. package/dist/nodes/core/NodeFunctionInput.js +0 -12
  431. package/dist/nodes/core/NodeFunctionInput.mjs +0 -13
  432. package/dist/nodes/core/NodeKeywords.js +0 -43
  433. package/dist/nodes/core/NodeKeywords.mjs +0 -44
  434. package/dist/nodes/core/NodeUniform.js +0 -17
  435. package/dist/nodes/core/NodeUniform.mjs +0 -18
  436. package/dist/nodes/core/NodeUtils.js +0 -57
  437. package/dist/nodes/core/NodeUtils.mjs +0 -57
  438. package/dist/nodes/core/NodeVar.js +0 -9
  439. package/dist/nodes/core/NodeVar.mjs +0 -10
  440. package/dist/nodes/core/NodeVary.js +0 -9
  441. package/dist/nodes/core/NodeVary.mjs +0 -10
  442. package/dist/nodes/core/PropertyNode.js +0 -20
  443. package/dist/nodes/core/PropertyNode.mjs +0 -21
  444. package/dist/nodes/core/TempNode.js +0 -24
  445. package/dist/nodes/core/TempNode.mjs +0 -25
  446. package/dist/nodes/core/UniformNode.js +0 -22
  447. package/dist/nodes/core/UniformNode.mjs +0 -23
  448. package/dist/nodes/core/VarNode.js +0 -30
  449. package/dist/nodes/core/VarNode.mjs +0 -31
  450. package/dist/nodes/core/VaryNode.js +0 -29
  451. package/dist/nodes/core/VaryNode.mjs +0 -30
  452. package/dist/nodes/core/constants.js +0 -24
  453. package/dist/nodes/core/constants.mjs +0 -24
  454. package/dist/nodes/display/ColorSpaceNode.js +0 -62
  455. package/dist/nodes/display/ColorSpaceNode.mjs +0 -62
  456. package/dist/nodes/display/NormalMapNode.js +0 -53
  457. package/dist/nodes/display/NormalMapNode.mjs +0 -54
  458. package/dist/nodes/fog/FogNode.js +0 -14
  459. package/dist/nodes/fog/FogNode.mjs +0 -15
  460. package/dist/nodes/fog/FogRangeNode.js +0 -16
  461. package/dist/nodes/fog/FogRangeNode.mjs +0 -17
  462. package/dist/nodes/functions/BSDFs.js +0 -64
  463. package/dist/nodes/functions/BSDFs.mjs +0 -64
  464. package/dist/nodes/lights/LightContextNode.js +0 -34
  465. package/dist/nodes/lights/LightContextNode.mjs +0 -35
  466. package/dist/nodes/lights/LightNode.js +0 -57
  467. package/dist/nodes/lights/LightNode.mjs +0 -58
  468. package/dist/nodes/lights/LightsNode.js +0 -58
  469. package/dist/nodes/lights/LightsNode.mjs +0 -59
  470. package/dist/nodes/loaders/NodeLoader.js +0 -195
  471. package/dist/nodes/loaders/NodeLoader.mjs +0 -196
  472. package/dist/nodes/loaders/NodeMaterialLoader.js +0 -23
  473. package/dist/nodes/loaders/NodeMaterialLoader.mjs +0 -24
  474. package/dist/nodes/loaders/NodeObjectLoader.js +0 -39
  475. package/dist/nodes/loaders/NodeObjectLoader.mjs +0 -40
  476. package/dist/nodes/materials/LineBasicNodeMaterial.js +0 -26
  477. package/dist/nodes/materials/LineBasicNodeMaterial.mjs +0 -27
  478. package/dist/nodes/materials/Materials.js +0 -24
  479. package/dist/nodes/materials/Materials.mjs +0 -24
  480. package/dist/nodes/materials/MeshBasicNodeMaterial.js +0 -27
  481. package/dist/nodes/materials/MeshBasicNodeMaterial.mjs +0 -28
  482. package/dist/nodes/materials/MeshStandardNodeMaterial.js +0 -40
  483. package/dist/nodes/materials/MeshStandardNodeMaterial.mjs +0 -41
  484. package/dist/nodes/materials/NodeMaterial.js +0 -63
  485. package/dist/nodes/materials/NodeMaterial.mjs +0 -64
  486. package/dist/nodes/materials/PointsNodeMaterial.js +0 -29
  487. package/dist/nodes/materials/PointsNodeMaterial.mjs +0 -30
  488. package/dist/nodes/math/CondNode.js +0 -40
  489. package/dist/nodes/math/CondNode.mjs +0 -41
  490. package/dist/nodes/math/MathNode.js +0 -165
  491. package/dist/nodes/math/MathNode.mjs +0 -166
  492. package/dist/nodes/math/OperatorNode.js +0 -102
  493. package/dist/nodes/math/OperatorNode.mjs +0 -103
  494. package/dist/nodes/procedural/CheckerNode.js +0 -20
  495. package/dist/nodes/procedural/CheckerNode.mjs +0 -21
  496. package/dist/nodes/utils/ArrayElementNode.js +0 -18
  497. package/dist/nodes/utils/ArrayElementNode.mjs +0 -19
  498. package/dist/nodes/utils/ConvertNode.js +0 -24
  499. package/dist/nodes/utils/ConvertNode.mjs +0 -25
  500. package/dist/nodes/utils/JoinNode.js +0 -25
  501. package/dist/nodes/utils/JoinNode.mjs +0 -26
  502. package/dist/nodes/utils/MatcapUVNode.js +0 -15
  503. package/dist/nodes/utils/MatcapUVNode.mjs +0 -16
  504. package/dist/nodes/utils/OscNode.js +0 -49
  505. package/dist/nodes/utils/OscNode.mjs +0 -50
  506. package/dist/nodes/utils/SplitNode.js +0 -44
  507. package/dist/nodes/utils/SplitNode.mjs +0 -45
  508. package/dist/nodes/utils/SpriteSheetUVNode.js +0 -39
  509. package/dist/nodes/utils/SpriteSheetUVNode.mjs +0 -40
  510. package/dist/nodes/utils/TimerNode.js +0 -43
  511. package/dist/nodes/utils/TimerNode.mjs +0 -44
  512. package/dist/offscreen/jank.js +0 -26
  513. package/dist/offscreen/jank.mjs +0 -27
  514. package/dist/offscreen/offscreen.js +0 -8
  515. package/dist/offscreen/offscreen.mjs +0 -7
  516. package/dist/offscreen/scene.js +0 -68
  517. package/dist/offscreen/scene.mjs +0 -52
  518. package/dist/renderers/nodes/accessors/CameraNode.js +0 -62
  519. package/dist/renderers/nodes/accessors/CameraNode.mjs +0 -63
  520. package/dist/renderers/nodes/accessors/ModelNode.js +0 -60
  521. package/dist/renderers/nodes/accessors/ModelNode.mjs +0 -61
  522. package/dist/renderers/nodes/accessors/ModelViewProjectionNode.js +0 -20
  523. package/dist/renderers/nodes/accessors/ModelViewProjectionNode.mjs +0 -21
  524. package/dist/renderers/nodes/accessors/NormalNode.js +0 -60
  525. package/dist/renderers/nodes/accessors/NormalNode.mjs +0 -61
  526. package/dist/renderers/nodes/accessors/PositionNode.js +0 -29
  527. package/dist/renderers/nodes/accessors/PositionNode.mjs +0 -30
  528. package/dist/renderers/nodes/accessors/UVNode.js +0 -12
  529. package/dist/renderers/nodes/accessors/UVNode.mjs +0 -13
  530. package/dist/renderers/nodes/core/AttributeNode.js +0 -34
  531. package/dist/renderers/nodes/core/AttributeNode.mjs +0 -35
  532. package/dist/renderers/nodes/core/InputNode.js +0 -30
  533. package/dist/renderers/nodes/core/InputNode.mjs +0 -31
  534. package/dist/renderers/nodes/core/Node.js +0 -33
  535. package/dist/renderers/nodes/core/Node.mjs +0 -34
  536. package/dist/renderers/nodes/core/NodeAttribute.js +0 -9
  537. package/dist/renderers/nodes/core/NodeAttribute.mjs +0 -10
  538. package/dist/renderers/nodes/core/NodeBuilder.js +0 -248
  539. package/dist/renderers/nodes/core/NodeBuilder.mjs +0 -249
  540. package/dist/renderers/nodes/core/NodeFrame.js +0 -34
  541. package/dist/renderers/nodes/core/NodeFrame.mjs +0 -35
  542. package/dist/renderers/nodes/core/NodeSlot.js +0 -9
  543. package/dist/renderers/nodes/core/NodeSlot.mjs +0 -10
  544. package/dist/renderers/nodes/core/NodeUniform.js +0 -17
  545. package/dist/renderers/nodes/core/NodeUniform.mjs +0 -18
  546. package/dist/renderers/nodes/core/NodeVary.js +0 -10
  547. package/dist/renderers/nodes/core/NodeVary.mjs +0 -11
  548. package/dist/renderers/nodes/core/VaryNode.js +0 -21
  549. package/dist/renderers/nodes/core/VaryNode.mjs +0 -22
  550. package/dist/renderers/nodes/core/constants.js +0 -22
  551. package/dist/renderers/nodes/core/constants.mjs +0 -22
  552. package/dist/renderers/nodes/inputs/ColorNode.js +0 -10
  553. package/dist/renderers/nodes/inputs/ColorNode.mjs +0 -11
  554. package/dist/renderers/nodes/inputs/FloatNode.js +0 -10
  555. package/dist/renderers/nodes/inputs/FloatNode.mjs +0 -11
  556. package/dist/renderers/nodes/inputs/Matrix3Node.js +0 -11
  557. package/dist/renderers/nodes/inputs/Matrix3Node.mjs +0 -12
  558. package/dist/renderers/nodes/inputs/Matrix4Node.js +0 -11
  559. package/dist/renderers/nodes/inputs/Matrix4Node.mjs +0 -12
  560. package/dist/renderers/nodes/inputs/TextureNode.js +0 -19
  561. package/dist/renderers/nodes/inputs/TextureNode.mjs +0 -20
  562. package/dist/renderers/nodes/inputs/Vector2Node.js +0 -10
  563. package/dist/renderers/nodes/inputs/Vector2Node.mjs +0 -11
  564. package/dist/renderers/nodes/inputs/Vector3Node.js +0 -11
  565. package/dist/renderers/nodes/inputs/Vector3Node.mjs +0 -12
  566. package/dist/renderers/nodes/inputs/Vector4Node.js +0 -11
  567. package/dist/renderers/nodes/inputs/Vector4Node.mjs +0 -12
  568. package/dist/renderers/nodes/math/MathNode.js +0 -54
  569. package/dist/renderers/nodes/math/MathNode.mjs +0 -55
  570. package/dist/renderers/nodes/math/OperatorNode.js +0 -41
  571. package/dist/renderers/nodes/math/OperatorNode.mjs +0 -42
  572. package/dist/renderers/nodes/utils/SwitchNode.js +0 -19
  573. package/dist/renderers/nodes/utils/SwitchNode.mjs +0 -20
  574. package/dist/renderers/nodes/utils/TimerNode.js +0 -13
  575. package/dist/renderers/nodes/utils/TimerNode.mjs +0 -14
  576. package/dist/renderers/webgpu/WebGPU.js +0 -23
  577. package/dist/renderers/webgpu/WebGPU.mjs +0 -24
  578. package/dist/renderers/webgpu/WebGPUAttributes.js +0 -68
  579. package/dist/renderers/webgpu/WebGPUAttributes.mjs +0 -69
  580. package/dist/renderers/webgpu/WebGPUBackground.js +0 -60
  581. package/dist/renderers/webgpu/WebGPUBackground.mjs +0 -61
  582. package/dist/renderers/webgpu/WebGPUBinding.js +0 -13
  583. package/dist/renderers/webgpu/WebGPUBinding.mjs +0 -14
  584. package/dist/renderers/webgpu/WebGPUBindings.js +0 -154
  585. package/dist/renderers/webgpu/WebGPUBindings.mjs +0 -155
  586. package/dist/renderers/webgpu/WebGPUComputePipelines.js +0 -43
  587. package/dist/renderers/webgpu/WebGPUComputePipelines.mjs +0 -44
  588. package/dist/renderers/webgpu/WebGPUGeometries.js +0 -40
  589. package/dist/renderers/webgpu/WebGPUGeometries.mjs +0 -41
  590. package/dist/renderers/webgpu/WebGPUInfo.js +0 -45
  591. package/dist/renderers/webgpu/WebGPUInfo.mjs +0 -46
  592. package/dist/renderers/webgpu/WebGPUObjects.js +0 -24
  593. package/dist/renderers/webgpu/WebGPUObjects.mjs +0 -25
  594. package/dist/renderers/webgpu/WebGPUProperties.js +0 -21
  595. package/dist/renderers/webgpu/WebGPUProperties.mjs +0 -22
  596. package/dist/renderers/webgpu/WebGPURenderLists.js +0 -118
  597. package/dist/renderers/webgpu/WebGPURenderLists.mjs +0 -119
  598. package/dist/renderers/webgpu/WebGPURenderPipelines.js +0 -545
  599. package/dist/renderers/webgpu/WebGPURenderPipelines.mjs +0 -546
  600. package/dist/renderers/webgpu/WebGPURenderer.js +0 -596
  601. package/dist/renderers/webgpu/WebGPURenderer.mjs +0 -575
  602. package/dist/renderers/webgpu/WebGPUSampledTexture.js +0 -40
  603. package/dist/renderers/webgpu/WebGPUSampledTexture.mjs +0 -40
  604. package/dist/renderers/webgpu/WebGPUSampler.js +0 -14
  605. package/dist/renderers/webgpu/WebGPUSampler.mjs +0 -15
  606. package/dist/renderers/webgpu/WebGPUStorageBuffer.js +0 -14
  607. package/dist/renderers/webgpu/WebGPUStorageBuffer.mjs +0 -15
  608. package/dist/renderers/webgpu/WebGPUTextureRenderer.js +0 -22
  609. package/dist/renderers/webgpu/WebGPUTextureRenderer.mjs +0 -23
  610. package/dist/renderers/webgpu/WebGPUTextureUtils.js +0 -97
  611. package/dist/renderers/webgpu/WebGPUTextureUtils.mjs +0 -98
  612. package/dist/renderers/webgpu/WebGPUTextures.js +0 -483
  613. package/dist/renderers/webgpu/WebGPUTextures.mjs +0 -484
  614. package/dist/renderers/webgpu/WebGPUUniform.js +0 -81
  615. package/dist/renderers/webgpu/WebGPUUniform.mjs +0 -81
  616. package/dist/renderers/webgpu/WebGPUUniformsGroup.js +0 -175
  617. package/dist/renderers/webgpu/WebGPUUniformsGroup.mjs +0 -176
  618. package/dist/renderers/webgpu/constants.js +0 -241
  619. package/dist/renderers/webgpu/constants.mjs +0 -241
  620. package/dist/renderers/webgpu/nodes/ShaderLib.js +0 -41
  621. package/dist/renderers/webgpu/nodes/ShaderLib.mjs +0 -42
  622. package/dist/renderers/webgpu/nodes/WebGPUNodeBuilder.js +0 -164
  623. package/dist/renderers/webgpu/nodes/WebGPUNodeBuilder.mjs +0 -165
  624. package/dist/renderers/webgpu/nodes/WebGPUNodeUniform.js +0 -73
  625. package/dist/renderers/webgpu/nodes/WebGPUNodeUniform.mjs +0 -73
  626. package/dist/renderers/webgpu/nodes/WebGPUNodeUniformsGroup.js +0 -14
  627. package/dist/renderers/webgpu/nodes/WebGPUNodeUniformsGroup.mjs +0 -15
  628. package/dist/renderers/webgpu/nodes/WebGPUNodes.js +0 -39
  629. package/dist/renderers/webgpu/nodes/WebGPUNodes.mjs +0 -40
@@ -7,9 +7,6 @@ class ConvexGeometry extends THREE.BufferGeometry {
7
7
  super();
8
8
  const vertices = [];
9
9
  const normals = [];
10
- if (ConvexHull.ConvexHull === void 0) {
11
- console.error("THREE.ConvexGeometry: ConvexGeometry relies on ConvexHull");
12
- }
13
10
  const convexHull = new ConvexHull.ConvexHull().setFromPoints(points);
14
11
  const faces = convexHull.faces;
15
12
  for (let i = 0; i < faces.length; i++) {
@@ -5,9 +5,6 @@ class ConvexGeometry extends BufferGeometry {
5
5
  super();
6
6
  const vertices = [];
7
7
  const normals = [];
8
- if (ConvexHull === void 0) {
9
- console.error("THREE.ConvexGeometry: ConvexGeometry relies on ConvexHull");
10
- }
11
8
  const convexHull = new ConvexHull().setFromPoints(points);
12
9
  const faces = convexHull.faces;
13
10
  for (let i = 0; i < faces.length; i++) {
@@ -1,4 +1,4 @@
1
- import { Vector3 } from 'three'
1
+ import { BufferGeometry, Vector3 } from 'three'
2
2
 
3
3
  export interface RandomGenerator {
4
4
  random(): number
@@ -87,7 +87,7 @@ export interface RayParameters {
87
87
  ) => void
88
88
  }
89
89
 
90
- export class LightningStrike {
90
+ export class LightningStrike extends BufferGeometry {
91
91
  constructor(rayParameters?: RayParameters)
92
92
  copyParameters(dest?: RayParameters, source?: RayParameters): RayParameters
93
93
 
@@ -103,6 +103,6 @@ export class LightningStrike {
103
103
 
104
104
  update(time: number): void
105
105
 
106
- copy(source: LightningStrike): LightningStrike
106
+ copy(source: LightningStrike): this
107
107
  clone(): this
108
108
  }
@@ -1,34 +1,82 @@
1
1
  "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
4
+ var __publicField = (obj, key, value) => {
5
+ __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
6
+ return value;
7
+ };
2
8
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
9
  const THREE = require("three");
4
10
  const SimplexNoise = require("../math/SimplexNoise.js");
5
- class LightningStrike extends THREE.BufferGeometry {
6
- constructor(rayParameters) {
11
+ const _LightningStrike = class extends THREE.BufferGeometry {
12
+ constructor(rayParameters = {}) {
7
13
  super();
14
+ this.isLightningStrike = true;
8
15
  this.type = "LightningStrike";
9
- rayParameters = rayParameters || {};
10
- this.init(LightningStrike.copyParameters(rayParameters, rayParameters));
16
+ this.init(_LightningStrike.copyParameters(rayParameters, rayParameters));
11
17
  this.createMesh();
12
18
  }
19
+ static createRandomGenerator() {
20
+ const numSeeds = 2053;
21
+ const seeds = [];
22
+ for (let i = 0; i < numSeeds; i++) {
23
+ seeds.push(Math.random());
24
+ }
25
+ const generator = {
26
+ currentSeed: 0,
27
+ random: function() {
28
+ const value = seeds[generator.currentSeed];
29
+ generator.currentSeed = (generator.currentSeed + 1) % numSeeds;
30
+ return value;
31
+ },
32
+ getSeed: function() {
33
+ return generator.currentSeed / numSeeds;
34
+ },
35
+ setSeed: function(seed) {
36
+ generator.currentSeed = Math.floor(seed * numSeeds) % numSeeds;
37
+ }
38
+ };
39
+ return generator;
40
+ }
41
+ static copyParameters(dest = {}, source = {}) {
42
+ const vecCopy = function(v) {
43
+ if (source === dest) {
44
+ return v;
45
+ } else {
46
+ return v.clone();
47
+ }
48
+ };
49
+ dest.sourceOffset = source.sourceOffset !== void 0 ? vecCopy(source.sourceOffset) : new THREE.Vector3(0, 100, 0), dest.destOffset = source.destOffset !== void 0 ? vecCopy(source.destOffset) : new THREE.Vector3(0, 0, 0), dest.timeScale = source.timeScale !== void 0 ? source.timeScale : 1, dest.roughness = source.roughness !== void 0 ? source.roughness : 0.9, dest.straightness = source.straightness !== void 0 ? source.straightness : 0.7, dest.up0 = source.up0 !== void 0 ? vecCopy(source.up0) : new THREE.Vector3(0, 0, 1);
50
+ dest.up1 = source.up1 !== void 0 ? vecCopy(source.up1) : new THREE.Vector3(0, 0, 1), dest.radius0 = source.radius0 !== void 0 ? source.radius0 : 1, dest.radius1 = source.radius1 !== void 0 ? source.radius1 : 1, dest.radius0Factor = source.radius0Factor !== void 0 ? source.radius0Factor : 0.5, dest.radius1Factor = source.radius1Factor !== void 0 ? source.radius1Factor : 0.2, dest.minRadius = source.minRadius !== void 0 ? source.minRadius : 0.2, // These parameters should not be changed after lightning creation. They can be changed but the ray will change its form abruptly:
51
+ dest.isEternal = source.isEternal !== void 0 ? source.isEternal : source.birthTime === void 0 || source.deathTime === void 0, dest.birthTime = source.birthTime, dest.deathTime = source.deathTime, dest.propagationTimeFactor = source.propagationTimeFactor !== void 0 ? source.propagationTimeFactor : 0.1, dest.vanishingTimeFactor = source.vanishingTimeFactor !== void 0 ? source.vanishingTimeFactor : 0.9, dest.subrayPeriod = source.subrayPeriod !== void 0 ? source.subrayPeriod : 4, dest.subrayDutyCycle = source.subrayDutyCycle !== void 0 ? source.subrayDutyCycle : 0.6;
52
+ dest.maxIterations = source.maxIterations !== void 0 ? source.maxIterations : 9;
53
+ dest.isStatic = source.isStatic !== void 0 ? source.isStatic : false;
54
+ dest.ramification = source.ramification !== void 0 ? source.ramification : 5;
55
+ dest.maxSubrayRecursion = source.maxSubrayRecursion !== void 0 ? source.maxSubrayRecursion : 3;
56
+ dest.recursionProbability = source.recursionProbability !== void 0 ? source.recursionProbability : 0.6;
57
+ dest.generateUVs = source.generateUVs !== void 0 ? source.generateUVs : false;
58
+ dest.randomGenerator = source.randomGenerator, dest.noiseSeed = source.noiseSeed, dest.onDecideSubrayCreation = source.onDecideSubrayCreation, dest.onSubrayCreation = source.onSubrayCreation;
59
+ return dest;
60
+ }
13
61
  update(time) {
14
62
  if (this.isStatic)
15
63
  return;
16
64
  if (this.rayParameters.isEternal || this.rayParameters.birthTime <= time && time <= this.rayParameters.deathTime) {
17
65
  this.updateMesh(time);
18
66
  if (time < this.subrays[0].endPropagationTime) {
19
- this.state = LightningStrike.RAY_PROPAGATING;
67
+ this.state = _LightningStrike.RAY_PROPAGATING;
20
68
  } else if (time > this.subrays[0].beginVanishingTime) {
21
- this.state = LightningStrike.RAY_VANISHING;
69
+ this.state = _LightningStrike.RAY_VANISHING;
22
70
  } else {
23
- this.state = LightningStrike.RAY_STEADY;
71
+ this.state = _LightningStrike.RAY_STEADY;
24
72
  }
25
73
  this.visible = true;
26
74
  } else {
27
75
  this.visible = false;
28
76
  if (time < this.rayParameters.birthTime) {
29
- this.state = LightningStrike.RAY_UNBORN;
77
+ this.state = _LightningStrike.RAY_UNBORN;
30
78
  } else {
31
- this.state = LightningStrike.RAY_EXTINGUISHED;
79
+ this.state = _LightningStrike.RAY_EXTINGUISHED;
32
80
  }
33
81
  }
34
82
  }
@@ -53,7 +101,7 @@ class LightningStrike extends THREE.BufferGeometry {
53
101
  this.seedGenerator.setSeed(rayParameters.noiseSeed);
54
102
  }
55
103
  } else {
56
- this.randomGenerator = LightningStrike.createRandomGenerator();
104
+ this.randomGenerator = _LightningStrike.createRandomGenerator();
57
105
  this.seedGenerator = Math;
58
106
  }
59
107
  if (rayParameters.onDecideSubrayCreation !== void 0) {
@@ -64,7 +112,7 @@ class LightningStrike extends THREE.BufferGeometry {
64
112
  this.onSubrayCreation = rayParameters.onSubrayCreation;
65
113
  }
66
114
  }
67
- this.state = LightningStrike.RAY_INITIALIZED;
115
+ this.state = _LightningStrike.RAY_INITIALIZED;
68
116
  this.maxSubrays = Math.ceil(1 + Math.pow(this.ramification, Math.max(0, this.maxSubrayRecursion - 1)));
69
117
  rayParameters.maxSubrays = this.maxSubrays;
70
118
  this.maxRaySegments = 2 * (1 << this.maxIterations);
@@ -296,8 +344,8 @@ class LightningStrike extends THREE.BufferGeometry {
296
344
  this.createPrismFaces();
297
345
  }
298
346
  createTriangleVerticesWithoutUVs(pos, up, forwards, radius) {
299
- this.side.crossVectors(up, forwards).multiplyScalar(radius * LightningStrike.COS30DEG);
300
- this.down.copy(up).multiplyScalar(-radius * LightningStrike.SIN30DEG);
347
+ this.side.crossVectors(up, forwards).multiplyScalar(radius * _LightningStrike.COS30DEG);
348
+ this.down.copy(up).multiplyScalar(-radius * _LightningStrike.SIN30DEG);
301
349
  const p = this.vPos;
302
350
  const v = this.vertices;
303
351
  p.copy(pos).sub(this.side).add(this.down);
@@ -315,8 +363,8 @@ class LightningStrike extends THREE.BufferGeometry {
315
363
  this.currentVertex += 3;
316
364
  }
317
365
  createTriangleVerticesWithUVs(pos, up, forwards, radius, u) {
318
- this.side.crossVectors(up, forwards).multiplyScalar(radius * LightningStrike.COS30DEG);
319
- this.down.copy(up).multiplyScalar(-radius * LightningStrike.SIN30DEG);
366
+ this.side.crossVectors(up, forwards).multiplyScalar(radius * _LightningStrike.COS30DEG);
367
+ this.down.copy(up).multiplyScalar(-radius * _LightningStrike.SIN30DEG);
320
368
  const p = this.vPos;
321
369
  const v = this.vertices;
322
370
  const uv = this.uvs;
@@ -342,7 +390,7 @@ class LightningStrike extends THREE.BufferGeometry {
342
390
  }
343
391
  createPrismFaces(vertex) {
344
392
  const indices = this.indices;
345
- var vertex = this.currentVertex - 6;
393
+ vertex = this.currentVertex - 6;
346
394
  indices[this.currentIndex++] = vertex + 1;
347
395
  indices[this.currentIndex++] = vertex + 2;
348
396
  indices[this.currentIndex++] = vertex + 5;
@@ -364,7 +412,7 @@ class LightningStrike extends THREE.BufferGeometry {
364
412
  }
365
413
  createDefaultSubrayCreationCallbacks() {
366
414
  const random1 = this.randomGenerator.random;
367
- this.onDecideSubrayCreation = (segment, lightningStrike) => {
415
+ this.onDecideSubrayCreation = function(segment, lightningStrike) {
368
416
  const subray = lightningStrike.currentSubray;
369
417
  const period = lightningStrike.rayParameters.subrayPeriod;
370
418
  const dutyCycle = lightningStrike.rayParameters.subrayDutyCycle;
@@ -412,10 +460,10 @@ class LightningStrike extends THREE.BufferGeometry {
412
460
  const vec2Forward = new THREE.Vector3();
413
461
  const vec3Side = new THREE.Vector3();
414
462
  const vec4Up = new THREE.Vector3();
415
- this.onSubrayCreation = (segment, parentSubray, childSubray, lightningStrike) => {
463
+ this.onSubrayCreation = function(segment, parentSubray, childSubray, lightningStrike) {
416
464
  lightningStrike.subrayCylinderPosition(segment, parentSubray, childSubray, 0.5, 0.6, 0.2);
417
465
  };
418
- this.subrayConePosition = (segment, parentSubray, childSubray, heightFactor, sideWidthFactor, minSideWidthFactor) => {
466
+ this.subrayConePosition = function(segment, parentSubray, childSubray, heightFactor, sideWidthFactor, minSideWidthFactor) {
419
467
  childSubray.pos0.copy(segment.pos0);
420
468
  vec1Pos.subVectors(parentSubray.pos1, parentSubray.pos0);
421
469
  vec2Forward.copy(vec1Pos).normalize();
@@ -427,7 +475,7 @@ class LightningStrike extends THREE.BufferGeometry {
427
475
  vec4Up.copy(parentSubray.up0).multiplyScalar(Math.sin(angle));
428
476
  childSubray.pos1.copy(vec3Side).add(vec4Up).multiplyScalar(length * sideWidthFactor * (minSideWidthFactor + random1() * (1 - minSideWidthFactor))).add(vec1Pos).add(parentSubray.pos0);
429
477
  };
430
- this.subrayCylinderPosition = (segment, parentSubray, childSubray, heightFactor, sideWidthFactor, minSideWidthFactor) => {
478
+ this.subrayCylinderPosition = function(segment, parentSubray, childSubray, heightFactor, sideWidthFactor, minSideWidthFactor) {
431
479
  childSubray.pos0.copy(segment.pos0);
432
480
  vec1Pos.subVectors(parentSubray.pos1, parentSubray.pos0);
433
481
  vec2Forward.copy(vec1Pos).normalize();
@@ -485,64 +533,21 @@ class LightningStrike extends THREE.BufferGeometry {
485
533
  }
486
534
  copy(source) {
487
535
  super.copy(source);
488
- this.init(LightningStrike.copyParameters({}, source.rayParameters));
536
+ this.init(_LightningStrike.copyParameters({}, source.rayParameters));
489
537
  return this;
490
538
  }
491
539
  clone() {
492
- return new this.constructor(LightningStrike.copyParameters({}, this.rayParameters));
540
+ return new this.constructor(_LightningStrike.copyParameters({}, this.rayParameters));
493
541
  }
494
- }
495
- LightningStrike.prototype.isLightningStrike = true;
496
- LightningStrike.RAY_INITIALIZED = 0;
497
- LightningStrike.RAY_UNBORN = 1;
498
- LightningStrike.RAY_PROPAGATING = 2;
499
- LightningStrike.RAY_STEADY = 3;
500
- LightningStrike.RAY_VANISHING = 4;
501
- LightningStrike.RAY_EXTINGUISHED = 5;
502
- LightningStrike.COS30DEG = Math.cos(30 * Math.PI / 180);
503
- LightningStrike.SIN30DEG = Math.sin(30 * Math.PI / 180);
504
- LightningStrike.createRandomGenerator = () => {
505
- const numSeeds = 2053;
506
- const seeds = [];
507
- for (let i = 0; i < numSeeds; i++) {
508
- seeds.push(Math.random());
509
- }
510
- const generator = {
511
- currentSeed: 0,
512
- random: function() {
513
- const value = seeds[generator.currentSeed];
514
- generator.currentSeed = (generator.currentSeed + 1) % numSeeds;
515
- return value;
516
- },
517
- getSeed: function() {
518
- return generator.currentSeed / numSeeds;
519
- },
520
- setSeed: function(seed) {
521
- generator.currentSeed = Math.floor(seed * numSeeds) % numSeeds;
522
- }
523
- };
524
- return generator;
525
- };
526
- LightningStrike.copyParameters = (dest, source) => {
527
- source = source || {};
528
- dest = dest || {};
529
- const vecCopy = (v) => {
530
- if (source === dest) {
531
- return v;
532
- } else {
533
- return v.clone();
534
- }
535
- };
536
- dest.sourceOffset = source.sourceOffset !== void 0 ? vecCopy(source.sourceOffset) : new THREE.Vector3(0, 100, 0), dest.destOffset = source.destOffset !== void 0 ? vecCopy(source.destOffset) : new THREE.Vector3(0, 0, 0), dest.timeScale = source.timeScale !== void 0 ? source.timeScale : 1, dest.roughness = source.roughness !== void 0 ? source.roughness : 0.9, dest.straightness = source.straightness !== void 0 ? source.straightness : 0.7, dest.up0 = source.up0 !== void 0 ? vecCopy(source.up0) : new THREE.Vector3(0, 0, 1);
537
- dest.up1 = source.up1 !== void 0 ? vecCopy(source.up1) : new THREE.Vector3(0, 0, 1), dest.radius0 = source.radius0 !== void 0 ? source.radius0 : 1, dest.radius1 = source.radius1 !== void 0 ? source.radius1 : 1, dest.radius0Factor = source.radius0Factor !== void 0 ? source.radius0Factor : 0.5, dest.radius1Factor = source.radius1Factor !== void 0 ? source.radius1Factor : 0.2, dest.minRadius = source.minRadius !== void 0 ? source.minRadius : 0.2, // These parameters should not be changed after lightning creation. They can be changed but the ray will change its form abruptly:
538
- dest.isEternal = source.isEternal !== void 0 ? source.isEternal : source.birthTime === void 0 || source.deathTime === void 0, dest.birthTime = source.birthTime, dest.deathTime = source.deathTime, dest.propagationTimeFactor = source.propagationTimeFactor !== void 0 ? source.propagationTimeFactor : 0.1, dest.vanishingTimeFactor = source.vanishingTimeFactor !== void 0 ? source.vanishingTimeFactor : 0.9, dest.subrayPeriod = source.subrayPeriod !== void 0 ? source.subrayPeriod : 4, dest.subrayDutyCycle = source.subrayDutyCycle !== void 0 ? source.subrayDutyCycle : 0.6;
539
- dest.maxIterations = source.maxIterations !== void 0 ? source.maxIterations : 9;
540
- dest.isStatic = source.isStatic !== void 0 ? source.isStatic : false;
541
- dest.ramification = source.ramification !== void 0 ? source.ramification : 5;
542
- dest.maxSubrayRecursion = source.maxSubrayRecursion !== void 0 ? source.maxSubrayRecursion : 3;
543
- dest.recursionProbability = source.recursionProbability !== void 0 ? source.recursionProbability : 0.6;
544
- dest.generateUVs = source.generateUVs !== void 0 ? source.generateUVs : false;
545
- dest.randomGenerator = source.randomGenerator, dest.noiseSeed = source.noiseSeed, dest.onDecideSubrayCreation = source.onDecideSubrayCreation, dest.onSubrayCreation = source.onSubrayCreation;
546
- return dest;
547
542
  };
543
+ let LightningStrike = _LightningStrike;
544
+ // Ray states
545
+ __publicField(LightningStrike, "RAY_INITIALIZED", 0);
546
+ __publicField(LightningStrike, "RAY_UNBORN", 1);
547
+ __publicField(LightningStrike, "RAY_PROPAGATING", 2);
548
+ __publicField(LightningStrike, "RAY_STEADY", 3);
549
+ __publicField(LightningStrike, "RAY_VANISHING", 4);
550
+ __publicField(LightningStrike, "RAY_EXTINGUISHED", 5);
551
+ __publicField(LightningStrike, "COS30DEG", Math.cos(30 * Math.PI / 180));
552
+ __publicField(LightningStrike, "SIN30DEG", Math.sin(30 * Math.PI / 180));
548
553
  exports.LightningStrike = LightningStrike;
@@ -1,32 +1,80 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
3
+ var __publicField = (obj, key, value) => {
4
+ __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
5
+ return value;
6
+ };
1
7
  import { BufferGeometry, Vector3, Uint32BufferAttribute, Float32BufferAttribute, DynamicDrawUsage, MathUtils } from "three";
2
8
  import { SimplexNoise } from "../math/SimplexNoise.mjs";
3
- class LightningStrike extends BufferGeometry {
4
- constructor(rayParameters) {
9
+ const _LightningStrike = class extends BufferGeometry {
10
+ constructor(rayParameters = {}) {
5
11
  super();
12
+ this.isLightningStrike = true;
6
13
  this.type = "LightningStrike";
7
- rayParameters = rayParameters || {};
8
- this.init(LightningStrike.copyParameters(rayParameters, rayParameters));
14
+ this.init(_LightningStrike.copyParameters(rayParameters, rayParameters));
9
15
  this.createMesh();
10
16
  }
17
+ static createRandomGenerator() {
18
+ const numSeeds = 2053;
19
+ const seeds = [];
20
+ for (let i = 0; i < numSeeds; i++) {
21
+ seeds.push(Math.random());
22
+ }
23
+ const generator = {
24
+ currentSeed: 0,
25
+ random: function() {
26
+ const value = seeds[generator.currentSeed];
27
+ generator.currentSeed = (generator.currentSeed + 1) % numSeeds;
28
+ return value;
29
+ },
30
+ getSeed: function() {
31
+ return generator.currentSeed / numSeeds;
32
+ },
33
+ setSeed: function(seed) {
34
+ generator.currentSeed = Math.floor(seed * numSeeds) % numSeeds;
35
+ }
36
+ };
37
+ return generator;
38
+ }
39
+ static copyParameters(dest = {}, source = {}) {
40
+ const vecCopy = function(v) {
41
+ if (source === dest) {
42
+ return v;
43
+ } else {
44
+ return v.clone();
45
+ }
46
+ };
47
+ dest.sourceOffset = source.sourceOffset !== void 0 ? vecCopy(source.sourceOffset) : new Vector3(0, 100, 0), dest.destOffset = source.destOffset !== void 0 ? vecCopy(source.destOffset) : new Vector3(0, 0, 0), dest.timeScale = source.timeScale !== void 0 ? source.timeScale : 1, dest.roughness = source.roughness !== void 0 ? source.roughness : 0.9, dest.straightness = source.straightness !== void 0 ? source.straightness : 0.7, dest.up0 = source.up0 !== void 0 ? vecCopy(source.up0) : new Vector3(0, 0, 1);
48
+ dest.up1 = source.up1 !== void 0 ? vecCopy(source.up1) : new Vector3(0, 0, 1), dest.radius0 = source.radius0 !== void 0 ? source.radius0 : 1, dest.radius1 = source.radius1 !== void 0 ? source.radius1 : 1, dest.radius0Factor = source.radius0Factor !== void 0 ? source.radius0Factor : 0.5, dest.radius1Factor = source.radius1Factor !== void 0 ? source.radius1Factor : 0.2, dest.minRadius = source.minRadius !== void 0 ? source.minRadius : 0.2, // These parameters should not be changed after lightning creation. They can be changed but the ray will change its form abruptly:
49
+ dest.isEternal = source.isEternal !== void 0 ? source.isEternal : source.birthTime === void 0 || source.deathTime === void 0, dest.birthTime = source.birthTime, dest.deathTime = source.deathTime, dest.propagationTimeFactor = source.propagationTimeFactor !== void 0 ? source.propagationTimeFactor : 0.1, dest.vanishingTimeFactor = source.vanishingTimeFactor !== void 0 ? source.vanishingTimeFactor : 0.9, dest.subrayPeriod = source.subrayPeriod !== void 0 ? source.subrayPeriod : 4, dest.subrayDutyCycle = source.subrayDutyCycle !== void 0 ? source.subrayDutyCycle : 0.6;
50
+ dest.maxIterations = source.maxIterations !== void 0 ? source.maxIterations : 9;
51
+ dest.isStatic = source.isStatic !== void 0 ? source.isStatic : false;
52
+ dest.ramification = source.ramification !== void 0 ? source.ramification : 5;
53
+ dest.maxSubrayRecursion = source.maxSubrayRecursion !== void 0 ? source.maxSubrayRecursion : 3;
54
+ dest.recursionProbability = source.recursionProbability !== void 0 ? source.recursionProbability : 0.6;
55
+ dest.generateUVs = source.generateUVs !== void 0 ? source.generateUVs : false;
56
+ dest.randomGenerator = source.randomGenerator, dest.noiseSeed = source.noiseSeed, dest.onDecideSubrayCreation = source.onDecideSubrayCreation, dest.onSubrayCreation = source.onSubrayCreation;
57
+ return dest;
58
+ }
11
59
  update(time) {
12
60
  if (this.isStatic)
13
61
  return;
14
62
  if (this.rayParameters.isEternal || this.rayParameters.birthTime <= time && time <= this.rayParameters.deathTime) {
15
63
  this.updateMesh(time);
16
64
  if (time < this.subrays[0].endPropagationTime) {
17
- this.state = LightningStrike.RAY_PROPAGATING;
65
+ this.state = _LightningStrike.RAY_PROPAGATING;
18
66
  } else if (time > this.subrays[0].beginVanishingTime) {
19
- this.state = LightningStrike.RAY_VANISHING;
67
+ this.state = _LightningStrike.RAY_VANISHING;
20
68
  } else {
21
- this.state = LightningStrike.RAY_STEADY;
69
+ this.state = _LightningStrike.RAY_STEADY;
22
70
  }
23
71
  this.visible = true;
24
72
  } else {
25
73
  this.visible = false;
26
74
  if (time < this.rayParameters.birthTime) {
27
- this.state = LightningStrike.RAY_UNBORN;
75
+ this.state = _LightningStrike.RAY_UNBORN;
28
76
  } else {
29
- this.state = LightningStrike.RAY_EXTINGUISHED;
77
+ this.state = _LightningStrike.RAY_EXTINGUISHED;
30
78
  }
31
79
  }
32
80
  }
@@ -51,7 +99,7 @@ class LightningStrike extends BufferGeometry {
51
99
  this.seedGenerator.setSeed(rayParameters.noiseSeed);
52
100
  }
53
101
  } else {
54
- this.randomGenerator = LightningStrike.createRandomGenerator();
102
+ this.randomGenerator = _LightningStrike.createRandomGenerator();
55
103
  this.seedGenerator = Math;
56
104
  }
57
105
  if (rayParameters.onDecideSubrayCreation !== void 0) {
@@ -62,7 +110,7 @@ class LightningStrike extends BufferGeometry {
62
110
  this.onSubrayCreation = rayParameters.onSubrayCreation;
63
111
  }
64
112
  }
65
- this.state = LightningStrike.RAY_INITIALIZED;
113
+ this.state = _LightningStrike.RAY_INITIALIZED;
66
114
  this.maxSubrays = Math.ceil(1 + Math.pow(this.ramification, Math.max(0, this.maxSubrayRecursion - 1)));
67
115
  rayParameters.maxSubrays = this.maxSubrays;
68
116
  this.maxRaySegments = 2 * (1 << this.maxIterations);
@@ -294,8 +342,8 @@ class LightningStrike extends BufferGeometry {
294
342
  this.createPrismFaces();
295
343
  }
296
344
  createTriangleVerticesWithoutUVs(pos, up, forwards, radius) {
297
- this.side.crossVectors(up, forwards).multiplyScalar(radius * LightningStrike.COS30DEG);
298
- this.down.copy(up).multiplyScalar(-radius * LightningStrike.SIN30DEG);
345
+ this.side.crossVectors(up, forwards).multiplyScalar(radius * _LightningStrike.COS30DEG);
346
+ this.down.copy(up).multiplyScalar(-radius * _LightningStrike.SIN30DEG);
299
347
  const p = this.vPos;
300
348
  const v = this.vertices;
301
349
  p.copy(pos).sub(this.side).add(this.down);
@@ -313,8 +361,8 @@ class LightningStrike extends BufferGeometry {
313
361
  this.currentVertex += 3;
314
362
  }
315
363
  createTriangleVerticesWithUVs(pos, up, forwards, radius, u) {
316
- this.side.crossVectors(up, forwards).multiplyScalar(radius * LightningStrike.COS30DEG);
317
- this.down.copy(up).multiplyScalar(-radius * LightningStrike.SIN30DEG);
364
+ this.side.crossVectors(up, forwards).multiplyScalar(radius * _LightningStrike.COS30DEG);
365
+ this.down.copy(up).multiplyScalar(-radius * _LightningStrike.SIN30DEG);
318
366
  const p = this.vPos;
319
367
  const v = this.vertices;
320
368
  const uv = this.uvs;
@@ -340,7 +388,7 @@ class LightningStrike extends BufferGeometry {
340
388
  }
341
389
  createPrismFaces(vertex) {
342
390
  const indices = this.indices;
343
- var vertex = this.currentVertex - 6;
391
+ vertex = this.currentVertex - 6;
344
392
  indices[this.currentIndex++] = vertex + 1;
345
393
  indices[this.currentIndex++] = vertex + 2;
346
394
  indices[this.currentIndex++] = vertex + 5;
@@ -362,7 +410,7 @@ class LightningStrike extends BufferGeometry {
362
410
  }
363
411
  createDefaultSubrayCreationCallbacks() {
364
412
  const random1 = this.randomGenerator.random;
365
- this.onDecideSubrayCreation = (segment, lightningStrike) => {
413
+ this.onDecideSubrayCreation = function(segment, lightningStrike) {
366
414
  const subray = lightningStrike.currentSubray;
367
415
  const period = lightningStrike.rayParameters.subrayPeriod;
368
416
  const dutyCycle = lightningStrike.rayParameters.subrayDutyCycle;
@@ -410,10 +458,10 @@ class LightningStrike extends BufferGeometry {
410
458
  const vec2Forward = new Vector3();
411
459
  const vec3Side = new Vector3();
412
460
  const vec4Up = new Vector3();
413
- this.onSubrayCreation = (segment, parentSubray, childSubray, lightningStrike) => {
461
+ this.onSubrayCreation = function(segment, parentSubray, childSubray, lightningStrike) {
414
462
  lightningStrike.subrayCylinderPosition(segment, parentSubray, childSubray, 0.5, 0.6, 0.2);
415
463
  };
416
- this.subrayConePosition = (segment, parentSubray, childSubray, heightFactor, sideWidthFactor, minSideWidthFactor) => {
464
+ this.subrayConePosition = function(segment, parentSubray, childSubray, heightFactor, sideWidthFactor, minSideWidthFactor) {
417
465
  childSubray.pos0.copy(segment.pos0);
418
466
  vec1Pos.subVectors(parentSubray.pos1, parentSubray.pos0);
419
467
  vec2Forward.copy(vec1Pos).normalize();
@@ -425,7 +473,7 @@ class LightningStrike extends BufferGeometry {
425
473
  vec4Up.copy(parentSubray.up0).multiplyScalar(Math.sin(angle));
426
474
  childSubray.pos1.copy(vec3Side).add(vec4Up).multiplyScalar(length * sideWidthFactor * (minSideWidthFactor + random1() * (1 - minSideWidthFactor))).add(vec1Pos).add(parentSubray.pos0);
427
475
  };
428
- this.subrayCylinderPosition = (segment, parentSubray, childSubray, heightFactor, sideWidthFactor, minSideWidthFactor) => {
476
+ this.subrayCylinderPosition = function(segment, parentSubray, childSubray, heightFactor, sideWidthFactor, minSideWidthFactor) {
429
477
  childSubray.pos0.copy(segment.pos0);
430
478
  vec1Pos.subVectors(parentSubray.pos1, parentSubray.pos0);
431
479
  vec2Forward.copy(vec1Pos).normalize();
@@ -483,66 +531,23 @@ class LightningStrike extends BufferGeometry {
483
531
  }
484
532
  copy(source) {
485
533
  super.copy(source);
486
- this.init(LightningStrike.copyParameters({}, source.rayParameters));
534
+ this.init(_LightningStrike.copyParameters({}, source.rayParameters));
487
535
  return this;
488
536
  }
489
537
  clone() {
490
- return new this.constructor(LightningStrike.copyParameters({}, this.rayParameters));
538
+ return new this.constructor(_LightningStrike.copyParameters({}, this.rayParameters));
491
539
  }
492
- }
493
- LightningStrike.prototype.isLightningStrike = true;
494
- LightningStrike.RAY_INITIALIZED = 0;
495
- LightningStrike.RAY_UNBORN = 1;
496
- LightningStrike.RAY_PROPAGATING = 2;
497
- LightningStrike.RAY_STEADY = 3;
498
- LightningStrike.RAY_VANISHING = 4;
499
- LightningStrike.RAY_EXTINGUISHED = 5;
500
- LightningStrike.COS30DEG = Math.cos(30 * Math.PI / 180);
501
- LightningStrike.SIN30DEG = Math.sin(30 * Math.PI / 180);
502
- LightningStrike.createRandomGenerator = () => {
503
- const numSeeds = 2053;
504
- const seeds = [];
505
- for (let i = 0; i < numSeeds; i++) {
506
- seeds.push(Math.random());
507
- }
508
- const generator = {
509
- currentSeed: 0,
510
- random: function() {
511
- const value = seeds[generator.currentSeed];
512
- generator.currentSeed = (generator.currentSeed + 1) % numSeeds;
513
- return value;
514
- },
515
- getSeed: function() {
516
- return generator.currentSeed / numSeeds;
517
- },
518
- setSeed: function(seed) {
519
- generator.currentSeed = Math.floor(seed * numSeeds) % numSeeds;
520
- }
521
- };
522
- return generator;
523
- };
524
- LightningStrike.copyParameters = (dest, source) => {
525
- source = source || {};
526
- dest = dest || {};
527
- const vecCopy = (v) => {
528
- if (source === dest) {
529
- return v;
530
- } else {
531
- return v.clone();
532
- }
533
- };
534
- dest.sourceOffset = source.sourceOffset !== void 0 ? vecCopy(source.sourceOffset) : new Vector3(0, 100, 0), dest.destOffset = source.destOffset !== void 0 ? vecCopy(source.destOffset) : new Vector3(0, 0, 0), dest.timeScale = source.timeScale !== void 0 ? source.timeScale : 1, dest.roughness = source.roughness !== void 0 ? source.roughness : 0.9, dest.straightness = source.straightness !== void 0 ? source.straightness : 0.7, dest.up0 = source.up0 !== void 0 ? vecCopy(source.up0) : new Vector3(0, 0, 1);
535
- dest.up1 = source.up1 !== void 0 ? vecCopy(source.up1) : new Vector3(0, 0, 1), dest.radius0 = source.radius0 !== void 0 ? source.radius0 : 1, dest.radius1 = source.radius1 !== void 0 ? source.radius1 : 1, dest.radius0Factor = source.radius0Factor !== void 0 ? source.radius0Factor : 0.5, dest.radius1Factor = source.radius1Factor !== void 0 ? source.radius1Factor : 0.2, dest.minRadius = source.minRadius !== void 0 ? source.minRadius : 0.2, // These parameters should not be changed after lightning creation. They can be changed but the ray will change its form abruptly:
536
- dest.isEternal = source.isEternal !== void 0 ? source.isEternal : source.birthTime === void 0 || source.deathTime === void 0, dest.birthTime = source.birthTime, dest.deathTime = source.deathTime, dest.propagationTimeFactor = source.propagationTimeFactor !== void 0 ? source.propagationTimeFactor : 0.1, dest.vanishingTimeFactor = source.vanishingTimeFactor !== void 0 ? source.vanishingTimeFactor : 0.9, dest.subrayPeriod = source.subrayPeriod !== void 0 ? source.subrayPeriod : 4, dest.subrayDutyCycle = source.subrayDutyCycle !== void 0 ? source.subrayDutyCycle : 0.6;
537
- dest.maxIterations = source.maxIterations !== void 0 ? source.maxIterations : 9;
538
- dest.isStatic = source.isStatic !== void 0 ? source.isStatic : false;
539
- dest.ramification = source.ramification !== void 0 ? source.ramification : 5;
540
- dest.maxSubrayRecursion = source.maxSubrayRecursion !== void 0 ? source.maxSubrayRecursion : 3;
541
- dest.recursionProbability = source.recursionProbability !== void 0 ? source.recursionProbability : 0.6;
542
- dest.generateUVs = source.generateUVs !== void 0 ? source.generateUVs : false;
543
- dest.randomGenerator = source.randomGenerator, dest.noiseSeed = source.noiseSeed, dest.onDecideSubrayCreation = source.onDecideSubrayCreation, dest.onSubrayCreation = source.onSubrayCreation;
544
- return dest;
545
540
  };
541
+ let LightningStrike = _LightningStrike;
542
+ // Ray states
543
+ __publicField(LightningStrike, "RAY_INITIALIZED", 0);
544
+ __publicField(LightningStrike, "RAY_UNBORN", 1);
545
+ __publicField(LightningStrike, "RAY_PROPAGATING", 2);
546
+ __publicField(LightningStrike, "RAY_STEADY", 3);
547
+ __publicField(LightningStrike, "RAY_VANISHING", 4);
548
+ __publicField(LightningStrike, "RAY_EXTINGUISHED", 5);
549
+ __publicField(LightningStrike, "COS30DEG", Math.cos(30 * Math.PI / 180));
550
+ __publicField(LightningStrike, "SIN30DEG", Math.sin(30 * Math.PI / 180));
546
551
  export {
547
552
  LightningStrike
548
553
  };