Browse Source

Merge branch 'dev' into defer-light-transform

Olli Etuaho 4 years ago
parent
commit
1c4fee4815
100 changed files with 342 additions and 322 deletions
  1. 2 2
      .github/ISSUE_TEMPLATE/config.yml
  2. 3 3
      README.md
  3. 138 32
      build/three.js
  4. 0 0
      build/three.min.js
  5. 70 65
      build/three.module.js
  6. 0 1
      docs/api/ar/animation/AnimationAction.html
  7. 0 1
      docs/api/ar/animation/AnimationClip.html
  8. 0 1
      docs/api/ar/animation/AnimationMixer.html
  9. 0 1
      docs/api/ar/animation/AnimationObjectGroup.html
  10. 0 1
      docs/api/ar/animation/AnimationUtils.html
  11. 0 1
      docs/api/ar/animation/KeyframeTrack.html
  12. 0 1
      docs/api/ar/animation/PropertyBinding.html
  13. 0 1
      docs/api/ar/animation/PropertyMixer.html
  14. 0 1
      docs/api/ar/animation/tracks/BooleanKeyframeTrack.html
  15. 0 1
      docs/api/ar/animation/tracks/ColorKeyframeTrack.html
  16. 0 1
      docs/api/ar/animation/tracks/NumberKeyframeTrack.html
  17. 0 1
      docs/api/ar/animation/tracks/QuaternionKeyframeTrack.html
  18. 0 1
      docs/api/ar/animation/tracks/StringKeyframeTrack.html
  19. 0 1
      docs/api/ar/animation/tracks/VectorKeyframeTrack.html
  20. 3 4
      docs/api/ar/audio/Audio.html
  21. 5 6
      docs/api/ar/audio/AudioAnalyser.html
  22. 0 1
      docs/api/ar/audio/AudioContext.html
  23. 3 4
      docs/api/ar/audio/AudioListener.html
  24. 6 7
      docs/api/ar/audio/PositionalAudio.html
  25. 0 1
      docs/api/ar/cameras/ArrayCamera.html
  26. 0 1
      docs/api/ar/cameras/Camera.html
  27. 4 5
      docs/api/ar/cameras/CubeCamera.html
  28. 0 1
      docs/api/en/Polyfills.html
  29. 0 1
      docs/api/en/Template.html
  30. 0 1
      docs/api/en/animation/AnimationAction.html
  31. 0 1
      docs/api/en/animation/AnimationClip.html
  32. 0 1
      docs/api/en/animation/AnimationMixer.html
  33. 0 1
      docs/api/en/animation/AnimationObjectGroup.html
  34. 0 1
      docs/api/en/animation/AnimationUtils.html
  35. 0 1
      docs/api/en/animation/KeyframeTrack.html
  36. 0 1
      docs/api/en/animation/PropertyBinding.html
  37. 0 1
      docs/api/en/animation/PropertyMixer.html
  38. 0 1
      docs/api/en/animation/tracks/BooleanKeyframeTrack.html
  39. 0 1
      docs/api/en/animation/tracks/ColorKeyframeTrack.html
  40. 0 1
      docs/api/en/animation/tracks/NumberKeyframeTrack.html
  41. 0 1
      docs/api/en/animation/tracks/QuaternionKeyframeTrack.html
  42. 0 1
      docs/api/en/animation/tracks/StringKeyframeTrack.html
  43. 0 1
      docs/api/en/animation/tracks/VectorKeyframeTrack.html
  44. 3 4
      docs/api/en/audio/Audio.html
  45. 5 6
      docs/api/en/audio/AudioAnalyser.html
  46. 0 1
      docs/api/en/audio/AudioContext.html
  47. 3 4
      docs/api/en/audio/AudioListener.html
  48. 6 7
      docs/api/en/audio/PositionalAudio.html
  49. 0 1
      docs/api/en/cameras/ArrayCamera.html
  50. 0 1
      docs/api/en/cameras/Camera.html
  51. 4 5
      docs/api/en/cameras/CubeCamera.html
  52. 1 2
      docs/api/en/cameras/OrthographicCamera.html
  53. 5 6
      docs/api/en/cameras/PerspectiveCamera.html
  54. 0 1
      docs/api/en/cameras/StereoCamera.html
  55. 0 1
      docs/api/en/constants/Animation.html
  56. 1 2
      docs/api/en/constants/Core.html
  57. 1 2
      docs/api/en/constants/CustomBlendingEquations.html
  58. 0 1
      docs/api/en/constants/Materials.html
  59. 0 1
      docs/api/en/constants/Renderer.html
  60. 0 1
      docs/api/en/constants/Textures.html
  61. 0 1
      docs/api/en/core/BufferAttribute.html
  62. 4 5
      docs/api/en/core/BufferGeometry.html
  63. 0 1
      docs/api/en/core/Clock.html
  64. 0 1
      docs/api/en/core/DirectGeometry.html
  65. 6 11
      docs/api/en/core/EventDispatcher.html
  66. 6 7
      docs/api/en/core/Face3.html
  67. 0 1
      docs/api/en/core/GLBufferAttribute.html
  68. 1 2
      docs/api/en/core/Geometry.html
  69. 0 1
      docs/api/en/core/InstancedBufferAttribute.html
  70. 0 1
      docs/api/en/core/InstancedBufferGeometry.html
  71. 0 1
      docs/api/en/core/InstancedInterleavedBuffer.html
  72. 0 1
      docs/api/en/core/InterleavedBuffer.html
  73. 0 1
      docs/api/en/core/InterleavedBufferAttribute.html
  74. 0 1
      docs/api/en/core/Layers.html
  75. 11 4
      docs/api/en/core/Object3D.html
  76. 4 5
      docs/api/en/core/Raycaster.html
  77. 2 3
      docs/api/en/core/Uniform.html
  78. 0 1
      docs/api/en/core/bufferAttributeTypes/BufferAttributeTypes.html
  79. 0 1
      docs/api/en/extras/Earcut.html
  80. 0 1
      docs/api/en/extras/ImageUtils.html
  81. 0 1
      docs/api/en/extras/PMREMGenerator.html
  82. 0 1
      docs/api/en/extras/ShapeUtils.html
  83. 0 1
      docs/api/en/extras/core/Curve.html
  84. 0 1
      docs/api/en/extras/core/CurvePath.html
  85. 0 1
      docs/api/en/extras/core/Font.html
  86. 0 1
      docs/api/en/extras/core/Interpolations.html
  87. 5 6
      docs/api/en/extras/core/Path.html
  88. 4 5
      docs/api/en/extras/core/Shape.html
  89. 0 1
      docs/api/en/extras/core/ShapePath.html
  90. 0 1
      docs/api/en/extras/curves/ArcCurve.html
  91. 5 6
      docs/api/en/extras/curves/CatmullRomCurve3.html
  92. 5 6
      docs/api/en/extras/curves/CubicBezierCurve.html
  93. 5 6
      docs/api/en/extras/curves/CubicBezierCurve3.html
  94. 5 6
      docs/api/en/extras/curves/EllipseCurve.html
  95. 0 1
      docs/api/en/extras/curves/LineCurve.html
  96. 0 1
      docs/api/en/extras/curves/LineCurve3.html
  97. 6 7
      docs/api/en/extras/curves/QuadraticBezierCurve.html
  98. 5 6
      docs/api/en/extras/curves/QuadraticBezierCurve3.html
  99. 5 6
      docs/api/en/extras/curves/SplineCurve.html
  100. 0 1
      docs/api/en/extras/objects/ImmediateRenderObject.html

+ 2 - 2
.github/ISSUE_TEMPLATE/config.yml

@@ -1,5 +1,5 @@
 blank_issues_enabled: false
 contact_links:
-  - name: Community Help and Support
+  - name: Help and Support
     url: https://discourse.threejs.org/
-    about: This issue tracker is not for support questions. If you need help, please use the forum.
+    about: Please use the forum if you have questions or need help.

+ 3 - 3
README.md

@@ -27,8 +27,8 @@ This code creates a scene, a camera, and a geometric cube, and it adds the cube
 ```javascript
 import * as THREE from './js/three.module.js';
 
-var camera, scene, renderer;
-var geometry, material, mesh;
+let camera, scene, renderer;
+let geometry, material, mesh;
 
 init();
 animate();
@@ -64,7 +64,7 @@ function animate() {
 }
 ```
 
-If everything went well, you should see [this](https://jsfiddle.net/8kubjpL5/).
+If everything went well, you should see [this](https://jsfiddle.net/ruc3h17j/).
 
 ### Cloning this repository ###
 

+ 138 - 32
build/three.js

@@ -63,7 +63,7 @@
 		};
 	}
 
-	var REVISION = '121dev';
+	var REVISION = '122dev';
 	var MOUSE = {
 		LEFT: 0,
 		MIDDLE: 1,
@@ -772,15 +772,24 @@
 		};
 
 		_proto.fromArray = function fromArray(array, offset) {
-			if (offset === undefined) offset = 0;
+			if (offset === void 0) {
+				offset = 0;
+			}
+
 			this.x = array[offset];
 			this.y = array[offset + 1];
 			return this;
 		};
 
 		_proto.toArray = function toArray(array, offset) {
-			if (array === undefined) array = [];
-			if (offset === undefined) offset = 0;
+			if (array === void 0) {
+				array = [];
+			}
+
+			if (offset === void 0) {
+				offset = 0;
+			}
+
 			array[offset] = this.x;
 			array[offset + 1] = this.y;
 			return array;
@@ -1094,7 +1103,9 @@
 		};
 
 		_proto.fromArray = function fromArray(array, offset) {
-			if (offset === undefined) offset = 0;
+			if (offset === void 0) {
+				offset = 0;
+			}
 
 			for (var i = 0; i < 9; i++) {
 				this.elements[i] = array[i + offset];
@@ -1104,8 +1115,14 @@
 		};
 
 		_proto.toArray = function toArray(array, offset) {
-			if (array === undefined) array = [];
-			if (offset === undefined) offset = 0;
+			if (array === void 0) {
+				array = [];
+			}
+
+			if (offset === void 0) {
+				offset = 0;
+			}
+
 			var te = this.elements;
 			array[offset] = te[0];
 			array[offset + 1] = te[1];
@@ -1817,7 +1834,10 @@
 		};
 
 		_proto.fromArray = function fromArray(array, offset) {
-			if (offset === undefined) offset = 0;
+			if (offset === void 0) {
+				offset = 0;
+			}
+
 			this.x = array[offset];
 			this.y = array[offset + 1];
 			this.z = array[offset + 2];
@@ -1826,8 +1846,14 @@
 		};
 
 		_proto.toArray = function toArray(array, offset) {
-			if (array === undefined) array = [];
-			if (offset === undefined) offset = 0;
+			if (array === void 0) {
+				array = [];
+			}
+
+			if (offset === void 0) {
+				offset = 0;
+			}
+
 			array[offset] = this.x;
 			array[offset + 1] = this.y;
 			array[offset + 2] = this.z;
@@ -2395,7 +2421,10 @@
 		};
 
 		_proto.fromArray = function fromArray(array, offset) {
-			if (offset === undefined) offset = 0;
+			if (offset === void 0) {
+				offset = 0;
+			}
+
 			this._x = array[offset];
 			this._y = array[offset + 1];
 			this._z = array[offset + 2];
@@ -2407,8 +2436,14 @@
 		};
 
 		_proto.toArray = function toArray(array, offset) {
-			if (array === undefined) array = [];
-			if (offset === undefined) offset = 0;
+			if (array === void 0) {
+				array = [];
+			}
+
+			if (offset === void 0) {
+				offset = 0;
+			}
+
 			array[offset] = this._x;
 			array[offset + 1] = this._y;
 			array[offset + 2] = this._z;
@@ -2981,7 +3016,10 @@
 		};
 
 		_proto.fromArray = function fromArray(array, offset) {
-			if (offset === undefined) offset = 0;
+			if (offset === void 0) {
+				offset = 0;
+			}
+
 			this.x = array[offset];
 			this.y = array[offset + 1];
 			this.z = array[offset + 2];
@@ -2989,8 +3027,14 @@
 		};
 
 		_proto.toArray = function toArray(array, offset) {
-			if (array === undefined) array = [];
-			if (offset === undefined) offset = 0;
+			if (array === void 0) {
+				array = [];
+			}
+
+			if (offset === void 0) {
+				offset = 0;
+			}
+
 			array[offset] = this.x;
 			array[offset + 1] = this.y;
 			array[offset + 2] = this.z;
@@ -4648,7 +4692,9 @@
 		};
 
 		_proto.fromArray = function fromArray(array, offset) {
-			if (offset === undefined) offset = 0;
+			if (offset === void 0) {
+				offset = 0;
+			}
 
 			for (var i = 0; i < 16; i++) {
 				this.elements[i] = array[i + offset];
@@ -4658,8 +4704,14 @@
 		};
 
 		_proto.toArray = function toArray(array, offset) {
-			if (array === undefined) array = [];
-			if (offset === undefined) offset = 0;
+			if (array === void 0) {
+				array = [];
+			}
+
+			if (offset === void 0) {
+				offset = 0;
+			}
+
 			var te = this.elements;
 			array[offset] = te[0];
 			array[offset + 1] = te[1];
@@ -4888,8 +4940,14 @@
 		};
 
 		_proto.toArray = function toArray(array, offset) {
-			if (array === undefined) array = [];
-			if (offset === undefined) offset = 0;
+			if (array === void 0) {
+				array = [];
+			}
+
+			if (offset === void 0) {
+				offset = 0;
+			}
+
 			array[offset] = this._x;
 			array[offset + 1] = this._y;
 			array[offset + 2] = this._z;
@@ -5255,6 +5313,16 @@
 
 			return this;
 		},
+		clear: function clear() {
+			for (var i = 0; i < this.children.length; i++) {
+				var object = this.children[i];
+				object.parent = null;
+				object.dispatchEvent(_removedEvent);
+			}
+
+			this.children.length = 0;
+			return this;
+		},
 		attach: function attach(object) {
 			// adds object as a child of this, while maintaining the object's world transform
 			this.updateWorldMatrix(true, false);
@@ -6542,7 +6610,10 @@
 		};
 
 		_proto.fromArray = function fromArray(array, offset) {
-			if (offset === undefined) offset = 0;
+			if (offset === void 0) {
+				offset = 0;
+			}
+
 			this.r = array[offset];
 			this.g = array[offset + 1];
 			this.b = array[offset + 2];
@@ -6550,8 +6621,14 @@
 		};
 
 		_proto.toArray = function toArray(array, offset) {
-			if (array === undefined) array = [];
-			if (offset === undefined) offset = 0;
+			if (array === void 0) {
+				array = [];
+			}
+
+			if (offset === void 0) {
+				offset = 0;
+			}
+
 			array[offset] = this.r;
 			array[offset + 1] = this.g;
 			array[offset + 2] = this.b;
@@ -9419,7 +9496,15 @@
 		mapping = mapping !== undefined ? mapping : CubeReflectionMapping;
 		format = format !== undefined ? format : RGBFormat;
 		Texture.call(this, images, mapping, wrapS, wrapT, magFilter, minFilter, format, type, anisotropy, encoding);
-		this.flipY = false;
+		this.flipY = false; // Why CubeTexture._needsFlipEnvMap is necessary:
+		//
+		// By convention -- likely based on the RenderMan spec from the 1990's -- cube maps are specified by WebGL (and three.js)
+		// in a coordinate system in which positive-x is to the right when looking up the positive-z axis -- in other words,
+		// in a left-handed coordinate system. By continuing this convention, preexisting cube maps continued to render correctly.
+		// three.js uses a right-handed coordinate system. So environment maps used in three.js appear to have px and nx swapped
+		// and the flag _needsFlipEnvMap controls this conversion. The flip is not required (and thus _needsFlipEnvMap is set to false)
+		// when using WebGLCubeRenderTarget.texture as a cube texture.
+
 		this._needsFlipEnvMap = true;
 	}
 
@@ -11534,6 +11619,7 @@
 							renderer.setRenderTarget(currentRenderTarget);
 							renderer.setRenderList(currentRenderList);
 							renderer.setRenderState(currentRenderState);
+							texture.addEventListener('dispose', onTextureDispose);
 							return mapTextureMapping(renderTarget.texture, texture.mapping);
 						} else {
 							// image not yet ready. try the conversion next frame
@@ -11546,6 +11632,17 @@
 			return texture;
 		}
 
+		function onTextureDispose(event) {
+			var texture = event.target;
+			texture.removeEventListener('dispose', onTextureDispose);
+			var cubemap = cubemaps.get(texture);
+
+			if (cubemap !== undefined) {
+				cubemaps.delete(texture);
+				cubemap.dispose();
+			}
+		}
+
 		function dispose() {
 			cubemaps = new WeakMap();
 		}
@@ -11625,7 +11722,7 @@
 				wireframeAttributes.delete(buffergeometry);
 			}
 
-			bindingStates.releaseStatesOfGeometry(geometry);
+			bindingStates.releaseStatesOfGeometry(buffergeometry);
 
 			if (geometry.isInstancedBufferGeometry === true) {
 				delete geometry._maxInstanceCount;
@@ -17723,8 +17820,8 @@
 		this.compile = function (scene, camera) {
 			currentRenderState = renderStates.get(scene, camera);
 			currentRenderState.init();
-			scene.traverse(function (object) {
-				if (object.isLight) {
+			scene.traverseVisible(function (object) {
+				if (object.isLight && object.layers.test(camera.layers)) {
 					currentRenderState.pushLight(object);
 
 					if (object.castShadow) {
@@ -25272,7 +25369,7 @@
 			if (referenceFrame === undefined) referenceFrame = 0;
 			if (referenceClip === undefined) referenceClip = targetClip;
 			if (fps === undefined || fps <= 0) fps = 30;
-			var numTracks = targetClip.tracks.length;
+			var numTracks = referenceClip.tracks.length;
 			var referenceTime = referenceFrame / fps; // Make each track's values relative to the values at the reference frame
 
 			var _loop = function _loop(i) {
@@ -28970,7 +29067,10 @@
 		};
 
 		_proto.fromArray = function fromArray(array, offset) {
-			if (offset === undefined) offset = 0;
+			if (offset === void 0) {
+				offset = 0;
+			}
+
 			var coefficients = this.coefficients;
 
 			for (var i = 0; i < 9; i++) {
@@ -28981,8 +29081,14 @@
 		};
 
 		_proto.toArray = function toArray(array, offset) {
-			if (array === undefined) array = [];
-			if (offset === undefined) offset = 0;
+			if (array === void 0) {
+				array = [];
+			}
+
+			if (offset === void 0) {
+				offset = 0;
+			}
+
 			var coefficients = this.coefficients;
 
 			for (var i = 0; i < 9; i++) {

File diff suppressed because it is too large
+ 0 - 0
build/three.min.js


+ 70 - 65
build/three.module.js

@@ -1,5 +1,5 @@
 // threejs.org/license
-const REVISION = '121dev';
+const REVISION = '122dev';
 const MOUSE = { LEFT: 0, MIDDLE: 1, RIGHT: 2, ROTATE: 0, DOLLY: 1, PAN: 2 };
 const TOUCH = { ROTATE: 0, PAN: 1, DOLLY_PAN: 2, DOLLY_ROTATE: 3 };
 const CullFaceNone = 0;
@@ -917,9 +917,7 @@ class Vector2 {
 
 	}
 
-	fromArray( array, offset ) {
-
-		if ( offset === undefined ) offset = 0;
+	fromArray( array, offset = 0 ) {
 
 		this.x = array[ offset ];
 		this.y = array[ offset + 1 ];
@@ -928,10 +926,7 @@ class Vector2 {
 
 	}
 
-	toArray( array, offset ) {
-
-		if ( array === undefined ) array = [];
-		if ( offset === undefined ) offset = 0;
+	toArray( array = [], offset = 0 ) {
 
 		array[ offset ] = this.x;
 		array[ offset + 1 ] = this.y;
@@ -1289,9 +1284,7 @@ class Matrix3 {
 
 	}
 
-	fromArray( array, offset ) {
-
-		if ( offset === undefined ) offset = 0;
+	fromArray( array, offset = 0 ) {
 
 		for ( let i = 0; i < 9; i ++ ) {
 
@@ -1303,10 +1296,7 @@ class Matrix3 {
 
 	}
 
-	toArray( array, offset ) {
-
-		if ( array === undefined ) array = [];
-		if ( offset === undefined ) offset = 0;
+	toArray( array = [], offset = 0 ) {
 
 		const te = this.elements;
 
@@ -2291,9 +2281,7 @@ class Vector4 {
 
 	}
 
-	fromArray( array, offset ) {
-
-		if ( offset === undefined ) offset = 0;
+	fromArray( array, offset = 0 ) {
 
 		this.x = array[ offset ];
 		this.y = array[ offset + 1 ];
@@ -2304,10 +2292,7 @@ class Vector4 {
 
 	}
 
-	toArray( array, offset ) {
-
-		if ( array === undefined ) array = [];
-		if ( offset === undefined ) offset = 0;
+	toArray( array = [], offset = 0 ) {
 
 		array[ offset ] = this.x;
 		array[ offset + 1 ] = this.y;
@@ -3051,9 +3036,7 @@ class Quaternion {
 
 	}
 
-	fromArray( array, offset ) {
-
-		if ( offset === undefined ) offset = 0;
+	fromArray( array, offset = 0 ) {
 
 		this._x = array[ offset ];
 		this._y = array[ offset + 1 ];
@@ -3066,10 +3049,7 @@ class Quaternion {
 
 	}
 
-	toArray( array, offset ) {
-
-		if ( array === undefined ) array = [];
-		if ( offset === undefined ) offset = 0;
+	toArray( array = [], offset = 0 ) {
 
 		array[ offset ] = this._x;
 		array[ offset + 1 ] = this._y;
@@ -3769,9 +3749,7 @@ class Vector3 {
 
 	}
 
-	fromArray( array, offset ) {
-
-		if ( offset === undefined ) offset = 0;
+	fromArray( array, offset = 0 ) {
 
 		this.x = array[ offset ];
 		this.y = array[ offset + 1 ];
@@ -3781,10 +3759,7 @@ class Vector3 {
 
 	}
 
-	toArray( array, offset ) {
-
-		if ( array === undefined ) array = [];
-		if ( offset === undefined ) offset = 0;
+	toArray( array = [], offset = 0 ) {
 
 		array[ offset ] = this.x;
 		array[ offset + 1 ] = this.y;
@@ -5887,9 +5862,7 @@ class Matrix4 {
 
 	}
 
-	fromArray( array, offset ) {
-
-		if ( offset === undefined ) offset = 0;
+	fromArray( array, offset = 0 ) {
 
 		for ( let i = 0; i < 16; i ++ ) {
 
@@ -5901,10 +5874,7 @@ class Matrix4 {
 
 	}
 
-	toArray( array, offset ) {
-
-		if ( array === undefined ) array = [];
-		if ( offset === undefined ) offset = 0;
+	toArray( array = [], offset = 0 ) {
 
 		const te = this.elements;
 
@@ -6219,10 +6189,7 @@ class Euler {
 
 	}
 
-	toArray( array, offset ) {
-
-		if ( array === undefined ) array = [];
-		if ( offset === undefined ) offset = 0;
+	toArray( array = [], offset = 0 ) {
 
 		array[ offset ] = this._x;
 		array[ offset + 1 ] = this._y;
@@ -6680,6 +6647,25 @@ Object3D.prototype = Object.assign( Object.create( EventDispatcher.prototype ),
 
 	},
 
+	clear: function () {
+
+		for ( let i = 0; i < this.children.length; i ++ ) {
+
+			const object = this.children[ i ];
+
+			object.parent = null;
+
+			object.dispatchEvent( _removedEvent );
+
+		}
+
+		this.children.length = 0;
+
+		return this;
+
+
+	},
+
 	attach: function ( object ) {
 
 		// adds object as a child of this, while maintaining the object's world transform
@@ -8255,9 +8241,7 @@ class Color {
 
 	}
 
-	fromArray( array, offset ) {
-
-		if ( offset === undefined ) offset = 0;
+	fromArray( array, offset = 0 ) {
 
 		this.r = array[ offset ];
 		this.g = array[ offset + 1 ];
@@ -8267,10 +8251,7 @@ class Color {
 
 	}
 
-	toArray( array, offset ) {
-
-		if ( array === undefined ) array = [];
-		if ( offset === undefined ) offset = 0;
+	toArray( array = [], offset = 0 ) {
 
 		array[ offset ] = this.r;
 		array[ offset + 1 ] = this.g;
@@ -12245,6 +12226,16 @@ function CubeTexture( images, mapping, wrapS, wrapT, magFilter, minFilter, forma
 
 	this.flipY = false;
 
+	// Why CubeTexture._needsFlipEnvMap is necessary:
+	//
+	// By convention -- likely based on the RenderMan spec from the 1990's -- cube maps are specified by WebGL (and three.js)
+	// in a coordinate system in which positive-x is to the right when looking up the positive-z axis -- in other words,
+	// in a left-handed coordinate system. By continuing this convention, preexisting cube maps continued to render correctly.
+
+	// three.js uses a right-handed coordinate system. So environment maps used in three.js appear to have px and nx swapped
+	// and the flag _needsFlipEnvMap controls this conversion. The flip is not required (and thus _needsFlipEnvMap is set to false)
+	// when using WebGLCubeRenderTarget.texture as a cube texture.
+
 	this._needsFlipEnvMap = true;
 
 }
@@ -14973,6 +14964,8 @@ function WebGLCubeMaps( renderer ) {
 						renderer.setRenderList( currentRenderList );
 						renderer.setRenderState( currentRenderState );
 
+						texture.addEventListener( 'dispose', onTextureDispose );
+
 						return mapTextureMapping( renderTarget.texture, texture.mapping );
 
 					} else {
@@ -14993,6 +14986,23 @@ function WebGLCubeMaps( renderer ) {
 
 	}
 
+	function onTextureDispose( event ) {
+
+		const texture = event.target;
+
+		texture.removeEventListener( 'dispose', onTextureDispose );
+
+		const cubemap = cubemaps.get( texture );
+
+		if ( cubemap !== undefined ) {
+
+			cubemaps.delete( texture );
+			cubemap.dispose();
+
+		}
+
+	}
+
 	function dispose() {
 
 		cubemaps = new WeakMap();
@@ -15102,7 +15112,7 @@ function WebGLGeometries( gl, attributes, info, bindingStates ) {
 
 		}
 
-		bindingStates.releaseStatesOfGeometry( geometry );
+		bindingStates.releaseStatesOfGeometry( buffergeometry );
 
 		if ( geometry.isInstancedBufferGeometry === true ) {
 
@@ -23906,9 +23916,9 @@ function WebGLRenderer( parameters ) {
 		currentRenderState = renderStates.get( scene, camera );
 		currentRenderState.init();
 
-		scene.traverse( function ( object ) {
+		scene.traverseVisible( function ( object ) {
 
-			if ( object.isLight ) {
+			if ( object.isLight && object.layers.test( camera.layers ) ) {
 
 				currentRenderState.pushLight( object );
 
@@ -34350,7 +34360,7 @@ const AnimationUtils = {
 		if ( referenceClip === undefined ) referenceClip = targetClip;
 		if ( fps === undefined || fps <= 0 ) fps = 30;
 
-		const numTracks = targetClip.tracks.length;
+		const numTracks = referenceClip.tracks.length;
 		const referenceTime = referenceFrame / fps;
 
 		// Make each track's values relative to the values at the reference frame
@@ -39903,9 +39913,7 @@ class SphericalHarmonics3 {
 
 	}
 
-	fromArray( array, offset ) {
-
-		if ( offset === undefined ) offset = 0;
+	fromArray( array, offset = 0 ) {
 
 		const coefficients = this.coefficients;
 
@@ -39919,10 +39927,7 @@ class SphericalHarmonics3 {
 
 	}
 
-	toArray( array, offset ) {
-
-		if ( array === undefined ) array = [];
-		if ( offset === undefined ) offset = 0;
+	toArray( array = [], offset = 0 ) {
 
 		const coefficients = this.coefficients;
 

+ 0 - 1
docs/api/ar/animation/AnimationAction.html

@@ -3,7 +3,6 @@
 	<head>
 		<meta charset="utf-8" />
 		<base href="../../../" />
-		<script src="list.js"></script>
 		<script src="page.js"></script>
 		<link type="text/css" rel="stylesheet" href="page.css" />
 	</head>

+ 0 - 1
docs/api/ar/animation/AnimationClip.html

@@ -3,7 +3,6 @@
 	<head>
 		<meta charset="utf-8" />
 		<base href="../../../" />
-		<script src="list.js"></script>
 		<script src="page.js"></script>
 		<link type="text/css" rel="stylesheet" href="page.css" />
 	</head>

+ 0 - 1
docs/api/ar/animation/AnimationMixer.html

@@ -3,7 +3,6 @@
 	<head>
 		<meta charset="utf-8" />
 		<base href="../../../" />
-		<script src="list.js"></script>
 		<script src="page.js"></script>
 		<link type="text/css" rel="stylesheet" href="page.css" />
 	</head>

+ 0 - 1
docs/api/ar/animation/AnimationObjectGroup.html

@@ -3,7 +3,6 @@
 	<head>
 		<meta charset="utf-8" />
 		<base href="../../../" />
-		<script src="list.js"></script>
 		<script src="page.js"></script>
 		<link type="text/css" rel="stylesheet" href="page.css" />
 	</head>

+ 0 - 1
docs/api/ar/animation/AnimationUtils.html

@@ -3,7 +3,6 @@
 	<head>
 		<meta charset="utf-8" />
 		<base href="../../../" />
-		<script src="list.js"></script>
 		<script src="page.js"></script>
 		<link type="text/css" rel="stylesheet" href="page.css" />
 	</head>

+ 0 - 1
docs/api/ar/animation/KeyframeTrack.html

@@ -3,7 +3,6 @@
 	<head>
 		<meta charset="utf-8" />
 		<base href="../../../" />
-		<script src="list.js"></script>
 		<script src="page.js"></script>
 		<link type="text/css" rel="stylesheet" href="page.css" />
 	</head>

+ 0 - 1
docs/api/ar/animation/PropertyBinding.html

@@ -3,7 +3,6 @@
 	<head>
 		<meta charset="utf-8" />
 		<base href="../../../" />
-		<script src="list.js"></script>
 		<script src="page.js"></script>
 		<link type="text/css" rel="stylesheet" href="page.css" />
 	</head>

+ 0 - 1
docs/api/ar/animation/PropertyMixer.html

@@ -3,7 +3,6 @@
 	<head>
 		<meta charset="utf-8" />
 		<base href="../../../" />
-		<script src="list.js"></script>
 		<script src="page.js"></script>
 		<link type="text/css" rel="stylesheet" href="page.css" />
 	</head>

+ 0 - 1
docs/api/ar/animation/tracks/BooleanKeyframeTrack.html

@@ -3,7 +3,6 @@
 	<head>
 		<meta charset="utf-8" />
 		<base href="../../../../" />
-		<script src="list.js"></script>
 		<script src="page.js"></script>
 		<link type="text/css" rel="stylesheet" href="page.css" />
 	</head>

+ 0 - 1
docs/api/ar/animation/tracks/ColorKeyframeTrack.html

@@ -3,7 +3,6 @@
 	<head>
 		<meta charset="utf-8" />
 		<base href="../../../../" />
-		<script src="list.js"></script>
 		<script src="page.js"></script>
 		<link type="text/css" rel="stylesheet" href="page.css" />
 	</head>

+ 0 - 1
docs/api/ar/animation/tracks/NumberKeyframeTrack.html

@@ -3,7 +3,6 @@
 	<head>
 		<meta charset="utf-8" />
 		<base href="../../../../" />
-		<script src="list.js"></script>
 		<script src="page.js"></script>
 		<link type="text/css" rel="stylesheet" href="page.css" />
 	</head>

+ 0 - 1
docs/api/ar/animation/tracks/QuaternionKeyframeTrack.html

@@ -3,7 +3,6 @@
 	<head>
 		<meta charset="utf-8" />
 		<base href="../../../../" />
-		<script src="list.js"></script>
 		<script src="page.js"></script>
 		<link type="text/css" rel="stylesheet" href="page.css" />
 	</head>

+ 0 - 1
docs/api/ar/animation/tracks/StringKeyframeTrack.html

@@ -3,7 +3,6 @@
 	<head>
 		<meta charset="utf-8" />
 		<base href="../../../../" />
-		<script src="list.js"></script>
 		<script src="page.js"></script>
 		<link type="text/css" rel="stylesheet" href="page.css" />
 	</head>

+ 0 - 1
docs/api/ar/animation/tracks/VectorKeyframeTrack.html

@@ -3,7 +3,6 @@
 	<head>
 		<meta charset="utf-8" />
 		<base href="../../../../" />
-		<script src="list.js"></script>
 		<script src="page.js"></script>
 		<link type="text/css" rel="stylesheet" href="page.css" />
 	</head>

+ 3 - 4
docs/api/ar/audio/Audio.html

@@ -3,7 +3,6 @@
 	<head>
 		<meta charset="utf-8" />
 		<base href="../../../" />
-		<script src="list.js"></script>
 		<script src="page.js"></script>
 		<link type="text/css" rel="stylesheet" href="page.css" />
 	</head>
@@ -22,14 +21,14 @@
 
 		<code>
 		// create an AudioListener and add it to the camera
-		var listener = new THREE.AudioListener();
+		const listener = new THREE.AudioListener();
 		camera.add( listener );
 
 		// create a global audio source
-		var sound = new THREE.Audio( listener );
+		const sound = new THREE.Audio( listener );
 
 		// load a sound and set it as the Audio object's buffer
-		var audioLoader = new THREE.AudioLoader();
+		const audioLoader = new THREE.AudioLoader();
 		audioLoader.load( 'sounds/ambient.ogg', function( buffer ) {
 			sound.setBuffer( buffer );
 			sound.setLoop( true );

+ 5 - 6
docs/api/ar/audio/AudioAnalyser.html

@@ -3,7 +3,6 @@
 	<head>
 		<meta charset="utf-8" />
 		<base href="../../../" />
-		<script src="list.js"></script>
 		<script src="page.js"></script>
 		<link type="text/css" rel="stylesheet" href="page.css" />
 	</head>
@@ -21,14 +20,14 @@
 
 		<code>
 		// create an AudioListener and add it to the camera
-		var listener = new THREE.AudioListener();
+		const listener = new THREE.AudioListener();
 		camera.add( listener );
 
 		// create an Audio source
-		var sound = new THREE.Audio( listener );
+		const sound = new THREE.Audio( listener );
 
 		// load a sound and set it as the Audio object's buffer
-		var audioLoader = new THREE.AudioLoader();
+		const audioLoader = new THREE.AudioLoader();
 		audioLoader.load( 'sounds/ambient.ogg', function( buffer ) {
 			sound.setBuffer( buffer );
 			sound.setLoop(true);
@@ -37,10 +36,10 @@
 		});
 
 		// create an AudioAnalyser, passing in the sound and desired fftSize
-		var analyser = new THREE.AudioAnalyser( sound, 32 );
+		const analyser = new THREE.AudioAnalyser( sound, 32 );
 
 		// get the average frequency of the sound
-		var data = analyser.getAverageFrequency();
+		const data = analyser.getAverageFrequency();
 		</code>
 
 		<h2>أمثلة (Examples)</h2>

+ 0 - 1
docs/api/ar/audio/AudioContext.html

@@ -3,7 +3,6 @@
 	<head>
 		<meta charset="utf-8" />
 		<base href="../../../" />
-		<script src="list.js"></script>
 		<script src="page.js"></script>
 		<link type="text/css" rel="stylesheet" href="page.css" />
 	</head>

+ 3 - 4
docs/api/ar/audio/AudioListener.html

@@ -3,7 +3,6 @@
 	<head>
 		<meta charset="utf-8" />
 		<base href="../../../" />
-		<script src="list.js"></script>
 		<script src="page.js"></script>
 		<link type="text/css" rel="stylesheet" href="page.css" />
 	</head>
@@ -22,14 +21,14 @@
 
 		<code>
 		// create an AudioListener and add it to the camera
-		var listener = new THREE.AudioListener();
+		const listener = new THREE.AudioListener();
 		camera.add( listener );
 
 		// create a global audio source
-		var sound = new THREE.Audio( listener );
+		const sound = new THREE.Audio( listener );
 
 		// load a sound and set it as the Audio object's buffer
-		var audioLoader = new THREE.AudioLoader();
+		const audioLoader = new THREE.AudioLoader();
 		audioLoader.load( 'sounds/ambient.ogg', function( buffer ) {
 			sound.setBuffer( buffer );
 			sound.setLoop(true);

+ 6 - 7
docs/api/ar/audio/PositionalAudio.html

@@ -3,7 +3,6 @@
 	<head>
 		<meta charset="utf-8" />
 		<base href="../../../" />
-		<script src="list.js"></script>
 		<script src="page.js"></script>
 		<link type="text/css" rel="stylesheet" href="page.css" />
 	</head>
@@ -22,14 +21,14 @@
 
 		<code>
 		// create an AudioListener and add it to the camera
-		var listener = new THREE.AudioListener();
+		const listener = new THREE.AudioListener();
 		camera.add( listener );
 
 		// create the PositionalAudio object (passing in the listener)
-		var sound = new THREE.PositionalAudio( listener );
+		const sound = new THREE.PositionalAudio( listener );
 
 		// load a sound and set it as the PositionalAudio object's buffer
-		var audioLoader = new THREE.AudioLoader();
+		const audioLoader = new THREE.AudioLoader();
 		audioLoader.load( 'sounds/song.ogg', function( buffer ) {
 			sound.setBuffer( buffer );
 			sound.setRefDistance( 20 );
@@ -37,9 +36,9 @@
 		});
 
 		// create an object for the sound to play from
-		var sphere = new THREE.SphereBufferGeometry( 20, 32, 16 );
-		var material = new THREE.MeshPhongMaterial( { color: 0xff2200 } );
-		var mesh = new THREE.Mesh( sphere, material );
+		const sphere = new THREE.SphereBufferGeometry( 20, 32, 16 );
+		const material = new THREE.MeshPhongMaterial( { color: 0xff2200 } );
+		const mesh = new THREE.Mesh( sphere, material );
 		scene.add( mesh );
 
 		// finally add the sound to the mesh

+ 0 - 1
docs/api/ar/cameras/ArrayCamera.html

@@ -3,7 +3,6 @@
 	<head>
 		<meta charset="utf-8" />
 		<base href="../../../" />
-		<script src="list.js"></script>
 		<script src="page.js"></script>
 		<link type="text/css" rel="stylesheet" href="page.css" />
 	</head>

+ 0 - 1
docs/api/ar/cameras/Camera.html

@@ -3,7 +3,6 @@
 	<head>
 		<meta charset="utf-8" />
 		<base href="../../../" />
-		<script src="list.js"></script>
 		<script src="page.js"></script>
 		<link type="text/css" rel="stylesheet" href="page.css" />
 	</head>

+ 4 - 5
docs/api/ar/cameras/CubeCamera.html

@@ -3,7 +3,6 @@
 	<head>
 		<meta charset="utf-8" />
 		<base href="../../../" />
-		<script src="list.js"></script>
 		<script src="page.js"></script>
 		<link type="text/css" rel="stylesheet" href="page.css" />
 	</head>
@@ -18,15 +17,15 @@
 
 		<code>
 		// Create cube render target
-		var cubeRenderTarget = new THREE.WebGLCubeRenderTarget( 128, { format: THREE.RGBFormat, generateMipmaps: true, minFilter: THREE.LinearMipmapLinearFilter } );
+		const cubeRenderTarget = new THREE.WebGLCubeRenderTarget( 128, { format: THREE.RGBFormat, generateMipmaps: true, minFilter: THREE.LinearMipmapLinearFilter } );
 
 		// Create cube camera
-		var cubeCamera = new THREE.CubeCamera( 1, 100000, cubeRenderTarget );
+		const cubeCamera = new THREE.CubeCamera( 1, 100000, cubeRenderTarget );
 		scene.add( cubeCamera );
 
 		// Create car
-		var chromeMaterial = new THREE.MeshLambertMaterial( { color: 0xffffff, envMap: cubeRenderTarget.texture } );
-		var car = new Mesh( carGeometry, chromeMaterial );
+		const chromeMaterial = new THREE.MeshLambertMaterial( { color: 0xffffff, envMap: cubeRenderTarget.texture } );
+		const car = new Mesh( carGeometry, chromeMaterial );
 		scene.add( car );
 
 		// Update the render target cube

+ 0 - 1
docs/api/en/Polyfills.html

@@ -3,7 +3,6 @@
 	<head>
 		<meta charset="utf-8" />
 		<base href="../../" />
-		<script src="list.js"></script>
 		<script src="page.js"></script>
 		<link type="text/css" rel="stylesheet" href="page.css" />
 	</head>

+ 0 - 1
docs/api/en/Template.html

@@ -3,7 +3,6 @@
 	<head>
 		<meta charset="utf-8" />
 		<base href="../../" />
-		<script src="list.js"></script>
 		<script src="page.js"></script>
 		<link type="text/css" rel="stylesheet" href="page.css" />
 	</head>

+ 0 - 1
docs/api/en/animation/AnimationAction.html

@@ -3,7 +3,6 @@
 	<head>
 		<meta charset="utf-8" />
 		<base href="../../../" />
-		<script src="list.js"></script>
 		<script src="page.js"></script>
 		<link type="text/css" rel="stylesheet" href="page.css" />
 	</head>

+ 0 - 1
docs/api/en/animation/AnimationClip.html

@@ -3,7 +3,6 @@
 	<head>
 		<meta charset="utf-8" />
 		<base href="../../../" />
-		<script src="list.js"></script>
 		<script src="page.js"></script>
 		<link type="text/css" rel="stylesheet" href="page.css" />
 	</head>

+ 0 - 1
docs/api/en/animation/AnimationMixer.html

@@ -3,7 +3,6 @@
 	<head>
 		<meta charset="utf-8" />
 		<base href="../../../" />
-		<script src="list.js"></script>
 		<script src="page.js"></script>
 		<link type="text/css" rel="stylesheet" href="page.css" />
 	</head>

+ 0 - 1
docs/api/en/animation/AnimationObjectGroup.html

@@ -3,7 +3,6 @@
 	<head>
 		<meta charset="utf-8" />
 		<base href="../../../" />
-		<script src="list.js"></script>
 		<script src="page.js"></script>
 		<link type="text/css" rel="stylesheet" href="page.css" />
 	</head>

+ 0 - 1
docs/api/en/animation/AnimationUtils.html

@@ -3,7 +3,6 @@
 	<head>
 		<meta charset="utf-8" />
 		<base href="../../../" />
-		<script src="list.js"></script>
 		<script src="page.js"></script>
 		<link type="text/css" rel="stylesheet" href="page.css" />
 	</head>

+ 0 - 1
docs/api/en/animation/KeyframeTrack.html

@@ -3,7 +3,6 @@
 	<head>
 		<meta charset="utf-8" />
 		<base href="../../../" />
-		<script src="list.js"></script>
 		<script src="page.js"></script>
 		<link type="text/css" rel="stylesheet" href="page.css" />
 	</head>

+ 0 - 1
docs/api/en/animation/PropertyBinding.html

@@ -3,7 +3,6 @@
 	<head>
 		<meta charset="utf-8" />
 		<base href="../../../" />
-		<script src="list.js"></script>
 		<script src="page.js"></script>
 		<link type="text/css" rel="stylesheet" href="page.css" />
 	</head>

+ 0 - 1
docs/api/en/animation/PropertyMixer.html

@@ -3,7 +3,6 @@
 	<head>
 		<meta charset="utf-8" />
 		<base href="../../../" />
-		<script src="list.js"></script>
 		<script src="page.js"></script>
 		<link type="text/css" rel="stylesheet" href="page.css" />
 	</head>

+ 0 - 1
docs/api/en/animation/tracks/BooleanKeyframeTrack.html

@@ -3,7 +3,6 @@
 	<head>
 		<meta charset="utf-8" />
 		<base href="../../../../" />
-		<script src="list.js"></script>
 		<script src="page.js"></script>
 		<link type="text/css" rel="stylesheet" href="page.css" />
 	</head>

+ 0 - 1
docs/api/en/animation/tracks/ColorKeyframeTrack.html

@@ -3,7 +3,6 @@
 	<head>
 		<meta charset="utf-8" />
 		<base href="../../../../" />
-		<script src="list.js"></script>
 		<script src="page.js"></script>
 		<link type="text/css" rel="stylesheet" href="page.css" />
 	</head>

+ 0 - 1
docs/api/en/animation/tracks/NumberKeyframeTrack.html

@@ -3,7 +3,6 @@
 	<head>
 		<meta charset="utf-8" />
 		<base href="../../../../" />
-		<script src="list.js"></script>
 		<script src="page.js"></script>
 		<link type="text/css" rel="stylesheet" href="page.css" />
 	</head>

+ 0 - 1
docs/api/en/animation/tracks/QuaternionKeyframeTrack.html

@@ -3,7 +3,6 @@
 	<head>
 		<meta charset="utf-8" />
 		<base href="../../../../" />
-		<script src="list.js"></script>
 		<script src="page.js"></script>
 		<link type="text/css" rel="stylesheet" href="page.css" />
 	</head>

+ 0 - 1
docs/api/en/animation/tracks/StringKeyframeTrack.html

@@ -3,7 +3,6 @@
 	<head>
 		<meta charset="utf-8" />
 		<base href="../../../../" />
-		<script src="list.js"></script>
 		<script src="page.js"></script>
 		<link type="text/css" rel="stylesheet" href="page.css" />
 	</head>

+ 0 - 1
docs/api/en/animation/tracks/VectorKeyframeTrack.html

@@ -3,7 +3,6 @@
 	<head>
 		<meta charset="utf-8" />
 		<base href="../../../../" />
-		<script src="list.js"></script>
 		<script src="page.js"></script>
 		<link type="text/css" rel="stylesheet" href="page.css" />
 	</head>

+ 3 - 4
docs/api/en/audio/Audio.html

@@ -3,7 +3,6 @@
 	<head>
 		<meta charset="utf-8" />
 		<base href="../../../" />
-		<script src="list.js"></script>
 		<script src="page.js"></script>
 		<link type="text/css" rel="stylesheet" href="page.css" />
 	</head>
@@ -22,14 +21,14 @@
 
 		<code>
 		// create an AudioListener and add it to the camera
-		var listener = new THREE.AudioListener();
+		const listener = new THREE.AudioListener();
 		camera.add( listener );
 
 		// create a global audio source
-		var sound = new THREE.Audio( listener );
+		const sound = new THREE.Audio( listener );
 
 		// load a sound and set it as the Audio object's buffer
-		var audioLoader = new THREE.AudioLoader();
+		const audioLoader = new THREE.AudioLoader();
 		audioLoader.load( 'sounds/ambient.ogg', function( buffer ) {
 			sound.setBuffer( buffer );
 			sound.setLoop( true );

+ 5 - 6
docs/api/en/audio/AudioAnalyser.html

@@ -3,7 +3,6 @@
 	<head>
 		<meta charset="utf-8" />
 		<base href="../../../" />
-		<script src="list.js"></script>
 		<script src="page.js"></script>
 		<link type="text/css" rel="stylesheet" href="page.css" />
 	</head>
@@ -22,14 +21,14 @@
 
 		<code>
 		// create an AudioListener and add it to the camera
-		var listener = new THREE.AudioListener();
+		const listener = new THREE.AudioListener();
 		camera.add( listener );
 
 		// create an Audio source
-		var sound = new THREE.Audio( listener );
+		const sound = new THREE.Audio( listener );
 
 		// load a sound and set it as the Audio object's buffer
-		var audioLoader = new THREE.AudioLoader();
+		const audioLoader = new THREE.AudioLoader();
 		audioLoader.load( 'sounds/ambient.ogg', function( buffer ) {
 			sound.setBuffer( buffer );
 			sound.setLoop(true);
@@ -38,10 +37,10 @@
 		});
 
 		// create an AudioAnalyser, passing in the sound and desired fftSize
-		var analyser = new THREE.AudioAnalyser( sound, 32 );
+		const analyser = new THREE.AudioAnalyser( sound, 32 );
 
 		// get the average frequency of the sound
-		var data = analyser.getAverageFrequency();
+		const data = analyser.getAverageFrequency();
 		</code>
 
 		<h2>Examples</h2>

+ 0 - 1
docs/api/en/audio/AudioContext.html

@@ -3,7 +3,6 @@
 	<head>
 		<meta charset="utf-8" />
 		<base href="../../../" />
-		<script src="list.js"></script>
 		<script src="page.js"></script>
 		<link type="text/css" rel="stylesheet" href="page.css" />
 	</head>

+ 3 - 4
docs/api/en/audio/AudioListener.html

@@ -3,7 +3,6 @@
 	<head>
 		<meta charset="utf-8" />
 		<base href="../../../" />
-		<script src="list.js"></script>
 		<script src="page.js"></script>
 		<link type="text/css" rel="stylesheet" href="page.css" />
 	</head>
@@ -22,14 +21,14 @@
 
 		<code>
 		// create an AudioListener and add it to the camera
-		var listener = new THREE.AudioListener();
+		const listener = new THREE.AudioListener();
 		camera.add( listener );
 
 		// create a global audio source
-		var sound = new THREE.Audio( listener );
+		const sound = new THREE.Audio( listener );
 
 		// load a sound and set it as the Audio object's buffer
-		var audioLoader = new THREE.AudioLoader();
+		const audioLoader = new THREE.AudioLoader();
 		audioLoader.load( 'sounds/ambient.ogg', function( buffer ) {
 			sound.setBuffer( buffer );
 			sound.setLoop(true);

+ 6 - 7
docs/api/en/audio/PositionalAudio.html

@@ -3,7 +3,6 @@
 	<head>
 		<meta charset="utf-8" />
 		<base href="../../../" />
-		<script src="list.js"></script>
 		<script src="page.js"></script>
 		<link type="text/css" rel="stylesheet" href="page.css" />
 	</head>
@@ -22,14 +21,14 @@
 
 		<code>
 		// create an AudioListener and add it to the camera
-		var listener = new THREE.AudioListener();
+		const listener = new THREE.AudioListener();
 		camera.add( listener );
 
 		// create the PositionalAudio object (passing in the listener)
-		var sound = new THREE.PositionalAudio( listener );
+		const sound = new THREE.PositionalAudio( listener );
 
 		// load a sound and set it as the PositionalAudio object's buffer
-		var audioLoader = new THREE.AudioLoader();
+		const audioLoader = new THREE.AudioLoader();
 		audioLoader.load( 'sounds/song.ogg', function( buffer ) {
 			sound.setBuffer( buffer );
 			sound.setRefDistance( 20 );
@@ -37,9 +36,9 @@
 		});
 
 		// create an object for the sound to play from
-		var sphere = new THREE.SphereBufferGeometry( 20, 32, 16 );
-		var material = new THREE.MeshPhongMaterial( { color: 0xff2200 } );
-		var mesh = new THREE.Mesh( sphere, material );
+		const sphere = new THREE.SphereBufferGeometry( 20, 32, 16 );
+		const material = new THREE.MeshPhongMaterial( { color: 0xff2200 } );
+		const mesh = new THREE.Mesh( sphere, material );
 		scene.add( mesh );
 
 		// finally add the sound to the mesh

+ 0 - 1
docs/api/en/cameras/ArrayCamera.html

@@ -3,7 +3,6 @@
 	<head>
 		<meta charset="utf-8" />
 		<base href="../../../" />
-		<script src="list.js"></script>
 		<script src="page.js"></script>
 		<link type="text/css" rel="stylesheet" href="page.css" />
 	</head>

+ 0 - 1
docs/api/en/cameras/Camera.html

@@ -3,7 +3,6 @@
 	<head>
 		<meta charset="utf-8" />
 		<base href="../../../" />
-		<script src="list.js"></script>
 		<script src="page.js"></script>
 		<link type="text/css" rel="stylesheet" href="page.css" />
 	</head>

+ 4 - 5
docs/api/en/cameras/CubeCamera.html

@@ -3,7 +3,6 @@
 	<head>
 		<meta charset="utf-8" />
 		<base href="../../../" />
-		<script src="list.js"></script>
 		<script src="page.js"></script>
 		<link type="text/css" rel="stylesheet" href="page.css" />
 	</head>
@@ -18,15 +17,15 @@
 
 		<code>
 		// Create cube render target
-		var cubeRenderTarget = new THREE.WebGLCubeRenderTarget( 128, { format: THREE.RGBFormat, generateMipmaps: true, minFilter: THREE.LinearMipmapLinearFilter } );
+		const cubeRenderTarget = new THREE.WebGLCubeRenderTarget( 128, { format: THREE.RGBFormat, generateMipmaps: true, minFilter: THREE.LinearMipmapLinearFilter } );
 
 		// Create cube camera
-		var cubeCamera = new THREE.CubeCamera( 1, 100000, cubeRenderTarget );
+		const cubeCamera = new THREE.CubeCamera( 1, 100000, cubeRenderTarget );
 		scene.add( cubeCamera );
 
 		// Create car
-		var chromeMaterial = new THREE.MeshLambertMaterial( { color: 0xffffff, envMap: cubeRenderTarget.texture } );
-		var car = new Mesh( carGeometry, chromeMaterial );
+		const chromeMaterial = new THREE.MeshLambertMaterial( { color: 0xffffff, envMap: cubeRenderTarget.texture } );
+		const car = new Mesh( carGeometry, chromeMaterial );
 		scene.add( car );
 
 		// Update the render target cube

+ 1 - 2
docs/api/en/cameras/OrthographicCamera.html

@@ -3,7 +3,6 @@
 	<head>
 		<meta charset="utf-8" />
 		<base href="../../../" />
-		<script src="list.js"></script>
 		<script src="page.js"></script>
 		<link type="text/css" rel="stylesheet" href="page.css" />
 	</head>
@@ -24,7 +23,7 @@
 		<h2>Code Example</h2>
 
 		<code>
-		var camera = new THREE.OrthographicCamera( width / - 2, width / 2, height / 2, height / - 2, 1, 1000 );
+		const camera = new THREE.OrthographicCamera( width / - 2, width / 2, height / 2, height / - 2, 1, 1000 );
 		scene.add( camera );
 		</code>
 

+ 5 - 6
docs/api/en/cameras/PerspectiveCamera.html

@@ -3,7 +3,6 @@
 	<head>
 		<meta charset="utf-8" />
 		<base href="../../../" />
-		<script src="list.js"></script>
 		<script src="page.js"></script>
 		<link type="text/css" rel="stylesheet" href="page.css" />
 	</head>
@@ -22,7 +21,7 @@
 		<h2>Code Example</h2>
 
 		<code>
-		var camera = new THREE.PerspectiveCamera( 45, width / height, 1, 1000 );
+		const camera = new THREE.PerspectiveCamera( 45, width / height, 1, 1000 );
 		scene.add( camera );
 		</code>
 
@@ -160,10 +159,10 @@
 
 		then for each monitor you would call it like this:<br />
 
-		<code>var w = 1920;
-var h = 1080;
-var fullWidth = w * 3;
-var fullHeight = h * 2;
+		<code>const w = 1920;
+const h = 1080;
+const fullWidth = w * 3;
+const fullHeight = h * 2;
 
 // A
 camera.setViewOffset( fullWidth, fullHeight, w * 0, h * 0, w, h );

+ 0 - 1
docs/api/en/cameras/StereoCamera.html

@@ -3,7 +3,6 @@
 	<head>
 		<meta charset="utf-8" />
 		<base href="../../../" />
-		<script src="list.js"></script>
 		<script src="page.js"></script>
 		<link type="text/css" rel="stylesheet" href="page.css" />
 	</head>

+ 0 - 1
docs/api/en/constants/Animation.html

@@ -3,7 +3,6 @@
 	<head>
 		<meta charset="utf-8" />
 		<base href="../../../" />
-		<script src="list.js"></script>
 		<script src="page.js"></script>
 		<link type="text/css" rel="stylesheet" href="page.css" />
 	</head>

+ 1 - 2
docs/api/en/constants/Core.html

@@ -3,7 +3,6 @@
 	<head>
 		<meta charset="utf-8" />
 		<base href="../../../" />
-		<script src="list.js"></script>
 		<script src="page.js"></script>
 		<link type="text/css" rel="stylesheet" href="page.css" />
 	</head>
@@ -13,7 +12,7 @@
 		<h2>Revision Number</h2>
 
 		<code>
-		THREE.REV
+		THREE.REVISION
 		</code>
 
 		<div id="rev">

+ 1 - 2
docs/api/en/constants/CustomBlendingEquations.html

@@ -3,7 +3,6 @@
 	<head>
 		<meta charset="utf-8" />
 		<base href="../../../" />
-		<script src="list.js"></script>
 		<script src="page.js"></script>
 		<link type="text/css" rel="stylesheet" href="page.css" />
 	</head>
@@ -17,7 +16,7 @@
 		<h2>Code Example</h2>
 
 		<code>
-		var material = new THREE.MeshBasicMaterial( {color: 0x00ff00} );
+		const material = new THREE.MeshBasicMaterial( {color: 0x00ff00} );
 		material.blending = THREE.CustomBlending;
 		material.blendEquation = THREE.AddEquation; //default
 		material.blendSrc = THREE.SrcAlphaFactor; //default

+ 0 - 1
docs/api/en/constants/Materials.html

@@ -3,7 +3,6 @@
 	<head>
 		<meta charset="utf-8" />
 		<base href="../../../" />
-		<script src="list.js"></script>
 		<script src="page.js"></script>
 		<link type="text/css" rel="stylesheet" href="page.css" />
 	</head>

+ 0 - 1
docs/api/en/constants/Renderer.html

@@ -3,7 +3,6 @@
 	<head>
 		<meta charset="utf-8" />
 		<base href="../../../" />
-		<script src="list.js"></script>
 		<script src="page.js"></script>
 		<link type="text/css" rel="stylesheet" href="page.css" />
 	</head>

+ 0 - 1
docs/api/en/constants/Textures.html

@@ -3,7 +3,6 @@
 	<head>
 		<meta charset="utf-8" />
 		<base href="../../../" />
-		<script src="list.js"></script>
 		<script src="page.js"></script>
 		<link type="text/css" rel="stylesheet" href="page.css" />
 	</head>

+ 0 - 1
docs/api/en/core/BufferAttribute.html

@@ -3,7 +3,6 @@
 	<head>
 		<meta charset="utf-8" />
 		<base href="../../../" />
-		<script src="list.js"></script>
 		<script src="page.js"></script>
 		<link type="text/css" rel="stylesheet" href="page.css" />
 	</head>

+ 4 - 5
docs/api/en/core/BufferGeometry.html

@@ -3,7 +3,6 @@
 	<head>
 		<meta charset="utf-8" />
 		<base href="../../../" />
-		<script src="list.js"></script>
 		<script src="page.js"></script>
 		<link type="text/css" rel="stylesheet" href="page.css" />
 	</head>
@@ -24,10 +23,10 @@
 
 		<h2>Code Example</h2>
 		<code>
-		var geometry = new THREE.BufferGeometry();
+		const geometry = new THREE.BufferGeometry();
 		// create a simple square shape. We duplicate the top left and bottom right
 		// vertices because each vertex needs to appear once per triangle.
-		var vertices = new Float32Array( [
+		const vertices = new Float32Array( [
 			-1.0, -1.0,  1.0,
 			 1.0, -1.0,  1.0,
 			 1.0,  1.0,  1.0,
@@ -39,8 +38,8 @@
 
 		// itemSize = 3 because there are 3 values (components) per vertex
 		geometry.setAttribute( 'position', new THREE.BufferAttribute( vertices, 3 ) );
-		var material = new THREE.MeshBasicMaterial( { color: 0xff0000 } );
-		var mesh = new THREE.Mesh( geometry, material );
+		const material = new THREE.MeshBasicMaterial( { color: 0xff0000 } );
+		const mesh = new THREE.Mesh( geometry, material );
 		</code>
 
 		<h2>Examples</h2>

+ 0 - 1
docs/api/en/core/Clock.html

@@ -3,7 +3,6 @@
 	<head>
 		<meta charset="utf-8" />
 		<base href="../../../" />
-		<script src="list.js"></script>
 		<script src="page.js"></script>
 		<link type="text/css" rel="stylesheet" href="page.css" />
 	</head>

+ 0 - 1
docs/api/en/core/DirectGeometry.html

@@ -3,7 +3,6 @@
 	<head>
 		<meta charset="utf-8" />
 		<base href="../../../" />
-		<script src="list.js"></script>
 		<script src="page.js"></script>
 		<link type="text/css" rel="stylesheet" href="page.css" />
 	</head>

+ 6 - 11
docs/api/en/core/EventDispatcher.html

@@ -3,7 +3,6 @@
 	<head>
 		<meta charset="utf-8" />
 		<base href="../../../" />
-		<script src="list.js"></script>
 		<script src="page.js"></script>
 		<link type="text/css" rel="stylesheet" href="page.css" />
 	</head>
@@ -20,27 +19,23 @@
 		<code>
 		// Adding events to a custom object
 
-		var Car = function () {
+		class Car extends EventDispatcher {
 
-		    this.start = function () {
+			start() {
 
-		        this.dispatchEvent( { type: 'start', message: 'vroom vroom!' } );
+				this.dispatchEvent( { type: 'start', message: 'vroom vroom!' } );
 
-		    };
+			}
 
 		};
 
-		// Mixing the EventDispatcher.prototype with the custom object prototype
-
-		Object.assign( Car.prototype, EventDispatcher.prototype );
-
 		// Using events with the custom object
 
-		var car = new Car();
+		const car = new Car();
 
 		car.addEventListener( 'start', function ( event ) {
 
-		    alert( event.message );
+			alert( event.message );
 
 		} );
 

+ 6 - 7
docs/api/en/core/Face3.html

@@ -3,7 +3,6 @@
 	<head>
 		<meta charset="utf-8" />
 		<base href="../../../" />
-		<script src="list.js"></script>
 		<script src="page.js"></script>
 		<link type="text/css" rel="stylesheet" href="page.css" />
 	</head>
@@ -19,19 +18,19 @@
 		<h2>Code Example</h2>
 
 		<code>
-		var material = new THREE.MeshStandardMaterial( { color : 0x00cc00 } );
+		const material = new THREE.MeshStandardMaterial( { color : 0x00cc00 } );
 
 		//create a triangular geometry
-		var geometry = new THREE.Geometry();
+		const geometry = new THREE.Geometry();
 		geometry.vertices.push( new THREE.Vector3( -50, -50, 0 ) );
 		geometry.vertices.push( new THREE.Vector3(  50, -50, 0 ) );
 		geometry.vertices.push( new THREE.Vector3(  50,  50, 0 ) );
 
 		//create a new face using vertices 0, 1, 2
-		var normal = new THREE.Vector3( 0, 0, 1 ); //optional
-		var color = new THREE.Color( 0xffaa00 ); //optional
-		var materialIndex = 0; //optional
-		var face = new THREE.Face3( 0, 1, 2, normal, color, materialIndex );
+		const normal = new THREE.Vector3( 0, 0, 1 ); //optional
+		const color = new THREE.Color( 0xffaa00 ); //optional
+		const materialIndex = 0; //optional
+		const face = new THREE.Face3( 0, 1, 2, normal, color, materialIndex );
 
 		//add the face to the geometry's faces array
 		geometry.faces.push( face );

+ 0 - 1
docs/api/en/core/GLBufferAttribute.html

@@ -3,7 +3,6 @@
 	<head>
 		<meta charset="utf-8" />
 		<base href="../../../" />
-		<script src="list.js"></script>
 		<script src="page.js"></script>
 		<link type="text/css" rel="stylesheet" href="page.css" />
 	</head>

+ 1 - 2
docs/api/en/core/Geometry.html

@@ -3,7 +3,6 @@
 	<head>
 		<meta charset="utf-8" />
 		<base href="../../../" />
-		<script src="list.js"></script>
 		<script src="page.js"></script>
 		<link type="text/css" rel="stylesheet" href="page.css" />
 	</head>
@@ -24,7 +23,7 @@
 		<h2>Code Example</h2>
 
 		<code>
-		var geometry = new THREE.Geometry();
+		const geometry = new THREE.Geometry();
 
 		geometry.vertices.push(
 			new THREE.Vector3( -10,  10, 0 ),

+ 0 - 1
docs/api/en/core/InstancedBufferAttribute.html

@@ -3,7 +3,6 @@
 	<head>
 		<meta charset="utf-8" />
 		<base href="../../../" />
-		<script src="list.js"></script>
 		<script src="page.js"></script>
 		<link type="text/css" rel="stylesheet" href="page.css" />
 	</head>

+ 0 - 1
docs/api/en/core/InstancedBufferGeometry.html

@@ -3,7 +3,6 @@
 	<head>
 		<meta charset="utf-8" />
 		<base href="../../../" />
-		<script src="list.js"></script>
 		<script src="page.js"></script>
 		<link type="text/css" rel="stylesheet" href="page.css" />
 	</head>

+ 0 - 1
docs/api/en/core/InstancedInterleavedBuffer.html

@@ -3,7 +3,6 @@
 	<head>
 		<meta charset="utf-8" />
 		<base href="../../../" />
-		<script src="list.js"></script>
 		<script src="page.js"></script>
 		<link type="text/css" rel="stylesheet" href="page.css" />
 	</head>

+ 0 - 1
docs/api/en/core/InterleavedBuffer.html

@@ -3,7 +3,6 @@
 	<head>
 		<meta charset="utf-8" />
 		<base href="../../../" />
-		<script src="list.js"></script>
 		<script src="page.js"></script>
 		<link type="text/css" rel="stylesheet" href="page.css" />
 	</head>

+ 0 - 1
docs/api/en/core/InterleavedBufferAttribute.html

@@ -3,7 +3,6 @@
 	<head>
 		<meta charset="utf-8" />
 		<base href="../../../" />
-		<script src="list.js"></script>
 		<script src="page.js"></script>
 		<link type="text/css" rel="stylesheet" href="page.css" />
 	</head>

+ 0 - 1
docs/api/en/core/Layers.html

@@ -3,7 +3,6 @@
 	<head>
 		<meta charset="utf-8" />
 		<base href="../../../" />
-		<script src="list.js"></script>
 		<script src="page.js"></script>
 		<link type="text/css" rel="stylesheet" href="page.css" />
 	</head>

+ 11 - 4
docs/api/en/core/Object3D.html

@@ -3,7 +3,6 @@
 	<head>
 		<meta charset="utf-8" />
 		<base href="../../../" />
-		<script src="list.js"></script>
 		<script src="page.js"></script>
 		<link type="text/css" rel="stylesheet" href="page.css" />
 	</head>
@@ -314,6 +313,11 @@
 		Removes *object* as child of this object. An arbitrary number of objects may be removed.
 		</p>
 
+		<h3>[method:this clear]()</h3>
+		<p>
+		Removes all child objects.
+		</p>
+
 		<h3>[method:this rotateOnAxis]( [param:Vector3 axis], [param:Float angle] )</h3>
 		<p>
 		axis -- A normalized vector in object space. <br />
@@ -413,7 +417,8 @@
 		<p>
 		callback - A function with as first argument an object3D object.<br /><br />
 
-		Executes the callback on this object and all descendants.
+		Executes the callback on this object and all descendants.<br/>
+		Note: Modifying the scene graph inside the callback is discouraged.
 		</p>
 
 		<h3>[method:null traverseVisible]( [param:Function callback] )</h3>
@@ -421,14 +426,16 @@
 		callback - A function with as first argument an object3D object.<br /><br />
 
 		Like traverse, but the callback will only be executed for visible objects.
-		Descendants of invisible objects are not traversed.
+		Descendants of invisible objects are not traversed.<br/>
+		Note: Modifying the scene graph inside the callback is discouraged.
 		</p>
 
 		<h3>[method:null traverseAncestors]( [param:Function callback] )</h3>
 		<p>
 		callback - A function with as first argument an object3D object.<br /><br />
 
-		Executes the callback on all ancestors.
+		Executes the callback on all ancestors.<br/>
+		Note: Modifying the scene graph inside the callback is discouraged.
 		</p>
 
 		<h3>[method:null updateMatrix]()</h3>

+ 4 - 5
docs/api/en/core/Raycaster.html

@@ -3,7 +3,6 @@
 	<head>
 		<meta charset="utf-8" />
 		<base href="../../../" />
-		<script src="list.js"></script>
 		<script src="page.js"></script>
 		<link type="text/css" rel="stylesheet" href="page.css" />
 	</head>
@@ -18,8 +17,8 @@
 
 		<h2>Code Example</h2>
 		<code>
-		var raycaster = new THREE.Raycaster();
-		var mouse = new THREE.Vector2();
+		const raycaster = new THREE.Raycaster();
+		const mouse = new THREE.Vector2();
 
 		function onMouseMove( event ) {
 
@@ -37,9 +36,9 @@
 			raycaster.setFromCamera( mouse, camera );
 
 			// calculate objects intersecting the picking ray
-			var intersects = raycaster.intersectObjects( scene.children );
+			const intersects = raycaster.intersectObjects( scene.children );
 
-			for ( var i = 0; i < intersects.length; i++ ) {
+			for ( let i = 0; i < intersects.length; i ++ ) {
 
 				intersects[ i ].object.material.color.set( 0xff0000 );
 

+ 2 - 3
docs/api/en/core/Uniform.html

@@ -3,7 +3,6 @@
 	<head>
 		<meta charset="utf-8" />
 		<base href="../../../" />
-		<script src="list.js"></script>
 		<script src="page.js"></script>
 		<link type="text/css" rel="stylesheet" href="page.css" />
 	</head>
@@ -218,11 +217,11 @@
 			It's also possible to manage *structs* in arrays. The syntax for this use case looks like so:
 		</p>
 		<code>
-		var entry1 = {
+		const entry1 = {
 			position: new Vector3(),
 			direction: new Vector3( 0, 0, 1 )
 		};
-		var entry2 = {
+		const entry2 = {
 			position: new Vector3( 1, 1, 1 ),
 			direction: new Vector3( 0, 1, 0 )
 		};

+ 0 - 1
docs/api/en/core/bufferAttributeTypes/BufferAttributeTypes.html

@@ -3,7 +3,6 @@
 	<head>
 		<meta charset="utf-8" />
 		<base href="../../../../" />
-		<script src="list.js"></script>
 		<script src="page.js"></script>
 		<link type="text/css" rel="stylesheet" href="page.css" />
 	</head>

+ 0 - 1
docs/api/en/extras/Earcut.html

@@ -3,7 +3,6 @@
 	<head>
 		<meta charset="utf-8" />
 		<base href="../../../" />
-		<script src="list.js"></script>
 		<script src="page.js"></script>
 		<link type="text/css" rel="stylesheet" href="page.css" />
 	</head>

+ 0 - 1
docs/api/en/extras/ImageUtils.html

@@ -3,7 +3,6 @@
 	<head>
 		<meta charset="utf-8" />
 		<base href="../../../" />
-		<script src="list.js"></script>
 		<script src="page.js"></script>
 		<link type="text/css" rel="stylesheet" href="page.css" />
 	</head>

+ 0 - 1
docs/api/en/extras/PMREMGenerator.html

@@ -3,7 +3,6 @@
 	<head>
 		<meta charset="utf-8" />
 		<base href="../../../" />
-		<script src="list.js"></script>
 		<script src="page.js"></script>
 		<link type="text/css" rel="stylesheet" href="page.css" />
 	</head>

+ 0 - 1
docs/api/en/extras/ShapeUtils.html

@@ -3,7 +3,6 @@
 	<head>
 		<meta charset="utf-8" />
 		<base href="../../../" />
-		<script src="list.js"></script>
 		<script src="page.js"></script>
 		<link type="text/css" rel="stylesheet" href="page.css" />
 	</head>

+ 0 - 1
docs/api/en/extras/core/Curve.html

@@ -3,7 +3,6 @@
 	<head>
 		<meta charset="utf-8" />
 		<base href="../../../../" />
-		<script src="list.js"></script>
 		<script src="page.js"></script>
 		<link type="text/css" rel="stylesheet" href="page.css" />
 	</head>

+ 0 - 1
docs/api/en/extras/core/CurvePath.html

@@ -3,7 +3,6 @@
 	<head>
 		<meta charset="utf-8" />
 		<base href="../../../../" />
-		<script src="list.js"></script>
 		<script src="page.js"></script>
 		<link type="text/css" rel="stylesheet" href="page.css" />
 	</head>

+ 0 - 1
docs/api/en/extras/core/Font.html

@@ -3,7 +3,6 @@
 	<head>
 		<meta charset="utf-8" />
 		<base href="../../../../" />
-		<script src="list.js"></script>
 		<script src="page.js"></script>
 		<link type="text/css" rel="stylesheet" href="page.css" />
 	</head>

+ 0 - 1
docs/api/en/extras/core/Interpolations.html

@@ -3,7 +3,6 @@
 	<head>
 		<meta charset="utf-8" />
 		<base href="../../../../" />
-		<script src="list.js"></script>
 		<script src="page.js"></script>
 		<link type="text/css" rel="stylesheet" href="page.css" />
 	</head>

+ 5 - 6
docs/api/en/extras/core/Path.html

@@ -3,7 +3,6 @@
 	<head>
 		<meta charset="utf-8" />
 		<base href="../../../../" />
-		<script src="list.js"></script>
 		<script src="page.js"></script>
 		<link type="text/css" rel="stylesheet" href="page.css" />
 	</head>
@@ -19,18 +18,18 @@
 		<h2>Code Example</h2>
 
 		<code>
-		var path = new THREE.Path();
+		const path = new THREE.Path();
 
 		path.lineTo( 0, 0.8 );
 		path.quadraticCurveTo( 0, 1, 0.2, 1 );
 		path.lineTo( 1, 1 );
 
-		var points = path.getPoints();
+		const points = path.getPoints();
 
-		var geometry = new THREE.BufferGeometry().setFromPoints( points );
-		var material = new THREE.LineBasicMaterial( { color: 0xffffff } );
+		const geometry = new THREE.BufferGeometry().setFromPoints( points );
+		const material = new THREE.LineBasicMaterial( { color: 0xffffff } );
 
-		var line = new THREE.Line( geometry, material );
+		const line = new THREE.Line( geometry, material );
 		scene.add( line );
 		</code>
 

+ 4 - 5
docs/api/en/extras/core/Shape.html

@@ -3,7 +3,6 @@
 	<head>
 		<meta charset="utf-8" />
 		<base href="../../../../" />
-		<script src="list.js"></script>
 		<script src="page.js"></script>
 		<link type="text/css" rel="stylesheet" href="page.css" />
 	</head>
@@ -20,7 +19,7 @@
 		<h2>Code Example</h2>
 
 		<code>
-		var heartShape = new THREE.Shape();
+		const heartShape = new THREE.Shape();
 
 		heartShape.moveTo( 25, 25 );
 		heartShape.bezierCurveTo( 25, 25, 20, 0, 0, 0 );
@@ -30,11 +29,11 @@
 		heartShape.bezierCurveTo( 80, 35, 80, 0, 50, 0 );
 		heartShape.bezierCurveTo( 35, 0, 25, 25, 25, 25 );
 
-		var extrudeSettings = { amount: 8, bevelEnabled: true, bevelSegments: 2, steps: 2, bevelSize: 1, bevelThickness: 1 };
+		const extrudeSettings = { amount: 8, bevelEnabled: true, bevelSegments: 2, steps: 2, bevelSize: 1, bevelThickness: 1 };
 
-		var geometry = new THREE.ExtrudeBufferGeometry( heartShape, extrudeSettings );
+		const geometry = new THREE.ExtrudeBufferGeometry( heartShape, extrudeSettings );
 
-		var mesh = new THREE.Mesh( geometry, new THREE.MeshPhongMaterial() );
+		const mesh = new THREE.Mesh( geometry, new THREE.MeshPhongMaterial() );
 		</code>
 
 		<h2>Examples</h2>

+ 0 - 1
docs/api/en/extras/core/ShapePath.html

@@ -3,7 +3,6 @@
 	<head>
 		<meta charset="utf-8" />
 		<base href="../../../../" />
-		<script src="list.js"></script>
 		<script src="page.js"></script>
 		<link type="text/css" rel="stylesheet" href="page.css" />
 	</head>

+ 0 - 1
docs/api/en/extras/curves/ArcCurve.html

@@ -3,7 +3,6 @@
 	<head>
 		<meta charset="utf-8" />
 		<base href="../../../../" />
-		<script src="list.js"></script>
 		<script src="page.js"></script>
 		<link type="text/css" rel="stylesheet" href="page.css" />
 	</head>

+ 5 - 6
docs/api/en/extras/curves/CatmullRomCurve3.html

@@ -3,7 +3,6 @@
 	<head>
 		<meta charset="utf-8" />
 		<base href="../../../../" />
-		<script src="list.js"></script>
 		<script src="page.js"></script>
 		<link type="text/css" rel="stylesheet" href="page.css" />
 	</head>
@@ -19,7 +18,7 @@
 
 		<code>
 		//Create a closed wavey loop
-		var curve = new THREE.CatmullRomCurve3( [
+		const curve = new THREE.CatmullRomCurve3( [
 			new THREE.Vector3( -10, 0, 10 ),
 			new THREE.Vector3( -5, 5, 5 ),
 			new THREE.Vector3( 0, 0, 0 ),
@@ -27,13 +26,13 @@
 			new THREE.Vector3( 10, 0, 10 )
 		] );
 
-		var points = curve.getPoints( 50 );
-		var geometry = new THREE.BufferGeometry().setFromPoints( points );
+		const points = curve.getPoints( 50 );
+		const geometry = new THREE.BufferGeometry().setFromPoints( points );
 
-		var material = new THREE.LineBasicMaterial( { color : 0xff0000 } );
+		const material = new THREE.LineBasicMaterial( { color : 0xff0000 } );
 
 		// Create the final object to add to the scene
-		var curveObject = new THREE.Line( geometry, material );
+		const curveObject = new THREE.Line( geometry, material );
 		</code>
 
 		<h2>Examples</h2>

+ 5 - 6
docs/api/en/extras/curves/CubicBezierCurve.html

@@ -3,7 +3,6 @@
 	<head>
 		<meta charset="utf-8" />
 		<base href="../../../../" />
-		<script src="list.js"></script>
 		<script src="page.js"></script>
 		<link type="text/css" rel="stylesheet" href="page.css" />
 	</head>
@@ -21,20 +20,20 @@
 		<h2>Code Example</h2>
 
 		<code>
-		var curve = new THREE.CubicBezierCurve(
+		const curve = new THREE.CubicBezierCurve(
 			new THREE.Vector2( -10, 0 ),
 			new THREE.Vector2( -5, 15 ),
 			new THREE.Vector2( 20, 15 ),
 			new THREE.Vector2( 10, 0 )
 		);
 
-		var points = curve.getPoints( 50 );
-		var geometry = new THREE.BufferGeometry().setFromPoints( points );
+		const points = curve.getPoints( 50 );
+		const geometry = new THREE.BufferGeometry().setFromPoints( points );
 
-		var material = new THREE.LineBasicMaterial( { color : 0xff0000 } );
+		const material = new THREE.LineBasicMaterial( { color : 0xff0000 } );
 
 		// Create the final object to add to the scene
-		var curveObject = new THREE.Line( geometry, material );
+		const curveObject = new THREE.Line( geometry, material );
 		</code>
 
 		<h2>Constructor</h2>

+ 5 - 6
docs/api/en/extras/curves/CubicBezierCurve3.html

@@ -3,7 +3,6 @@
 	<head>
 		<meta charset="utf-8" />
 		<base href="../../../../" />
-		<script src="list.js"></script>
 		<script src="page.js"></script>
 		<link type="text/css" rel="stylesheet" href="page.css" />
 	</head>
@@ -21,20 +20,20 @@
 		<h2>Code Example</h2>
 
 		<code>
-		var curve = new THREE.CubicBezierCurve3(
+		const curve = new THREE.CubicBezierCurve3(
 			new THREE.Vector3( -10, 0, 0 ),
 			new THREE.Vector3( -5, 15, 0 ),
 			new THREE.Vector3( 20, 15, 0 ),
 			new THREE.Vector3( 10, 0, 0 )
 		);
 
-		var points = curve.getPoints( 50 );
-		var geometry = new THREE.BufferGeometry().setFromPoints( points );
+		const points = curve.getPoints( 50 );
+		const geometry = new THREE.BufferGeometry().setFromPoints( points );
 
-		var material = new THREE.LineBasicMaterial( { color : 0xff0000 } );
+		const material = new THREE.LineBasicMaterial( { color : 0xff0000 } );
 
 		// Create the final object to add to the scene
-		var curveObject = new THREE.Line( geometry, material );
+		const curveObject = new THREE.Line( geometry, material );
 
 		</code>
 

+ 5 - 6
docs/api/en/extras/curves/EllipseCurve.html

@@ -3,7 +3,6 @@
 	<head>
 		<meta charset="utf-8" />
 		<base href="../../../../" />
-		<script src="list.js"></script>
 		<script src="page.js"></script>
 		<link type="text/css" rel="stylesheet" href="page.css" />
 	</head>
@@ -20,7 +19,7 @@
 		<h2>Code Example</h2>
 
 		<code>
-		var curve = new THREE.EllipseCurve(
+		const curve = new THREE.EllipseCurve(
 			0,  0,            // ax, aY
 			10, 10,           // xRadius, yRadius
 			0,  2 * Math.PI,  // aStartAngle, aEndAngle
@@ -28,13 +27,13 @@
 			0                 // aRotation
 		);
 
-		var points = curve.getPoints( 50 );
-		var geometry = new THREE.BufferGeometry().setFromPoints( points );
+		const points = curve.getPoints( 50 );
+		const geometry = new THREE.BufferGeometry().setFromPoints( points );
 
-		var material = new THREE.LineBasicMaterial( { color : 0xff0000 } );
+		const material = new THREE.LineBasicMaterial( { color : 0xff0000 } );
 
 		// Create the final object to add to the scene
-		var ellipse = new THREE.Line( geometry, material );
+		const ellipse = new THREE.Line( geometry, material );
 		</code>
 
 		<h2>Constructor</h2>

+ 0 - 1
docs/api/en/extras/curves/LineCurve.html

@@ -3,7 +3,6 @@
 	<head>
 		<meta charset="utf-8" />
 		<base href="../../../../" />
-		<script src="list.js"></script>
 		<script src="page.js"></script>
 		<link type="text/css" rel="stylesheet" href="page.css" />
 	</head>

+ 0 - 1
docs/api/en/extras/curves/LineCurve3.html

@@ -3,7 +3,6 @@
 	<head>
 		<meta charset="utf-8" />
 		<base href="../../../../" />
-		<script src="list.js"></script>
 		<script src="page.js"></script>
 		<link type="text/css" rel="stylesheet" href="page.css" />
 	</head>

+ 6 - 7
docs/api/en/extras/curves/QuadraticBezierCurve.html

@@ -3,7 +3,6 @@
 	<head>
 		<meta charset="utf-8" />
 		<base href="../../../../" />
-		<script src="list.js"></script>
 		<script src="page.js"></script>
 		<link type="text/css" rel="stylesheet" href="page.css" />
 	</head>
@@ -21,19 +20,19 @@
 		<h2>Code Example</h2>
 
 		<code>
-		var curve = new THREE.QuadraticBezierCurve(
+		const curve = new THREE.QuadraticBezierCurve(
 			new THREE.Vector2( -10, 0 ),
 			new THREE.Vector2( 20, 15 ),
 			new THREE.Vector2( 10, 0 )
 		);
 
-		var points = curve.getPoints( 50 );
-		var geometry = new THREE.BufferGeometry().setFromPoints( points );
+		const points = curve.getPoints( 50 );
+		const geometry = new THREE.BufferGeometry().setFromPoints( points );
 
-		var material = new THREE.LineBasicMaterial( { color : 0xff0000 } );
+		const material = new THREE.LineBasicMaterial( { color : 0xff0000 } );
 
-		//Create the final object to add to the scene
-		var curveObject = new THREE.Line( geometry, material );
+		// Create the final object to add to the scene
+		const curveObject = new THREE.Line( geometry, material );
 		</code>
 
 		<h2>Constructor</h2>

+ 5 - 6
docs/api/en/extras/curves/QuadraticBezierCurve3.html

@@ -3,7 +3,6 @@
 	<head>
 		<meta charset="utf-8" />
 		<base href="../../../../" />
-		<script src="list.js"></script>
 		<script src="page.js"></script>
 		<link type="text/css" rel="stylesheet" href="page.css" />
 	</head>
@@ -21,19 +20,19 @@
 		<h2>Code Example</h2>
 
 		<code>
-		var curve = new THREE.QuadraticBezierCurve3(
+		const curve = new THREE.QuadraticBezierCurve3(
 			new THREE.Vector3( -10, 0, 0 ),
 			new THREE.Vector3( 20, 15, 0 ),
 			new THREE.Vector3( 10, 0, 0 )
 		);
 
-		var points = curve.getPoints( 50 );
-		var geometry = new THREE.BufferGeometry().setFromPoints( points );
+		const points = curve.getPoints( 50 );
+		const geometry = new THREE.BufferGeometry().setFromPoints( points );
 
-		var material = new THREE.LineBasicMaterial( { color : 0xff0000 } );
+		const material = new THREE.LineBasicMaterial( { color : 0xff0000 } );
 
 		// Create the final object to add to the scene
-		var curveObject = new THREE.Line( geometry, material );
+		const curveObject = new THREE.Line( geometry, material );
 		</code>
 
 		<h2>Constructor</h2>

+ 5 - 6
docs/api/en/extras/curves/SplineCurve.html

@@ -3,7 +3,6 @@
 	<head>
 		<meta charset="utf-8" />
 		<base href="../../../../" />
-		<script src="list.js"></script>
 		<script src="page.js"></script>
 		<link type="text/css" rel="stylesheet" href="page.css" />
 	</head>
@@ -21,7 +20,7 @@
 
 		<code>
 		// Create a sine-like wave
-		var curve = new THREE.SplineCurve( [
+		const curve = new THREE.SplineCurve( [
 			new THREE.Vector2( -10, 0 ),
 			new THREE.Vector2( -5, 5 ),
 			new THREE.Vector2( 0, 0 ),
@@ -29,13 +28,13 @@
 			new THREE.Vector2( 10, 0 )
 		] );
 
-		var points = curve.getPoints( 50 );
-		var geometry = new THREE.BufferGeometry().setFromPoints( points );
+		const points = curve.getPoints( 50 );
+		const geometry = new THREE.BufferGeometry().setFromPoints( points );
 
-		var material = new THREE.LineBasicMaterial( { color : 0xff0000 } );
+		const material = new THREE.LineBasicMaterial( { color : 0xff0000 } );
 
 		// Create the final object to add to the scene
-		var splineObject = new THREE.Line( geometry, material );
+		const splineObject = new THREE.Line( geometry, material );
 		</code>
 
 		<h2>Constructor</h2>

+ 0 - 1
docs/api/en/extras/objects/ImmediateRenderObject.html

@@ -3,7 +3,6 @@
 	<head>
 		<meta charset="utf-8" />
 		<base href="../../../../" />
-		<script src="list.js"></script>
 		<script src="page.js"></script>
 		<link type="text/css" rel="stylesheet" href="page.css" />
 	</head>

Some files were not shown because too many files changed in this diff