Browse Source

merging dev

Emmett Lalish 5 years ago
parent
commit
a9fe07be26
100 changed files with 3212 additions and 3232 deletions
  1. 14 0
      .editorconfig
  2. 3 5
      .github/ISSUE_TEMPLATE.md
  3. 0 1
      .npmignore
  4. 1 1
      LICENSE
  5. 5 10
      README.md
  6. 973 1078
      build/three.js
  7. 368 416
      build/three.min.js
  8. 961 1064
      build/three.module.js
  9. 0 143
      dist/Three.d.ts
  10. 3 1
      docs/api/en/Polyfills.html
  11. 3 1
      docs/api/en/Template.html
  12. 3 1
      docs/api/en/animation/AnimationAction.html
  13. 3 1
      docs/api/en/animation/AnimationClip.html
  14. 10 1
      docs/api/en/animation/AnimationMixer.html
  15. 3 1
      docs/api/en/animation/AnimationObjectGroup.html
  16. 7 1
      docs/api/en/animation/AnimationUtils.html
  17. 4 2
      docs/api/en/animation/KeyframeTrack.html
  18. 3 1
      docs/api/en/animation/PropertyBinding.html
  19. 3 1
      docs/api/en/animation/PropertyMixer.html
  20. 3 1
      docs/api/en/animation/tracks/BooleanKeyframeTrack.html
  21. 3 1
      docs/api/en/animation/tracks/ColorKeyframeTrack.html
  22. 3 1
      docs/api/en/animation/tracks/NumberKeyframeTrack.html
  23. 3 1
      docs/api/en/animation/tracks/QuaternionKeyframeTrack.html
  24. 3 1
      docs/api/en/animation/tracks/StringKeyframeTrack.html
  25. 3 1
      docs/api/en/animation/tracks/VectorKeyframeTrack.html
  26. 26 10
      docs/api/en/audio/Audio.html
  27. 4 2
      docs/api/en/audio/AudioAnalyser.html
  28. 3 1
      docs/api/en/audio/AudioContext.html
  29. 7 5
      docs/api/en/audio/AudioListener.html
  30. 5 3
      docs/api/en/audio/PositionalAudio.html
  31. 5 3
      docs/api/en/cameras/ArrayCamera.html
  32. 3 8
      docs/api/en/cameras/Camera.html
  33. 8 6
      docs/api/en/cameras/CubeCamera.html
  34. 6 12
      docs/api/en/cameras/OrthographicCamera.html
  35. 6 10
      docs/api/en/cameras/PerspectiveCamera.html
  36. 3 1
      docs/api/en/cameras/StereoCamera.html
  37. 4 2
      docs/api/en/constants/Animation.html
  38. 3 2
      docs/api/en/constants/Core.html
  39. 3 1
      docs/api/en/constants/CustomBlendingEquations.html
  40. 0 83
      docs/api/en/constants/DrawModes.html
  41. 48 1
      docs/api/en/constants/Materials.html
  42. 7 2
      docs/api/en/constants/Renderer.html
  43. 295 9
      docs/api/en/constants/Textures.html
  44. 24 28
      docs/api/en/core/BufferAttribute.html
  45. 17 52
      docs/api/en/core/BufferGeometry.html
  46. 5 3
      docs/api/en/core/Clock.html
  47. 3 1
      docs/api/en/core/DirectGeometry.html
  48. 3 1
      docs/api/en/core/EventDispatcher.html
  49. 3 1
      docs/api/en/core/Face3.html
  50. 8 11
      docs/api/en/core/Geometry.html
  51. 3 6
      docs/api/en/core/InstancedBufferAttribute.html
  52. 3 6
      docs/api/en/core/InstancedBufferGeometry.html
  53. 3 6
      docs/api/en/core/InstancedInterleavedBuffer.html
  54. 10 19
      docs/api/en/core/InterleavedBuffer.html
  55. 7 7
      docs/api/en/core/InterleavedBufferAttribute.html
  56. 13 1
      docs/api/en/core/Layers.html
  57. 27 19
      docs/api/en/core/Object3D.html
  58. 15 2
      docs/api/en/core/Raycaster.html
  59. 3 1
      docs/api/en/core/Uniform.html
  60. 6 3
      docs/api/en/core/bufferAttributeTypes/BufferAttributeTypes.html
  61. 31 20
      docs/api/en/deprecated/DeprecatedList.html
  62. 3 1
      docs/api/en/extras/Earcut.html
  63. 5 3
      docs/api/en/extras/ShapeUtils.html
  64. 3 1
      docs/api/en/extras/core/Curve.html
  65. 3 1
      docs/api/en/extras/core/CurvePath.html
  66. 3 8
      docs/api/en/extras/core/Font.html
  67. 3 1
      docs/api/en/extras/core/Interpolations.html
  68. 14 12
      docs/api/en/extras/core/Path.html
  69. 4 2
      docs/api/en/extras/core/Shape.html
  70. 9 8
      docs/api/en/extras/core/ShapePath.html
  71. 4 9
      docs/api/en/extras/curves/ArcCurve.html
  72. 7 11
      docs/api/en/extras/curves/CatmullRomCurve3.html
  73. 3 8
      docs/api/en/extras/curves/CubicBezierCurve.html
  74. 3 8
      docs/api/en/extras/curves/CubicBezierCurve3.html
  75. 5 12
      docs/api/en/extras/curves/EllipseCurve.html
  76. 3 8
      docs/api/en/extras/curves/LineCurve.html
  77. 3 8
      docs/api/en/extras/curves/LineCurve3.html
  78. 3 9
      docs/api/en/extras/curves/QuadraticBezierCurve.html
  79. 3 8
      docs/api/en/extras/curves/QuadraticBezierCurve3.html
  80. 3 8
      docs/api/en/extras/curves/SplineCurve.html
  81. 3 1
      docs/api/en/extras/objects/ImmediateRenderObject.html
  82. 5 3
      docs/api/en/geometries/BoxBufferGeometry.html
  83. 9 3
      docs/api/en/geometries/BoxGeometry.html
  84. 4 0
      docs/api/en/geometries/CircleBufferGeometry.html
  85. 7 1
      docs/api/en/geometries/CircleGeometry.html
  86. 5 1
      docs/api/en/geometries/ConeBufferGeometry.html
  87. 8 2
      docs/api/en/geometries/ConeGeometry.html
  88. 4 0
      docs/api/en/geometries/CylinderBufferGeometry.html
  89. 7 1
      docs/api/en/geometries/CylinderGeometry.html
  90. 5 1
      docs/api/en/geometries/DodecahedronBufferGeometry.html
  91. 7 1
      docs/api/en/geometries/DodecahedronGeometry.html
  92. 7 1
      docs/api/en/geometries/EdgesGeometry.html
  93. 7 1
      docs/api/en/geometries/ExtrudeBufferGeometry.html
  94. 10 2
      docs/api/en/geometries/ExtrudeGeometry.html
  95. 5 1
      docs/api/en/geometries/IcosahedronBufferGeometry.html
  96. 7 1
      docs/api/en/geometries/IcosahedronGeometry.html
  97. 4 0
      docs/api/en/geometries/LatheBufferGeometry.html
  98. 7 1
      docs/api/en/geometries/LatheGeometry.html
  99. 5 1
      docs/api/en/geometries/OctahedronBufferGeometry.html
  100. 7 1
      docs/api/en/geometries/OctahedronGeometry.html

+ 14 - 0
.editorconfig

@@ -0,0 +1,14 @@
+# http://editorconfig.org
+
+root = true
+
+[*]
+end_of_line = lf
+insert_final_newline = true
+
+[*.{js,ts,html}]
+charset = utf-8
+indent_style = tab
+
+[*.{js,ts}]
+trim_trailing_whitespace = true

+ 3 - 5
.github/ISSUE_TEMPLATE.md

@@ -11,15 +11,13 @@ Always include a code snippet, screenshots, and any relevant models or textures
 
 Please also include a live example if possible. You can start from these templates:
 
-* [jsfiddle](https://jsfiddle.net/3foLr7sn/) (latest release branch)
-* [jsfiddle](https://jsfiddle.net/qgu17w5o/) (dev branch)
-* [codepen](https://codepen.io/anon/pen/aEBKxR) (latest release branch)
-* [codepen](https://codepen.io/anon/pen/BJWzaN) (dev branch)
+* [jsfiddle](https://jsfiddle.net/hyok6tvj/) (latest release branch)
+* [jsfiddle](https://jsfiddle.net/c5m1kazu/) (dev branch)
 
 ##### Three.js version
 
 - [ ] Dev
-- [ ] r100
+- [ ] r112
 - [ ] ...
 
 ##### Browser

+ 0 - 1
.npmignore

@@ -1,6 +1,5 @@
 examples/*
 !examples/js/
-src/
 test/
 utils/
 docs/

+ 1 - 1
LICENSE

@@ -1,6 +1,6 @@
 The MIT License
 
-Copyright © 2010-2019 three.js authors
+Copyright © 2010-2020 three.js authors
 
 Permission is hereby granted, free of charge, to any person obtaining a copy
 of this software and associated documentation files (the "Software"), to deal

+ 5 - 10
README.md

@@ -10,7 +10,7 @@ three.js
 
 #### JavaScript 3D library ####
 
-The aim of the project is to create an easy to use, lightweight, 3D library. The library provides Canvas 2D, SVG, CSS3D and WebGL renderers.
+The aim of the project is to create an easy to use, lightweight, 3D library with a default WebGL renderer. The library also provides Canvas 2D, SVG and CSS3D renderers in the examples.
 
 [Examples](http://threejs.org/examples/) —
 [Documentation](http://threejs.org/docs/) —
@@ -19,20 +19,15 @@ The aim of the project is to create an easy to use, lightweight, 3D library. The
 [Questions](http://stackoverflow.com/questions/tagged/three.js) —
 [Forum](https://discourse.threejs.org/) —
 [Gitter](https://gitter.im/mrdoob/three.js) —
-[Slack](https://threejs-slack.herokuapp.com/)
+[Slack](https://join.slack.com/t/threejs/shared_invite/enQtMzYxMzczODM2OTgxLTQ1YmY4YTQxOTFjNDAzYmQ4NjU2YzRhNzliY2RiNDEyYjU2MjhhODgyYWQ5Y2MyZTU3MWNkOGVmOGRhOTQzYTk)
 
 ### Usage ###
 
-Download the [minified library](http://threejs.org/build/three.min.js) and include it in your HTML, or install and import it as a [module](http://threejs.org/docs/#manual/introduction/Import-via-modules),
-Alternatively see [how to build the library yourself](https://github.com/mrdoob/three.js/wiki/Build-instructions).
-
-```html
-<script src="js/three.min.js"></script>
-```
-
-This code creates a scene, a camera, and a geometric cube, and it adds the cube to the scene. It then creates a `WebGL` renderer for the scene and camera, and it adds that viewport to the document.body element. Finally, it animates the cube within the scene for the camera.
+This code creates a scene, a camera, and a geometric cube, and it adds the cube to the scene. It then creates a `WebGL` renderer for the scene and camera, and it adds that viewport to the `document.body` element. Finally, it animates the cube within the scene for the camera.
 
 ```javascript
+import * as THREE from 'js/three.module.js';
+
 var camera, scene, renderer;
 var geometry, material, mesh;
 

File diff suppressed because it is too large
+ 973 - 1078
build/three.js


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


File diff suppressed because it is too large
+ 961 - 1064
build/three.module.js


+ 0 - 143
dist/Three.d.ts

@@ -1,143 +0,0 @@
-import './polyfills';
-export { WebGLRenderTargetCube } from './renderers/WebGLRenderTargetCube';
-export { WebGLRenderTarget } from './renderers/WebGLRenderTarget';
-export { WebGLRenderer } from './renderers/WebGLRenderer';
-export { ShaderLib } from './renderers/shaders/ShaderLib';
-export { UniformsLib } from './renderers/shaders/UniformsLib';
-export { UniformsUtils } from './renderers/shaders/UniformsUtils';
-export { ShaderChunk } from './renderers/shaders/ShaderChunk';
-export { FogExp2 } from './scenes/FogExp2';
-export { Fog } from './scenes/Fog';
-export { Scene } from './scenes/Scene';
-export { Sprite } from './objects/Sprite';
-export { LOD } from './objects/LOD';
-export { SkinnedMesh } from './objects/SkinnedMesh';
-export { Skeleton } from './objects/Skeleton';
-export { Bone } from './objects/Bone';
-export { Mesh } from './objects/Mesh';
-export { LineSegments } from './objects/LineSegments';
-export { Line } from './objects/Line';
-export { Points } from './objects/Points';
-export { Group } from './objects/Group';
-export { VideoTexture } from './textures/VideoTexture';
-export { DataTexture } from './textures/DataTexture';
-export { CompressedTexture } from './textures/CompressedTexture';
-export { CubeTexture } from './textures/CubeTexture';
-export { CanvasTexture } from './textures/CanvasTexture';
-export { DepthTexture } from './textures/DepthTexture';
-export { Texture } from './textures/Texture';
-export * from './geometries/Geometries';
-export * from './materials/Materials';
-export { CompressedTextureLoader } from './loaders/CompressedTextureLoader';
-export { DataTextureLoader } from './loaders/DataTextureLoader';
-export { CubeTextureLoader } from './loaders/CubeTextureLoader';
-export { TextureLoader } from './loaders/TextureLoader';
-export { ObjectLoader } from './loaders/ObjectLoader';
-export { MaterialLoader } from './loaders/MaterialLoader';
-export { BufferGeometryLoader } from './loaders/BufferGeometryLoader';
-export { LoadingManager, DefaultLoadingManager, } from './loaders/LoadingManager';
-export { ImageLoader } from './loaders/ImageLoader';
-export { FontLoader } from './loaders/FontLoader';
-export { FileLoader } from './loaders/FileLoader';
-export { Loader } from './loaders/Loader';
-export { LoaderUtils } from './loaders/LoaderUtils';
-export { Cache } from './loaders/Cache';
-export { AudioLoader } from './loaders/AudioLoader';
-export { SpotLightShadow } from './lights/SpotLightShadow';
-export { SpotLight } from './lights/SpotLight';
-export { PointLight } from './lights/PointLight';
-export { HemisphereLight } from './lights/HemisphereLight';
-export { DirectionalLightShadow } from './lights/DirectionalLightShadow';
-export { DirectionalLight } from './lights/DirectionalLight';
-export { AmbientLight } from './lights/AmbientLight';
-export { LightShadow } from './lights/LightShadow';
-export { Light } from './lights/Light';
-export { StereoCamera } from './cameras/StereoCamera';
-export { PerspectiveCamera } from './cameras/PerspectiveCamera';
-export { OrthographicCamera } from './cameras/OrthographicCamera';
-export { CubeCamera } from './cameras/CubeCamera';
-export { ArrayCamera } from './cameras/ArrayCamera';
-export { Camera } from './cameras/Camera';
-export { AudioListener } from './audio/AudioListener';
-export { PositionalAudio } from './audio/PositionalAudio';
-export { AudioContext } from './audio/AudioContext';
-export { AudioAnalyser } from './audio/AudioAnalyser';
-export { Audio } from './audio/Audio';
-export { VectorKeyframeTrack } from './animation/tracks/VectorKeyframeTrack';
-export { StringKeyframeTrack } from './animation/tracks/StringKeyframeTrack';
-export { QuaternionKeyframeTrack, } from './animation/tracks/QuaternionKeyframeTrack';
-export { NumberKeyframeTrack } from './animation/tracks/NumberKeyframeTrack';
-export { ColorKeyframeTrack } from './animation/tracks/ColorKeyframeTrack';
-export { BooleanKeyframeTrack } from './animation/tracks/BooleanKeyframeTrack';
-export { PropertyMixer } from './animation/PropertyMixer';
-export { PropertyBinding } from './animation/PropertyBinding';
-export { KeyframeTrack } from './animation/KeyframeTrack';
-export { AnimationUtils } from './animation/AnimationUtils';
-export { AnimationObjectGroup } from './animation/AnimationObjectGroup';
-export { AnimationMixer } from './animation/AnimationMixer';
-export { AnimationClip } from './animation/AnimationClip';
-export { Uniform } from './core/Uniform';
-export { InstancedBufferGeometry } from './core/InstancedBufferGeometry';
-export { BufferGeometry } from './core/BufferGeometry';
-export { Geometry } from './core/Geometry';
-export { InterleavedBufferAttribute } from './core/InterleavedBufferAttribute';
-export { InstancedInterleavedBuffer } from './core/InstancedInterleavedBuffer';
-export { InterleavedBuffer } from './core/InterleavedBuffer';
-export { InstancedBufferAttribute } from './core/InstancedBufferAttribute';
-export * from './core/BufferAttribute';
-export { Face3 } from './core/Face3';
-export { Object3D } from './core/Object3D';
-export { Raycaster } from './core/Raycaster';
-export { Layers } from './core/Layers';
-export { EventDispatcher } from './core/EventDispatcher';
-export { Clock } from './core/Clock';
-export { QuaternionLinearInterpolant, } from './math/interpolants/QuaternionLinearInterpolant';
-export { LinearInterpolant } from './math/interpolants/LinearInterpolant';
-export { DiscreteInterpolant } from './math/interpolants/DiscreteInterpolant';
-export { CubicInterpolant } from './math/interpolants/CubicInterpolant';
-export { Interpolant } from './math/Interpolant';
-export { Triangle } from './math/Triangle';
-export { _Math as Math } from './math/Math';
-export { Spherical } from './math/Spherical';
-export { Cylindrical } from './math/Cylindrical';
-export { Plane } from './math/Plane';
-export { Frustum } from './math/Frustum';
-export { Sphere } from './math/Sphere';
-export { Ray } from './math/Ray';
-export { Matrix4 } from './math/Matrix4';
-export { Matrix3 } from './math/Matrix3';
-export { Box3 } from './math/Box3';
-export { Box2 } from './math/Box2';
-export { Line3 } from './math/Line3';
-export { Euler } from './math/Euler';
-export { Vector4 } from './math/Vector4';
-export { Vector3 } from './math/Vector3';
-export { Vector2 } from './math/Vector2';
-export { Quaternion } from './math/Quaternion';
-export { Color } from './math/Color';
-export { ImmediateRenderObject } from './extras/objects/ImmediateRenderObject';
-export { VertexNormalsHelper } from './helpers/VertexNormalsHelper';
-export { SpotLightHelper } from './helpers/SpotLightHelper';
-export { SkeletonHelper } from './helpers/SkeletonHelper';
-export { PointLightHelper } from './helpers/PointLightHelper';
-export { HemisphereLightHelper } from './helpers/HemisphereLightHelper';
-export { GridHelper } from './helpers/GridHelper';
-export { FaceNormalsHelper } from './helpers/FaceNormalsHelper';
-export { DirectionalLightHelper } from './helpers/DirectionalLightHelper';
-export { CameraHelper } from './helpers/CameraHelper';
-export { BoxHelper } from './helpers/BoxHelper';
-export { PlaneHelper } from './helpers/PlaneHelper';
-export { ArrowHelper } from './helpers/ArrowHelper';
-export { AxesHelper } from './helpers/AxesHelper';
-export * from './extras/curves/Curves';
-export { Shape } from './extras/core/Shape';
-export { Path } from './extras/core/Path';
-export { ShapePath } from './extras/core/ShapePath';
-export { Font } from './extras/core/Font';
-export { CurvePath } from './extras/core/CurvePath';
-export { Curve } from './extras/core/Curve';
-export { ImageUtils } from './extras/ImageUtils';
-export { ShapeUtils } from './extras/ShapeUtils';
-export * from './constants';
-export * from './Three.Legacy';
-//# sourceMappingURL=Three.d.ts.map

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

@@ -41,6 +41,8 @@
 
 		<h2>Source</h2>
 
-		[link:https://github.com/mrdoob/three.js/blob/master/src/polyfills.js src/polyfills.js]
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/polyfills.js src/polyfills.js]
+		</p>
 	</body>
 </html>

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

@@ -43,6 +43,8 @@
 
 		<h2>Source</h2>
 
-		[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
 	</body>
 </html>

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

@@ -357,6 +357,8 @@
 
 		<h2>Source</h2>
 
-		[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
 	</body>
 </html>

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

@@ -138,6 +138,8 @@
 		<h2>Source</h2>
 
 
-		[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
 	</body>
 </html>

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

@@ -85,6 +85,13 @@
 			This is usually done in the render loop, passing [page:Clock.getDelta clock.getDelta] scaled by the mixer's [page:.timeScale timeScale]).
 		</p>
 
+		<h3>[method:AnimationMixer setTime]([param:Number timeInSeconds]) </h3>
+		<p>
+			Sets the global mixer to a specific time and updates the animation accordingly.<br /><br />
+
+			This is useful when you need to jump to an exact time in an animation. The input parameter will be scaled by the mixer's [page:.timeScale timeScale].
+		</p>
+
 		<h3>[method:null uncacheClip]([param:AnimationClip clip])</h3>
 
 		<p>
@@ -105,6 +112,8 @@
 		<h2>Source</h2>
 
 
-		[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
 	</body>
 </html>

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

@@ -80,6 +80,8 @@
 		<h2>Source</h2>
 
 
-		[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
 	</body>
 </html>

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

@@ -48,10 +48,16 @@
 		Sorts the array previously returned by [page:AnimationUtils.getKeyframeOrder getKeyframeOrder].
 		</p>
 
+		<h3>[method:AnimationClip subclip]( [param:AnimationClip clip], [param:String name], [param:Number startFrame], [param:Number endFrame], [param:Number fps] )</h3>
+		<p>
+		Creates a new clip, containing only the segment of the original clip between the given frames.
+		</p>
 
 		<h2>Source</h2>
 
 
-		[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
 	</body>
 </html>

+ 4 - 2
docs/api/en/animation/KeyframeTrack.html

@@ -58,7 +58,7 @@
 
 		<p>
 			Some examples of how to manually create [page:AnimationClip AnimationClips] with different sorts
-			of KeyframeTracks can be found in the [link:https://threejs.org/examples/js/AnimationClipCreator.js]
+			of KeyframeTracks can be found in the [link:https://threejs.org/examples/js/animation/AnimationClipCreator.js AnimationClipCreator]
 			file.
 		</p>
 
@@ -264,6 +264,8 @@
 		<h2>Source</h2>
 
 
-		[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
 	</body>
 </html>

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

@@ -126,6 +126,8 @@
 		<h2>Source</h2>
 
 
-		[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
 	</body>
 </html>

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

@@ -93,6 +93,8 @@
 		<h2>Source</h2>
 
 
-		[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
 	</body>
 </html>

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

@@ -73,6 +73,8 @@
 		<h2>Source</h2>
 
 
-		[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
 	</body>
 </html>

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

@@ -57,6 +57,8 @@
 		<h2>Source</h2>
 
 
-		[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
 	</body>
 </html>

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

@@ -57,6 +57,8 @@
 		<h2>Source</h2>
 
 
-		[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
 	</body>
 </html>

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

@@ -68,6 +68,8 @@
 		<h2>Source</h2>
 
 
-		[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
 	</body>
 </html>

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

@@ -76,6 +76,8 @@
 		<h2>Source</h2>
 
 
-		[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
 	</body>
 </html>

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

@@ -56,6 +56,8 @@
 		<h2>Source</h2>
 
 
-		[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
 	</body>
 </html>

+ 26 - 10
docs/api/en/audio/Audio.html

@@ -22,7 +22,7 @@
 		<h2>Example</h2>
 
 		<p>
-			[example:webaudio_sandbox webaudio / sandbox ]</br>
+			[example:webaudio_sandbox webaudio / sandbox ]<br />
 			[example:webaudio_visualizer webaudio / visualizer ]
 		</p>
 
@@ -85,11 +85,11 @@
 		<h3>[property:Number playbackRate]</h3>
 		<p>Speed of playback. Default is *1*.</p>
 
-		<h3>[property:Number startTime]</h3>
-		<p>The time at which the sound should begin to play. Same as the *when* paramter of [link:https://developer.mozilla.org/en-US/docs/Web/API/AudioBufferSourceNode/start AudioBufferSourceNode.start](). Default is *0*.</p>
-
 		<h3>[property:Number offset]</h3>
-		<p>An offset to the time within the audio buffer that playback should begin. Same as the *offset* paramter of [link:https://developer.mozilla.org/en-US/docs/Web/API/AudioBufferSourceNode/start AudioBufferSourceNode.start](). Default is *0*.</p>
+		<p>An offset to the time within the audio buffer that playback should begin. Same as the *offset* parameter of [link:https://developer.mozilla.org/en-US/docs/Web/API/AudioBufferSourceNode/start AudioBufferSourceNode.start](). Default is *0*.</p>
+
+		<h3>[property:Number duration]</h3>
+		<p>Overrides the duration of the audio. Same as the *duration* parameter of [link:https://developer.mozilla.org/en-US/docs/Web/API/AudioBufferSourceNode/start AudioBufferSourceNode.start](). Default is *undefined* to play the whole buffer.</p>
 
 		<h3>[property:String source]</h3>
 		<p>An [link:https://developer.mozilla.org/en-US/docs/Web/API/AudioBufferSourceNode AudioBufferSourceNode] created
@@ -147,7 +147,7 @@
 		Return the current volume.
 		</p>
 
-		<h3>[method:Audio play]()</h3>
+		<h3>[method:Audio play]( delay )</h3>
 		<p>
 		If [page:Audio.hasPlaybackControl hasPlaybackControl] is true, starts playback.
 		</p>
@@ -159,7 +159,7 @@
 
 		<h3>[method:null onEnded]()</h3>
 		<p>
-		Called automatically when playback finished. Sets If [page:Audio.isPlaying isPlaying] to false.
+		Called automatically when playback finished.
 		</p>
 
 		<h3>[method:Audio setBuffer]( audioBuffer )</h3>
@@ -185,11 +185,26 @@
 		(whether playback should loop).
 		</p>
 
+		<h3>[method:Audio setLoopStart]( [param:Float value] )</h3>
+		<p>
+		Set [link:https://developer.mozilla.org/en-US/docs/Web/API/AudioBufferSourceNode/loopStart source.loopStart] to *value*.
+		</p>
+
+		<h3>[method:Audio setLoopEnd]( [param:Float value] )</h3>
+		<p>
+		Set [link:https://developer.mozilla.org/en-US/docs/Web/API/AudioBufferSourceNode/loopEnd source.loopEnd] to *value*.
+		</p>
+
 		<h3>[method:Audio setMediaElementSource]( mediaElement )</h3>
 		<p>
 		Applies the given object of type [link:https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement HTMLMediaElement] as the source of this audio.<br />
 		Also sets [page:Audio.hasPlaybackControl hasPlaybackControl] to false.
+		</p>
 
+		<h3>[method:Audio setMediaStreamSource]( mediaStream )</h3>
+		<p>
+		Applies the given object of type [link:https://developer.mozilla.org/en-US/docs/Web/API/MediaStream MediaStream] as the source of this audio.<br />
+		Also sets [page:Audio.hasPlaybackControl hasPlaybackControl] to false.
 		</p>
 
 		<h3>[method:Audio setNodeSource]( audioNode )</h3>
@@ -211,12 +226,13 @@
 
 		<h3>[method:Audio stop]()</h3>
 		<p>
-		If [page:Audio.hasPlaybackControl hasPlaybackControl] is enabled, stops playback,
-		resets [page:Audio.startTime startTime] to *0* and sets [page:Audio.isPlaying isPlaying] to false.
+		If [page:Audio.hasPlaybackControl hasPlaybackControl] is enabled, stops playback.
 		</p>
 
 		<h2>Source</h2>
 
-		[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
 	</body>
 </html>

+ 4 - 2
docs/api/en/audio/AudioAnalyser.html

@@ -22,7 +22,7 @@
 		<h2>Example</h2>
 
 		<p>
-			[example:webaudio_sandbox webaudio / sandbox ]</br>
+			[example:webaudio_sandbox webaudio / sandbox ]<br />
 			[example:webaudio_visualizer webaudio / visualizer ]
 		</p>
 
@@ -94,6 +94,8 @@
 
 		<h2>Source</h2>
 
-		[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
 	</body>
 </html>

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

@@ -37,6 +37,8 @@
 
 		<h2>Source</h2>
 
-		[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
 	</body>
 </html>

+ 7 - 5
docs/api/en/audio/AudioListener.html

@@ -13,8 +13,8 @@
 		<h1>[name]</h1>
 
 		<p class="desc">
-			The [name] represents a virtual [link:https://developer.mozilla.org/de/docs/Web/API/AudioListener listener] of the all positional and non-positional audio effects in the scene.</br>
-			A three.js application usually creates a single instance of [name]. It is a mandatory construtor parameter for audios entities like [page:Audio Audio] and [page:PositionalAudio PositionalAudio].</br>
+			The [name] represents a virtual [link:https://developer.mozilla.org/de/docs/Web/API/AudioListener listener] of the all positional and non-positional audio effects in the scene.<br />
+			A three.js application usually creates a single instance of [name]. It is a mandatory construtor parameter for audios entities like [page:Audio Audio] and [page:PositionalAudio PositionalAudio].<br />
 			In most cases, the listener object is a child of the camera. So the 3D transformation of the camera represents the 3D transformation of the listener.
 		</p>
 
@@ -22,8 +22,8 @@
 		<h2>Example</h2>
 
 		<p>
-			[example:webaudio_sandbox webaudio / sandbox ]</br>
-			[example:webaudio_timing webaudio / timing ]</br>
+			[example:webaudio_sandbox webaudio / sandbox ]<br />
+			[example:webaudio_timing webaudio / timing ]<br />
 			[example:webaudio_visualizer webaudio / visualizer ]
 		</p>
 
@@ -106,6 +106,8 @@
 
 		<h2>Source</h2>
 
-		[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
 	</body>
 </html>

+ 5 - 3
docs/api/en/audio/PositionalAudio.html

@@ -22,8 +22,8 @@
 		<h2>Example</h2>
 
 		<p>
-			[example:webaudio_orientation webaudio / orientation ]</br>
-			[example:webaudio_sandbox webaudio / sandbox ]</br>
+			[example:webaudio_orientation webaudio / orientation ]<br />
+			[example:webaudio_sandbox webaudio / sandbox ]<br />
 			[example:webaudio_timing webaudio / timing ]
 		</p>
 
@@ -130,6 +130,8 @@
 
 		<h2>Source</h2>
 
-		[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
 	</body>
 </html>

+ 5 - 3
docs/api/en/cameras/ArrayCamera.html

@@ -8,13 +8,13 @@
 		<link type="text/css" rel="stylesheet" href="page.css" />
 	</head>
 	<body>
-		[page:PerspectiveCamera] &rarr;
+		[page:Object3D] &rarr; [page:Camera] &rarr; [page:PerspectiveCamera] &rarr;
 
 		<h1>[name]</h1>
 
 		<p class="desc">
 			[name] can be used in order to efficiently render a scene with a predefined set of cameras. This is an important performance aspect for rendering VR scenes.<br />
-			An instance of [name] always has an array of sub cameras. It's mandatory to define for each sub camera the *bounds* property which determines the part of the viewport that is rendered with this camera.
+			An instance of [name] always has an array of sub cameras. It's mandatory to define for each sub camera the *viewport* property which determines the part of the viewport that is rendered with this camera.
 		</p>
 
 		<h2>Example</h2>
@@ -42,6 +42,8 @@
 
 		<h2>Source</h2>
 
-		[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
 	</body>
 </html>

+ 3 - 8
docs/api/en/cameras/Camera.html

@@ -30,13 +30,6 @@
 		<h2>Properties</h2>
 		<p>See the base [page:Object3D] class for common properties.</p>
 
-		<h3>[property:Boolean isCamera]</h3>
-		<p>
-			Used to check whether this or derived classes are cameras. Default is *true*.<br /><br />
-
-			You should not change this, as it used internally by the renderer for optimisation.
-		</p>
-
 		<h3>[property:Layers layers]</h3>
 		<p>
 		The [page:Layers layers] that the camera is a member of. This is an inherited
@@ -82,6 +75,8 @@
 
 		<h2>Source</h2>
 
-		[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
 	</body>
 </html>

+ 8 - 6
docs/api/en/cameras/CubeCamera.html

@@ -12,7 +12,7 @@
 
 		<h1>[name]</h1>
 
-		<p class="desc">Creates 6 cameras that render to a [page:WebGLRenderTargetCube].</p>
+		<p class="desc">Creates 6 cameras that render to a [page:WebGLCubeRenderTarget].</p>
 
 		<h2>Examples</h2>
 
@@ -24,7 +24,7 @@
 		scene.add( cubeCamera );
 
 		// Create car
-		var chromeMaterial = new THREE.MeshLambertMaterial( { color: 0xffffff, envMap: cubeCamera.renderTarget } );
+		var chromeMaterial = new THREE.MeshLambertMaterial( { color: 0xffffff, envMap: cubeCamera.renderTarget.texture } );
 		var car = new Mesh( carGeometry, chromeMaterial );
 		scene.add( car );
 
@@ -47,7 +47,7 @@
 		near -- The near clipping distance. <br />
 		far -- The far clipping distance <br />
 		cubeResolution -- Sets the length of the cube's edges. <br />
-		options - (optional) object that holds texture parameters passed to the auto-generated WebGLRenderTargetCube.
+		options - (optional) object that holds texture parameters passed to the auto-generated WebGLCubeRenderTarget.
 		If not specified, the options default to:
 		<code>
 		{ format: RGBFormat, magFilter: LinearFilter, minFilter: LinearFilter }
@@ -56,14 +56,14 @@
 		</p>
 		<p>
 		Constructs a CubeCamera that contains 6 [page:PerspectiveCamera PerspectiveCameras] that
-		render to a [page:WebGLRenderTargetCube].
+		render to a [page:WebGLCubeRenderTarget].
 		</p>
 
 
 		<h2>Properties</h2>
 		<p>See the base [page:Object3D] class for common properties.</p>
 
-		<h3>[property:WebGLRenderTargetCube renderTarget]</h3>
+		<h3>[property:WebGLCubeRenderTarget renderTarget]</h3>
 		<p>
 		The cube texture that gets generated.
 		</p>
@@ -89,6 +89,8 @@
 
 		<h2>Source</h2>
 
-		[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
 	</body>
 </html>

+ 6 - 12
docs/api/en/cameras/OrthographicCamera.html

@@ -33,7 +33,6 @@
 		<p>[example:webgl_rtt rtt ]</p>
 		<p>[example:webgl_shaders_tonemapping shaders / tonemapping ]</p>
 		<p>[example:webgl_shadowmap shadowmap ]</p>
-		<p>[example:webgl_terrain_dynamic terrain / dynamic ]</p>
 
 		<code>var camera = new THREE.OrthographicCamera( width / - 2, width / 2, height / 2, height / - 2, 1, 1000 );
 scene.add( camera );</code>
@@ -72,13 +71,6 @@ scene.add( camera );</code>
 		The valid range is between the current value of the [page:.near near] plane and infinity.
 		</p>
 
-		<h3>[property:Boolean isOrthographicCamera]</h3>
-		<p>
-			Used to test whether this or derived classes are OrthographicCameras. Default is *true*.<br /><br />
-
-			This should not be changed as it is used internally by the renderer for optimisation.
-		</p>
-
 		<h3>[property:Float left]</h3>
 		<p>Camera frustum left plane.</p>
 
@@ -130,14 +122,16 @@ scene.add( camera );</code>
 		Updates the camera projection matrix. Must be called after any change of parameters.
 		</p>
 
-		<h3>[method:JSON toJSON]()</h3>
+		<h3>[method:Object toJSON]([param:object meta])</h3>
 		<p>
-		Return the camera's data in JSON format.
+		meta -- object containing metadata such as textures or images in objects' descendants.<br />
+		Convert the camera to three.js [link:https://github.com/mrdoob/three.js/wiki/JSON-Object-Scene-format-4 JSON Object/Scene format].
 		</p>
 
-
 		<h2>Source</h2>
 
-		[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
 	</body>
 </html>

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

@@ -77,13 +77,6 @@ scene.add( camera );</code>
 		<h3>[property:Float fov]</h3>
 		<p>Camera frustum vertical field of view, from bottom to top of view, in degrees. Default is *50*.</p>
 
-		<h3>[property:Boolean isPerspectiveCamera]</h3>
-		<p>
-			Used to test whether this or derived classes are PerspectiveCameras. Default is *true*.<br /><br />
-
-			This should not be changed as it is used internally by the renderer for optimisation.
-		</p>
-
 
 		<h3>[property:Float near]</h3>
 		<p>
@@ -190,13 +183,16 @@ camera.setViewOffset( fullWidth, fullHeight, w * 2, h * 1, w, h );
 		Updates the camera projection matrix. Must be called after any change of parameters.
 		</p>
 
-		<h3>[method:JSON toJSON]()</h3>
+		<h3>[method:Object toJSON]([param:object meta])</h3>
 		<p>
-		Return camera data in JSON format.
+		meta -- object containing metadata such as textures or images in objects' descendants.<br />
+		Convert the camera to three.js [link:https://github.com/mrdoob/three.js/wiki/JSON-Object-Scene-format-4 JSON Object/Scene format].
 		</p>
 
 		<h2>Source</h2>
 
-		[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
 	</body>
 </html>

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

@@ -62,6 +62,8 @@
 
 		<h2>Source</h2>
 
-		[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
 	</body>
 </html>

+ 4 - 2
docs/api/en/constants/Animation.html

@@ -11,7 +11,7 @@
 		<h1>Animation Constants</h1>
 
 		<h2>Loop Modes</h2>
-    
+
 		<code>
 THREE.LoopOnce
 THREE.LoopRepeat
@@ -34,6 +34,8 @@ THREE.WrapAroundEnding
 
 		<h2>Source</h2>
 
-		[link:https://github.com/mrdoob/three.js/blob/master/src/constants.js src/constants.js]
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/constants.js src/constants.js]
+		</p>
 	</body>
 </html>

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

@@ -29,8 +29,9 @@
 
 		<h2>Source</h2>
 
-		[link:https://github.com/mrdoob/three.js/blob/master/src/constants.js src/constants.js]
-
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/constants.js src/constants.js]
+		</p>
 	</body>
 
 

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

@@ -58,6 +58,8 @@
 
 		<h2>Source</h2>
 
-		[link:https://github.com/mrdoob/three.js/blob/master/src/constants.js src/constants.js]
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/constants.js src/constants.js]
+		</p>
 	</body>
 </html>

+ 0 - 83
docs/api/en/constants/DrawModes.html

@@ -1,83 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-	<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>
-	<body>
-		<h1>Draw Mode Constants</h1>
-
-		<p class="desc">
-			These are valid values for [page:Mesh.drawMode], and control how the list of vertices is interpeted once sent to the GPU.<br /><br />
-
-			Note that these only work when [page:Mesh.geometry] is a [page:BufferGeometry]. Changing this
-			when [page:Mesh.geometry] is a [page:Geometry] will have no effect.<br /><br />
-
-
-
-		</p>
-
-		<h2>Draw Modes</h2>
-
-		<code>
-			THREE.TrianglesDrawMode
-		</code>
-		<p>
-			This is the default, and results in every three consecutive vertices (v0, v1, v2), (v2, v3, v5), ...
-			being interpreted as a separate triangle. <br />
-			If the number of vertices is not a multiple of 3, excess vertices are ignored.
-		</p>
-
-		<code>
-			THREE.TriangleStripDrawMode
-		</code>
-		<p>
-			This will result in a series of triangles connected in a strip, given by (v0, v1, v2), (v2, v1, v3), (v2, v3, v4), ...
-			so that every subsequent triangle shares two vertices with the previous triangle.
-		</p>
-
-		<code>
-			THREE.TriangleFanDrawMode
-		</code>
-		<p>
-			This will result in a series of triangles each sharing the first vertex (like a fan),
-			given by (v0, v1, v2), (v0, v2, v3), (v0, v3, v4), ... <br /><br />
-
-			<em>Note:</em> As of [link:https://en.wikipedia.org/wiki/DirectX#DirectX_10 DirectX10], this mode is not supported. As Chrome and Firefox
-			render WebGL using [link:https://en.wikipedia.org/wiki/ANGLE_(software) ANGLE] on Windows,
-			internally this mode will be converted to a supported mode, which will likely lead to lowered
-			performance on those browsers.
-		</p>
-
-
-		<h2>Usage</h2>
-
-		<code>
-		var geometry = new THREE.Geometry();
-
-		geometry.vertices.push(
-			new THREE.Vector3( -10,  10, 0 ),
-			new THREE.Vector3( -10, -10, 0 ),
-			new THREE.Vector3(  10, -10, 0 ),
-			...
-		);
-		geometry.faces.push( new THREE.Face3( 0, 1, 2 ), ... );
-
-		var material = new THREE.MeshBasicMaterial( { color: 0xffff00 } );
-
-		var mesh = new THREE.Mesh( geometry, material );
-		mesh.drawMode = THREE.TrianglesDrawMode; //default
-
-		scene.add( mesh );
-		</code>
-
-
-
-		<h2>Source</h2>
-
-		[link:https://github.com/mrdoob/three.js/blob/master/src/constants.js src/constants.js]
-	</body>
-</html>

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

@@ -93,9 +93,56 @@
 		[page:Constant AddOperation] adds the two colors.
 		</p>
 
+		<h2>Stencil Functions</h2>
+		<code>
+		THREE.NeverStencilFunc
+		THREE.LessStencilFunc
+		THREE.EqualStencilFunc
+		THREE.LessEqualStencilFunc
+		THREE.GreaterStencilFunc
+		THREE.NotEqualStencilFunc
+		THREE.GreaterEqualStencilFunc
+		THREE.AlwaysStencilFunc
+		</code>
+		<p>
+		Which stencil function the material uses to determine whether or not to perform a stencil operation.<br />
+		[page:Materials NeverStencilFunc] will never return true.<br />
+		[page:Materials LessStencilFunc] will return true if the stencil reference value is less than the current stencil value.<br />
+		[page:Materials EqualStencilFunc] will return true if the stencil reference value is equal to the current stencil value.<br />
+		[page:Materials LessEqualStencilFunc] will return true if the stencil reference value is less than or equal to the current stencil value.<br />
+		[page:Materials GreaterStencilFunc] will return true if the stencil reference value is greater than the current stencil value.<br />
+		[page:Materials NotEqualStencilFunc] will return true if the stencil reference value is not equal to the current stencil value.<br />
+		[page:Materials GreaterEqualStencilFunc] will return true if the stencil reference value is greater than or equal to the current stencil value.<br />
+		[page:Materials AlwaysStencilFunc] will always return true.<br />
+		</p>
+
+		<h2>Stencil Operations</h2>
+		<code>
+		THREE.ZeroStencilOp
+		THREE.KeepStencilOp
+		THREE.ReplaceStencilOp
+		THREE.IncrementStencilOp
+		THREE.DecrementStencilOp
+		THREE.IncrementWrapStencilOp
+		THREE.DecrementWrapStencilOp
+		THREE.InvertStencilOp
+		</code>
+		<p>
+		Which stencil operation the material will perform on the stencil buffer pixel if the provided stencil function passes.<br />
+		[page:Materials ZeroStencilOp] will set the stencil value to 0.<br />
+		[page:Materials KeepStencilOp] will not change the current stencil value.<br />
+		[page:Materials ReplaceStencilOp] will replace the stencil value with the specified stencil reference value.<br />
+		[page:Materials IncrementStencilOp] will increment the current stencil value by 1.<br />
+		[page:Materials DecrementStencilOp] will decrement the current stencil value by 1.<br />
+		[page:Materials IncrementWrapStencilOp] will increment the current stencil value by 1. If the value increments past 255 it will be set to 0.<br />
+		[page:Materials DecrementWrapStencilOp] will increment the current stencil value by 1. If the value decrements below 0 it will be set to 255.<br />
+		[page:Materials InvertStencilOp] will perform a bitwise iversion of the current stencil value.<br />
+		</p>
 
 		<h2>Source</h2>
 
-		[link:https://github.com/mrdoob/three.js/blob/master/src/constants.js src/constants.js]
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/constants.js src/constants.js]
+		</p>
 	</body>
 </html>

+ 7 - 2
docs/api/en/constants/Renderer.html

@@ -39,13 +39,15 @@
 		THREE.BasicShadowMap
 		THREE.PCFShadowMap
 		THREE.PCFSoftShadowMap
+		THREE.VSMShadowMap
 		</code>
 		<p>
 		These define the WebGLRenderer's [page:WebGLRenderer.shadowMap.type shadowMap.type] property.<br /><br />
 
 		[page:constant BasicShadowMap] gives unfiltered shadow maps - fastest, but lowest quality.<br />
 		[page:constant PCFShadowMap] filters shadow maps using the Percentage-Closer Filtering (PCF) algorithm (default).<br />
-		[page:constant PCFSoftShadowMap] filters shadow maps using the Percentage-Closer Soft Shadows (PCSS) algorithm.
+		[page:constant PCFSoftShadowMap] filters shadow maps using the Percentage-Closer Soft Shadows (PCSS) algorithm.<br />
+		[page:constant VSMShadowMap] filters shadow maps using the Variance Shadow Map (VSM) algorithm. When using VSMShadowMap all shadow receivers will also cast shadows.
 		</p>
 
 		<h2>Tone Mapping</h2>
@@ -55,6 +57,7 @@
 		THREE.ReinhardToneMapping
 		THREE.Uncharted2ToneMapping
 		THREE.CineonToneMapping
+		THREE.ACESFilmicToneMapping
 		</code>
 		<p>
 		These define the WebGLRenderer's [page:WebGLRenderer.toneMapping toneMapping] property.
@@ -71,6 +74,8 @@
 
 		<h2>Source</h2>
 
-		[link:https://github.com/mrdoob/three.js/blob/master/src/constants.js src/constants.js]
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/constants.js src/constants.js]
+		</p>
 	</body>
 </html>

+ 295 - 9
docs/api/en/constants/Textures.html

@@ -87,11 +87,11 @@
 		<h2>Minification Filters</h2>
 		<code>
 		THREE.NearestFilter
-		THREE.NearestMipMapNearestFilter
-		THREE.NearestMipMapLinearFilter
+		THREE.NearestMipmapNearestFilter
+		THREE.NearestMipmapLinearFilter
 		THREE.LinearFilter
-		THREE.LinearMipMapNearestFilter
-		THREE.LinearMipMapLinearFilter
+		THREE.LinearMipmapNearestFilter
+		THREE.LinearMipmapLinearFilter
 		</code>
 
 		<p>
@@ -102,21 +102,21 @@
 		In addition to [page:constant NearestFilter] and [page:constant LinearFilter],
 		the following four functions can be used for minification:<br /><br />
 
-		[page:constant NearestMipMapNearestFilter] chooses the mipmap that most closely
+		[page:constant NearestMipmapNearestFilter] chooses the mipmap that most closely
 		matches the size of the pixel being textured
 		and uses the [page:constant NearestFilter] criterion (the texel nearest to the
 		center of the pixel) to produce a texture value.<br /><br />
 
-		[page:constant NearestMipMapLinearFilter] chooses the two mipmaps that most closely
+		[page:constant NearestMipmapLinearFilter] chooses the two mipmaps that most closely
 		match the size of the pixel being textured and uses the [page:constant NearestFilter] criterion to produce
 		a texture value from each mipmap. The final texture value is a weighted average of those two values.<br /><br />
 
-		[page:constant LinearMipMapNearestFilter] chooses the mipmap that most closely matches
+		[page:constant LinearMipmapNearestFilter] chooses the mipmap that most closely matches
 		the size of the pixel being textured and uses the [page:constant LinearFilter] criterion
 		(a weighted average of the four texels that are closest to the center of the pixel)
 		to produce a texture value.<br /><br />
 
-		[page:constant LinearMipMapLinearFilter] is the default and chooses the two mipmaps
+		[page:constant LinearMipmapLinearFilter] is the default and chooses the two mipmaps
 		that most closely match the size of the pixel being textured and uses the [page:constant LinearFilter] criterion
 		to produce a texture value from each mipmap. The final texture value is a weighted average of those two values.<br /><br />
 
@@ -147,8 +147,14 @@
 		<h2>Formats</h2>
 		<code>
 		THREE.AlphaFormat
+		THREE.RedFormat
+		THREE.RedIntegerFormat
+		THREE.RGFormat
+		THREE.RGIntegerFormat
 		THREE.RGBFormat
+		THREE.RGBIntegerFormat
 		THREE.RGBAFormat
+		THREE.RGBAIntegerFormat
 		THREE.LuminanceFormat
 		THREE.LuminanceAlphaFormat
 		THREE.RGBEFormat
@@ -161,10 +167,35 @@
 
 		[page:constant AlphaFormat] discards the red, green and blue components and reads just the alpha component.<br /><br />
 
+		[page:constant RedFormat] discards the green and blue components and reads just the red component.<br /><br />
+
+		[page:constant RedIntegerFormat] discards the green and blue components and reads just the red component.
+		The texels are read as integers instead of floating point.
+		(can only be used with a WebGL 2 rendering context).
+		<br /><br />
+
+		[page:constant RGFormat] discards the alpha, and blue components and reads the red, and green components.
+		(can only be used with a WebGL 2 rendering context).
+		<br /><br />
+
+		[page:constant RGIntegerFormat] discards the alpha, and blue components and reads the red, and green components.
+		The texels are read as integers instead of floating point.
+		(can only be used with a WebGL 2 rendering context).
+		<br /><br />
+
 		[page:constant RGBFormat] discards the alpha components and reads the red, green and blue components.<br /><br />
 
+		[page:constant RGBIntegerFormat] discards the alpha components and reads the red, green and blue components.
+		(can only be used with a WebGL 2 rendering context).
+		<br /><br />
+
 		[page:constant RGBAFormat] is the default and reads the red, green, blue and alpha components.<br /><br />
 
+		[page:constant RGBAIntegerFormat] is the default and reads the red, green, blue and alpha components.
+		The texels are read as integers instead of floating point.
+		(can only be used with a WebGL 2 rendering context).
+		<br /><br />
+
 		[page:constant LuminanceFormat] reads each element as a single luminance component.
 		 This is then converted to a floating point, clamped to the range [0,1], and then assembled
 		 into an RGBA element by placing the luminance value in the red, green and blue channels,
@@ -238,6 +269,259 @@
 		extension. <br /><br />
 		</p>
 
+		<h2>Internal Formats</h2>
+		<code>
+		'ALPHA'
+		'RGB'
+		'RGBA'
+		'LUMINANCE'
+		'LUMINANCE_ALPHA'
+		'RED_INTEGER'
+		'R8'
+		'R8_SNORM'
+		'R8I'
+		'R8UI'
+		'R16I'
+		'R16UI'
+		'R16F'
+		'R32I'
+		'R32UI'
+		'R32F'
+		'RG8'
+		'RG8_SNORM'
+		'RG8I'
+		'RG8UI'
+		'RG16I'
+		'RG16UI'
+		'RG16F'
+		'RG32I'
+		'RG32UI'
+		'RG32F'
+		'RGB565'
+		'RGB8'
+		'RGB8_SNORM'
+		'RGB8I'
+		'RGB8UI'
+		'RGB16I'
+		'RGB16UI'
+		'RGB16F'
+		'RGB32I'
+		'RGB32UI'
+		'RGB32F'
+		'RGB9_E5'
+		'SRGB8'
+		'R11F_G11F_B10F'
+		'RGBA4'
+		'RGBA8'
+		'RGBA8_SNORM'
+		'RGBA8I'
+		'RGBA8UI'
+		'RGBA16I'
+		'RGBA16UI'
+		'RGBA16F'
+		'RGBA32I'
+		'RGBA32UI'
+		'RGBA32F'
+		'RGB5_A1'
+		'RGB10_A2'
+		'RGB10_A2UI'
+		'SRGB8_ALPHA8'
+		'DEPTH_COMPONENT16'
+		'DEPTH_COMPONENT24'
+		'DEPTH_COMPONENT32F'
+		'DEPTH24_STENCIL8'
+		'DEPTH32F_STENCIL8'
+		</code>
+
+		<p>
+
+		Heads up: changing the internal format of a texture will only affect the
+		texture when using a WebGL 2 rendering context.<br /><br />
+
+		For use with a texture's [page:Texture.internalFormat internalFormat]	property,
+		these define how elements of a texture, or *texels*, are stored on the GPU.<br /><br />
+
+		[page:constant R8] stores the red component on 8 bits.<br /><br />
+
+		[page:constant R8_SNORM] stores the red component on 8 bits. The component is stored as normalized. <br /><br />
+
+		[page:constant R8I] stores the red component on 8 bits. The component is stored as an integer. <br /><br />
+
+		[page:constant R8UI] stores the red component on 8 bits. The component is stored as an unsigned integer. <br /><br />
+
+		[page:constant R16I] stores the red component on 16 bits. The component is stored as an integer. <br /><br />
+
+		[page:constant R16UI] stores the red component on 16 bits. The component is stored as an unsigned integer. <br /><br />
+
+		[page:constant R16F] stores the red component on 16 bits. The component is stored as floating point. <br /><br />
+
+		[page:constant R32I] stores the red component on 32 bits. The component is stored as an integer. <br /><br />
+
+		[page:constant R32UI] stores the red component on 32 bits. The component is stored as an unsigned integer. <br /><br />
+
+		[page:constant R32F] stores the red component on 32 bits. The component is stored as floating point. <br /><br />
+
+		[page:constant RG8] stores the red and green components on 8 bits each.<br /><br />
+
+		[page:constant RG8_SNORM] stores the red and green components on 8 bits each.
+		Every component is stored as normalized.
+		<br /><br />
+
+		[page:constant RG8I] stores the red and green components on 8 bits each.
+		Every component is stored as an integer.
+		<br /><br />
+
+		[page:constant RG8UI] stores the red and green components on 8 bits each.
+		Every component is stored as an unsigned integer.
+		<br /><br />
+
+		[page:constant RG16I] stores the red and green components on 16 bits each.
+		Every component is stored as an integer.
+		<br /><br />
+
+		[page:constant RG16UI] stores the red and green components on 16 bits each.
+		Every component is stored as an unsigned integer.
+		<br /><br />
+
+		[page:constant RG16F] stores the red and green components on 16 bits each.
+		Every component is stored as floating point.
+		<br /><br />
+
+		[page:constant RG32I] stores the red and green components on 32 bits each.
+		Every component is stored as an integer.
+		<br /><br />
+
+		[page:constant RG32UI] stores the red and green components on 32 bits.
+		Every component is stored as an unsigned integer.
+		<br /><br />
+
+		[page:constant RG32F] stores the red and green components on 32 bits.
+		Every component is stored as floating point.
+		<br /><br />
+
+		[page:constant RGB8] stores the red, green, and blue components on 8 bits each.
+
+		[page:constant RGB8_SNORM] stores the red, green, and blue components on 8 bits each.
+		Every component is stored as normalized.
+		<br /><br />
+
+		[page:constant RGB8I] stores the red, green, and blue components on 8 bits each.
+		Every component is stored as an integer.
+		<br /><br />
+
+		[page:constant RGB8UI] stores the red, green, and blue components on 8 bits each.
+		Every component is stored as an unsigned integer.
+		<br /><br />
+
+		[page:constant RGB16I] stores the red, green, and blue components on 16 bits each.
+		Every component is stored as an integer.
+		<br /><br />
+
+		[page:constant RGB16UI] stores the red, green, and blue components on 16 bits each.
+		Every component is stored as an unsigned integer.
+		<br /><br />
+
+		[page:constant RGB16F] stores the red, green, and blue components on 16 bits each.
+		Every component is stored as floating point
+		<br /><br />
+
+		[page:constant RGB32I] stores the red, green, and blue components on 32 bits each.
+		Every component is stored as an integer.
+		<br /><br />
+
+		[page:constant RGB32UI] stores the red, green, and blue components on 32 bits each.
+		Every component is stored as an unsigned integer.
+		<br /><br />
+
+		[page:constant RGB32F] stores the red, green, and blue components on 32 bits each.
+		Every component is stored as floating point
+		<br /><br />
+
+		[page:constant R11F_G11F_B10F] stores the red, green, and blue components respectively on 11 bits, 11 bits, and 10bits.
+		Every component is stored as floating point.
+		<br /><br />
+
+		[page:constant RGB565] stores the red, green, and blue components respectively on 5 bits, 6 bits, and 5 bits.<br /><br />
+
+		[page:constant RGB9_E5] stores the red, green, and blue components on 9 bits each.<br /><br />
+
+		[page:constant RGBA8] stores the red, green, blue, and alpha components on 8 bits each.<br /><br />
+
+		[page:constant RGBA8_SNORM] stores the red, green, blue, and alpha components on 8 bits.
+		Every component is stored as normalized.
+		<br /><br />
+
+		[page:constant RGBA8I] stores the red, green, blue, and alpha components on 8 bits each.
+		Every component is stored as an integer.
+		<br /><br />
+
+		[page:constant RGBA8UI] stores the red, green, blue, and alpha components on 8 bits.
+		Every component is stored as an unsigned integer.
+		<br /><br />
+
+		[page:constant RGBA16I] stores the red, green, blue, and alpha components on 16 bits.
+		Every component is stored as an integer.
+		<br /><br />
+
+		[page:constant RGBA16UI] stores the red, green, blue, and alpha components on 16 bits.
+		Every component is stored as an unsigned integer.
+		<br /><br />
+
+		[page:constant RGBA16F] stores the red, green, blue, and alpha components on 16 bits.
+		Every component is stored as floating point.
+		<br /><br />
+
+		[page:constant RGBA32I] stores the red, green, blue, and alpha components on 32 bits.
+		Every component is stored as an integer.
+		<br /><br />
+
+		[page:constant RGBA32UI] stores the red, green, blue, and alpha components on 32 bits.
+		Every component is stored as an unsigned integer.
+		<br /><br />
+
+		[page:constant RGBA32F] stores the red, green, blue, and alpha components on 32 bits.
+		Every component is stored as floating point.
+		<br /><br />
+
+		[page:constant RGB5_A1] stores the red, green, blue, and alpha components respectively on 5 bits, 5 bits, 5 bits, and 1 bit.<br /><br />
+
+		[page:constant RGB10_A2] stores the red, green, blue, and alpha components respectively on 10 bits, 10 bits, 10 bits and 2 bits.<br /><br />
+
+		[page:constant RGB10_A2UI] stores the red, green, blue, and alpha components respectively on 10 bits, 10 bits, 10 bits and 2 bits.
+		Every component is stored as an unsigned integer.
+		<br /><br />
+
+		[page:constant SRGB8] stores the red, green, and blue components on 8 bits each.<br /><br />
+
+		[page:constant SRGB8_ALPHA8] stores the red, green, blue, and alpha components on 8 bits each.<br /><br />
+
+		[page:constant DEPTH_COMPONENT16] stores the depth component on 16bits.<br /><br />
+
+		[page:constant DEPTH_COMPONENT24] stores the depth component on 24bits.<br /><br />
+
+		[page:constant DEPTH_COMPONENT32F] stores the depth component on 32bits. The component is stored as floating point.<br /><br />
+
+		[page:constant DEPTH24_STENCIL8] stores the depth, and stencil components respectively on 24 bits and 8 bits.
+		The stencil component is stored as an unsigned integer.
+		<br /><br />
+
+		[page:constant DEPTH32F_STENCIL8] stores the depth, and stencil components respectively on 32 bits and 8 bits.
+		The depth component is stored as floating point, and the stencil component as an unsigned integer.
+		<br /><br />
+
+		Note that the texture must have the correct [page:Texture.type type] set,
+		as well as the correct [page:Texture.format format].
+
+		See [link:https://developer.mozilla.org/en/docs/Web/API/WebGLRenderingContext/texImage2D WebGLRenderingContext.texImage2D], and
+		[link:https://developer.mozilla.org/en-US/docs/Web/API/WebGL2RenderingContext/texImage3D WebGL2RenderingContext.texImage3D],
+		for more details regarding the possible combination of [page:Texture.format format], [page:Texture.internalFormat internalFormat],
+		and [page:Texture.type type].<br /><br />
+
+		For more in-depth information regarding internal formats, you can also refer directly
+		to the [link:https://www.khronos.org/registry/webgl/specs/latest/2.0/ WebGL2 Specification] and
+		to the [link:https://www.khronos.org/registry/OpenGL/specs/es/3.0/es_spec_3.0.pdf OpenGL ES 3.0 Specification].
+		</p>
+
 		<h2>Encoding</h2>
 		<code>
 		THREE.LinearEncoding
@@ -263,6 +547,8 @@
 
 		<h2>Source</h2>
 
-		[link:https://github.com/mrdoob/three.js/blob/master/src/constants.js src/constants.js]
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/constants.js src/constants.js]
+		</p>
 	</body>
 </html>

+ 24 - 28
docs/api/en/core/BufferAttribute.html

@@ -58,23 +58,6 @@
 		then this will count the number of such vectors stored.
 		</p>
 
-		<h3>[property:Boolean dynamic]</h3>
-		<p>
-			Whether the buffer is dynamic or not. Default is *false*.<br />
-
-			If false, the GPU is informed that contents of the buffer are likely to be used often and not change often.
-			This corresponds to the  [link:https://developer.mozilla.org/en-US/docs/Web/API/WebGLRenderingContext/bufferData gl.STATIC_DRAW] flag.<br />
-			if true, the GPU is informed that contents of the buffer are likely to be used often and change often.
-			This corresponds to the  [link:https://developer.mozilla.org/en-US/docs/Web/API/WebGLRenderingContext/bufferData gl.DYNAMIC_DRAW] flag.
-		</p>
-
-		<h3>[property:Boolean isBufferAttribute]</h3>
-		<p>
-			Used to check whether this or derived classes are BufferAttributes. Default is *true*.<br /><br />
-
-			You should not change this, as it used internally for optimisation.
-		</p>
-
 		<h3>[property:Integer itemSize]</h3>
 		<p>The length of vectors that are being stored in the [page:BufferAttribute.array array].</p>
 
@@ -111,12 +94,30 @@
 			related to color).
 		</p>
 
+		<h3>[property:Usage usage]</h3>
+		<p>
+			Defines the intended usage pattern of the data store for optimization purposes. Corresponds to the *usage* parameter of
+			[link:https://developer.mozilla.org/en-US/docs/Web/API/WebGLRenderingContext/bufferData WebGLRenderingContext.bufferData]().
+			Default is *THREE.StaticDrawUsage*.
+		</p>
+
 		<h3>[property:Integer version]</h3>
 		<p>A version number, incremented every time the [page:BufferAttribute.needsUpdate needsUpdate] property is set to true.</p>
 
-
 		<h2>Methods</h2>
 
+		<h3>[method:this applyMatrix3]( [param:Matrix3 m] )</h3>
+		<p>Applies matrix [page:Matrix3 m] to every Vector3 element of this BufferAttribute.</p>
+
+		<h3>[method:this applyMatrix4]( [param:Matrix4 m] )</h3>
+		<p>Applies matrix [page:Matrix4 m] to every Vector3 element of this BufferAttribute.</p>
+
+		<h3>[method:this applyNormalMatrix]( [param:Matrix3 m] )</h3>
+		<p>Applies normal matrix [page:Matrix3 m] to every Vector3 element of this BufferAttribute.</p>
+
+		<h3>[method:this transformDirection]( [param:Matrix4 m] )</h3>
+		<p>Applies matrix [page:Matrix4 m] to every Vector3 element of this BufferAttribute, interpreting the elements as a direction vectors.</p>
+
 		<h3>[method:BufferAttribute clone]() </h3>
 		<p>Return a copy of this bufferAttribute.</p>
 
@@ -178,15 +179,8 @@
 		being a [page:TypedArray].
 		</p>
 
-		<h3>[method:BufferAttribute setArray] ( [param:TypedArray array] ) </h3>
-		<p>
-		[page:BufferAttribute.array array] to the TypedArray passed in here.<br /><br />
-
-		After setting the array, [page:BufferAttribute.needsUpdate needsUpdate] should be set to true.
-		</p>
-
-		<h3>[method:BufferAttribute setDynamic] ( [param:Boolean value] ) </h3>
-		<p>Set [page:BufferAttribute.dynamic dynamic] to value.</p>
+		<h3>[method:BufferAttribute setUsage] ( [param:Usage value] ) </h3>
+		<p>Set [page:BufferAttribute.usage usage] to value.</p>
 
 		<h3>[method:BufferAttribute setX]( [param:Integer index], [param:Float x] ) </h3>
 		<p>Sets the x component of the vector at the given index.</p>
@@ -213,6 +207,8 @@
 
 		<h2>Source</h2>
 
-		[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
 	</body>
 </html>

+ 17 - 52
docs/api/en/core/BufferGeometry.html

@@ -38,7 +38,7 @@
 		] );
 
 		// itemSize = 3 because there are 3 values (components) per vertex
-		geometry.addAttribute( 'position', new THREE.BufferAttribute( vertices, 3 ) );
+		geometry.setAttribute( 'position', new THREE.BufferAttribute( vertices, 3 ) );
 		var material = new THREE.MeshBasicMaterial( { color: 0xff0000 } );
 		var mesh = new THREE.Mesh( geometry, material );
 		</code>
@@ -51,43 +51,6 @@
 			[example:webgl_buffergeometry_rawshader Raw Shaders]
 		</p>
 
-
-		<h2>Accessing Attributes</h2>
-		<p>
-		WebGL stores data associated with individual vertices of a geometry in <em>attributes</em>.
-		Examples include the position of the vertex, the normal vector for the vertex, the vertex color,
-		and so on. When using [page:Geometry], the [page:WebGLRenderer renderer] takes care of wrapping
-		up this information into typed array buffers and sending this data to the shader. With
-		BufferGeometry, all of this data is stored in buffers associated with individual attributes.
-		This means that to get the position data associated with a vertex (for instance), you must call
-		[page:.getAttribute] to access the 'position' [page:BufferAttribute attribute], then access the individual
-		x, y, and z coordinates of the position.
-		</p>
-		<p>
-		The following attributes are set by various members of this class:
-		</p>
-		<h3>[page:BufferAttribute position] (itemSize: 3)</h3>
-		<p>
-		Stores the x, y, and z coordinates of each vertex in this geometry. Set by [page:.fromGeometry]().
-		</p>
-
-		<h3>[page:BufferAttribute normal] (itemSize: 3)</h3>
-		<p>
-		Stores the x, y, and z components of the vertex normal vector of each vertex in this geometry.
-		Set by [page:.fromGeometry]().
-		</p>
-
-		<h3>[page:BufferAttribute color] (itemSize: 3)</h3>
-		<p>
-		Stores the red, green, and blue channels of vertex color of each vertex in this geometry.
-		Set by [page:.fromGeometry]().
-		</p>
-
-		<p>
-		In addition to the the built-in attributes, you can set your own custom attributes using the addAttribute method. With [page:Geometry], these attributes are set and stored on the [page:Material]. In BufferGeometry, the attributes are stored with the geometry itself. Note that you still need to set the attributes information on the material as well, but the value of each attribute is stored in the BufferGeometry.
-		</p>
-
-
 		<h2>Constructor</h2>
 
 
@@ -102,7 +65,7 @@
 		<h3>[property:Object attributes]</h3>
 		<p>
 		This hashmap has as id the name of the attribute to be set and as value the [page:BufferAttribute buffer] to set it to.
-		Rather than accessing this property directly, use [page:.addAttribute] and [page:.getAttribute] to access attributes of this geometry.
+		Rather than accessing this property directly, use [page:.setAttribute] and [page:.getAttribute] to access attributes of this geometry.
 		</p>
 
 		<h3>[property:Box3 boundingBox]</h3>
@@ -169,16 +132,16 @@
 			Default is *null*.
 		</p>
 
-		<h3>[property:Boolean isBufferGeometry]</h3>
+		<h3>[property:Object morphAttributes]</h3>
 		<p>
-			Used to check whether this or derived classes are BufferGeometries. Default is *true*.<br /><br />
-
-			You should not change this, as it used internally for optimisation.
+			Hashmap of [page:BufferAttribute]s holding details of the geometry's [page:Geometry.morphTargets morphTargets].
 		</p>
 
-		<h3>[property:Object morphAttributes]</h3>
+		<h3>[property:Boolean morphTargetsRelative]</h3>
 		<p>
-			Hashmap of [page:BufferAttribute]s holding details of the geometry's [page:Geometry.morphTargets morphTargets].
+			Used to control the morph target behavior; when set to true, the morph target data is treated as relative offsets, rather than as absolute positions/normals.
+
+			Default is *false*.
 		</p>
 
 		<h3>[property:String name]</h3>
@@ -202,9 +165,9 @@
 
 		<h3>[page:EventDispatcher EventDispatcher] methods are available on this class.</h3>
 
-		<h3>[method:BufferGeometry addAttribute]( [param:String name], [param:BufferAttribute attribute] )</h3>
+		<h3>[method:BufferGeometry setAttribute]( [param:String name], [param:BufferAttribute attribute] )</h3>
 		<p>
-		Adds an attribute to this geometry. Use this rather than the attributes property,
+		Sets an attribute to this geometry. Use this rather than the attributes property,
 		because an internal hashmap of [page:.attributes] is maintained to speed up iterating over
 		attributes.
 		</p>
@@ -216,7 +179,7 @@
 		</p>
 
 
-		<h3>[method:null applyMatrix]( [param:Matrix4 matrix] )</h3>
+		<h3>[method:null applyMatrix4]( [param:Matrix4 matrix] )</h3>
 		<p>Bakes matrix transform directly into vertex coordinates.</p>
 
 		<h3>[method:BufferGeometry center] ()</h3>
@@ -286,8 +249,8 @@
 		This will correct lighting on the geometry surfaces.
 		</p>
 
-		<h3>[method:BufferAttribute removeAttribute]( [param:String name] )</h3>
-		<p>Removes the [page:BufferAttribute attribute] with the specified name.</p>
+		<h3>[method:BufferAttribute deleteAttribute]( [param:String name] )</h3>
+		<p>Deletes the [page:BufferAttribute attribute] with the specified name.</p>
 
 		<h3>[method:BufferGeometry rotateX] ( [param:Float radians] )</h3>
 		<p>
@@ -327,7 +290,7 @@
 		<p>Sets the attributes for this BufferGeometry from an array of points.</p>
 
 		<h3>[method:Object toJSON]()</h3>
-		<p>Returns a JSON object representation of the BufferGeometry.</p>
+		<p>Convert the buffer geometry to three.js [link:https://github.com/mrdoob/three.js/wiki/JSON-Object-Scene-format-4 JSON Object/Scene format].</p>
 
 		<h3>[method:BufferGeometry toNonIndexed]()</h3>
 		<p>Return a non-index version of an indexed BufferGeometry.</p>
@@ -359,6 +322,8 @@
 
 		<h2>Source</h2>
 
-		[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
 	</body>
 </html>

+ 5 - 3
docs/api/en/core/Clock.html

@@ -11,8 +11,8 @@
 		<h1>[name]</h1>
 
 		<p class="desc">
-		Object for keeping track of time. This uses <a href="https://developer.mozilla.org/en-US/docs/Web/API/Performance/now">performance.now()</a>
-		if it is available, otherwise it reverts to the less accurate <a href="https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Date/now">Date.now()</a>.
+		Object for keeping track of time. This uses [link:https://developer.mozilla.org/en-US/docs/Web/API/Performance/now performance.now]
+		if it is available, otherwise it reverts to the less accurate [link:https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Date/now Date.now].
 		</p>
 
 
@@ -82,6 +82,8 @@
 
 		<h2>Source</h2>
 
-		[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
 	</body>
 </html>

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

@@ -103,6 +103,8 @@
 
 		<h2>Source</h2>
 
-		[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
 	</body>
 </html>

+ 3 - 1
docs/api/en/core/EventDispatcher.html

@@ -95,6 +95,8 @@ car.start();
 
 		<h2>Source</h2>
 
-		[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
 	</body>
 </html>

+ 3 - 1
docs/api/en/core/Face3.html

@@ -128,6 +128,8 @@ scene.add( new THREE.Mesh( geometry, material ) );
 
 		<h2>Source</h2>
 
-		[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
 	</body>
 </html>

+ 8 - 11
docs/api/en/core/Geometry.html

@@ -98,13 +98,6 @@
 		<h3>[property:Integer id]</h3>
 		<p>Unique number for this geometry instance.</p>
 
-		<h3>[property:Boolean isGeometry]</h3>
-		<p>
-			Used to check whether this or derived classes are Geometries. Default is *true*.<br /><br />
-
-			You should not change this, as it used internally for optimisation.
-		</p>
-
 		<h3>[property:array lineDistances]</h3>
 		<p>
 		An array containing distances between vertices for Line geometries.
@@ -210,7 +203,7 @@
 
 		<h3>[page:EventDispatcher EventDispatcher] methods are available on this class.</h3>
 
-		<h3>[method:null applyMatrix]( [param:Matrix4 matrix] )</h3>
+		<h3>[method:null applyMatrix4]( [param:Matrix4 matrix] )</h3>
 		<p>Bakes matrix transform directly into vertex coordinates.</p>
 
 		<h3>[method:Geometry center] ()</h3>
@@ -327,8 +320,10 @@
 		Use [page:Object3D.scale] for typical real-time mesh scaling.
 		</p>
 
-		<h3>[method:JSON toJSON] ( )</h3>
-		<p>Convert the geometry to JSON format.</p>
+		<h3>[method:Object toJSON] ( )</h3>
+		<p>Convert the geometry to JSON format.<br />
+		Convert the geometry to three.js [link:https://github.com/mrdoob/three.js/wiki/JSON-Object-Scene-format-4 JSON Object/Scene format].
+		</p>
 
 		<h3>[method:Geometry translate] ( [param:Float x], [param:Float y], [param:Float z] )</h3>
 		<p>
@@ -339,6 +334,8 @@
 
 		<h2>Source</h2>
 
-		[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
 	</body>
 </html>

+ 3 - 6
docs/api/en/core/InstancedBufferAttribute.html

@@ -29,16 +29,13 @@
 			Default is *1*.
 		</p>
 
-		<h3>[property:Boolean isInstancedBufferAttribute]</h3>
-		<p>
-			Default is *true*.
-		</p>
-
 		<h2>Methods</h2>
 		<p>See [page:BufferAttribute] for inherited methods.</p>
 
 		<h2>Source</h2>
 
-		[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
 	</body>
 </html>

+ 3 - 6
docs/api/en/core/InstancedBufferGeometry.html

@@ -29,11 +29,6 @@
 			Default is *undefined*.
 		</p>
 
-		<h3>[property:Boolean isInstancedBufferGeometry]</h3>
-		<p>
-			Default is *true*.
-		</p>
-
 		<h2>Methods</h2>
 		<p>See [page:BufferAttribute] for inherited methods.</p>
 
@@ -45,6 +40,8 @@
 
 		<h2>Source</h2>
 
-		[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
 	</body>
 </html>

+ 3 - 6
docs/api/en/core/InstancedInterleavedBuffer.html

@@ -31,11 +31,6 @@
 			Default is *1*.
 		</p>
 
-		<h3>[property:Boolean isInstancedInterleavedBuffer]</h3>
-		<p>
-			Default is *true*.
-		</p>
-
 		<h2>Methods</h2>
 		<p>
 			See [page:InterleavedBuffer] for inherited methods.
@@ -43,6 +38,8 @@
 
 		<h2>Source</h2>
 
-		[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
 	</body>
 </html>

+ 10 - 19
docs/api/en/core/InterleavedBuffer.html

@@ -44,11 +44,6 @@
 		Gives the total number of elements in the array.
 		</p>
 
-		<h3>[property:Boolean dynamic]</h3>
-		<p>
-		Default is *false*.
-		</p>
-
 		<h3>[property:Object updateRange]</h3>
 		<p>
 		Object containing offset and count.
@@ -69,27 +64,18 @@
 		A version number, incremented every time the needsUpdate property is set to true.
 		</p>
 
-		<h3>[property:Boolean isInterleavedBuffer]</h3>
-		<p>
-		Default is *true*.
-		</p>
-
 		<h3>[property:Boolean needsUpdate]</h3>
 		<p>
 		Default is *false*. Setting this to true increments [page:InterleavedBuffer.version version].
 		</p>
 
-		<h2>Methods</h2>
-
-		<h3>[method:InterleavedBuffer setArray] ( [param:TypedArray array] ) </h3>
+		<h3>[property:Usage usage]</h3>
 		<p>
-		 array - must be  a Typed Array.
+			Defines the intended usage pattern of the data store for optimization purposes. Corresponds to the *usage* parameter of
+			[link:https://developer.mozilla.org/en-US/docs/Web/API/WebGLRenderingContext/bufferData WebGLRenderingContext.bufferData]().
 		</p>
 
-		<h3>[method:InterleavedBuffer setDynamic] ( [param:Boolean value] ) </h3>
-		<p>
-			Set [page:InterleavedBuffer.dynamic dynamic] to value.
-		</p>
+		<h2>Methods</h2>
 
 		<h3>[method:InterleavedBuffer copy]( [param:InterleavedBuffer source] ) </h3>
 		<p>
@@ -112,8 +98,13 @@
 			Creates a clone of this [name].
 		</p>
 
+		<h3>[method:BufferAttribute setUsage] ( [param:Usage value] ) </h3>
+		<p>Set [page:BufferAttribute.usage usage] to value.</p>
+
 		<h2>Source</h2>
 
-		[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
 	</body>
 </html>

+ 7 - 7
docs/api/en/core/InterleavedBufferAttribute.html

@@ -52,16 +52,14 @@
 
 		<h3>[property:Boolean normalized]</h3>
 		<p>
-			Default is *true*.
-		</p>
-
-		<h3>[property:Boolean isInterleavedBufferAttribute]</h3>
-		<p>
-			Default is *true*.
+			Default is *false*.
 		</p>
 
 		<h2>Methods</h2>
 
+		<h3>[method:this applyMatrix4]( [param:Matrix4 m] )</h3>
+		<p>Applies matrix [page:Matrix4 m] to every Vector3 element of this InterleavedBufferAttribute.</p>
+
 		<h3>[method:Number getX]( [param:Integer index] ) </h3>
 		<p>Returns the x component of the item at the given index.</p>
 
@@ -99,6 +97,8 @@
 
 		<h2>Source</h2>
 
-		[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
 	</body>
 </html>

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

@@ -80,8 +80,20 @@
 			Toggle membership of *layer*.
 		</p>
 
+		<h3>[method:null enableAll]()</h3>
+		<p>
+			Add membership to all layers.
+		</p>
+
+		<h3>[method:null disableAll]()</h3>
+		<p>
+			Remove membership from all layers.
+		</p>
+
 		<h2>Source</h2>
 
-		[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
 	</body>
 </html>

+ 27 - 19
docs/api/en/core/Object3D.html

@@ -46,7 +46,7 @@
 
 		<h3>[property:Material customDistanceMaterial]</h3>
 		<p>
-		Same as customDepthMaterial, but used with [page:PointLight]. Default is *undefined*.
+		Same as [page:.customDepthMaterial customDepthMaterial], but used with [page:PointLight]. Default is *undefined*.
 		</p>
 
 		<h3>[property:Boolean frustumCulled]</h3>
@@ -58,13 +58,6 @@
 		<h3>[property:Integer id]</h3>
 		<p>readonly – Unique number for this object instance.</p>
 
-		<h3>[property:Boolean isObject3D]</h3>
-		<p>
-			Used to check whether this or derived classes are Object3Ds. Default is *true*.<br /><br />
-
-			You should not change this, as it is used internally for optimisation.
-		</p>
-
 		<h3>[property:Layers layers]</h3>
 		<p>
 		The layer membership of the object. The object is only visible if it has at least one
@@ -192,7 +185,7 @@
 			Set to ( 0, 1, 0 ) by default.
 		</p>
 
-		<h3>[property:Vector3 DefaultMatrixAutoUpdate]</h3>
+		<h3>[property:Boolean DefaultMatrixAutoUpdate]</h3>
 		<p>
 			The default setting for [page:.matrixAutoUpdate matrixAutoUpdate] for newly created Object3Ds.<br />
 
@@ -211,12 +204,15 @@
 		See [page:Group] for info on manually grouping objects.
 		</p>
 
-		<h3>[method:null applyMatrix]( [param:Matrix4 matrix] )</h3>
+		<h3>[method:null applyMatrix4]( [param:Matrix4 matrix] )</h3>
 		<p>Applies the matrix transform to the object and updates the object's position, rotation and scale.</p>
 
 		<h3>[method:this applyQuaternion]( [param:Quaternion quaternion] )</h3>
 		<p>Applies the rotation represented by the quaternion to the object.</p>
 
+		<h3>[method:this attach]( [param:Object3D object] )</h3>
+		<p>Adds *object* as a child of this, while maintaining the object's world transform.</p>
+
 		<h3>[method:Object3D clone]( [param:Boolean recursive] )</h3>
 		<p>
 		recursive -- if true, descendants of the object are also cloned. Default is true.<br /><br />
@@ -229,13 +225,15 @@
 		recursive -- if true, descendants of the object are also copied. Default is true.<br /><br />
 
 		Copy the given object into this object.
+
+		Note: event listeners and user-defined callbacks ([page:.onAfterRender] and [page:.onBeforeRender]) are not copied.
 		</p>
 
 		<h3>[method:Object3D getObjectById]( [param:Integer id] )</h3>
 		<p>
 		id -- Unique number of the object instance<br /><br />
 
-		Searches through the object's children and returns the first with a matching id.<br />
+		Searches through an object and its children, starting with the object itself, and returns the first with a matching id.<br />
 		Note that ids are assigned in chronological order: 1, 2, 3, ..., incrementing by one for each new object.
 		</p>
 
@@ -243,7 +241,7 @@
 		<p>
 		name -- String to match to the children's Object3D.name property. <br /><br />
 
-		Searches through the object's children and returns the first with a matching name.<br />
+		Searches through an object and its children, starting with the object itself, and returns the first with a matching name.<br />
 		Note that for most objects the name is an empty string by default. You will
 		have to set it manually to make use of this method.
 		</p>
@@ -253,7 +251,7 @@
 		name -- the property name to search for. <br />
 		value -- value of the given property. <br /><br />
 
-		Searches through the object's children and returns the first with a property that matches the value given.
+		Searches through an object and its children, starting with the object itself, and returns the first with a property that matches the value given.
 		</p>
 
 		<h3>[method:Vector3 getWorldPosition]( [param:Vector3 target] )</h3>
@@ -292,7 +290,7 @@
 		Converts the vector from local space to world space.
 		</p>
 
-		<h3>[method:null lookAt]( [param:Vector3 vector] )</br>
+		<h3>[method:null lookAt]( [param:Vector3 vector] )<br />
 		[method:null lookAt]( [param:Float x], [param:Float y], [param:Float z] )</h3>
 		<p>
 		vector - A vector representing a position in world space.<br /><br />
@@ -387,9 +385,10 @@
 			Copy the given quaternion into [page:.quaternion].
 		</p>
 
-		<h3>[method:null toJSON]( [param:Quaternion q] )</h3>
+		<h3>[method:Object toJSON]( [param:object meta] )</h3>
 		<p>
-			Convert the object to JSON format.
+		meta -- object containing metadata such as materials, textures or images for the object.<br />
+		Convert the object to three.js [link:https://github.com/mrdoob/three.js/wiki/JSON-Object-Scene-format-4 JSON Object/Scene format].
 		</p>
 
 		<h3>[method:this translateOnAxis]( [param:Vector3 axis], [param:Float distance] )</h3>
@@ -432,11 +431,18 @@
 		</p>
 
 		<h3>[method:null updateMatrix]()</h3>
-		<p>Update the local transform.</p>
+		<p>Updates the local transform.</p>
 
 		<h3>[method:null updateMatrixWorld]( [param:Boolean force] )</h3>
-		<p>Update the global transform of the object and its children.</p>
+		<p>Updates the global transform of the object and its descendants.</p>
 
+		<h3>[method:null updateWorldMatrix]( [param:Boolean updateParents], [param:Boolean updateChildren] )</h3>
+		<p>
+		updateParents - recursively updates global transform of ancestors.<br />
+		updateChildren - recursively updates global transform of descendants.<br /><br />
+
+		Updates the global transform of the object.
+		</p>
 
 		<h3>[method:Vector3 worldToLocal]( [param:Vector3 vector] )</h3>
 		<p>
@@ -447,6 +453,8 @@
 
 		<h2>Source</h2>
 
-		[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
 	</body>
 </html>

+ 15 - 2
docs/api/en/core/Raycaster.html

@@ -58,6 +58,7 @@
 			Examples: [example:webgl_interactive_cubes Raycasting to a Mesh]<br />
 			[example:webgl_interactive_cubes_ortho Raycasting to a Mesh in using an OrthographicCamera]<br />
 			[example:webgl_interactive_buffergeometry Raycasting to a Mesh with BufferGeometry]<br />
+			[example:webgl_instancing_raycast Raycasting to a InstancedMesh]<br />
 			[example:webgl_interactive_lines Raycasting to a Line]<br />
 			[example:webgl_interactive_raycasting_points Raycasting to Points]<br />
 			[example:webgl_geometry_terrain_raycast Terrain raycasting]<br />
@@ -103,6 +104,14 @@
 		This value shouldn't be negative and should be smaller than the far property.
 		</p>
 
+		<h3>[property:Camera camera]</h3>
+		<p>
+		The camera to use when raycasting against view-dependent objects such as billboarded objects like [page:Sprites]. This field
+		can be set manually or is set when calling "setFromCamera".
+
+		Defaults to null.
+		</p>
+
 		<h3>[property:Object params]</h3>
 		<p>
 		An object with the following properties:
@@ -161,7 +170,9 @@
 			[page:Face3 face] – intersected face<br />
 			[page:Integer faceIndex] – index of the intersected face<br />
 			[page:Object3D object] – the intersected object<br />
-			[page:Vector2 uv] - U,V coordinates at point of intersection
+			[page:Vector2 uv] - U,V coordinates at point of intersection<br />
+			[page:Vector2 uv2] - Second set of U,V coordinates at point of intersection<br />
+			[page:Integer instanceId] – The index number of the instance where the ray intersects the InstancedMesh
 		</p>
 		<p>
 		*Raycaster* delegates to the [page:Object3D.raycast raycast] method of the passed object, when evaluating whether the ray intersects the object or not. This allows [page:Mesh meshes] to respond differently to ray casting than [page:Line lines] and [page:Points pointclouds].
@@ -183,6 +194,8 @@
 
 		<h2>Source</h2>
 
-		[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
 	</body>
 </html>

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

@@ -208,6 +208,8 @@
 
 		<h2>Source</h2>
 
-		[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
 	</body>
 </html>

+ 6 - 3
docs/api/en/core/bufferAttributeTypes/BufferAttributeTypes.html

@@ -31,10 +31,13 @@
 
 		<h2>Constructor</h2>
 
-		All of the above are called in the same way.
-		<h3>TypedBufferAttribute( [param:Array array], [param:Integer itemSize], [param:Boolean normalized] )</h3>
+		<p>All of the above are called in the same way.</p>
+
+		<h3>TypedBufferAttribute( [param:Array_or_Integer array], [param:Integer itemSize], [param:Boolean normalized] )</h3>
 		<p>
-			array -- this can be a typed or untyped (normal) array. It will be converted to the Type specified.<br /><br />
+			array -- this can be a typed or untyped (normal) array or an integer length.
+			An array value will be converted to the Type specified.
+			If a length is given a new TypedArray will created, initialized with all elements set to zero.<br /><br />
 
 			itemSize -- the number of values of the array that should be associated with a particular vertex.<br /><br />
 

+ 31 - 20
docs/api/en/deprecated/DeprecatedList.html

@@ -55,7 +55,7 @@
 
 
 		<h3>[page:DynamicBufferAttribute]</h3>
-		<p>DynamicBufferAttribute has been removed. Use [page:BufferAttribute.setDynamic]( true ) instead.</p>
+		<p>DynamicBufferAttribute has been removed. Use [page:BufferAttribute.setUsage]( THREE.DynamicDrawUsage ) instead.</p>
 
 		<h3>[page:Int8Attribute]</h3>
 		<p>Int8Attribute has been removed. Use [page:BufferAttributeTypes Int8BufferAttribute] instead.</p>
@@ -152,14 +152,6 @@
 
 
 
-		<h2>Geometry</h2>
-
-		<p>
-			Geometry.computeTangents() has been removed.<br /><br />
-
-			Geometry.computeLineDistances() has been removed. Use [page:Line.computeLineDistances] instead.<br /><br />
-		</p>
-
 		<h3>[page:BufferGeometry]</h3>
 		<p>
 			BufferGeometry.addIndex has been renamed to [page:BufferGeometry.setIndex].<br /><br />
@@ -176,13 +168,25 @@
 
 			BufferGeometry.offsets has been renamed to [page:BufferGeometry.groups].<br /><br />
 
+			BufferGeometry.applyMatrix() has been renamed to [page:BufferGeometry.applyMatrix4]().
 		</p>
 
+
+
+
 		<h3>[page:CubeGeometry]</h3>
 		<p>CubeGeometry has been renamed to [page:BoxGeometry].</p>
 
+
+
 		<h3>[page:Geometry]</h3>
-		<p>Geometry.computeTangents() has been removed.</p>
+		<p>
+			Geometry.computeTangents() has been removed.<br /><br />
+
+			Geometry.computeLineDistances() has been removed. Use [page:Line.computeLineDistances] instead.<br /><br />
+
+			Geometry.applyMatrix() has been renamed to [page:Geometry.applyMatrix4]().
+		</p>
 
 		<h3>[page:GeometryUtils]</h3>
 		<p>
@@ -253,7 +257,7 @@
 		<h3>[page:JSONLoader]</h3>
 		<p>JSONLoader has been removed from core.</p>
 
-		<h2>Maths</h2>
+		<h2>Math</h2>
 
 		<h3>[page:Box2]</h3>
 		<p>
@@ -283,6 +287,9 @@
 		<h3>[page:Face4]</h3>
 		<p>Face4 has been removed. Use [page:Face3] instead.</p>
 
+		<h3>[page:Frustum]</h3>
+		<p>Frustum.setFromMatrix() has been renamed to [page:Frustum.setFromProjectionMatrix]().</p>
+
 		<h3>[page:Line3]</h3>
 		<p>Line3.center has been renamed to [page:Line3.getCenter]().</p>
 
@@ -293,15 +300,15 @@
 
 		<h3>[page:Matrix3]</h3>
 		<p>
-			Matrix3.flattenToArrayOffset is deprecated. Use [page:Matrix3.toArray]() instead.<br /><br />
+			Matrix3.flattenToArrayOffset() is deprecated. Use [page:Matrix3.toArray]() instead.<br /><br />
 
-			Matrix3.multiplyVector3 has been removed. Use vector.applyMatrix3( matrix ) instead.<br /><br />
+			Matrix3.multiplyVector3() has been removed. Use vector.applyMatrix3( matrix ) instead.<br /><br />
 
-			Matrix3.multiplyVector3Array has been renamed to [page:Matrix3.applyToVector3Array]( array ).<br /><br />
+			Matrix3.multiplyVector3Array() has been renamed to [page:Matrix3.applyToVector3Array]( array ).<br /><br />
 
-			Matrix3.applyToBuffer has been removed. Use matrix.applyToBufferAttribute( attribute ) instead.<br /><br />
+			Matrix3.applyToBufferAttribute() has been removed. Use [page:BufferAttribute.applyMatrix3]( matrix ) instead.<br /><br />
 
-			Matrix3.applyToVector3Array has been removed.
+			Matrix3.applyToVector3Array() has been removed.
 		<p>
 
 		<h3>[page:Matrix4]</h3>
@@ -332,7 +339,7 @@
 
 			Matrix4.rotateByAxis() has been removed.<br /><br />
 
-			Matrix4.applyToBuffer() has been removed. Use matrix.applyToBufferAttribute() instead.<br /><br />
+			Matrix4.applyToBufferAttribute() has been removed. Use [page:BufferAttribute.applyMatrix4]( matrix ) instead.<br /><br />
 
 			Matrix4.applyToVector3Array() has been removed.<br /><br />
 
@@ -458,7 +465,10 @@
 
 			Object3D.translate() has been removed. Use [page:Object3D.translateOnAxis]( axis, distance ) instead.<br /><br />
 
-			Object3D.useQuaternion has been removed. The library now uses quaternions by default.
+			Object3D.useQuaternion has been removed. The library now uses quaternions by default.<br /><br />
+
+			Object3D.applyMatrix() has been renamed to [page:Object3D.applyMatrix4]().
+
 		</p>
 
 		<h3>[page:LensFlare]</h3>
@@ -601,8 +611,9 @@
 
 		<h2>Source</h2>
 
-		[link:https://github.com/mrdoob/three.js/blob/master/src/Three.Legacy.js src/Three.Legacy.js]
-
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/Three.Legacy.js src/Three.Legacy.js]
+		</p>
 
 		</body>
 </html>

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

@@ -26,6 +26,8 @@
 
 		<h2>Source</h2>
 
-		[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
 	</body>
 </html>

+ 5 - 3
docs/api/en/extras/ShapeUtils.html

@@ -22,13 +22,13 @@
 
 		<h3>[method:Number area]( contour )</h3>
 		<p>
-		contour -- 2D polygon.<br /><br />
+		contour -- 2D polygon. An array of THREE.Vector2()<br /><br />
 
 		Calculate area of a ( 2D ) contour polygon.<br /><br />
 
 		</p>
 
-		<h3>[method:Boolean isClockwise]( pts )</h3>
+		<h3>[method:Boolean isClockWise]( pts )</h3>
 		<p>
 		pts -- points defining a 2D polygon<br /><br />
 
@@ -49,6 +49,8 @@
 
 		<h2>Source</h2>
 
-		[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
 	</body>
 </html>

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

@@ -111,6 +111,8 @@
 
 		<h2>Source</h2>
 
-		[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
 	</body>
 </html>

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

@@ -55,6 +55,8 @@
 
 		<h2>Source</h2>
 
-		[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
 	</body>
 </html>

+ 3 - 8
docs/api/en/extras/core/Font.html

@@ -37,13 +37,6 @@
 		<h3>[property:array data]</h3>
 		<p>The JSON data passed in the constructor.</p>
 
-		<h3>[property:Boolean isFont]</h3>
-		<p>
-			Used to check whether this or derived classes are fonts. Default is *true*.<br /><br />
-
-			You should not change this, as it used internally by the renderer for optimisation.
-		</p>
-
 		<h2>Methods</h2>
 
 		<h3>[method:null generateShapes]( [param:String text], [param:Float size] )</h3>
@@ -56,6 +49,8 @@
 
 		<h2>Source</h2>
 
-		[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
 	</body>
 </html>

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

@@ -42,6 +42,8 @@
 
 		<h2>Source</h2>
 
-		[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
 	</body>
 </html>

+ 14 - 12
docs/api/en/extras/core/Path.html

@@ -8,7 +8,7 @@
 		<link type="text/css" rel="stylesheet" href="page.css" />
 	</head>
 	<body>
-		[page:CurvePath] &rarr;
+		[page:Curve] &rarr; [page:CurvePath] &rarr;
 
 		<h1>[name]</h1>
 
@@ -60,7 +60,7 @@
 		<h2>Methods</h2>
 		<p>See the base [page:CurvePath] class for common methods.</p>
 
-		<h3>[method:null absarc]( [param:Float x], [param:Float y], [param:Float radius], [param:Float startAngle], [param:Float endAngle], [param:Float clockwise] )</h3>
+		<h3>[method:this absarc]( [param:Float x], [param:Float y], [param:Float radius], [param:Float startAngle], [param:Float endAngle], [param:Boolean clockwise] )</h3>
 		<p>
 			x, y -- The absolute center of the arc.<br />
 			radius -- The radius of the arc.<br />
@@ -71,7 +71,7 @@
 			Adds an absolutely positioned [page:EllipseCurve EllipseCurve] to the path.
 		</p>
 
-		<h3>[method:null absellipse]( [param:Float x], [param:Float y], [param:Float xRadius], [param:Float yRadius], [param:Float startAngle], [param:Float endAngle], [param:Float clockwise], [param:Float rotation] )</h3>
+		<h3>[method:this absellipse]( [param:Float x], [param:Float y], [param:Float xRadius], [param:Float yRadius], [param:Float startAngle], [param:Float endAngle], [param:Boolean clockwise], [param:Float rotation] )</h3>
 		<p>
 			x, y -- The absolute center of the ellipse.<br />
 			xRadius -- The radius of the ellipse in the x axis.<br />
@@ -84,7 +84,7 @@
 			Adds an absolutely positioned [page:EllipseCurve EllipseCurve] to the path.
 		</p>
 
-		<h3>[method:null arc]( [param:Float x], [param:Float y], [param:Float radius], [param:Float startAngle], [param:Float endAngle], [param:Float clockwise] )</h3>
+		<h3>[method:this arc]( [param:Float x], [param:Float y], [param:Float radius], [param:Float startAngle], [param:Float endAngle], [param:Boolean clockwise] )</h3>
 		<p>
 		x, y -- The center of the arc offset from the last call.<br />
 		radius -- The radius of the arc.<br />
@@ -96,10 +96,10 @@
 		</p>
 
 
-		<h3>[method:null bezierCurveTo]( [param:Float cp1X], [param:Float cp1Y], [param:Float cp2X], [param:Float cp2Y], [param:Float x], [param:Float y] )</h3>
+		<h3>[method:this bezierCurveTo]( [param:Float cp1X], [param:Float cp1Y], [param:Float cp2X], [param:Float cp2Y], [param:Float x], [param:Float y] )</h3>
 		<p>This creates a bezier curve from [page:.currentPoint] with (cp1X, cp1Y) and (cp2X, cp2Y) as control points and updates [page:.currentPoint] to x and y.</p>
 
-		<h3>[method:null ellipse]( [param:Float x], [param:Float y], [param:Float xRadius], [param:Float yRadius], [param:Float startAngle], [param:Float endAngle], [param:Float clockwise], [param:Float rotation] )</h3>
+		<h3>[method:this ellipse]( [param:Float x], [param:Float y], [param:Float xRadius], [param:Float yRadius], [param:Float startAngle], [param:Float endAngle], [param:Boolean clockwise], [param:Float rotation] )</h3>
 		<p>
 			x, y -- The center of the ellipse offset from the last call.<br />
 			xRadius -- The radius of the ellipse in the x axis.<br />
@@ -112,18 +112,18 @@
 			Adds an [page:EllipseCurve EllipseCurve] to the path, positioned relative to [page:.currentPoint].
 		</p>
 
-		<h3>[method:null lineTo]( [param:Float x], [param:Float y] )</h3>
+		<h3>[method:this lineTo]( [param:Float x], [param:Float y] )</h3>
 		<p>Connects a [page:LineCurve] from [page:.currentPoint] to x, y onto the path.</p>
 
 
-		<h3>[method:null moveTo]( [param:Float x], [param:Float y] )</h3>
+		<h3>[method:this moveTo]( [param:Float x], [param:Float y] )</h3>
 		<p>Move the [page:.currentPoint] to x, y.</p>
 
 
-		<h3>[method:null quadraticCurveTo]( [param:Float cpX], [param:Float cpY], [param:Float x], [param:Float y] )</h3>
+		<h3>[method:this quadraticCurveTo]( [param:Float cpX], [param:Float cpY], [param:Float x], [param:Float y] )</h3>
 		<p>Creates a quadratic curve from [page:.currentPoint] with cpX and cpY as control point and updates [page:.currentPoint] to x and y.</p>
 
-		<h3>[method:null setFromPoints]( [param:Array vector2s] )</h3>
+		<h3>[method:this setFromPoints]( [param:Array vector2s] )</h3>
 		<p>
 			points --  array of [page:Vector2 Vector2s].<br /><br />
 
@@ -131,7 +131,7 @@
 			array as [page:LineCurve LineCurves].
 		</p>
 
-		<h3>[method:null splineThru] ( [param:Array points] ) </h3>
+		<h3>[method:this splineThru] ( [param:Array points] ) </h3>
 		<p>
 			points - An array of [page:Vector2 Vector2s]<br /><br />
 
@@ -140,6 +140,8 @@
 
 		<h2>Source</h2>
 
-		[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
 	</body>
 </html>

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

@@ -8,7 +8,7 @@
 		<link type="text/css" rel="stylesheet" href="page.css" />
 	</head>
 	<body>
-		[page:Path] &rarr;
+		[page:Curve] &rarr; [page:CurvePath] &rarr; [page:Path] &rarr;
 
 		<h1>[name]</h1>
 
@@ -96,6 +96,8 @@
 
 		<h2>Source</h2>
 
-		[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
 	</body>
 </html>

+ 9 - 8
docs/api/en/extras/core/ShapePath.html

@@ -8,8 +8,6 @@
 		<link type="text/css" rel="stylesheet" href="page.css" />
 	</head>
 	<body>
-		[page:CurvePath] &rarr;
-
 		<h1>[name]</h1>
 
 		<p class="desc">
@@ -44,29 +42,32 @@
 		The current [page:Path] that is being generated.
 		</p>
 
+		<h3>[property:Color color]</h3>
+		<p>[page:Color] of the shape, by default set to white (0xffffff).</p>
+
 		<h2>Methods</h2>
 
-		<h3>[method:null moveTo]( [param:Float x], [param:Float y] )</h3>
+		<h3>[method:this moveTo]( [param:Float x], [param:Float y] )</h3>
 		<p>
 		Starts a new [page:Path] and calls [page:Path.moveTo]( x, y ) on that [page:Path].
 		Also points [page:ShapePath.currentPath currentPath] to that [page:Path].
 		</p>
 
-		<h3>[method:null lineTo]( [param:Float x], [param:Float y] )</h3>
+		<h3>[method:this lineTo]( [param:Float x], [param:Float y] )</h3>
 		<p>This creates a line from the [page:ShapePath.currentPath currentPath]'s
 			offset to X and Y and updates the offset to X and Y.</p>
 
-		<h3>[method:null quadraticCurveTo]( [param:Float cpX], [param:Float cpY], [param:Float x], [param:Float y] )</h3>
+		<h3>[method:this quadraticCurveTo]( [param:Float cpX], [param:Float cpY], [param:Float x], [param:Float y] )</h3>
 		<p>This creates a quadratic curve from the [page:ShapePath.currentPath currentPath]'s
 			offset to x and y with cpX and cpY as control point and updates the [page:ShapePath.currentPath currentPath]'s
 			offset to x and y.</p>
 
-		<h3>[method:null bezierCurveTo]( [param:Float cp1X], [param:Float cp1Y], [param:Float cp2X], [param:Float cp2Y], [param:Float x], [param:Float y] )</h3>
+		<h3>[method:this bezierCurveTo]( [param:Float cp1X], [param:Float cp1Y], [param:Float cp2X], [param:Float cp2Y], [param:Float x], [param:Float y] )</h3>
 		<p>This creates a bezier curve from the [page:ShapePath.currentPath currentPath]'s
 			 offset to x and y with cp1X, cp1Y and cp1X, cp1Y as control points and updates the
 			 [page:ShapePath.currentPath currentPath]'s offset to x and y.</p>
 
-		<h3>[method:null splineThru] ( [param:Array points] ) </h3>
+		<h3>[method:this splineThru] ( [param:Array points] ) </h3>
 		<p>points - An array of [page:Vector2]s</p>
 		<p>Connects a new [page:SplineCurve] onto the [page:ShapePath.currentPath currentPath].</p>
 
@@ -86,6 +87,6 @@
 
 		<h2>Source</h2>
 
-		[link:https://github.com/mrdoob/three.js/blob/master/src/extras/core/Path.js src/extras/core/Path.js]
+		[link:https://github.com/mrdoob/three.js/blob/master/src/extras/core/ShapePath.js src/extras/core/ShapePath.js]
 	</body>
 </html>

+ 4 - 9
docs/api/en/extras/curves/ArcCurve.html

@@ -8,7 +8,7 @@
 		<link type="text/css" rel="stylesheet" href="page.css" />
 	</head>
 	<body>
-		[page:EllipseCurve] &rarr;
+		[page:Curve] &rarr; [page:EllipseCurve] &rarr;
 
 		<h1>[name]</h1>
 
@@ -17,16 +17,11 @@
 		<h2>Properties</h2>
 		<p>See the [page:EllipseCurve] class for common properties.</p>
 
-		<h3>[property:Boolean isArcCurve]</h3>
-		<p>
-			Used to check whether this or derived classes are ArcCurves. Default is *true*.<br /><br />
-
-			You should not change this, as it used internally for optimisation.
-		</p>
-
 
 		<h2>Source</h2>
 
-		[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
 	</body>
 </html>

+ 7 - 11
docs/api/en/extras/curves/CatmullRomCurve3.html

@@ -17,6 +17,10 @@
 
 		<h2>Example</h2>
 
+		<p>
+			[example:webgl_geometry_extrude_splines WebGL / geometry / extrude / splines]
+		</p>
+
 <code>
 //Create a closed wavey loop
 var curve = new THREE.CatmullRomCurve3( [
@@ -36,9 +40,6 @@ var material = new THREE.LineBasicMaterial( { color : 0xff0000 } );
 var curveObject = new THREE.Line( geometry, material );
 </code>
 
-		<h3>[example:webgl_geometry_extrude_splines geometry / extrude / splines]</h3>
-
-
 		<h2>Constructor</h2>
 
 		<h3>[name]( [param:Array points], [param:Boolean closed], [param:String curveType], [param:Float tension] )</h3>
@@ -53,13 +54,6 @@ var curveObject = new THREE.Line( geometry, material );
 		<h2>Properties</h2>
 		<p>See the base [page:Curve] class for common properties.</p>
 
-		<h3>[property:Boolean isCatmullRomCurve3]</h3>
-		<p>
-			Used to check whether this or derived classes are CatmullRomCurve3s. Default is *true*.<br /><br />
-
-			You should not change this, as it used internally for optimisation.
-		</p>
-
 		<h3>[property:Array points]</h3>
 		<p>The array of [page:Vector3] points that define the curve. It needs at least two entries.</p>
 
@@ -76,6 +70,8 @@ var curveObject = new THREE.Line( geometry, material );
 		<h2>Methods</h2>
 		<p>See the base [page:Curve] class for common methods.</p>
 
-		[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
 	</body>
 </html>

+ 3 - 8
docs/api/en/extras/curves/CubicBezierCurve.html

@@ -51,13 +51,6 @@ var curveObject = new THREE.Line( geometry, material );
 		<h2>Properties</h2>
 		<p>See the base [page:Curve] class for common properties.</p>
 
-		<h3>[property:Boolean isCubicBezierCurve]</h3>
-		<p>
-			Used to check whether this or derived classes are CubicBezierCurves. Default is *true*.<br /><br />
-
-			You should not change this, as it used internally for optimisation.
-		</p>
-
 		<h3>[property:Vector2 v0]</h3>
 		<p>The starting point.</p>
 
@@ -76,6 +69,8 @@ var curveObject = new THREE.Line( geometry, material );
 
 		<h2>Source</h2>
 
-		[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
 	</body>
 </html>

+ 3 - 8
docs/api/en/extras/curves/CubicBezierCurve3.html

@@ -52,13 +52,6 @@ var curveObject = new THREE.Line( geometry, material );
 		<h2>Properties</h2>
 		<p>See the base [page:Curve] class for common properties.</p>
 
-		<h3>[property:Boolean isCubicBezierCurve3]</h3>
-		<p>
-			Used to check whether this or derived classes are CubicBezierCurve3s. Default is *true*.<br /><br />
-
-			You should not change this, as it used internally for optimisation.
-		</p>
-
 		<h3>[property:Vector2 v0]</h3>
 		<p>The starting point.</p>
 
@@ -77,6 +70,8 @@ var curveObject = new THREE.Line( geometry, material );
 
 		<h2>Source</h2>
 
-		[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
 	</body>
 </html>

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

@@ -46,24 +46,15 @@ var ellipse = new THREE.Line( geometry, material );
 			[page:Float aY] – The Y center of the ellipse. Default is *0*.<br/>
 			[page:Float xRadius] – The radius of the ellipse in the x direction. Default is *1*.<br/>
 			[page:Float yRadius] – The radius of the ellipse in the y direction. Default is *1*.<br/>
-			[page:Radians aStartAngle] – The start angle of the curve in radians starting from the middle right side.  Default is *0*.<br/>
-			[page:Radians aEndAngle] – The end angle of the curve in radians starting from the middle right side. Default is *2 x Math.PI*.<br/>
+			[page:Radians aStartAngle] – The start angle of the curve in radians starting from the positive X axis.  Default is *0*.<br/>
+			[page:Radians aEndAngle] – The end angle of the curve in radians starting from the positive X axis. Default is *2 x Math.PI*.<br/>
 			[page:Boolean aClockwise] – Whether the ellipse is drawn clockwise. Default is *false*.<br/>
 			[page:Radians aRotation]  – The rotation angle of the ellipse in radians, counterclockwise from the positive X axis (optional). Default is *0*.<br/><br/>
-
-			<em>Note:</em> When going clockwise it's best to set the start angle to (Math.PI * 2) and then work towards lower numbers.
 		</p>
 
 		<h2>Properties</h2>
 		<p>See the base [page:Curve] class for common properties.</p>
 
-		<h3>[property:Boolean isEllipseCurve]</h3>
-		<p>
-			Used to check whether this or derived classes are EllipseCurves. Default is *true*.<br /><br />
-
-			You should not change this, as it used internally for optimisation.
-		</p>
-
 		<h3>[property:Float aX]</h3>
 		<p>The X center of the ellipse.</p>
 
@@ -94,6 +85,8 @@ var ellipse = new THREE.Line( geometry, material );
 
 		<h2>Source</h2>
 
-		[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
 	</body>
 </html>

+ 3 - 8
docs/api/en/extras/curves/LineCurve.html

@@ -27,13 +27,6 @@
 		<h2>Properties</h2>
 		<p>See the base [page:Curve] class for common properties.</p>
 
-		<h3>[property:Boolean isLineCurve]</h3>
-		<p>
-			Used to check whether this or derived classes are LineCurves. Default is *true*.<br /><br />
-
-			You should not change this, as it used internally for optimisation.
-		</p>
-
 		<h3>[property:Vector2 v1]</h3>
 		<p>The start point.</p>
 
@@ -46,6 +39,8 @@
 
 		<h2>Source</h2>
 
-		[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
 	</body>
 </html>

+ 3 - 8
docs/api/en/extras/curves/LineCurve3.html

@@ -27,13 +27,6 @@
 		<h2>Properties</h2>
 		<p>See the base [page:Curve] class for common properties.</p>
 
-		<h3>[property:Boolean isLineCurve3]</h3>
-		<p>
-			Used to check whether this or derived classes are LineCurve3s. Default is *true*.<br /><br />
-
-			You should not change this, as it used internally for optimisation.
-		</p>
-
 		<h3>[property:Vector3 v1]</h3>
 		<p>The start point.</p>
 
@@ -45,6 +38,8 @@
 
 		<h2>Source</h2>
 
-		[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
 	</body>
 </html>

+ 3 - 9
docs/api/en/extras/curves/QuadraticBezierCurve.html

@@ -50,14 +50,6 @@ var curveObject = new THREE.Line( geometry, material );
 		<h2>Properties</h2>
 		<p>See the base [page:Curve] class for common properties.</p>
 
-		<h3>[property:Boolean isQuadraticBezierCurve]</h3>
-		<p>
-			Used to check whether this or derived classes are QuadraticBezierCurves. Default is *true*.<br /><br />
-
-			You should not change this, as it used internally for optimisation.
-		</p>
-
-
 		<h3>[property:Vector2 v0]</h3>
 		<p>The startpoint.</p>
 
@@ -72,6 +64,8 @@ var curveObject = new THREE.Line( geometry, material );
 
 		<h2>Source</h2>
 
-		[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
 	</body>
 </html>

+ 3 - 8
docs/api/en/extras/curves/QuadraticBezierCurve3.html

@@ -51,13 +51,6 @@ var curveObject = new THREE.Line( geometry, material );
 		<h2>Properties</h2>
 		<p>See the base [page:Curve] class for common properties.</p>
 
-		<h3>[property:Boolean isQuadraticBezierCurve3]</h3>
-		<p>
-			Used to check whether this or derived classes are QuadraticBezierCurve3s. Default is *true*.<br /><br />
-
-			You should not change this, as it used internally for optimisation.
-		</p>
-
 		<h3>[property:Vector3 v0]</h3>
 		<p>The startpoint.</p>
 
@@ -72,6 +65,8 @@ var curveObject = new THREE.Line( geometry, material );
 
 		<h2>Source</h2>
 
-		[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
 	</body>
 </html>

+ 3 - 8
docs/api/en/extras/curves/SplineCurve.html

@@ -48,13 +48,6 @@ var splineObject = new THREE.Line( geometry, material );
 		<h2>Properties</h2>
 		<p>See the base [page:Curve] class for common properties.</p>
 
-		<h3>[property:Boolean isSplineCurve]</h3>
-		<p>
-			Used to check whether this or derived classes are SplineCurves. Default is *true*.<br /><br />
-
-			You should not change this, as it used internally for optimisation.
-		</p>
-
 		<h3>[property:Array points]</h3>
 		<p>The array of [page:Vector2] points that define the curve.</p>
 
@@ -67,6 +60,8 @@ var splineObject = new THREE.Line( geometry, material );
 
 		<h2>Source</h2>
 
-		[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
 	</body>
 </html>

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

@@ -37,6 +37,8 @@
 
 		<h2>Source</h2>
 
-		[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
 	</body>
 </html>

+ 5 - 3
docs/api/en/geometries/BoxBufferGeometry.html

@@ -53,7 +53,8 @@
 		</p>
 
 		<h2>Properties</h2>
-	
+		<p>See the base [page:BufferGeometry] class for common properties.</p>
+
 		<h3>[property:Object parameters]</h3>
 		<p>
 		An object with a property for each of the constructor parameters. Any modification after instantiation does not change the geometry.
@@ -67,8 +68,9 @@
 		cube.geometry.parameters.widthSegments; // === undefined.
 		</code>
 		</p>
-		
-		<h2>Methods</h2>	
+
+		<h2>Methods</h2>
+		<p>See the base [page:BufferGeometry] class for common methods.</p>
 
 		<h2>Source</h2>
 

+ 9 - 3
docs/api/en/geometries/BoxGeometry.html

@@ -13,7 +13,7 @@
 		<h1>[name]</h1>
 
 		<p class="desc">BoxGeometry is a geometry class for a [link:https://en.wikipedia.org/wiki/Cuboid rectangular cuboid] with a given 'width', 'height', and 'depth'. On creation, the cuboid is centred on the origin, with each edge parallel to one of the axes.</p>
-		
+
 		<iframe id="scene" src="scenes/geometry-browser.html#BoxGeometry"></iframe>
 
 		<script>
@@ -53,6 +53,7 @@
 		</p>
 
 		<h2>Properties</h2>
+		<p>See the base [page:Geometry] class for common properties.</p>
 
 		<h3>[property:Object parameters]</h3>
 		<p>
@@ -66,10 +67,15 @@
 		cube.geometry.parameters.width; // === 1
 		cube.geometry.parameters.widthSegments; // === undefined.
 		</code>
- 		</p>
+		</p>
+
+		<h2>Methods</h2>
+		<p>See the base [page:Geometry] class for common methods.</p>
 
 		<h2>Source</h2>
 
-		[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
 	</body>
 </html>

+ 4 - 0
docs/api/en/geometries/CircleBufferGeometry.html

@@ -52,12 +52,16 @@
 		</p>
 
 		<h2>Properties</h2>
+		<p>See the base [page:BufferGeometry] class for common properties.</p>
 
 		<h3>[property:Object parameters]</h3>
 		<p>
 		An object with a property for each of the constructor parameters. Any modification after instantiation does not change the geometry.
 		</p>
 
+		<h2>Methods</h2>
+		<p>See the base [page:BufferGeometry] class for common methods.</p>
+
 		<h2>Source</h2>
 
 		[link:https://github.com/mrdoob/three.js/blob/master/src/geometries/CircleGeometry.js src/geometries/CircleGeometry.js]

+ 7 - 1
docs/api/en/geometries/CircleGeometry.html

@@ -53,14 +53,20 @@
 		</p>
 
 		<h2>Properties</h2>
+		<p>See the base [page:Geometry] class for common properties.</p>
 
 		<h3>[property:Object parameters]</h3>
 		<p>
 		An object with a property for each of the constructor parameters. Any modification after instantiation does not change the geometry.
 		</p>
 
+		<h2>Methods</h2>
+		<p>See the base [page:Geometry] class for common methods.</p>
+
 		<h2>Source</h2>
 
-		[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
 	</body>
 </html>

+ 5 - 1
docs/api/en/geometries/ConeBufferGeometry.html

@@ -8,7 +8,7 @@
 		<link type="text/css" rel="stylesheet" href="page.css" />
 	</head>
 	<body>
-		[page:CylinderBufferGeometry] &rarr;
+		[page:BufferGeometry] &rarr; [page:CylinderBufferGeometry] &rarr;
 
 		<h1>[name]</h1>
 
@@ -54,12 +54,16 @@
 		</p>
 
 		<h2>Properties</h2>
+		<p>See the base [page:CylinderBufferGeometry] class for common properties.</p>
 
 		<h3>[property:Object parameters]</h3>
 		<p>
 		An object with a property for each of the constructor parameters. Any modification after instantiation does not change the geometry.
 		</p>
 
+		<h2>Methods</h2>
+		<p>See the base [page:CylinderBufferGeometry] class for common methods.</p>
+
 		<h2>Source</h2>
 
 		[link:https://github.com/mrdoob/three.js/blob/master/src/geometries/ConeGeometry.js src/geometries/ConeGeometry.js]

+ 8 - 2
docs/api/en/geometries/ConeGeometry.html

@@ -8,7 +8,7 @@
 		<link type="text/css" rel="stylesheet" href="page.css" />
 	</head>
 	<body>
-		[page:CylinderGeometry] &rarr;
+		[page:Geometry] &rarr; [page:CylinderGeometry] &rarr;
 
 		<h1>[name]</h1>
 
@@ -54,14 +54,20 @@
 		</p>
 
 		<h2>Properties</h2>
+		<p>See the base [page:CylinderGeometry] class for common properties.</p>
 
 		<h3>[property:Object parameters]</h3>
 		<p>
 		An object with a property for each of the constructor parameters. Any modification after instantiation does not change the geometry.
 		</p>
 
+		<h2>Methods</h2>
+		<p>See the base [page:CylinderGeometry] class for common methods.</p>
+
 		<h2>Source</h2>
 
-		[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
 	</body>
 </html>

+ 4 - 0
docs/api/en/geometries/CylinderBufferGeometry.html

@@ -55,12 +55,16 @@
 		</p>
 
 		<h2>Properties</h2>
+		<p>See the base [page:BufferGeometry] class for common properties.</p>
 
 		<h3>[property:Object parameters]</h3>
 		<p>
 		An object with a property for each of the constructor parameters. Any modification after instantiation does not change the geometry.
 		</p>
 
+		<h2>Methods</h2>
+		<p>See the base [page:BufferGeometry] class for common methods.</p>
+
 		<h2>Source</h2>
 
 		[link:https://github.com/mrdoob/three.js/blob/master/src/geometries/CylinderGeometry.js src/geometries/CylinderGeometry.js]

+ 7 - 1
docs/api/en/geometries/CylinderGeometry.html

@@ -55,14 +55,20 @@
 		</p>
 
 		<h2>Properties</h2>
+		<p>See the base [page:Geometry] class for common properties.</p>
 
 		<h3>[property:Object parameters]</h3>
 		<p>
 		An object with a property for each of the constructor parameters. Any modification after instantiation does not change the geometry.
 		</p>
 
+		<h2>Methods</h2>
+		<p>See the base [page:Geometry] class for common methods.</p>
+
 		<h2>Source</h2>
 
-		[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
 	</body>
 </html>

+ 5 - 1
docs/api/en/geometries/DodecahedronBufferGeometry.html

@@ -8,7 +8,7 @@
 		<link type="text/css" rel="stylesheet" href="page.css" />
 	</head>
 	<body>
-		[page:PolyhedronBufferGeometry] &rarr;
+		[page:BufferGeometry] &rarr; [page:PolyhedronBufferGeometry] &rarr;
 
 		<h1>[name]</h1>
 
@@ -41,12 +41,16 @@
 		</p>
 
 		<h2>Properties</h2>
+		<p>See the base [page:PolyhedronBufferGeometry] class for common properties.</p>
 
 		<h3>[property:Object parameters]</h3>
 		<p>
 		An object with a property for each of the constructor parameters. Any modification after instantiation does not change the geometry.
 		</p>
 
+		<h2>Methods</h2>
+		<p>See the base [page:PolyhedronBufferGeometry] class for common methods.</p>
+
 		<h2>Source</h2>
 
 		[link:https://github.com/mrdoob/three.js/blob/master/src/geometries/DodecahedronGeometry.js src/geometries/DodecahedronGeometry.js]

+ 7 - 1
docs/api/en/geometries/DodecahedronGeometry.html

@@ -41,14 +41,20 @@
 		</p>
 
 		<h2>Properties</h2>
+		<p>See the base [page:Geometry] class for common properties.</p>
 
 		<h3>[property:Object parameters]</h3>
 		<p>
 		An object with a property for each of the constructor parameters. Any modification after instantiation does not change the geometry.
 		</p>
 
+		<h2>Methods</h2>
+		<p>See the base [page:Geometry] class for common methods.</p>
+
 		<h2>Source</h2>
 
-		[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
 	</body>
 </html>

+ 7 - 1
docs/api/en/geometries/EdgesGeometry.html

@@ -34,14 +34,20 @@ scene.add( line );
 		</p>
 
 		<h2>Properties</h2>
+		<p>See the base [page:BufferGeometry] class for common properties.</p>
 
 		<h3>[property:Object parameters]</h3>
 		<p>
 		An object with a property for each of the constructor parameters. Any modification after instantiation does not change the geometry.
 		</p>
 
+		<h2>Methods</h2>
+		<p>See the base [page:BufferGeometry] class for common methods.</p>
+
 		<h2>Source</h2>
 
-		[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
 	</body>
 </html>

+ 7 - 1
docs/api/en/geometries/ExtrudeBufferGeometry.html

@@ -51,6 +51,7 @@
 			bevelEnabled: true,
 			bevelThickness: 1,
 			bevelSize: 1,
+			bevelOffset: 0,
 			bevelSegments: 1
 		};
 
@@ -76,8 +77,9 @@
 				<li>bevelEnabled — bool. Apply beveling to the shape. Default is true.</li>
 				<li>bevelThickness — float. How deep into the original shape the bevel goes. Default is 6.</li>
 				<li>bevelSize — float. Distance from the shape outline that the bevel extends. Default is bevelThickness - 2.</li>
+				<li>bevelOffset — float. Distance from the shape outline that the bevel starts. Default is 0.</li>
 				<li>bevelSegments — int. Number of bevel layers. Default is 3.</li>
-				<li>extrudePath — THREE.CurvePath. A 3D spline path along which the shape should be extruded.</li>
+				<li>extrudePath — THREE.Curve. A 3D spline path along which the shape should be extruded.</li>
 				<li>UVGenerator —  Object. object that provides UV generator functions</li>
 			</ul>
 
@@ -93,12 +95,16 @@
 		</p>
 
 		<h2>Properties</h2>
+		<p>See the base [page:BufferGeometry] class for common properties.</p>
 
 		<h3>[property:Object parameters]</h3>
 		<p>
 		An object with a property for each of the constructor parameters. Any modification after instantiation does not change the geometry.
 		</p>
 
+		<h2>Methods</h2>
+		<p>See the base [page:BufferGeometry] class for common methods.</p>
+
 		<h2>Source</h2>
 
 		[link:https://github.com/mrdoob/three.js/blob/master/src/geometries/ExtrudeGeometry.js src/geometries/ExtrudeGeometry.js]

+ 10 - 2
docs/api/en/geometries/ExtrudeGeometry.html

@@ -51,6 +51,7 @@
 			bevelEnabled: true,
 			bevelThickness: 1,
 			bevelSize: 1,
+			bevelOffset: 0,
 			bevelSegments: 1
 		};
 
@@ -76,8 +77,9 @@
 				<li>bevelEnabled — bool. Apply beveling to the shape. Default is true.</li>
 				<li>bevelThickness — float. How deep into the original shape the bevel goes. Default is 6.</li>
 				<li>bevelSize — float. Distance from the shape outline that the bevel extends. Default is bevelThickness - 2.</li>
+				<li>bevelOffset — float. Distance from the shape outline that the bevel starts. Default is 0.</li>
 				<li>bevelSegments — int. Number of bevel layers. Default is 3.</li>
-				<li>extrudePath — THREE.CurvePath. A 3D spline path along which the shape should be extruded.</li>
+				<li>extrudePath — THREE.Curve. A 3D spline path along which the shape should be extruded.</li>
 				<li>UVGenerator —  Object. object that provides UV generator functions</li>
 			</ul>
 
@@ -93,14 +95,20 @@
 		</p>
 
 		<h2>Properties</h2>
+		<p>See the base [page:Geometry] class for common properties.</p>
 
 		<h3>[property:Object parameters]</h3>
 		<p>
 		An object with a property for each of the constructor parameters. Any modification after instantiation does not change the geometry.
 		</p>
 
+		<h2>Methods</h2>
+		<p>See the base [page:Geometry] class for common methods.</p>
+
 		<h2>Source</h2>
 
-		[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
 	</body>
 </html>

+ 5 - 1
docs/api/en/geometries/IcosahedronBufferGeometry.html

@@ -8,7 +8,7 @@
 		<link type="text/css" rel="stylesheet" href="page.css" />
 	</head>
 	<body>
-		[page:PolyhedronBufferGeometry] &rarr;
+		[page:BufferGeometry] &rarr; [page:PolyhedronBufferGeometry] &rarr;
 		<h1>[name]</h1>
 
 		<p class="desc">A class for generating an icosahedron geometry.</p>
@@ -40,12 +40,16 @@
 		</p>
 
 		<h2>Properties</h2>
+		<p>See the base [page:PolyhedronBufferGeometry] class for common properties.</p>
 
 		<h3>[property:Object parameters]</h3>
 		<p>
 		An object with a property for each of the constructor parameters. Any modification after instantiation does not change the geometry.
 		</p>
 
+		<h2>Methods</h2>
+		<p>See the base [page:PolyhedronBufferGeometry] class for common methods.</p>
+
 		<h2>Source</h2>
 
 		[link:https://github.com/mrdoob/three.js/blob/master/src/geometries/IcosahedronGeometry.js src/geometries/IcosahedronGeometry.js]

+ 7 - 1
docs/api/en/geometries/IcosahedronGeometry.html

@@ -41,14 +41,20 @@
 		</p>
 
 		<h2>Properties</h2>
+		<p>See the base [page:Geometry] class for common properties.</p>
 
 		<h3>[property:Object parameters]</h3>
 		<p>
 		An object with a property for each of the constructor parameters. Any modification after instantiation does not change the geometry.
 		</p>
 
+		<h2>Methods</h2>
+		<p>See the base [page:Geometry] class for common methods.</p>
+
 		<h2>Source</h2>
 
-		[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
 	</body>
 </html>

+ 4 - 0
docs/api/en/geometries/LatheBufferGeometry.html

@@ -59,12 +59,16 @@
 		</p>
 
 		<h2>Properties</h2>
+		<p>See the base [page:BufferGeometry] class for common properties.</p>
 
 		<h3>[property:Object parameters]</h3>
 		<p>
 		An object with a property for each of the constructor parameters. Any modification after instantiation does not change the geometry.
 		</p>
 
+		<h2>Methods</h2>
+		<p>See the base [page:BufferGeometry] class for common methods.</p>
+
 		<h2>Source</h2>
 
 		[link:https://github.com/mrdoob/three.js/blob/master/src/geometries/LatheGeometry.js src/geometries/LatheGeometry.js]

+ 7 - 1
docs/api/en/geometries/LatheGeometry.html

@@ -59,14 +59,20 @@
 		</p>
 
 		<h2>Properties</h2>
+		<p>See the base [page:Geometry] class for common properties.</p>
 
 		<h3>[property:Object parameters]</h3>
 		<p>
 		An object with a property for each of the constructor parameters. Any modification after instantiation does not change the geometry.
 		</p>
 
+		<h2>Methods</h2>
+		<p>See the base [page:Geometry] class for common methods.</p>
+
 		<h2>Source</h2>
 
-		[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
 	</body>
 </html>

+ 5 - 1
docs/api/en/geometries/OctahedronBufferGeometry.html

@@ -8,7 +8,7 @@
 		<link type="text/css" rel="stylesheet" href="page.css" />
 	</head>
 	<body>
-		[page:PolyhedronBufferGeometry] &rarr;
+		[page:BufferGeometry] &rarr; [page:PolyhedronBufferGeometry] &rarr;
 		<h1>[name]</h1>
 
 		<p class="desc">A class for generating an octahedron geometry.</p>
@@ -40,12 +40,16 @@
 		</p>
 
 		<h2>Properties</h2>
+		<p>See the base [page:PolyhedronBufferGeometry] class for common properties.</p>
 
 		<h3>[property:Object parameters]</h3>
 		<p>
 		An object with a property for each of the constructor parameters. Any modification after instantiation does not change the geometry.
 		</p>
 
+		<h2>Methods</h2>
+		<p>See the base [page:PolyhedronBufferGeometry] class for common methods.</p>
+
 		<h2>Source</h2>
 
 		[link:https://github.com/mrdoob/three.js/blob/master/src/geometries/OctahedronGeometry.js src/geometries/OctahedronGeometry.js]

+ 7 - 1
docs/api/en/geometries/OctahedronGeometry.html

@@ -41,14 +41,20 @@
 		</p>
 
 		<h2>Properties</h2>
+		<p>See the base [page:Geometry] class for common properties.</p>
 
 		<h3>[property:Object parameters]</h3>
 		<p>
 		An object with a property for each of the constructor parameters. Any modification after instantiation does not change the geometry.
 		</p>
 
+		<h2>Methods</h2>
+		<p>See the base [page:Geometry] class for common methods.</p>
+
 		<h2>Source</h2>
 
-		[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
 	</body>
 </html>

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