super-three 0.137.0 → 0.141.0

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 (703) hide show
  1. package/README.md +23 -25
  2. package/build/three.cjs +3721 -4964
  3. package/build/three.js +3723 -4966
  4. package/build/three.min.js +1 -1
  5. package/build/three.module.js +5705 -7216
  6. package/examples/js/animation/CCDIKSolver.js +3 -2
  7. package/examples/js/animation/MMDPhysics.js +2 -2
  8. package/examples/js/controls/ArcballControls.js +3 -1
  9. package/examples/js/controls/PointerLockControls.js +3 -2
  10. package/examples/js/controls/TrackballControls.js +1 -4
  11. package/examples/js/controls/TransformControls.js +5 -6
  12. package/examples/js/controls/experimental/CameraControls.js +2 -2
  13. package/examples/js/csm/CSMFrustum.js +1 -1
  14. package/examples/js/csm/CSMShader.js +51 -35
  15. package/examples/js/curves/CurveExtras.js +14 -18
  16. package/examples/js/effects/AnaglyphEffect.js +7 -4
  17. package/examples/js/effects/AsciiEffect.js +10 -29
  18. package/examples/js/exporters/ColladaExporter.js +29 -7
  19. package/examples/js/exporters/EXRExporter.js +458 -0
  20. package/examples/js/exporters/GLTFExporter.js +213 -128
  21. package/examples/js/exporters/OBJExporter.js +12 -18
  22. package/examples/js/exporters/PLYExporter.js +15 -20
  23. package/examples/js/exporters/USDZExporter.js +13 -0
  24. package/examples/js/geometries/DecalGeometry.js +0 -7
  25. package/examples/js/geometries/LightningStrike.js +2 -2
  26. package/examples/js/geometries/ParametricGeometries.js +3 -3
  27. package/examples/js/helpers/OctreeHelper.js +74 -0
  28. package/examples/js/helpers/VertexNormalsHelper.js +4 -23
  29. package/examples/js/helpers/VertexTangentsHelper.js +3 -13
  30. package/examples/js/helpers/ViewHelper.js +266 -0
  31. package/examples/js/interactive/HTMLMesh.js +235 -40
  32. package/examples/js/interactive/SelectionHelper.js +1 -1
  33. package/examples/js/libs/opentype.min.js +1 -118
  34. package/examples/js/lines/Line2.js +1 -2
  35. package/examples/js/lines/LineGeometry.js +10 -21
  36. package/examples/js/lines/LineMaterial.js +2 -3
  37. package/examples/js/lines/LineSegments2.js +214 -140
  38. package/examples/js/lines/LineSegmentsGeometry.js +3 -14
  39. package/examples/js/lines/Wireframe.js +2 -3
  40. package/examples/js/lines/WireframeGeometry2.js +1 -2
  41. package/examples/js/loaders/3MFLoader.js +21 -17
  42. package/examples/js/loaders/AMFLoader.js +1 -1
  43. package/examples/js/loaders/ColladaLoader.js +33 -12
  44. package/examples/js/loaders/DDSLoader.js +23 -30
  45. package/examples/js/loaders/EXRLoader.js +269 -266
  46. package/examples/js/loaders/FBXLoader.js +11 -0
  47. package/examples/js/loaders/FontLoader.js +1 -2
  48. package/examples/js/loaders/GCodeLoader.js +0 -1
  49. package/examples/js/loaders/GLTFLoader.js +249 -60
  50. package/examples/js/loaders/KMZLoader.js +1 -1
  51. package/examples/js/loaders/KTX2Loader.js +1 -9
  52. package/examples/js/loaders/LDrawLoader.js +3 -11
  53. package/examples/js/loaders/LUT3dlLoader.js +1 -1
  54. package/examples/js/loaders/LUTCubeLoader.js +1 -1
  55. package/examples/js/loaders/LWOLoader.js +4 -2
  56. package/examples/js/loaders/LogLuvLoader.js +1 -2
  57. package/examples/js/loaders/MMDLoader.js +18 -4
  58. package/examples/js/loaders/NRRDLoader.js +1 -1
  59. package/examples/js/loaders/OBJLoader.js +9 -5
  60. package/examples/js/loaders/PCDLoader.js +22 -13
  61. package/examples/js/loaders/PDBLoader.js +11 -11
  62. package/examples/js/loaders/PLYLoader.js +5 -1
  63. package/examples/js/loaders/RGBELoader.js +3 -11
  64. package/examples/js/loaders/RGBMLoader.js +12 -15
  65. package/examples/js/loaders/SVGLoader.js +16 -9
  66. package/examples/js/loaders/VOXLoader.js +3 -4
  67. package/examples/js/loaders/VTKLoader.js +260 -295
  68. package/examples/js/loaders/lwo/LWO2Parser.js +4 -4
  69. package/examples/js/loaders/lwo/LWO3Parser.js +4 -4
  70. package/examples/js/math/ConvexHull.js +6 -15
  71. package/examples/js/math/Lut.js +27 -26
  72. package/examples/js/misc/MorphAnimMesh.js +2 -2
  73. package/examples/js/misc/ProgressiveLightMap.js +1 -1
  74. package/examples/js/misc/Volume.js +37 -46
  75. package/examples/js/misc/VolumeSlice.js +21 -21
  76. package/examples/js/modifiers/EdgeSplitModifier.js +0 -7
  77. package/examples/js/modifiers/SimplifyModifier.js +1 -8
  78. package/examples/js/modifiers/TessellateModifier.js +0 -7
  79. package/examples/js/objects/Lensflare.js +2 -2
  80. package/examples/js/objects/LightningStorm.js +4 -5
  81. package/examples/js/objects/MarchingCubes.js +6 -11
  82. package/examples/js/objects/Reflector.js +10 -4
  83. package/examples/js/objects/ReflectorForSSRPass.js +1 -1
  84. package/examples/js/objects/Refractor.js +10 -4
  85. package/examples/js/objects/ShadowMesh.js +1 -2
  86. package/examples/js/objects/Sky.js +1 -1
  87. package/examples/js/objects/Water.js +1 -2
  88. package/examples/js/objects/Water2.js +1 -1
  89. package/examples/js/postprocessing/AdaptiveToneMappingPass.js +6 -10
  90. package/examples/js/postprocessing/AfterimagePass.js +2 -6
  91. package/examples/js/postprocessing/BloomPass.js +50 -19
  92. package/examples/js/postprocessing/DotScreenPass.js +1 -1
  93. package/examples/js/postprocessing/EffectComposer.js +1 -6
  94. package/examples/js/postprocessing/LUTPass.js +2 -2
  95. package/examples/js/postprocessing/OutlinePass.js +7 -12
  96. package/examples/js/postprocessing/SAOPass.js +2 -7
  97. package/examples/js/postprocessing/SSAARenderPass.js +1 -6
  98. package/examples/js/postprocessing/SSRPass.js +3 -8
  99. package/examples/js/postprocessing/TAARenderPass.js +4 -4
  100. package/examples/js/postprocessing/UnrealBloomPass.js +3 -12
  101. package/examples/js/renderers/CSS2DRenderer.js +20 -25
  102. package/examples/js/renderers/CSS3DRenderer.js +6 -7
  103. package/examples/js/renderers/Projector.js +97 -124
  104. package/examples/js/renderers/SVGRenderer.js +3 -4
  105. package/examples/js/shaders/BlendShader.js +2 -1
  106. package/examples/js/shaders/CopyShader.js +4 -3
  107. package/examples/js/shaders/FXAAShader.js +239 -1069
  108. package/examples/js/shaders/FreiChenShader.js +1 -1
  109. package/examples/js/shaders/HorizontalBlurShader.js +1 -1
  110. package/examples/js/shaders/HorizontalTiltShiftShader.js +1 -1
  111. package/examples/js/shaders/SSRShader.js +3 -3
  112. package/examples/js/shaders/ToneMapShader.js +1 -1
  113. package/examples/js/utils/BufferGeometryUtils.js +282 -22
  114. package/examples/js/utils/GPUStatsPanel.js +1 -1
  115. package/examples/js/utils/LDrawUtils.js +6 -6
  116. package/examples/js/utils/SceneUtils.js +59 -0
  117. package/examples/js/utils/SkeletonUtils.js +1 -1
  118. package/examples/js/utils/UVsDebug.js +23 -33
  119. package/examples/jsm/animation/CCDIKSolver.js +3 -9
  120. package/examples/jsm/animation/MMDPhysics.js +1 -1
  121. package/examples/jsm/capabilities/WebGPU.js +6 -0
  122. package/examples/jsm/controls/ArcballControls.js +3 -1
  123. package/examples/jsm/controls/PointerLockControls.js +4 -2
  124. package/examples/jsm/controls/TrackballControls.js +1 -4
  125. package/examples/jsm/controls/TransformControls.js +6 -6
  126. package/examples/jsm/controls/experimental/CameraControls.js +2 -2
  127. package/examples/jsm/csm/CSMFrustum.js +1 -1
  128. package/examples/jsm/csm/CSMShader.js +51 -35
  129. package/examples/jsm/curves/CurveExtras.js +15 -17
  130. package/examples/jsm/effects/AnaglyphEffect.js +4 -4
  131. package/examples/jsm/effects/AsciiEffect.js +9 -22
  132. package/examples/jsm/exporters/ColladaExporter.js +31 -6
  133. package/examples/jsm/exporters/EXRExporter.js +507 -0
  134. package/examples/jsm/exporters/GLTFExporter.js +231 -125
  135. package/examples/jsm/exporters/KTX2Exporter.js +281 -0
  136. package/examples/jsm/exporters/OBJExporter.js +11 -18
  137. package/examples/jsm/exporters/PLYExporter.js +23 -21
  138. package/examples/jsm/exporters/USDZExporter.js +12 -0
  139. package/examples/jsm/geometries/DecalGeometry.js +0 -7
  140. package/examples/jsm/geometries/LightningStrike.js +2 -2
  141. package/examples/jsm/geometries/ParametricGeometries.js +3 -3
  142. package/examples/jsm/helpers/OctreeHelper.js +58 -0
  143. package/examples/jsm/helpers/VertexNormalsHelper.js +4 -25
  144. package/examples/jsm/helpers/VertexTangentsHelper.js +3 -15
  145. package/examples/jsm/helpers/ViewHelper.js +295 -0
  146. package/examples/jsm/interactive/HTMLMesh.js +252 -34
  147. package/examples/jsm/interactive/SelectionHelper.js +1 -1
  148. package/examples/jsm/libs/flow.module.js +30 -27
  149. package/examples/jsm/libs/ktx-parse.module.js +1 -1
  150. package/examples/jsm/libs/mikktspace.module.js +128 -0
  151. package/examples/jsm/libs/opentype.module.js +14568 -0
  152. package/examples/jsm/lines/Line2.js +2 -2
  153. package/examples/jsm/lines/LineGeometry.js +11 -19
  154. package/examples/jsm/lines/LineMaterial.js +3 -3
  155. package/examples/jsm/lines/LineSegments2.js +210 -145
  156. package/examples/jsm/lines/LineSegmentsGeometry.js +3 -12
  157. package/examples/jsm/lines/Wireframe.js +3 -3
  158. package/examples/jsm/lines/WireframeGeometry2.js +2 -2
  159. package/examples/jsm/loaders/3DMLoader.js +3 -2
  160. package/examples/jsm/loaders/3MFLoader.js +21 -17
  161. package/examples/jsm/loaders/AMFLoader.js +1 -1
  162. package/examples/jsm/loaders/ColladaLoader.js +40 -12
  163. package/examples/jsm/loaders/DDSLoader.js +21 -28
  164. package/examples/jsm/loaders/EXRLoader.js +268 -265
  165. package/examples/jsm/loaders/FBXLoader.js +11 -0
  166. package/examples/jsm/loaders/FontLoader.js +2 -2
  167. package/examples/jsm/loaders/GCodeLoader.js +0 -1
  168. package/examples/jsm/loaders/GLTFLoader.js +263 -66
  169. package/examples/jsm/loaders/KMZLoader.js +1 -1
  170. package/examples/jsm/loaders/KTX2Loader.js +1 -10
  171. package/examples/jsm/loaders/LDrawLoader.js +4 -11
  172. package/examples/jsm/loaders/LUT3dlLoader.js +2 -2
  173. package/examples/jsm/loaders/LUTCubeLoader.js +2 -2
  174. package/examples/jsm/loaders/LWOLoader.js +5 -3
  175. package/examples/jsm/loaders/LogLuvLoader.js +2 -2
  176. package/examples/jsm/loaders/MMDLoader.js +21 -3
  177. package/examples/jsm/loaders/NRRDLoader.js +1 -2
  178. package/examples/jsm/loaders/OBJLoader.js +11 -7
  179. package/examples/jsm/loaders/PCDLoader.js +23 -15
  180. package/examples/jsm/loaders/PDBLoader.js +11 -11
  181. package/examples/jsm/loaders/PLYLoader.js +10 -2
  182. package/examples/jsm/loaders/RGBELoader.js +4 -12
  183. package/examples/jsm/loaders/RGBMLoader.js +14 -11
  184. package/examples/jsm/loaders/SVGLoader.js +17 -9
  185. package/examples/jsm/loaders/TTFLoader.js +1 -1
  186. package/examples/jsm/loaders/VOXLoader.js +5 -5
  187. package/examples/jsm/loaders/VTKLoader.js +256 -284
  188. package/examples/jsm/loaders/ifc/web-ifc-api.js +9 -8
  189. package/examples/jsm/loaders/lwo/LWO2Parser.js +4 -4
  190. package/examples/jsm/loaders/lwo/LWO3Parser.js +4 -4
  191. package/examples/jsm/math/ConvexHull.js +6 -15
  192. package/examples/jsm/math/Lut.js +35 -25
  193. package/examples/jsm/misc/MorphAnimMesh.js +2 -2
  194. package/examples/jsm/misc/ProgressiveLightMap.js +1 -1
  195. package/examples/jsm/misc/Volume.js +37 -44
  196. package/examples/jsm/misc/VolumeSlice.js +21 -21
  197. package/examples/jsm/modifiers/EdgeSplitModifier.js +0 -7
  198. package/examples/jsm/modifiers/SimplifyModifier.js +1 -8
  199. package/examples/jsm/modifiers/TessellateModifier.js +0 -7
  200. package/examples/jsm/node-editor/NodeEditor.js +78 -9
  201. package/examples/jsm/node-editor/accessors/MatcapUVEditor.js +14 -0
  202. package/examples/jsm/node-editor/accessors/NormalEditor.js +1 -1
  203. package/examples/jsm/node-editor/accessors/PositionEditor.js +1 -1
  204. package/examples/jsm/node-editor/accessors/UVEditor.js +1 -1
  205. package/examples/jsm/node-editor/core/BaseNode.js +17 -11
  206. package/examples/jsm/node-editor/core/DataFile.js +59 -0
  207. package/examples/jsm/node-editor/core/FileEditor.js +20 -0
  208. package/examples/jsm/node-editor/core/FileURLEditor.js +29 -0
  209. package/examples/jsm/node-editor/display/BlendEditor.js +3 -3
  210. package/examples/jsm/node-editor/display/NormalMapEditor.js +49 -0
  211. package/examples/jsm/node-editor/examples/matcap.json +1 -0
  212. package/examples/jsm/node-editor/inputs/ColorEditor.js +7 -6
  213. package/examples/jsm/node-editor/inputs/FloatEditor.js +2 -2
  214. package/examples/jsm/node-editor/inputs/SliderEditor.js +2 -2
  215. package/examples/jsm/node-editor/inputs/TextureEditor.js +155 -0
  216. package/examples/jsm/node-editor/inputs/Vector2Editor.js +3 -2
  217. package/examples/jsm/node-editor/inputs/Vector3Editor.js +3 -2
  218. package/examples/jsm/node-editor/inputs/Vector4Editor.js +4 -3
  219. package/examples/jsm/node-editor/materials/BasicMaterialEditor.js +3 -3
  220. package/examples/jsm/node-editor/materials/PointsMaterialEditor.js +16 -11
  221. package/examples/jsm/node-editor/materials/StandardMaterialEditor.js +15 -5
  222. package/examples/jsm/node-editor/math/AngleEditor.js +3 -2
  223. package/examples/jsm/node-editor/math/DotEditor.js +2 -2
  224. package/examples/jsm/node-editor/math/InvertEditor.js +4 -4
  225. package/examples/jsm/node-editor/math/LimiterEditor.js +22 -9
  226. package/examples/jsm/node-editor/math/NormalizeEditor.js +3 -2
  227. package/examples/jsm/node-editor/math/OperatorEditor.js +20 -8
  228. package/examples/jsm/node-editor/math/PowerEditor.js +17 -8
  229. package/examples/jsm/node-editor/math/TrigonometryEditor.js +3 -2
  230. package/examples/jsm/node-editor/procedural/CheckerEditor.js +4 -4
  231. package/examples/jsm/node-editor/utils/JoinEditor.js +2 -2
  232. package/examples/jsm/node-editor/utils/OscillatorEditor.js +2 -2
  233. package/examples/jsm/node-editor/utils/PreviewEditor.js +166 -0
  234. package/examples/jsm/node-editor/utils/SplitEditor.js +2 -2
  235. package/examples/jsm/node-editor/utils/TimerEditor.js +1 -1
  236. package/examples/jsm/nodes/Nodes.js +283 -94
  237. package/examples/jsm/nodes/accessors/BufferNode.js +24 -0
  238. package/examples/jsm/nodes/accessors/CameraNode.js +27 -196
  239. package/examples/jsm/nodes/accessors/CubeTextureNode.js +103 -0
  240. package/examples/jsm/nodes/accessors/InstanceNode.js +58 -0
  241. package/examples/jsm/{renderers/nodes → nodes}/accessors/MaterialNode.js +49 -11
  242. package/examples/jsm/{renderers/nodes → nodes}/accessors/MaterialReferenceNode.js +0 -0
  243. package/examples/jsm/{renderers/nodes → nodes}/accessors/ModelNode.js +8 -0
  244. package/examples/jsm/{renderers/nodes → nodes}/accessors/ModelViewProjectionNode.js +0 -0
  245. package/examples/jsm/nodes/accessors/NormalNode.js +39 -99
  246. package/examples/jsm/{renderers/nodes → nodes}/accessors/Object3DNode.js +34 -17
  247. package/examples/jsm/{renderers/nodes → nodes}/accessors/PointUVNode.js +2 -2
  248. package/examples/jsm/nodes/accessors/PositionNode.js +41 -110
  249. package/examples/jsm/nodes/accessors/ReferenceNode.js +65 -0
  250. package/examples/jsm/nodes/accessors/ReflectNode.js +34 -121
  251. package/examples/jsm/nodes/accessors/SkinningNode.js +102 -0
  252. package/examples/jsm/nodes/accessors/StorageBufferNode.js +21 -0
  253. package/examples/jsm/nodes/accessors/TextureNode.js +100 -0
  254. package/examples/jsm/nodes/accessors/UVNode.js +17 -43
  255. package/examples/jsm/nodes/accessors/UserDataNode.js +23 -0
  256. package/examples/jsm/nodes/core/ArrayUniformNode.js +23 -0
  257. package/examples/jsm/nodes/core/AttributeNode.js +33 -30
  258. package/examples/jsm/{renderers/nodes → nodes}/core/BypassNode.js +2 -2
  259. package/examples/jsm/{renderers/nodes → nodes}/core/CodeNode.js +2 -30
  260. package/examples/jsm/nodes/core/ConstNode.js +10 -106
  261. package/examples/jsm/{renderers/nodes → nodes}/core/ContextNode.js +17 -3
  262. package/examples/jsm/nodes/core/ExpressionNode.js +24 -7
  263. package/examples/jsm/nodes/core/FunctionCallNode.js +26 -67
  264. package/examples/jsm/nodes/core/FunctionNode.js +43 -216
  265. package/examples/jsm/nodes/core/InputNode.js +28 -60
  266. package/examples/jsm/nodes/core/InstanceIndexNode.js +21 -0
  267. package/examples/jsm/nodes/core/Node.js +228 -94
  268. package/examples/jsm/{renderers/nodes → nodes}/core/NodeAttribute.js +2 -2
  269. package/examples/jsm/nodes/core/NodeBuilder.js +388 -560
  270. package/examples/jsm/{renderers/nodes → nodes}/core/NodeCode.js +0 -0
  271. package/examples/jsm/nodes/core/NodeFrame.js +30 -23
  272. package/examples/jsm/{renderers/nodes → nodes}/core/NodeFunction.js +0 -0
  273. package/examples/jsm/{renderers/nodes → nodes}/core/NodeFunctionInput.js +0 -0
  274. package/examples/jsm/{renderers/nodes → nodes}/core/NodeKeywords.js +0 -0
  275. package/examples/jsm/{renderers/nodes → nodes}/core/NodeParser.js +0 -0
  276. package/examples/jsm/nodes/core/NodeUniform.js +8 -6
  277. package/examples/jsm/nodes/core/NodeUtils.js +69 -37
  278. package/examples/jsm/{renderers/nodes → nodes}/core/NodeVar.js +2 -2
  279. package/examples/jsm/{renderers/nodes → nodes}/core/NodeVary.js +2 -2
  280. package/examples/jsm/{renderers/nodes → nodes}/core/PropertyNode.js +0 -0
  281. package/examples/jsm/nodes/core/TempNode.js +20 -112
  282. package/examples/jsm/nodes/core/UniformNode.js +46 -0
  283. package/examples/jsm/nodes/core/VarNode.js +58 -27
  284. package/examples/jsm/{renderers/nodes → nodes}/core/VaryNode.js +0 -0
  285. package/examples/jsm/{renderers/nodes → nodes}/core/constants.js +0 -0
  286. package/examples/jsm/{renderers/nodes → nodes}/display/ColorSpaceNode.js +10 -11
  287. package/examples/jsm/nodes/display/FrontFacingNode.js +21 -0
  288. package/examples/jsm/nodes/display/NormalMapNode.js +86 -0
  289. package/examples/jsm/nodes/display/ToneMappingNode.js +51 -0
  290. package/examples/jsm/nodes/fog/FogNode.js +31 -0
  291. package/examples/jsm/nodes/fog/FogRangeNode.js +27 -0
  292. package/examples/jsm/nodes/functions/BSDF/BRDF_GGX.js +33 -0
  293. package/examples/jsm/nodes/functions/BSDF/BRDF_Lambert.js +9 -0
  294. package/examples/jsm/nodes/functions/BSDF/DFGApprox.js +27 -0
  295. package/examples/jsm/nodes/functions/BSDF/D_GGX.js +18 -0
  296. package/examples/jsm/nodes/functions/BSDF/F_Schlick.js +18 -0
  297. package/examples/jsm/nodes/functions/BSDF/V_GGX_SmithCorrelated.js +18 -0
  298. package/examples/jsm/nodes/functions/PhysicalLightingModel.js +94 -0
  299. package/examples/jsm/nodes/functions/light/getDistanceAttenuation.js +22 -0
  300. package/examples/jsm/nodes/functions/material/getGeometryRoughness.js +12 -0
  301. package/examples/jsm/nodes/functions/material/getRoughness.js +18 -0
  302. package/examples/jsm/nodes/gpgpu/ComputeNode.js +63 -0
  303. package/examples/jsm/nodes/lighting/AONode.js +25 -0
  304. package/examples/jsm/nodes/lighting/AnalyticLightNode.js +37 -0
  305. package/examples/jsm/nodes/lighting/EnvironmentNode.js +65 -0
  306. package/examples/jsm/nodes/lighting/HemisphereLightNode.js +50 -0
  307. package/examples/jsm/nodes/lighting/LightingContextNode.js +75 -0
  308. package/examples/jsm/nodes/lighting/LightingNode.js +19 -0
  309. package/examples/jsm/nodes/lighting/LightsNode.js +120 -0
  310. package/examples/jsm/nodes/lighting/PunctualLightNode.js +68 -0
  311. package/examples/jsm/nodes/loaders/NodeLoader.js +107 -0
  312. package/examples/jsm/nodes/loaders/NodeMaterialLoader.js +42 -0
  313. package/examples/jsm/nodes/loaders/NodeObjectLoader.js +70 -0
  314. package/examples/jsm/{renderers/nodes → nodes}/materials/LineBasicNodeMaterial.js +11 -4
  315. package/examples/jsm/nodes/materials/Materials.js +65 -0
  316. package/examples/jsm/{renderers/nodes → nodes}/materials/MeshBasicNodeMaterial.js +13 -4
  317. package/examples/jsm/nodes/materials/MeshStandardNodeMaterial.js +162 -22
  318. package/examples/jsm/nodes/materials/NodeMaterial.js +128 -113
  319. package/examples/jsm/{renderers/nodes → nodes}/materials/PointsNodeMaterial.js +13 -4
  320. package/examples/jsm/nodes/materials/SpriteNodeMaterial.js +84 -16
  321. package/examples/jsm/nodes/math/CondNode.js +26 -95
  322. package/examples/jsm/nodes/math/MathNode.js +164 -187
  323. package/examples/jsm/nodes/math/OperatorNode.js +161 -41
  324. package/examples/jsm/{renderers/nodes → nodes}/parsers/GLSLNodeFunction.js +2 -2
  325. package/examples/jsm/{renderers/nodes → nodes}/parsers/GLSLNodeParser.js +0 -0
  326. package/examples/jsm/{renderers/nodes → nodes}/parsers/WGSLNodeFunction.js +20 -5
  327. package/examples/jsm/{renderers/nodes → nodes}/parsers/WGSLNodeParser.js +0 -0
  328. package/examples/jsm/nodes/procedural/CheckerNode.js +16 -57
  329. package/examples/jsm/nodes/shadernode/ShaderNode.js +262 -0
  330. package/examples/jsm/nodes/shadernode/ShaderNodeBaseElements.js +274 -0
  331. package/examples/jsm/nodes/shadernode/ShaderNodeElements.js +106 -0
  332. package/examples/jsm/{renderers/nodes → nodes}/utils/ArrayElementNode.js +3 -3
  333. package/examples/jsm/{renderers/nodes → nodes}/utils/ConvertNode.js +11 -3
  334. package/examples/jsm/nodes/utils/JoinNode.js +17 -89
  335. package/examples/jsm/nodes/utils/MatcapUVNode.js +25 -0
  336. package/examples/jsm/nodes/utils/MaxMipLevelNode.js +32 -0
  337. package/examples/jsm/{renderers/nodes → nodes}/utils/OscNode.js +18 -2
  338. package/examples/jsm/{renderers/nodes → nodes}/utils/SplitNode.js +16 -0
  339. package/examples/jsm/{renderers/nodes → nodes}/utils/SpriteSheetUVNode.js +3 -3
  340. package/examples/jsm/nodes/utils/TimerNode.js +30 -65
  341. package/examples/jsm/objects/Lensflare.js +2 -2
  342. package/examples/jsm/objects/LightningStorm.js +4 -4
  343. package/examples/jsm/objects/MarchingCubes.js +5 -9
  344. package/examples/jsm/objects/Reflector.js +8 -4
  345. package/examples/jsm/objects/ReflectorForSSRPass.js +2 -2
  346. package/examples/jsm/objects/Refractor.js +8 -4
  347. package/examples/jsm/objects/ShadowMesh.js +2 -2
  348. package/examples/jsm/objects/Sky.js +2 -2
  349. package/examples/jsm/objects/Water.js +2 -2
  350. package/examples/jsm/objects/Water2.js +2 -2
  351. package/examples/jsm/offscreen/jank.js +5 -5
  352. package/examples/jsm/offscreen/offscreen.js +1 -1
  353. package/examples/jsm/offscreen/scene.js +11 -11
  354. package/examples/jsm/postprocessing/AdaptiveToneMappingPass.js +5 -7
  355. package/examples/jsm/postprocessing/AfterimagePass.js +0 -10
  356. package/examples/jsm/postprocessing/BloomPass.js +48 -20
  357. package/examples/jsm/postprocessing/DotScreenPass.js +1 -1
  358. package/examples/jsm/postprocessing/EffectComposer.js +1 -9
  359. package/examples/jsm/postprocessing/LUTPass.js +2 -2
  360. package/examples/jsm/postprocessing/OutlinePass.js +7 -11
  361. package/examples/jsm/postprocessing/SAOPass.js +2 -9
  362. package/examples/jsm/postprocessing/SSAARenderPass.js +1 -4
  363. package/examples/jsm/postprocessing/SSRPass.js +3 -9
  364. package/examples/jsm/postprocessing/TAARenderPass.js +4 -4
  365. package/examples/jsm/postprocessing/UnrealBloomPass.js +3 -8
  366. package/examples/jsm/renderers/CSS2DRenderer.js +21 -24
  367. package/examples/jsm/renderers/CSS3DRenderer.js +7 -8
  368. package/examples/jsm/renderers/Projector.js +101 -128
  369. package/examples/jsm/renderers/SVGRenderer.js +4 -4
  370. package/examples/jsm/renderers/webgl/nodes/SlotNode.js +1 -1
  371. package/examples/jsm/renderers/webgl/nodes/WebGLNodeBuilder.js +127 -23
  372. package/examples/jsm/renderers/webgl/nodes/WebGLNodes.js +14 -3
  373. package/examples/jsm/renderers/webgl/nodes/WebGLPhysicalContextNode.js +5 -5
  374. package/examples/jsm/renderers/webgpu/WebGPUAttributes.js +4 -4
  375. package/examples/jsm/renderers/webgpu/WebGPUBackground.js +16 -10
  376. package/examples/jsm/renderers/webgpu/WebGPUBindings.js +8 -7
  377. package/examples/jsm/renderers/webgpu/WebGPUBuffer.js +43 -0
  378. package/examples/jsm/renderers/webgpu/WebGPUComputePipelines.js +14 -7
  379. package/examples/jsm/renderers/webgpu/WebGPUInfo.js +1 -1
  380. package/examples/jsm/renderers/webgpu/WebGPUObjects.js +0 -6
  381. package/examples/jsm/renderers/webgpu/WebGPURenderPipeline.js +20 -20
  382. package/examples/jsm/renderers/webgpu/WebGPURenderPipelines.js +2 -1
  383. package/examples/jsm/renderers/webgpu/WebGPURenderStates.js +66 -0
  384. package/examples/jsm/renderers/webgpu/WebGPURenderer.js +47 -24
  385. package/examples/jsm/renderers/webgpu/WebGPUSampledTexture.js +14 -14
  386. package/examples/jsm/renderers/webgpu/WebGPUSampler.js +2 -2
  387. package/examples/jsm/renderers/webgpu/WebGPUStorageBuffer.js +5 -8
  388. package/examples/jsm/renderers/webgpu/WebGPUTextureUtils.js +23 -20
  389. package/examples/jsm/renderers/webgpu/WebGPUTextures.js +37 -18
  390. package/examples/jsm/renderers/webgpu/WebGPUUniform.js +14 -14
  391. package/examples/jsm/renderers/webgpu/WebGPUUniformBuffer.js +5 -32
  392. package/examples/jsm/renderers/webgpu/WebGPUUniformsGroup.js +2 -2
  393. package/examples/jsm/renderers/webgpu/constants.js +3 -2
  394. package/examples/jsm/renderers/webgpu/nodes/WebGPUNodeBuilder.js +276 -284
  395. package/examples/jsm/renderers/webgpu/nodes/WebGPUNodeSampledTexture.js +20 -2
  396. package/examples/jsm/renderers/webgpu/nodes/WebGPUNodes.js +24 -14
  397. package/examples/jsm/shaders/BlendShader.js +2 -1
  398. package/examples/jsm/shaders/CopyShader.js +4 -3
  399. package/examples/jsm/shaders/FXAAShader.js +219 -1051
  400. package/examples/jsm/shaders/FreiChenShader.js +1 -1
  401. package/examples/jsm/shaders/HorizontalBlurShader.js +1 -1
  402. package/examples/jsm/shaders/HorizontalTiltShiftShader.js +1 -1
  403. package/examples/jsm/shaders/SSRShader.js +3 -3
  404. package/examples/jsm/shaders/ToneMapShader.js +1 -1
  405. package/examples/jsm/utils/BufferGeometryUtils.js +292 -22
  406. package/examples/jsm/utils/GPUStatsPanel.js +1 -1
  407. package/examples/jsm/utils/LDrawUtils.js +6 -6
  408. package/examples/jsm/utils/SceneUtils.js +76 -2
  409. package/examples/jsm/utils/SkeletonUtils.js +1 -1
  410. package/examples/jsm/utils/UVsDebug.js +23 -32
  411. package/examples/jsm/webxr/ARButton.js +14 -4
  412. package/examples/jsm/webxr/OculusHandPointerModel.js +3 -3
  413. package/examples/jsm/webxr/Text2D.js +1 -1
  414. package/examples/jsm/webxr/VRButton.js +15 -1
  415. package/examples/jsm/webxr/XRHandMeshModel.js +3 -7
  416. package/examples/jsm/webxr/XRHandModelFactory.js +3 -0
  417. package/package.json +37 -19
  418. package/src/Three.Legacy.js +41 -1912
  419. package/src/Three.js +6 -3
  420. package/src/animation/AnimationClip.js +1 -1
  421. package/src/animation/AnimationMixer.js +5 -3
  422. package/src/animation/AnimationObjectGroup.js +2 -2
  423. package/src/animation/PropertyBinding.js +8 -18
  424. package/src/audio/PositionalAudio.js +8 -0
  425. package/src/cameras/ArrayCamera.js +2 -3
  426. package/src/cameras/Camera.js +2 -2
  427. package/src/cameras/CubeCamera.js +6 -1
  428. package/src/cameras/OrthographicCamera.js +2 -2
  429. package/src/cameras/PerspectiveCamera.js +2 -2
  430. package/src/constants.js +7 -2
  431. package/src/core/BufferAttribute.js +7 -12
  432. package/src/core/BufferGeometry.js +4 -4
  433. package/src/core/GLBufferAttribute.js +2 -2
  434. package/src/core/InstancedBufferAttribute.js +2 -2
  435. package/src/core/InstancedBufferGeometry.js +2 -2
  436. package/src/core/InstancedInterleavedBuffer.js +2 -2
  437. package/src/core/InterleavedBuffer.js +2 -2
  438. package/src/core/InterleavedBufferAttribute.js +5 -11
  439. package/src/core/Object3D.js +6 -3
  440. package/src/core/Raycaster.js +2 -2
  441. package/src/extras/DataUtils.js +127 -40
  442. package/src/extras/Earcut.js +2 -2
  443. package/src/extras/PMREMGenerator.js +132 -104
  444. package/src/extras/core/CurvePath.js +3 -3
  445. package/src/extras/core/ShapePath.js +5 -6
  446. package/src/extras/curves/ArcCurve.js +2 -2
  447. package/src/extras/curves/CatmullRomCurve3.js +2 -2
  448. package/src/extras/curves/CubicBezierCurve.js +2 -2
  449. package/src/extras/curves/CubicBezierCurve3.js +2 -2
  450. package/src/extras/curves/EllipseCurve.js +2 -2
  451. package/src/extras/curves/LineCurve.js +2 -2
  452. package/src/extras/curves/LineCurve3.js +2 -1
  453. package/src/extras/curves/QuadraticBezierCurve.js +2 -2
  454. package/src/extras/curves/QuadraticBezierCurve3.js +2 -2
  455. package/src/extras/curves/SplineCurve.js +2 -2
  456. package/src/geometries/CapsuleGeometry.js +33 -0
  457. package/src/geometries/ExtrudeGeometry.js +2 -0
  458. package/src/geometries/Geometries.js +1 -0
  459. package/src/geometries/TorusKnotGeometry.js +2 -2
  460. package/src/geometries/WireframeGeometry.js +3 -2
  461. package/src/helpers/BoxHelper.js +2 -2
  462. package/src/helpers/PointLightHelper.js +1 -1
  463. package/src/helpers/SkeletonHelper.js +3 -2
  464. package/src/lights/AmbientLight.js +2 -2
  465. package/src/lights/AmbientLightProbe.js +2 -2
  466. package/src/lights/DirectionalLight.js +2 -2
  467. package/src/lights/DirectionalLightShadow.js +2 -2
  468. package/src/lights/HemisphereLight.js +4 -4
  469. package/src/lights/HemisphereLightProbe.js +2 -2
  470. package/src/lights/Light.js +4 -4
  471. package/src/lights/LightProbe.js +2 -2
  472. package/src/lights/PointLight.js +4 -4
  473. package/src/lights/PointLightShadow.js +2 -2
  474. package/src/lights/RectAreaLight.js +2 -2
  475. package/src/lights/SpotLight.js +4 -4
  476. package/src/lights/SpotLightShadow.js +2 -2
  477. package/src/loaders/FileLoader.js +3 -1
  478. package/src/loaders/ImageBitmapLoader.js +2 -2
  479. package/src/loaders/ImageLoader.js +1 -1
  480. package/src/loaders/LoaderUtils.js +1 -1
  481. package/src/loaders/MaterialLoader.js +8 -3
  482. package/src/loaders/ObjectLoader.js +23 -25
  483. package/src/materials/LineBasicMaterial.js +6 -13
  484. package/src/materials/LineDashedMaterial.js +2 -15
  485. package/src/materials/Material.js +48 -14
  486. package/src/materials/Materials.js +66 -18
  487. package/src/materials/MeshBasicMaterial.js +6 -31
  488. package/src/materials/MeshDepthMaterial.js +2 -22
  489. package/src/materials/MeshDistanceMaterial.js +2 -22
  490. package/src/materials/MeshLambertMaterial.js +6 -34
  491. package/src/materials/MeshMatcapMaterial.js +6 -28
  492. package/src/materials/MeshNormalMaterial.js +2 -26
  493. package/src/materials/MeshPhongMaterial.js +6 -48
  494. package/src/materials/MeshPhysicalMaterial.js +32 -35
  495. package/src/materials/MeshStandardMaterial.js +6 -54
  496. package/src/materials/MeshToonMaterial.js +6 -38
  497. package/src/materials/PointsMaterial.js +6 -15
  498. package/src/materials/RawShaderMaterial.js +2 -2
  499. package/src/materials/ShaderMaterial.js +3 -17
  500. package/src/materials/ShadowMaterial.js +6 -8
  501. package/src/materials/SpriteMaterial.js +6 -12
  502. package/src/math/Box2.js +2 -2
  503. package/src/math/Box3.js +5 -5
  504. package/src/math/Color.js +84 -35
  505. package/src/math/ColorManagement.js +74 -0
  506. package/src/math/Euler.js +16 -14
  507. package/src/math/Interpolant.js +4 -9
  508. package/src/math/MathUtils.js +76 -7
  509. package/src/math/Matrix3.js +2 -2
  510. package/src/math/Matrix4.js +2 -3
  511. package/src/math/Plane.js +2 -2
  512. package/src/math/Quaternion.js +11 -2
  513. package/src/math/Spherical.js +1 -1
  514. package/src/math/SphericalHarmonics3.js +2 -2
  515. package/src/math/Vector2.js +2 -2
  516. package/src/math/Vector3.js +12 -3
  517. package/src/math/Vector4.js +2 -2
  518. package/src/math/interpolants/DiscreteInterpolant.js +1 -1
  519. package/src/objects/Bone.js +2 -2
  520. package/src/objects/Group.js +2 -2
  521. package/src/objects/InstancedMesh.js +4 -4
  522. package/src/objects/Line.js +76 -107
  523. package/src/objects/LineLoop.js +2 -2
  524. package/src/objects/LineSegments.js +15 -23
  525. package/src/objects/Mesh.js +82 -104
  526. package/src/objects/Points.js +32 -54
  527. package/src/objects/SkinnedMesh.js +5 -8
  528. package/src/objects/Sprite.js +4 -4
  529. package/src/renderers/WebGL3DRenderTarget.js +22 -0
  530. package/src/renderers/WebGLArrayRenderTarget.js +22 -0
  531. package/src/renderers/WebGLCubeRenderTarget.js +7 -14
  532. package/src/renderers/WebGLMultipleRenderTargets.js +8 -5
  533. package/src/renderers/WebGLRenderTarget.js +16 -18
  534. package/src/renderers/WebGLRenderer.js +108 -63
  535. package/src/renderers/shaders/ShaderChunk/bsdfs.glsl.js +46 -0
  536. package/src/renderers/shaders/ShaderChunk/common.glsl.js +1 -0
  537. package/src/renderers/shaders/ShaderChunk/cube_uv_reflection_fragment.glsl.js +12 -13
  538. package/src/renderers/shaders/ShaderChunk/dithering_pars_fragment.glsl.js +1 -1
  539. package/src/renderers/shaders/ShaderChunk/envmap_physical_pars_fragment.glsl.js +3 -19
  540. package/src/renderers/shaders/ShaderChunk/iridescence_fragment.glsl.js +107 -0
  541. package/src/renderers/shaders/ShaderChunk/iridescence_pars_fragment.glsl.js +14 -0
  542. package/src/renderers/shaders/ShaderChunk/lightmap_fragment.glsl.js +0 -6
  543. package/src/renderers/shaders/ShaderChunk/lights_fragment_begin.glsl.js +25 -0
  544. package/src/renderers/shaders/ShaderChunk/lights_fragment_maps.glsl.js +0 -6
  545. package/src/renderers/shaders/ShaderChunk/lights_physical_fragment.glsl.js +23 -0
  546. package/src/renderers/shaders/ShaderChunk/lights_physical_pars_fragment.glsl.js +43 -5
  547. package/src/renderers/shaders/ShaderChunk/morphcolor_vertex.glsl.js +24 -0
  548. package/src/renderers/shaders/ShaderChunk/morphnormal_vertex.glsl.js +1 -1
  549. package/src/renderers/shaders/ShaderChunk/morphtarget_pars_vertex.glsl.js +7 -7
  550. package/src/renderers/shaders/ShaderChunk/morphtarget_vertex.glsl.js +1 -9
  551. package/src/renderers/shaders/ShaderChunk/skinning_pars_vertex.glsl.js +16 -31
  552. package/src/renderers/shaders/ShaderChunk/transmission_pars_fragment.glsl.js +1 -1
  553. package/src/renderers/shaders/ShaderChunk.js +6 -0
  554. package/src/renderers/shaders/ShaderLib/background.glsl.js +8 -0
  555. package/src/renderers/shaders/ShaderLib/linedashed.glsl.js +1 -0
  556. package/src/renderers/shaders/ShaderLib/meshbasic.glsl.js +3 -2
  557. package/src/renderers/shaders/ShaderLib/meshlambert.glsl.js +1 -0
  558. package/src/renderers/shaders/ShaderLib/meshmatcap.glsl.js +1 -0
  559. package/src/renderers/shaders/ShaderLib/meshnormal.glsl.js +6 -0
  560. package/src/renderers/shaders/ShaderLib/meshphong.glsl.js +1 -0
  561. package/src/renderers/shaders/ShaderLib/meshphysical.glsl.js +10 -0
  562. package/src/renderers/shaders/ShaderLib/meshtoon.glsl.js +1 -0
  563. package/src/renderers/shaders/ShaderLib/points.glsl.js +1 -0
  564. package/src/renderers/shaders/ShaderLib.js +6 -0
  565. package/src/renderers/shaders/UniformsLib.js +2 -2
  566. package/src/renderers/webgl/WebGLAttributes.js +6 -6
  567. package/src/renderers/webgl/WebGLBackground.js +3 -0
  568. package/src/renderers/webgl/WebGLBindingStates.js +57 -29
  569. package/src/renderers/webgl/WebGLLights.js +0 -1
  570. package/src/renderers/webgl/WebGLMaterials.js +72 -187
  571. package/src/renderers/webgl/WebGLMorphtargets.js +47 -23
  572. package/src/renderers/webgl/WebGLProgram.js +57 -19
  573. package/src/renderers/webgl/WebGLPrograms.js +75 -86
  574. package/src/renderers/webgl/WebGLShaderCache.js +4 -3
  575. package/src/renderers/webgl/WebGLShadowMap.js +6 -8
  576. package/src/renderers/webgl/WebGLTextures.js +567 -380
  577. package/src/renderers/webgl/WebGLUniforms.js +79 -80
  578. package/src/renderers/webgl/WebGLUtils.js +12 -1
  579. package/src/renderers/webxr/WebXRManager.js +60 -45
  580. package/src/scenes/Fog.js +2 -2
  581. package/src/scenes/FogExp2.js +2 -2
  582. package/src/scenes/Scene.js +2 -2
  583. package/src/textures/CanvasTexture.js +2 -2
  584. package/src/textures/CompressedTexture.js +2 -2
  585. package/src/textures/CubeTexture.js +2 -2
  586. package/src/textures/{DataTexture3D.js → Data3DTexture.js} +4 -4
  587. package/src/textures/{DataTexture2DArray.js → DataArrayTexture.js} +4 -4
  588. package/src/textures/DataTexture.js +2 -5
  589. package/src/textures/DepthTexture.js +5 -5
  590. package/src/textures/FramebufferTexture.js +2 -2
  591. package/src/textures/Source.js +123 -0
  592. package/src/textures/Texture.js +27 -97
  593. package/src/textures/VideoTexture.js +2 -2
  594. package/examples/js/csm/Frustum.js +0 -133
  595. package/examples/js/deprecated/Geometry.js +0 -1656
  596. package/examples/js/loaders/VRMLoader.js +0 -72
  597. package/examples/js/objects/ReflectorRTT.js +0 -16
  598. package/examples/js/postprocessing/SSRrPass.js +0 -494
  599. package/examples/js/shaders/SSRrShader.js +0 -336
  600. package/examples/jsm/deprecated/Geometry.js +0 -1869
  601. package/examples/jsm/libs/opentype.module.min.js +0 -119
  602. package/examples/jsm/loaders/NodeMaterialLoader.js +0 -263
  603. package/examples/jsm/loaders/VRMLoader.js +0 -78
  604. package/examples/jsm/nodes/accessors/ColorsNode.js +0 -56
  605. package/examples/jsm/nodes/accessors/LightNode.js +0 -60
  606. package/examples/jsm/nodes/accessors/ResolutionNode.js +0 -64
  607. package/examples/jsm/nodes/accessors/ScreenUVNode.js +0 -64
  608. package/examples/jsm/nodes/core/NodeLib.js +0 -64
  609. package/examples/jsm/nodes/core/StructNode.js +0 -106
  610. package/examples/jsm/nodes/effects/BlurNode.js +0 -171
  611. package/examples/jsm/nodes/effects/ColorAdjustmentNode.js +0 -140
  612. package/examples/jsm/nodes/effects/LuminanceNode.js +0 -75
  613. package/examples/jsm/nodes/inputs/BoolNode.js +0 -51
  614. package/examples/jsm/nodes/inputs/ColorNode.js +0 -58
  615. package/examples/jsm/nodes/inputs/CubeTextureNode.js +0 -108
  616. package/examples/jsm/nodes/inputs/FloatNode.js +0 -51
  617. package/examples/jsm/nodes/inputs/IntNode.js +0 -51
  618. package/examples/jsm/nodes/inputs/Matrix3Node.js +0 -63
  619. package/examples/jsm/nodes/inputs/Matrix4Node.js +0 -63
  620. package/examples/jsm/nodes/inputs/PropertyNode.js +0 -47
  621. package/examples/jsm/nodes/inputs/RTTNode.js +0 -157
  622. package/examples/jsm/nodes/inputs/ReflectorNode.js +0 -90
  623. package/examples/jsm/nodes/inputs/ScreenNode.js +0 -28
  624. package/examples/jsm/nodes/inputs/TextureNode.js +0 -116
  625. package/examples/jsm/nodes/inputs/Vector2Node.js +0 -57
  626. package/examples/jsm/nodes/inputs/Vector3Node.js +0 -58
  627. package/examples/jsm/nodes/inputs/Vector4Node.js +0 -59
  628. package/examples/jsm/nodes/materials/BasicNodeMaterial.js +0 -26
  629. package/examples/jsm/nodes/materials/PhongNodeMaterial.js +0 -36
  630. package/examples/jsm/nodes/materials/StandardNodeMaterial.js +0 -40
  631. package/examples/jsm/nodes/materials/nodes/BasicNode.js +0 -154
  632. package/examples/jsm/nodes/materials/nodes/MeshStandardNode.js +0 -116
  633. package/examples/jsm/nodes/materials/nodes/PhongNode.js +0 -409
  634. package/examples/jsm/nodes/materials/nodes/RawNode.js +0 -62
  635. package/examples/jsm/nodes/materials/nodes/SpriteNode.js +0 -236
  636. package/examples/jsm/nodes/materials/nodes/StandardNode.js +0 -609
  637. package/examples/jsm/nodes/misc/BumpMapNode.js +0 -163
  638. package/examples/jsm/nodes/misc/NormalMapNode.js +0 -138
  639. package/examples/jsm/nodes/misc/TextureCubeNode.js +0 -86
  640. package/examples/jsm/nodes/misc/TextureCubeUVNode.js +0 -280
  641. package/examples/jsm/nodes/postprocessing/NodePass.js +0 -93
  642. package/examples/jsm/nodes/postprocessing/NodePostProcessing.js +0 -148
  643. package/examples/jsm/nodes/procedural/Fractal3DNode.js +0 -104
  644. package/examples/jsm/nodes/procedural/Noise2DNode.js +0 -149
  645. package/examples/jsm/nodes/procedural/Noise3DNode.js +0 -141
  646. package/examples/jsm/nodes/utils/BypassNode.js +0 -85
  647. package/examples/jsm/nodes/utils/ColorSpaceNode.js +0 -145
  648. package/examples/jsm/nodes/utils/MaxMIPLevelNode.js +0 -56
  649. package/examples/jsm/nodes/utils/RemapNode.js +0 -155
  650. package/examples/jsm/nodes/utils/SpecularMIPLevelNode.js +0 -101
  651. package/examples/jsm/nodes/utils/SubSlotNode.js +0 -77
  652. package/examples/jsm/nodes/utils/SwitchNode.js +0 -103
  653. package/examples/jsm/nodes/utils/UVTransformNode.js +0 -66
  654. package/examples/jsm/nodes/utils/VelocityNode.js +0 -170
  655. package/examples/jsm/objects/ReflectorRTT.js +0 -15
  656. package/examples/jsm/postprocessing/SSRrPass.js +0 -579
  657. package/examples/jsm/renderers/nodes/Nodes.js +0 -166
  658. package/examples/jsm/renderers/nodes/ShaderNode.js +0 -373
  659. package/examples/jsm/renderers/nodes/accessors/CameraNode.js +0 -68
  660. package/examples/jsm/renderers/nodes/accessors/NormalNode.js +0 -63
  661. package/examples/jsm/renderers/nodes/accessors/PositionNode.js +0 -67
  662. package/examples/jsm/renderers/nodes/accessors/ReferenceNode.js +0 -91
  663. package/examples/jsm/renderers/nodes/accessors/SkinningNode.js +0 -107
  664. package/examples/jsm/renderers/nodes/accessors/UVNode.js +0 -25
  665. package/examples/jsm/renderers/nodes/core/ArrayInputNode.js +0 -23
  666. package/examples/jsm/renderers/nodes/core/AttributeNode.js +0 -54
  667. package/examples/jsm/renderers/nodes/core/ExpressionNode.js +0 -32
  668. package/examples/jsm/renderers/nodes/core/FunctionCallNode.js +0 -67
  669. package/examples/jsm/renderers/nodes/core/FunctionNode.js +0 -87
  670. package/examples/jsm/renderers/nodes/core/InputNode.js +0 -66
  671. package/examples/jsm/renderers/nodes/core/Node.js +0 -104
  672. package/examples/jsm/renderers/nodes/core/NodeBuilder.js +0 -634
  673. package/examples/jsm/renderers/nodes/core/NodeFrame.js +0 -59
  674. package/examples/jsm/renderers/nodes/core/NodeUniform.js +0 -28
  675. package/examples/jsm/renderers/nodes/core/TempNode.js +0 -43
  676. package/examples/jsm/renderers/nodes/core/VarNode.js +0 -51
  677. package/examples/jsm/renderers/nodes/display/NormalMapNode.js +0 -87
  678. package/examples/jsm/renderers/nodes/functions/BSDFs.js +0 -122
  679. package/examples/jsm/renderers/nodes/functions/PhysicalMaterialFunctions.js +0 -27
  680. package/examples/jsm/renderers/nodes/inputs/BufferNode.js +0 -25
  681. package/examples/jsm/renderers/nodes/inputs/ColorNode.js +0 -18
  682. package/examples/jsm/renderers/nodes/inputs/FloatNode.js +0 -17
  683. package/examples/jsm/renderers/nodes/inputs/IntNode.js +0 -17
  684. package/examples/jsm/renderers/nodes/inputs/Matrix3Node.js +0 -18
  685. package/examples/jsm/renderers/nodes/inputs/Matrix4Node.js +0 -18
  686. package/examples/jsm/renderers/nodes/inputs/TextureNode.js +0 -74
  687. package/examples/jsm/renderers/nodes/inputs/Vector2Node.js +0 -18
  688. package/examples/jsm/renderers/nodes/inputs/Vector3Node.js +0 -18
  689. package/examples/jsm/renderers/nodes/inputs/Vector4Node.js +0 -18
  690. package/examples/jsm/renderers/nodes/lights/LightContextNode.js +0 -59
  691. package/examples/jsm/renderers/nodes/lights/LightNode.js +0 -79
  692. package/examples/jsm/renderers/nodes/lights/LightsNode.js +0 -44
  693. package/examples/jsm/renderers/nodes/materials/Materials.js +0 -11
  694. package/examples/jsm/renderers/nodes/materials/MeshStandardNodeMaterial.js +0 -63
  695. package/examples/jsm/renderers/nodes/math/CondNode.js +0 -60
  696. package/examples/jsm/renderers/nodes/math/MathNode.js +0 -242
  697. package/examples/jsm/renderers/nodes/math/OperatorNode.js +0 -174
  698. package/examples/jsm/renderers/nodes/procedural/CheckerNode.js +0 -36
  699. package/examples/jsm/renderers/nodes/utils/JoinNode.js +0 -42
  700. package/examples/jsm/renderers/nodes/utils/TimerNode.js +0 -47
  701. package/examples/jsm/renderers/webgpu/nodes/WebGPUNodeUniformsGroup.js +0 -20
  702. package/examples/jsm/shaders/SSRrShader.js +0 -307
  703. package/src/renderers/WebGLMultisampleRenderTarget.js +0 -33
@@ -173,7 +173,7 @@ var require_web_ifc = __commonJS({
173
173
  scriptDirectory = _scriptDir;
174
174
  }
175
175
  if (scriptDirectory.indexOf("blob:") !== 0) {
176
- scriptDirectory = scriptDirectory.substr(0, scriptDirectory.lastIndexOf("/") + 1);
176
+ scriptDirectory = scriptDirectory.slice(0, scriptDirectory.lastIndexOf("/") + 1);
177
177
  } else {
178
178
  scriptDirectory = "";
179
179
  }
@@ -728,7 +728,7 @@ var require_web_ifc = __commonJS({
728
728
  }
729
729
  return parts;
730
730
  }, normalize: function(path) {
731
- var isAbsolute = path.charAt(0) === "/", trailingSlash = path.substr(-1) === "/";
731
+ var isAbsolute = path.charAt(0) === "/", trailingSlash = path.slice(-1) === "/";
732
732
  path = PATH.normalizeArray(path.split("/").filter(function(p) {
733
733
  return !!p;
734
734
  }), !isAbsolute).join("/");
@@ -745,7 +745,7 @@ var require_web_ifc = __commonJS({
745
745
  return ".";
746
746
  }
747
747
  if (dir) {
748
- dir = dir.substr(0, dir.length - 1);
748
+ dir = dir.slice(0, dir.length - 1);
749
749
  }
750
750
  return root + dir;
751
751
  }, basename: function(path) {
@@ -756,7 +756,7 @@ var require_web_ifc = __commonJS({
756
756
  var lastSlash = path.lastIndexOf("/");
757
757
  if (lastSlash === -1)
758
758
  return path;
759
- return path.substr(lastSlash + 1);
759
+ return path.slice(lastSlash + 1);
760
760
  }, extname: function(path) {
761
761
  return PATH.splitPath(path)[3];
762
762
  }, join: function() {
@@ -802,8 +802,8 @@ var require_web_ifc = __commonJS({
802
802
  }), !resolvedAbsolute).join("/");
803
803
  return (resolvedAbsolute ? "/" : "") + resolvedPath || ".";
804
804
  }, relative: function(from, to) {
805
- from = PATH_FS.resolve(from).substr(1);
806
- to = PATH_FS.resolve(to).substr(1);
805
+ from = PATH_FS.resolve(from).slice(1);
806
+ to = PATH_FS.resolve(to).slice(1);
807
807
  function trim(arr) {
808
808
  var start = 0;
809
809
  for (; start < arr.length; start++) {
@@ -2692,7 +2692,7 @@ var require_web_ifc = __commonJS({
2692
2692
  }, doMkdir: function(path, mode) {
2693
2693
  path = PATH.normalize(path);
2694
2694
  if (path[path.length - 1] === "/")
2695
- path = path.substr(0, path.length - 1);
2695
+ path = path.slice(0, path.length - 1);
2696
2696
  FS.mkdir(path, mode, 0);
2697
2697
  return 0;
2698
2698
  }, doMknod: function(path, mode, dev) {
@@ -47500,4 +47500,5 @@ export {
47500
47500
  };
47501
47501
 
47502
47502
 
47503
- var WasmPath = "";
47503
+ var WasmPath = "";
47504
+
@@ -13,8 +13,8 @@ LWO2Parser.prototype = {
13
13
  this.IFF.debugger.offset = this.IFF.reader.offset;
14
14
  this.IFF.debugger.closeForms();
15
15
 
16
- var blockID = this.IFF.reader.getIDTag();
17
- var length = this.IFF.reader.getUint32(); // size of data in bytes
16
+ const blockID = this.IFF.reader.getIDTag();
17
+ let length = this.IFF.reader.getUint32(); // size of data in bytes
18
18
  if ( length > this.IFF.reader.dv.byteLength - this.IFF.reader.offset ) {
19
19
 
20
20
  this.IFF.reader.offset -= 4;
@@ -235,7 +235,7 @@ LWO2Parser.prototype = {
235
235
  break;
236
236
 
237
237
  case 'IMAG':
238
- var index = this.IFF.reader.getVariableLengthIndex();
238
+ const index = this.IFF.reader.getVariableLengthIndex();
239
239
  this.IFF.currentForm.imageIndex = index;
240
240
  break;
241
241
 
@@ -303,7 +303,7 @@ LWO2Parser.prototype = {
303
303
 
304
304
  // LWO2 Spec chunks: these are needed since the SURF FORMs are often in LWO2 format
305
305
  case 'SMAN':
306
- var maxSmoothingAngle = this.IFF.reader.getFloat32();
306
+ const maxSmoothingAngle = this.IFF.reader.getFloat32();
307
307
  this.IFF.currentSurface.attributes.smooth = ( maxSmoothingAngle < 0 ) ? false : true;
308
308
  break;
309
309
 
@@ -13,8 +13,8 @@ LWO3Parser.prototype = {
13
13
  this.IFF.debugger.offset = this.IFF.reader.offset;
14
14
  this.IFF.debugger.closeForms();
15
15
 
16
- var blockID = this.IFF.reader.getIDTag();
17
- var length = this.IFF.reader.getUint32(); // size of data in bytes
16
+ const blockID = this.IFF.reader.getIDTag();
17
+ const length = this.IFF.reader.getUint32(); // size of data in bytes
18
18
 
19
19
  this.IFF.debugger.dataOffset = this.IFF.reader.offset;
20
20
  this.IFF.debugger.length = length;
@@ -204,7 +204,7 @@ LWO3Parser.prototype = {
204
204
  break;
205
205
 
206
206
  case 'IMAG':
207
- var index = this.IFF.reader.getVariableLengthIndex();
207
+ const index = this.IFF.reader.getVariableLengthIndex();
208
208
  this.IFF.currentForm.imageIndex = index;
209
209
  break;
210
210
 
@@ -272,7 +272,7 @@ LWO3Parser.prototype = {
272
272
 
273
273
  // LWO2 Spec chunks: these are needed since the SURF FORMs are often in LWO2 format
274
274
  case 'SMAN':
275
- var maxSmoothingAngle = this.IFF.reader.getFloat32();
275
+ const maxSmoothingAngle = this.IFF.reader.getFloat32();
276
276
  this.IFF.currentSurface.attributes.smooth = ( maxSmoothingAngle < 0 ) ? false : true;
277
277
  break;
278
278
 
@@ -78,26 +78,17 @@ class ConvexHull {
78
78
 
79
79
  if ( geometry !== undefined ) {
80
80
 
81
- if ( geometry.isGeometry ) {
81
+ const attribute = geometry.attributes.position;
82
82
 
83
- console.error( 'THREE.ConvexHull no longer supports Geometry. Use THREE.BufferGeometry instead.' );
84
- return;
83
+ if ( attribute !== undefined ) {
85
84
 
86
- } else if ( geometry.isBufferGeometry ) {
85
+ for ( let i = 0, l = attribute.count; i < l; i ++ ) {
87
86
 
88
- const attribute = geometry.attributes.position;
87
+ const point = new Vector3();
89
88
 
90
- if ( attribute !== undefined ) {
89
+ point.fromBufferAttribute( attribute, i ).applyMatrix4( node.matrixWorld );
91
90
 
92
- for ( let i = 0, l = attribute.count; i < l; i ++ ) {
93
-
94
- const point = new Vector3();
95
-
96
- point.fromBufferAttribute( attribute, i ).applyMatrix4( node.matrixWorld );
97
-
98
- points.push( point );
99
-
100
- }
91
+ points.push( point );
101
92
 
102
93
  }
103
94
 
@@ -1,11 +1,14 @@
1
1
  import {
2
- Color
2
+ Color,
3
+ MathUtils
3
4
  } from 'three';
4
5
 
5
6
  class Lut {
6
7
 
7
8
  constructor( colormap, count = 32 ) {
8
9
 
10
+ this.isLut = true;
11
+
9
12
  this.lut = [];
10
13
  this.map = [];
11
14
  this.n = 0;
@@ -50,22 +53,32 @@ class Lut {
50
53
  this.n = count;
51
54
 
52
55
  const step = 1.0 / this.n;
56
+ const minColor = new Color();
57
+ const maxColor = new Color();
53
58
 
54
59
  this.lut.length = 0;
55
60
 
56
- for ( let i = 0; i <= 1; i += step ) {
61
+ // sample at 0
62
+
63
+ this.lut.push( new Color( this.map[ 0 ][ 1 ] ) );
64
+
65
+ // sample at 1/n, ..., (n-1)/n
66
+
67
+ for ( let i = 1; i < count; i ++ ) {
68
+
69
+ const alpha = i * step;
57
70
 
58
71
  for ( let j = 0; j < this.map.length - 1; j ++ ) {
59
72
 
60
- if ( i >= this.map[ j ][ 0 ] && i < this.map[ j + 1 ][ 0 ] ) {
73
+ if ( alpha > this.map[ j ][ 0 ] && alpha <= this.map[ j + 1 ][ 0 ] ) {
61
74
 
62
75
  const min = this.map[ j ][ 0 ];
63
76
  const max = this.map[ j + 1 ][ 0 ];
64
77
 
65
- const minColor = new Color( this.map[ j ][ 1 ] );
66
- const maxColor = new Color( this.map[ j + 1 ][ 1 ] );
78
+ minColor.set( this.map[ j ][ 1 ] );
79
+ maxColor.set( this.map[ j + 1 ][ 1 ] );
67
80
 
68
- const color = minColor.lerp( maxColor, ( i - min ) / ( max - min ) );
81
+ const color = new Color().lerpColors( minColor, maxColor, ( alpha - min ) / ( max - min ) );
69
82
 
70
83
  this.lut.push( color );
71
84
 
@@ -75,6 +88,10 @@ class Lut {
75
88
 
76
89
  }
77
90
 
91
+ // sample at 1
92
+
93
+ this.lut.push( new Color( this.map[ this.map.length - 1 ][ 1 ] ) );
94
+
78
95
  return this;
79
96
 
80
97
  }
@@ -93,20 +110,11 @@ class Lut {
93
110
 
94
111
  getColor( alpha ) {
95
112
 
96
- if ( alpha <= this.minV ) {
97
-
98
- alpha = this.minV;
99
-
100
- } else if ( alpha >= this.maxV ) {
101
-
102
- alpha = this.maxV;
103
-
104
- }
113
+ alpha = MathUtils.clamp( alpha, this.minV, this.maxV );
105
114
 
106
115
  alpha = ( alpha - this.minV ) / ( this.maxV - this.minV );
107
116
 
108
- let colorPosition = Math.round( alpha * this.n );
109
- colorPosition == this.n ? colorPosition -= 1 : colorPosition;
117
+ const colorPosition = Math.round( alpha * this.n );
110
118
 
111
119
  return this.lut[ colorPosition ];
112
120
 
@@ -144,6 +152,10 @@ class Lut {
144
152
 
145
153
  const step = 1.0 / this.n;
146
154
 
155
+ const minColor = new Color();
156
+ const maxColor = new Color();
157
+ const finalColor = new Color();
158
+
147
159
  for ( let i = 1; i >= 0; i -= step ) {
148
160
 
149
161
  for ( let j = this.map.length - 1; j >= 0; j -- ) {
@@ -153,14 +165,14 @@ class Lut {
153
165
  const min = this.map[ j - 1 ][ 0 ];
154
166
  const max = this.map[ j ][ 0 ];
155
167
 
156
- const minColor = new Color( this.map[ j - 1 ][ 1 ] );
157
- const maxColor = new Color( this.map[ j ][ 1 ] );
168
+ minColor.set( this.map[ j - 1 ][ 1 ] );
169
+ maxColor.set( this.map[ j ][ 1 ] );
158
170
 
159
- const color = minColor.lerp( maxColor, ( i - min ) / ( max - min ) );
171
+ finalColor.lerpColors( minColor, maxColor, ( i - min ) / ( max - min ) );
160
172
 
161
- data[ k * 4 ] = Math.round( color.r * 255 );
162
- data[ k * 4 + 1 ] = Math.round( color.g * 255 );
163
- data[ k * 4 + 2 ] = Math.round( color.b * 255 );
173
+ data[ k * 4 ] = Math.round( finalColor.r * 255 );
174
+ data[ k * 4 + 1 ] = Math.round( finalColor.g * 255 );
175
+ data[ k * 4 + 2 ] = Math.round( finalColor.b * 255 );
164
176
  data[ k * 4 + 3 ] = 255;
165
177
 
166
178
  k += 1;
@@ -179,8 +191,6 @@ class Lut {
179
191
 
180
192
  }
181
193
 
182
- Lut.prototype.isLut = true;
183
-
184
194
  const ColorMapKeywords = {
185
195
 
186
196
  'rainbow': [[ 0.0, 0x0000FF ], [ 0.2, 0x00FFFF ], [ 0.5, 0x00FF00 ], [ 0.8, 0xFFFF00 ], [ 1.0, 0xFF0000 ]],
@@ -60,9 +60,9 @@ class MorphAnimMesh extends Mesh {
60
60
 
61
61
  }
62
62
 
63
- copy( source ) {
63
+ copy( source, recursive ) {
64
64
 
65
- super.copy( source );
65
+ super.copy( source, recursive );
66
66
 
67
67
  this.mixer = new AnimationMixer( this );
68
68
 
@@ -307,7 +307,7 @@ class ProgressiveLightMap {
307
307
 
308
308
  };
309
309
 
310
- this.blurringPlane = new THREE.Mesh( new THREE.PlaneBufferGeometry( 1, 1 ), blurMaterial );
310
+ this.blurringPlane = new THREE.Mesh( new THREE.PlaneGeometry( 1, 1 ), blurMaterial );
311
311
  this.blurringPlane.name = 'Blurring Plane';
312
312
  this.blurringPlane.frustumCulled = false;
313
313
  this.blurringPlane.renderOrder = 0;
@@ -144,7 +144,7 @@ function Volume( xLength, yLength, zLength, type, arrayBuffer ) {
144
144
  * @member {number} lowerThreshold The voxels with values under this threshold won't appear in the slices.
145
145
  * If changed, geometryNeedsUpdate is automatically set to true on all the slices associated to this volume
146
146
  */
147
- var lowerThreshold = - Infinity;
147
+ let lowerThreshold = - Infinity;
148
148
  Object.defineProperty( this, 'lowerThreshold', {
149
149
  get: function () {
150
150
 
@@ -166,7 +166,7 @@ function Volume( xLength, yLength, zLength, type, arrayBuffer ) {
166
166
  * @member {number} upperThreshold The voxels with values over this threshold won't appear in the slices.
167
167
  * If changed, geometryNeedsUpdate is automatically set to true on all the slices associated to this volume
168
168
  */
169
- var upperThreshold = Infinity;
169
+ let upperThreshold = Infinity;
170
170
  Object.defineProperty( this, 'upperThreshold', {
171
171
  get: function () {
172
172
 
@@ -238,9 +238,9 @@ Volume.prototype = {
238
238
  */
239
239
  reverseAccess: function ( index ) {
240
240
 
241
- var z = Math.floor( index / ( this.yLength * this.xLength ) );
242
- var y = Math.floor( ( index - z * this.yLength * this.xLength ) / this.xLength );
243
- var x = index - z * this.yLength * this.xLength - y * this.xLength;
241
+ const z = Math.floor( index / ( this.yLength * this.xLength ) );
242
+ const y = Math.floor( ( index - z * this.yLength * this.xLength ) / this.xLength );
243
+ const x = index - z * this.yLength * this.xLength - y * this.xLength;
244
244
  return [ x, y, z ];
245
245
 
246
246
  },
@@ -257,10 +257,10 @@ Volume.prototype = {
257
257
  */
258
258
  map: function ( functionToMap, context ) {
259
259
 
260
- var length = this.data.length;
260
+ const length = this.data.length;
261
261
  context = context || this;
262
262
 
263
- for ( var i = 0; i < length; i ++ ) {
263
+ for ( let i = 0; i < length; i ++ ) {
264
264
 
265
265
  this.data[ i ] = functionToMap.call( context, this.data[ i ], i, this.data );
266
266
 
@@ -279,23 +279,18 @@ Volume.prototype = {
279
279
  */
280
280
  extractPerpendicularPlane: function ( axis, RASIndex ) {
281
281
 
282
- var iLength,
283
- jLength,
284
- sliceAccess,
285
- planeMatrix = ( new Matrix4() ).identity(),
286
- volume = this,
287
- planeWidth,
288
- planeHeight,
289
- firstSpacing,
282
+ let firstSpacing,
290
283
  secondSpacing,
291
284
  positionOffset,
292
285
  IJKIndex;
293
286
 
294
- var axisInIJK = new Vector3(),
287
+ const axisInIJK = new Vector3(),
295
288
  firstDirection = new Vector3(),
296
- secondDirection = new Vector3();
289
+ secondDirection = new Vector3(),
290
+ planeMatrix = ( new Matrix4() ).identity(),
291
+ volume = this;
297
292
 
298
- var dimensions = new Vector3( this.xLength, this.yLength, this.zLength );
293
+ const dimensions = new Vector3( this.xLength, this.yLength, this.zLength );
299
294
 
300
295
 
301
296
  switch ( axis ) {
@@ -340,50 +335,48 @@ Volume.prototype = {
340
335
  }
341
336
 
342
337
  firstDirection.applyMatrix4( volume.inverseMatrix ).normalize();
343
- firstDirection.argVar = 'i';
338
+ firstDirection.arglet = 'i';
344
339
  secondDirection.applyMatrix4( volume.inverseMatrix ).normalize();
345
- secondDirection.argVar = 'j';
340
+ secondDirection.arglet = 'j';
346
341
  axisInIJK.applyMatrix4( volume.inverseMatrix ).normalize();
347
- iLength = Math.floor( Math.abs( firstDirection.dot( dimensions ) ) );
348
- jLength = Math.floor( Math.abs( secondDirection.dot( dimensions ) ) );
349
- planeWidth = Math.abs( iLength * firstSpacing );
350
- planeHeight = Math.abs( jLength * secondSpacing );
342
+ const iLength = Math.floor( Math.abs( firstDirection.dot( dimensions ) ) );
343
+ const jLength = Math.floor( Math.abs( secondDirection.dot( dimensions ) ) );
344
+ const planeWidth = Math.abs( iLength * firstSpacing );
345
+ const planeHeight = Math.abs( jLength * secondSpacing );
351
346
 
352
347
  IJKIndex = Math.abs( Math.round( IJKIndex.applyMatrix4( volume.inverseMatrix ).dot( axisInIJK ) ) );
353
- var base = [ new Vector3( 1, 0, 0 ), new Vector3( 0, 1, 0 ), new Vector3( 0, 0, 1 ) ];
354
- var iDirection = [ firstDirection, secondDirection, axisInIJK ].find( function ( x ) {
348
+ const base = [ new Vector3( 1, 0, 0 ), new Vector3( 0, 1, 0 ), new Vector3( 0, 0, 1 ) ];
349
+ const iDirection = [ firstDirection, secondDirection, axisInIJK ].find( function ( x ) {
355
350
 
356
351
  return Math.abs( x.dot( base[ 0 ] ) ) > 0.9;
357
352
 
358
353
  } );
359
- var jDirection = [ firstDirection, secondDirection, axisInIJK ].find( function ( x ) {
354
+ const jDirection = [ firstDirection, secondDirection, axisInIJK ].find( function ( x ) {
360
355
 
361
356
  return Math.abs( x.dot( base[ 1 ] ) ) > 0.9;
362
357
 
363
358
  } );
364
- var kDirection = [ firstDirection, secondDirection, axisInIJK ].find( function ( x ) {
359
+ const kDirection = [ firstDirection, secondDirection, axisInIJK ].find( function ( x ) {
365
360
 
366
361
  return Math.abs( x.dot( base[ 2 ] ) ) > 0.9;
367
362
 
368
363
  } );
369
364
 
370
- sliceAccess = function ( i, j ) {
371
-
372
- var accessI, accessJ, accessK;
365
+ function sliceAccess( i, j ) {
373
366
 
374
- var si = ( iDirection === axisInIJK ) ? IJKIndex : ( iDirection.argVar === 'i' ? i : j );
375
- var sj = ( jDirection === axisInIJK ) ? IJKIndex : ( jDirection.argVar === 'i' ? i : j );
376
- var sk = ( kDirection === axisInIJK ) ? IJKIndex : ( kDirection.argVar === 'i' ? i : j );
367
+ const si = ( iDirection === axisInIJK ) ? IJKIndex : ( iDirection.arglet === 'i' ? i : j );
368
+ const sj = ( jDirection === axisInIJK ) ? IJKIndex : ( jDirection.arglet === 'i' ? i : j );
369
+ const sk = ( kDirection === axisInIJK ) ? IJKIndex : ( kDirection.arglet === 'i' ? i : j );
377
370
 
378
371
  // invert indices if necessary
379
372
 
380
- var accessI = ( iDirection.dot( base[ 0 ] ) > 0 ) ? si : ( volume.xLength - 1 ) - si;
381
- var accessJ = ( jDirection.dot( base[ 1 ] ) > 0 ) ? sj : ( volume.yLength - 1 ) - sj;
382
- var accessK = ( kDirection.dot( base[ 2 ] ) > 0 ) ? sk : ( volume.zLength - 1 ) - sk;
373
+ const accessI = ( iDirection.dot( base[ 0 ] ) > 0 ) ? si : ( volume.xLength - 1 ) - si;
374
+ const accessJ = ( jDirection.dot( base[ 1 ] ) > 0 ) ? sj : ( volume.yLength - 1 ) - sj;
375
+ const accessK = ( kDirection.dot( base[ 2 ] ) > 0 ) ? sk : ( volume.zLength - 1 ) - sk;
383
376
 
384
377
  return volume.access( accessI, accessJ, accessK );
385
378
 
386
- };
379
+ }
387
380
 
388
381
  return {
389
382
  iLength: iLength,
@@ -406,7 +399,7 @@ Volume.prototype = {
406
399
  */
407
400
  extractSlice: function ( axis, index ) {
408
401
 
409
- var slice = new VolumeSlice( this, index, axis );
402
+ const slice = new VolumeSlice( this, index, axis );
410
403
  this.sliceList.push( slice );
411
404
  return slice;
412
405
 
@@ -437,19 +430,19 @@ Volume.prototype = {
437
430
  */
438
431
  computeMinMax: function () {
439
432
 
440
- var min = Infinity;
441
- var max = - Infinity;
433
+ let min = Infinity;
434
+ let max = - Infinity;
442
435
 
443
436
  // buffer the length
444
- var datasize = this.data.length;
437
+ const datasize = this.data.length;
445
438
 
446
- var i = 0;
439
+ let i = 0;
447
440
 
448
441
  for ( i = 0; i < datasize; i ++ ) {
449
442
 
450
443
  if ( ! isNaN( this.data[ i ] ) ) {
451
444
 
452
- var value = this.data[ i ];
445
+ const value = this.data[ i ];
453
446
  min = Math.min( min, value );
454
447
  max = Math.max( max, value );
455
448
 
@@ -18,7 +18,7 @@ import {
18
18
  */
19
19
  function VolumeSlice( volume, index, axis ) {
20
20
 
21
- var slice = this;
21
+ const slice = this;
22
22
  /**
23
23
  * @member {Volume} volume The associated volume
24
24
  */
@@ -63,10 +63,10 @@ function VolumeSlice( volume, index, axis ) {
63
63
  this.updateGeometry();
64
64
 
65
65
 
66
- var canvasMap = new Texture( this.canvas );
66
+ const canvasMap = new Texture( this.canvas );
67
67
  canvasMap.minFilter = LinearFilter;
68
68
  canvasMap.wrapS = canvasMap.wrapT = ClampToEdgeWrapping;
69
- var material = new MeshBasicMaterial( { map: canvasMap, side: DoubleSide, transparent: true } );
69
+ const material = new MeshBasicMaterial( { map: canvasMap, side: DoubleSide, transparent: true } );
70
70
  /**
71
71
  * @member {Mesh} mesh The mesh ready to get used in the scene
72
72
  */
@@ -113,7 +113,7 @@ VolumeSlice.prototype = {
113
113
 
114
114
  }
115
115
 
116
- var iLength = this.iLength,
116
+ const iLength = this.iLength,
117
117
  jLength = this.jLength,
118
118
  sliceAccess = this.sliceAccess,
119
119
  volume = this.volume,
@@ -122,27 +122,27 @@ VolumeSlice.prototype = {
122
122
 
123
123
 
124
124
  // get the imageData and pixel array from the canvas
125
- var imgData = ctx.getImageData( 0, 0, iLength, jLength );
126
- var data = imgData.data;
127
- var volumeData = volume.data;
128
- var upperThreshold = volume.upperThreshold;
129
- var lowerThreshold = volume.lowerThreshold;
130
- var windowLow = volume.windowLow;
131
- var windowHigh = volume.windowHigh;
125
+ const imgData = ctx.getImageData( 0, 0, iLength, jLength );
126
+ const data = imgData.data;
127
+ const volumeData = volume.data;
128
+ const upperThreshold = volume.upperThreshold;
129
+ const lowerThreshold = volume.lowerThreshold;
130
+ const windowLow = volume.windowLow;
131
+ const windowHigh = volume.windowHigh;
132
132
 
133
133
  // manipulate some pixel elements
134
- var pixelCount = 0;
134
+ let pixelCount = 0;
135
135
 
136
136
  if ( volume.dataType === 'label' ) {
137
137
 
138
138
  //this part is currently useless but will be used when colortables will be handled
139
- for ( var j = 0; j < jLength; j ++ ) {
139
+ for ( let j = 0; j < jLength; j ++ ) {
140
140
 
141
- for ( var i = 0; i < iLength; i ++ ) {
141
+ for ( let i = 0; i < iLength; i ++ ) {
142
142
 
143
- var label = volumeData[ sliceAccess( i, j ) ];
143
+ let label = volumeData[ sliceAccess( i, j ) ];
144
144
  label = label >= this.colorMap.length ? ( label % this.colorMap.length ) + 1 : label;
145
- var color = this.colorMap[ label ];
145
+ const color = this.colorMap[ label ];
146
146
  data[ 4 * pixelCount ] = ( color >> 24 ) & 0xff;
147
147
  data[ 4 * pixelCount + 1 ] = ( color >> 16 ) & 0xff;
148
148
  data[ 4 * pixelCount + 2 ] = ( color >> 8 ) & 0xff;
@@ -155,12 +155,12 @@ VolumeSlice.prototype = {
155
155
 
156
156
  } else {
157
157
 
158
- for ( var j = 0; j < jLength; j ++ ) {
158
+ for ( let j = 0; j < jLength; j ++ ) {
159
159
 
160
- for ( var i = 0; i < iLength; i ++ ) {
160
+ for ( let i = 0; i < iLength; i ++ ) {
161
161
 
162
- var value = volumeData[ sliceAccess( i, j ) ];
163
- var alpha = 0xff;
162
+ let value = volumeData[ sliceAccess( i, j ) ];
163
+ let alpha = 0xff;
164
164
  //apply threshold
165
165
  alpha = upperThreshold >= value ? ( lowerThreshold <= value ? alpha : 0 ) : 0;
166
166
  //apply window level
@@ -194,7 +194,7 @@ VolumeSlice.prototype = {
194
194
  */
195
195
  updateGeometry: function () {
196
196
 
197
- var extracted = this.volume.extractPerpendicularPlane( this.axis, this.index );
197
+ const extracted = this.volume.extractPerpendicularPlane( this.axis, this.index );
198
198
  this.sliceAccess = extracted.sliceAccess;
199
199
  this.jLength = extracted.jLength;
200
200
  this.iLength = extracted.iLength;
@@ -153,13 +153,6 @@ class EdgeSplitModifier {
153
153
 
154
154
  }
155
155
 
156
- if ( geometry.isGeometry === true ) {
157
-
158
- console.error( 'THREE.EdgeSplitModifier no longer supports THREE.Geometry. Use BufferGeometry instead.' );
159
- return;
160
-
161
- }
162
-
163
156
  let hadNormals = false;
164
157
  let oldNormals = null;
165
158
 
@@ -19,13 +19,6 @@ class SimplifyModifier {
19
19
 
20
20
  modify( geometry, count ) {
21
21
 
22
- if ( geometry.isGeometry === true ) {
23
-
24
- console.error( 'THREE.SimplifyModifier no longer supports Geometry. Use BufferGeometry instead.' );
25
- return;
26
-
27
- }
28
-
29
22
  geometry = geometry.clone();
30
23
  const attributes = geometry.attributes;
31
24
 
@@ -164,7 +157,7 @@ function pushIfUnique( array, object ) {
164
157
 
165
158
  function removeFromArray( array, object ) {
166
159
 
167
- var k = array.indexOf( object );
160
+ const k = array.indexOf( object );
168
161
  if ( k > - 1 ) array.splice( k, 1 );
169
162
 
170
163
  }
@@ -21,13 +21,6 @@ class TessellateModifier {
21
21
 
22
22
  modify( geometry ) {
23
23
 
24
- if ( geometry.isGeometry === true ) {
25
-
26
- console.error( 'THREE.TessellateModifier no longer supports Geometry. Use BufferGeometry instead.' );
27
- return geometry;
28
-
29
- }
30
-
31
24
  if ( geometry.index !== null ) {
32
25
 
33
26
  geometry = geometry.toNonIndexed();