super-three 0.147.0 → 0.152.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 (757) hide show
  1. package/LICENSE +1 -1
  2. package/build/three.cjs +36408 -21117
  3. package/build/three.js +37007 -21715
  4. package/build/three.min.js +3 -2
  5. package/build/three.module.js +6387 -5510
  6. package/build/three.module.min.js +6 -0
  7. package/examples/jsm/animation/AnimationClipCreator.js +5 -3
  8. package/examples/jsm/capabilities/WebGPU.js +2 -4
  9. package/examples/jsm/controls/ArcballControls.js +1828 -1821
  10. package/examples/jsm/controls/MapControls.js +28 -0
  11. package/examples/jsm/controls/OrbitControls.js +20 -45
  12. package/examples/jsm/controls/PointerLockControls.js +70 -65
  13. package/examples/jsm/controls/TrackballControls.js +18 -4
  14. package/examples/jsm/controls/TransformControls.js +0 -1
  15. package/examples/jsm/csm/CSM.js +11 -3
  16. package/examples/jsm/csm/CSMShader.js +7 -6
  17. package/examples/jsm/effects/AsciiEffect.js +3 -6
  18. package/examples/jsm/effects/OutlineEffect.js +1 -15
  19. package/examples/jsm/exporters/ColladaExporter.js +26 -14
  20. package/examples/jsm/exporters/DRACOExporter.js +53 -11
  21. package/examples/jsm/exporters/EXRExporter.js +3 -9
  22. package/examples/jsm/exporters/GLTFExporter.js +524 -111
  23. package/examples/jsm/exporters/KTX2Exporter.js +34 -23
  24. package/examples/jsm/exporters/MMDExporter.js +1 -1
  25. package/examples/jsm/exporters/PLYExporter.js +8 -1
  26. package/examples/jsm/exporters/STLExporter.js +8 -4
  27. package/examples/jsm/exporters/USDZExporter.js +22 -3
  28. package/examples/jsm/geometries/ConvexGeometry.js +0 -6
  29. package/examples/jsm/geometries/ParametricGeometry.js +10 -0
  30. package/examples/jsm/helpers/OctreeHelper.js +1 -0
  31. package/examples/jsm/helpers/ViewHelper.js +70 -56
  32. package/examples/jsm/interactive/HTMLMesh.js +16 -3
  33. package/examples/jsm/interactive/InteractiveGroup.js +1 -1
  34. package/examples/{js → jsm}/libs/basis/README.md +4 -4
  35. package/examples/jsm/libs/draco/draco_decoder.js +34 -0
  36. package/examples/jsm/libs/draco/draco_decoder.wasm +0 -0
  37. package/examples/jsm/libs/draco/draco_wasm_wrapper.js +117 -0
  38. package/examples/jsm/libs/draco/gltf/draco_decoder.js +33 -0
  39. package/examples/jsm/libs/draco/gltf/draco_decoder.wasm +0 -0
  40. package/examples/jsm/libs/draco/gltf/draco_wasm_wrapper.js +116 -0
  41. package/examples/jsm/libs/lil-gui.module.min.js +2 -2
  42. package/examples/jsm/libs/tween.module.js +803 -0
  43. package/examples/jsm/lights/IESSpotLight.js +25 -0
  44. package/examples/jsm/lights/LightProbeGenerator.js +11 -9
  45. package/examples/jsm/lines/LineSegments2.js +12 -10
  46. package/examples/jsm/loaders/3DMLoader.js +8 -5
  47. package/examples/jsm/loaders/3MFLoader.js +12 -11
  48. package/examples/jsm/loaders/AMFLoader.js +2 -3
  49. package/examples/jsm/loaders/BVHLoader.js +2 -2
  50. package/examples/jsm/loaders/ColladaLoader.js +15 -16
  51. package/examples/jsm/loaders/DRACOLoader.js +67 -18
  52. package/examples/jsm/loaders/EXRLoader.js +23 -24
  53. package/examples/jsm/loaders/FBXLoader.js +32 -50
  54. package/examples/jsm/loaders/GCodeLoader.js +1 -2
  55. package/examples/jsm/loaders/GLTFLoader.js +249 -215
  56. package/examples/jsm/loaders/HDRCubeTextureLoader.js +4 -4
  57. package/examples/jsm/loaders/IESLoader.js +337 -0
  58. package/examples/jsm/loaders/KMZLoader.js +4 -4
  59. package/examples/jsm/loaders/KTX2Loader.js +41 -24
  60. package/examples/jsm/loaders/LDrawLoader.js +20 -18
  61. package/examples/jsm/loaders/LWOLoader.js +12 -29
  62. package/examples/jsm/loaders/LottieLoader.js +3 -1
  63. package/examples/jsm/loaders/MMDLoader.js +17 -13
  64. package/examples/jsm/loaders/MTLLoader.js +2 -2
  65. package/examples/jsm/loaders/MaterialXLoader.js +9 -3
  66. package/examples/jsm/loaders/NRRDLoader.js +33 -5
  67. package/examples/jsm/loaders/OBJLoader.js +1 -1
  68. package/examples/jsm/loaders/PCDLoader.js +1 -2
  69. package/examples/jsm/loaders/PLYLoader.js +238 -105
  70. package/examples/jsm/loaders/RGBELoader.js +3 -3
  71. package/examples/jsm/loaders/STLLoader.js +1 -2
  72. package/examples/jsm/loaders/SVGLoader.js +36 -27
  73. package/examples/jsm/loaders/TTFLoader.js +1 -8
  74. package/examples/jsm/loaders/TiltLoader.js +13 -7
  75. package/examples/jsm/loaders/USDZLoader.js +5 -5
  76. package/examples/jsm/loaders/VOXLoader.js +8 -2
  77. package/examples/jsm/loaders/VRMLLoader.js +5 -13
  78. package/examples/jsm/loaders/VTKLoader.js +7 -6
  79. package/examples/jsm/loaders/lwo/IFFParser.js +19 -19
  80. package/examples/jsm/materials/MeshGouraudMaterial.js +0 -3
  81. package/examples/jsm/math/MeshSurfaceSampler.js +0 -6
  82. package/examples/jsm/misc/ConvexObjectBreaker.js +2 -8
  83. package/examples/jsm/misc/GPUComputationRenderer.js +5 -5
  84. package/examples/jsm/misc/MD2Character.js +2 -2
  85. package/examples/jsm/misc/MD2CharacterComplex.js +2 -2
  86. package/examples/jsm/misc/ProgressiveLightMap.js +12 -10
  87. package/examples/jsm/misc/RollerCoaster.js +7 -1
  88. package/examples/jsm/misc/Volume.js +20 -5
  89. package/examples/jsm/modifiers/CurveModifier.js +1 -0
  90. package/examples/jsm/modifiers/TessellateModifier.js +19 -19
  91. package/examples/jsm/nodes/Nodes.js +143 -335
  92. package/examples/jsm/nodes/accessors/BitangentNode.js +43 -16
  93. package/examples/jsm/nodes/accessors/BufferNode.js +6 -0
  94. package/examples/jsm/nodes/accessors/CameraNode.js +12 -2
  95. package/examples/jsm/nodes/accessors/CubeTextureNode.js +27 -33
  96. package/examples/jsm/nodes/accessors/ExtendedMaterialNode.js +58 -0
  97. package/examples/jsm/nodes/accessors/InstanceNode.js +17 -21
  98. package/examples/jsm/nodes/accessors/MaterialNode.js +155 -38
  99. package/examples/jsm/nodes/accessors/MaterialReferenceNode.js +16 -0
  100. package/examples/jsm/nodes/accessors/ModelNode.js +11 -0
  101. package/examples/jsm/nodes/accessors/ModelViewProjectionNode.js +12 -8
  102. package/examples/jsm/nodes/accessors/NormalNode.js +35 -19
  103. package/examples/jsm/nodes/accessors/Object3DNode.js +32 -12
  104. package/examples/jsm/nodes/accessors/PointUVNode.js +6 -1
  105. package/examples/jsm/nodes/accessors/PositionNode.js +38 -23
  106. package/examples/jsm/nodes/accessors/ReferenceNode.js +21 -14
  107. package/examples/jsm/nodes/accessors/ReflectVectorNode.js +11 -7
  108. package/examples/jsm/nodes/accessors/SkinningNode.js +43 -40
  109. package/examples/jsm/nodes/accessors/StorageBufferNode.js +6 -0
  110. package/examples/jsm/nodes/accessors/TangentNode.js +28 -20
  111. package/examples/jsm/nodes/accessors/TextureNode.js +80 -12
  112. package/examples/jsm/nodes/accessors/UVNode.js +6 -0
  113. package/examples/jsm/nodes/accessors/UserDataNode.js +6 -0
  114. package/examples/jsm/nodes/{core → code}/CodeNode.js +27 -2
  115. package/examples/jsm/nodes/code/ExpressionNode.js +37 -0
  116. package/examples/jsm/nodes/{core → code}/FunctionCallNode.js +15 -1
  117. package/examples/jsm/nodes/{core → code}/FunctionNode.js +8 -7
  118. package/examples/jsm/nodes/code/ScriptableNode.js +488 -0
  119. package/examples/jsm/nodes/code/ScriptableValueNode.js +167 -0
  120. package/examples/jsm/nodes/core/ArrayUniformNode.js +3 -0
  121. package/examples/jsm/nodes/core/AttributeNode.js +16 -8
  122. package/examples/jsm/nodes/core/BypassNode.js +9 -2
  123. package/examples/jsm/nodes/core/CacheNode.js +46 -0
  124. package/examples/jsm/nodes/core/ConstNode.js +3 -0
  125. package/examples/jsm/nodes/core/ContextNode.js +8 -1
  126. package/examples/jsm/nodes/core/InputNode.js +26 -5
  127. package/examples/jsm/nodes/core/InstanceIndexNode.js +6 -1
  128. package/examples/jsm/nodes/core/LightingModel.js +16 -0
  129. package/examples/jsm/nodes/core/Node.js +128 -34
  130. package/examples/jsm/nodes/core/NodeBuilder.js +209 -118
  131. package/examples/jsm/nodes/core/NodeCache.js +26 -0
  132. package/examples/jsm/nodes/core/NodeFrame.js +56 -5
  133. package/examples/jsm/nodes/core/NodeUtils.js +105 -28
  134. package/examples/jsm/nodes/core/PropertyNode.js +19 -2
  135. package/examples/jsm/nodes/core/StackNode.js +92 -0
  136. package/examples/jsm/nodes/core/TempNode.js +11 -3
  137. package/examples/jsm/nodes/core/UniformNode.js +15 -0
  138. package/examples/jsm/nodes/core/VarNode.js +21 -29
  139. package/examples/jsm/nodes/core/VaryingNode.js +15 -2
  140. package/examples/jsm/nodes/core/constants.js +6 -0
  141. package/examples/jsm/nodes/display/BlendModeNode.js +25 -11
  142. package/examples/jsm/nodes/display/ColorAdjustmentNode.js +30 -14
  143. package/examples/jsm/nodes/display/ColorSpaceNode.js +39 -27
  144. package/examples/jsm/nodes/display/FrontFacingNode.js +7 -1
  145. package/examples/jsm/nodes/display/NormalMapNode.js +31 -18
  146. package/examples/jsm/nodes/display/PosterizeNode.js +10 -3
  147. package/examples/jsm/nodes/display/ToneMappingNode.js +92 -11
  148. package/examples/jsm/nodes/display/ViewportNode.js +27 -18
  149. package/examples/jsm/nodes/display/ViewportSharedTextureNode.js +30 -0
  150. package/examples/jsm/nodes/display/ViewportTextureNode.js +61 -0
  151. package/examples/jsm/nodes/fog/FogExp2Node.js +35 -0
  152. package/examples/jsm/nodes/fog/FogNode.js +12 -6
  153. package/examples/jsm/nodes/fog/FogRangeNode.js +12 -5
  154. package/examples/jsm/nodes/functions/BSDF/BRDF_BlinnPhong.js +30 -0
  155. package/examples/jsm/nodes/functions/BSDF/BRDF_GGX.js +10 -13
  156. package/examples/jsm/nodes/functions/BSDF/BRDF_Lambert.js +2 -2
  157. package/examples/jsm/nodes/functions/BSDF/DFGApprox.js +8 -6
  158. package/examples/jsm/nodes/functions/BSDF/D_GGX.js +4 -4
  159. package/examples/jsm/nodes/functions/BSDF/F_Schlick.js +3 -3
  160. package/examples/jsm/nodes/functions/BSDF/V_GGX_SmithCorrelated.js +7 -5
  161. package/examples/jsm/nodes/functions/PhongLightingModel.js +28 -0
  162. package/examples/jsm/nodes/functions/PhysicalLightingModel.js +33 -36
  163. package/examples/jsm/nodes/functions/material/getGeometryRoughness.js +4 -3
  164. package/examples/jsm/nodes/functions/material/getRoughness.js +4 -4
  165. package/examples/jsm/nodes/geometry/RangeNode.js +32 -19
  166. package/examples/jsm/nodes/gpgpu/ComputeNode.js +9 -2
  167. package/examples/jsm/nodes/lighting/AONode.js +5 -3
  168. package/examples/jsm/nodes/lighting/AmbientLightNode.js +27 -0
  169. package/examples/jsm/nodes/lighting/AnalyticLightNode.js +112 -6
  170. package/examples/jsm/nodes/lighting/DirectionalLightNode.js +43 -0
  171. package/examples/jsm/nodes/lighting/EnvironmentNode.js +104 -34
  172. package/examples/jsm/nodes/lighting/HemisphereLightNode.js +15 -10
  173. package/examples/jsm/nodes/lighting/IESSpotLightNode.js +39 -0
  174. package/examples/jsm/nodes/lighting/LightNode.js +57 -0
  175. package/examples/jsm/nodes/lighting/LightUtils.js +17 -0
  176. package/examples/jsm/nodes/lighting/LightingContextNode.js +30 -8
  177. package/examples/jsm/nodes/lighting/LightingNode.js +3 -1
  178. package/examples/jsm/nodes/lighting/LightsNode.js +18 -10
  179. package/examples/jsm/nodes/lighting/PointLightNode.js +71 -0
  180. package/examples/jsm/nodes/lighting/SpotLightNode.js +92 -0
  181. package/examples/jsm/nodes/loaders/NodeLoader.js +5 -4
  182. package/examples/jsm/nodes/loaders/NodeMaterialLoader.js +4 -20
  183. package/examples/jsm/nodes/materials/LineBasicNodeMaterial.js +6 -9
  184. package/examples/jsm/nodes/materials/Materials.js +11 -55
  185. package/examples/jsm/nodes/materials/MeshBasicNodeMaterial.js +5 -11
  186. package/examples/jsm/nodes/materials/MeshNormalNodeMaterial.js +48 -0
  187. package/examples/jsm/nodes/materials/MeshPhongNodeMaterial.js +74 -0
  188. package/examples/jsm/nodes/materials/MeshPhysicalNodeMaterial.js +6 -6
  189. package/examples/jsm/nodes/materials/MeshStandardNodeMaterial.js +21 -96
  190. package/examples/jsm/nodes/materials/NodeMaterial.js +244 -61
  191. package/examples/jsm/nodes/materials/PointsNodeMaterial.js +7 -1
  192. package/examples/jsm/nodes/materials/SpriteNodeMaterial.js +29 -25
  193. package/examples/jsm/nodes/materialx/MaterialXNodes.js +31 -22
  194. package/examples/jsm/nodes/materialx/lib/mx_hsv.js +1 -1
  195. package/examples/jsm/nodes/materialx/lib/mx_noise.js +2 -1
  196. package/examples/jsm/nodes/materialx/lib/mx_transform_color.js +2 -1
  197. package/examples/jsm/nodes/math/CondNode.js +43 -17
  198. package/examples/jsm/nodes/math/MathNode.js +178 -73
  199. package/examples/jsm/nodes/math/OperatorNode.js +52 -2
  200. package/examples/jsm/nodes/procedural/CheckerNode.js +14 -6
  201. package/examples/jsm/nodes/shadernode/ShaderNode.js +158 -42
  202. package/examples/jsm/nodes/utils/ArrayElementNode.js +4 -2
  203. package/examples/jsm/nodes/utils/ConvertNode.js +19 -1
  204. package/examples/jsm/nodes/utils/DiscardNode.js +26 -0
  205. package/examples/jsm/nodes/utils/EquirectUVNode.js +11 -4
  206. package/examples/jsm/nodes/utils/JoinNode.js +4 -1
  207. package/examples/jsm/nodes/utils/MatcapUVNode.js +11 -4
  208. package/examples/jsm/nodes/utils/MaxMipLevelNode.js +18 -5
  209. package/examples/jsm/nodes/utils/OscNode.js +21 -14
  210. package/examples/jsm/nodes/utils/PackingNode.js +55 -0
  211. package/examples/jsm/nodes/utils/RemapNode.js +13 -5
  212. package/examples/jsm/nodes/utils/RotateUVNode.js +18 -7
  213. package/examples/jsm/nodes/utils/SpecularMIPLevelNode.js +37 -0
  214. package/examples/jsm/nodes/utils/SplitNode.js +7 -5
  215. package/examples/jsm/nodes/utils/SpriteSheetUVNode.js +15 -30
  216. package/examples/jsm/nodes/utils/TimerNode.js +16 -6
  217. package/examples/jsm/nodes/utils/TriplanarTexturesNode.js +21 -10
  218. package/examples/jsm/objects/GroundProjectedSkybox.js +172 -0
  219. package/examples/jsm/objects/Reflector.js +4 -4
  220. package/examples/jsm/objects/Refractor.js +4 -4
  221. package/examples/jsm/objects/ShadowMesh.js +3 -3
  222. package/examples/jsm/physics/AmmoPhysics.js +27 -28
  223. package/examples/jsm/physics/{OimoPhysics.js → RapierPhysics.js} +59 -51
  224. package/examples/jsm/postprocessing/AdaptiveToneMappingPass.js +0 -8
  225. package/examples/jsm/postprocessing/AfterimagePass.js +0 -2
  226. package/examples/jsm/postprocessing/BloomPass.js +0 -2
  227. package/examples/jsm/postprocessing/BokehPass.js +0 -6
  228. package/examples/jsm/postprocessing/DotScreenPass.js +0 -2
  229. package/examples/jsm/postprocessing/EffectComposer.js +3 -94
  230. package/examples/jsm/postprocessing/FilmPass.js +0 -2
  231. package/examples/jsm/postprocessing/GlitchPass.js +0 -2
  232. package/examples/jsm/postprocessing/HalftonePass.js +0 -6
  233. package/examples/jsm/postprocessing/OutlinePass.js +0 -1
  234. package/examples/jsm/postprocessing/Pass.js +2 -0
  235. package/examples/jsm/postprocessing/SAOPass.js +0 -24
  236. package/examples/jsm/postprocessing/SMAAPass.js +0 -6
  237. package/examples/jsm/postprocessing/SSAARenderPass.js +13 -5
  238. package/examples/jsm/postprocessing/SSAOPass.js +0 -12
  239. package/examples/jsm/postprocessing/SSRPass.js +0 -6
  240. package/examples/jsm/postprocessing/SavePass.js +0 -2
  241. package/examples/jsm/postprocessing/TexturePass.js +0 -2
  242. package/examples/jsm/postprocessing/UnrealBloomPass.js +0 -8
  243. package/examples/jsm/renderers/CSS2DRenderer.js +6 -1
  244. package/examples/jsm/renderers/CSS3DRenderer.js +27 -5
  245. package/examples/jsm/renderers/webgl/nodes/WebGLNodeBuilder.js +35 -31
  246. package/examples/jsm/renderers/webgpu/WebGPUAnimation.js +2 -2
  247. package/examples/jsm/renderers/webgpu/WebGPUAttributes.js +14 -4
  248. package/examples/jsm/renderers/webgpu/WebGPUBackground.js +72 -55
  249. package/examples/jsm/renderers/webgpu/WebGPUBindings.js +34 -19
  250. package/examples/jsm/renderers/webgpu/WebGPUComputePipelines.js +1 -1
  251. package/examples/jsm/renderers/webgpu/WebGPUGeometries.js +158 -26
  252. package/examples/jsm/renderers/webgpu/WebGPUProgrammableStage.js +1 -1
  253. package/examples/jsm/renderers/webgpu/WebGPUProperties.js +6 -0
  254. package/examples/jsm/renderers/webgpu/WebGPURenderLists.js +30 -14
  255. package/examples/jsm/renderers/webgpu/WebGPURenderObject.js +40 -0
  256. package/examples/jsm/renderers/webgpu/WebGPURenderObjects.js +50 -0
  257. package/examples/jsm/renderers/webgpu/WebGPURenderPipeline.js +49 -111
  258. package/examples/jsm/renderers/webgpu/WebGPURenderPipelines.js +40 -62
  259. package/examples/jsm/renderers/webgpu/WebGPURenderStates.js +14 -26
  260. package/examples/jsm/renderers/webgpu/WebGPURenderTarget.js +15 -0
  261. package/examples/jsm/renderers/webgpu/WebGPURenderer.js +244 -100
  262. package/examples/jsm/renderers/webgpu/WebGPUSampledTexture.js +3 -1
  263. package/examples/jsm/renderers/webgpu/WebGPUTextureRenderer.js +2 -4
  264. package/examples/jsm/renderers/webgpu/WebGPUTextureUtils.js +2 -0
  265. package/examples/jsm/renderers/webgpu/WebGPUTextures.js +366 -110
  266. package/examples/jsm/renderers/webgpu/WebGPUUniformsGroup.js +1 -1
  267. package/examples/jsm/renderers/webgpu/WebGPUUtils.js +13 -6
  268. package/examples/jsm/renderers/webgpu/WebGPUWeakMap.js +83 -0
  269. package/examples/jsm/renderers/webgpu/constants.js +68 -6
  270. package/examples/jsm/renderers/webgpu/nodes/WebGPUNodeBuilder.js +74 -57
  271. package/examples/jsm/renderers/webgpu/nodes/WebGPUNodes.js +241 -22
  272. package/examples/jsm/shaders/MMDToonShader.js +15 -4
  273. package/examples/jsm/shaders/RGBShiftShader.js +2 -2
  274. package/examples/jsm/shaders/VelocityShader.js +1 -1
  275. package/examples/jsm/utils/BufferGeometryUtils.js +37 -35
  276. package/examples/jsm/utils/LDrawUtils.js +4 -4
  277. package/examples/jsm/utils/PackedPhongMaterial.js +5 -78
  278. package/examples/jsm/utils/SceneUtils.js +8 -4
  279. package/examples/jsm/utils/SkeletonUtils.js +27 -210
  280. package/examples/jsm/webxr/VRButton.js +1 -2
  281. package/examples/jsm/webxr/XRButton.js +198 -0
  282. package/package.json +33 -87
  283. package/src/Three.Legacy.js +19 -110
  284. package/src/Three.js +4 -3
  285. package/src/animation/AnimationUtils.js +13 -1
  286. package/src/animation/PropertyBinding.js +2 -2
  287. package/src/audio/Audio.js +7 -2
  288. package/src/constants.js +10 -2
  289. package/src/core/BufferAttribute.js +147 -8
  290. package/src/core/BufferGeometry.js +3 -9
  291. package/src/core/GLBufferAttribute.js +2 -0
  292. package/src/core/InterleavedBufferAttribute.js +1 -1
  293. package/src/core/Object3D.js +36 -7
  294. package/src/extras/DataUtils.js +7 -1
  295. package/src/extras/ImageUtils.js +2 -2
  296. package/src/extras/PMREMGenerator.js +5 -5
  297. package/src/extras/curves/LineCurve.js +6 -4
  298. package/src/extras/curves/LineCurve3.js +13 -0
  299. package/src/geometries/BoxGeometry.js +10 -0
  300. package/src/geometries/CircleGeometry.js +11 -1
  301. package/src/geometries/ConeGeometry.js +1 -1
  302. package/src/geometries/CylinderGeometry.js +11 -1
  303. package/src/geometries/EdgesGeometry.js +10 -0
  304. package/src/geometries/ExtrudeGeometry.js +11 -1
  305. package/src/geometries/LatheGeometry.js +10 -0
  306. package/src/geometries/PlaneGeometry.js +10 -0
  307. package/src/geometries/PolyhedronGeometry.js +10 -0
  308. package/src/geometries/RingGeometry.js +11 -1
  309. package/src/geometries/ShapeGeometry.js +10 -0
  310. package/src/geometries/SphereGeometry.js +12 -2
  311. package/src/geometries/TorusGeometry.js +11 -1
  312. package/src/geometries/TorusKnotGeometry.js +10 -0
  313. package/src/geometries/TubeGeometry.js +10 -0
  314. package/src/geometries/WireframeGeometry.js +10 -0
  315. package/src/helpers/Box3Helper.js +1 -2
  316. package/src/lights/DirectionalLight.js +1 -1
  317. package/src/lights/HemisphereLight.js +1 -1
  318. package/src/lights/SpotLight.js +1 -1
  319. package/src/loaders/AudioLoader.js +14 -8
  320. package/src/loaders/DataTextureLoader.js +5 -1
  321. package/src/loaders/MaterialLoader.js +4 -0
  322. package/src/loaders/ObjectLoader.js +9 -2
  323. package/src/materials/LineBasicMaterial.js +4 -0
  324. package/src/materials/Material.js +6 -3
  325. package/src/materials/MeshDistanceMaterial.js +0 -9
  326. package/src/materials/ShaderMaterial.js +6 -1
  327. package/src/math/Box2.js +3 -2
  328. package/src/math/Box3.js +49 -64
  329. package/src/math/Color.js +72 -55
  330. package/src/math/ColorManagement.js +75 -16
  331. package/src/math/Euler.js +2 -11
  332. package/src/math/Frustum.js +13 -3
  333. package/src/math/MathUtils.js +27 -1
  334. package/src/math/Plane.js +2 -2
  335. package/src/math/Quaternion.js +6 -0
  336. package/src/math/Ray.js +7 -7
  337. package/src/math/Triangle.js +37 -7
  338. package/src/math/Vector2.js +16 -0
  339. package/src/math/Vector3.js +10 -0
  340. package/src/math/interpolants/CubicInterpolant.js +1 -2
  341. package/src/objects/InstancedMesh.js +79 -1
  342. package/src/objects/Mesh.js +101 -73
  343. package/src/objects/SkinnedMesh.js +95 -8
  344. package/src/objects/Sprite.js +1 -1
  345. package/src/renderers/WebGLCubeRenderTarget.js +12 -3
  346. package/src/renderers/WebGLMultipleRenderTargets.js +4 -2
  347. package/src/renderers/WebGLRenderTarget.js +14 -2
  348. package/src/renderers/WebGLRenderer.js +1340 -1258
  349. package/src/renderers/shaders/ShaderChunk/alphamap_fragment.glsl.js +1 -1
  350. package/src/renderers/shaders/ShaderChunk/aomap_fragment.glsl.js +1 -1
  351. package/src/renderers/shaders/ShaderChunk/bsdfs.glsl.js +0 -271
  352. package/src/renderers/shaders/ShaderChunk/bumpmap_pars_fragment.glsl.js +5 -5
  353. package/src/renderers/shaders/ShaderChunk/clearcoat_normal_fragment_maps.glsl.js +2 -10
  354. package/src/renderers/shaders/ShaderChunk/clearcoat_pars_fragment.glsl.js +5 -5
  355. package/src/renderers/shaders/ShaderChunk/common.glsl.js +32 -0
  356. package/src/renderers/shaders/ShaderChunk/cube_uv_reflection_fragment.glsl.js +1 -1
  357. package/src/renderers/shaders/ShaderChunk/displacementmap_vertex.glsl.js +1 -1
  358. package/src/renderers/shaders/ShaderChunk/emissivemap_fragment.glsl.js +1 -1
  359. package/src/renderers/shaders/ShaderChunk/lightmap_fragment.glsl.js +1 -1
  360. package/src/renderers/shaders/ShaderChunk/lights_fragment_begin.glsl.js +3 -3
  361. package/src/renderers/shaders/ShaderChunk/lights_fragment_maps.glsl.js +1 -1
  362. package/src/renderers/shaders/ShaderChunk/lights_pars_begin.glsl.js +11 -11
  363. package/src/renderers/shaders/ShaderChunk/lights_physical_fragment.glsl.js +13 -13
  364. package/src/renderers/shaders/ShaderChunk/lights_physical_pars_fragment.glsl.js +256 -10
  365. package/src/renderers/shaders/ShaderChunk/map_fragment.glsl.js +1 -11
  366. package/src/renderers/shaders/ShaderChunk/map_particle_fragment.glsl.js +9 -1
  367. package/src/renderers/shaders/ShaderChunk/map_particle_pars_fragment.glsl.js +10 -2
  368. package/src/renderers/shaders/ShaderChunk/metalnessmap_fragment.glsl.js +1 -1
  369. package/src/renderers/shaders/ShaderChunk/normal_fragment_begin.glsl.js +32 -10
  370. package/src/renderers/shaders/ShaderChunk/normal_fragment_maps.glsl.js +5 -13
  371. package/src/renderers/shaders/ShaderChunk/normalmap_pars_fragment.glsl.js +7 -7
  372. package/src/renderers/shaders/ShaderChunk/packing.glsl.js +11 -5
  373. package/src/renderers/shaders/ShaderChunk/roughnessmap_fragment.glsl.js +1 -1
  374. package/src/renderers/shaders/ShaderChunk/shadowmap_pars_fragment.glsl.js +4 -11
  375. package/src/renderers/shaders/ShaderChunk/shadowmap_pars_vertex.glsl.js +2 -2
  376. package/src/renderers/shaders/ShaderChunk/shadowmap_vertex.glsl.js +39 -34
  377. package/src/renderers/shaders/ShaderChunk/specularmap_fragment.glsl.js +1 -1
  378. package/src/renderers/shaders/ShaderChunk/transmission_fragment.glsl.js +2 -2
  379. package/src/renderers/shaders/ShaderChunk/transmission_pars_fragment.glsl.js +91 -11
  380. package/src/renderers/shaders/ShaderChunk/uv_pars_fragment.glsl.js +108 -1
  381. package/src/renderers/shaders/ShaderChunk/uv_pars_vertex.glsl.js +128 -6
  382. package/src/renderers/shaders/ShaderChunk/uv_vertex.glsl.js +111 -1
  383. package/src/renderers/shaders/ShaderChunk.js +0 -6
  384. package/src/renderers/shaders/ShaderLib/background.glsl.js +0 -8
  385. package/src/renderers/shaders/ShaderLib/linedashed.glsl.js +5 -0
  386. package/src/renderers/shaders/ShaderLib/meshbasic.glsl.js +1 -4
  387. package/src/renderers/shaders/ShaderLib/meshlambert.glsl.js +0 -3
  388. package/src/renderers/shaders/ShaderLib/meshnormal.glsl.js +3 -3
  389. package/src/renderers/shaders/ShaderLib/meshphong.glsl.js +0 -3
  390. package/src/renderers/shaders/ShaderLib/meshphysical.glsl.js +8 -12
  391. package/src/renderers/shaders/ShaderLib/meshtoon.glsl.js +0 -3
  392. package/src/renderers/shaders/ShaderLib/points.glsl.js +13 -0
  393. package/src/renderers/shaders/ShaderLib/shadow.glsl.js +5 -0
  394. package/src/renderers/shaders/ShaderLib.js +15 -4
  395. package/src/renderers/shaders/UniformsLib.js +25 -15
  396. package/src/renderers/shaders/UniformsUtils.js +12 -3
  397. package/src/renderers/webgl/WebGLBackground.js +23 -12
  398. package/src/renderers/webgl/WebGLCapabilities.js +1 -2
  399. package/src/renderers/webgl/WebGLClipping.js +7 -3
  400. package/src/renderers/webgl/WebGLLights.js +2 -2
  401. package/src/renderers/webgl/WebGLMaterials.js +105 -234
  402. package/src/renderers/webgl/WebGLMorphtargets.js +1 -1
  403. package/src/renderers/webgl/WebGLProgram.js +111 -48
  404. package/src/renderers/webgl/WebGLPrograms.js +200 -129
  405. package/src/renderers/webgl/WebGLRenderStates.js +2 -2
  406. package/src/renderers/webgl/WebGLShadowMap.js +40 -27
  407. package/src/renderers/webgl/WebGLState.js +23 -9
  408. package/src/renderers/webgl/WebGLTextures.js +21 -19
  409. package/src/renderers/webgl/WebGLUniformsGroups.js +74 -33
  410. package/src/renderers/webgl/WebGLUtils.js +41 -29
  411. package/src/renderers/webxr/WebXRController.js +3 -0
  412. package/src/renderers/webxr/WebXRManager.js +70 -48
  413. package/src/scenes/Scene.js +4 -6
  414. package/src/textures/CompressedTexture.js +2 -2
  415. package/src/textures/CubeTexture.js +2 -2
  416. package/src/textures/DataTexture.js +2 -2
  417. package/src/textures/Texture.js +41 -12
  418. package/src/utils.js +13 -1
  419. package/examples/fonts/open-sans/open-sans-v15-cyrillic-ext_greek_greek-ext_cyrillic_latin_latin-ext_vietnamese-regular.woff +0 -0
  420. package/examples/fonts/open-sans/open-sans-v15-cyrillic-ext_greek_greek-ext_cyrillic_latin_latin-ext_vietnamese-regular.woff2 +0 -0
  421. package/examples/fonts/open-sans/open-sans.css +0 -9
  422. package/examples/fonts/tabler-icons/fonts/tabler-icons.eot +0 -0
  423. package/examples/fonts/tabler-icons/fonts/tabler-icons.svg +0 -3966
  424. package/examples/fonts/tabler-icons/fonts/tabler-icons.ttf +0 -0
  425. package/examples/fonts/tabler-icons/fonts/tabler-icons.woff +0 -0
  426. package/examples/fonts/tabler-icons/fonts/tabler-icons.woff2 +0 -0
  427. package/examples/fonts/tabler-icons/tabler-icons.min.css +0 -4
  428. package/examples/js/animation/AnimationClipCreator.js +0 -89
  429. package/examples/js/animation/CCDIKSolver.js +0 -416
  430. package/examples/js/animation/MMDAnimationHelper.js +0 -1046
  431. package/examples/js/animation/MMDPhysics.js +0 -1174
  432. package/examples/js/cameras/CinematicCamera.js +0 -168
  433. package/examples/js/controls/ArcballControls.js +0 -2770
  434. package/examples/js/controls/DragControls.js +0 -205
  435. package/examples/js/controls/FirstPersonControls.js +0 -312
  436. package/examples/js/controls/FlyControls.js +0 -321
  437. package/examples/js/controls/OrbitControls.js +0 -1101
  438. package/examples/js/controls/PointerLockControls.js +0 -144
  439. package/examples/js/controls/TrackballControls.js +0 -729
  440. package/examples/js/controls/TransformControls.js +0 -1301
  441. package/examples/js/csm/CSM.js +0 -347
  442. package/examples/js/csm/CSMFrustum.js +0 -127
  443. package/examples/js/csm/CSMHelper.js +0 -165
  444. package/examples/js/csm/CSMShader.js +0 -253
  445. package/examples/js/curves/CurveExtras.js +0 -348
  446. package/examples/js/curves/NURBSCurve.js +0 -63
  447. package/examples/js/curves/NURBSSurface.js +0 -48
  448. package/examples/js/curves/NURBSUtils.js +0 -439
  449. package/examples/js/effects/AnaglyphEffect.js +0 -86
  450. package/examples/js/effects/AsciiEffect.js +0 -260
  451. package/examples/js/effects/OutlineEffect.js +0 -450
  452. package/examples/js/effects/ParallaxBarrierEffect.js +0 -62
  453. package/examples/js/effects/PeppersGhostEffect.js +0 -139
  454. package/examples/js/effects/StereoEffect.js +0 -46
  455. package/examples/js/environments/DebugEnvironment.js +0 -53
  456. package/examples/js/environments/RoomEnvironment.js +0 -124
  457. package/examples/js/exporters/ColladaExporter.js +0 -487
  458. package/examples/js/exporters/DRACOExporter.js +0 -212
  459. package/examples/js/exporters/EXRExporter.js +0 -455
  460. package/examples/js/exporters/GLTFExporter.js +0 -2367
  461. package/examples/js/exporters/MMDExporter.js +0 -187
  462. package/examples/js/exporters/OBJExporter.js +0 -260
  463. package/examples/js/exporters/PLYExporter.js +0 -427
  464. package/examples/js/exporters/STLExporter.js +0 -188
  465. package/examples/js/exporters/USDZExporter.js +0 -608
  466. package/examples/js/geometries/BoxLineGeometry.js +0 -59
  467. package/examples/js/geometries/ConvexGeometry.js +0 -53
  468. package/examples/js/geometries/DecalGeometry.js +0 -324
  469. package/examples/js/geometries/LightningStrike.js +0 -861
  470. package/examples/js/geometries/ParametricGeometries.js +0 -216
  471. package/examples/js/geometries/ParametricGeometry.js +0 -121
  472. package/examples/js/geometries/RoundedBoxGeometry.js +0 -142
  473. package/examples/js/geometries/TeapotGeometry.js +0 -335
  474. package/examples/js/geometries/TextGeometry.js +0 -53
  475. package/examples/js/helpers/LightProbeHelper.js +0 -48
  476. package/examples/js/helpers/OctreeHelper.js +0 -76
  477. package/examples/js/helpers/PositionalAudioHelper.js +0 -91
  478. package/examples/js/helpers/RectAreaLightHelper.js +0 -73
  479. package/examples/js/helpers/VertexNormalsHelper.js +0 -74
  480. package/examples/js/helpers/VertexTangentsHelper.js +0 -68
  481. package/examples/js/helpers/ViewHelper.js +0 -281
  482. package/examples/js/interactive/HTMLMesh.js +0 -497
  483. package/examples/js/interactive/InteractiveGroup.js +0 -95
  484. package/examples/js/interactive/SelectionBox.js +0 -195
  485. package/examples/js/interactive/SelectionHelper.js +0 -83
  486. package/examples/js/libs/chevrotain.min.js +0 -3
  487. package/examples/js/libs/draco/draco_decoder.js +0 -52
  488. package/examples/js/libs/draco/draco_decoder.wasm +0 -0
  489. package/examples/js/libs/draco/draco_wasm_wrapper.js +0 -104
  490. package/examples/js/libs/draco/gltf/draco_decoder.js +0 -48
  491. package/examples/js/libs/draco/gltf/draco_decoder.wasm +0 -0
  492. package/examples/js/libs/draco/gltf/draco_wasm_wrapper.js +0 -104
  493. package/examples/js/libs/fflate.min.js +0 -7
  494. package/examples/js/libs/ktx-parse.umd.js +0 -1
  495. package/examples/js/libs/meshopt_decoder.js +0 -188
  496. package/examples/js/libs/opentype.min.js +0 -1
  497. package/examples/js/libs/stats.min.js +0 -5
  498. package/examples/js/lights/LightProbeGenerator.js +0 -221
  499. package/examples/js/lights/RectAreaLightUniformsLib.js +0 -60
  500. package/examples/js/lines/Line2.js +0 -19
  501. package/examples/js/lines/LineGeometry.js +0 -69
  502. package/examples/js/lines/LineMaterial.js +0 -635
  503. package/examples/js/lines/LineSegments2.js +0 -313
  504. package/examples/js/lines/LineSegmentsGeometry.js +0 -198
  505. package/examples/js/lines/Wireframe.js +0 -47
  506. package/examples/js/lines/WireframeGeometry2.js +0 -20
  507. package/examples/js/loaders/3DMLoader.js +0 -1273
  508. package/examples/js/loaders/3MFLoader.js +0 -1306
  509. package/examples/js/loaders/AMFLoader.js +0 -504
  510. package/examples/js/loaders/BVHLoader.js +0 -395
  511. package/examples/js/loaders/BasisTextureLoader.js +0 -706
  512. package/examples/js/loaders/ColladaLoader.js +0 -3690
  513. package/examples/js/loaders/DDSLoader.js +0 -244
  514. package/examples/js/loaders/DRACOLoader.js +0 -511
  515. package/examples/js/loaders/EXRLoader.js +0 -2039
  516. package/examples/js/loaders/FBXLoader.js +0 -3681
  517. package/examples/js/loaders/FontLoader.js +0 -160
  518. package/examples/js/loaders/GCodeLoader.js +0 -255
  519. package/examples/js/loaders/GLTFLoader.js +0 -3862
  520. package/examples/js/loaders/HDRCubeTextureLoader.js +0 -87
  521. package/examples/js/loaders/KMZLoader.js +0 -121
  522. package/examples/js/loaders/KTXLoader.js +0 -159
  523. package/examples/js/loaders/LDrawLoader.js +0 -2263
  524. package/examples/js/loaders/LUT3dlLoader.js +0 -135
  525. package/examples/js/loaders/LUTCubeLoader.js +0 -132
  526. package/examples/js/loaders/LWOLoader.js +0 -901
  527. package/examples/js/loaders/LogLuvLoader.js +0 -715
  528. package/examples/js/loaders/LottieLoader.js +0 -62
  529. package/examples/js/loaders/MD2Loader.js +0 -248
  530. package/examples/js/loaders/MDDLoader.js +0 -91
  531. package/examples/js/loaders/MMDLoader.js +0 -1915
  532. package/examples/js/loaders/MTLLoader.js +0 -472
  533. package/examples/js/loaders/NRRDLoader.js +0 -609
  534. package/examples/js/loaders/OBJLoader.js +0 -789
  535. package/examples/js/loaders/PCDLoader.js +0 -413
  536. package/examples/js/loaders/PDBLoader.js +0 -317
  537. package/examples/js/loaders/PLYLoader.js +0 -576
  538. package/examples/js/loaders/PRWMLoader.js +0 -249
  539. package/examples/js/loaders/PVRLoader.js +0 -218
  540. package/examples/js/loaders/RGBELoader.js +0 -442
  541. package/examples/js/loaders/RGBMLoader.js +0 -1354
  542. package/examples/js/loaders/STLLoader.js +0 -364
  543. package/examples/js/loaders/SVGLoader.js +0 -2783
  544. package/examples/js/loaders/TDSLoader.js +0 -992
  545. package/examples/js/loaders/TGALoader.js +0 -484
  546. package/examples/js/loaders/TIFFLoader.js +0 -30
  547. package/examples/js/loaders/TTFLoader.js +0 -203
  548. package/examples/js/loaders/TiltLoader.js +0 -459
  549. package/examples/js/loaders/VOXLoader.js +0 -240
  550. package/examples/js/loaders/VRMLLoader.js +0 -3140
  551. package/examples/js/loaders/VTKLoader.js +0 -1078
  552. package/examples/js/loaders/XYZLoader.js +0 -89
  553. package/examples/js/loaders/lwo/IFFParser.js +0 -1067
  554. package/examples/js/loaders/lwo/LWO2Parser.js +0 -397
  555. package/examples/js/loaders/lwo/LWO3Parser.js +0 -360
  556. package/examples/js/materials/MeshGouraudMaterial.js +0 -387
  557. package/examples/js/math/Capsule.js +0 -103
  558. package/examples/js/math/ColorConverter.js +0 -33
  559. package/examples/js/math/ConvexHull.js +0 -1154
  560. package/examples/js/math/ImprovedNoise.js +0 -66
  561. package/examples/js/math/Lut.js +0 -164
  562. package/examples/js/math/MeshSurfaceSampler.js +0 -171
  563. package/examples/js/math/OBB.js +0 -382
  564. package/examples/js/math/Octree.js +0 -410
  565. package/examples/js/math/SimplexNoise.js +0 -445
  566. package/examples/js/misc/ConvexObjectBreaker.js +0 -474
  567. package/examples/js/misc/GPUComputationRenderer.js +0 -393
  568. package/examples/js/misc/Gyroscope.js +0 -56
  569. package/examples/js/misc/MD2Character.js +0 -235
  570. package/examples/js/misc/MD2CharacterComplex.js +0 -513
  571. package/examples/js/misc/MorphAnimMesh.js +0 -63
  572. package/examples/js/misc/MorphBlendMesh.js +0 -265
  573. package/examples/js/misc/ProgressiveLightMap.js +0 -335
  574. package/examples/js/misc/RollerCoaster.js +0 -430
  575. package/examples/js/misc/TubePainter.js +0 -167
  576. package/examples/js/misc/Volume.js +0 -437
  577. package/examples/js/misc/VolumeSlice.js +0 -214
  578. package/examples/js/modifiers/CurveModifier.js +0 -309
  579. package/examples/js/modifiers/EdgeSplitModifier.js +0 -228
  580. package/examples/js/modifiers/SimplifyModifier.js +0 -465
  581. package/examples/js/modifiers/TessellateModifier.js +0 -276
  582. package/examples/js/objects/GroundProjectedEnv.js +0 -181
  583. package/examples/js/objects/Lensflare.js +0 -356
  584. package/examples/js/objects/LightningStorm.js +0 -206
  585. package/examples/js/objects/MarchingCubes.js +0 -759
  586. package/examples/js/objects/Reflector.js +0 -216
  587. package/examples/js/objects/ReflectorForSSRPass.js +0 -315
  588. package/examples/js/objects/Refractor.js +0 -283
  589. package/examples/js/objects/ShadowMesh.js +0 -59
  590. package/examples/js/objects/Sky.js +0 -218
  591. package/examples/js/objects/Water.js +0 -292
  592. package/examples/js/objects/Water2.js +0 -307
  593. package/examples/js/physics/AmmoPhysics.js +0 -259
  594. package/examples/js/physics/OimoPhysics.js +0 -217
  595. package/examples/js/postprocessing/AdaptiveToneMappingPass.js +0 -335
  596. package/examples/js/postprocessing/AfterimagePass.js +0 -77
  597. package/examples/js/postprocessing/BloomPass.js +0 -135
  598. package/examples/js/postprocessing/BokehPass.js +0 -120
  599. package/examples/js/postprocessing/ClearPass.js +0 -39
  600. package/examples/js/postprocessing/CubeTexturePass.js +0 -60
  601. package/examples/js/postprocessing/DotScreenPass.js +0 -51
  602. package/examples/js/postprocessing/EffectComposer.js +0 -272
  603. package/examples/js/postprocessing/FilmPass.js +0 -52
  604. package/examples/js/postprocessing/GlitchPass.js +0 -104
  605. package/examples/js/postprocessing/HalftonePass.js +0 -75
  606. package/examples/js/postprocessing/LUTPass.js +0 -171
  607. package/examples/js/postprocessing/MaskPass.js +0 -95
  608. package/examples/js/postprocessing/OutlinePass.js +0 -598
  609. package/examples/js/postprocessing/Pass.js +0 -72
  610. package/examples/js/postprocessing/RenderPass.js +0 -70
  611. package/examples/js/postprocessing/RenderPixelatedPass.js +0 -215
  612. package/examples/js/postprocessing/SAOPass.js +0 -374
  613. package/examples/js/postprocessing/SMAAPass.js +0 -170
  614. package/examples/js/postprocessing/SSAARenderPass.js +0 -156
  615. package/examples/js/postprocessing/SSAOPass.js +0 -365
  616. package/examples/js/postprocessing/SSRPass.js +0 -567
  617. package/examples/js/postprocessing/SavePass.js +0 -59
  618. package/examples/js/postprocessing/ShaderPass.js +0 -64
  619. package/examples/js/postprocessing/TAARenderPass.js +0 -130
  620. package/examples/js/postprocessing/TexturePass.js +0 -49
  621. package/examples/js/postprocessing/UnrealBloomPass.js +0 -375
  622. package/examples/js/renderers/CSS2DRenderer.js +0 -178
  623. package/examples/js/renderers/CSS3DRenderer.js +0 -237
  624. package/examples/js/renderers/Projector.js +0 -818
  625. package/examples/js/renderers/SVGRenderer.js +0 -491
  626. package/examples/js/shaders/ACESFilmicToneMappingShader.js +0 -89
  627. package/examples/js/shaders/AfterimageShader.js +0 -60
  628. package/examples/js/shaders/BasicShader.js +0 -27
  629. package/examples/js/shaders/BleachBypassShader.js +0 -62
  630. package/examples/js/shaders/BlendShader.js +0 -54
  631. package/examples/js/shaders/BokehShader.js +0 -156
  632. package/examples/js/shaders/BokehShader2.js +0 -419
  633. package/examples/js/shaders/BrightnessContrastShader.js +0 -58
  634. package/examples/js/shaders/ColorCorrectionShader.js +0 -52
  635. package/examples/js/shaders/ColorifyShader.js +0 -47
  636. package/examples/js/shaders/ConvolutionShader.js +0 -92
  637. package/examples/js/shaders/CopyShader.js +0 -45
  638. package/examples/js/shaders/DOFMipMapShader.js +0 -60
  639. package/examples/js/shaders/DepthLimitedBlurShader.js +0 -173
  640. package/examples/js/shaders/DigitalGlitch.js +0 -127
  641. package/examples/js/shaders/DotScreenShader.js +0 -72
  642. package/examples/js/shaders/FXAAShader.js +0 -284
  643. package/examples/js/shaders/FilmShader.js +0 -110
  644. package/examples/js/shaders/FocusShader.js +0 -95
  645. package/examples/js/shaders/FreiChenShader.js +0 -93
  646. package/examples/js/shaders/GammaCorrectionShader.js +0 -41
  647. package/examples/js/shaders/GodRaysShader.js +0 -284
  648. package/examples/js/shaders/HalftoneShader.js +0 -336
  649. package/examples/js/shaders/HorizontalBlurShader.js +0 -59
  650. package/examples/js/shaders/HorizontalTiltShiftShader.js +0 -65
  651. package/examples/js/shaders/HueSaturationShader.js +0 -69
  652. package/examples/js/shaders/KaleidoShader.js +0 -60
  653. package/examples/js/shaders/LuminosityHighPassShader.js +0 -67
  654. package/examples/js/shaders/LuminosityShader.js +0 -46
  655. package/examples/js/shaders/MMDToonShader.js +0 -94
  656. package/examples/js/shaders/MirrorShader.js +0 -56
  657. package/examples/js/shaders/NormalMapShader.js +0 -55
  658. package/examples/js/shaders/RGBShiftShader.js +0 -56
  659. package/examples/js/shaders/SAOShader.js +0 -209
  660. package/examples/js/shaders/SMAAShader.js +0 -454
  661. package/examples/js/shaders/SSAOShader.js +0 -295
  662. package/examples/js/shaders/SSRShader.js +0 -381
  663. package/examples/js/shaders/SepiaShader.js +0 -52
  664. package/examples/js/shaders/SobelOperatorShader.js +0 -88
  665. package/examples/js/shaders/SubsurfaceScatteringShader.js +0 -49
  666. package/examples/js/shaders/TechnicolorShader.js +0 -43
  667. package/examples/js/shaders/ToneMapShader.js +0 -84
  668. package/examples/js/shaders/ToonShader.js +0 -335
  669. package/examples/js/shaders/TriangleBlurShader.js +0 -70
  670. package/examples/js/shaders/UnpackDepthRGBAShader.js +0 -47
  671. package/examples/js/shaders/VelocityShader.js +0 -126
  672. package/examples/js/shaders/VerticalBlurShader.js +0 -59
  673. package/examples/js/shaders/VerticalTiltShiftShader.js +0 -65
  674. package/examples/js/shaders/VignetteShader.js +0 -53
  675. package/examples/js/shaders/VolumeShader.js +0 -296
  676. package/examples/js/shaders/WaterRefractionShader.js +0 -84
  677. package/examples/js/textures/FlakesTexture.js +0 -40
  678. package/examples/js/utils/BufferGeometryUtils.js +0 -1160
  679. package/examples/js/utils/CameraUtils.js +0 -71
  680. package/examples/js/utils/GPUStatsPanel.js +0 -125
  681. package/examples/js/utils/GeometryCompressionUtils.js +0 -549
  682. package/examples/js/utils/GeometryUtils.js +0 -168
  683. package/examples/js/utils/LDrawUtils.js +0 -179
  684. package/examples/js/utils/PackedPhongMaterial.js +0 -109
  685. package/examples/js/utils/SceneUtils.js +0 -214
  686. package/examples/js/utils/ShadowMapViewer.js +0 -183
  687. package/examples/js/utils/SkeletonUtils.js +0 -493
  688. package/examples/js/utils/UVsDebug.js +0 -143
  689. package/examples/js/utils/WorkerPool.js +0 -105
  690. package/examples/jsm/libs/OimoPhysics/OimoPhysics.js +0 -37071
  691. package/examples/jsm/libs/OimoPhysics/index.js +0 -43
  692. package/examples/jsm/libs/flow.module.js +0 -4552
  693. package/examples/jsm/libs/tween.module.min.js +0 -3
  694. package/examples/jsm/loaders/BasisTextureLoader.js +0 -790
  695. package/examples/jsm/loaders/IFCLoader.js +0 -2431
  696. package/examples/jsm/loaders/ifc/web-ifc-api.js +0 -47504
  697. package/examples/jsm/loaders/ifc/web-ifc.wasm +0 -0
  698. package/examples/jsm/node-editor/NodeEditor.js +0 -857
  699. package/examples/jsm/node-editor/accessors/MatcapUVEditor.js +0 -14
  700. package/examples/jsm/node-editor/accessors/NormalEditor.js +0 -30
  701. package/examples/jsm/node-editor/accessors/PositionEditor.js +0 -30
  702. package/examples/jsm/node-editor/accessors/UVEditor.js +0 -25
  703. package/examples/jsm/node-editor/core/BaseNode.js +0 -96
  704. package/examples/jsm/node-editor/core/DataFile.js +0 -59
  705. package/examples/jsm/node-editor/core/FileEditor.js +0 -20
  706. package/examples/jsm/node-editor/core/FileURLEditor.js +0 -29
  707. package/examples/jsm/node-editor/display/BlendEditor.js +0 -44
  708. package/examples/jsm/node-editor/display/NormalMapEditor.js +0 -49
  709. package/examples/jsm/node-editor/examples/animate-uv.json +0 -1
  710. package/examples/jsm/node-editor/examples/fake-top-light.json +0 -1
  711. package/examples/jsm/node-editor/examples/matcap.json +0 -1
  712. package/examples/jsm/node-editor/examples/oscillator-color.json +0 -1
  713. package/examples/jsm/node-editor/examples/rim.json +0 -1
  714. package/examples/jsm/node-editor/inputs/ColorEditor.js +0 -96
  715. package/examples/jsm/node-editor/inputs/FloatEditor.js +0 -23
  716. package/examples/jsm/node-editor/inputs/SliderEditor.js +0 -67
  717. package/examples/jsm/node-editor/inputs/TextureEditor.js +0 -155
  718. package/examples/jsm/node-editor/inputs/Vector2Editor.js +0 -28
  719. package/examples/jsm/node-editor/inputs/Vector3Editor.js +0 -30
  720. package/examples/jsm/node-editor/inputs/Vector4Editor.js +0 -37
  721. package/examples/jsm/node-editor/materials/BasicMaterialEditor.js +0 -84
  722. package/examples/jsm/node-editor/materials/PointsMaterialEditor.js +0 -102
  723. package/examples/jsm/node-editor/materials/StandardMaterialEditor.js +0 -118
  724. package/examples/jsm/node-editor/math/AngleEditor.js +0 -40
  725. package/examples/jsm/node-editor/math/DotEditor.js +0 -35
  726. package/examples/jsm/node-editor/math/InvertEditor.js +0 -39
  727. package/examples/jsm/node-editor/math/LimiterEditor.js +0 -62
  728. package/examples/jsm/node-editor/math/NormalizeEditor.js +0 -28
  729. package/examples/jsm/node-editor/math/OperatorEditor.js +0 -63
  730. package/examples/jsm/node-editor/math/PowerEditor.js +0 -44
  731. package/examples/jsm/node-editor/math/TrigonometryEditor.js +0 -45
  732. package/examples/jsm/node-editor/procedural/CheckerEditor.js +0 -27
  733. package/examples/jsm/node-editor/scene/MeshEditor.js +0 -102
  734. package/examples/jsm/node-editor/scene/Object3DEditor.js +0 -160
  735. package/examples/jsm/node-editor/scene/PointsEditor.js +0 -99
  736. package/examples/jsm/node-editor/utils/JoinEditor.js +0 -58
  737. package/examples/jsm/node-editor/utils/OscillatorEditor.js +0 -43
  738. package/examples/jsm/node-editor/utils/PreviewEditor.js +0 -170
  739. package/examples/jsm/node-editor/utils/SplitEditor.js +0 -39
  740. package/examples/jsm/node-editor/utils/TimerEditor.js +0 -58
  741. package/examples/jsm/nodes/core/ExpressionNode.js +0 -32
  742. package/examples/jsm/nodes/functions/light/getDistanceAttenuation.js +0 -22
  743. package/examples/jsm/nodes/lighting/PunctualLightNode.js +0 -68
  744. package/examples/jsm/nodes/shadernode/ShaderNodeBaseElements.js +0 -301
  745. package/examples/jsm/nodes/shadernode/ShaderNodeElements.js +0 -149
  746. package/examples/jsm/objects/GroundProjectedEnv.js +0 -186
  747. package/examples/jsm/renderers/webgpu/WebGPUObjects.js +0 -36
  748. package/src/renderers/shaders/ShaderChunk/uv2_pars_fragment.glsl.js +0 -7
  749. package/src/renderers/shaders/ShaderChunk/uv2_pars_vertex.glsl.js +0 -10
  750. package/src/renderers/shaders/ShaderChunk/uv2_vertex.glsl.js +0 -7
  751. /package/examples/{js → jsm}/libs/ammo.wasm.js +0 -0
  752. /package/examples/{js → jsm}/libs/ammo.wasm.wasm +0 -0
  753. /package/examples/{js → jsm}/libs/basis/basis_transcoder.js +0 -0
  754. /package/examples/{js → jsm}/libs/basis/basis_transcoder.wasm +0 -0
  755. /package/examples/{js → jsm}/libs/draco/README.md +0 -0
  756. /package/examples/{js → jsm}/libs/draco/draco_encoder.js +0 -0
  757. /package/examples/{js → jsm}/libs/draco/gltf/draco_encoder.js +0 -0
@@ -9,10 +9,13 @@ import {
9
9
  Shape,
10
10
  ShapePath,
11
11
  ShapeUtils,
12
+ SRGBColorSpace,
12
13
  Vector2,
13
14
  Vector3
14
15
  } from 'three';
15
16
 
17
+ const COLOR_SPACE_SVG = SRGBColorSpace;
18
+
16
19
  class SVGLoader extends Loader {
17
20
 
18
21
  constructor( manager ) {
@@ -155,7 +158,7 @@ class SVGLoader extends Loader {
155
158
 
156
159
  if ( style.fill !== undefined && style.fill !== 'none' ) {
157
160
 
158
- path.color.setStyle( style.fill );
161
+ path.color.setStyle( style.fill, COLOR_SPACE_SVG );
159
162
 
160
163
  }
161
164
 
@@ -218,6 +221,8 @@ class SVGLoader extends Loader {
218
221
 
219
222
  const d = node.getAttribute( 'd' );
220
223
 
224
+ if ( d === '' || d === 'none' ) return null;
225
+
221
226
  // console.log( d );
222
227
 
223
228
  const commands = d.match( /[a-df-z][^a-df-z]*/ig );
@@ -866,7 +871,7 @@ class SVGLoader extends Loader {
866
871
 
867
872
  }
868
873
 
869
- const regex = /(-?[\d\.?]+)[,|\s](-?[\d\.?]+)/g;
874
+ const regex = /([+-]?\d*\.?\d+(?:e[+-]?\d+)?)(?:,|\s)([+-]?\d*\.?\d+(?:e[+-]?\d+)?)/g;
870
875
 
871
876
  const path = new ShapePath();
872
877
 
@@ -901,7 +906,7 @@ class SVGLoader extends Loader {
901
906
 
902
907
  }
903
908
 
904
- const regex = /(-?[\d\.?]+)[,|\s](-?[\d\.?]+)/g;
909
+ const regex = /([+-]?\d*\.?\d+(?:e[+-]?\d+)?)(?:,|\s)([+-]?\d*\.?\d+(?:e[+-]?\d+)?)/g;
905
910
 
906
911
  const path = new ShapePath();
907
912
 
@@ -1600,7 +1605,7 @@ class SVGLoader extends Loader {
1600
1605
  const sinTheta = Math.sin( curve.aRotation );
1601
1606
 
1602
1607
  const v1 = new Vector3( a * cosTheta, a * sinTheta, 0 );
1603
- const v2 = new Vector3( -b * sinTheta, b * cosTheta, 0 );
1608
+ const v2 = new Vector3( - b * sinTheta, b * cosTheta, 0 );
1604
1609
 
1605
1610
  const f1 = v1.applyMatrix3( m );
1606
1611
  const f2 = v2.applyMatrix3( m );
@@ -1608,7 +1613,7 @@ class SVGLoader extends Loader {
1608
1613
  const mF = tempTransform0.set(
1609
1614
  f1.x, f2.x, 0,
1610
1615
  f1.y, f2.y, 0,
1611
- 0, 0, 1,
1616
+ 0, 0, 1,
1612
1617
  );
1613
1618
 
1614
1619
  const mFInv = tempTransform1.copy( mF ).invert();
@@ -1616,7 +1621,7 @@ class SVGLoader extends Loader {
1616
1621
  const mQ = mFInvT.multiply( mFInv );
1617
1622
  const mQe = mQ.elements;
1618
1623
 
1619
- const ed = eigenDecomposition( mQe[0], mQe[1], mQe[4] );
1624
+ const ed = eigenDecomposition( mQe[ 0 ], mQe[ 1 ], mQe[ 4 ] );
1620
1625
  const rt1sqrt = Math.sqrt( ed.rt1 );
1621
1626
  const rt2sqrt = Math.sqrt( ed.rt2 );
1622
1627
 
@@ -1630,18 +1635,18 @@ class SVGLoader extends Loader {
1630
1635
  // Do not touch angles of a full ellipse because after transformation they
1631
1636
  // would converge to a sinle value effectively removing the whole curve
1632
1637
 
1633
- if ( !isFullEllipse ) {
1638
+ if ( ! isFullEllipse ) {
1634
1639
 
1635
1640
  const mDsqrt = tempTransform1.set(
1636
1641
  rt1sqrt, 0, 0,
1637
1642
  0, rt2sqrt, 0,
1638
- 0, 0, 1,
1643
+ 0, 0, 1,
1639
1644
  );
1640
1645
 
1641
1646
  const mRT = tempTransform2.set(
1642
- ed.cs, ed.sn, 0,
1643
- -ed.sn, ed.cs, 0,
1644
- 0, 0, 1,
1647
+ ed.cs, ed.sn, 0,
1648
+ - ed.sn, ed.cs, 0,
1649
+ 0, 0, 1,
1645
1650
  );
1646
1651
 
1647
1652
  const mDRF = mDsqrt.multiply( mRT ).multiply( mF );
@@ -1653,14 +1658,14 @@ class SVGLoader extends Loader {
1653
1658
 
1654
1659
  return Math.atan2( sinR, cosR );
1655
1660
 
1656
- }
1661
+ };
1657
1662
 
1658
1663
  curve.aStartAngle = transformAngle( curve.aStartAngle );
1659
1664
  curve.aEndAngle = transformAngle( curve.aEndAngle );
1660
1665
 
1661
1666
  if ( isTransformFlipped( m ) ) {
1662
1667
 
1663
- curve.aClockwise = !curve.aClockwise;
1668
+ curve.aClockwise = ! curve.aClockwise;
1664
1669
 
1665
1670
  }
1666
1671
 
@@ -1688,16 +1693,16 @@ class SVGLoader extends Loader {
1688
1693
  // `sx`, `sy`, or both might be zero.
1689
1694
  const theta =
1690
1695
  sx > Number.EPSILON
1691
- ? Math.atan2( m.elements[ 1 ], m.elements[ 0 ] )
1692
- : Math.atan2( - m.elements[ 3 ], m.elements[ 4 ] );
1696
+ ? Math.atan2( m.elements[ 1 ], m.elements[ 0 ] )
1697
+ : Math.atan2( - m.elements[ 3 ], m.elements[ 4 ] );
1693
1698
 
1694
1699
  curve.aRotation += theta;
1695
1700
 
1696
1701
  if ( isTransformFlipped( m ) ) {
1697
1702
 
1698
- curve.aStartAngle *= -1;
1699
- curve.aEndAngle *= -1;
1700
- curve.aClockwise = !curve.aClockwise;
1703
+ curve.aStartAngle *= - 1;
1704
+ curve.aEndAngle *= - 1;
1705
+ curve.aClockwise = ! curve.aClockwise;
1701
1706
 
1702
1707
  }
1703
1708
 
@@ -1829,7 +1834,7 @@ class SVGLoader extends Loader {
1829
1834
  // This case needs to be treated separately to avoid div by 0
1830
1835
 
1831
1836
  rt1 = 0.5 * rt;
1832
- rt2 = -0.5 * rt;
1837
+ rt2 = - 0.5 * rt;
1833
1838
 
1834
1839
  }
1835
1840
 
@@ -1847,7 +1852,7 @@ class SVGLoader extends Loader {
1847
1852
 
1848
1853
  if ( Math.abs( cs ) > 2 * Math.abs( B ) ) {
1849
1854
 
1850
- t = -2 * B / cs;
1855
+ t = - 2 * B / cs;
1851
1856
  sn = 1 / Math.sqrt( 1 + t * t );
1852
1857
  cs = t * sn;
1853
1858
 
@@ -1858,7 +1863,7 @@ class SVGLoader extends Loader {
1858
1863
 
1859
1864
  } else {
1860
1865
 
1861
- t = -0.5 * cs / B;
1866
+ t = - 0.5 * cs / B;
1862
1867
  cs = 1 / Math.sqrt( 1 + t * t );
1863
1868
  sn = t * cs;
1864
1869
 
@@ -1867,7 +1872,7 @@ class SVGLoader extends Loader {
1867
1872
  if ( df > 0 ) {
1868
1873
 
1869
1874
  t = cs;
1870
- cs = -sn;
1875
+ cs = - sn;
1871
1876
  sn = t;
1872
1877
 
1873
1878
  }
@@ -2255,8 +2260,6 @@ class SVGLoader extends Loader {
2255
2260
  // TODO
2256
2261
 
2257
2262
  // prepare paths for hole detection
2258
- let identifier = 0;
2259
-
2260
2263
  let scanlineMinX = BIGNUMBER;
2261
2264
  let scanlineMaxX = - BIGNUMBER;
2262
2265
 
@@ -2313,14 +2316,20 @@ class SVGLoader extends Loader {
2313
2316
 
2314
2317
  }
2315
2318
 
2316
- return { curves: p.curves, points: points, isCW: ShapeUtils.isClockWise( points ), identifier: identifier ++, boundingBox: new Box2( new Vector2( minX, minY ), new Vector2( maxX, maxY ) ) };
2319
+ return { curves: p.curves, points: points, isCW: ShapeUtils.isClockWise( points ), identifier: - 1, boundingBox: new Box2( new Vector2( minX, minY ), new Vector2( maxX, maxY ) ) };
2317
2320
 
2318
2321
  } );
2319
2322
 
2320
2323
  simplePaths = simplePaths.filter( sp => sp.points.length > 1 );
2321
2324
 
2325
+ for ( let identifier = 0; identifier < simplePaths.length; identifier ++ ) {
2326
+
2327
+ simplePaths[ identifier ].identifier = identifier;
2328
+
2329
+ }
2330
+
2322
2331
  // check if path is solid or a hole
2323
- const isAHole = simplePaths.map( p => isHoleTo( p, simplePaths, scanlineMinX, scanlineMaxX, shapePath.userData?.style.fillRule ) );
2332
+ const isAHole = simplePaths.map( p => isHoleTo( p, simplePaths, scanlineMinX, scanlineMaxX, ( shapePath.userData ? shapePath.userData.style.fillRule : undefined ) ) );
2324
2333
 
2325
2334
 
2326
2335
  const shapesToReturn = [];
@@ -2378,7 +2387,7 @@ class SVGLoader extends Loader {
2378
2387
 
2379
2388
  static pointsToStroke( points, style, arcDivisions, minDistance ) {
2380
2389
 
2381
- // Generates a stroke with some witdh around the given path.
2390
+ // Generates a stroke with some width around the given path.
2382
2391
  // The path can be open or closed (last point equals to first point)
2383
2392
  // Param points: Array of Vector2D (the path). Minimum 2 points.
2384
2393
  // Param style: Object with SVG properties as returned by SVGLoader.getStrokeStyle(), or SVGLoader.parse() in the path.userData.style object
@@ -205,14 +205,7 @@ class TTFLoader extends Loader {
205
205
 
206
206
  }
207
207
 
208
- if ( typeof opentype === 'undefined' ) {
209
-
210
- console.warn( 'THREE.TTFLoader: The loader requires opentype.js. Make sure it\'s included before using the loader.' );
211
- return null;
212
-
213
- }
214
-
215
- return convert( opentype.parse( arraybuffer ), this.reversed ); // eslint-disable-line no-undef
208
+ return convert( opentype.parse( arraybuffer ), this.reversed );
216
209
 
217
210
  }
218
211
 
@@ -1,6 +1,7 @@
1
1
  import {
2
2
  BufferAttribute,
3
3
  BufferGeometry,
4
+ Color,
4
5
  DoubleSide,
5
6
  FileLoader,
6
7
  Group,
@@ -182,6 +183,8 @@ class StrokeGeometry extends BufferGeometry {
182
183
  const vector3 = new Vector3();
183
184
  const vector4 = new Vector3();
184
185
 
186
+ const color = new Color();
187
+
185
188
  // size = size / 2;
186
189
 
187
190
  for ( const k in strokes ) {
@@ -190,7 +193,10 @@ class StrokeGeometry extends BufferGeometry {
190
193
  const positions = stroke[ 0 ];
191
194
  const quaternions = stroke[ 1 ];
192
195
  const size = stroke[ 2 ];
193
- const color = stroke[ 3 ];
196
+ const rgba = stroke[ 3 ];
197
+ const alpha = stroke[ 3 ][ 3 ];
198
+
199
+ color.fromArray( rgba ).convertSRGBToLinear();
194
200
 
195
201
  prevPosition.fromArray( positions, 0 );
196
202
  prevQuaternion.fromArray( quaternions, 0 );
@@ -227,13 +233,13 @@ class StrokeGeometry extends BufferGeometry {
227
233
  prevPosition.copy( position );
228
234
  prevQuaternion.copy( quaternion );
229
235
 
230
- colors.push( ...color );
231
- colors.push( ...color );
232
- colors.push( ...color );
236
+ colors.push( ...color, alpha );
237
+ colors.push( ...color, alpha );
238
+ colors.push( ...color, alpha );
233
239
 
234
- colors.push( ...color );
235
- colors.push( ...color );
236
- colors.push( ...color );
240
+ colors.push( ...color, alpha );
241
+ colors.push( ...color, alpha );
242
+ colors.push( ...color, alpha );
237
243
 
238
244
  const p1 = i / l;
239
245
  const p2 = ( i - 3 ) / l;
@@ -9,7 +9,7 @@ import {
9
9
  MeshStandardMaterial,
10
10
  MirroredRepeatWrapping,
11
11
  RepeatWrapping,
12
- sRGBEncoding,
12
+ SRGBColorSpace,
13
13
  TextureLoader,
14
14
  Object3D,
15
15
  } from 'three';
@@ -205,7 +205,7 @@ class USDZLoader extends Loader {
205
205
 
206
206
  }
207
207
 
208
- const zip = fflate.unzipSync( new Uint8Array( buffer ) ); // eslint-disable-line no-undef
208
+ const zip = fflate.unzipSync( new Uint8Array( buffer ) );
209
209
 
210
210
  // console.log( zip );
211
211
 
@@ -254,7 +254,7 @@ class USDZLoader extends Loader {
254
254
 
255
255
  if ( id !== undefined ) {
256
256
 
257
- const def = `def "%{id}"`;
257
+ const def = `def "${id}"`;
258
258
 
259
259
  if ( def in data ) {
260
260
 
@@ -457,7 +457,7 @@ class USDZLoader extends Loader {
457
457
  const sampler = findTexture( root, /(\w+).output/.exec( path )[ 1 ] );
458
458
 
459
459
  material.map = buildTexture( sampler );
460
- material.map.encoding = sRGBEncoding;
460
+ material.map.colorSpace = SRGBColorSpace;
461
461
 
462
462
  } else if ( 'color3f inputs:diffuseColor' in surface ) {
463
463
 
@@ -494,7 +494,7 @@ class USDZLoader extends Loader {
494
494
  const sampler = data[ 'def Shader "diffuseColor_texture"' ];
495
495
 
496
496
  material.map = buildTexture( sampler );
497
- material.map.encoding = sRGBEncoding;
497
+ material.map.colorSpace = SRGBColorSpace;
498
498
 
499
499
  }
500
500
 
@@ -1,5 +1,6 @@
1
1
  import {
2
2
  BufferGeometry,
3
+ Color,
3
4
  Data3DTexture,
4
5
  FileLoader,
5
6
  Float32BufferAttribute,
@@ -8,7 +9,8 @@ import {
8
9
  Mesh,
9
10
  MeshStandardMaterial,
10
11
  NearestFilter,
11
- RedFormat
12
+ RedFormat,
13
+ SRGBColorSpace
12
14
  } from 'three';
13
15
 
14
16
  class VOXLoader extends Loader {
@@ -184,6 +186,8 @@ class VOXMesh extends Mesh {
184
186
  const nz = [ 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 0, 0, 1, 0, 1, 0, 0, 0 ];
185
187
  const pz = [ 0, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 0, 0, 1, 0, 1, 1, 1 ];
186
188
 
189
+ const _color = new Color();
190
+
187
191
  function add( tile, x, y, z, r, g, b ) {
188
192
 
189
193
  x -= size.x / 2;
@@ -192,8 +196,10 @@ class VOXMesh extends Mesh {
192
196
 
193
197
  for ( let i = 0; i < 18; i += 3 ) {
194
198
 
199
+ _color.setRGB( r, g, b, SRGBColorSpace );
200
+
195
201
  vertices.push( tile[ i + 0 ] + x, tile[ i + 1 ] + y, tile[ i + 2 ] + z );
196
- colors.push( r, g, b );
202
+ colors.push( _color.r, _color.g, _color.b );
197
203
 
198
204
  }
199
205
 
@@ -41,14 +41,6 @@ class VRMLLoader extends Loader {
41
41
 
42
42
  super( manager );
43
43
 
44
- // dependency check
45
-
46
- if ( typeof chevrotain === 'undefined' ) { // eslint-disable-line no-undef
47
-
48
- throw Error( 'THREE.VRMLLoader: External library chevrotain.min.js required.' );
49
-
50
- }
51
-
52
44
  }
53
45
 
54
46
  load( url, onLoad, onProgress, onError ) {
@@ -128,7 +120,7 @@ class VRMLLoader extends Loader {
128
120
 
129
121
  function createTokens() {
130
122
 
131
- const createToken = chevrotain.createToken; // eslint-disable-line no-undef
123
+ const createToken = chevrotain.createToken;
132
124
 
133
125
  // from http://gun.teipir.gr/VRML-amgem/spec/part1/concepts.html#SyntaxBasics
134
126
 
@@ -203,7 +195,7 @@ class VRMLLoader extends Loader {
203
195
  const Comment = createToken( {
204
196
  name: 'Comment',
205
197
  pattern: /#.*/,
206
- group: chevrotain.Lexer.SKIPPED // eslint-disable-line no-undef
198
+ group: chevrotain.Lexer.SKIPPED
207
199
  } );
208
200
 
209
201
  // commas, blanks, tabs, newlines and carriage returns are whitespace characters wherever they appear outside of string fields
@@ -211,7 +203,7 @@ class VRMLLoader extends Loader {
211
203
  const WhiteSpace = createToken( {
212
204
  name: 'WhiteSpace',
213
205
  pattern: /[ ,\s]/,
214
- group: chevrotain.Lexer.SKIPPED // eslint-disable-line no-undef
206
+ group: chevrotain.Lexer.SKIPPED
215
207
  } );
216
208
 
217
209
  const tokens = [
@@ -3213,7 +3205,7 @@ class VRMLLexer {
3213
3205
 
3214
3206
  constructor( tokens ) {
3215
3207
 
3216
- this.lexer = new chevrotain.Lexer( tokens ); // eslint-disable-line no-undef
3208
+ this.lexer = new chevrotain.Lexer( tokens );
3217
3209
 
3218
3210
  }
3219
3211
 
@@ -3235,7 +3227,7 @@ class VRMLLexer {
3235
3227
 
3236
3228
  }
3237
3229
 
3238
- const CstParser = chevrotain.CstParser;// eslint-disable-line no-undef
3230
+ const CstParser = chevrotain.CstParser;
3239
3231
 
3240
3232
  class VRMLParser extends CstParser {
3241
3233
 
@@ -3,8 +3,7 @@ import {
3
3
  BufferGeometry,
4
4
  FileLoader,
5
5
  Float32BufferAttribute,
6
- Loader,
7
- LoaderUtils
6
+ Loader
8
7
  } from 'three';
9
8
  import * as fflate from '../libs/fflate.module.js';
10
9
 
@@ -780,7 +779,7 @@ class VTKLoader extends Loader {
780
779
 
781
780
  for ( let i = 0; i < dataOffsets.length - 1; i ++ ) {
782
781
 
783
- const data = fflate.unzlibSync( byteData.slice( dataOffsets[ i ], dataOffsets[ i + 1 ] ) ); // eslint-disable-line no-undef
782
+ const data = fflate.unzlibSync( byteData.slice( dataOffsets[ i ], dataOffsets[ i + 1 ] ) );
784
783
  content = data.buffer;
785
784
 
786
785
  if ( ele.attributes.type === 'Float32' ) {
@@ -1130,16 +1129,18 @@ class VTKLoader extends Loader {
1130
1129
 
1131
1130
  }
1132
1131
 
1132
+ const textDecoder = new TextDecoder();
1133
+
1133
1134
  // get the 5 first lines of the files to check if there is the key word binary
1134
- const meta = LoaderUtils.decodeText( new Uint8Array( data, 0, 250 ) ).split( '\n' );
1135
+ const meta = textDecoder.decode( new Uint8Array( data, 0, 250 ) ).split( '\n' );
1135
1136
 
1136
1137
  if ( meta[ 0 ].indexOf( 'xml' ) !== - 1 ) {
1137
1138
 
1138
- return parseXML( LoaderUtils.decodeText( data ) );
1139
+ return parseXML( textDecoder.decode( data ) );
1139
1140
 
1140
1141
  } else if ( meta[ 2 ].includes( 'ASCII' ) ) {
1141
1142
 
1142
- return parseASCII( LoaderUtils.decodeText( data ) );
1143
+ return parseASCII( textDecoder.decode( data ) );
1143
1144
 
1144
1145
  } else {
1145
1146
 
@@ -32,7 +32,6 @@
32
32
  *
33
33
  **/
34
34
 
35
- import { LoaderUtils } from 'three';
36
35
  import { LWO2Parser } from './LWO2Parser.js';
37
36
  import { LWO3Parser } from './LWO3Parser.js';
38
37
 
@@ -908,6 +907,8 @@ function DataViewReader( buffer ) {
908
907
 
909
908
  this.dv = new DataView( buffer );
910
909
  this.offset = 0;
910
+ this._textDecoder = new TextDecoder();
911
+ this._bytes = new Uint8Array( buffer );
911
912
 
912
913
  }
913
914
 
@@ -1065,35 +1066,34 @@ DataViewReader.prototype = {
1065
1066
 
1066
1067
  if ( size === 0 ) return;
1067
1068
 
1068
- // note: safari 9 doesn't support Uint8Array.indexOf; create intermediate array instead
1069
- var a = [];
1070
-
1071
- if ( size ) {
1069
+ const start = this.offset;
1072
1070
 
1073
- for ( var i = 0; i < size; i ++ ) {
1071
+ let result;
1072
+ let length;
1074
1073
 
1075
- a[ i ] = this.getUint8();
1074
+ if ( size ) {
1076
1075
 
1077
- }
1076
+ length = size;
1077
+ result = this._textDecoder.decode( new Uint8Array( this.dv.buffer, start, size ) );
1078
1078
 
1079
1079
  } else {
1080
1080
 
1081
- var currentChar;
1082
- var len = 0;
1083
-
1084
- while ( currentChar !== 0 ) {
1081
+ // use 1:1 mapping of buffer to avoid redundant new array creation.
1082
+ length = this._bytes.indexOf( 0, start ) - start;
1085
1083
 
1086
- currentChar = this.getUint8();
1087
- if ( currentChar !== 0 ) a.push( currentChar );
1088
- len ++;
1084
+ result = this._textDecoder.decode( new Uint8Array( this.dv.buffer, start, length ) );
1089
1085
 
1090
- }
1086
+ // account for null byte in length
1087
+ length ++;
1091
1088
 
1092
- if ( ! isEven( len + 1 ) ) this.getUint8(); // if string with terminating nullbyte is uneven, extra nullbyte is added
1089
+ // if string with terminating nullbyte is uneven, extra nullbyte is added, skip that too
1090
+ length += length % 2;
1093
1091
 
1094
1092
  }
1095
1093
 
1096
- return LoaderUtils.decodeText( new Uint8Array( a ) );
1094
+ this.skip( length );
1095
+
1096
+ return result;
1097
1097
 
1098
1098
  },
1099
1099
 
@@ -1211,7 +1211,7 @@ function stringOffset( string ) {
1211
1211
  // printBuffer( this.reader.dv.buffer, this.reader.offset, length );
1212
1212
  function printBuffer( buffer, from, to ) {
1213
1213
 
1214
- console.log( LoaderUtils.decodeText( new Uint8Array( buffer, from, to ) ) );
1214
+ console.log( new TextDecoder().decode( new Uint8Array( buffer, from, to ) ) );
1215
1215
 
1216
1216
  }
1217
1217
 
@@ -37,7 +37,6 @@ const GouraudShader = {
37
37
 
38
38
  #include <common>
39
39
  #include <uv_pars_vertex>
40
- #include <uv2_pars_vertex>
41
40
  #include <envmap_pars_vertex>
42
41
  #include <bsdfs>
43
42
  #include <lights_pars_begin>
@@ -52,7 +51,6 @@ const GouraudShader = {
52
51
  void main() {
53
52
 
54
53
  #include <uv_vertex>
55
- #include <uv2_vertex>
56
54
  #include <color_vertex>
57
55
  #include <morphcolor_vertex>
58
56
 
@@ -221,7 +219,6 @@ const GouraudShader = {
221
219
  #include <dithering_pars_fragment>
222
220
  #include <color_pars_fragment>
223
221
  #include <uv_pars_fragment>
224
- #include <uv2_pars_fragment>
225
222
  #include <map_pars_fragment>
226
223
  #include <alphamap_pars_fragment>
227
224
  #include <alphatest_pars_fragment>
@@ -23,12 +23,6 @@ class MeshSurfaceSampler {
23
23
 
24
24
  let geometry = mesh.geometry;
25
25
 
26
- if ( ! geometry.isBufferGeometry || geometry.attributes.position.itemSize !== 3 ) {
27
-
28
- throw new Error( 'THREE.MeshSurfaceSampler: Requires BufferGeometry triangle mesh.' );
29
-
30
- }
31
-
32
26
  if ( geometry.index ) {
33
27
 
34
28
  console.warn( 'THREE.MeshSurfaceSampler: Converting geometry to non-indexed BufferGeometry.' );
@@ -19,7 +19,7 @@ import { ConvexGeometry } from '../geometries/ConvexGeometry.js';
19
19
  *
20
20
  * Requisites for the object:
21
21
  *
22
- * - Mesh object must have a BufferGeometry (not Geometry) and a Material
22
+ * - Mesh object must have a buffer geometry and a material
23
23
  *
24
24
  * - Vertex normals must be planar (not smoothed)
25
25
  *
@@ -70,16 +70,10 @@ class ConvexObjectBreaker {
70
70
 
71
71
  prepareBreakableObject( object, mass, velocity, angularVelocity, breakable ) {
72
72
 
73
- // object is a Object3d (normally a Mesh), must have a BufferGeometry, and it must be convex.
73
+ // object is a Object3d (normally a Mesh), must have a buffer geometry, and it must be convex.
74
74
  // Its material property is propagated to its children (sub-pieces)
75
75
  // mass must be > 0
76
76
 
77
- if ( ! object.geometry.isBufferGeometry ) {
78
-
79
- console.error( 'THREE.ConvexObjectBreaker.prepareBreakableObject(): Parameter object must have a BufferGeometry.' );
80
-
81
- }
82
-
83
77
  const userData = object.userData;
84
78
  userData.mass = mass;
85
79
  userData.velocity = velocity.clone();
@@ -3,7 +3,7 @@ import {
3
3
  ClampToEdgeWrapping,
4
4
  DataTexture,
5
5
  FloatType,
6
- LinearEncoding,
6
+ LinearSRGBColorSpace,
7
7
  Mesh,
8
8
  NearestFilter,
9
9
  NoToneMapping,
@@ -301,7 +301,7 @@ class GPUComputationRenderer {
301
301
 
302
302
  const variable = variables[ i ];
303
303
 
304
- variable.initialValueTexture?.dispose();
304
+ if ( variable.initialValueTexture ) variable.initialValueTexture.dispose();
305
305
 
306
306
  const renderTargets = variable.renderTargets;
307
307
 
@@ -399,12 +399,12 @@ class GPUComputationRenderer {
399
399
 
400
400
  const currentXrEnabled = renderer.xr.enabled;
401
401
  const currentShadowAutoUpdate = renderer.shadowMap.autoUpdate;
402
- const currentOutputEncoding = renderer.outputEncoding;
402
+ const currentOutputColorSpace = renderer.outputColorSpace;
403
403
  const currentToneMapping = renderer.toneMapping;
404
404
 
405
405
  renderer.xr.enabled = false; // Avoid camera modification
406
406
  renderer.shadowMap.autoUpdate = false; // Avoid re-computing shadows
407
- renderer.outputEncoding = LinearEncoding;
407
+ renderer.outputColorSpace = LinearSRGBColorSpace;
408
408
  renderer.toneMapping = NoToneMapping;
409
409
 
410
410
  mesh.material = material;
@@ -414,7 +414,7 @@ class GPUComputationRenderer {
414
414
 
415
415
  renderer.xr.enabled = currentXrEnabled;
416
416
  renderer.shadowMap.autoUpdate = currentShadowAutoUpdate;
417
- renderer.outputEncoding = currentOutputEncoding;
417
+ renderer.outputColorSpace = currentOutputColorSpace;
418
418
  renderer.toneMapping = currentToneMapping;
419
419
 
420
420
  renderer.setRenderTarget( currentRenderTarget );
@@ -6,7 +6,7 @@ import {
6
6
  Object3D,
7
7
  TextureLoader,
8
8
  UVMapping,
9
- sRGBEncoding
9
+ SRGBColorSpace
10
10
  } from 'three';
11
11
  import { MD2Loader } from '../loaders/MD2Loader.js';
12
12
 
@@ -73,7 +73,7 @@ class MD2Character {
73
73
  textures[ i ] = textureLoader.load( baseUrl + textureUrls[ i ], checkLoadingComplete );
74
74
  textures[ i ].mapping = UVMapping;
75
75
  textures[ i ].name = textureUrls[ i ];
76
- textures[ i ].encoding = sRGBEncoding;
76
+ textures[ i ].colorSpace = SRGBColorSpace;
77
77
 
78
78
  }
79
79
 
@@ -5,7 +5,7 @@ import {
5
5
  Object3D,
6
6
  TextureLoader,
7
7
  UVMapping,
8
- sRGBEncoding
8
+ SRGBColorSpace
9
9
  } from 'three';
10
10
  import { MD2Loader } from '../loaders/MD2Loader.js';
11
11
  import { MorphBlendMesh } from '../misc/MorphBlendMesh.js';
@@ -157,7 +157,7 @@ class MD2CharacterComplex {
157
157
  textures[ i ] = textureLoader.load( baseUrl + textureUrls[ i ], checkLoadingComplete );
158
158
  textures[ i ].mapping = UVMapping;
159
159
  textures[ i ].name = textureUrls[ i ];
160
- textures[ i ].encoding = sRGBEncoding;
160
+ textures[ i ].colorSpace = SRGBColorSpace;
161
161
 
162
162
  }
163
163