Mr.doob há 1 ano atrás
pai
commit
d7b17fd0f4
100 ficheiros alterados com 1414 adições e 305 exclusões
  1. 533 30
      build/three.cjs
  2. 533 30
      build/three.core.js
  3. 0 0
      build/three.core.min.js
  4. 87 71
      build/three.module.js
  5. 0 0
      build/three.module.min.js
  6. 4 0
      build/three.tsl.js
  7. 0 0
      build/three.tsl.min.js
  8. 0 0
      build/three.webgpu.js
  9. 0 0
      build/three.webgpu.min.js
  10. 0 0
      build/three.webgpu.nodes.js
  11. 0 0
      build/three.webgpu.nodes.min.js
  12. 3 0
      docs/api/en/core/Raycaster.html
  13. 6 4
      docs/api/en/extras/PMREMGenerator.html
  14. 1 1
      docs/api/en/geometries/TorusGeometry.html
  15. 3 2
      docs/api/en/materials/MeshDepthMaterial.html
  16. 2 1
      docs/api/en/materials/MeshDistanceMaterial.html
  17. 6 5
      docs/api/en/materials/MeshLambertMaterial.html
  18. 2 1
      docs/api/en/materials/MeshMatcapMaterial.html
  19. 2 1
      docs/api/en/materials/MeshNormalMaterial.html
  20. 6 5
      docs/api/en/materials/MeshPhongMaterial.html
  21. 7 7
      docs/api/en/materials/MeshStandardMaterial.html
  22. 6 5
      docs/api/en/materials/MeshToonMaterial.html
  23. 1 0
      docs/api/en/objects/LOD.html
  24. 5 1
      docs/api/en/renderers/WebGLRenderTarget.html
  25. 10 10
      docs/api/en/textures/VideoFrameTexture.html
  26. 5 3
      docs/api/fr/materials/MeshDepthMaterial.html
  27. 5 3
      docs/api/fr/materials/MeshDistanceMaterial.html
  28. 5 3
      docs/api/fr/materials/MeshLambertMaterial.html
  29. 5 3
      docs/api/fr/materials/MeshMatcapMaterial.html
  30. 5 3
      docs/api/fr/materials/MeshNormalMaterial.html
  31. 5 3
      docs/api/fr/materials/MeshPhongMaterial.html
  32. 5 3
      docs/api/fr/materials/MeshStandardMaterial.html
  33. 1 1
      docs/api/zh/cameras/ArrayCamera.html
  34. 1 1
      docs/api/zh/cameras/Camera.html
  35. 1 1
      docs/api/zh/cameras/OrthographicCamera.html
  36. 1 1
      docs/api/zh/core/InstancedBufferGeometry.html
  37. 1 1
      docs/api/zh/core/InterleavedBufferAttribute.html
  38. 1 1
      docs/api/zh/lights/shadows/DirectionalLightShadow.html
  39. 1 1
      docs/api/zh/lights/shadows/PointLightShadow.html
  40. 1 1
      docs/api/zh/lights/shadows/SpotLightShadow.html
  41. 1 1
      docs/api/zh/loaders/ImageBitmapLoader.html
  42. 1 1
      docs/api/zh/materials/LineBasicMaterial.html
  43. 1 1
      docs/api/zh/materials/Material.html
  44. 1 1
      docs/api/zh/math/Box3.html
  45. 1 1
      docs/api/zh/math/Color.html
  46. 1 1
      docs/api/zh/math/Euler.html
  47. 1 1
      docs/api/zh/math/Plane.html
  48. 1 1
      docs/api/zh/math/Quaternion.html
  49. 1 1
      docs/api/zh/math/Sphere.html
  50. 1 1
      docs/api/zh/math/Vector2.html
  51. 1 1
      docs/api/zh/math/Vector3.html
  52. 1 1
      docs/api/zh/math/Vector4.html
  53. 1 1
      docs/api/zh/objects/Bone.html
  54. 1 1
      docs/api/zh/objects/Group.html
  55. 1 1
      docs/api/zh/objects/LOD.html
  56. 1 1
      docs/api/zh/objects/Line.html
  57. 1 1
      docs/api/zh/objects/LineLoop.html
  58. 1 1
      docs/api/zh/objects/LineSegments.html
  59. 1 1
      docs/api/zh/objects/Mesh.html
  60. 1 1
      docs/api/zh/objects/Points.html
  61. 1 1
      docs/api/zh/objects/SkinnedMesh.html
  62. 1 1
      docs/api/zh/objects/Sprite.html
  63. 9 9
      docs/api/zh/renderers/WebGLRenderTarget.html
  64. 1 1
      docs/api/zh/scenes/Fog.html
  65. 1 1
      docs/api/zh/scenes/FogExp2.html
  66. 1 1
      docs/api/zh/textures/CanvasTexture.html
  67. 1 1
      docs/api/zh/textures/CompressedTexture.html
  68. 4 4
      docs/api/zh/textures/CubeTexture.html
  69. 1 1
      docs/api/zh/textures/DataTexture.html
  70. 1 1
      docs/api/zh/textures/DepthTexture.html
  71. 1 1
      docs/api/zh/textures/Source.html
  72. 3 2
      docs/api/zh/textures/Texture.html
  73. 1 1
      docs/api/zh/textures/VideoTexture.html
  74. 12 1
      docs/examples/en/misc/Timer.html
  75. 5 5
      docs/examples/zh/loaders/MTLLoader.html
  76. 2 2
      docs/examples/zh/postprocessing/EffectComposer.html
  77. 17 21
      docs/examples/zh/utils/SceneUtils.html
  78. 1 0
      docs/manual/ar/introduction/Libraries-and-Plugins.html
  79. 20 1
      docs/manual/en/introduction/How-to-dispose-of-objects.html
  80. 17 0
      docs/manual/en/introduction/Installation.html
  81. 1 0
      docs/manual/en/introduction/Libraries-and-Plugins.html
  82. 1 0
      docs/manual/it/introduction/Libraries-and-Plugins.html
  83. 1 0
      docs/manual/ja/introduction/Libraries-and-Plugins.html
  84. 1 0
      docs/manual/ko/introduction/Libraries-and-Plugins.html
  85. 1 0
      docs/manual/pt-br/introduction/Libraries-and-Plugins.html
  86. 1 0
      docs/manual/ru/introduction/Libraries-and-Plugins.html
  87. 1 0
      docs/manual/zh/introduction/Libraries-and-Plugins.html
  88. 1 1
      editor/js/commands/AddScriptCommand.js
  89. 1 1
      editor/js/commands/RemoveScriptCommand.js
  90. 2 2
      editor/js/commands/SetColorCommand.js
  91. 2 2
      editor/js/commands/SetGeometryValueCommand.js
  92. 3 3
      editor/js/commands/SetMaterialColorCommand.js
  93. 1 1
      editor/js/commands/SetMaterialCommand.js
  94. 2 2
      editor/js/commands/SetMaterialMapCommand.js
  95. 4 4
      editor/js/commands/SetMaterialRangeCommand.js
  96. 3 3
      editor/js/commands/SetMaterialValueCommand.js
  97. 2 2
      editor/js/commands/SetMaterialVectorCommand.js
  98. 3 3
      editor/js/commands/SetScriptValueCommand.js
  99. 2 2
      editor/js/commands/SetShadowValueCommand.js
  100. 1 1
      editor/js/commands/SetValueCommand.js

Diff do ficheiro suprimidas por serem muito extensas
+ 533 - 30
build/three.cjs


Diff do ficheiro suprimidas por serem muito extensas
+ 533 - 30
build/three.core.js


Diff do ficheiro suprimidas por serem muito extensas
+ 0 - 0
build/three.core.min.js


+ 87 - 71
build/three.module.js

@@ -748,7 +748,7 @@ const UniformsLib = {
 
 		envMap: { value: null },
 		envMapRotation: { value: /*@__PURE__*/ new Matrix3() },
-		flipEnvMap: { value: - 1 },
+		flipEnvMap: { value: -1 },
 		reflectivity: { value: 1.0 }, // basic, lambert, phong
 		ior: { value: 1.5 }, // physical
 		refractionRatio: { value: 0.98 }, // basic, lambert, phong
@@ -1169,7 +1169,7 @@ const ShaderLib = {
 
 		uniforms: {
 			envMap: { value: null },
-			flipEnvMap: { value: - 1 },
+			flipEnvMap: { value: -1 },
 			backgroundBlurriness: { value: 0 },
 			backgroundIntensity: { value: 1 },
 			backgroundRotation: { value: /*@__PURE__*/ new Matrix3() }
@@ -1184,7 +1184,7 @@ const ShaderLib = {
 
 		uniforms: {
 			tCube: { value: null },
-			tFlip: { value: - 1 },
+			tFlip: { value: -1 },
 			opacity: { value: 1.0 }
 		},
 
@@ -1418,18 +1418,18 @@ function WebGLBackground( renderer, cubemaps, cubeuvmaps, state, objects, alpha,
 			_e1$1.copy( scene.backgroundRotation );
 
 			// accommodate left-handed frame
-			_e1$1.x *= - 1; _e1$1.y *= - 1; _e1$1.z *= - 1;
+			_e1$1.x *= -1; _e1$1.y *= -1; _e1$1.z *= -1;
 
 			if ( background.isCubeTexture && background.isRenderTargetTexture === false ) {
 
 				// environment maps which are not cube render targets or PMREMs follow a different convention
-				_e1$1.y *= - 1;
-				_e1$1.z *= - 1;
+				_e1$1.y *= -1;
+				_e1$1.z *= -1;
 
 			}
 
 			boxMesh.material.uniforms.envMap.value = background;
-			boxMesh.material.uniforms.flipEnvMap.value = ( background.isCubeTexture && background.isRenderTargetTexture === false ) ? - 1 : 1;
+			boxMesh.material.uniforms.flipEnvMap.value = ( background.isCubeTexture && background.isRenderTargetTexture === false ) ? -1 : 1;
 			boxMesh.material.uniforms.backgroundBlurriness.value = scene.backgroundBlurriness;
 			boxMesh.material.uniforms.backgroundIntensity.value = scene.backgroundIntensity;
 			boxMesh.material.uniforms.backgroundRotation.value.setFromMatrix4( _m1$1.makeRotationFromEuler( _e1$1 ) );
@@ -2693,11 +2693,13 @@ const _axisDirections = [
 	/*@__PURE__*/ new Vector3( INV_PHI, 0, PHI ),
 	/*@__PURE__*/ new Vector3( 0, PHI, - INV_PHI ),
 	/*@__PURE__*/ new Vector3( 0, PHI, INV_PHI ),
-	/*@__PURE__*/ new Vector3( - 1, 1, - 1 ),
-	/*@__PURE__*/ new Vector3( 1, 1, - 1 ),
-	/*@__PURE__*/ new Vector3( - 1, 1, 1 ),
+	/*@__PURE__*/ new Vector3( -1, 1, -1 ),
+	/*@__PURE__*/ new Vector3( 1, 1, -1 ),
+	/*@__PURE__*/ new Vector3( -1, 1, 1 ),
 	/*@__PURE__*/ new Vector3( 1, 1, 1 ) ];
 
+const _origin = /*@__PURE__*/ new Vector3();
+
 /**
  * This class generates a Prefiltered, Mipmapped Radiance Environment Map
  * (PMREM) from a cubeMap environment texture. This allows different levels of
@@ -2738,16 +2740,21 @@ class PMREMGenerator {
 	 * Generates a PMREM from a supplied Scene, which can be faster than using an
 	 * image if networking bandwidth is low. Optional sigma specifies a blur radius
 	 * in radians to be applied to the scene before PMREM generation. Optional near
-	 * and far planes ensure the scene is rendered in its entirety (the cubeCamera
-	 * is placed at the origin).
+	 * and far planes ensure the scene is rendered in its entirety.
 	 *
 	 * @param {Scene} scene
 	 * @param {number} sigma
 	 * @param {number} near
 	 * @param {number} far
+	 * @param {Object} [options={}]
 	 * @return {WebGLRenderTarget}
 	 */
-	fromScene( scene, sigma = 0, near = 0.1, far = 100 ) {
+	fromScene( scene, sigma = 0, near = 0.1, far = 100, options = {} ) {
+
+		const {
+			size = 256,
+			position = _origin,
+		} = options;
 
 		_oldTarget = this._renderer.getRenderTarget();
 		_oldActiveCubeFace = this._renderer.getActiveCubeFace();
@@ -2756,12 +2763,12 @@ class PMREMGenerator {
 
 		this._renderer.xr.enabled = false;
 
-		this._setSize( 256 );
+		this._setSize( size );
 
 		const cubeUVRenderTarget = this._allocateTargets();
 		cubeUVRenderTarget.depthBuffer = true;
 
-		this._sceneToCubeUV( scene, near, far, cubeUVRenderTarget );
+		this._sceneToCubeUV( scene, near, far, cubeUVRenderTarget, position );
 
 		if ( sigma > 0 ) {
 
@@ -2783,7 +2790,7 @@ class PMREMGenerator {
 	 * The smallest supported equirectangular image size is 64 x 32.
 	 *
 	 * @param {Texture} equirectangular
-	 * @param {WebGLRenderTarget} [renderTarget=null] - Optional render target.
+	 * @param {?WebGLRenderTarget} [renderTarget=null] - Optional render target.
 	 * @return {WebGLRenderTarget}
 	 */
 	fromEquirectangular( equirectangular, renderTarget = null ) {
@@ -2958,13 +2965,13 @@ class PMREMGenerator {
 
 	}
 
-	_sceneToCubeUV( scene, near, far, cubeUVRenderTarget ) {
+	_sceneToCubeUV( scene, near, far, cubeUVRenderTarget, position ) {
 
 		const fov = 90;
 		const aspect = 1;
 		const cubeCamera = new PerspectiveCamera( fov, aspect, near, far );
-		const upSign = [ 1, - 1, 1, 1, 1, 1 ];
-		const forwardSign = [ 1, 1, 1, - 1, - 1, - 1 ];
+		const upSign = [ 1, -1, 1, 1, 1, 1 ];
+		const forwardSign = [ 1, 1, 1, -1, -1, -1 ];
 		const renderer = this._renderer;
 
 		const originalAutoClear = renderer.autoClear;
@@ -3010,17 +3017,21 @@ class PMREMGenerator {
 			if ( col === 0 ) {
 
 				cubeCamera.up.set( 0, upSign[ i ], 0 );
-				cubeCamera.lookAt( forwardSign[ i ], 0, 0 );
+				cubeCamera.position.set( position.x, position.y, position.z );
+				cubeCamera.lookAt( position.x + forwardSign[ i ], position.y, position.z );
 
 			} else if ( col === 1 ) {
 
 				cubeCamera.up.set( 0, 0, upSign[ i ] );
-				cubeCamera.lookAt( 0, forwardSign[ i ], 0 );
+				cubeCamera.position.set( position.x, position.y, position.z );
+				cubeCamera.lookAt( position.x, position.y + forwardSign[ i ], position.z );
+
 
 			} else {
 
 				cubeCamera.up.set( 0, upSign[ i ], 0 );
-				cubeCamera.lookAt( 0, 0, forwardSign[ i ] );
+				cubeCamera.position.set( position.x, position.y, position.z );
+				cubeCamera.lookAt( position.x, position.y, position.z + forwardSign[ i ] );
 
 			}
 
@@ -3063,7 +3074,7 @@ class PMREMGenerator {
 
 			}
 
-			this._cubemapMaterial.uniforms.flipEnvMap.value = ( texture.isRenderTargetTexture === false ) ? - 1 : 1;
+			this._cubemapMaterial.uniforms.flipEnvMap.value = ( texture.isRenderTargetTexture === false ) ? -1 : 1;
 
 		} else {
 
@@ -3282,7 +3293,7 @@ function _createPlanes( lodMax ) {
 		for ( let face = 0; face < cubeFaces; face ++ ) {
 
 			const x = ( face % 3 ) * 2 / 3 - 1;
-			const y = face > 2 ? 0 : - 1;
+			const y = face > 2 ? 0 : -1;
 			const coordinates = [
 				x, y, 0,
 				x + 2 / 3, y, 0,
@@ -3481,7 +3492,7 @@ function _getCubemapMaterial() {
 
 		uniforms: {
 			'envMap': { value: null },
-			'flipEnvMap': { value: - 1 }
+			'flipEnvMap': { value: -1 }
 		},
 
 		vertexShader: _getCommonVertexShader(),
@@ -7851,18 +7862,18 @@ function WebGLLights( extensions ) {
 		version: 0,
 
 		hash: {
-			directionalLength: - 1,
-			pointLength: - 1,
-			spotLength: - 1,
-			rectAreaLength: - 1,
-			hemiLength: - 1,
-
-			numDirectionalShadows: - 1,
-			numPointShadows: - 1,
-			numSpotShadows: - 1,
-			numSpotMaps: - 1,
-
-			numLightProbes: - 1
+			directionalLength: -1,
+			pointLength: -1,
+			spotLength: -1,
+			rectAreaLength: -1,
+			hemiLength: -1,
+
+			numDirectionalShadows: -1,
+			numPointShadows: -1,
+			numSpotShadows: -1,
+			numSpotMaps: -1,
+
+			numLightProbes: -1
 		},
 
 		ambient: [ 0, 0, 0 ],
@@ -8403,7 +8414,7 @@ function WebGLShadowMap( renderer, objects, capabilities ) {
 	fullScreenTri.setAttribute(
 		'position',
 		new BufferAttribute(
-			new Float32Array( [ - 1, - 1, 0.5, 3, - 1, 0.5, - 1, 3, 0.5 ] ),
+			new Float32Array( [ -1, -1, 0.5, 3, -1, 0.5, -1, 3, 0.5 ] ),
 			3
 		)
 	);
@@ -8836,7 +8847,7 @@ function WebGLState( gl, extensions ) {
 				locked = false;
 
 				currentColorMask = null;
-				currentColorClear.set( - 1, 0, 0, 0 ); // set to invalid state
+				currentColorClear.set( -1, 0, 0, 0 ); // set to invalid state
 
 			}
 
@@ -9165,12 +9176,12 @@ function WebGLState( gl, extensions ) {
 	let version = 0;
 	const glVersion = gl.getParameter( gl.VERSION );
 
-	if ( glVersion.indexOf( 'WebGL' ) !== - 1 ) {
+	if ( glVersion.indexOf( 'WebGL' ) !== -1 ) {
 
 		version = parseFloat( /^WebGL (\d)/.exec( glVersion )[ 1 ] );
 		lineWidthAvailable = ( version >= 1.0 );
 
-	} else if ( glVersion.indexOf( 'OpenGL ES' ) !== - 1 ) {
+	} else if ( glVersion.indexOf( 'OpenGL ES' ) !== -1 ) {
 
 		version = parseFloat( /^OpenGL ES (\d)/.exec( glVersion )[ 1 ] );
 		lineWidthAvailable = ( version >= 2.0 );
@@ -9749,7 +9760,7 @@ function WebGLState( gl, extensions ) {
 
 		try {
 
-			gl.compressedTexImage2D.apply( gl, arguments );
+			gl.compressedTexImage2D( ...arguments );
 
 		} catch ( error ) {
 
@@ -9763,7 +9774,7 @@ function WebGLState( gl, extensions ) {
 
 		try {
 
-			gl.compressedTexImage3D.apply( gl, arguments );
+			gl.compressedTexImage3D( ...arguments );
 
 		} catch ( error ) {
 
@@ -9777,7 +9788,7 @@ function WebGLState( gl, extensions ) {
 
 		try {
 
-			gl.texSubImage2D.apply( gl, arguments );
+			gl.texSubImage2D( ...arguments );
 
 		} catch ( error ) {
 
@@ -9791,7 +9802,7 @@ function WebGLState( gl, extensions ) {
 
 		try {
 
-			gl.texSubImage3D.apply( gl, arguments );
+			gl.texSubImage3D( ...arguments );
 
 		} catch ( error ) {
 
@@ -9805,7 +9816,7 @@ function WebGLState( gl, extensions ) {
 
 		try {
 
-			gl.compressedTexSubImage2D.apply( gl, arguments );
+			gl.compressedTexSubImage2D( ...arguments );
 
 		} catch ( error ) {
 
@@ -9819,7 +9830,7 @@ function WebGLState( gl, extensions ) {
 
 		try {
 
-			gl.compressedTexSubImage3D.apply( gl, arguments );
+			gl.compressedTexSubImage3D( ...arguments );
 
 		} catch ( error ) {
 
@@ -9833,7 +9844,7 @@ function WebGLState( gl, extensions ) {
 
 		try {
 
-			gl.texStorage2D.apply( gl, arguments );
+			gl.texStorage2D( ...arguments );
 
 		} catch ( error ) {
 
@@ -9847,7 +9858,7 @@ function WebGLState( gl, extensions ) {
 
 		try {
 
-			gl.texStorage3D.apply( gl, arguments );
+			gl.texStorage3D( ...arguments );
 
 		} catch ( error ) {
 
@@ -9861,7 +9872,7 @@ function WebGLState( gl, extensions ) {
 
 		try {
 
-			gl.texImage2D.apply( gl, arguments );
+			gl.texImage2D( ...arguments );
 
 		} catch ( error ) {
 
@@ -9875,7 +9886,7 @@ function WebGLState( gl, extensions ) {
 
 		try {
 
-			gl.texImage3D.apply( gl, arguments );
+			gl.texImage3D( ...arguments );
 
 		} catch ( error ) {
 
@@ -12697,7 +12708,7 @@ class WebXRManager extends EventDispatcher {
 
 			const controllerIndex = controllerInputSources.indexOf( event.inputSource );
 
-			if ( controllerIndex === - 1 ) {
+			if ( controllerIndex === -1 ) {
 
 				return;
 
@@ -12879,7 +12890,10 @@ class WebXRManager extends EventDispatcher {
 							format: RGBAFormat,
 							type: UnsignedByteType,
 							colorSpace: renderer.outputColorSpace,
-							stencilBuffer: attributes.stencil
+							stencilBuffer: attributes.stencil,
+							resolveDepthBuffer: ( glBaseLayer.ignoreDepthValues === false ),
+							resolveStencilBuffer: ( glBaseLayer.ignoreDepthValues === false )
+
 						}
 					);
 
@@ -12922,7 +12936,8 @@ class WebXRManager extends EventDispatcher {
 							stencilBuffer: attributes.stencil,
 							colorSpace: renderer.outputColorSpace,
 							samples: attributes.antialias ? 4 : 0,
-							resolveDepthBuffer: ( glProjLayer.ignoreDepthValues === false )
+							resolveDepthBuffer: ( glProjLayer.ignoreDepthValues === false ),
+							resolveStencilBuffer: ( glProjLayer.ignoreDepthValues === false )
 						} );
 
 				}
@@ -12987,7 +13002,7 @@ class WebXRManager extends EventDispatcher {
 
 				let controllerIndex = controllerInputSources.indexOf( inputSource );
 
-				if ( controllerIndex === - 1 ) {
+				if ( controllerIndex === -1 ) {
 
 					// Assign input source a controller that currently has no input source
 
@@ -13011,7 +13026,7 @@ class WebXRManager extends EventDispatcher {
 
 					// If all controllers do currently receive input we ignore new ones
 
-					if ( controllerIndex === - 1 ) break;
+					if ( controllerIndex === -1 ) break;
 
 				}
 
@@ -13078,7 +13093,7 @@ class WebXRManager extends EventDispatcher {
 			camera.matrixWorldInverse.copy( camera.matrixWorld ).invert();
 
 			// Check if the projection uses an infinite far plane.
-			if ( projL[ 10 ] === - 1.0 ) {
+			if ( projL[ 10 ] === -1 ) {
 
 				// Use the projection matrix from the left eye.
 				// The camera offset is sufficient to include the view volumes
@@ -13579,7 +13594,7 @@ function WebGLMaterials( renderer, properties ) {
 
 			if ( material.side === BackSide ) {
 
-				uniforms.bumpScale.value *= - 1;
+				uniforms.bumpScale.value *= -1;
 
 			}
 
@@ -13646,19 +13661,19 @@ function WebGLMaterials( renderer, properties ) {
 			_e1.copy( envMapRotation );
 
 			// accommodate left-handed frame
-			_e1.x *= - 1; _e1.y *= - 1; _e1.z *= - 1;
+			_e1.x *= -1; _e1.y *= -1; _e1.z *= -1;
 
 			if ( envMap.isCubeTexture && envMap.isRenderTargetTexture === false ) {
 
 				// environment maps which are not cube render targets or PMREMs follow a different convention
-				_e1.y *= - 1;
-				_e1.z *= - 1;
+				_e1.y *= -1;
+				_e1.z *= -1;
 
 			}
 
 			uniforms.envMapRotation.value.setFromMatrix4( _m1.makeRotationFromEuler( _e1 ) );
 
-			uniforms.flipEnvMap.value = ( envMap.isCubeTexture && envMap.isRenderTargetTexture === false ) ? - 1 : 1;
+			uniforms.flipEnvMap.value = ( envMap.isCubeTexture && envMap.isRenderTargetTexture === false ) ? -1 : 1;
 
 			uniforms.reflectivity.value = material.reflectivity;
 			uniforms.ior.value = material.ior;
@@ -14081,7 +14096,7 @@ function WebGLUniformsGroups( gl, info, capabilities, state ) {
 
 		for ( let i = 0; i < maxBindingPoints; i ++ ) {
 
-			if ( allocatedBindingPoints.indexOf( i ) === - 1 ) {
+			if ( allocatedBindingPoints.indexOf( i ) === -1 ) {
 
 				allocatedBindingPoints.push( i );
 				return i;
@@ -14503,7 +14518,7 @@ class WebGLRenderer {
 		let _currentActiveCubeFace = 0;
 		let _currentActiveMipmapLevel = 0;
 		let _currentRenderTarget = null;
-		let _currentMaterialId = - 1;
+		let _currentMaterialId = -1;
 
 		let _currentCamera = null;
 
@@ -14865,7 +14880,7 @@ class WebGLRenderer {
 
 		this.setClearColor = function () {
 
-			background.setClearColor.apply( background, arguments );
+			background.setClearColor( ...arguments );
 
 		};
 
@@ -14877,7 +14892,7 @@ class WebGLRenderer {
 
 		this.setClearAlpha = function () {
 
-			background.setClearAlpha.apply( background, arguments );
+			background.setClearAlpha( ...arguments );
 
 		};
 
@@ -15213,6 +15228,8 @@ class WebGLRenderer {
 
 				if ( object._multiDrawInstances !== null ) {
 
+					// @deprecated, r174
+					warnOnce( 'THREE.WebGLRenderer: renderMultiDrawInstances has been deprecated and will be removed in r184. Append to renderMultiDraw arguments and use indirection.' );
 					renderer.renderMultiDrawInstances( object._multiDrawStarts, object._multiDrawCounts, object._multiDrawCount, object._multiDrawInstances );
 
 				} else {
@@ -15369,8 +15386,7 @@ class WebGLRenderer {
 
 			} );
 
-			renderStateStack.pop();
-			currentRenderState = null;
+			currentRenderState = renderStateStack.pop();
 
 			return materials;
 
@@ -15634,7 +15650,7 @@ class WebGLRenderer {
 			// _gl.finish();
 
 			bindingStates.resetDefaultState();
-			_currentMaterialId = - 1;
+			_currentMaterialId = -1;
 			_currentCamera = null;
 
 			renderStateStack.pop();
@@ -16450,7 +16466,7 @@ class WebGLRenderer {
 
 				m_uniforms.envMap.value = envMap;
 
-				m_uniforms.flipEnvMap.value = ( envMap.isCubeTexture && envMap.isRenderTargetTexture === false ) ? - 1 : 1;
+				m_uniforms.flipEnvMap.value = ( envMap.isCubeTexture && envMap.isRenderTargetTexture === false ) ? -1 : 1;
 
 			}
 
@@ -16759,7 +16775,7 @@ class WebGLRenderer {
 
 			}
 
-			_currentMaterialId = - 1; // reset current material to ensure correct uniform bindings
+			_currentMaterialId = -1; // reset current material to ensure correct uniform bindings
 
 		};
 

Diff do ficheiro suprimidas por serem muito extensas
+ 0 - 0
build/three.module.min.js


Diff do ficheiro suprimidas por serem muito extensas
+ 4 - 0
build/three.tsl.js


Diff do ficheiro suprimidas por serem muito extensas
+ 0 - 0
build/three.tsl.min.js


Diff do ficheiro suprimidas por serem muito extensas
+ 0 - 0
build/three.webgpu.js


Diff do ficheiro suprimidas por serem muito extensas
+ 0 - 0
build/three.webgpu.min.js


Diff do ficheiro suprimidas por serem muito extensas
+ 0 - 0
build/three.webgpu.nodes.js


Diff do ficheiro suprimidas por serem muito extensas
+ 0 - 0
build/three.webgpu.nodes.min.js


+ 3 - 0
docs/api/en/core/Raycaster.html

@@ -185,6 +185,9 @@ object.layers.enable( 1 );
 		<p>
 			[page:Float distance] – distance between the origin of the ray and the
 			intersection<br />
+			[page:Float distanceToRay] – Some objects (f.e. [page:Points Points]) provide
+			the distance of the intersection to the nearest point on the ray. For other
+			objects it will be `undefined`<br />
 			[page:Vector3 point] – point of intersection, in world coordinates<br />
 			[page:Object face] – intersected face<br />
 			[page:Integer faceIndex] – index of the intersected face<br />

+ 6 - 4
docs/api/en/extras/PMREMGenerator.html

@@ -68,19 +68,21 @@
 		<h2>Methods</h2>
 
 		<h3>
-			[method:WebGLRenderTarget fromScene]( [param:Scene scene], [param:Number sigma], [param:Number near], [param:Number far] )
+			[method:WebGLRenderTarget fromScene]( [param:Scene scene], [param:Number sigma], [param:Number near], [param:Number far], [param:Object options] )
 		</h3>
 		<p>
 			[page:Scene scene] - The given scene.<br />
 			[page:Number sigma] - (optional) Specifies a blur radius in radians to be
 			applied to the scene before PMREM generation. Default is `0`.<br />
 			[page:Number near] - (optional) The near plane value. Default is `0.1`.<br />
-			[page:Number far] - (optional) The far plane value. Default is `100`.<br /><br />
+			[page:Number far] - (optional) The far plane value. Default is `100`.<br />
+			[page:Object options] - (optional) The configuration options. It allows to define
+			the `size` of the PMREM as a number well as the `position` of the internal cube camera as
+			an instance of `Vector3`.<br /><br />
 
 			Generates a PMREM from a supplied Scene, which can be faster than using an
 			image if networking bandwidth is low. Optional near and far planes ensure
-			the scene is rendered in its entirety (the cubeCamera is placed at the
-			origin).
+			the scene is rendered in its entirety.
 		</p>
 
 		<h3>

+ 1 - 1
docs/api/en/geometries/TorusGeometry.html

@@ -49,7 +49,7 @@ const torus = new THREE.Mesh( geometry, material ); scene.add( torus );
 		<p>
 			radius - Radius of the torus, from the center of the torus to the center
 			of the tube. Default is `1`. <br />
-			tube — Radius of the tube. Default is `0.4`. <br />
+			tube — Radius of the tube. Must be smaller than `radius`. Default is `0.4`. <br />
 			radialSegments — Default is `12` <br />
 			tubularSegments — Default is `48`. <br />
 			arc — Central angle. Default is Math.PI * 2.

+ 3 - 2
docs/api/en/materials/MeshDepthMaterial.html

@@ -87,13 +87,14 @@
 		<h3>[property:Float displacementBias]</h3>
 		<p>
 			The offset of the displacement map's values on the mesh's vertices.
+			The bias is added to the scaled sample of the displacement map.
 			Without a displacement map set, this value is not applied. Default is `0`.
 		</p>
 
 		<h3>[property:Texture map]</h3>
 		<p>
 			The color map. May optionally include an alpha channel, typically combined
-			with [page:Material.transparent .transparent] or [page:Material.alphaTest .alphaTest]. 
+			with [page:Material.transparent .transparent] or [page:Material.alphaTest .alphaTest].
 			Default is null.
 		</p>
 
@@ -108,7 +109,7 @@
 			Controls wireframe thickness. Default is `1`.<br /><br />
 
 			Due to limitations of the
-			[link:https://www.khronos.org/registry/OpenGL/specs/gl/glspec46.core.pdf OpenGL Core Profile] 
+			[link:https://www.khronos.org/registry/OpenGL/specs/gl/glspec46.core.pdf OpenGL Core Profile]
 			with the [page:WebGLRenderer WebGL] renderer on most platforms linewidth will always be `1` regardless of the set value.
 		</p>
 

+ 2 - 1
docs/api/en/materials/MeshDistanceMaterial.html

@@ -88,13 +88,14 @@
 		<h3>[property:Float displacementBias]</h3>
 		<p>
 			The offset of the displacement map's values on the mesh's vertices.
+			The bias is added to the scaled sample of the displacement map.
 			Without a displacement map set, this value is not applied. Default is `0`.
 		</p>
 
 		<h3>[property:Texture map]</h3>
 		<p>
 			The color map. May optionally include an alpha channel, typically combined
-			with [page:Material.transparent .transparent] or [page:Material.alphaTest .alphaTest]. 
+			with [page:Material.transparent .transparent] or [page:Material.alphaTest .alphaTest].
 			Default is null.
 		</p>
 

+ 6 - 5
docs/api/en/materials/MeshLambertMaterial.html

@@ -141,6 +141,7 @@
 		<h3>[property:Float displacementBias]</h3>
 		<p>
 			The offset of the displacement map's values on the mesh's vertices.
+			The bias is added to the scaled sample of the displacement map.
 			Without a displacement map set, this value is not applied. Default is `0`.
 		</p>
 
@@ -192,7 +193,7 @@
 		<h3>[property:Texture map]</h3>
 		<p>
 			The color map. May optionally include an alpha channel, typically combined
-			with [page:Material.transparent .transparent] or [page:Material.alphaTest .alphaTest]. 
+			with [page:Material.transparent .transparent] or [page:Material.alphaTest .alphaTest].
 			Default is null.
 		</p>
 
@@ -230,7 +231,7 @@
 		<p>
 			The index of refraction (IOR) of air (approximately 1) divided by the
 			index of refraction of the material. It is used with environment mapping
-			modes [page:Textures THREE.CubeRefractionMapping] and [page:Textures THREE.EquirectangularRefractionMapping]. 
+			modes [page:Textures THREE.CubeRefractionMapping] and [page:Textures THREE.EquirectangularRefractionMapping].
 			The refraction ratio should not
 			exceed `1`. Default is `0.98`.
 		</p>
@@ -250,7 +251,7 @@
 			"square". Default is 'round'.<br /><br />
 
 			This corresponds to the
-			[link:https://developer.mozilla.org/en/docs/Web/API/CanvasRenderingContext2D/lineCap 2D Canvas lineCap] 
+			[link:https://developer.mozilla.org/en/docs/Web/API/CanvasRenderingContext2D/lineCap 2D Canvas lineCap]
 			property and it is ignored by the [page:WebGLRenderer WebGL] renderer.
 		</p>
 
@@ -260,7 +261,7 @@
 			"miter". Default is 'round'.<br /><br />
 
 			This corresponds to the
-			[link:https://developer.mozilla.org/en/docs/Web/API/CanvasRenderingContext2D/lineJoin 2D Canvas lineJoin] 
+			[link:https://developer.mozilla.org/en/docs/Web/API/CanvasRenderingContext2D/lineJoin 2D Canvas lineJoin]
 			property and it is ignored by the [page:WebGLRenderer WebGL] renderer.
 		</p>
 
@@ -269,7 +270,7 @@
 			Controls wireframe thickness. Default is `1`.<br /><br />
 
 			Due to limitations of the
-			[link:https://www.khronos.org/registry/OpenGL/specs/gl/glspec46.core.pdf OpenGL Core Profile] 
+			[link:https://www.khronos.org/registry/OpenGL/specs/gl/glspec46.core.pdf OpenGL Core Profile]
 			with the [page:WebGLRenderer WebGL] renderer on most
 			platforms linewidth will always be `1` regardless of the set value.
 		</p>

+ 2 - 1
docs/api/en/materials/MeshMatcapMaterial.html

@@ -109,6 +109,7 @@
 		<h3>[property:Float displacementBias]</h3>
 		<p>
 			The offset of the displacement map's values on the mesh's vertices.
+			The bias is added to the scaled sample of the displacement map.
 			Without a displacement map set, this value is not applied. Default is `0`.
 		</p>
 
@@ -124,7 +125,7 @@
 		<h3>[property:Texture map]</h3>
 		<p>
 			The color map. May optionally include an alpha channel, typically combined
-			with [page:Material.transparent .transparent] or [page:Material.alphaTest .alphaTest]. 
+			with [page:Material.transparent .transparent] or [page:Material.alphaTest .alphaTest].
 			Default is null. The texture map color is modulated by the
 			diffuse [page:.color].
 		</p>

+ 2 - 1
docs/api/en/materials/MeshNormalMaterial.html

@@ -81,6 +81,7 @@
 		<h3>[property:Float displacementBias]</h3>
 		<p>
 			The offset of the displacement map's values on the mesh's vertices.
+			The bias is added to the scaled sample of the displacement map.
 			Without a displacement map set, this value is not applied. Default is `0`.
 		</p>
 
@@ -125,7 +126,7 @@
 			Controls wireframe thickness. Default is `1`.<br /><br />
 
 			Due to limitations of the
-			[link:https://www.khronos.org/registry/OpenGL/specs/gl/glspec46.core.pdf OpenGL Core Profile] 
+			[link:https://www.khronos.org/registry/OpenGL/specs/gl/glspec46.core.pdf OpenGL Core Profile]
 			with the [page:WebGLRenderer WebGL] renderer on most
 			platforms linewidth will always be `1` regardless of the set value.
 		</p>

+ 6 - 5
docs/api/en/materials/MeshPhongMaterial.html

@@ -139,6 +139,7 @@
 		<h3>[property:Float displacementBias]</h3>
 		<p>
 			The offset of the displacement map's values on the mesh's vertices.
+			The bias is added to the scaled sample of the displacement map.
 			Without a displacement map set, this value is not applied. Default is `0`.
 		</p>
 
@@ -190,7 +191,7 @@
 		<h3>[property:Texture map]</h3>
 		<p>
 			The color map. May optionally include an alpha channel, typically combined
-			with [page:Material.transparent .transparent] or [page:Material.alphaTest .alphaTest]. 
+			with [page:Material.transparent .transparent] or [page:Material.alphaTest .alphaTest].
 			Default is null. The texture map color is modulated by the
 			diffuse [page:.color].
 		</p>
@@ -230,7 +231,7 @@
 		<p>
 			The index of refraction (IOR) of air (approximately 1) divided by the
 			index of refraction of the material. It is used with environment mapping
-			modes [page:Textures THREE.CubeRefractionMapping] and [page:Textures THREE.EquirectangularRefractionMapping]. 
+			modes [page:Textures THREE.CubeRefractionMapping] and [page:Textures THREE.EquirectangularRefractionMapping].
 			The refraction ratio should not exceed `1`. Default is `0.98`.
 		</p>
 
@@ -267,7 +268,7 @@
 			"square". Default is 'round'.<br /><br />
 
 			This corresponds to the
-			[link:https://developer.mozilla.org/en/docs/Web/API/CanvasRenderingContext2D/lineCap 2D Canvas lineCap] 
+			[link:https://developer.mozilla.org/en/docs/Web/API/CanvasRenderingContext2D/lineCap 2D Canvas lineCap]
 			property and it is ignored by the [page:WebGLRenderer WebGL] renderer.
 		</p>
 
@@ -277,7 +278,7 @@
 			"miter". Default is 'round'.<br /><br />
 
 			This corresponds to the
-			[link:https://developer.mozilla.org/en/docs/Web/API/CanvasRenderingContext2D/lineJoin 2D Canvas lineJoin] 
+			[link:https://developer.mozilla.org/en/docs/Web/API/CanvasRenderingContext2D/lineJoin 2D Canvas lineJoin]
 			property and it is ignored by the [page:WebGLRenderer WebGL] renderer.
 		</p>
 
@@ -286,7 +287,7 @@
 			Controls wireframe thickness. Default is `1`.<br /><br />
 
 			Due to limitations of the
-			[link:https://www.khronos.org/registry/OpenGL/specs/gl/glspec46.core.pdf OpenGL Core Profile] 
+			[link:https://www.khronos.org/registry/OpenGL/specs/gl/glspec46.core.pdf OpenGL Core Profile]
 			with the [page:WebGLRenderer WebGL] renderer on most
 			platforms linewidth will always be `1` regardless of the set value.
 		</p>

+ 7 - 7
docs/api/en/materials/MeshStandardMaterial.html

@@ -32,7 +32,7 @@
 			being somewhat more computationally expensive. [name] uses per-fragment
 			shading.<br /><br />
 
-			Note that for best results you should always specify an [page:.envMap environment map] 
+			Note that for best results you should always specify an [page:.envMap environment map]
 			when using this material.<br /><br />
 
 			For a non-technical introduction to the concept of PBR and how to set up a
@@ -50,7 +50,7 @@
 		<p>
 			Technical details of the approach used in three.js (and most other PBR
 			systems) can be found is this
-			[link:https://media.disneyanimation.com/uploads/production/publication_asset/48/asset/s2012_pbs_disney_brdf_notes_v3.pdf paper from Disney] 
+			[link:https://media.disneyanimation.com/uploads/production/publication_asset/48/asset/s2012_pbs_disney_brdf_notes_v3.pdf paper from Disney]
 			(pdf), by Brent Burley.
 		</p>
 
@@ -165,9 +165,9 @@
 		<h3>[property:Float displacementBias]</h3>
 		<p>
 			The offset of the displacement map's values on the mesh's vertices.
+			The bias is added to the scaled sample of the displacement map.
 			Without a displacement map set, this value is not applied. Default is `0`.
 		</p>
-
 		<h3>[property:Color emissive]</h3>
 		<p>
 			Emissive (light) color of the material, essentially a solid color
@@ -226,7 +226,7 @@
 		<h3>[property:Texture map]</h3>
 		<p>
 			The color map. May optionally include an alpha channel, typically combined
-			with [page:Material.transparent .transparent] or [page:Material.alphaTest .alphaTest]. 
+			with [page:Material.transparent .transparent] or [page:Material.alphaTest .alphaTest].
 			Default is null. The texture map color is modulated by the diffuse [page:.color].
 		</p>
 
@@ -293,7 +293,7 @@
 			"square". Default is 'round'.<br /><br />
 
 			This corresponds to the
-			[link:https://developer.mozilla.org/en/docs/Web/API/CanvasRenderingContext2D/lineCap 2D Canvas lineCap] 
+			[link:https://developer.mozilla.org/en/docs/Web/API/CanvasRenderingContext2D/lineCap 2D Canvas lineCap]
 			property and it is ignored by the [page:WebGLRenderer WebGL] renderer.
 		</p>
 
@@ -303,7 +303,7 @@
 			"miter". Default is 'round'.<br /><br />
 
 			This corresponds to the
-			[link:https://developer.mozilla.org/en/docs/Web/API/CanvasRenderingContext2D/lineJoin 2D Canvas lineJoin] 
+			[link:https://developer.mozilla.org/en/docs/Web/API/CanvasRenderingContext2D/lineJoin 2D Canvas lineJoin]
 			property and it is ignored by the [page:WebGLRenderer WebGL] renderer.
 		</p>
 
@@ -312,7 +312,7 @@
 			Controls wireframe thickness. Default is `1`.<br /><br />
 
 			Due to limitations of the
-			[link:https://www.khronos.org/registry/OpenGL/specs/gl/glspec46.core.pdf OpenGL Core Profile] 
+			[link:https://www.khronos.org/registry/OpenGL/specs/gl/glspec46.core.pdf OpenGL Core Profile]
 			with the [page:WebGLRenderer WebGL] renderer on most
 			platforms linewidth will always be `1` regardless of the set value.
 		</p>

+ 6 - 5
docs/api/en/materials/MeshToonMaterial.html

@@ -121,6 +121,7 @@
 		<h3>[property:Float displacementBias]</h3>
 		<p>
 			The offset of the displacement map's values on the mesh's vertices.
+			The bias is added to the scaled sample of the displacement map.
 			Without a displacement map set, this value is not applied. Default is `0`.
 		</p>
 
@@ -150,7 +151,7 @@
 		<h3>[property:Texture gradientMap]</h3>
 		<p>
 			Gradient map for toon shading. It's required to set
-			[page:Texture.minFilter] and [page:Texture.magFilter] to [page:Textures THREE.NearestFilter] 
+			[page:Texture.minFilter] and [page:Texture.magFilter] to [page:Textures THREE.NearestFilter]
 			when using this type of texture. Default is `null`.
 		</p>
 
@@ -165,7 +166,7 @@
 		<h3>[property:Texture map]</h3>
 		<p>
 			The color map. May optionally include an alpha channel, typically combined
-			with [page:Material.transparent .transparent] or [page:Material.alphaTest .alphaTest]. 
+			with [page:Material.transparent .transparent] or [page:Material.alphaTest .alphaTest].
 			Default is null. The texture map color is modulated by the diffuse [page:.color].
 		</p>
 
@@ -205,7 +206,7 @@
 			"square". Default is 'round'.<br /><br />
 
 			This corresponds to the
-			[link:https://developer.mozilla.org/en/docs/Web/API/CanvasRenderingContext2D/lineCap 2D Canvas lineCap] 
+			[link:https://developer.mozilla.org/en/docs/Web/API/CanvasRenderingContext2D/lineCap 2D Canvas lineCap]
 			property and it is ignored by the [page:WebGLRenderer WebGL] renderer.
 		</p>
 
@@ -215,7 +216,7 @@
 			"miter". Default is 'round'.<br /><br />
 
 			This corresponds to the
-			[link:https://developer.mozilla.org/en/docs/Web/API/CanvasRenderingContext2D/lineJoin 2D Canvas lineJoin] 
+			[link:https://developer.mozilla.org/en/docs/Web/API/CanvasRenderingContext2D/lineJoin 2D Canvas lineJoin]
 			property and it is ignored by the [page:WebGLRenderer WebGL] renderer.
 		</p>
 
@@ -224,7 +225,7 @@
 			Controls wireframe thickness. Default is `1`.<br /><br />
 
 			Due to limitations of the
-			[link:https://www.khronos.org/registry/OpenGL/specs/gl/glspec46.core.pdf OpenGL Core Profile] 
+			[link:https://www.khronos.org/registry/OpenGL/specs/gl/glspec46.core.pdf OpenGL Core Profile]
 			with the [page:WebGLRenderer WebGL] renderer on most
 			platforms linewidth will always be `1` regardless of the set value.
 		</p>

+ 1 - 0
docs/api/en/objects/LOD.html

@@ -25,6 +25,7 @@
 
 		<code>
 		const lod = new THREE.LOD();
+		const material = new THREE.MeshBasicMaterial( { color: 0xffff00 } );
 
 		//Create spheres with 3 levels of detail and create new LOD levels for them
 		for( let i = 0; i < 3; i++ ) {

+ 5 - 1
docs/api/en/renderers/WebGLRenderTarget.html

@@ -133,7 +133,11 @@
 		<p>Creates a copy of this render target.</p>
 
 		<h3>[method:this copy]( [param:WebGLRenderTarget source] )</h3>
-		<p>Adopts the settings of the given render target.</p>
+		<p>
+			Adopts the settings of the given render target. This is a structural copy so 
+			no resources are shared between render targets after the copy. That includes
+			all MRT textures and the depth texture.
+		</p>
 
 		<h3>[method:undefined dispose]()</h3>
 		<p>

+ 10 - 10
docs/api/en/textures/VideoFrameTexture.html

@@ -13,8 +13,8 @@
 
 		<p class="desc">
 			This class can be used as an alternative way to define video data. Instead of using
-			an instance of `HTMLVideoElement` like with `VideoTexture`, [name] expects each frame is 
-			defined manaully via [page:.setFrame setFrame](). A typical use case for this module is when
+			an instance of `HTMLVideoElement` like with `VideoTexture`, [name] expects each frame is
+			defined manually via [page:.setFrame setFrame](). A typical use case for this module is when
 			video frames are decoded with the WebCodecs API.
 		</p>
 
@@ -33,30 +33,30 @@
 
 		<h2>Constructor</h2>
 		<h3>
-			[name]( [param:Constant mapping], [param:Constant wrapS], 
-			[param:Constant wrapT], [param:Constant magFilter], [param:Constant minFilter], 
+			[name]( [param:Constant mapping], [param:Constant wrapS],
+			[param:Constant wrapT], [param:Constant magFilter], [param:Constant minFilter],
 			[param:Constant format], [param:Constant type], [param:Number anisotropy] )
 		</h3>
 		<p>
 			[page:Constant mapping] -- How the image is applied to the object. An
-			object type of [page:Textures THREE.UVMapping]. 
+			object type of [page:Textures THREE.UVMapping].
 			See [page:Textures mapping constants] for other choices.<br />
 
-			[page:Constant wrapS] -- The default is [page:Textures THREE.ClampToEdgeWrapping]. 
+			[page:Constant wrapS] -- The default is [page:Textures THREE.ClampToEdgeWrapping].
 			See [page:Textures wrap mode constants] for
 			other choices.<br />
 
-			[page:Constant wrapT] -- The default is [page:Textures THREE.ClampToEdgeWrapping]. 
+			[page:Constant wrapT] -- The default is [page:Textures THREE.ClampToEdgeWrapping].
 			See [page:Textures wrap mode constants] for
 			other choices.<br />
 
 			[page:Constant magFilter] -- How the texture is sampled when a texel
-			covers more than one pixel. The default is [page:Textures THREE.LinearFilter]. 
+			covers more than one pixel. The default is [page:Textures THREE.LinearFilter].
 			See [page:Textures magnification filter constants]
 			for other choices.<br />
 
 			[page:Constant minFilter] -- How the texture is sampled when a texel
-			covers less than one pixel. The default is [page:Textures THREE.LinearFilter]. 
+			covers less than one pixel. The default is [page:Textures THREE.LinearFilter].
 			See [page:Textures minification filter constants] for
 			other choices.<br />
 
@@ -88,7 +88,7 @@
 
 		<h3>[method:undefined setFrame]( [param:VideoFrame frame] )</h3>
 		<p>
-			Sets the current frame of the video. This will automatically update the texture 
+			Sets the current frame of the video. This will automatically update the texture
 			so the data can be used for rendering.
 		</p>
 

+ 5 - 3
docs/api/fr/materials/MeshDepthMaterial.html

@@ -68,14 +68,16 @@
 		<h3>[property:Float displacementScale]</h3>
 		<p>
 			Dans quelle mesure la carte de déplacement affecte le maillage (où le noir n'est pas un déplacement,
-			et le blanc est le déplacement maximal). Sans ensemble de cartes de déplacement, cette valeur n'est pas appliquée.
-			La valeur par défaut est 1.
+			et le blanc est le déplacement maximal). Sans carte de déplacement, cette valeur n'est pas appliquée.
+			La valeur par défaut est `1`.
 		</p>
 
 		<h3>[property:Float displacementBias]</h3>
 		<p>
 			Le décalage des valeurs de la carte de déplacement sur les sommets du maillage.
-			Sans ensemble de cartes de déplacement, cette valeur n'est pas appliquée. La valeur par défaut est 0.
+			Le décalage est ajouté après la mise à l'échelle de la carte de déplacement.
+			Sans carte de déplacement, cette valeur n'est pas appliquée. La valeur par défaut
+			est `0`.
 		</p>
 
 		<h3>[property:Texture map]</h3>

+ 5 - 3
docs/api/fr/materials/MeshDistanceMaterial.html

@@ -74,14 +74,16 @@
 		<h3>[property:Float displacementScale]</h3>
 		<p>
 			Dans quelle mesure la carte de déplacement affecte le maillage (où le noir n'est pas un déplacement,
-			et le blanc est le déplacement maximal). Sans ensemble de cartes de déplacement, cette valeur n'est pas appliquée.
-			La valeur par défaut est 1.
+			et le blanc est le déplacement maximal). Sans carte de déplacement, cette valeur n'est pas appliquée.
+			La valeur par défaut est `1`.
 		</p>
 
 		<h3>[property:Float displacementBias]</h3>
 		<p>
 			Le décalage des valeurs de la carte de déplacement sur les sommets du maillage.
-			Sans ensemble de cartes de déplacement, cette valeur n'est pas appliquée. La valeur par défaut est 0.
+			Le décalage est ajouté après la mise à l'échelle de la carte de déplacement.
+			Sans carte de déplacement, cette valeur n'est pas appliquée. La valeur par défaut
+			est `0`.
 		</p>
 
 		<h3>[property:Texture map]</h3>

+ 5 - 3
docs/api/fr/materials/MeshLambertMaterial.html

@@ -106,14 +106,16 @@
 		<h3>[property:Float displacementScale]</h3>
 		<p>
 			Dans quelle mesure la carte de déplacement affecte le maillage (où le noir n'est pas un déplacement,
-			et le blanc est le déplacement maximal). Sans ensemble de cartes de déplacement, cette valeur n'est pas appliquée.
-			La valeur par défaut est 1.
+			et le blanc est le déplacement maximal). Sans carte de déplacement, cette valeur n'est pas appliquée.
+			La valeur par défaut est `1`.
 		</p>
 
 		<h3>[property:Float displacementBias]</h3>
 		<p>
 			Le décalage des valeurs de la carte de déplacement sur les sommets du maillage.
-			Sans ensemble de cartes de déplacement, cette valeur n'est pas appliquée. La valeur par défaut est 0.
+			Le décalage est ajouté après la mise à l'échelle de la carte de déplacement.
+			Sans carte de déplacement, cette valeur n'est pas appliquée. La valeur par défaut
+			est `0`.
 		</p>
 
 		<h3>[property:Color emissive]</h3>

+ 5 - 3
docs/api/fr/materials/MeshMatcapMaterial.html

@@ -84,14 +84,16 @@
 		<h3>[property:Float displacementScale]</h3>
 		<p>
 			Dans quelle mesure la carte de déplacement affecte le maillage (où le noir n'est pas un déplacement,
-			et le blanc est le déplacement maximal). Sans ensemble de cartes de déplacement, cette valeur n'est pas appliquée.
-			La valeur par défaut est 1.
+			et le blanc est le déplacement maximal). Sans carte de déplacement, cette valeur n'est pas appliquée.
+			La valeur par défaut est `1`.
 		</p>
 
 		<h3>[property:Float displacementBias]</h3>
 		<p>
 			Le décalage des valeurs de la carte de déplacement sur les sommets du maillage.
-			Sans ensemble de cartes de déplacement, cette valeur n'est pas appliquée. La valeur par défaut est 0.
+			Le décalage est ajouté après la mise à l'échelle de la carte de déplacement.
+			Sans carte de déplacement, cette valeur n'est pas appliquée. La valeur par défaut
+			est `0`.
 		</p>
 
 		<h3>[property:Boolean flatShading]</h3>

+ 5 - 3
docs/api/fr/materials/MeshNormalMaterial.html

@@ -64,14 +64,16 @@
 		<h3>[property:Float displacementScale]</h3>
 		<p>
 			Dans quelle mesure la carte de déplacement affecte le maillage (où le noir n'est pas un déplacement,
-			et le blanc est le déplacement maximal). Sans ensemble de cartes de déplacement, cette valeur n'est pas appliquée.
-			La valeur par défaut est 1.
+			et le blanc est le déplacement maximal). Sans carte de déplacement, cette valeur n'est pas appliquée.
+			La valeur par défaut est `1`.
 		</p>
 
 		<h3>[property:Float displacementBias]</h3>
 		<p>
 			Le décalage des valeurs de la carte de déplacement sur les sommets du maillage.
-			Sans ensemble de cartes de déplacement, cette valeur n'est pas appliquée. La valeur par défaut est 0.
+			Le décalage est ajouté après la mise à l'échelle de la carte de déplacement.
+			Sans carte de déplacement, cette valeur n'est pas appliquée. La valeur par défaut
+			est `0`.
 		</p>
 
 		<h3>[property:Boolean flatShading]</h3>

+ 5 - 3
docs/api/fr/materials/MeshPhongMaterial.html

@@ -106,14 +106,16 @@
 		<h3>[property:Float displacementScale]</h3>
 		<p>
 			Dans quelle mesure la carte de déplacement affecte le maillage (où le noir n'est pas un déplacement,
-			et le blanc est le déplacement maximal). Sans ensemble de cartes de déplacement, cette valeur n'est pas appliquée.
-			La valeur par défaut est 1.
+			et le blanc est le déplacement maximal). Sans carte de déplacement, cette valeur n'est pas appliquée.
+			La valeur par défaut est `1`.
 		</p>
 
 		<h3>[property:Float displacementBias]</h3>
 		<p>
 			Le décalage des valeurs de la carte de déplacement sur les sommets du maillage.
-			Sans ensemble de cartes de déplacement, cette valeur n'est pas appliquée. La valeur par défaut est 0.
+			Le décalage est ajouté après la mise à l'échelle de la carte de déplacement.
+			Sans carte de déplacement, cette valeur n'est pas appliquée. La valeur par défaut
+			est `0`.
 		</p>
 
 		<h3>[property:Color emissive]</h3>

+ 5 - 3
docs/api/fr/materials/MeshStandardMaterial.html

@@ -131,14 +131,16 @@
 		<h3>[property:Float displacementScale]</h3>
 		<p>
 			Dans quelle mesure la carte de déplacement affecte le maillage (où le noir n'est pas un déplacement,
-			et le blanc est le déplacement maximal). Sans ensemble de cartes de déplacement, cette valeur n'est pas appliquée.
-			La valeur par défaut est 1.
+			et le blanc est le déplacement maximal). Sans carte de déplacement, cette valeur n'est pas appliquée.
+			La valeur par défaut est `1`.
 		</p>
 
 		<h3>[property:Float displacementBias]</h3>
 		<p>
 			Le décalage des valeurs de la carte de déplacement sur les sommets du maillage.
-			Sans ensemble de cartes de déplacement, cette valeur n'est pas appliquée. La valeur par défaut est 0.
+			Le décalage est ajouté après la mise à l'échelle de la carte de déplacement.
+			Sans carte de déplacement, cette valeur n'est pas appliquée. La valeur par défaut
+			est `0`.
 		</p>
 
 		<h3>[property:Color emissive]</h3>

+ 1 - 1
docs/api/zh/cameras/ArrayCamera.html

@@ -39,7 +39,7 @@
 
 		<h3>[property:Boolean isArrayCamera]</h3>
 		<p>
-			Read-only flag to check if a given object is of type [name].
+			只读属性,用于检查给定对象是否为[name]类型。
 		</p>
 
 		<h2>方法</h2>

+ 1 - 1
docs/api/zh/cameras/Camera.html

@@ -34,7 +34,7 @@
 
 		<h3>[property:Boolean isCamera]</h3>
 		<p>
-			Read-only flag to check if a given object is of type [name].
+			只读属性,用于检查给定对象是否为[name]类型。
 		</p>
 
 		<h3>[property:Layers layers]</h3>

+ 1 - 1
docs/api/zh/cameras/OrthographicCamera.html

@@ -78,7 +78,7 @@
 
 		<h3>[property:Boolean isOrthographicCamera]</h3>
 		<p>
-			Read-only flag to check if a given object is of type [name].
+			只读属性,用于检查给定对象是否为[name]类型。
 		</p>
 
 		<h3>[property:Float left]</h3>

+ 1 - 1
docs/api/zh/core/InstancedBufferGeometry.html

@@ -30,7 +30,7 @@
 
 		<h3>[property:Boolean isInstancedBufferGeometry]</h3>
 		<p>
-			Read-only flag to check if a given object is of type [name].
+			只读属性,用于检查给定对象是否为[name]类型。
 		</p>
 
 		<h2>方法</h2>

+ 1 - 1
docs/api/zh/core/InterleavedBufferAttribute.html

@@ -40,7 +40,7 @@
 
 		<h3>[property:Boolean isInterleavedBufferAttribute]</h3>
 		<p>
-			Read-only flag to check if a given object is of type [name].
+			只读属性,用于检查给定对象是否为[name]类型。
 		</p>
 
 		<h3>[property:Integer itemSize]</h3>

+ 1 - 1
docs/api/zh/lights/shadows/DirectionalLightShadow.html

@@ -75,7 +75,7 @@
 
 		<h3>[property:Boolean isDirectionalLightShadow]</h3>
 		<p>
-			Read-only flag to check if a given object is of type [name].
+			只读属性,用于检查给定对象是否为[name]类型。
 		</p>
 
 		<h2>方法</h2>

+ 1 - 1
docs/api/zh/lights/shadows/PointLightShadow.html

@@ -69,7 +69,7 @@
 
 		<h3>[property:Boolean isPointLightShadow]</h3>
 		<p>
-			Read-only flag to check if a given object is of type [name].
+			只读属性,用于检查给定对象是否为[name]类型。
 		</p>
 
 		<h2>方法</h2>

+ 1 - 1
docs/api/zh/lights/shadows/SpotLightShadow.html

@@ -75,7 +75,7 @@
 
 		<h3>[property:Boolean isSpotLightShadow]</h3>
 		<p>
-			Read-only flag to check if a given object is of type [name].
+			只读属性,用于检查给定对象是否为[name]类型。
 		</p>
 
 		<h2>方法</h2>

+ 1 - 1
docs/api/zh/loaders/ImageBitmapLoader.html

@@ -71,7 +71,7 @@
 
 		<h3>[property:Boolean isImageBitmapLoader]</h3>
 		<p>
-			Read-only flag to check if a given object is of type [name].
+			只读属性,用于检查给定对象是否为[name]类型。
 		</p>
 
 

+ 1 - 1
docs/api/zh/materials/LineBasicMaterial.html

@@ -79,7 +79,7 @@
 
 		<h3>[property:Texture map]</h3>
 		<p>
-			Sets the color of the lines using data from a [page:Texture].
+            将[page:Texture]的颜色映射到线条上。
 		</p>
 
 		<h2>方法(Methods)</h2>

+ 1 - 1
docs/api/zh/materials/Material.html

@@ -313,7 +313,7 @@
 和其他属性不一样的是,这个回调在[page:Material.clone .clone](),[page:Material.copy .copy]() 和 [page:Material.toJSON .toJSON]() 中不支持。
 </p>
 <p>
-	This callback is only supported in `WebGLRenderer` (not `WebGPURenderer`). 
+    这个回调只支持在 `WebGLRenderer` (不支持 `WebGPURenderer`)。
 </p>
 <p>
   [example:webgl_materials_modified WebGL / materials / modified]<br />

+ 1 - 1
docs/api/zh/math/Box3.html

@@ -51,7 +51,7 @@
 
 		<h3>[property:Boolean isBox3]</h3>
 		<p>
-			Read-only flag to check if a given object is of type [name].
+			只读属性,用于检查给定对象是否为[name]类型。
 		</p>
 
 		<h3>[property:Vector3 min]</h3>

+ 1 - 1
docs/api/zh/math/Color.html

@@ -79,7 +79,7 @@
 
 		<h3>[property:Boolean isColor]</h3>
 		<p>
-			Read-only flag to check if a given object is of type [name].
+			只读属性,用于检查给定对象是否为[name]类型。
 		</p>
 
 		<h3>[property:Float r]</h3>

+ 1 - 1
docs/api/zh/math/Euler.html

@@ -44,7 +44,7 @@
 
 		<h3>[property:Boolean isEuler]</h3>
 		<p>
-			Read-only flag to check if a given object is of type [name].
+			只读属性,用于检查给定对象是否为[name]类型。
 		</p>
 
 		<h3>[property:String order]</h3>

+ 1 - 1
docs/api/zh/math/Plane.html

@@ -28,7 +28,7 @@
 
 		<h3>[property:Boolean isPlane]</h3>
 		<p>
-			Read-only flag to check if a given object is of type [name].
+			只读属性,用于检查给定对象是否为[name]类型。
 		</p>
 
 		<h3>[property:Vector3 normal]</h3>

+ 1 - 1
docs/api/zh/math/Quaternion.html

@@ -49,7 +49,7 @@
 
 		<h3>[property:Boolean isQuaternion]</h3>
 		<p>
-			Read-only flag to check if a given object is of type [name].
+			只读属性,用于检查给定对象是否为[name]类型。
 		</p>
 
 		<h3>[property:Float x]</h3>

+ 1 - 1
docs/api/zh/math/Sphere.html

@@ -30,7 +30,7 @@
 
 		<h3>[property:Boolean isSphere]</h3>
 		<p>
-			Read-only flag to check if a given object is of type [name].
+			只读属性,用于检查给定对象是否为[name]类型。
 		</p>
 
 		<h3>[property:Float radius]</h3>

+ 1 - 1
docs/api/zh/math/Vector2.html

@@ -67,7 +67,7 @@
 
 		<h3>[property:Boolean isVector2]</h3>
 		<p>
-			Read-only flag to check if a given object is of type [name].
+			只读属性,用于检查给定对象是否为[name]类型。
 		</p>
 
 		<h3>[property:Float width]</h3>

+ 1 - 1
docs/api/zh/math/Vector3.html

@@ -66,7 +66,7 @@
 
 		<h3>[property:Boolean isVector3]</h3>
 		<p>
-			Read-only flag to check if a given object is of type [name].
+			只读属性,用于检查给定对象是否为[name]类型。
 		</p>
 
 		<h3>[property:Float x]</h3>

+ 1 - 1
docs/api/zh/math/Vector4.html

@@ -66,7 +66,7 @@
 
 		<h3>[property:Boolean isVector4]</h3>
 		<p>
-			Read-only flag to check if a given object is of type [name].
+			只读属性,用于检查给定对象是否为[name]类型。
 		</p>
 
 		<h3>[property:Float x]</h3>

+ 1 - 1
docs/api/zh/objects/Bone.html

@@ -38,7 +38,7 @@
 
 		<h3>[property:Boolean isBone]</h3>
 		<p>
-			Read-only flag to check if a given object is of type [name].
+			只读属性,用于检查给定对象是否为[name]类型。
 		</p>
 
 

+ 1 - 1
docs/api/zh/objects/Group.html

@@ -46,7 +46,7 @@
 
 		<h3>[property:Boolean isGroup]</h3>
 		<p>
-			Read-only flag to check if a given object is of type [name].
+			只读属性,用于检查给定对象是否为[name]类型。
 		</p>
 
 		<h3>[property:String type]</h3>

+ 1 - 1
docs/api/zh/objects/LOD.html

@@ -61,7 +61,7 @@
 
 		<h3>[property:Boolean isLOD]</h3>
 		<p>
-			Read-only flag to check if a given object is of type [name].
+			只读属性,用于检查给定对象是否为[name]类型。
 		</p>
 
 		<h3>[property:Array levels]</h3>

+ 1 - 1
docs/api/zh/objects/Line.html

@@ -55,7 +55,7 @@
 
 		<h3>[property:Boolean isLine]</h3>
 		<p>
-			Read-only flag to check if a given object is of type [name].
+			只读属性,用于检查给定对象是否为[name]类型。
 		</p>
 
 		<h3>[property:Material material]</h3>

+ 1 - 1
docs/api/zh/objects/LineLoop.html

@@ -33,7 +33,7 @@
 
 		<h3>[property:Boolean isLineLoop]</h3>
 		<p>
-			Read-only flag to check if a given object is of type [name].
+			只读属性,用于检查给定对象是否为[name]类型。
 		</p>
 
 

+ 1 - 1
docs/api/zh/objects/LineSegments.html

@@ -32,7 +32,7 @@
 
 		<h3>[property:Boolean isLineSegments]</h3>
 		<p>
-			Read-only flag to check if a given object is of type [name].
+			只读属性,用于检查给定对象是否为[name]类型。
 		</p>
 
 

+ 1 - 1
docs/api/zh/objects/Mesh.html

@@ -46,7 +46,7 @@
 
 		<h3>[property:Boolean isMesh]</h3>
 		<p>
-			Read-only flag to check if a given object is of type [name].
+			只读属性,用于检查给定对象是否为[name]类型。
 		</p>
 
 		<h3>[property:Material material]</h3>

+ 1 - 1
docs/api/zh/objects/Points.html

@@ -40,7 +40,7 @@
 
 		<h3>[property:Boolean isPoints]</h3>
 		<p>
-			Read-only flag to check if a given object is of type [name].
+			只读属性,用于检查给定对象是否为[name]类型。
 		</p>
 
 	<h3>[property:Material material]</h3>

+ 1 - 1
docs/api/zh/objects/SkinnedMesh.html

@@ -126,7 +126,7 @@
 
 		<h3>[property:Boolean isSkinnedMesh]</h3>
 		<p>
-			Read-only flag to check if a given object is of type [name].
+			只读属性,用于检查给定对象是否为[name]类型。
 		</p>
 
 		<h3>[property:Skeleton skeleton]</h3>

+ 1 - 1
docs/api/zh/objects/Sprite.html

@@ -42,7 +42,7 @@
 
 		<h3>[property:Boolean isSprite]</h3>
 		<p>
-			Read-only flag to check if a given object is of type [name].
+			只读属性,用于检查给定对象是否为[name]类型。
 		</p>
 
 

+ 9 - 9
docs/api/zh/renderers/WebGLRenderTarget.html

@@ -51,7 +51,7 @@
 
 		<h3>[property:Boolean isWebGLRenderTarget]</h3>
 		<p>
-			Read-only flag to check if a given object is of type [name].
+			只读属性,用于检查给定对象是否为[name]类型。
 		</p>
 
 		<h3>[property:number width]</h3>
@@ -86,8 +86,8 @@
 
 		<h3>[property:Texture textures]</h3>
 		<p>
-			An array holding the [page:WebGLRenderTarget.texture texture] references
-			of multiple render targets configured with the [page:Number count] option.
+            使用数组来存放[page:WebGLRenderTarget.texture texture] 的引用
+            来配置的多个渲染目标
 		</p>
 
 		<h3>[property:Boolean depthBuffer]</h3>
@@ -102,14 +102,14 @@
 
 		<h3>[property:Boolean resolveDepthBuffer]</h3>
 		<p>
-			Defines whether the depth buffer should be resolved when rendering into a multisampled render target. 
-			默认为`true`.
-		</p>
+            设置在渲染到多采样渲染目标时是否解析深度缓冲区
+            默认为`true`.
+        </p>
 
 		<h3>[property:Boolean resolveStencilBuffer]</h3>
 		<p>
-			Defines whether the stencil buffer should be resolved when rendering into a multisampled render target. 
-			This property has no effect when [page:.resolveDepthBuffer] is set to `false`. 
+            设置在渲染到多采样渲染目标时是否解析模板缓冲区
+            这个属性在[page:.resolveDepthBuffer]设置为`false`时无效
 			默认为`true`.
 		</p>
 
@@ -120,7 +120,7 @@
 
 		<h3>[property:Number samples]</h3>
 		<p>
-		Defines the count of MSAA samples. Default is *0*.
+        设置渲染目标的MSAA采样值。默认是0.
 		</p>
 
 		<h2>方法</h2>

+ 1 - 1
docs/api/zh/scenes/Fog.html

@@ -29,7 +29,7 @@
 
 		<h3>[property:Boolean isFog]</h3>
 		<p>
-			Read-only flag to check if a given object is of type [name].
+			只读属性,用于检查给定对象是否为[name]类型。
 		</p>
 
 		<h3>[property:String name]</h3>

+ 1 - 1
docs/api/zh/scenes/FogExp2.html

@@ -28,7 +28,7 @@
 
 		<h3>[property:Boolean isFogExp2]</h3>
 		<p>
-			Read-only flag to check if a given object is of type [name].
+			只读属性,用于检查给定对象是否为[name]类型。
 		</p>
 
 		<h3>[property:String name]</h3>

+ 1 - 1
docs/api/zh/textures/CanvasTexture.html

@@ -58,7 +58,7 @@
 
 		<h3>[property:Boolean isCanvasTexture]</h3>
 		<p>
-			Read-only flag to check if a given object is of type [name].
+			只读属性,用于检查给定对象是否为[name]类型。
 		</p>
 
 		<h3>[property:Boolean needsUpdate]</h3>

+ 1 - 1
docs/api/zh/textures/CompressedTexture.html

@@ -80,7 +80,7 @@
 
 		<h3>[property:Boolean isCompressedTexture]</h3>
 		<p>
-			Read-only flag to check if a given object is of type [name].
+			只读属性,用于检查给定对象是否为[name]类型。
 		</p>
 
 

+ 4 - 4
docs/api/zh/textures/CubeTexture.html

@@ -42,23 +42,23 @@
 		<h2>属性</h2>
 
 		<p>
-		See the base [page:Texture Texture] class for common properties.
+        公共属性请参考[page:Texture Texture]类。
 		</p>
 
 		<h3>[property:Boolean flipY]</h3>
 		<p>
-		If set to *true*, the texture is flipped along the vertical axis when uploaded to the GPU. Default is *false*.
+        如果设置为 *true*,纹理在上传到GPU时会被垂直翻转。默认值为 *false*。
 		</p>
 
 		<h3>[property:Boolean isCubeTexture]</h3>
 		<p>
-			Read-only flag to check if a given object is of type [name].
+            只读属性,用于检查给定对象是否为[name]类型。
 		</p>
 
 		<h2>方法</h2>
 
 		<p>
-		See the base [page:Texture Texture] class for common methods.
+        公共方法请参考[page:Texture Texture]类。
 		</p>
 
 		<h2>源代码</h2>

+ 1 - 1
docs/api/zh/textures/DataTexture.html

@@ -87,7 +87,7 @@
 
 		<h3>[property:Boolean isDataTexture]</h3>
 		<p>
-			Read-only flag to check if a given object is of type [name].
+			只读属性,用于检查给定对象是否为[name]类型。
 		</p>
 
 		<h3>[property:number unpackAlignment]</h3>

+ 1 - 1
docs/api/zh/textures/DepthTexture.html

@@ -100,7 +100,7 @@
 
 		<h3>[property:Boolean isDepthTexture]</h3>
 		<p>
-			Read-only flag to check if a given object is of type [name].
+            只读属性,用于检查给定对象是否为[name]类型。
 		</p>
 
 		<h2>方法</h2>

+ 1 - 1
docs/api/zh/textures/Source.html

@@ -29,7 +29,7 @@
 
 		<h3>[property:Boolean isCubeTexture]</h3>
 		<p>
-			Read-only flag to check if a given object is of type [name].
+			只读属性,用于检查给定对象是否为[name]类型。
 		</p>
 
 		<h3>[property:Boolean needsUpdate]</h3>

+ 3 - 2
docs/api/zh/textures/Texture.html

@@ -35,7 +35,7 @@
 
 		<h3>[property:Boolean isTexture]</h3>
 		<p>
-			Read-only flag to check if a given object is of type [name].
+            只读属性,用于检查给定对象是否为[name]类型。
 		</p>
 
 		<h3>[property:String uuid]</h3>
@@ -73,7 +73,8 @@
 
 		<h3>[property:Integer channel]</h3>
 		<p>
-		Lets you select the uv attribute to map the texture to. `0` for `uv`, `1` for `uv1`, `2` for `uv2` and `3` for `uv3`.
+        选择uv名来映射纹理。默认值为`0`。
+        `0` 即为 `uv`, `1` 即为 `uv1`, `2` 即为 `uv2` and `3` 即为 `uv3`.
 		</p>
 
 		<h3>[property:number wrapS]</h3>

+ 1 - 1
docs/api/zh/textures/VideoTexture.html

@@ -82,7 +82,7 @@ const texture = new THREE.VideoTexture( video );
 
 		<h3>[property:Boolean isVideoTexture]</h3>
 		<p>
-			Read-only flag to check if a given object is of type [name].
+			只读属性,用于检查给定对象是否为[name]类型。
 		</p>
 
 		<h3>[property:Boolean needsUpdate]</h3>

+ 12 - 1
docs/examples/en/misc/Timer.html

@@ -16,7 +16,7 @@
 
 			<ul>
 				<li>[name] has an [page:.update]() method that updates its internal state. That makes it possible to call [page:.getDelta]() and [page:.getElapsed]() multiple times per simulation step without getting different values.</li>
-				<li>The class uses the Page Visibility API to avoid large time delta values when the app is inactive (e.g. tab switched or browser hidden).</li>
+				<li>The class can make use of the Page Visibility API to avoid large time delta values when the app is inactive (e.g. tab switched or browser hidden).</li>
 			</ul>
 		</p>
 
@@ -64,6 +64,17 @@
 
 		<h2>Methods</h2>
 
+		<h3>[method:this connect]( [param:Document document] )</h3>
+		<p>
+			Connects the timer to the given document. Calling this method is not mandatory to use the timer
+			but enables the usage of the Page Visibility API to avoid large time delta values.
+		</p>
+
+		<h3>[method:this disconnect]()</h3>
+		<p>
+			Disconnects the timer from the DOM and also disables the usage of the Page Visibility API.
+		</p>
+
 		<h3>[method:Number getDelta]()</h3>
 		<p>
 			Returns the time delta in seconds.

+ 5 - 5
docs/examples/zh/loaders/MTLLoader.html

@@ -58,11 +58,11 @@
 		<p>
 			[page:Object options] — required
 			<ul>
-				<li>side: Which side to apply the material. THREE.FrontSide (default), THREE.BackSide, THREE.DoubleSide</li>
-				<li>wrap: What type of wrapping to apply for textures. THREE.RepeatWrapping (default), THREE.ClampToEdgeWrapping, THREE.MirroredRepeatWrapping</li>
-				<li>normalizeRGB: RGBs need to be normalized to 0-1 from 0-255. Default: false, assumed to be already normalized</li>
-				<li>ignoreZeroRGBs: Ignore values of RGBs (Ka,Kd,Ks) that are all 0's. Default: false</li>
-				<li>invertTrProperty: Use values 1 of Tr field for fully opaque. This option is useful for obj exported from 3ds MAX, vcglib or meshlab. Default: false</li>
+				<li>side: 将要渲染哪一面。 THREE.FrontSide (默认), THREE.BackSide, THREE.DoubleSide</li>
+				<li>wrap: 纹理环绕方式。 THREE.RepeatWrapping (默认), THREE.ClampToEdgeWrapping, THREE.MirroredRepeatWrapping</li>
+				<li>normalizeRGB: RGBs 需要从 0-255 归一化为 0-1 默认: false, 认为已归一化</li>
+				<li>ignoreZeroRGBs: 忽略所有 RGB 值(Ka、Kd、Ks)均为 0 的情况。 默认: false</li>
+				<li>invertTrProperty: Tr字段的值为1表示完全不透明。此选项可用于从3DS Max,VCGLIB或MESHLAB导出的OBJ。 默认: false</li>
 			</ul>
 		</p>
 		<p>

+ 2 - 2
docs/examples/zh/postprocessing/EffectComposer.html

@@ -127,9 +127,9 @@
 		<h3>[method:undefined removePass]( [param:Pass pass] )</h3>
 
 		<p>
-			pass -- The pass to remove from the pass chain.<br /><br />
+			pass -- 要移除的pass。<br /><br />
 
-			Removes the given pass from the pass chain.
+			移除指定的pass。
 		</p>
 
 		<h3>[method:undefined render]( [param:Float deltaTime] )</h3>

+ 17 - 21
docs/examples/zh/utils/SceneUtils.html

@@ -34,16 +34,16 @@
 
 		<h3>[method:Group createMeshesFromMultiMaterialMesh]( [param:Mesh mesh] )</h3>
 		<p>
-		mesh -- A mesh with multiple materials.
+		    mesh -- 具有多种材质的网格。
 		</p>
 		<p>
-		Converts the given multi-material mesh into an instance of [page:Group] holding for each material a separate mesh.
+		为给定的具有多种材质的网格的每个材质,创建一个包含新网格的新物体组[page:Group]。
 		</p>
 
 		<h3>[method:Group createMultiMaterialObject]( [param:BufferGeometry geometry], [param:Array materials] )</h3>
 		<p>
-			geometry -- 材料集的几何形状。 <br />
-			materials -- 为物体准备的材
+			geometry -- 材质集的几何。 <br />
+			materials -- 为物体准备的材
 		</p>
 		<p>
 			创建一个新组,囊括了在材质中定义的每种材质的新网格。请注意,这和为一个网格定义多种材质的材质数组不同。<br />
@@ -52,45 +52,41 @@
 
 		<h3>[method:undefined sortInstancedMesh]( [param:InstancedMesh mesh], [param:Function compareFn] )</h3>
 		<p>
-		mesh -- InstancedMesh in which instances will be sorted. <br />
-		compareFn -- Comparator function defining the sort order.
+		mesh -- InstancedMesh中的实例将呗排序。 <br />
+		compareFn -- 决定排序顺序的比较函数。
 		</p>
 		<p>
-		Sorts the instances within an [page:InstancedMesh], according to a user-defined
-		callback. The callback will be provided with two arguments, <i>indexA</i>
-		and <i>indexB</i>, and must return a numerical value. See
-		[link:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#description Array.prototype.sort]
-		for more information on sorting callbacks and their return values.
+        根据用户定义的回调函数,对[page:InstancedMesh]中的实例进行排序。
+        回调函数会提供两个参数,<i>indexA</i>和<i>indexB</i>,并且必须返回一个数值。
+        有关排序回调函数的更多信息,请参阅[link:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#description Array.prototype.sort]
 		</p>
 		<p>
-		Because of the high performance cost, three.js does not sort
-		[page:InstancedMesh] instances automatically. Manually sorting may be
-		helpful to improve display of alpha blended materials (back to front),
-		and to reduce overdraw in opaque materials (front to back).
+        由于性能成本,three.js不会自动对[page:InstancedMesh]实例进行排序。
+        手动排序可能有助于提高透明材质的显示顺序(back to front)和不透明材质的显示顺序(front to back)。
 		</p>
 
 		<h3>[method:Generator traverseGenerator]( [param:Object3D object] )</h3>
 		<p>
-		object -- The 3D object to traverse.
+		    object -- 遍历的对象。
 		</p>
 		<p>
-		A generator based version of [page:Object3D.traverse]().
+            使用generator实现的 [page:Object3D.traverse]().
 		</p>
 
 		<h3>[method:Generator traverseVisibleGenerator]( [param:Object3D object] )</h3>
 		<p>
-		object -- The 3D object to traverse.
+		    object -- 遍历的对象。
 		</p>
 		<p>
-		A generator based version of [page:Object3D.traverseVisible]().
+            使用generator实现的 [page:Object3D.traverseVisible]().
 		</p>
 
 		<h3>[method:Generator traverseAncestorsGenerator]( [param:Object3D object] )</h3>
 		<p>
-		object -- The 3D object to traverse.
+		    object -- 遍历的对象。
 		</p>
 		<p>
-		A generator based version of [page:Object3D.traverseAncestors]().
+		    使用generator实现的 [page:Object3D.traverseAncestors]().
 		</p>
 
 		<h2>源代码</h2>

+ 1 - 0
docs/manual/ar/introduction/Libraries-and-Plugins.html

@@ -108,6 +108,7 @@
 			<li>[link:https://needle.tools/ Needle Engine]</li>
 			<li>[link:https://tresjs.org/ tresjs] - Vue components for 3D graphics built on Three.</li>
 			<li>[link:https://giro3d.org Giro3D] - Versatile framework built on Three for visualizing and interacting with Geospatial 2D, 2.5D and 3D data.</li>			
+			<li>[link:https://zap.works/mattercraft/ Mattercraft] - Browser-based visual editor for AR, WebXR and 3D web content, built on three.js with real-time preview and physics engine.</li>
 		</ul>
 
 	</body>

+ 20 - 1
docs/manual/en/introduction/How-to-dispose-of-objects.html

@@ -57,6 +57,13 @@
 		for realizing custom rendering destinations. These objects are only deallocated by executing [page:WebGLRenderTarget.dispose]().
 	</p>
 
+	<h2>Skinned Mesh</h2>
+
+	<p>
+		Skinned meshes represent their bone hierarchy as skeletons. If you don't need a skinned mesh anymore, consider to call [page:Skeleton.dispose]() on the skeleton to free internal resources.
+		Keep in mind that skeletons can be shared across multiple skinned meshes, so only call `dispose()` if the skeleton is not used by other active skinned meshes.
+	</p>
+
 	<h2>Miscellaneous</h2>
 
 	<p>
@@ -99,7 +106,7 @@
 	<h3>What happens when I call `dispose()` and then use the respective object at a later point?</h3>
 
 	<p>
-		That depends. For geometries, materials, textures, render targets and post processing passes the deleted internal resources can be created again by the engine. 
+		That depends. For geometries, materials, textures, render targets and post processing passes the deleted internal resources can be created again by the engine.
 		So no runtime error will occur but you might notice a negative performance impact for the current frame, especially when shader programs have to be compiled.
 
 		Controls and renderers are an exception. Instances of these classes can not be used after `dispose()` has been called. You have to create new instances in this case.
@@ -114,6 +121,18 @@
 		produce a runtime error if you dispose an object that is actually still in use. The worst thing that can happen is performance drop for a single frame.
 	</p>
 
+	<h3>Why `renderer.info.memory` is still reporting geometries and textures after traversing the scene and disposing all reachable textures and geometries?</h3>
+
+	<p>
+		In certain cases, there are some textures and geometries used internally by Three.js
+		that are not reachable when traversing the scene graph in order to be disposed.
+		It is expected that `renderer.info.memory` will still report them even after a full scene cleanup.
+		However, they do not leak, but they are reused on consecutive scene cleanup/repopulating cycles.
+
+		These cases could be related to using `material.envMap`, `scene.background`, `scene.environment`,
+		or other contexts that would require the engine to create textures or geometries for internal use.
+	</p>
+
 	<h2>Examples that demonstrate the usage of dispose()</h2>
 
 	<p>

+ 17 - 0
docs/manual/en/introduction/Installation.html

@@ -90,6 +90,23 @@ npm install --save-dev vite
 							npm installs the code for each dependency in a new <i>node_modules/</i> folder. When Vite builds your application, it sees imports for 'three' and pulls three.js files automatically from this folder. The <i>node_modules/</i> folder is used only during development, and shouldn't be uploaded to your web hosting provider or committed to version history.
 						</p>
 					</details>
+					<details>
+						<summary>Improve your editor auto-completion with <i>jsconfig</i> or <i>tsconfig</i></summary>
+						<p>
+							Place a <i>jsconfig.json</i> (or <i>tsconfig.json</i> for TypeScript projects) in your project's root. Adding the configuration below helps your editor locate three.js files for enhanced auto-completion.
+						</p>
+						<code>
+							{
+								"compilerOptions": {
+									// other options...
+									"paths": {
+										"three/webgpu": ["node_modules/three/build/three.webgpu.js"],
+										"three/tsl": ["node_modules/three/build/three.tsl.js"],
+									},
+								}
+							}
+						</code>
+					</details>
 				</aside>
 			</li>
 			<li>

+ 1 - 0
docs/manual/en/introduction/Libraries-and-Plugins.html

@@ -112,6 +112,7 @@
 			<li>[link:https://needle.tools/ Needle Engine]</li>
 			<li>[link:https://tresjs.org/ tresjs] - Vue components for 3D graphics built on Three.</li>
 			<li>[link:https://giro3d.org Giro3D] - Versatile framework built on Three for visualizing and interacting with Geospatial 2D, 2.5D and 3D data.</li>
+			<li>[link:https://zap.works/mattercraft/ Mattercraft] - Browser-based visual editor for AR, WebXR and 3D web content, built on three.js with real-time preview and physics engine.</li>
 		</ul>
 
 	</body>

+ 1 - 0
docs/manual/it/introduction/Libraries-and-Plugins.html

@@ -111,6 +111,7 @@
 			<li>[link:https://needle.tools/ Needle Engine]</li>
 			<li>[link:https://tresjs.org/ tresjs] - Vue components for 3D graphics built on Three.</li>
 			<li>[link:https://giro3d.org Giro3D] - Versatile framework built on Three for visualizing and interacting with Geospatial 2D, 2.5D and 3D data.</li>			
+			<li>[link:https://zap.works/mattercraft/ Mattercraft] - Browser-based visual editor for AR, WebXR and 3D web content, built on three.js with real-time preview and physics engine.</li>
 		</ul>
 
 	</body>

+ 1 - 0
docs/manual/ja/introduction/Libraries-and-Plugins.html

@@ -104,6 +104,7 @@
         <li>[link:https://needle.tools/ Needle Engine]</li>
         <li>[link:https://tresjs.org/ tresjs] - Vue components for 3D graphics built on Three.</li>
 		<li>[link:https://giro3d.org Giro3D] - Versatile framework built on Three for visualizing and interacting with Geospatial 2D, 2.5D and 3D data.</li>        
+        <li>[link:https://zap.works/mattercraft/ Mattercraft] - Browser-based visual editor for AR, WebXR and 3D web content, built on three.js with real-time preview and physics engine.</li>
     </ul>
 
 </body>

+ 1 - 0
docs/manual/ko/introduction/Libraries-and-Plugins.html

@@ -111,6 +111,7 @@
 			<li>[link:https://needle.tools/ Needle Engine]</li>
 			<li>[link:https://tresjs.org/ tresjs] - Three 기반 3D 그래픽 Vue 어셈블리.</li>
 			<li>[link:https://giro3d.org Giro3D] - 지리 공간 2D, 2.5D 및 3D 데이터와의 시각화 및 상호 작용을 위한 Three 기반 다기능 프레임워크.</li>
+			<li>[link:https://zap.works/mattercraft/ Mattercraft] - Browser-based visual editor for AR, WebXR and 3D web content, built on three.js with real-time preview and physics engine.</li>
 		</ul>
 
 	</body>

+ 1 - 0
docs/manual/pt-br/introduction/Libraries-and-Plugins.html

@@ -111,6 +111,7 @@
 			<li>[link:https://needle.tools/ Needle Engine]</li>
 			<li>[link:https://tresjs.org/ tresjs] - Vue components for 3D graphics built on Three.</li>
 			<li>[link:https://giro3d.org Giro3D] - Versatile framework built on Three for visualizing and interacting with Geospatial 2D, 2.5D and 3D data.</li>			
+			<li>[link:https://zap.works/mattercraft/ Mattercraft] - Browser-based visual editor for AR, WebXR and 3D web content, built on three.js with real-time preview and physics engine.</li>
 		</ul>
 
 	</body>

+ 1 - 0
docs/manual/ru/introduction/Libraries-and-Plugins.html

@@ -110,6 +110,7 @@
 			<li>[link:https://needle.tools/ Needle Engine]</li>
 			<li>[link:https://tresjs.org/ tresjs] - Vue components for 3D graphics built on Three.</li>
 			<li>[link:https://giro3d.org Giro3D] - Versatile framework built on Three for visualizing and interacting with Geospatial 2D, 2.5D and 3D data.</li>
+			<li>[link:https://zap.works/mattercraft/ Mattercraft] - Browser-based visual editor for AR, WebXR and 3D web content, built on three.js with real-time preview and physics engine.</li>
 		</ul>
 
 	</body>

+ 1 - 0
docs/manual/zh/introduction/Libraries-and-Plugins.html

@@ -107,6 +107,7 @@
 			<li>[link:https://needle.tools/ Needle Engine]</li>
 			<li>[link:https://tresjs.org/ tresjs] - Vue components for 3D graphics built on Three.</li>
 			<li>[link:https://giro3d.org Giro3D] - Versatile framework built on Three for visualizing and interacting with Geospatial 2D, 2.5D and 3D data.</li>
+			<li>[link:https://zap.works/mattercraft/ Mattercraft] - Browser-based visual editor for AR, WebXR and 3D web content, built on three.js with real-time preview and physics engine.</li>
 		</ul>
 
 	</body>

+ 1 - 1
editor/js/commands/AddScriptCommand.js

@@ -5,7 +5,7 @@ class AddScriptCommand extends Command {
 	/**
 	 * @param {Editor} editor
 	 * @param {THREE.Object3D|null} [object=null]
-	 * @param {String} [script='']
+	 * @param {string} [script='']
 	 * @constructor
 	 */
 	constructor( editor, object = null, script = '' ) {

+ 1 - 1
editor/js/commands/RemoveScriptCommand.js

@@ -5,7 +5,7 @@ class RemoveScriptCommand extends Command {
 	/**
 	 * @param {Editor} editor
 	 * @param {THREE.Object3D|null} [object=null]
-	 * @param {String} [script='']
+	 * @param {string} [script='']
 	 * @constructor
 	 */
 	constructor( editor, object = null, script = '' ) {

+ 2 - 2
editor/js/commands/SetColorCommand.js

@@ -5,8 +5,8 @@ class SetColorCommand extends Command {
 	/**
 	 * @param {Editor} editor
 	 * @param {THREE.Object3D|null} [object=null]
-	 * @param {String} attributeName
-	 * @param {Number|null} [newValue=null] Integer representing a hex color value
+	 * @param {string} attributeName
+	 * @param {?number} [newValue=null] Integer representing a hex color value
 	 * @constructor
 	 */
 	constructor( editor, object = null, attributeName = '', newValue = null ) {

+ 2 - 2
editor/js/commands/SetGeometryValueCommand.js

@@ -5,8 +5,8 @@ class SetGeometryValueCommand extends Command {
 	/**
 	 * @param {Editor} editor
 	 * @param {THREE.Object3D|null} [object=null]
-	 * @param {String} [attributeName='']
-	 * @param {Number|String|Boolean|Object|null} [newValue=null]
+	 * @param {string} [attributeName='']
+	 * @param {number|string|boolean|Object|null} [newValue=null]
 	 * @constructor
 	 */
 	constructor( editor, object = null, attributeName = '', newValue = null ) {

+ 3 - 3
editor/js/commands/SetMaterialColorCommand.js

@@ -5,9 +5,9 @@ class SetMaterialColorCommand extends Command {
 	/**
 	 * @param {Editor} editor
 	 * @param {THREE.Object3D|null} [object=null]
-	 * @param {String} attributeName
-	 * @param {Number|null} [newValue=null] Integer representing a hex color value
-	 * @param {Number} [materialSlot=-1]
+	 * @param {string} attributeName
+	 * @param {?number} [newValue=null] Integer representing a hex color value
+	 * @param {number} [materialSlot=-1]
 	 * @constructor
 	 */
 	constructor( editor, object = null, attributeName = '', newValue = null, materialSlot = - 1 ) {

+ 1 - 1
editor/js/commands/SetMaterialCommand.js

@@ -7,7 +7,7 @@ class SetMaterialCommand extends Command {
 	 * @param {Editor} editor
 	 * @param {THREE.Object3D|null} object
 	 * @param {THREE.Material|null} newMaterial
-	 * @param {Number} [materialSlot=-1]
+	 * @param {number} [materialSlot=-1]
 	 * @constructor
 	 */
 	constructor( editor, object = null, newMaterial = null, materialSlot = - 1 ) {

+ 2 - 2
editor/js/commands/SetMaterialMapCommand.js

@@ -6,9 +6,9 @@ class SetMaterialMapCommand extends Command {
 	/**
 	 * @param {Editor} editor
 	 * @param {THREE.Object3D|null} [object=null]
-	 * @param {String} [mapName='']
+	 * @param {string} [mapName='']
 	 * @param {THREE.Texture|null} [newMap=null]
-	 * @param {Number} [materialSlot=-1]
+	 * @param {number} [materialSlot=-1]
 	 * @constructor
 	 */
 	constructor( editor, object = null, mapName = '', newMap = null, materialSlot = - 1 ) {

+ 4 - 4
editor/js/commands/SetMaterialRangeCommand.js

@@ -5,10 +5,10 @@ class SetMaterialRangeCommand extends Command {
 	/**
 	 * @param {Editor} editor
 	 * @param {THREE.Object3D|null} [object=null]
-	 * @param {String} [attributeName='']
-	 * @param {Number} [newMinValue=-Infinity]
-	 * @param {Number} [newMaxValue=Infinity]
-	 * @param {Number} [materialSlot=-1]
+	 * @param {string} [attributeName='']
+	 * @param {number} [newMinValue=-Infinity]
+	 * @param {number} [newMaxValue=Infinity]
+	 * @param {number} [materialSlot=-1]
 	 * @constructor
 	 */
 	constructor( editor, object = null, attributeName = '', newMinValue = - Infinity, newMaxValue = Infinity, materialSlot = - 1 ) {

+ 3 - 3
editor/js/commands/SetMaterialValueCommand.js

@@ -5,9 +5,9 @@ class SetMaterialValueCommand extends Command {
 	/**
 	 * @param {Editor} editor
 	 * @param {THREE.Object3D|null} [object=null]
-	 * @param {String} [attributeName='']
-	 * @param {Number|String|Boolean|Object|null} [newValue=null]
-	 * @param {Number} [materialSlot=-1]
+	 * @param {string} [attributeName='']
+	 * @param {number|string|boolean|Object|null} [newValue=null]
+	 * @param {number} [materialSlot=-1]
 	 * @constructor
 	 */
 	constructor( editor, object = null, attributeName = '', newValue = null, materialSlot = - 1 ) {

+ 2 - 2
editor/js/commands/SetMaterialVectorCommand.js

@@ -6,9 +6,9 @@ class SetMaterialVectorCommand extends Command {
 	 *
 	 * @param {Editor} editor
 	 * @param {THREE.Object3D|null} [object=null]
-	 * @param {String} [attributeName='']
+	 * @param {string} [attributeName='']
 	 * @param {THREE.Vector2|THREE.Vector3|THREE.Vector4|null} [newValue=null]
-	 * @param {Number} [materialSlot=-1]
+	 * @param {number} [materialSlot=-1]
 	 * @constructor
 	 */
 	constructor( editor, object = null, attributeName = '', newValue = null, materialSlot = - 1 ) {

+ 3 - 3
editor/js/commands/SetScriptValueCommand.js

@@ -5,9 +5,9 @@ class SetScriptValueCommand extends Command {
 	/**
 	 * @param {Editor} editor
 	 * @param {THREE.Object3D|null} object
-	 * @param {String} script
-	 * @param {String} attributeName
-	 * @param {String} newValue
+	 * @param {string} script
+	 * @param {string} attributeName
+	 * @param {string} newValue
 	 * @constructor
 	 */
 	constructor( editor, object = null, script = '', attributeName = '', newValue = null ) {

+ 2 - 2
editor/js/commands/SetShadowValueCommand.js

@@ -5,8 +5,8 @@ class SetShadowValueCommand extends Command {
 	/**
 	 * @param {Editor} editor
 	 * @param {THREE.Object3D|null} object
-	 * @param {String} attributeName
-	 * @param {Number|String|Boolean|Object|null} newValue
+	 * @param {string} attributeName
+	 * @param {number|string|boolean|Object|null} newValue
 	 * @constructor
 	 */
 	constructor( editor, object = null, attributeName = '', newValue = null ) {

+ 1 - 1
editor/js/commands/SetValueCommand.js

@@ -6,7 +6,7 @@ class SetValueCommand extends Command {
 	 * @param {Editor} editor
 	 * @param {THREE.Object3D|null} object
 	 * @param {string} attributeName
-	 * @param {Number|String|Boolean|Object|null} newValue
+	 * @param {number|string|boolean|Object|null} newValue
 	 * @constructor
 	 */
 	constructor( editor, object = null, attributeName = '', newValue = null ) {

Alguns ficheiros não foram mostrados porque muitos ficheiros mudaram neste diff

粤ICP备19079148号