super-three 0.141.0 → 0.144.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 (353) hide show
  1. package/README.md +8 -8
  2. package/build/three.cjs +1558 -1034
  3. package/build/three.js +1558 -1034
  4. package/build/three.min.js +1 -1
  5. package/build/three.module.js +2012 -1243
  6. package/examples/js/animation/MMDPhysics.js +1 -16
  7. package/examples/js/controls/ArcballControls.js +16 -3
  8. package/examples/js/controls/FirstPersonControls.js +0 -7
  9. package/examples/js/controls/FlyControls.js +0 -8
  10. package/examples/js/controls/OrbitControls.js +0 -4
  11. package/examples/js/controls/PointerLockControls.js +0 -8
  12. package/examples/js/controls/TrackballControls.js +0 -2
  13. package/examples/js/controls/TransformControls.js +20 -16
  14. package/examples/js/effects/AnaglyphEffect.js +2 -2
  15. package/examples/js/effects/OutlineEffect.js +4 -24
  16. package/examples/js/effects/ParallaxBarrierEffect.js +2 -2
  17. package/examples/js/effects/PeppersGhostEffect.js +2 -2
  18. package/examples/js/effects/StereoEffect.js +2 -2
  19. package/examples/js/environments/RoomEnvironment.js +22 -0
  20. package/examples/js/exporters/ColladaExporter.js +4 -13
  21. package/examples/js/exporters/DRACOExporter.js +0 -12
  22. package/examples/js/exporters/GLTFExporter.js +28 -29
  23. package/examples/js/exporters/OBJExporter.js +2 -23
  24. package/examples/js/exporters/PLYExporter.js +12 -24
  25. package/examples/js/exporters/STLExporter.js +0 -7
  26. package/examples/js/exporters/USDZExporter.js +6 -0
  27. package/examples/js/geometries/ConvexGeometry.js +1 -1
  28. package/examples/js/geometries/ParametricGeometry.js +1 -8
  29. package/examples/js/interactive/SelectionHelper.js +2 -0
  30. package/examples/js/libs/ktx-parse.umd.js +1 -0
  31. package/examples/js/libs/meshopt_decoder.js +98 -32
  32. package/examples/js/loaders/ColladaLoader.js +1 -0
  33. package/examples/js/loaders/DRACOLoader.js +2 -25
  34. package/examples/js/loaders/EXRLoader.js +2 -13
  35. package/examples/js/loaders/FBXLoader.js +10 -3
  36. package/examples/js/loaders/FontLoader.js +3 -16
  37. package/examples/js/loaders/GLTFLoader.js +52 -36
  38. package/examples/js/loaders/HDRCubeTextureLoader.js +0 -11
  39. package/examples/js/loaders/LDrawLoader.js +139 -74
  40. package/examples/js/loaders/OBJLoader.js +7 -13
  41. package/examples/js/loaders/PCDLoader.js +59 -14
  42. package/examples/js/loaders/PLYLoader.js +3 -3
  43. package/examples/js/loaders/SVGLoader.js +4 -3
  44. package/examples/js/loaders/TIFFLoader.js +31 -0
  45. package/examples/js/loaders/VRMLLoader.js +33 -24
  46. package/examples/js/loaders/VTKLoader.js +1 -1
  47. package/examples/js/loaders/lwo/LWO2Parser.js +8 -7
  48. package/examples/js/loaders/lwo/LWO3Parser.js +8 -7
  49. package/examples/js/materials/MeshGouraudMaterial.js +385 -0
  50. package/examples/js/math/ColorConverter.js +0 -50
  51. package/examples/js/misc/GPUComputationRenderer.js +23 -0
  52. package/examples/js/misc/Volume.js +198 -190
  53. package/examples/js/misc/VolumeSlice.js +90 -88
  54. package/examples/js/modifiers/SimplifyModifier.js +1 -1
  55. package/examples/js/objects/GroundProjectedEnv.js +193 -0
  56. package/examples/js/objects/Reflector.js +9 -2
  57. package/examples/js/objects/ReflectorForSSRPass.js +3 -4
  58. package/examples/js/objects/Refractor.js +10 -4
  59. package/examples/js/objects/ShadowMesh.js +5 -1
  60. package/examples/js/postprocessing/OutlinePass.js +5 -3
  61. package/examples/js/renderers/CSS2DRenderer.js +2 -2
  62. package/examples/js/renderers/CSS3DRenderer.js +2 -2
  63. package/examples/js/renderers/Projector.js +2 -23
  64. package/examples/js/shaders/LuminosityShader.js +1 -1
  65. package/examples/js/shaders/MMDToonShader.js +6 -2
  66. package/examples/js/shaders/ToneMapShader.js +1 -1
  67. package/examples/js/utils/BufferGeometryUtils.js +1 -1
  68. package/examples/js/utils/GeometryUtils.js +2 -18
  69. package/examples/js/utils/PackedPhongMaterial.js +1 -1
  70. package/examples/js/utils/SceneUtils.js +0 -16
  71. package/examples/jsm/animation/MMDPhysics.js +3 -22
  72. package/examples/jsm/controls/ArcballControls.js +17 -2
  73. package/examples/jsm/controls/FirstPersonControls.js +0 -7
  74. package/examples/jsm/controls/FlyControls.js +0 -7
  75. package/examples/jsm/controls/OrbitControls.js +0 -5
  76. package/examples/jsm/controls/PointerLockControls.js +0 -7
  77. package/examples/jsm/controls/TrackballControls.js +0 -3
  78. package/examples/jsm/controls/TransformControls.js +18 -16
  79. package/examples/jsm/effects/AnaglyphEffect.js +2 -2
  80. package/examples/jsm/effects/OutlineEffect.js +4 -25
  81. package/examples/jsm/effects/ParallaxBarrierEffect.js +2 -2
  82. package/examples/jsm/effects/PeppersGhostEffect.js +2 -2
  83. package/examples/jsm/effects/StereoEffect.js +2 -2
  84. package/examples/jsm/environments/RoomEnvironment.js +23 -0
  85. package/examples/jsm/exporters/ColladaExporter.js +4 -13
  86. package/examples/jsm/exporters/DRACOExporter.js +0 -13
  87. package/examples/jsm/exporters/GLTFExporter.js +29 -31
  88. package/examples/jsm/exporters/KTX2Exporter.js +29 -29
  89. package/examples/jsm/exporters/OBJExporter.js +0 -18
  90. package/examples/jsm/exporters/PLYExporter.js +14 -22
  91. package/examples/jsm/exporters/STLExporter.js +1 -9
  92. package/examples/jsm/exporters/USDZExporter.js +14 -3
  93. package/examples/jsm/geometries/ConvexGeometry.js +1 -1
  94. package/examples/jsm/geometries/ParametricGeometry.js +0 -6
  95. package/examples/jsm/interactive/HTMLMesh.js +9 -9
  96. package/examples/jsm/interactive/SelectionHelper.js +5 -3
  97. package/examples/jsm/libs/meshopt_decoder.module.js +97 -32
  98. package/examples/jsm/libs/utif.module.js +1579 -0
  99. package/examples/jsm/libs/zstddec.module.js +1 -0
  100. package/examples/jsm/loaders/ColladaLoader.js +1 -0
  101. package/examples/jsm/loaders/DRACOLoader.js +2 -28
  102. package/examples/jsm/loaders/EXRLoader.js +3 -13
  103. package/examples/jsm/loaders/FBXLoader.js +10 -3
  104. package/examples/jsm/loaders/FontLoader.js +3 -16
  105. package/examples/jsm/loaders/GLTFLoader.js +52 -36
  106. package/examples/jsm/loaders/HDRCubeTextureLoader.js +0 -13
  107. package/examples/jsm/loaders/KTX2Loader.js +192 -30
  108. package/examples/jsm/loaders/LDrawLoader.js +135 -74
  109. package/examples/jsm/loaders/OBJLoader.js +6 -14
  110. package/examples/jsm/loaders/PCDLoader.js +59 -13
  111. package/examples/jsm/loaders/PLYLoader.js +3 -3
  112. package/examples/jsm/loaders/RGBELoader.js +1 -1
  113. package/examples/jsm/loaders/SVGLoader.js +4 -3
  114. package/examples/jsm/loaders/TIFFLoader.js +36 -0
  115. package/examples/jsm/loaders/USDZLoader.js +393 -0
  116. package/examples/jsm/loaders/VRMLLoader.js +23 -25
  117. package/examples/jsm/loaders/VTKLoader.js +1 -1
  118. package/examples/jsm/loaders/lwo/LWO2Parser.js +6 -8
  119. package/examples/jsm/loaders/lwo/LWO3Parser.js +6 -8
  120. package/examples/jsm/materials/MeshGouraudMaterial.js +423 -0
  121. package/examples/jsm/math/ColorConverter.js +1 -49
  122. package/examples/jsm/misc/GPUComputationRenderer.js +43 -0
  123. package/examples/jsm/misc/Volume.js +169 -171
  124. package/examples/jsm/misc/VolumeSlice.js +78 -80
  125. package/examples/jsm/modifiers/SimplifyModifier.js +1 -1
  126. package/examples/jsm/node-editor/accessors/MatcapUVEditor.js +1 -1
  127. package/examples/jsm/node-editor/accessors/NormalEditor.js +1 -1
  128. package/examples/jsm/node-editor/accessors/PositionEditor.js +1 -1
  129. package/examples/jsm/node-editor/accessors/UVEditor.js +1 -1
  130. package/examples/jsm/node-editor/display/BlendEditor.js +1 -1
  131. package/examples/jsm/node-editor/display/NormalMapEditor.js +1 -1
  132. package/examples/jsm/node-editor/inputs/ColorEditor.js +1 -1
  133. package/examples/jsm/node-editor/inputs/FloatEditor.js +1 -1
  134. package/examples/jsm/node-editor/inputs/SliderEditor.js +1 -1
  135. package/examples/jsm/node-editor/inputs/TextureEditor.js +1 -1
  136. package/examples/jsm/node-editor/inputs/Vector2Editor.js +1 -1
  137. package/examples/jsm/node-editor/inputs/Vector3Editor.js +1 -1
  138. package/examples/jsm/node-editor/inputs/Vector4Editor.js +1 -1
  139. package/examples/jsm/node-editor/materials/BasicMaterialEditor.js +1 -1
  140. package/examples/jsm/node-editor/materials/PointsMaterialEditor.js +1 -1
  141. package/examples/jsm/node-editor/materials/StandardMaterialEditor.js +1 -1
  142. package/examples/jsm/node-editor/math/AngleEditor.js +1 -1
  143. package/examples/jsm/node-editor/math/DotEditor.js +1 -1
  144. package/examples/jsm/node-editor/math/InvertEditor.js +1 -1
  145. package/examples/jsm/node-editor/math/LimiterEditor.js +1 -1
  146. package/examples/jsm/node-editor/math/NormalizeEditor.js +1 -1
  147. package/examples/jsm/node-editor/math/OperatorEditor.js +1 -1
  148. package/examples/jsm/node-editor/math/PowerEditor.js +1 -1
  149. package/examples/jsm/node-editor/math/TrigonometryEditor.js +1 -1
  150. package/examples/jsm/node-editor/procedural/CheckerEditor.js +1 -1
  151. package/examples/jsm/node-editor/utils/JoinEditor.js +1 -1
  152. package/examples/jsm/node-editor/utils/OscillatorEditor.js +1 -1
  153. package/examples/jsm/node-editor/utils/PreviewEditor.js +3 -3
  154. package/examples/jsm/node-editor/utils/SplitEditor.js +1 -1
  155. package/examples/jsm/node-editor/utils/TimerEditor.js +1 -1
  156. package/examples/jsm/nodes/Nodes.js +43 -13
  157. package/examples/jsm/nodes/accessors/CubeTextureNode.js +9 -5
  158. package/examples/jsm/nodes/accessors/NormalNode.js +4 -4
  159. package/examples/jsm/nodes/accessors/PositionNode.js +5 -5
  160. package/examples/jsm/nodes/accessors/ReflectVectorNode.js +31 -0
  161. package/examples/jsm/nodes/core/AttributeNode.js +3 -3
  162. package/examples/jsm/nodes/core/CodeNode.js +3 -3
  163. package/examples/jsm/nodes/core/FunctionCallNode.js +20 -5
  164. package/examples/jsm/nodes/core/FunctionNode.js +2 -2
  165. package/examples/jsm/nodes/core/Node.js +14 -12
  166. package/examples/jsm/nodes/core/NodeBuilder.js +12 -12
  167. package/examples/jsm/nodes/core/NodeUtils.js +23 -1
  168. package/examples/jsm/nodes/core/{NodeVary.js → NodeVarying.js} +3 -3
  169. package/examples/jsm/nodes/core/{VaryNode.js → VaryingNode.js} +7 -7
  170. package/examples/jsm/nodes/display/ColorAdjustmentNode.js +94 -0
  171. package/examples/jsm/nodes/geometry/RangeNode.js +109 -0
  172. package/examples/jsm/nodes/gpgpu/ComputeNode.js +2 -0
  173. package/examples/jsm/nodes/lighting/EnvironmentNode.js +8 -7
  174. package/examples/jsm/nodes/lighting/LightingContextNode.js +4 -4
  175. package/examples/jsm/nodes/loaders/NodeLoader.js +2 -2
  176. package/examples/jsm/nodes/loaders/NodeMaterialLoader.js +31 -0
  177. package/examples/jsm/nodes/materials/Materials.js +13 -25
  178. package/examples/jsm/nodes/materials/MeshPhysicalNodeMaterial.js +70 -0
  179. package/examples/jsm/nodes/materials/MeshStandardNodeMaterial.js +4 -7
  180. package/examples/jsm/nodes/materials/NodeMaterial.js +2 -2
  181. package/examples/jsm/nodes/materials/SpriteNodeMaterial.js +28 -17
  182. package/examples/jsm/nodes/materialx/Disclaimer.md +199 -0
  183. package/examples/jsm/nodes/materialx/functions/lib/mx_hsv.js +56 -0
  184. package/examples/jsm/nodes/materialx/functions/lib/mx_noise.js +607 -0
  185. package/examples/jsm/nodes/math/MathNode.js +2 -12
  186. package/examples/jsm/nodes/parsers/GLSLNodeFunction.js +21 -6
  187. package/examples/jsm/nodes/procedural/CheckerNode.js +2 -2
  188. package/examples/jsm/nodes/shadernode/ShaderNode.js +5 -5
  189. package/examples/jsm/nodes/shadernode/ShaderNodeBaseElements.js +8 -5
  190. package/examples/jsm/nodes/shadernode/ShaderNodeElements.js +20 -6
  191. package/examples/jsm/nodes/utils/ConvertNode.js +8 -3
  192. package/examples/jsm/nodes/utils/JoinNode.js +7 -7
  193. package/examples/jsm/nodes/utils/MaxMipLevelNode.js +2 -1
  194. package/examples/jsm/nodes/utils/RotateUVNode.js +32 -0
  195. package/examples/jsm/nodes/utils/SplitNode.js +21 -5
  196. package/examples/jsm/nodes/utils/TimerNode.js +2 -2
  197. package/examples/jsm/objects/GroundProjectedEnv.js +186 -0
  198. package/examples/jsm/objects/Reflector.js +12 -5
  199. package/examples/jsm/objects/ReflectorForSSRPass.js +3 -5
  200. package/examples/jsm/objects/Refractor.js +12 -6
  201. package/examples/jsm/objects/ShadowMesh.js +8 -2
  202. package/examples/jsm/postprocessing/OutlinePass.js +5 -3
  203. package/examples/jsm/renderers/CSS2DRenderer.js +2 -2
  204. package/examples/jsm/renderers/CSS3DRenderer.js +2 -2
  205. package/examples/jsm/renderers/Projector.js +2 -24
  206. package/examples/jsm/renderers/webgl/nodes/SlotNode.js +9 -5
  207. package/examples/jsm/renderers/webgl/nodes/WebGLNodeBuilder.js +329 -218
  208. package/examples/jsm/renderers/webgl/nodes/WebGLNodes.js +7 -3
  209. package/examples/jsm/renderers/webgpu/WebGPUBackground.js +39 -3
  210. package/examples/jsm/renderers/webgpu/WebGPUComputePipelines.js +6 -0
  211. package/examples/jsm/renderers/webgpu/WebGPUGeometries.js +6 -0
  212. package/examples/jsm/renderers/webgpu/WebGPUObjects.js +1 -1
  213. package/examples/jsm/renderers/webgpu/WebGPURenderPipeline.js +17 -19
  214. package/examples/jsm/renderers/webgpu/WebGPURenderPipelines.js +16 -14
  215. package/examples/jsm/renderers/webgpu/WebGPURenderStates.js +2 -2
  216. package/examples/jsm/renderers/webgpu/WebGPURenderer.js +66 -81
  217. package/examples/jsm/renderers/webgpu/WebGPUTextureUtils.js +5 -3
  218. package/examples/jsm/renderers/webgpu/WebGPUTextures.js +2 -2
  219. package/examples/jsm/renderers/webgpu/WebGPUUtils.js +81 -0
  220. package/examples/jsm/renderers/webgpu/nodes/WebGPUNodeBuilder.js +25 -30
  221. package/examples/jsm/renderers/webgpu/nodes/WebGPUNodes.js +1 -1
  222. package/examples/jsm/shaders/LuminosityShader.js +1 -1
  223. package/examples/jsm/shaders/MMDToonShader.js +2 -2
  224. package/examples/jsm/shaders/ToneMapShader.js +1 -1
  225. package/examples/jsm/utils/BufferGeometryUtils.js +2 -1
  226. package/examples/jsm/utils/GeometryUtils.js +17 -25
  227. package/examples/jsm/utils/PackedPhongMaterial.js +0 -1
  228. package/examples/jsm/utils/SceneUtils.js +1 -21
  229. package/examples/jsm/webxr/OculusHandPointerModel.js +6 -1
  230. package/examples/jsm/webxr/VRButton.js +1 -7
  231. package/package.json +18 -14
  232. package/src/Three.Legacy.js +262 -36
  233. package/src/Three.js +3 -2
  234. package/src/animation/AnimationAction.js +6 -5
  235. package/src/animation/AnimationClip.js +1 -1
  236. package/src/animation/AnimationMixer.js +1 -1
  237. package/src/animation/AnimationUtils.js +204 -199
  238. package/src/animation/KeyframeTrack.js +1 -1
  239. package/src/animation/PropertyBinding.js +24 -5
  240. package/src/cameras/CubeCamera.js +0 -7
  241. package/src/constants.js +2 -4
  242. package/src/core/BufferAttribute.js +81 -111
  243. package/src/core/BufferGeometry.js +3 -41
  244. package/src/core/InstancedBufferAttribute.js +0 -10
  245. package/src/core/InterleavedBuffer.js +1 -1
  246. package/src/core/InterleavedBufferAttribute.js +56 -7
  247. package/src/core/Object3D.js +22 -5
  248. package/src/core/Uniform.js +0 -7
  249. package/src/core/UniformsGroup.js +92 -0
  250. package/src/extras/DataUtils.js +104 -88
  251. package/src/extras/core/Path.js +1 -0
  252. package/src/extras/core/ShapePath.js +1 -4
  253. package/src/extras/curves/CatmullRomCurve3.js +4 -2
  254. package/src/geometries/BoxGeometry.js +1 -1
  255. package/src/geometries/CapsuleGeometry.js +1 -1
  256. package/src/geometries/CircleGeometry.js +1 -1
  257. package/src/geometries/ConeGeometry.js +1 -1
  258. package/src/geometries/CylinderGeometry.js +2 -1
  259. package/src/geometries/DodecahedronGeometry.js +1 -1
  260. package/src/geometries/EdgesGeometry.js +5 -4
  261. package/src/geometries/ExtrudeGeometry.js +2 -11
  262. package/src/geometries/IcosahedronGeometry.js +1 -1
  263. package/src/geometries/LatheGeometry.js +2 -2
  264. package/src/geometries/OctahedronGeometry.js +1 -1
  265. package/src/geometries/PlaneGeometry.js +2 -1
  266. package/src/geometries/PolyhedronGeometry.js +1 -1
  267. package/src/geometries/RingGeometry.js +1 -1
  268. package/src/geometries/ShapeGeometry.js +2 -1
  269. package/src/geometries/SphereGeometry.js +2 -1
  270. package/src/geometries/TetrahedronGeometry.js +1 -1
  271. package/src/geometries/TorusGeometry.js +2 -1
  272. package/src/geometries/TorusKnotGeometry.js +2 -1
  273. package/src/geometries/TubeGeometry.js +2 -1
  274. package/src/geometries/WireframeGeometry.js +1 -0
  275. package/src/helpers/CameraHelper.js +97 -38
  276. package/src/helpers/DirectionalLightHelper.js +1 -0
  277. package/src/helpers/HemisphereLightHelper.js +1 -0
  278. package/src/helpers/PlaneHelper.js +6 -9
  279. package/src/helpers/PolarGridHelper.js +18 -14
  280. package/src/helpers/SpotLightHelper.js +1 -0
  281. package/src/lights/SpotLight.js +2 -0
  282. package/src/loaders/FileLoader.js +12 -1
  283. package/src/loaders/LoadingManager.js +1 -1
  284. package/src/loaders/MaterialLoader.js +49 -7
  285. package/src/loaders/ObjectLoader.js +4 -41
  286. package/src/materials/Material.js +1 -33
  287. package/src/materials/Materials.js +0 -27
  288. package/src/materials/MeshLambertMaterial.js +28 -1
  289. package/src/materials/ShaderMaterial.js +3 -7
  290. package/src/math/Color.js +3 -13
  291. package/src/math/MathUtils.js +1 -7
  292. package/src/math/Matrix3.js +1 -7
  293. package/src/math/Matrix4.js +3 -27
  294. package/src/math/Quaternion.js +1 -21
  295. package/src/math/Vector2.js +4 -24
  296. package/src/math/Vector3.js +7 -46
  297. package/src/math/Vector4.js +4 -24
  298. package/src/renderers/WebGLRenderer.js +84 -8
  299. package/src/renderers/shaders/ShaderChunk/bsdfs.glsl.js +12 -12
  300. package/src/renderers/shaders/ShaderChunk/bumpmap_pars_fragment.glsl.js +3 -5
  301. package/src/renderers/shaders/ShaderChunk/common.glsl.js +6 -5
  302. package/src/renderers/shaders/ShaderChunk/cube_uv_reflection_fragment.glsl.js +24 -24
  303. package/src/renderers/shaders/ShaderChunk/envmap_pars_fragment.glsl.js +1 -1
  304. package/src/renderers/shaders/ShaderChunk/envmap_pars_vertex.glsl.js +1 -1
  305. package/src/renderers/shaders/ShaderChunk/gradientmap_pars_fragment.glsl.js +2 -1
  306. package/src/renderers/shaders/ShaderChunk/iridescence_fragment.glsl.js +113 -99
  307. package/src/renderers/shaders/ShaderChunk/lights_fragment_begin.glsl.js +34 -12
  308. package/src/renderers/shaders/ShaderChunk/lights_lambert_fragment.glsl.js +5 -0
  309. package/src/renderers/shaders/ShaderChunk/lights_lambert_pars_fragment.glsl.js +30 -0
  310. package/src/renderers/shaders/ShaderChunk/lights_physical_fragment.glsl.js +3 -1
  311. package/src/renderers/shaders/ShaderChunk/lights_physical_pars_fragment.glsl.js +13 -1
  312. package/src/renderers/shaders/ShaderChunk/normalmap_pars_fragment.glsl.js +2 -4
  313. package/src/renderers/shaders/ShaderChunk/output_fragment.glsl.js +1 -1
  314. package/src/renderers/shaders/ShaderChunk/shadowmap_pars_fragment.glsl.js +18 -7
  315. package/src/renderers/shaders/ShaderChunk/shadowmap_pars_vertex.glsl.js +8 -3
  316. package/src/renderers/shaders/ShaderChunk/shadowmap_vertex.glsl.js +9 -6
  317. package/src/renderers/shaders/ShaderChunk/shadowmask_pars_fragment.glsl.js +1 -1
  318. package/src/renderers/shaders/ShaderChunk/transmission_fragment.glsl.js +14 -10
  319. package/src/renderers/shaders/ShaderChunk/worldpos_vertex.glsl.js +1 -1
  320. package/src/renderers/shaders/ShaderChunk.js +4 -2
  321. package/src/renderers/shaders/ShaderLib/meshbasic.glsl.js +0 -1
  322. package/src/renderers/shaders/ShaderLib/meshlambert.glsl.js +22 -50
  323. package/src/renderers/shaders/ShaderLib/meshphong.glsl.js +0 -1
  324. package/src/renderers/shaders/ShaderLib.js +31 -31
  325. package/src/renderers/shaders/UniformsLib.js +12 -11
  326. package/src/renderers/shaders/UniformsUtils.js +14 -0
  327. package/src/renderers/webgl/WebGLBackground.js +2 -2
  328. package/src/renderers/webgl/WebGLLights.js +37 -13
  329. package/src/renderers/webgl/WebGLMorphtargets.js +0 -20
  330. package/src/renderers/webgl/WebGLProgram.js +6 -11
  331. package/src/renderers/webgl/WebGLPrograms.js +30 -26
  332. package/src/renderers/webgl/WebGLRenderLists.js +5 -4
  333. package/src/renderers/webgl/WebGLRenderStates.js +5 -4
  334. package/src/renderers/webgl/WebGLShaderCache.js +9 -6
  335. package/src/renderers/webgl/WebGLShadowMap.js +10 -15
  336. package/src/renderers/webgl/WebGLState.js +47 -0
  337. package/src/renderers/webgl/WebGLUniforms.js +4 -4
  338. package/src/renderers/webgl/WebGLUniformsGroups.js +372 -0
  339. package/src/renderers/webgl/WebGLUtils.js +2 -0
  340. package/src/renderers/webvr/WebVRManager.js +42 -9
  341. package/src/renderers/webvr/WebVRUtils.js +1 -1
  342. package/src/renderers/webxr/WebXRController.js +45 -37
  343. package/src/renderers/webxr/WebXRManager.js +58 -33
  344. package/src/scenes/Scene.js +16 -3
  345. package/src/textures/Source.js +1 -1
  346. package/src/utils.js +1 -1
  347. package/examples/js/controls/experimental/CameraControls.js +0 -1048
  348. package/examples/js/loaders/KTX2Loader.js +0 -558
  349. package/examples/jsm/controls/experimental/CameraControls.js +0 -1248
  350. package/examples/jsm/nodes/accessors/ReflectNode.js +0 -70
  351. package/examples/jsm/package.json +0 -3
  352. package/examples/jsm/renderers/webgl/nodes/WebGLPhysicalContextNode.js +0 -45
  353. package/src/renderers/shaders/ShaderChunk/lights_lambert_vertex.glsl.js +0 -122
@@ -1,94 +1,320 @@
1
- import { BufferGeometry } from './core/BufferGeometry.js';
2
1
  import { WebGLRenderTarget } from './renderers/WebGLRenderTarget.js';
3
2
  import { DataArrayTexture } from './textures/DataArrayTexture.js';
4
3
  import { Data3DTexture } from './textures/Data3DTexture.js';
4
+ import { BoxGeometry } from './geometries/BoxGeometry.js';
5
+ import { CapsuleGeometry } from './geometries/CapsuleGeometry.js';
6
+ import { CircleGeometry } from './geometries/CircleGeometry.js';
7
+ import { ConeGeometry } from './geometries/ConeGeometry.js';
8
+ import { CylinderGeometry } from './geometries/CylinderGeometry.js';
9
+ import { DodecahedronGeometry } from './geometries/DodecahedronGeometry.js';
10
+ import { ExtrudeGeometry } from './geometries/ExtrudeGeometry.js';
11
+ import { IcosahedronGeometry } from './geometries/IcosahedronGeometry.js';
12
+ import { LatheGeometry } from './geometries/LatheGeometry.js';
13
+ import { OctahedronGeometry } from './geometries/OctahedronGeometry.js';
14
+ import { PlaneGeometry } from './geometries/PlaneGeometry.js';
15
+ import { PolyhedronGeometry } from './geometries/PolyhedronGeometry.js';
16
+ import { RingGeometry } from './geometries/RingGeometry.js';
17
+ import { ShapeGeometry } from './geometries/ShapeGeometry.js';
18
+ import { SphereGeometry } from './geometries/SphereGeometry.js';
19
+ import { TetrahedronGeometry } from './geometries/TetrahedronGeometry.js';
20
+ import { TorusGeometry } from './geometries/TorusGeometry.js';
21
+ import { TorusKnotGeometry } from './geometries/TorusKnotGeometry.js';
22
+ import { TubeGeometry } from './geometries/TubeGeometry.js';
5
23
 
6
- // r133, c5bb5434555a3c3ddd784944a0a124f996fc721b
24
+ // r134, d65e0af06644fe5a84a6fc0e372f4318f95a04c0
25
+
26
+ export function ImmediateRenderObject() {
7
27
 
8
- export class ParametricGeometry extends BufferGeometry {
28
+ console.error( 'THREE.ImmediateRenderObject has been removed.' );
9
29
 
10
- constructor() {
30
+ }
11
31
 
12
- console.error( 'THREE.ParametricGeometry has been moved to /examples/jsm/geometries/ParametricGeometry.js' );
13
- super();
32
+ // r138, 48b05d3500acc084df50be9b4c90781ad9b8cb17
33
+
34
+ export class WebGLMultisampleRenderTarget extends WebGLRenderTarget {
35
+
36
+ constructor( width, height, options ) {
37
+
38
+ console.error( 'THREE.WebGLMultisampleRenderTarget has been removed. Use a normal render target and set the "samples" property to greater 0 to enable multisampling.' );
39
+ super( width, height, options );
40
+ this.samples = 4;
14
41
 
15
42
  }
16
43
 
17
44
  }
18
45
 
19
- // r133, eb58ff153119090d3bbb24474ea0ffc40c70dc92
46
+ // r138, f9cd9cab03b7b64244e304900a3a2eeaa3a588ce
20
47
 
21
- export class TextGeometry extends BufferGeometry {
48
+ export class DataTexture2DArray extends DataArrayTexture {
22
49
 
23
- constructor() {
50
+ constructor( data, width, height, depth ) {
24
51
 
25
- console.error( 'THREE.TextGeometry has been moved to /examples/jsm/geometries/TextGeometry.js' );
26
- super();
52
+ console.warn( 'THREE.DataTexture2DArray has been renamed to DataArrayTexture.' );
53
+ super( data, width, height, depth );
27
54
 
28
55
  }
29
56
 
30
57
  }
31
58
 
32
- // r133, eb58ff153119090d3bbb24474ea0ffc40c70dc92
59
+ // r138, f9cd9cab03b7b64244e304900a3a2eeaa3a588ce
60
+
61
+ export class DataTexture3D extends Data3DTexture {
62
+
63
+ constructor( data, width, height, depth ) {
33
64
 
34
- export function FontLoader() {
65
+ console.warn( 'THREE.DataTexture3D has been renamed to Data3DTexture.' );
66
+ super( data, width, height, depth );
35
67
 
36
- console.error( 'THREE.FontLoader has been moved to /examples/jsm/loaders/FontLoader.js' );
68
+ }
37
69
 
38
70
  }
39
71
 
40
- // r133, eb58ff153119090d3bbb24474ea0ffc40c70dc92
72
+ // r144
41
73
 
42
- export function Font() {
74
+ export class BoxBufferGeometry extends BoxGeometry {
43
75
 
44
- console.error( 'THREE.Font has been moved to /examples/jsm/loaders/FontLoader.js' );
76
+ constructor( width, height, depth, widthSegments, heightSegments, depthSegments ) {
77
+
78
+ console.warn( 'THREE.BoxBufferGeometry has been renamed to THREE.BoxGeometry.' );
79
+ super( width, height, depth, widthSegments, heightSegments, depthSegments );
80
+
81
+
82
+ }
45
83
 
46
84
  }
47
85
 
48
- // r134, d65e0af06644fe5a84a6fc0e372f4318f95a04c0
86
+ // r144
49
87
 
50
- export function ImmediateRenderObject() {
88
+ export class CapsuleBufferGeometry extends CapsuleGeometry {
51
89
 
52
- console.error( 'THREE.ImmediateRenderObject has been removed.' );
90
+ constructor( radius, length, capSegments, radialSegments ) {
91
+
92
+ console.warn( 'THREE.CapsuleBufferGeometry has been renamed to THREE.CapsuleGeometry.' );
93
+ super( radius, length, capSegments, radialSegments );
94
+
95
+ }
53
96
 
54
97
  }
55
98
 
56
- // r138, 48b05d3500acc084df50be9b4c90781ad9b8cb17
99
+ // r144
57
100
 
58
- export class WebGLMultisampleRenderTarget extends WebGLRenderTarget {
101
+ export class CircleBufferGeometry extends CircleGeometry {
59
102
 
60
- constructor( width, height, options ) {
103
+ constructor( radius, segments, thetaStart, thetaLength ) {
61
104
 
62
- console.error( 'THREE.WebGLMultisampleRenderTarget has been removed. Use a normal render target and set the "samples" property to greater 0 to enable multisampling.' );
63
- super( width, height, options );
64
- this.samples = 4;
105
+ console.warn( 'THREE.CircleBufferGeometry has been renamed to THREE.CircleGeometry.' );
106
+ super( radius, segments, thetaStart, thetaLength );
65
107
 
66
108
  }
67
109
 
68
110
  }
69
111
 
70
- // r138, f9cd9cab03b7b64244e304900a3a2eeaa3a588ce
112
+ // r144
71
113
 
72
- export class DataTexture2DArray extends DataArrayTexture {
114
+ export class ConeBufferGeometry extends ConeGeometry {
73
115
 
74
- constructor( data, width, height, depth ) {
116
+ constructor( radius, height, radialSegments, heightSegments, openEnded, thetaStart, thetaLength ) {
75
117
 
76
- console.warn( 'THREE.DataTexture2DArray has been renamed to DataArrayTexture.' );
77
- super( data, width, height, depth );
118
+ console.warn( 'THREE.ConeBufferGeometry has been renamed to THREE.ConeGeometry.' );
119
+ super( radius, height, radialSegments, heightSegments, openEnded, thetaStart, thetaLength );
78
120
 
79
121
  }
80
122
 
81
123
  }
82
124
 
83
- // r138, f9cd9cab03b7b64244e304900a3a2eeaa3a588ce
125
+ // r144
84
126
 
85
- export class DataTexture3D extends Data3DTexture {
127
+ export class CylinderBufferGeometry extends CylinderGeometry {
86
128
 
87
- constructor( data, width, height, depth ) {
129
+ constructor( radiusTop, radiusBottom, height, radialSegments, heightSegments, openEnded, thetaStart, thetaLength ) {
88
130
 
89
- console.warn( 'THREE.DataTexture3D has been renamed to Data3DTexture.' );
90
- super( data, width, height, depth );
131
+ console.warn( 'THREE.CylinderBufferGeometry has been renamed to THREE.CylinderGeometry.' );
132
+ super( radiusTop, radiusBottom, height, radialSegments, heightSegments, openEnded, thetaStart, thetaLength );
133
+
134
+ }
135
+
136
+ }
137
+
138
+ // r144
139
+
140
+ export class DodecahedronBufferGeometry extends DodecahedronGeometry {
141
+
142
+ constructor( radius, detail ) {
143
+
144
+ console.warn( 'THREE.DodecahedronBufferGeometry has been renamed to THREE.DodecahedronGeometry.' );
145
+ super( radius, detail );
146
+
147
+ }
148
+
149
+ }
150
+
151
+ // r144
152
+
153
+ export class ExtrudeBufferGeometry extends ExtrudeGeometry {
154
+
155
+ constructor( shapes, options ) {
156
+
157
+ console.warn( 'THREE.ExtrudeBufferGeometry has been renamed to THREE.ExtrudeGeometry.' );
158
+ super( shapes, options );
91
159
 
92
160
  }
93
161
 
94
162
  }
163
+
164
+ // r144
165
+
166
+ export class IcosahedronBufferGeometry extends IcosahedronGeometry {
167
+
168
+ constructor( radius, detail ) {
169
+
170
+ console.warn( 'THREE.IcosahedronBufferGeometry has been renamed to THREE.IcosahedronGeometry.' );
171
+ super( radius, detail );
172
+
173
+ }
174
+
175
+ }
176
+
177
+ // r144
178
+
179
+ export class LatheBufferGeometry extends LatheGeometry {
180
+
181
+ constructor( points, segments, phiStart, phiLength ) {
182
+
183
+ console.warn( 'THREE.LatheBufferGeometry has been renamed to THREE.LatheGeometry.' );
184
+ super( points, segments, phiStart, phiLength );
185
+
186
+ }
187
+
188
+ }
189
+
190
+ // r144
191
+
192
+ export class OctahedronBufferGeometry extends OctahedronGeometry {
193
+
194
+ constructor( radius, detail ) {
195
+
196
+ console.warn( 'THREE.OctahedronBufferGeometry has been renamed to THREE.OctahedronGeometry.' );
197
+ super( radius, detail );
198
+
199
+ }
200
+
201
+ }
202
+
203
+ // r144
204
+
205
+ export class PlaneBufferGeometry extends PlaneGeometry {
206
+
207
+ constructor( width, height, widthSegments, heightSegments ) {
208
+
209
+ console.warn( 'THREE.PlaneBufferGeometry has been renamed to THREE.PlaneGeometry.' );
210
+ super( width, height, widthSegments, heightSegments );
211
+
212
+ }
213
+
214
+ }
215
+
216
+ // r144
217
+
218
+ export class PolyhedronBufferGeometry extends PolyhedronGeometry {
219
+
220
+ constructor( vertices, indices, radius, detail ) {
221
+
222
+ console.warn( 'THREE.PolyhedronBufferGeometry has been renamed to THREE.PolyhedronGeometry.' );
223
+ super( vertices, indices, radius, detail );
224
+
225
+ }
226
+
227
+ }
228
+
229
+ // r144
230
+
231
+ export class RingBufferGeometry extends RingGeometry {
232
+
233
+ constructor( innerRadius, outerRadius, thetaSegments, phiSegments, thetaStart, thetaLength ) {
234
+
235
+ console.warn( 'THREE.RingBufferGeometry has been renamed to THREE.RingGeometry.' );
236
+ super( innerRadius, outerRadius, thetaSegments, phiSegments, thetaStart, thetaLength );
237
+
238
+ }
239
+
240
+ }
241
+
242
+ // r144
243
+
244
+ export class ShapeBufferGeometry extends ShapeGeometry {
245
+
246
+ constructor( shapes, curveSegments ) {
247
+
248
+ console.warn( 'THREE.ShapeBufferGeometry has been renamed to THREE.ShapeGeometry.' );
249
+ super( shapes, curveSegments );
250
+
251
+ }
252
+
253
+ }
254
+
255
+ // r144
256
+
257
+ export class SphereBufferGeometry extends SphereGeometry {
258
+
259
+ constructor( radius, widthSegments, heightSegments, phiStart, phiLength, thetaStart, thetaLength ) {
260
+
261
+ console.warn( 'THREE.SphereBufferGeometry has been renamed to THREE.SphereGeometry.' );
262
+ super( radius, widthSegments, heightSegments, phiStart, phiLength, thetaStart, thetaLength );
263
+
264
+ }
265
+
266
+ }
267
+
268
+ // r144
269
+
270
+ export class TetrahedronBufferGeometry extends TetrahedronGeometry {
271
+
272
+ constructor( radius, detail ) {
273
+
274
+ console.warn( 'THREE.TetrahedronBufferGeometry has been renamed to THREE.TetrahedronGeometry.' );
275
+ super( radius, detail );
276
+
277
+ }
278
+
279
+ }
280
+
281
+ // r144
282
+
283
+ export class TorusBufferGeometry extends TorusGeometry {
284
+
285
+ constructor( radius, tube, radialSegments, tubularSegments, arc ) {
286
+
287
+ console.warn( 'THREE.TorusBufferGeometry has been renamed to THREE.TorusGeometry.' );
288
+ super( radius, tube, radialSegments, tubularSegments, arc );
289
+
290
+ }
291
+
292
+ }
293
+
294
+ // r144
295
+
296
+ export class TorusKnotBufferGeometry extends TorusKnotGeometry {
297
+
298
+ constructor( radius, tube, tubularSegments, radialSegments, p, q ) {
299
+
300
+ console.warn( 'THREE.TorusKnotBufferGeometry has been renamed to THREE.TorusKnotGeometry.' );
301
+ super( radius, tube, tubularSegments, radialSegments, p, q );
302
+
303
+ }
304
+
305
+ }
306
+
307
+ // r144
308
+
309
+ export class TubeBufferGeometry extends TubeGeometry {
310
+
311
+ constructor( path, tubularSegments, radius, radialSegments, closed ) {
312
+
313
+ console.warn( 'THREE.TubeBufferGeometry has been renamed to THREE.TubeGeometry.' );
314
+ super( path, tubularSegments, radius, radialSegments, closed );
315
+
316
+ }
317
+
318
+ }
319
+
320
+
package/src/Three.js CHANGED
@@ -85,11 +85,12 @@ export { BooleanKeyframeTrack } from './animation/tracks/BooleanKeyframeTrack.js
85
85
  export { PropertyMixer } from './animation/PropertyMixer.js';
86
86
  export { PropertyBinding } from './animation/PropertyBinding.js';
87
87
  export { KeyframeTrack } from './animation/KeyframeTrack.js';
88
- export { AnimationUtils } from './animation/AnimationUtils.js';
88
+ export * as AnimationUtils from './animation/AnimationUtils.js';
89
89
  export { AnimationObjectGroup } from './animation/AnimationObjectGroup.js';
90
90
  export { AnimationMixer } from './animation/AnimationMixer.js';
91
91
  export { AnimationClip } from './animation/AnimationClip.js';
92
92
  export { Uniform } from './core/Uniform.js';
93
+ export { UniformsGroup } from './core/UniformsGroup.js';
93
94
  export { InstancedBufferGeometry } from './core/InstancedBufferGeometry.js';
94
95
  export { BufferGeometry } from './core/BufferGeometry.js';
95
96
  export { InterleavedBufferAttribute } from './core/InterleavedBufferAttribute.js';
@@ -148,7 +149,7 @@ export { Path } from './extras/core/Path.js';
148
149
  export { ShapePath } from './extras/core/ShapePath.js';
149
150
  export { CurvePath } from './extras/core/CurvePath.js';
150
151
  export { Curve } from './extras/core/Curve.js';
151
- export { DataUtils } from './extras/DataUtils.js';
152
+ export * as DataUtils from './extras/DataUtils.js';
152
153
  export { ImageUtils } from './extras/ImageUtils.js';
153
154
  export { ShapeUtils } from './extras/ShapeUtils.js';
154
155
  export { PMREMGenerator } from './extras/PMREMGenerator.js';
@@ -340,14 +340,15 @@ class AnimationAction {
340
340
  const timeRunning = ( time - startTime ) * timeDirection;
341
341
  if ( timeRunning < 0 || timeDirection === 0 ) {
342
342
 
343
- return; // yet to come / don't decide when delta = 0
343
+ deltaTime = 0;
344
344
 
345
- }
345
+ } else {
346
346
 
347
- // start
348
347
 
349
- this._startTime = null; // unschedule
350
- deltaTime = timeDirection * timeRunning;
348
+ this._startTime = null; // unschedule
349
+ deltaTime = timeDirection * timeRunning;
350
+
351
+ }
351
352
 
352
353
  }
353
354
 
@@ -1,4 +1,4 @@
1
- import { AnimationUtils } from './AnimationUtils.js';
1
+ import * as AnimationUtils from './AnimationUtils.js';
2
2
  import { KeyframeTrack } from './KeyframeTrack.js';
3
3
  import { BooleanKeyframeTrack } from './tracks/BooleanKeyframeTrack.js';
4
4
  import { ColorKeyframeTrack } from './tracks/ColorKeyframeTrack.js';
@@ -7,7 +7,7 @@ import { AnimationClip } from './AnimationClip.js';
7
7
  import { NormalAnimationBlendMode } from '../constants.js';
8
8
 
9
9
 
10
- const _controlInterpolantsResultBuffer = /*@__PURE__*/ new Float32Array( 1 );
10
+ const _controlInterpolantsResultBuffer = new Float32Array( 1 );
11
11
 
12
12
 
13
13
  class AnimationMixer extends EventDispatcher {